org.LexGrid.LexBIG.caCore.applicationservice.impl
Class LexEVSApplicationServiceImpl

java.lang.Object
  extended by gov.nih.nci.system.applicationservice.impl.ApplicationServiceImpl
      extended by org.LexGrid.LexBIG.caCore.applicationservice.impl.LexEVSApplicationServiceImpl
All Implemented Interfaces:
ApplicationService, LexEVSApplicationService, LexEVSDataService, LexEVSDistributed, LexEVSService

public class LexEVSApplicationServiceImpl
extends ApplicationServiceImpl
implements LexEVSApplicationService

Main implementation class of LexEVSAPI. This class implements but the DataService and the Distributed portions of the LexEVSAPI.

Author:
Kevin Peterson

Field Summary
protected  ApplicationContext appContext
           
 
Constructor Summary
LexEVSApplicationServiceImpl(LexEVSClassCache classCache, Validator validator)
           
LexEVSApplicationServiceImpl(Validator validator)
           
 
Method Summary
protected
<E> java.util.List<E>
convertToListProxy(java.util.Collection originalList, java.lang.Object query, java.lang.String classname, java.lang.Integer start, QueryOptions options)
           
 java.lang.Object executeRemotely(java.lang.Object object, java.lang.String methodName, java.lang.String[] parameterClasses, java.lang.Object[] args)
          Execute the given method on the specified LexBig object.
 java.lang.Object executeSecurely(java.lang.String methodName, java.lang.annotation.Annotation[] annotations, java.lang.String[] parameterClasses, java.lang.Object[] args, java.util.HashMap tokens)
          Execute securely.
 java.util.List<java.lang.Object> getAssociation(java.lang.Object source, java.lang.String associationName)
          Retrieves an associated object for the example object specified by the source parameter.
 java.util.List<java.lang.Object> getAssociation(java.lang.Object source, java.lang.String associationName, QueryOptions queryOptions)
          Retrieves an associated object for the example object specified by the source parameter.
protected  LexEVSClassCache getClassCache()
           
 CodedNodeSet getCodingSchemeConcepts(java.lang.String codingScheme, CodingSchemeVersionOrTag versionOrTag)
           
 CodedNodeSet getCodingSchemeConcepts(java.lang.String codingScheme, CodingSchemeVersionOrTag versionOrTag, boolean activeOnly)
          Deprecated. Not implemented here since it is deprecated in the LexBIGService interface.
protected  DAO getDAO(java.lang.String classname)
           
 Filter getFilter(java.lang.String name)
           
 ExtensionDescriptionList getFilterExtensions()
           
 GenericExtension getGenericExtension(java.lang.String name)
           
 ExtensionDescriptionList getGenericExtensions()
           
 GridCQLToDetachedCriteria getGridCQLToDetachedCriteriaTranslator()
           
 HistoryService getHistoryService(java.lang.String codingScheme)
           
 java.util.Date getLastUpdateTime()
           
 LexEVSConceptDomainServices getLexEVSConceptDomainServices()
           
 LexEVSPickListDefinitionServices getLexEVSPickListDefinitionServices()
           
 LexEVSValueSetDefinitionServices getLexEVSValueSetDefinitionServices()
           
 ModuleDescriptionList getMatchAlgorithms()
           
 NestedObjectToCriteria getNestedObjectToCriteriaTranslator()
           
 CodedNodeGraph getNodeGraph(java.lang.String codingScheme, CodingSchemeVersionOrTag versionOrTag, java.lang.String relationsName)
           
 CodedNodeSet getNodeSet(java.lang.String codingScheme, CodingSchemeVersionOrTag versionOrTag, LocalNameList localNameList)
           
 PaginationHelper getPaginationHelper()
           
 QBEPathToDetachedCriteria getQbePathToDetachedCriteriaTranslator()
           
 java.lang.Integer getQueryRowCount(java.lang.Object criteria, java.lang.String targetClassName)
          Returns the number of records that meet the search criteria.
 java.lang.Integer getQueryRowCount(java.lang.Object criteria, java.lang.String targetClassName, QueryOptions queryOptions)
          Returns the number of records that meet the search criteria.
 RemoteResourceManager getRemoteResourceManager()
           
 SDKCQLToDetachedCriteria getSdkCQLToDetachedCriteriaTranslator()
           
 LexBIGServiceManager getServiceManager(java.lang.Object credentials)
           
 LexBIGServiceMetadata getServiceMetadata()
           
 Sort getSortAlgorithm(java.lang.String name)
           
 SortDescriptionList getSortAlgorithms(SortContext context)
           
 CodingSchemeRenderingList getSupportedCodingSchemes()
           
 boolean isUpdateClientProxyTarget()
           
protected
<E> java.util.List<E>
privateQuery(java.lang.Object criteria, java.lang.String targetClassName, QueryOptions queryOptions)
           
<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, QueryOptions queryOptions)
          Retrieves the result from the data source using the CQL query.
<E> java.util.List<E>
query(CQLQuery cqlQuery, java.lang.String targetClassName)
          Retrieves the result from the data source using the CQL query.
<E> java.util.List<E>
query(CQLQuery cqlQuery, java.lang.String targetClassName, QueryOptions queryOptions)
          Retrieves the result from the data source using the CQL query.
<E> java.util.List<E>
query(DetachedCriteria detachedCriteria)
          Retrieves the result from the data source using the CQL query.
<E> java.util.List<E>
query(DetachedCriteria detachedCriteria, QueryOptions queryOptions)
          Retrieves the result from the data source using the CQL query.
<E> java.util.List<E>
query(DetachedCriteria detachedCriteria, java.lang.String targetClassName)
          Retrieves the result from the data source using the CQL query.
<E> java.util.List<E>
query(DetachedCriteria detachedCriteria, java.lang.String targetClassName, QueryOptions queryOptions)
          Retrieves the result from the data source using the CQL query.
<E> java.util.List<E>
query(gov.nih.nci.cagrid.cqlquery.CQLQuery cqlQuery)
          Retrieves the result from the data source using the CQL query.
<E> java.util.List<E>
query(gov.nih.nci.cagrid.cqlquery.CQLQuery cqlQuery, QueryOptions queryOptions)
          Retrieves the result from the data source using the 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>
query(java.lang.Object criteria, java.lang.Integer firstRow, java.lang.String targetClassName, QueryOptions queryOptions)
          Used by the infrastructure to get next chunk of records in the result set.
protected  Response query(Request request, LexEVSDAO dao)
           
protected  Response query(Request request, LexEVSDAO dao, boolean lazyLoad, int resultPageSize)
           
 java.lang.Boolean registerSecurityToken(java.lang.String vocabulary, SecurityToken token)
          Register Security Token
 CodingScheme resolveCodingScheme(java.lang.String codingScheme, CodingSchemeVersionOrTag versionOrTag)
           
 java.lang.String resolveCodingSchemeCopyright(java.lang.String codingScheme, CodingSchemeVersionOrTag versionOrTag)
           
<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.util.List objList, QueryOptions queryOptions)
          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.Class targetClass, java.lang.Object obj, QueryOptions queryOptions)
          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, java.lang.String eagerFetchAssociation, QueryOptions queryOptions)
           
<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.util.List objList, QueryOptions queryOptions)
          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.
<E> java.util.List<E>
search(java.lang.String path, java.lang.Object obj, QueryOptions queryOptions)
          Retrieves the result from the data source using the Nested Search Criteria.
 void setGridCQLToDetachedCriteriaTranslator(GridCQLToDetachedCriteria gridCQLToDetachedCriteriaTranslator)
           
 void setNestedObjectToCriteriaTranslator(NestedObjectToCriteria nestedObjectToCriteriaTranslator)
           
 void setPaginationHelper(PaginationHelper paginationHelper)
           
 void setQbePathToDetachedCriteriaTranslator(QBEPathToDetachedCriteria qbePathToDetachedCriteriaTranslator)
           
 void setRemoteResourceManager(RemoteResourceManager remoteResourceManager)
           
 void setSdkCQLToDetachedCriteriaTranslator(SDKCQLToDetachedCriteria sdkCQLToDetachedCriteriaTranslator)
           
 void setUpdateClientProxyTarget(boolean updateClientProxyTarget)
           
 
Methods inherited from class gov.nih.nci.system.applicationservice.impl.ApplicationServiceImpl
convertToListProxy, getMaxRecordsCount, privateQuery
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface gov.nih.nci.system.applicationservice.ApplicationService
getMaxRecordsCount
 

Field Detail

appContext

protected ApplicationContext appContext
Constructor Detail

LexEVSApplicationServiceImpl

public LexEVSApplicationServiceImpl(LexEVSClassCache classCache,
                                    Validator validator)
                             throws ApplicationException
Throws:
ApplicationException

LexEVSApplicationServiceImpl

public LexEVSApplicationServiceImpl(Validator validator)
                             throws ApplicationException
Throws:
ApplicationException
Method Detail

executeRemotely

public java.lang.Object executeRemotely(java.lang.Object object,
                                        java.lang.String methodName,
                                        java.lang.String[] parameterClasses,
                                        java.lang.Object[] args)
                                 throws ApplicationException
Execute the given method on the specified LexBig object.

Specified by:
executeRemotely in interface LexEVSApplicationService
Parameters:
object - - Object
methodName - - String
parameterClasses - -String[]
args - - Object[]
Returns:
the object
Throws:
ApplicationException - the application exception

executeSecurely

public java.lang.Object executeSecurely(java.lang.String methodName,
                                        java.lang.annotation.Annotation[] annotations,
                                        java.lang.String[] parameterClasses,
                                        java.lang.Object[] args,
                                        java.util.HashMap tokens)
                                 throws java.lang.Exception
Execute securely. (Note: currently the annotations parameter is used only on the client side)

Specified by:
executeSecurely in interface LexEVSApplicationService
Parameters:
object - the object
methodName - the method name
annotations - annotations used by this method
parameterClasses - the parameter classes
args - the args
Returns:
the object
Throws:
java.lang.Exception - the exception

registerSecurityToken

public java.lang.Boolean registerSecurityToken(java.lang.String vocabulary,
                                               SecurityToken token)
                                        throws java.lang.Exception
Register Security Token

Parameters:
vocabulary - the String
token - the SecurityToken
Returns:
boolean the Boolean
Throws:
java.lang.Exception - the exception

getAssociation

public java.util.List<java.lang.Object> getAssociation(java.lang.Object source,
                                                       java.lang.String associationName,
                                                       QueryOptions queryOptions)
                                                throws ApplicationException
Description copied from interface: LexEVSDataService
Retrieves an associated object for the example object specified by the source parameter.

Specified by:
getAssociation in interface LexEVSDataService
queryOptions - Specific Options to be used while processing this query.
Returns:
Throws:
ApplicationException

getAssociation

public java.util.List<java.lang.Object> getAssociation(java.lang.Object source,
                                                       java.lang.String associationName)
                                                throws ApplicationException
Description copied from interface: ApplicationService
Retrieves an associated object for the example object specified by the source parameter.

Specified by:
getAssociation in interface ApplicationService
Overrides:
getAssociation in class ApplicationServiceImpl
Returns:
Throws:
ApplicationException
See Also:
ApplicationService.getAssociation(java.lang.Object, java.lang.String)

search

public <E> java.util.List<E> search(java.lang.Class targetClass,
                                    java.lang.Object obj,
                                    java.lang.String eagerFetchAssociation,
                                    QueryOptions queryOptions)
                         throws ApplicationException
Throws:
ApplicationException

search

public <E> java.util.List<E> search(java.lang.Class targetClass,
                                    java.lang.Object obj)
                         throws ApplicationException
Description copied from interface: ApplicationService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount().

Specified by:
search in interface ApplicationService
Overrides:
search in class ApplicationServiceImpl
Returns:
Throws:
ApplicationException
See Also:
ApplicationService.search(java.lang.Class, java.lang.Object)

search

public <E> java.util.List<E> search(java.lang.Class targetClass,
                                    java.lang.Object obj,
                                    QueryOptions queryOptions)
                         throws ApplicationException
Description copied from interface: LexEVSDataService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount().

Specified by:
search in interface LexEVSDataService
queryOptions - Specific Options to be used while processing this query.
Returns:
Throws:
ApplicationException

search

public <E> java.util.List<E> search(java.lang.Class targetClass,
                                    java.util.List objList)
                         throws ApplicationException
Description copied from interface: ApplicationService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount().

Specified by:
search in interface ApplicationService
Overrides:
search in class ApplicationServiceImpl
Returns:
Throws:
ApplicationException
See Also:
ApplicationService.search(java.lang.Class, java.util.List)

search

public <E> java.util.List<E> search(java.lang.Class targetClass,
                                    java.util.List objList,
                                    QueryOptions queryOptions)
                         throws ApplicationException
Description copied from interface: LexEVSDataService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount().

Specified by:
search in interface LexEVSDataService
queryOptions - Specific Options to be used while processing this query.
Returns:
Throws:
ApplicationException

search

public <E> java.util.List<E> search(java.lang.String path,
                                    java.lang.Object obj,
                                    QueryOptions queryOptions)
                         throws ApplicationException
Description copied from interface: LexEVSDataService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount().

Specified by:
search in interface LexEVSDataService
queryOptions - Specific Options to be used while processing this query.
Returns:
Throws:
ApplicationException

search

public <E> java.util.List<E> search(java.lang.String path,
                                    java.lang.Object obj)
                         throws ApplicationException
Description copied from interface: ApplicationService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount().

Specified by:
search in interface ApplicationService
Overrides:
search in class ApplicationServiceImpl
Returns:
Throws:
ApplicationException
See Also:
ApplicationService.search(java.lang.String, java.lang.Object)

query

public <E> java.util.List<E> query(CQLQuery cqlQuery,
                                   java.lang.String targetClassName,
                                   QueryOptions queryOptions)
                        throws ApplicationException
Description copied from interface: LexEVSDataService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount(). Note: The targetClassName parameter will not be interpreted by the system. This parameter will be determined from the CQLQuery.

Specified by:
query in interface LexEVSDataService
Returns:
Throws:
ApplicationException
See Also:
#query(CQLQuery)}

query

public <E> java.util.List<E> query(CQLQuery cqlQuery,
                                   java.lang.String targetClassName)
                        throws ApplicationException
Description copied from interface: ApplicationService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount(). Note: The targetClassName parameter will not be interpreted by the system. This parameter will be determined from the CQLQuery.

Specified by:
query in interface ApplicationService
Overrides:
query in class ApplicationServiceImpl
Returns:
Throws:
ApplicationException
See Also:
gov.nih.nci.system.applicationservice.ApplicationService#query(org.hibernate.criterion.DetachedCriteria, java.lang.String)

query

public <E> java.util.List<E> query(CQLQuery cqlQuery,
                                   QueryOptions queryOptions)
                        throws ApplicationException
Description copied from interface: LexEVSDataService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount().

Specified by:
query in interface LexEVSDataService
queryOptions - Specific Options to be used while processing this query.
Returns:
Throws:
ApplicationException

query

public <E> java.util.List<E> query(CQLQuery cqlQuery)
                        throws ApplicationException
Description copied from interface: ApplicationService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount().

Specified by:
query in interface ApplicationService
Overrides:
query in class ApplicationServiceImpl
Returns:
Throws:
ApplicationException

query

public <E> java.util.List<E> query(gov.nih.nci.cagrid.cqlquery.CQLQuery cqlQuery)
                        throws ApplicationException
Description copied from interface: ApplicationService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount().

Specified by:
query in interface ApplicationService
Overrides:
query in class ApplicationServiceImpl
Returns:
Throws:
ApplicationException

query

public <E> java.util.List<E> query(gov.nih.nci.cagrid.cqlquery.CQLQuery cqlQuery,
                                   QueryOptions queryOptions)
                        throws ApplicationException
Description copied from interface: LexEVSDataService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount().

Specified by:
query in interface LexEVSDataService
queryOptions - Specific Options to be used while processing this query.
Returns:
Throws:
ApplicationException

query

public <E> java.util.List<E> query(DetachedCriteria detachedCriteria,
                                   java.lang.String targetClassName)
                        throws ApplicationException
Description copied from interface: ApplicationService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount(). Note: The targetClassName parameter will not be interpreted by the system. This parameter will be determined from the CQLQuery.

Specified by:
query in interface ApplicationService
Overrides:
query in class ApplicationServiceImpl
Returns:
Throws:
ApplicationException
See Also:
gov.nih.nci.system.applicationservice.ApplicationService#query(org.hibernate.criterion.DetachedCriteria, java.lang.String)

query

public <E> java.util.List<E> query(DetachedCriteria detachedCriteria,
                                   java.lang.String targetClassName,
                                   QueryOptions queryOptions)
                        throws ApplicationException
Description copied from interface: LexEVSDataService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount(). Note: The targetClassName parameter will not be interpreted by the system. This parameter will be determined from the CQLQuery.

Specified by:
query in interface LexEVSDataService
Returns:
Throws:
ApplicationException
See Also:
#query(CQLQuery)}

query

public <E> java.util.List<E> query(DetachedCriteria detachedCriteria)
                        throws ApplicationException
Description copied from interface: ApplicationService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount().

Specified by:
query in interface ApplicationService
Overrides:
query in class ApplicationServiceImpl
Returns:
Throws:
ApplicationException

query

public <E> java.util.List<E> query(DetachedCriteria detachedCriteria,
                                   QueryOptions queryOptions)
                        throws ApplicationException
Description copied from interface: LexEVSDataService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount().

Specified by:
query in interface LexEVSDataService
queryOptions - Specific Options to be used while processing this query.
Returns:
Throws:
ApplicationException

query

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

Specified by:
query in interface ApplicationService
Overrides:
query in class ApplicationServiceImpl
Returns:
Throws:
ApplicationException
See Also:
ApplicationService.query(java.lang.Object, java.lang.Integer, java.lang.String)

query

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

Specified by:
query in interface LexEVSDataService
Returns:
Throws:
ApplicationException

search

public <E> java.util.List<E> search(java.lang.String path,
                                    java.util.List objList)
                         throws ApplicationException
Description copied from interface: ApplicationService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount().

Specified by:
search in interface ApplicationService
Overrides:
search in class ApplicationServiceImpl
Returns:
Throws:
ApplicationException
See Also:
ApplicationService.search(java.lang.String, java.util.List)

search

public <E> java.util.List<E> search(java.lang.String path,
                                    java.util.List objList,
                                    QueryOptions queryOptions)
                         throws ApplicationException
Description copied from interface: LexEVSDataService
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 ApplicationService.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 ApplicationService.getMaxRecordsCount().

Specified by:
search in interface LexEVSDataService
queryOptions - Specific Options to be used while processing this query.
Returns:
Throws:
ApplicationException

getQueryRowCount

public java.lang.Integer getQueryRowCount(java.lang.Object criteria,
                                          java.lang.String targetClassName)
                                   throws ApplicationException
Description copied from interface: ApplicationService
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 ApplicationService.getMaxRecordsCount()

Specified by:
getQueryRowCount in interface ApplicationService
Overrides:
getQueryRowCount in class ApplicationServiceImpl
Returns:
Throws:
ApplicationException
See Also:
ApplicationService.getQueryRowCount(java.lang.Object, java.lang.String)

getQueryRowCount

public java.lang.Integer getQueryRowCount(java.lang.Object criteria,
                                          java.lang.String targetClassName,
                                          QueryOptions queryOptions)
                                   throws ApplicationException
Description copied from interface: LexEVSDataService
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 ApplicationService.getMaxRecordsCount()

Specified by:
getQueryRowCount in interface LexEVSDataService
queryOptions - Specific Options to be used while processing this query.
Returns:
Throws:
ApplicationException

convertToListProxy

protected <E> java.util.List<E> convertToListProxy(java.util.Collection originalList,
                                                   java.lang.Object query,
                                                   java.lang.String classname,
                                                   java.lang.Integer start,
                                                   QueryOptions options)

privateQuery

protected <E> java.util.List<E> privateQuery(java.lang.Object criteria,
                                             java.lang.String targetClassName,
                                             QueryOptions queryOptions)
                                  throws ApplicationException
Throws:
ApplicationException

query

protected Response query(Request request,
                         LexEVSDAO dao)
                  throws java.lang.Exception
Throws:
java.lang.Exception

query

protected Response query(Request request,
                         LexEVSDAO dao,
                         boolean lazyLoad,
                         int resultPageSize)
                  throws java.lang.Exception
Throws:
java.lang.Exception

getCodingSchemeConcepts

@Deprecated
public CodedNodeSet getCodingSchemeConcepts(java.lang.String codingScheme,
                                                       CodingSchemeVersionOrTag versionOrTag,
                                                       boolean activeOnly)
                                     throws LBException
Deprecated. Not implemented here since it is deprecated in the LexBIGService interface.

Gets the coding scheme concepts.

Parameters:
codingScheme - the coding scheme String
versionOrTag - the version or tag String
activeOnly - the active only boolean
Returns:
the coding scheme concepts as a CodedNodeSet
Throws:
LBException - the LB exception

getCodingSchemeConcepts

public CodedNodeSet getCodingSchemeConcepts(java.lang.String codingScheme,
                                            CodingSchemeVersionOrTag versionOrTag)
                                     throws LBException
Throws:
LBException

getFilter

public Filter getFilter(java.lang.String name)
                 throws LBException
Throws:
LBException

getFilterExtensions

public ExtensionDescriptionList getFilterExtensions()

getGenericExtension

public GenericExtension getGenericExtension(java.lang.String name)
                                     throws LBException
Throws:
LBException

getGenericExtensions

public ExtensionDescriptionList getGenericExtensions()

getHistoryService

public HistoryService getHistoryService(java.lang.String codingScheme)
                                 throws LBException
Throws:
LBException

getLastUpdateTime

public java.util.Date getLastUpdateTime()
                                 throws LBInvocationException
Throws:
LBInvocationException

getMatchAlgorithms

public ModuleDescriptionList getMatchAlgorithms()

getNodeGraph

public CodedNodeGraph getNodeGraph(java.lang.String codingScheme,
                                   CodingSchemeVersionOrTag versionOrTag,
                                   java.lang.String relationsName)
                            throws LBException
Throws:
LBException

getServiceManager

public LexBIGServiceManager getServiceManager(java.lang.Object credentials)
                                       throws LBException
Throws:
LBException

getServiceMetadata

public LexBIGServiceMetadata getServiceMetadata()
                                         throws LBException
Throws:
LBException

getSortAlgorithm

public Sort getSortAlgorithm(java.lang.String name)
                      throws LBException
Throws:
LBException

getSortAlgorithms

public SortDescriptionList getSortAlgorithms(SortContext context)

getSupportedCodingSchemes

public CodingSchemeRenderingList getSupportedCodingSchemes()
                                                    throws LBInvocationException
Throws:
LBInvocationException

resolveCodingScheme

public CodingScheme resolveCodingScheme(java.lang.String codingScheme,
                                        CodingSchemeVersionOrTag versionOrTag)
                                 throws LBException
Throws:
LBException

resolveCodingSchemeCopyright

public java.lang.String resolveCodingSchemeCopyright(java.lang.String codingScheme,
                                                     CodingSchemeVersionOrTag versionOrTag)
                                              throws LBException
Throws:
LBException

getNodeSet

public CodedNodeSet getNodeSet(java.lang.String codingScheme,
                               CodingSchemeVersionOrTag versionOrTag,
                               LocalNameList localNameList)
                        throws LBException
Throws:
LBException

getLexEVSConceptDomainServices

public LexEVSConceptDomainServices getLexEVSConceptDomainServices()
Specified by:
getLexEVSConceptDomainServices in interface LexEVSDistributed

getLexEVSValueSetDefinitionServices

public LexEVSValueSetDefinitionServices getLexEVSValueSetDefinitionServices()
Specified by:
getLexEVSValueSetDefinitionServices in interface LexEVSDistributed

getLexEVSPickListDefinitionServices

public LexEVSPickListDefinitionServices getLexEVSPickListDefinitionServices()
Specified by:
getLexEVSPickListDefinitionServices in interface LexEVSDistributed

getClassCache

protected LexEVSClassCache getClassCache()
Overrides:
getClassCache in class ApplicationServiceImpl

getDAO

protected DAO getDAO(java.lang.String classname)
              throws ApplicationException
Overrides:
getDAO in class ApplicationServiceImpl
Throws:
ApplicationException

getNestedObjectToCriteriaTranslator

public NestedObjectToCriteria getNestedObjectToCriteriaTranslator()

setNestedObjectToCriteriaTranslator

public void setNestedObjectToCriteriaTranslator(NestedObjectToCriteria nestedObjectToCriteriaTranslator)

getGridCQLToDetachedCriteriaTranslator

public GridCQLToDetachedCriteria getGridCQLToDetachedCriteriaTranslator()

setGridCQLToDetachedCriteriaTranslator

public void setGridCQLToDetachedCriteriaTranslator(GridCQLToDetachedCriteria gridCQLToDetachedCriteriaTranslator)

getQbePathToDetachedCriteriaTranslator

public QBEPathToDetachedCriteria getQbePathToDetachedCriteriaTranslator()

setQbePathToDetachedCriteriaTranslator

public void setQbePathToDetachedCriteriaTranslator(QBEPathToDetachedCriteria qbePathToDetachedCriteriaTranslator)

getSdkCQLToDetachedCriteriaTranslator

public SDKCQLToDetachedCriteria getSdkCQLToDetachedCriteriaTranslator()

setSdkCQLToDetachedCriteriaTranslator

public void setSdkCQLToDetachedCriteriaTranslator(SDKCQLToDetachedCriteria sdkCQLToDetachedCriteriaTranslator)

getPaginationHelper

public PaginationHelper getPaginationHelper()

setPaginationHelper

public void setPaginationHelper(PaginationHelper paginationHelper)

isUpdateClientProxyTarget

public boolean isUpdateClientProxyTarget()

setUpdateClientProxyTarget

public void setUpdateClientProxyTarget(boolean updateClientProxyTarget)

getRemoteResourceManager

public RemoteResourceManager getRemoteResourceManager()

setRemoteResourceManager

public void setRemoteResourceManager(RemoteResourceManager remoteResourceManager)