com.genesyslab.openmedia.soa
Interface QILService

All Superinterfaces:
IService, java.rmi.Remote

public interface QILService
extends IService

This service lets your application monitor queues available in the Genesys framework.


Method Summary
 void changeOperationalMode(QILOperationalMode newMode)
          Changes the login mode for QIL in runtime.
 QILInteractionList getInteractionsByQuery(java.lang.String queueId, QILInteractionQueryBySQL query, boolean shouldLock)
          Retrieves collection of interactions in a queue, using given SQL criteria.
 QILOperationalMode getOperationalMode()
          Identifies mode in which QIL is running.
 QueueDTO[] getQueuesDTO(java.lang.String[] queueIds, java.lang.String[] attributes)
          Retrieves all the requested attributes on these queues.
 void interactionChangeProperties(java.lang.String ixnId, KeyValue[] changedProperties, java.lang.String[] removedProperties)
          Changes the Interaction Server interaction properties of a submitted interaction.
 void interactionLeave(java.lang.String ixnId, java.lang.String reasonDescription, java.lang.String reasonSystemName)
          The Leave request can be performed only on interaction previously pulled by the user. interactionPull() and interactionLeave() should be always paired.
 void interactionLock(java.lang.String ixnId, java.lang.String reasonDescription, java.lang.String reasonSystemName)
          The Lock request is intended to lock the interaction and therefore, temporary stop interaction processing.
 void interactionPlaceInQueue(java.lang.String ixnId, java.lang.String queueId, java.lang.String reasonDescription, java.lang.String reasonSystemName)
          The request is intended for agent application to place interaction into specific queue.
 void interactionPull(java.lang.String ixnId, java.lang.String reasonDescription, java.lang.String reasonSystemName)
          The Pull request marks an interaction as an interaction which is being processed by supervisor.
 void interactionStopProcessing(java.lang.String ixnId, java.lang.String reasonDescription, java.lang.String reasonSystemName)
          The Stop processing request explicitly instructs the framework to stop interaction processing.
 void interactionUnlock(java.lang.String ixnId, java.lang.String reasonDescription, java.lang.String reasonSystemName)
          The Unlock request intended to release previously locked interaction if decision not to intervene with the normal workflow has been made.
 void releaseInteractionsByQuery(java.lang.String queueId, QILInteractionQueryBySQL query)
          Releases the interactions list returned by the query.
 void startQueueMonitoring(java.lang.String queueId)
          Starts monitoring this queue.
 void stopQueueMonitoring(java.lang.String queueId)
          Stops monitoring this queue.
 

Method Detail

getQueuesDTO

public QueueDTO[] getQueuesDTO(java.lang.String[] queueIds,
                               java.lang.String[] attributes)
                        throws ServiceException,
                               java.rmi.RemoteException
Retrieves all the requested attributes on these queues.

Parameters:
queueIds - The queues' identifiers.
attributes - The attributes to retrieve (queue:*).
Returns:
The attributes for each queue. NB: If a queue identifier is invalid, the method does not return data for the associated queue.
Throws:
ServiceException
java.rmi.RemoteException

startQueueMonitoring

public void startQueueMonitoring(java.lang.String queueId)
                          throws ServiceException,
                                 java.rmi.RemoteException
Starts monitoring this queue.

Parameters:
queueId - The queue identifier.
Throws:
ServiceException
java.rmi.RemoteException

stopQueueMonitoring

public void stopQueueMonitoring(java.lang.String queueId)
                         throws ServiceException,
                                java.rmi.RemoteException
Stops monitoring this queue.

Parameters:
queueId - The queue identifier.
Throws:
ServiceException
java.rmi.RemoteException

getOperationalMode

public QILOperationalMode getOperationalMode()
                                      throws ServiceException,
                                             java.rmi.RemoteException
Identifies mode in which QIL is running.

Returns:
The current mode.
Throws:
ServiceException
java.rmi.RemoteException

changeOperationalMode

public void changeOperationalMode(QILOperationalMode newMode)
                           throws ServiceException,
                                  java.rmi.RemoteException
Changes the login mode for QIL in runtime.

Parameters:
newMode - new mode.
Throws:
ServiceException
java.rmi.RemoteException

getInteractionsByQuery

public QILInteractionList getInteractionsByQuery(java.lang.String queueId,
                                                 QILInteractionQueryBySQL query,
                                                 boolean shouldLock)
                                          throws ServiceException,
                                                 java.rmi.RemoteException
Retrieves collection of interactions in a queue, using given SQL criteria. Retrieved interactions could be returned in specified order and could be locked (available only in supervisor mode).

Parameters:
queueId - The queue identifier.
query - The query to specify criteria for selection.
shouldLock - specifies if the interactions in the list returned should be.
Returns:
The interactions list. return interaction identifiers list.
Throws:
ServiceException
java.rmi.RemoteException
Since:
72

releaseInteractionsByQuery

public void releaseInteractionsByQuery(java.lang.String queueId,
                                       QILInteractionQueryBySQL query)
                                throws ServiceException,
                                       java.rmi.RemoteException
Releases the interactions list returned by the query. The call to this method also unlocks the interactions in the list if they were locked. It must be a common practice to release lists as soon as you are finished with them to avoid tying up Interaction Server’s resources. The lists are automatically released when queue becomes unmonitored.

Parameters:
queueId - The queue identifier.
query - The query to specify criteria for selection.
Throws:
ServiceException
java.rmi.RemoteException
Since:
72

interactionLeave

public void interactionLeave(java.lang.String ixnId,
                             java.lang.String reasonDescription,
                             java.lang.String reasonSystemName)
                      throws ServiceException,
                             java.rmi.RemoteException
The Leave request can be performed only on interaction previously pulled by the user. interactionPull() and interactionLeave() should be always paired.

Parameters:
ixnId - interaction identifier.
reasonDescription - Reason description.
reasonSystemName - Reason system name.
Throws:
ServiceException
java.rmi.RemoteException
Since:
72

interactionLock

public void interactionLock(java.lang.String ixnId,
                            java.lang.String reasonDescription,
                            java.lang.String reasonSystemName)
                     throws ServiceException,
                            java.rmi.RemoteException
The Lock request is intended to lock the interaction and therefore, temporary stop interaction processing. Interaction becomes invisible to any view and is not processed by the framework according to designed workflow. This gives a supervisor a chance to analyze the interaction and request the framework to perform a specific action for the interaction. Only the same person who locked the interaction can issue requests for this interaction. Interaction cannot be locked if it is already locked or if it is not in the Queued state.

Parameters:
ixnId - interaction identifier.
reasonDescription - Reason description.
reasonSystemName - Reason system name.
Throws:
ServiceException
java.rmi.RemoteException
Since:
72

interactionUnlock

public void interactionUnlock(java.lang.String ixnId,
                              java.lang.String reasonDescription,
                              java.lang.String reasonSystemName)
                       throws ServiceException,
                              java.rmi.RemoteException
The Unlock request intended to release previously locked interaction if decision not to intervene with the normal workflow has been made. After unlocking, interaction becomes visible in any view with the right condition. Note that interaction can be also unlocked by issuing Place in queue or Place in work bin request.

Parameters:
ixnId - interaction identifier.
reasonDescription - Reason description.
reasonSystemName - Reason system name.
Throws:
ServiceException
java.rmi.RemoteException
Since:
72

interactionPlaceInQueue

public void interactionPlaceInQueue(java.lang.String ixnId,
                                    java.lang.String queueId,
                                    java.lang.String reasonDescription,
                                    java.lang.String reasonSystemName)
                             throws ServiceException,
                                    java.rmi.RemoteException
The request is intended for agent application to place interaction into specific queue. Note that the specified queue must be defined for the tenant interaction belongs to. After this request interaction is not anymore considered as pulled.

Parameters:
ixnId - interaction identifier.
queueId - queue identifier.
reasonDescription - Reason description.
reasonSystemName - Reason system name.
Throws:
ServiceException
java.rmi.RemoteException
Since:
72

interactionPull

public void interactionPull(java.lang.String ixnId,
                            java.lang.String reasonDescription,
                            java.lang.String reasonSystemName)
                     throws ServiceException,
                            java.rmi.RemoteException
The Pull request marks an interaction as an interaction which is being processed by supervisor. User should call this method on an interaction before he can perform interactionPlaceInQueue(), interactionChangeProperties(), interactionStopProcessing() operations on a particular interaction. Interaction that is already pulled can not be pulled again. In this case appropriate exception will be thrown. Only interaction in Queued state can be pulled.

Parameters:
ixnId - interaction identifier.
reasonDescription - Reason description.
reasonSystemName - Reason system name.
Throws:
ServiceException
java.rmi.RemoteException
Since:
72

interactionStopProcessing

public void interactionStopProcessing(java.lang.String ixnId,
                                      java.lang.String reasonDescription,
                                      java.lang.String reasonSystemName)
                               throws ServiceException,
                                      java.rmi.RemoteException
The Stop processing request explicitly instructs the framework to stop interaction processing. And delete it from the system (Interaction Server database). If one of the parties (agent or strategy) requests stopping of an interaction, interaction is revoked from all other parties participating in this interaction processing. There are following limitation: An agent is allowed to stop an interaction only if this interaction is being handled by this agent.

Parameters:
ixnId - interaction identifier.
reasonDescription - Reason description.
reasonSystemName - Reason system name.
Throws:
ServiceException
java.rmi.RemoteException
Since:
72

interactionChangeProperties

public void interactionChangeProperties(java.lang.String ixnId,
                                        KeyValue[] changedProperties,
                                        java.lang.String[] removedProperties)
                                 throws ServiceException,
                                        java.rmi.RemoteException
Changes the Interaction Server interaction properties of a submitted interaction. This method first changes and then removes the properties.

Parameters:
ixnId - The interaction identifier whose properties should be changed.
changedProperties - The list of properties to be and/or changed.
removedProperties - The key list of properties to be removed.
Throws:
ServiceException
java.rmi.RemoteException
Since:
72