com.filenet.wcm.apps.server.controller
Class WcmWorkplaceController

java.lang.Object
  extended bycom.filenet.wcm.toolkit.server.base.WcmDpContainer
      extended bycom.filenet.wcm.toolkit.server.base.WcmController
          extended bycom.filenet.wcm.toolkit.server.base.ConfigurableController
              extended bycom.filenet.wcm.apps.server.controller.WcmWorkplaceController
All Implemented Interfaces:
com.filenet.wcm.toolkit.server.base.WcmControllerBehaviorInterface
Direct Known Subclasses:
WebDAVController

public class WcmWorkplaceController
extends com.filenet.wcm.toolkit.server.base.ConfigurableController

This is the Workplace controller implementation. Any framework page should instantiate the controller, register all modules with it, and call the handleEvent method which will in turn do the following steps:

  1. Call the initialize() method in each module (pseudo constructor).
  2. If eventTarget and eventName are defined in the request string, dispatch the event to its target UI module.
  3. Broadcast the "StartPage" event to all UI modules.
Sample:

(This would be a code fragment from pageEvent.jsp)
      ...
      <%-- CONTROLLER --%>
      <jsp:useBean
         id="controller"
         class="com.filenet.wcm.toolkit.server.controller.WcmController"
         scope="request"/>
      ...
      <%
      ...
      controller.configurePage(application, request);
      controller.registerModule(myBean);
      controller.registerModule(testBean);
      controller.handleEvent(application, request, response, true);
      %>
    


Nested Class Summary
 
Nested classes inherited from class com.filenet.wcm.toolkit.server.base.WcmController
com.filenet.wcm.toolkit.server.base.WcmController.GetWriterResponse, com.filenet.wcm.toolkit.server.base.WcmController.WcmEventRequest, com.filenet.wcm.toolkit.server.base.WcmController.WindowProperties, com.filenet.wcm.toolkit.server.base.WcmController.WorkplacePrintWriter
 
Field Summary
static java.lang.String WORKPLACE_CONFIGURATION_KEY
           
 
Fields inherited from class com.filenet.wcm.toolkit.server.base.ConfigurableController
attemptedLoadingP8ControllerPrefs, BASE_CONFIGURATION_KEY, controllerConfigName, p8ControllerPrefs
 
Fields inherited from class com.filenet.wcm.toolkit.server.base.WcmController
ALL_FLAGS_MASK, application, bootstrap, BOOTSTRAP_PROPERTIES_KEY, COMPAT_FLAGS_MASK, controllerEvents, CREATE_INLINE, CREATE_INLINE_KEY, CREATE_POPUP, CREATE_POPUP_KEY, CREATE_PRIVATE_FLAG, CREATE_WINDOW_ID, CREDENTIALS_BEAN_KEY, CURRENT_MODULE_KEY, currentRequest, currentResponse, dataStore, DEFER_REWRITE_KEY, deferPostThreshold, deferRedirect, deferredURL, DISABLE_BROWSER_CACHING, DUMP_DATASTORE_KEYS, FIRST_WINDOWID_KEY, FLAGS_MASK, HASH_PRIVATE_FLAG, HEADER_MODULE, HEADER_MODULE_NAME, HELP_CONTEXT_KEY, HELP_PAGE_KEY, helpMap, HOME_KEY, IGNORE_WINDOW_ID, internalTokenPolicy, lastTokenException, loginEnabled, MAIN_WINDOW, NAMED_CONTROLLERS_KEY, newPageParams, NO_EXPIRE_FLAG, NO_REWRITE_PRIVATE_FLAG, NO_WINDOW_ID, noRequestParams, noWindowIdError, okToRedirect, okToRegister, pageName, POPUP_FLAG, POPUP_KEY, popWindowIDCycleMax, popWindowIDUsePageName, preControllerEvents, PRIVATE_FLAGS_MASK, PROPAGATE_WINDOW_ID, PROPOGATE_ID, PROPOGATE_MASK, PROPOGATE_NONE, PROPOGATE_WINDOW_ID, PUSH_PREV_PRIVATE_FLAG, REDIRECT, REQUIRE_ID, REQUIRE_MASK, REQUIRE_WINDOW_ID, sendRedirectCalled, SESSION_COUNT, signInPolicy, SSL_PROTOCOL, sslInfo, tempProperties, widFactory, WINDOW_SIGNED_IN_KEY, windowIdAssigned, windowIdCreated, windowIdMode, windowIdParams, windowIdRecovered, wsPopupSessionExpired
 
Constructor Summary
WcmWorkplaceController()
           
 
Method Summary
protected  java.lang.String executeModel(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, boolean skipEventProcessing, java.lang.String eventTarget)
          Force capture of timezone if it was not captured during signin.
 java.lang.String getConfiguredHome()
          Return the configured home page, based on the preferences configuration.
protected  java.lang.Exception getPopupException(java.lang.Exception e)
           
 java.util.Vector getRouters()
           
 boolean handleEvent(javax.servlet.ServletContext application, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Override of handleEvent contained in WcmController.
 void initializeStaticClasses()
           
 boolean onGetInfo(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
 boolean onGetTimeZone(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Capture the timezone from the browser.
 boolean onReloadConfigFiles(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
protected  void postProcessWindowId(com.filenet.wcm.toolkit.server.util.WindowID assignedWindowId, com.filenet.wcm.toolkit.server.util.WindowID requestWindowId, com.filenet.wcm.toolkit.server.util.WindowID refererWindowId, boolean idCreated, boolean idSet, boolean idRecovered, boolean isPopupMode, boolean isStackedMode)
           
 void resetHomePageUrl()
          reloads the home page settings using what's currently set in preferences
 void setQueryTimeZone(boolean value)
          Must be called before handleEvent/initializeModules is called.
protected  java.util.Hashtable transferPageParameters(javax.servlet.http.HttpServletRequest request)
          transferPageParameters - For Workplace, if we're running a windowId that indicates integration mode, pick up the parameters from the command object, and transfer them into the hashtable in addition to any parameters on the request.
 
Methods inherited from class com.filenet.wcm.toolkit.server.base.ConfigurableController
configureHeaderModule, configurePage, getBootstrapPage, getConfiguration, getControllerConfigName, getControllerPrefs, getDefaultPage, getErrorPage, getSignInPage, getSignInPolicy, getStaticInitializer, getWindowIdCompatibility, isBootstrapRequired, isControllerEvent, isPreControllerEvent, isStickyPage, isValidHome, setControllerConfigName
 
Methods inherited from class com.filenet.wcm.toolkit.server.base.WcmController
assignWindowId, catchPopupExceptions, checkLogin, checkName, cleanupWindowId, cleanupWindowId, closeWindow, closeWindow, configureDataProviders, configurePage, configurePage, configurePage, configurePage, configurePageName, constructTargetUrl, createWindowId, encodeUserToken, encodeWindowId, forceSignInToDefaultPage, generateUserToken, getApplicationResource, getBaseURL, getBootstrapFile, getClientCharacterEncoding, getClientLocale, getClientTimeZone, getCurrentRequest, getDataStore, getDataStore, getDebugTrace, getEncodedSessionId, getErrorMessageBox, getErrorTrace, getEventBaseURL, getFirstWindowId, getHeaderModule, getHelpContext, getHelpPage, getHelpURL, getHomeURL, getHomeURL, getHomeURLKey, getInitParameter, getInitParameter, getInitParameter, getInitParameter, getInitParameterBoolean, getInternalTokenPolicy, getLastTokenException, getLocalIP, getLoginRoutingInfo, getMethod, getName, getNewPageParameter, getPageId, getPageName, getPageParameter, getPageParameterNames, getPageParameters, getPageParameters, getPageParameterString, getParameter, getParameters, getPOSTThreshold, getProperty, getRequestAttribute, getRequestDispatcher, getRequestedClientLocale, getRequestHash, getServerCredentials, getServletContext, getSessionId, getSSLInfo, getSystemInfo, getTemporaryProperty, getTime, getTimerKeys, getUIRoot, getUserAgent, getUserInfo, getUserTokenPolicy, getWebappRootURL, getWindowId, getWindowId, getWindowIDFactory, getWindowIdFromReferer, getWindowIdFromReferer, getWindowIdFromURL, getWindowIdModeValue, getWindowIdModeValue, getWindowIdObject, getWindowMap, getWindowProperties, getWindowProperty, getWriterAndStop, handleEvent, handleEvent, initializeModules, initializeModules, invokeNamedEvent, invokeNamedEvent, isEventRequest, isForcedToken, isGlobalEventRequest, isGuest, isNewWindowIdRequired, isNonReturnableBookmark, isPopup, isPopup, isPopup, isPopupSignedIn, isPopupSignedIn, isPopupSignedIn, isRegistered, isSSOConfigured, isSSOConfigured, isSSOFilterConfigured, isSSOFilterConfigured, onChangeApp, onChangePage, onCloseWindow, onHelp, onHome, onSignIn, onSignOut, openPopup, openPopup, openPopup, openPopupViaPOST, peekEvent, peekGlobalEvent, peekNewPageParameters, peekNoRequestParameters, popPageParameter, postTime, prepareResponse, registerGlobalEvent, registerModule, registerModule, registerModule, sendCloseWindow, sendRedirect, sendRedirect, sendRedirect, serverSideInclude, setAutoFixWindowId, setException, setFirstWindowId, setHelpContext, setHelpContext, setHelpPage, setHomeURL, setHomeURL, setHomeURL, setLocale, setLoginEnabled, setName, setProperty, setRequestAttribute, setTemporaryProperty, setWindowIDFactory, setWindowProperty, subscribeGlobalEvent, subscribeGlobalEvent, tryEncodedCredentials, unRegisterModule
 
Methods inherited from class com.filenet.wcm.toolkit.server.base.WcmDpContainer
addDataProvider, addDataProvider, queryDataProvider
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WORKPLACE_CONFIGURATION_KEY

public static final java.lang.String WORKPLACE_CONFIGURATION_KEY
See Also:
Constant Field Values
Constructor Detail

WcmWorkplaceController

public WcmWorkplaceController()
Method Detail

setQueryTimeZone

public void setQueryTimeZone(boolean value)
Must be called before handleEvent/initializeModules is called. setQueryTimeZone enables or disables the Workplace controller's feature of querying the browser for timezone for use in date/time conversions in the date time control.

Parameters:
value - - The new value

postProcessWindowId

protected void postProcessWindowId(com.filenet.wcm.toolkit.server.util.WindowID assignedWindowId,
                                   com.filenet.wcm.toolkit.server.util.WindowID requestWindowId,
                                   com.filenet.wcm.toolkit.server.util.WindowID refererWindowId,
                                   boolean idCreated,
                                   boolean idSet,
                                   boolean idRecovered,
                                   boolean isPopupMode,
                                   boolean isStackedMode)
                            throws java.lang.Exception
Throws:
java.lang.Exception

transferPageParameters

protected java.util.Hashtable transferPageParameters(javax.servlet.http.HttpServletRequest request)
transferPageParameters - For Workplace, if we're running a windowId that indicates integration mode, pick up the parameters from the command object, and transfer them into the hashtable in addition to any parameters on the request.

Parameters:
request -
Returns:
The newly populated page parameters Hashtable.

resetHomePageUrl

public void resetHomePageUrl()
                      throws java.lang.Exception
reloads the home page settings using what's currently set in preferences

Throws:
java.lang.Exception

getConfiguredHome

public java.lang.String getConfiguredHome()
                                   throws java.lang.Exception
Return the configured home page, based on the preferences configuration.

Returns:
The configured home page relative to the application root.
Throws:
java.lang.Exception

getRouters

public java.util.Vector getRouters()
                            throws java.lang.Exception
Throws:
java.lang.Exception

initializeStaticClasses

public void initializeStaticClasses()
                             throws java.lang.Exception
Throws:
java.lang.Exception

onGetTimeZone

public boolean onGetTimeZone(javax.servlet.http.HttpServletRequest request,
                             javax.servlet.http.HttpServletResponse response)
                      throws java.lang.Exception
Capture the timezone from the browser. This event is triggered in the executeModel override in this class. If the timezone cannot be configured using the browser information, set it as the server timezone, so that this doesn't generate an infinite loop.

Parameters:
request -
response -
Returns:
Throws:
java.lang.Exception

onReloadConfigFiles

public boolean onReloadConfigFiles(javax.servlet.http.HttpServletRequest request,
                                   javax.servlet.http.HttpServletResponse response)
                            throws java.lang.Exception
Throws:
java.lang.Exception

onGetInfo

public boolean onGetInfo(javax.servlet.http.HttpServletRequest request,
                         javax.servlet.http.HttpServletResponse response)
                  throws java.lang.Exception
Throws:
java.lang.Exception

executeModel

protected java.lang.String executeModel(javax.servlet.http.HttpServletRequest request,
                                        javax.servlet.http.HttpServletResponse response,
                                        boolean skipEventProcessing,
                                        java.lang.String eventTarget)
                                 throws java.io.IOException,
                                        javax.servlet.ServletException,
                                        java.lang.Exception
Force capture of timezone if it was not captured during signin.

Parameters:
request -
response -
skipEventProcessing -
eventTarget -
Returns:
Throws:
java.io.IOException
javax.servlet.ServletException
java.lang.Exception

handleEvent

public boolean handleEvent(javax.servlet.ServletContext application,
                           javax.servlet.http.HttpServletRequest request,
                           javax.servlet.http.HttpServletResponse response)
                    throws java.io.IOException,
                           javax.servlet.ServletException,
                           java.lang.Exception
Override of handleEvent contained in WcmController. Simply calls that method via super.handleEvent but adds additional logic specifically for handling exceptions thrown while in thick client mode.

Parameters:
application - The JSP application object
request - The JSP request object
response - The JSP response object
Returns:
boolean - true if its OK to server-side redirect to a UI JSP.
Throws:
java.io.IOException
javax.servlet.ServletException
java.lang.Exception

getPopupException

protected java.lang.Exception getPopupException(java.lang.Exception e)


© Copyright IBM Corp. 2002, 2007. All Rights Reserved.