com.ibm.workflow.portlet.client
Class MQWFWorkflowCommunication

java.lang.Object
  |
  +--com.ibm.workflow.portlet.client.MQWFWorkflowCommunication
All Implemented Interfaces:
MQWFPortletConstants

public class MQWFWorkflowCommunication
extends java.lang.Object
implements MQWFPortletConstants

This class contains the logic for the interaction with the workflow backend system. All methods get an ApplicationContextImpl and a PortletContext object as first arguments.


Fields inherited from interface com.ibm.workflow.portlet.client.MQWFPortletConstants
ACTION, ACTION_NAME, COMMAND, DONE, ID, LIST_ITEM_ID, MAX_NUMBER, MQWFPORTLETMESSAGE, nameOfAbstractActionPortlet, nameOfAbstractListPortlet, nameOfJSP, NO_FREE_ACTION_INSTANCE, PAGE, PORTLET_DATA, PREFERENCES, REG_MAP, REQUEST_PREFERENCES, UseCredentialVault, USER_DEFINED_COMMANDS, WORKFLOW_REQUEST
 
Constructor Summary
MQWFWorkflowCommunication()
           
 
Method Summary
 RequestContext conductLogon(com.ibm.workflow.portlet.client.ApplicationContextImpl context, org.apache.jetspeed.portlet.PortletContext portletContext, javax.servlet.http.HttpServletRequest request, java.lang.String userID, java.lang.String group, java.lang.String password, java.lang.String system, com.ibm.workflow.api.ServicePackage.SessionMode mode, com.ibm.workflow.api.ServicePackage.AbsenceIndicator absenceIndicator)
          Conducts a logon against the workflow backend.
 Catalog initRequestForWorkflow(com.ibm.workflow.portlet.client.ApplicationContextImpl context, org.apache.jetspeed.portlet.PortletContext portletContext, javax.servlet.http.HttpServletRequest request)
          Initializes the Environment for Workflow Backend Request If ApplicationContextImpl.init is not called, ApplicationContextImpl.getBuiltinHandler will not return a BuiltinHandler.
 RequestContext logonToMQWF(com.ibm.workflow.portlet.client.ApplicationContextImpl context, org.apache.jetspeed.portlet.PortletContext portletContext, org.apache.jetspeed.portlet.PortletRequest request)
          Smart logon method that will only call the conductLogon method if there is no active session any more.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MQWFWorkflowCommunication

public MQWFWorkflowCommunication()
Method Detail

initRequestForWorkflow

public Catalog initRequestForWorkflow(com.ibm.workflow.portlet.client.ApplicationContextImpl context,
                                      org.apache.jetspeed.portlet.PortletContext portletContext,
                                      javax.servlet.http.HttpServletRequest request)
Initializes the Environment for Workflow Backend Request If ApplicationContextImpl.init is not called, ApplicationContextImpl.getBuiltinHandler will not return a BuiltinHandler. In the portlet context the purpose of ApplicationContextImpl.init method is to initialize the BuiltinHandler as we do not use the RootURI set in the course of the init method. Therefore it would suffice to call this function once per session. We count on this in MQWFBasePortlet.logout where no request object is available and therefore the method could not be called.
Parameters:
context - The ApplicationContextImpl object
portletContext - probably superfluous as soon as of webclient logging framework will be used
request - The current request needs to be set to correct request
Returns:
catalog The initialized catalog

conductLogon

public RequestContext conductLogon(com.ibm.workflow.portlet.client.ApplicationContextImpl context,
                                   org.apache.jetspeed.portlet.PortletContext portletContext,
                                   javax.servlet.http.HttpServletRequest request,
                                   java.lang.String userID,
                                   java.lang.String group,
                                   java.lang.String password,
                                   java.lang.String system,
                                   com.ibm.workflow.api.ServicePackage.SessionMode mode,
                                   com.ibm.workflow.api.ServicePackage.AbsenceIndicator absenceIndicator)
                            throws com.ibm.workflow.api.FmcException,
                                   java.beans.PropertyVetoException
Conducts a logon against the workflow backend. Helper method used by the smart logonToMQWF method Have a look into the Javadoc of the Workflow Java API
Parameters:
context - The ApplicationContextImpl object
portletContext - The PortletContext object
request - Request necessary for SessionContextImpl and RequestContext constructor.
userID - The userid
group - The group
password - The password
system - The system
mode - The sessionMode
absenceIndicator - The AbsenceIndicator

logonToMQWF

public RequestContext logonToMQWF(com.ibm.workflow.portlet.client.ApplicationContextImpl context,
                                  org.apache.jetspeed.portlet.PortletContext portletContext,
                                  org.apache.jetspeed.portlet.PortletRequest request)
                           throws ClientException
Smart logon method that will only call the conductLogon method if there is no active session any more. A call to this function is also necessary when credentials have changed because of a newly choosen userid as this method also removes the old SessionContextImpl out of the SessionTable and conductLogon will add a new SessionContextImpl object.
Parameters:
context - The ApplicationContextImpl object
portletContext - The PortletLog object needed for logging and accessing the credential vault
request - The portlet request
Returns:
a request context object.


© Copyright IBM Corporation 2002, 2008. All Rights Reserved.