You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by cr...@apache.org on 2007/09/18 09:03:20 UTC
svn commit: r576735 -
/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowControllerFactory.java
Author: crogers
Date: Tue Sep 18 00:03:19 2007
New Revision: 576735
URL: http://svn.apache.org/viewvc?rev=576735&view=rev
Log:
Add a runtime check in FlowControllerFactory to ensure that a global.Global class inherits from SharedFlowController before trying to create the shared flow. BEEHIVE-1205
Tests: NetUI BVT (WinXP passed)
Modified:
beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowControllerFactory.java
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowControllerFactory.java
URL: http://svn.apache.org/viewvc/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowControllerFactory.java?rev=576735&r1=576734&r2=576735&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowControllerFactory.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowControllerFactory.java Tue Sep 18 00:03:19 2007
@@ -689,13 +689,21 @@
try
{
FlowControllerFactory factory = get( servletContext );
- SharedFlowController sf =
- factory.createSharedFlow( new RequestContext( request, response ), PageFlowConstants.GLOBALAPP_CLASSNAME );
+ Class sharedFlowClass = factory.getFlowControllerClass(PageFlowConstants.GLOBALAPP_CLASSNAME);
+ if (!SharedFlowController.class.isAssignableFrom(sharedFlowClass)) {
+ LOG.info("Class " + PageFlowConstants.GLOBALAPP_CLASSNAME + " is not an instance of "
+ + SharedFlowController.class.getName());
+ servletContext.setAttribute(NO_GLOBAL_APP_KEY, Boolean.TRUE);
+ return null;
+ }
+ SharedFlowController sf =
+ factory.createSharedFlow(new RequestContext(request, response), sharedFlowClass);
if ( ! ( sf instanceof GlobalApp ) )
{
LOG.error( "Class " + PageFlowConstants.GLOBALAPP_CLASSNAME + " is not an instance of "
+ GlobalApp.class.getName() );
+ servletContext.setAttribute(NO_GLOBAL_APP_KEY, Boolean.TRUE);
return null;
}