|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--edu.cmu.aura.service.SimpleService
SimpleService is the base class that most service implementations will want to extend. It takes care listening for incoming service calls, deserializing them, and dispatching them to the service. As well as sending back the result to the client. This class also provides many error checking and other query processing routines.
Subclasses class must implement at least the query() method. Default implementations for functions other than query are included; they simply throw a FunctionNotSupportedException, so subclasses that wish to really support any of the post methods must implement these as well.
The rest of this description discusses sample ways in which this class may be used. Note that the steps below are not the only ways in which this class may be used, but merely some possible ways that it may be used. You may ignore features that you do not wish to use.
A large amount of support is provided for error checking and processing incoming queries. You will generally want to use either the processQuery() family of calls for general queries, and the processSimpleEqualityQuery() family of calls for simple equality queries. These calls will perform error checking and return a query object corresponding to the type of query being processed.
For error checking and query processing to work you must set the following fields (usually done in your constructor): serviceName, attribNames, and allowedExpressionAttribs. The following checks are made by the processQuery and processSimpleEqualityQuery families of methods: Ensure that the serviceNames parameter is either null or contains a single entry matching the name of this service as specified in the field serviceName. Ensure that the sAttribs parameter is either null or contains only attributes specified in the attribNames field. If it's null, the query object generated will contain an sAttribs member that specifies all attributes (i.e. it handles the null wildcard so you can assume that all attributes are explicitly specified). Ensures that all attributes specified in the expression are listed in allowedExpressionAttribs.
Simple equality processing performs the additional steps: Ensure that the expression is actually a simple equality query. Ensure that the correct expression attribute name is specified. Ensure that the expression attribute value is of the correct type.
Note that using the processQuery() and processSimpleEqualityQuery() methods are not required. Also, they are not the only methods provided for error checking. You can also use specialized methods contained in this class as well as the ExpressionUtil and ReqUtil classes. However, processQuery()/processSimpleEqualityQuery() and friends are probably the easiest to use.
The PostQueryWorker series of calls provides a simplistic method of implementing posted queries. Note that currently this mechanism only supports simple equality queries. (Also, note that no corresponding mechanism is currently provided for triggers.) Subclasses that desire to use this mechanism should call enablePostQuery() to start a Gatherer and perform other initialization.
Next classes that desire to use this mechanism should divide query processing (incoming query() calls) into two halves: the first half would call processSimpleEqualityQuery() and the second half would be an implementation of the method computeQueryResult(). The reason for this is that PostQueryWorkers will use the computeQueryResult() method to compute the query result for posted queries.
When an incoming postQuery() call is received, a SimpleEqualityPostedQuery() object should be created probably by using processSimpleEqualityPostedQuery(). Next addPQWorker() should be called to begin execution of this posted query. removePQWorker() can be called to remove the posted query.
ExpressionUtil,
ReqUtil,
Gatherer,
PostQueryWorker| Field Summary | |
protected java.lang.String[] |
allowedExpressionAttribs
Attribute names that are allowed to appear in expressions. |
protected java.lang.String[] |
attribNames
Attribute names that this service supports. |
protected edu.cmu.aura.gather.Gatherer |
gatherer
This gatherer is intended to work on postQueryWorkers. |
protected int |
nextQueryId
Next query id. |
protected static int |
NO_BOUNDS_REQ
Used by the processQuery series of calls to indicate that the process query has no requirements on attributes. |
protected boolean |
postCondTriggerAllowed
Indicates whether or not postCondTrigger is allowed |
protected boolean |
postModTriggerAllowed
Indicates whether or not postModTrigger is allowed |
protected boolean |
postQueryAllowed
Indicates whether or not postQuery is allowed. |
protected java.util.HashMap |
pqWorkers
HashMap for PostQueryWorkers. |
protected PrimitiveServiceSkel |
pServiceSkel
Accepts incoming requests from the skelServer and passes them to this class |
protected java.lang.Object |
queryIdSynch
Mutex for generating new query IDs |
protected java.lang.String |
serviceName
Name of this service. |
protected edu.cmu.aura.service.rpc.SkelServer |
skelServer
SkelServer used to accept incoming requests |
| Fields inherited from interface edu.cmu.aura.service.PrimitiveService |
ALL_ATTRIBS, ANY_CHANGE, DEFAULT_EXEC_INTERVAL, DEFAULT_SERVICE, DEFAULT_SERVICE_NAME, NO_REQS, NO_TIME_LIMIT, RELATION_ATTRIB, SELECT_ALL |
| Constructor Summary | |
SimpleService(java.lang.String serviceName,
int port)
Creates a service with a given name listening on a specified port. |
|
| Method Summary | |
protected int |
addPQWorker(SimpleEqualityPostedQuery postedQuery)
Adds a new PostedQueryWorker. |
protected void |
checkExpressionAttribs(ExpressionNode expression)
Ensure that an expression uses only attributes specified in the field allowedAttribs. |
protected void |
checkSAttribs(java.util.ArrayList sAttribs)
Ensure that a list of selected attributes refers only to attributes specified in the field attribNames. |
protected void |
checkServiceNames(java.util.ArrayList serviceNames)
Ensures that a list of service names refers only to this service. |
QueryResult |
computeQueryResult(SimpleEqualityQuery query)
computeQueryResult is implemented by subclasses of SimpleQuery that intend to use PostQueryWorker. |
protected void |
enablePostQuery(long updateLeadTime,
int gatherThreads)
Enables the PostQueryWorker method of performing postQueries. |
protected int |
getNewQueryId()
Threadsafe routine for generating a new unique queryID. |
protected boolean |
isPQWorkerQuery(int queryID)
|
int |
postCondTrigger(java.util.ArrayList selectedAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
ExpressionNode triggerExpression,
edu.cmu.aura.service.rpc.RemoteReference queryClient)
Post a conditional trigger. |
int |
postModTrigger(java.util.ArrayList selectedAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
java.util.ArrayList triggerAttribs,
java.util.ArrayList triggerDeltas,
edu.cmu.aura.service.rpc.RemoteReference queryClient)
Post a mod trigger. |
int |
postQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef)
Post a query. |
protected CondTrigger |
processCondTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
ExpressionNode triggerExpression,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
Error check a cond trigger and if everything is OK return a CondTrigger object representing the given query. |
protected CondTrigger |
processCondTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
ExpressionNode triggerExpression,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
long[] intervalBounds,
long[] updateTimeBounds)
Error check a cond trigger and if everything is OK return a CondTrigger object representing the given query. |
protected ModTrigger |
processModTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
java.util.ArrayList triggerAttribs,
java.util.ArrayList triggerDeltas,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
Error check a mod trigger and if everything is OK return a ModTrigger object representing the given query. |
protected ModTrigger |
processModTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
java.util.ArrayList triggerAttribs,
java.util.ArrayList triggerDeltas,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
long[] intervalBounds,
long[] updateTimeBounds)
Error check a mod trigger and if everything is OK return a ModTrigger object representing the given query. |
protected PostedQuery |
processPostedQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
Error check a posted query and if everything is OK return a PostedQuery object representing the given query. |
protected PostedQuery |
processPostedQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
long[] intervalBounds,
long[] updateTimeBounds)
Error check a posted query and if everything is OK return a PostedQuery object representing the given query. |
protected Query |
processQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
Error check a query and if everything is OK return a Query object representing the given query. |
protected Query |
processQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
long[] intervalBounds,
long[] updateTimeBounds)
Error check a query and if everything is OK return a Query object representing the given query. |
protected SimpleEqualityCondTrigger |
processSimpleEqualityCondTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
ExpressionNode triggerExpression,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
Error check a simple equality cond trigger and if everything is OK return a SimpleEqualityCondTrigger object representing the given query. |
protected SimpleEqualityCondTrigger |
processSimpleEqualityCondTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
ExpressionNode triggerExpression,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
java.lang.String keyAttrib,
java.lang.Class keyAttribClass)
Error check a simple equality cond trigger and if everything is OK return a SimpleEqualityCondTrigger object representing the given query. |
protected SimpleEqualityModTrigger |
processSimpleEqualityModTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
java.util.ArrayList triggerAttribs,
java.util.ArrayList triggerDeltas,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
Error check a simple equality mod trigger and if everything is OK return a SimpleEqualityModTrigger object representing the given query. |
protected SimpleEqualityModTrigger |
processSimpleEqualityModTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
java.util.ArrayList triggerAttribs,
java.util.ArrayList triggerDeltas,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
java.lang.String keyAttrib,
java.lang.Class keyAttribClass)
Error check a simple equality mod trigger and if everything is OK return a SimpleEqualityModTrigger object representing the given query. |
protected SimpleEqualityPostedQuery |
processSimpleEqualityPostedQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
Error check a simple equality posted query and if everything is OK return a SimpleEqualityPostedQuery object representing the given query. |
protected SimpleEqualityPostedQuery |
processSimpleEqualityPostedQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
java.lang.String keyAttrib,
java.lang.Class keyAttribClass)
Error check a simple equality posted query and if everything is OK return a SimpleEqualityPostedQuery object representing the given query. |
protected SimpleEqualityQuery |
processSimpleEqualityQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
Error check a simple equality query and if everything is OK return a SimpleEqualityQuery object representing the given query. |
protected SimpleEqualityQuery |
processSimpleEqualityQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
java.lang.String keyAttrib,
java.lang.Class keyAttribClass)
Error check a simple equality query and if everything is OK return a SimpleEqualityQuery object representing the given query. |
abstract QueryResult |
query(java.util.ArrayList selectedAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit)
Query this service. |
protected void |
removePQWorker(int queryId)
Removes the PostQueryWorker corresponding to the query with the given ID. |
void |
removeQuery(java.lang.String serviceName,
int queryId)
Removes a posted query. |
void |
removeTrigger(java.lang.String serviceName,
int queryID)
Remove a trigger. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected java.lang.String serviceName
protected PrimitiveServiceSkel pServiceSkel
protected edu.cmu.aura.service.rpc.SkelServer skelServer
protected java.lang.String[] attribNames
protected java.lang.String[] allowedExpressionAttribs
protected boolean postQueryAllowed
protected boolean postCondTriggerAllowed
protected boolean postModTriggerAllowed
protected edu.cmu.aura.gather.Gatherer gatherer
protected java.lang.Object queryIdSynch
protected int nextQueryId
protected java.util.HashMap pqWorkers
protected static final int NO_BOUNDS_REQ
| Constructor Detail |
public SimpleService(java.lang.String serviceName,
int port)
throws java.lang.Exception
serviceName - the name of this serviceport - the port number to listen on| Method Detail |
protected int getNewQueryId()
protected void enablePostQuery(long updateLeadTime,
int gatherThreads)
updateLeadTime - leadTime for updates (usually 0)gatherThreads - numberOfThreads to use for working on
posted queriesprotected int addPQWorker(SimpleEqualityPostedQuery postedQuery)
postedQuery - the query to post
protected void removePQWorker(int queryId)
throws ServiceException
queryId - id of the PostQueryWorker/query to remove
ServiceExceptionprotected boolean isPQWorkerQuery(int queryID)
public abstract QueryResult query(java.util.ArrayList selectedAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit)
throws ServiceException
query in interface PrimitiveServiceselectedAttribs - attribsutes to select. ALL_ATTRIBS
indicates that all attributes are to be selected.serviceNames - names of services to retrieve
attributes from. DEFAULT_SERVICE may be used if
there is only one service listening on a given port.expression - expression selecting which entities or
relations in the service should be returned. SELECT_ALL
indicates all entities are to be selected.attribReqs - requirements on dynamic attributes. NO_REQS
indicates there are no requirements in effect.timeLimit - this is used by clients to inform the service
on when they need the results by. This may also be viewed as
a suggestion on how hard to work to retrieve the results.
NO_TIME_LIMIT indicates that the client has no hard limit on
how long the query should take; though a client will likely
still desire reasonably fast execution.
ServiceException
public int postQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef)
throws ServiceException
postQuery in interface PrimitiveServicesAttribs - attribsutes to select. ALL_ATTRIBS
indicates that all attributes are to be selected.serviceNames - names of services to retrieve
attributes from. DEFAULT_SERVICE may be used if
there is only one service listening on a given port.expression - expression selecting which entities or
relations in the service should be returned. SELECT_ALL
indicates all entities are to be selected.attribReqs - requirements on dynamic attributes. NO_REQS
indicates there are no requirements in effect.timeLimit - this is used by clients to inform the service
on when they need the results by. This may also be viewed as
a suggestion on how hard to work to retrieve the results.
NO_TIME_LIMIT indicates that the client has no hard limit on
how long the query should take; though a client will likely
still desire reasonably fast execution.execInterval - interval at which to execute the query.
DEFAULT_EXEC_INTERVAL may be specified if they service
is to select the interval at which the query should execute.queryClientRef - the client that should be informed when
this query executes.
ServiceException
public void removeQuery(java.lang.String serviceName,
int queryId)
throws ServiceException
removeQuery in interface PrimitiveServiceserviceName - name of the service to remove the query from.queryId - the ID of the query to remove.
ServiceException
public int postCondTrigger(java.util.ArrayList selectedAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
ExpressionNode triggerExpression,
edu.cmu.aura.service.rpc.RemoteReference queryClient)
throws java.rmi.RemoteException,
ServiceException
postCondTrigger in interface PrimitiveServiceselectedAttribs - attribsutes to select. ALL_ATTRIBS
indicates that all attributes are to be selected.serviceNames - names of services to retrieve
attributes from. DEFAULT_SERVICE may be used if
there is only one service listening on a given port.expression - expression selecting which entities or
relations in the service should be returned. SELECT_ALL
indicates all entities are to be selected.attribReqs - requirements on dynamic attributes. NO_REQS
indicates there are no requirements in effect.timeLimit - this is used by clients to inform the service
on when they need the results by. This may also be viewed as
a suggestion on how hard to work to retrieve the results.
NO_TIME_LIMIT indicates that the client has no hard limit on
how long the processing should take; though a client will likely
still desire reasonably fast execution.execInterval - interval at which to check the trigger.triggerExpression - condition indicating when to
fire the trigger.queryClient - the client that should be informed when
this trigger executes.
java.rmi.RemoteException
ServiceException
public int postModTrigger(java.util.ArrayList selectedAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
java.util.ArrayList triggerAttribs,
java.util.ArrayList triggerDeltas,
edu.cmu.aura.service.rpc.RemoteReference queryClient)
throws java.rmi.RemoteException,
ServiceException
postModTrigger in interface PrimitiveServiceselectedAttribs - attribsutes to select. ALL_ATTRIBS
indicates that all attributes are to be selected.serviceNames - names of services to retrieve
attributes from. DEFAULT_SERVICE may be used if
there is only one service listening on a given port.expression - expression selecting which entities or
relations in the service should be returned. SELECT_ALL
indicates all entities are to be selected.attribReqs - requirements on dynamic attributes. NO_REQS
indicates there are no requirements in effect.timeLimit - this is used by clients to inform the service
on when they need the results by. This may also be viewed as
a suggestion on how hard to work to retrieve the results.
NO_TIME_LIMIT indicates that the client has no hard limit on
how long the processing should take; though a client will likely
still desire reasonably fast execution.execInterval - interval at which to check the trigger.triggerAttribs - attributes to watch for changes.triggerDeltas - amount of change that will cause the
trigger to fire for the corresponding attribute.queryClient - the client that should be informed when
this trigger executes.
java.rmi.RemoteException
ServiceException
public void removeTrigger(java.lang.String serviceName,
int queryID)
throws java.rmi.RemoteException,
ServiceException
removeTrigger in interface PrimitiveServiceserviceName - name of the service to remove the query from.queryID - the ID of the query to remove.
java.rmi.RemoteException
ServiceException
public QueryResult computeQueryResult(SimpleEqualityQuery query)
throws ServiceException
ServiceException
protected Query processQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.
ServiceException
protected Query processQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
long[] intervalBounds,
long[] updateTimeBounds)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.intervalBounds - used to return the maximum interval
bounds of requirementsupdateTimeBounds - used to return the maximum updateTimeBounds
of requirements
ServiceException
protected PostedQuery processPostedQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.
ServiceException
protected PostedQuery processPostedQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
long[] intervalBounds,
long[] updateTimeBounds)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.intervalBounds - used to return the maximum interval
bounds of requirementsupdateTimeBounds - used to return the maximum updateTimeBounds
of requirements
ServiceException
protected ModTrigger processModTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
java.util.ArrayList triggerAttribs,
java.util.ArrayList triggerDeltas,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.
ServiceException
protected ModTrigger processModTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
java.util.ArrayList triggerAttribs,
java.util.ArrayList triggerDeltas,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
long[] intervalBounds,
long[] updateTimeBounds)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.intervalBounds - used to return the maximum interval
bounds of requirementsupdateTimeBounds - used to return the maximum updateTimeBounds
of requirements
ServiceException
protected CondTrigger processCondTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
ExpressionNode triggerExpression,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.
ServiceException
protected CondTrigger processCondTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
ExpressionNode triggerExpression,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
long[] intervalBounds,
long[] updateTimeBounds)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.intervalBounds - used to return the maximum interval
bounds of requirementsupdateTimeBounds - used to return the maximum updateTimeBounds
of requirements
ServiceException
protected SimpleEqualityQuery processSimpleEqualityQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.
ServiceException
protected SimpleEqualityQuery processSimpleEqualityQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
java.lang.String keyAttrib,
java.lang.Class keyAttribClass)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.
ServiceException
protected SimpleEqualityPostedQuery processSimpleEqualityPostedQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.
ServiceException
protected SimpleEqualityPostedQuery processSimpleEqualityPostedQuery(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
java.lang.String keyAttrib,
java.lang.Class keyAttribClass)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.
ServiceException
protected SimpleEqualityModTrigger processSimpleEqualityModTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
java.util.ArrayList triggerAttribs,
java.util.ArrayList triggerDeltas,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.
ServiceException
protected SimpleEqualityModTrigger processSimpleEqualityModTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
java.util.ArrayList triggerAttribs,
java.util.ArrayList triggerDeltas,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
java.lang.String keyAttrib,
java.lang.Class keyAttribClass)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.
ServiceException
protected SimpleEqualityCondTrigger processSimpleEqualityCondTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
ExpressionNode triggerExpression,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.
ServiceException
protected SimpleEqualityCondTrigger processSimpleEqualityCondTrigger(java.util.ArrayList sAttribs,
java.util.ArrayList serviceNames,
ExpressionNode expression,
java.util.ArrayList attribReqs,
long timeLimit,
long execInterval,
ExpressionNode triggerExpression,
edu.cmu.aura.service.rpc.RemoteReference queryClientRef,
java.lang.String[] reqAllowedAttribs,
int allowedReqs,
java.lang.String keyAttrib,
java.lang.Class keyAttribClass)
throws ServiceException
reqAllowedAttribs - the names of attributes that are allowed
to have requirementsallowedReqs - allowed requirements. See ReqUtil for allowed
values.
ServiceException
protected void checkServiceNames(java.util.ArrayList serviceNames)
throws RequestException
serviceNames - list of serviceNames to check
RequestException
protected void checkSAttribs(java.util.ArrayList sAttribs)
throws RequestException
sAttribs - list of selected attributes to check
RequestException
protected void checkExpressionAttribs(ExpressionNode expression)
throws RequestException
expression - expression to check
RequestException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||