Source code: com/flexstor/ejb/search/facade/SearchFacade.java
1 /*
2 * SearchFacade.java
3 *
4 * Copyright $Date: 2003/08/11 02:22:43 $ FLEXSTOR.net Inc.
5 *
6 * This work is licensed for use and distribution under license terms found at
7 * http://www.flexstor.org/license.html
8 *
9 */
10
11 package com.flexstor.ejb.search.facade;
12
13 import java.rmi.RemoteException;
14 import java.util.Vector;
15
16 import com.flexstor.common.exceptions.ejb.EjbException;
17 import com.flexstor.common.exceptions.ejb.NotFoundException;
18
19 /**
20 *
21 * <P>
22 * SearchFacade <BR>
23 * <BLOCKQUOTE>
24 * SearchFacade contains all the functionality to accept a search criteria from a client and <BR>
25 * create and run the necessary statements to perform a query against buckets and assets in the <BR>
26 * database. <BR>
27 * The SearchFacade bean only returns the minimum data necessary for the client to display the <BR>
28 * buckets and assets (skeleton data). Later, the SearchResultRetrieval must be called to retrieve <BR>
29 * the remaining information for each asset or bucket. <BR>
30 * </BLOCKQUOTE>
31 * </P>
32 *
33 * <P>
34 * Uses cache: no
35 *
36 * State Management Type: Stateless
37 * </P>
38 *
39 * Configurable properties in flexdm.properties: <BR>
40 * <BLOCKQUOTE>
41 * <P>
42 * oracle.hint: Defines the number of simultaneous server processes to be used in a select statement. <BR>
43 * It is set as / * + PARALLEL(table_name, #_processes) * / It implies that whenever the <BR>
44 * table_name table is used in a query, Oracle will allocate #_processes processes to run <BR>
45 * the statement; improving performance for a large query. <BR>
46 * Legal value: / * + PARALLEL(ALL_ASSET_RECORD,5) PARALLEL(ALL_ASSET_DUPLICATE,5) * / <BR>
47 * </P>
48 * </BLOCKQUOTE>
49 *
50 */
51 public interface SearchFacade extends com.flexstor.ejb.EjbObject {
52 // MKS macro expander
53 public final static String IDENTIFIER = "$Id: SearchFacade.java,v 1.4 2003/08/11 02:22:43 aleric Exp $";
54
55 /**
56 * Perform the asset/bucket level searches
57 * Transaction Attribute: Required
58 *
59 * @param aSearchCriteriaData - A data object containing the search criteria for the query or queries
60 * @return - A collection of SearchResultData objects, one per search
61 *
62 * @exception NotFoundException - If disguise is not found in the database
63 * @exception EjbException - A problem executing the SQL query occured
64 * @exception RemoteException - Some problem occured with the EJB server
65 *
66 * @see com.flexstor.common.data.ejb.search.SearchResultData
67 */
68 public Vector runSearch(Object aSearchCriteriaData)
69 throws NotFoundException, EjbException, RemoteException;
70
71 }