org.velocityweb.controller.impl
Class SimpleController

java.lang.Object
  extended byorg.velocityweb.controller.Controller
      extended byorg.velocityweb.controller.impl.SimpleController

public abstract class SimpleController
extends Controller


Field Summary
 
Fields inherited from class org.velocityweb.controller.Controller
dbCharsetName, defaultHtmlTemplateFileName, outputHtmlCharsetName
 
Constructor Summary
SimpleController()
           
 
Method Summary
 boolean checkDatabaseConnectionPerRequest()
          check database connection per web request, return false if check fail.
 BatchJobAppContext createBatchJobAppContext(int transactionIsolation, java.util.Map context, java.util.ResourceBundle resourceBundle)
          create application context for each task, should be customized for each project if need
 WebAppContext createWebAppContext(int transactionIsolation, java.util.Map context, java.util.ResourceBundle resourceBundle, Controller controller)
          create application context for each web request, should be customized for each project
 java.lang.String getDatabaseConnectFailErrorMessage()
          get message for database connect fail, must be overrided
protected  java.lang.Object getDataSource()
          get Datasource, must be override
 java.util.ResourceBundle getResourceBundle(javax.servlet.http.HttpServletRequest request)
          get resource bundle, must override this if need multi-language support
 boolean hasAccessRight(LeafDispatcher leafDispatcher, javax.servlet.http.HttpServletRequest request)
          check if user has access right, based on request URL
 boolean isDbDuplicateException(java.lang.Throwable t)
          check if framework catch unhandle exception, it's data duplicate?
 
Methods inherited from class org.velocityweb.controller.Controller
destroyApplication, getAppExceptionTemplateFileName, getDbCharsetName, getDefaultHtmlTemplateFileName, getDispatchFailMessageListTag, getDispatchFailTemplateFileName, getDispatchSuccessJumpUrlTag, getDispatchSuccessMessageTag, getDispatchSuccessStaySecondsTag, getDispatchSuccessTemplateFileName, getDispatchTargetUrlTag, getHomeDispatcher, getLoginDispatcher, getLoginedHomeDispatcher, getNoRightDispatcher, getOutputHtmlCharsetName, getSessionUser, getTemplateRootFolder, getTemplateWrapper, getUnloginedHomeDispatcher, hasLogined, initAppExceptionPage, initApplication, isNewDispatchInstancePerRequest, needLogin, onAfterUseConnection, onBeforeUseConnection, processCheck, setAppExceptionTemplateFileName, setDbCharsetName, setDefaultHtmlTemplateFileName, setDispatchFailMessageListTag, setDispatchFailTemplateFileName, setDispatchSuccessJumpUrlTag, setDispatchSuccessMessageTag, setDispatchSuccessStaySecondsTag, setDispatchSuccessTemplateFileName, setDispatchTargetUrlTag, setLoginDispatcher, setLoginedHomeDispatcher, setNoRightDispatcher, setOutputHtmlCharsetName, setSessionUser, setUnloginedHomeDispatcher, transalateUnhandleException, writeToResponse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleController

public SimpleController()
Method Detail

createWebAppContext

public WebAppContext createWebAppContext(int transactionIsolation,
                                         java.util.Map context,
                                         java.util.ResourceBundle resourceBundle,
                                         Controller controller)
Description copied from class: Controller
create application context for each web request, should be customized for each project

Overrides:
createWebAppContext in class Controller
Parameters:
transactionIsolation -
context -
resourceBundle -
Returns:
application context instance

createBatchJobAppContext

public BatchJobAppContext createBatchJobAppContext(int transactionIsolation,
                                                   java.util.Map context,
                                                   java.util.ResourceBundle resourceBundle)
Description copied from class: Controller
create application context for each task, should be customized for each project if need

Overrides:
createBatchJobAppContext in class Controller
Parameters:
transactionIsolation -
context -
resourceBundle -
Returns:
application context

checkDatabaseConnectionPerRequest

public boolean checkDatabaseConnectionPerRequest()
check database connection per web request, return false if check fail. if do not want to check, just return true.

Overrides:
checkDatabaseConnectionPerRequest in class Controller
Returns:
true if connection is ok.

getDatabaseConnectFailErrorMessage

public java.lang.String getDatabaseConnectFailErrorMessage()
Description copied from class: Controller
get message for database connect fail, must be overrided

Overrides:
getDatabaseConnectFailErrorMessage in class Controller
Returns:
fail message to be showed on web

hasAccessRight

public boolean hasAccessRight(LeafDispatcher leafDispatcher,
                              javax.servlet.http.HttpServletRequest request)
Description copied from class: Controller
check if user has access right, based on request URL

Overrides:
hasAccessRight in class Controller
Parameters:
leafDispatcher - stands for one URL
request - HTTP request
Returns:
true if user can access this URL

isDbDuplicateException

public boolean isDbDuplicateException(java.lang.Throwable t)
check if framework catch unhandle exception, it's data duplicate?

Overrides:
isDbDuplicateException in class Controller
Parameters:
t -
Returns:
return true if this is a DB duplicate exception

getDataSource

protected java.lang.Object getDataSource()
Description copied from class: Controller
get Datasource, must be override

Specified by:
getDataSource in class Controller
Returns:

getResourceBundle

public java.util.ResourceBundle getResourceBundle(javax.servlet.http.HttpServletRequest request)
Description copied from class: Controller
get resource bundle, must override this if need multi-language support

Overrides:
getResourceBundle in class Controller
Parameters:
request -