gov.nih.nci.system.applicationservice
Interface ApplicationService

All Known Subinterfaces:
LexEVSApplicationService, LexEVSDataService, LexEVSService
All Known Implementing Classes:
ApplicationServiceImpl, LexEVSApplicationServiceImpl

public interface ApplicationService

Service layer interface whose methods will be exposed to all the different tiers (webservvice, remote and web)

Author:
Satish Patel, Dan Dumitru

Method Summary
<E> java.util.List<E>
getAssociation(java.lang.Object source, java.lang.String associationName)
          Retrieves an associated object for the example object specified by the source parameter.
 java.lang.Integer getMaxRecordsCount()
          Returns the maximum number of records the ApplicationService has been configured to return at one time.
 java.lang.Integer getQueryRowCount(java.lang.Object criteria, java.lang.String targetClassName)
          Returns the number of records that meet the search criteria.
<E> java.util.List<E>
query(CQLQuery cqlQuery)
          Retrieves the result from the data source using the CQL query.
<E> java.util.List<E>
query(CQLQuery cqlQuery, java.lang.String targetClassName)
          Deprecated. 
<E> java.util.List<E>
query(DetachedCriteria detachedCriteria)
          Retrieves the result from the data source using the DetachedCriteria query.
<E> java.util.List<E>
query(DetachedCriteria detachedCriteria, java.lang.String targetClassName)
          Deprecated. 
<E> java.util.List<E>
query(gov.nih.nci.cagrid.cqlquery.CQLQuery cqlQuery)
          Retrieves the result from the data source using the caGrid's CQL query.
<E> java.util.List<E>
query(java.lang.Object criteria, java.lang.Integer firstRow, java.lang.String targetClassName)
          Used by the infrastructure to get next chunk of records in the result set.
<E> java.util.List<E>
search(java.lang.Class targetClass, java.util.List objList)
          Retrieves the result from the data source using the Query by Example.
<E> java.util.List<E>
search(java.lang.Class targetClass, java.lang.Object obj)
          Retrieves the result from the data source using the Query by Example.
<E> java.util.List<E>
search(java.lang.String path, java.util.List objList)
          Retrieves the result from the data source using a Nested Search Criteria.
<E> java.util.List<E>
search(java.lang.String path, java.lang.Object obj)
          Retrieves the result from the data source using the Nested Search Criteria.
 

Method Detail

query

@Deprecated
<E> java.util.List<E> query(CQLQuery cqlQuery,
                                       java.lang.String targetClassName)
                        throws ApplicationException
Deprecated. 

Retrieves the result from the data source using the CQL query. The CQL query structure is converted into the data source specific query language. For the Object Relational Mapping based persistence tier, the CQL query structure is converted in the Hibernate Query Language (HQL). Hibernate converts the HQL into SQL and executes it against the relational database. The retrieved results are converted into a list which may not be completely loaded. If the retrieved results are more than the maximum number of supported records as indicated by getMaxRecordsCount() then the result set will be partially loaded. The client framework will execute a subsequent query (transparent to the client application) against the ApplicationService to load the remaining results in the chunk no greater than value specified by getMaxRecordsCount(). Note: The targetClassName parameter will not be interpreted by the system. This parameter will be determined from the CQLQuery.

Parameters:
cqlQuery -
targetClassName -
Returns:
Throws:
ApplicationException
See Also:
#query(CQLQuery)}

query

<E> java.util.List<E> query(CQLQuery cqlQuery)
                        throws ApplicationException
Retrieves the result from the data source using the CQL query. The CQL query structure is converted into the data source specific query language. For the Object Relational Mapping based persistence tier, the CQL query structure is converted in the Hibernate Query Language (HQL). Hibernate converts the HQL into SQL and executes it against the relational database. The retrieved results are converted into a list which may not be completely loaded. If the retrieved results are more than the maximum number of supported records as indicated by getMaxRecordsCount() then the result set will be partially loaded. The client framework will execute a subsequent query (transparent to the client application) against the ApplicationService to load the remaining results in the chunk no greater than value specified by getMaxRecordsCount().

Parameters:
cqlQuery -
Returns:
Throws:
ApplicationException

query

@Deprecated
<E> java.util.List<E> query(DetachedCriteria detachedCriteria,
                                       java.lang.String targetClassName)
                        throws ApplicationException
Deprecated. 

Retrieves the result from the data source using the DetachedCriteria query. The DetachedCriteria query structure can be used only by the Object Relational Mapping based persistence tier. Hibernate executes it against the relational database and fetches the results. The retrieved results are converted into a list which may not be completely loaded. If the retrieved results are more than the maximum number of supported records as indicated by getMaxRecordsCount() then the result set will be partially loaded. The client framework will execute a subsequent query (transparent to the client application) against the ApplicationService to load the remaining results in the chunk no greater than value specified by getMaxRecordsCount(). Note: The targetClassName parameter will not be interpreted by the system. This parameter will be determined from the DetachedCriteria object.

Parameters:
detachedCriteria -
targetClassName -
Returns:
Throws:
ApplicationException
See Also:
#query(DetachedCriteria)}

query

<E> java.util.List<E> query(DetachedCriteria detachedCriteria)
                        throws ApplicationException
Retrieves the result from the data source using the DetachedCriteria query. The DetachedCriteria query structure can be used only by the Object Relational Mapping based persistence tier. Hibernate executes it against the relational database and fetches the results. The retrieved results are converted into a list which may not be completely loaded. If the retrieved results are more than the maximum number of supported records as indicated by getMaxRecordsCount() then the result set will be partially loaded. The client framework will execute a subsequent query (transparent to the client application) against the ApplicationService to load the remaining results in the chunk no greater than value specified by getMaxRecordsCount().

Parameters:
detachedCriteria -
Returns:
Throws:
ApplicationException

search

<E> java.util.List<E> search(java.lang.Class targetClass,
                             java.util.List objList)
                         throws ApplicationException
Retrieves the result from the data source using the Query by Example. The targetClass specifies the object that the user intends to fetch after executing the query. The targetClass should be same as the object specified in the objList or associated object for the example object. Also, all the objects in the objList has to be of the same type. The example query is converted into the data source specific query language. For the Object Relational Mapping based persistence tier, the example query structure is converted in the Hibernate Query Language (HQL). Hibernate converts the HQL into SQL and executes it against the relational database. The retrieved results are converted into a list which may not be completely loaded. If the retrieved results are more than the maximum number of supported records as indicated by getMaxRecordsCount() then the result set will be partially loaded. The client framework will execute a subsequent query (transparent to the client application) against the ApplicationService to load the remaining results in the chunk no greater than value specified by getMaxRecordsCount().

Parameters:
targetClass -
objList -
Returns:
Throws:
ApplicationException

search

<E> java.util.List<E> search(java.lang.Class targetClass,
                             java.lang.Object obj)
                         throws ApplicationException
Retrieves the result from the data source using the Query by Example. The targetClass specifies the object that the user intends to fetch after executing the query. The targetClass should be same as the example object or associated object for the example object. The example query is converted into the data source specific query language. For the Object Relational Mapping based persistence tier, the example query structure is converted in the Hibernate Query Language (HQL). Hibernate converts the HQL into SQL and executes it against the relational database. The retrieved results are converted into a list which may not be completely loaded. If the retrieved results are more than the maximum number of supported records as indicated by getMaxRecordsCount() then the result set will be partially loaded. The client framework will execute a subsequent query (transparent to the client application) against the ApplicationService to load the remaining results in the chunk no greater than value specified by getMaxRecordsCount().

Parameters:
targetClass -
obj -
Returns:
Throws:
ApplicationException

search

<E> java.util.List<E> search(java.lang.String path,
                             java.util.List objList)
                         throws ApplicationException
Retrieves the result from the data source using a Nested Search Criteria. The path specifies the list of objects (separated by commas), which should be used to reach the target object from the example objects passed in the objList or associated object for the example object. The Nested Search Criteria is converted into the data source specific query language. For the Object Relational Mapping based persistence tier, the query structure is first converted into the Hibernate Query Language (HQL). Hibernate then converts the HQL into SQL and executes it against the relational database. The retrieved results are converted into a list which may not be completely loaded. If the retrieved results are more than the maximum number of supported records as indicated by getMaxRecordsCount() then the result set will be partially loaded. The client framework will execute a subsequent query (transparent to the client application) against the ApplicationService to load the remaining results in the chunk no greater than value specified by getMaxRecordsCount().

Parameters:
path -
objList -
Returns:
Throws:
ApplicationException

search

<E> java.util.List<E> search(java.lang.String path,
                             java.lang.Object obj)
                         throws ApplicationException
Retrieves the result from the data source using the Nested Search Criteria. The path specifies the list of objects (separated by commas) which should be used to reach the target object from the example object passed as obj, or the associated object for the example object. Internally, the Nested Search Criteria is converted into the data source specific query language. For the Object Relational Mapping based persistence tier, the query structure is first converted into the Hibernate Query Language (HQL). Hibernate then converts the HQL into SQL and executes it against the relational database. The retrieved results are converted into a list which may not be completely loaded. If the retrieved results are more than the maximum number of supported records as indicated by getMaxRecordsCount() then the result set will be partially loaded. The client framework will execute a subsequent query (transparent to the client application) against the ApplicationService to load the remaining results in the chunk no greater than value specified by getMaxRecordsCount().

Parameters:
path -
obj -
Returns:
Throws:
ApplicationException

query

<E> java.util.List<E> query(java.lang.Object criteria,
                            java.lang.Integer firstRow,
                            java.lang.String targetClassName)
                        throws ApplicationException
Used by the infrastructure to get next chunk of records in the result set. Use this method in conjunction with the getMaxRecordsCount() to determine what should be the start of next chunk.

Parameters:
criteria -
firstRow -
targetClassName -
Returns:
Throws:
ApplicationException

getQueryRowCount

java.lang.Integer getQueryRowCount(java.lang.Object criteria,
                                   java.lang.String targetClassName)
                                   throws ApplicationException
Returns the number of records that meet the search criteria. The method is used by the client framework to determine the number of chunk of results. Use this method in conjunction with the getMaxRecordsCount()

Parameters:
criteria -
targetClassName -
Returns:
Throws:
ApplicationException

getMaxRecordsCount

java.lang.Integer getMaxRecordsCount()
Returns the maximum number of records the ApplicationService has been configured to return at one time.

Returns:

getAssociation

<E> java.util.List<E> getAssociation(java.lang.Object source,
                                     java.lang.String associationName)
                                 throws ApplicationException
Retrieves an associated object for the example object specified by the source parameter.

Parameters:
source -
associationName -
Returns:
Throws:
ApplicationException

query

<E> java.util.List<E> query(gov.nih.nci.cagrid.cqlquery.CQLQuery cqlQuery)
                        throws ApplicationException
Retrieves the result from the data source using the caGrid's CQL query. The CQL query structure is converted into the data source specific query language. For the Object Relational Mapping based persistence tier, the CQL query structure is converted in the Hibernate Query Language (HQL). Hibernate converts the HQL into SQL and executes it against the relational database. The retrieved results are converted into a list which may not be completely loaded. If the retrieved results are more than the maximum number of supported records as indicated by getMaxRecordsCount() then the result set will be partially loaded. The client framework will execute a subsequent query (transparent to the client application) against the ApplicationService to load the remaining results in the chunk no greater than value specified by getMaxRecordsCount().

Parameters:
cqlQuery -
Returns:
Throws:
ApplicationException