Package ome.services.blitz.impl
Class QueryI
- java.lang.Object
-
- ome.services.blitz.impl.AbstractAmdServant
-
- ome.services.blitz.impl.QueryI
-
- All Implemented Interfaces:
_IQueryOperations
,_ServiceInterfaceOperations
,org.springframework.beans.factory.Aware
,org.springframework.context.ApplicationContextAware
public class QueryI extends AbstractAmdServant implements _IQueryOperations
Implementation of the IQuery service.- Since:
- 3.0-Beta4
- See Also:
IQuery
-
-
Constructor Summary
Constructors Constructor Description QueryI(ome.api.IQuery service, BlitzExecutor be)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
find_async(AMD_IQuery_find __cb, java.lang.String klass, long id, Ice.Current __current)
Looks up an entity by class and id.void
findAll_async(AMD_IQuery_findAll __cb, java.lang.String klass, Filter filter, Ice.Current __current)
Looks up all entities that belong to this class and match filter.void
findAllByExample_async(AMD_IQuery_findAllByExample __cb, IObject example, Filter filter, Ice.Current __current)
Searches based on provided example entity.void
findAllByFullText_async(AMD_IQuery_findAllByFullText __cb, java.lang.String klass, java.lang.String query, Parameters params, Ice.Current __current)
Executes a full text search based on Lucene.void
findAllByQuery_async(AMD_IQuery_findAllByQuery __cb, java.lang.String query, Parameters params, Ice.Current __current)
Executes the stored query with the given name.void
findAllByString_async(AMD_IQuery_findAllByString __cb, java.lang.String klass, java.lang.String field, java.lang.String value, boolean caseSensitive, Filter filter, Ice.Current __current)
Searches a given field matching against a String.void
findByExample_async(AMD_IQuery_findByExample __cb, IObject example, Ice.Current __current)
Searches based on provided example entity.void
findByQuery_async(AMD_IQuery_findByQuery __cb, java.lang.String query, Parameters params, Ice.Current __current)
Executes the stored query with the given name.void
findByString_async(AMD_IQuery_findByString __cb, java.lang.String klass, java.lang.String field, java.lang.String value, Ice.Current __current)
Searches a given field matching against a String.void
get_async(AMD_IQuery_get __cb, java.lang.String klass, long id, Ice.Current __current)
Looks up an entity by class and id.void
projection_async(AMD_IQuery_projection __cb, java.lang.String query, Parameters params, Ice.Current __current)
Return a sequence ofRType
sequences.void
refresh_async(AMD_IQuery_refresh __cb, IObject object, Ice.Current __current)
Refreshes an entireIObject
graph, recursive loading all data for the managed instances in the graph from the database.-
Methods inherited from class ome.services.blitz.impl.AbstractAmdServant
activate_async, applyHardWiredInterceptors, callInvokerOnMappedArgs, callInvokerOnRawArgs, executorWorkCall, getCurrentEventContext_async, onSetOmeroContext, passivate_async, runnableCall, safeRunnableCall, setApplicationContext, setHolder
-
-
-
-
Constructor Detail
-
QueryI
public QueryI(ome.api.IQuery service, BlitzExecutor be)
-
-
Method Detail
-
findAllByExample_async
public void findAllByExample_async(AMD_IQuery_findAllByExample __cb, IObject example, Filter filter, Ice.Current __current) throws ServerError
Description copied from interface:_IQueryOperations
Searches based on provided example entity. The returned entities will be limited by theFilter
object. Note: findAllbyExample does not operate on theid
field. For that, usefind
,get
,findByQuery
, orfindAllByQuery
.- Specified by:
findAllByExample_async
in interface_IQueryOperations
- Parameters:
__cb
- The callback object for the operation.example
- Non-null example object.__current
- The Current object for the invocation.- Throws:
ServerError
-
findAllByFullText_async
public void findAllByFullText_async(AMD_IQuery_findAllByFullText __cb, java.lang.String klass, java.lang.String query, Parameters params, Ice.Current __current) throws ServerError
Description copied from interface:_IQueryOperations
Executes a full text search based on Lucene. Each term in the query can also be prefixed by the name of the field to which is should be restricted. Examples:- owner:root AND annotation:someTag
- file:xml AND name:*hoechst*
- Specified by:
findAllByFullText_async
in interface_IQueryOperations
- Parameters:
__cb
- The callback object for the operation.klass
- A non-null class specification of which type should be searched.query
- A non-null query string. An empty string will return no results.params
- Currently the parameters themselves are unused. But theParameters.theFilter
can be used to limit the number of results returned (Filter.limit
) or the user for who the results will be found (Filter.ownerId
).__current
- The Current object for the invocation.- Throws:
ServerError
-
findAllByQuery_async
public void findAllByQuery_async(AMD_IQuery_findAllByQuery __cb, java.lang.String query, Parameters params, Ice.Current __current) throws ServerError
Description copied from interface:_IQueryOperations
Executes the stored query with the given name. If a query with the name cannot be found, an exception will be thrown. The queryName parameter can be an actual query String if the StringQuerySource is configured on the server and the user running the query has proper permissions. Queries can only return lists ofIObject
instances. This means all must be of the form:select this from SomeModelClass this ...
though the alias this is unimportant. Do not try to return multiple classes in one call like:select this, that from SomeClass this, SomeOtherClass that ...
nor to project values out of an object:select this.name from SomeClass this ...
If a page is desired, add it to the query parameters.- Specified by:
findAllByQuery_async
in interface_IQueryOperations
- Parameters:
__cb
- The callback object for the operation.query
- Query to execute. Not null.__current
- The Current object for the invocation.- Throws:
ServerError
-
findAllByString_async
public void findAllByString_async(AMD_IQuery_findAllByString __cb, java.lang.String klass, java.lang.String field, java.lang.String value, boolean caseSensitive, Filter filter, Ice.Current __current) throws ServerError
Description copied from interface:_IQueryOperations
Searches a given field matching against a String. Method allows for case sensitive or insensitive searching using the (I)LIKE comparators. Result set will be reduced by theFilter
instance.- Specified by:
findAllByString_async
in interface_IQueryOperations
- Parameters:
__cb
- The callback object for the operation.klass
- type of entity to be searched. Not null.value
- String used for search. Not null.filter
- filters the result set. Can be null.__current
- The Current object for the invocation.- Throws:
ServerError
-
findAll_async
public void findAll_async(AMD_IQuery_findAll __cb, java.lang.String klass, Filter filter, Ice.Current __current) throws ServerError
Description copied from interface:_IQueryOperations
Looks up all entities that belong to this class and match filter.- Specified by:
findAll_async
in interface_IQueryOperations
- Parameters:
__cb
- The callback object for the operation.klass
- entity type to be searched. Not null.__current
- The Current object for the invocation.- Throws:
ServerError
-
findByExample_async
public void findByExample_async(AMD_IQuery_findByExample __cb, IObject example, Ice.Current __current) throws ServerError
Description copied from interface:_IQueryOperations
Searches based on provided example entity. The example entity should uniquely specify the entity or an exception will be thrown. Note: findByExample does not operate on theid
field. For that, usefind
,get
,findByQuery
, orfindAllByQuery
.- Specified by:
findByExample_async
in interface_IQueryOperations
- Parameters:
__cb
- The callback object for the operation.example
- Non-null example object.__current
- The Current object for the invocation.- Throws:
ServerError
-
findByQuery_async
public void findByQuery_async(AMD_IQuery_findByQuery __cb, java.lang.String query, Parameters params, Ice.Current __current) throws ServerError
Description copied from interface:_IQueryOperations
Executes the stored query with the given name. If a query with the name cannot be found, an exception will be thrown. The queryName parameter can be an actual query String if the StringQuerySource is configured on the server and the user running the query has proper permissions.- Specified by:
findByQuery_async
in interface_IQueryOperations
- Parameters:
__cb
- The callback object for the operation.query
- Query to execute__current
- The Current object for the invocation.- Throws:
ServerError
-
findByString_async
public void findByString_async(AMD_IQuery_findByString __cb, java.lang.String klass, java.lang.String field, java.lang.String value, Ice.Current __current) throws ServerError
Description copied from interface:_IQueryOperations
Searches a given field matching against a String. Method does not allow for case sensitive or insensitive searching since this is essentially a lookup. The existence of more than one result will result in an exception.- Specified by:
findByString_async
in interface_IQueryOperations
- Parameters:
__cb
- The callback object for the operation.klass
- type of entity to be searchedvalue
- String used for search.__current
- The Current object for the invocation.- Throws:
ServerError
-
find_async
public void find_async(AMD_IQuery_find __cb, java.lang.String klass, long id, Ice.Current __current) throws ServerError
Description copied from interface:_IQueryOperations
Looks up an entity by class and id. If no such objects exists, return anull
.- Specified by:
find_async
in interface_IQueryOperations
- Parameters:
__cb
- The callback object for the operation.klass
- klass the type of the entity. Not null.__current
- The Current object for the invocation.- Throws:
ServerError
-
get_async
public void get_async(AMD_IQuery_get __cb, java.lang.String klass, long id, Ice.Current __current) throws ServerError
Description copied from interface:_IQueryOperations
Looks up an entity by class and id. If no such object exists, an exception will be thrown.- Specified by:
get_async
in interface_IQueryOperations
- Parameters:
__cb
- The callback object for the operation.klass
- the type of the entity. Not null.__current
- The Current object for the invocation.- Throws:
ServerError
-
refresh_async
public void refresh_async(AMD_IQuery_refresh __cb, IObject object, Ice.Current __current) throws ServerError
Description copied from interface:_IQueryOperations
Refreshes an entireIObject
graph, recursive loading all data for the managed instances in the graph from the database. If any non-managed entities are detected (e.g. without ids), anApiUsageException
will be thrown.- Specified by:
refresh_async
in interface_IQueryOperations
- Parameters:
__cb
- The callback object for the operation.object
- Non-null managedIObject
graph which should have all values re-assigned from the database__current
- The Current object for the invocation.- Throws:
ServerError
-
projection_async
public void projection_async(AMD_IQuery_projection __cb, java.lang.String query, Parameters params, Ice.Current __current) throws ServerError
Description copied from interface:_IQueryOperations
Return a sequence ofRType
sequences.Each element of the outer sequence is one row in the return value. Each element of the inner sequence is one column specified in the HQL.
IObject
instances are returned wrapped in anRObject
instance. Primitives are mapped to the expectedRType
subclass. Types without anRType
mapper if returned will throw an exception if present in the select except where a manual conversion is present on the server. This includes:-
Permissions
instances are serialized to anRMap
containing the keys: perms, canAnnotate, canEdit, canLink, canDelete, canChgrp, canChown -
The quantity types like
Length
are serialized to anRMap
containing the keys: value, unit, symbol
As with SQL, if an aggregation statement is used, a group by clause must be added.
Examples:
select i.name, i.description from Image i where i.name like '%.dv' select tag.textValue, tagset.textValue from TagAnnotation tag join tag.annotationLinks l join l.child tagset select p.pixelsType.value, count(p.id) from Pixel p group by p.pixelsType.value
- Specified by:
projection_async
in interface_IQueryOperations
- Parameters:
__cb
- The callback object for the operation.__current
- The Current object for the invocation.- Throws:
ServerError
-
-
-