You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ri...@apache.org on 2005/12/02 20:37:24 UTC
svn commit: r351812 [2/2] - in /beehive/trunk/netui:
src/compiler-core/org/apache/beehive/netui/compiler/
src/compiler-core/org/apache/beehive/netui/compiler/genmodel/
src/compiler-core/org/apache/beehive/netui/compiler/model/
src/pageflow/org/apache/b...
Added: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/DelegatingActionMapping.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/DelegatingActionMapping.java?rev=351812&view=auto
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/DelegatingActionMapping.java (added)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/DelegatingActionMapping.java Fri Dec 2 11:36:36 2005
@@ -0,0 +1,224 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.netui.pageflow.config;
+
+import org.apache.beehive.netui.pageflow.internal.InternalUtils;
+import org.apache.struts.config.ModuleConfig;
+import org.apache.struts.config.ExceptionConfig;
+import org.apache.struts.config.ForwardConfig;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+
+import javax.servlet.ServletContext;
+import java.util.Map;
+
+/**
+ * A Struts ActionMapping object that delegates to an ActionMapping in a different module.
+ */
+public class DelegatingActionMapping extends PageFlowActionMapping
+{
+ private ActionMapping _delegate;
+ private String _delegateModulePath;
+ private boolean _inheritLocalPaths;
+
+ /**
+ * Set the path prefix for the module where the delegate ActionMapping lives.
+ */
+ public void setDelegateModulePath(String delegateModulePath) {
+ _delegateModulePath = delegateModulePath;
+ }
+
+ public void init(ServletContext servletContext)
+ {
+ ModuleConfig moduleConfig = InternalUtils.ensureModuleConfig(_delegateModulePath, servletContext);
+ assert moduleConfig != null : "No ModuleConfig found for path " + _delegateModulePath;
+ _delegate = (ActionMapping) moduleConfig.findActionConfig(getPath());
+ assert _delegate != null : "No ActionMapping with path " + getPath() + " in module " + _delegateModulePath;
+ }
+
+ /**
+ * Get the prefix directory path that local paths in Forwards should be relative to. This is only enabled if we're
+ * inheriting local paths from a base page flow.
+ */
+ public String getLocalPathsRelativeTo() {
+ return _inheritLocalPaths ? _delegateModulePath : null;
+ }
+
+
+ public String toString() {
+ return "[delegate to " + _delegate + ']';
+ }
+
+ public void freeze() {
+ configured = true;
+ }
+
+ /**
+ * Tell whether local paths should be inherited from the base class. This affects the value of
+ * {@link #getLocalPathsRelativeTo()}.
+ */
+ public void setInheritLocalPaths(boolean inheritLocalPaths) {
+ _inheritLocalPaths = inheritLocalPaths;
+ }
+
+ //
+ // Everything below this point is simple delegation.
+ //
+
+ public String getUnqualifiedActionPath() {
+ return _delegate instanceof PageFlowActionMapping ? ((PageFlowActionMapping) _delegate).getUnqualifiedActionPath() : null;
+ }
+
+ public String getUnqualifiedActionName() {
+ return _delegate instanceof PageFlowActionMapping ? ((PageFlowActionMapping) _delegate).getUnqualifiedActionName() : null;
+ }
+
+ public boolean isLoginRequired() {
+ return _delegate instanceof PageFlowActionMapping && ((PageFlowActionMapping) _delegate).isLoginRequired();
+ }
+
+ public boolean isPreventDoubleSubmit() {
+ return _delegate instanceof PageFlowActionMapping && ((PageFlowActionMapping) _delegate).isPreventDoubleSubmit();
+ }
+
+ public boolean isSimpleAction() {
+ return _delegate instanceof PageFlowActionMapping && ((PageFlowActionMapping) _delegate).isSimpleAction();
+ }
+
+ public boolean isOverloaded() {
+ return _delegate instanceof PageFlowActionMapping && ((PageFlowActionMapping) _delegate).isOverloaded();
+ }
+
+ public String getFormMember() {
+ return _delegate instanceof PageFlowActionMapping ? ((PageFlowActionMapping) _delegate).getFormMember() : null;
+ }
+
+ public String getFormClass() {
+ return _delegate instanceof PageFlowActionMapping ? ((PageFlowActionMapping) _delegate).getFormClass() : null;
+ }
+
+ public boolean isReadonly() {
+ return _delegate instanceof PageFlowActionMapping && ((PageFlowActionMapping) _delegate).isReadonly();
+ }
+
+ public Map getConditionalForwardsMap() {
+ return _delegate instanceof PageFlowActionMapping ? ((PageFlowActionMapping) _delegate).getConditionalForwardsMap() : null;
+ }
+
+ public String getFormBeanMessageResourcesKey() {
+ return _delegate instanceof PageFlowActionMapping ? ((PageFlowActionMapping) _delegate).getFormBeanMessageResourcesKey() : null;
+ }
+
+ public String getDefaultForward() {
+ return _delegate instanceof PageFlowActionMapping ? ((PageFlowActionMapping) _delegate).getDefaultForward() : null;
+ }
+
+ public ActionForward findForward(String name) {
+ return _delegate.findForward(name);
+ }
+
+ public String[] findForwards() {
+ return _delegate.findForwards();
+ }
+
+ public ActionForward getInputForward() {
+ return _delegate.getInputForward();
+ }
+
+ public String getAttribute() {
+ return _delegate.getAttribute();
+ }
+
+ public void setAttribute(String attribute) {
+ _delegate.setAttribute(attribute);
+ }
+
+ public String getForward() {
+ return _delegate.getForward();
+ }
+
+ public String getInclude() {
+ return _delegate.getInclude();
+ }
+
+ public String getInput() {
+ return _delegate.getInput();
+ }
+
+ public String getMultipartClass() {
+ return _delegate.getMultipartClass();
+ }
+
+ public String getName() {
+ return _delegate.getName();
+ }
+
+ public String getPrefix() {
+ return _delegate.getPrefix();
+ }
+
+ public String getRoles() {
+ return _delegate.getRoles();
+ }
+
+ public String[] getRoleNames() {
+ return _delegate.getRoleNames();
+ }
+
+ public String getScope() {
+ return _delegate.getScope();
+ }
+
+ public String getSuffix() {
+ return _delegate.getSuffix();
+ }
+
+ public String getType() {
+ return _delegate.getType();
+ }
+
+ public boolean getUnknown() {
+ return _delegate.getUnknown();
+ }
+
+ public boolean getValidate() {
+ return _delegate.getValidate();
+ }
+
+ public ExceptionConfig findExceptionConfig(String type) {
+ return _delegate.findExceptionConfig(type);
+ }
+
+ public ExceptionConfig[] findExceptionConfigs() {
+ return _delegate.findExceptionConfigs();
+ }
+
+ public ExceptionConfig findException(Class type) {
+ return _delegate.findException(type);
+ }
+
+ public ForwardConfig findForwardConfig(String name) {
+ return _delegate.findForwardConfig(name);
+ }
+
+ public ForwardConfig[] findForwardConfigs() {
+ return _delegate.findForwardConfigs();
+ }
+
+}
+
Propchange: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/DelegatingActionMapping.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/DelegatingExceptionConfig.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/DelegatingExceptionConfig.java?rev=351812&view=auto
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/DelegatingExceptionConfig.java (added)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/DelegatingExceptionConfig.java Fri Dec 2 11:36:36 2005
@@ -0,0 +1,135 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.netui.pageflow.config;
+
+import org.apache.struts.config.ModuleConfig;
+import org.apache.struts.config.ExceptionConfig;
+import org.apache.struts.config.ActionConfig;
+import org.apache.beehive.netui.pageflow.internal.InternalUtils;
+
+import javax.servlet.ServletContext;
+
+/**
+ * A Struts ExceptionConfig object that delegates to an ExceptionConfig in a different module.
+ */
+public class DelegatingExceptionConfig extends PageFlowExceptionConfig
+{
+ private ExceptionConfig _delegate;
+ private String _delegateModulePath;
+ private String _delegateActionPath;
+ private boolean _inheritLocalPaths;
+
+ /**
+ * Set the path prefix for the module where the delegate ExceptionConfig lives.
+ */
+ public void setDelegateModulePath(String delegateModulePath) {
+ _delegateModulePath = delegateModulePath;
+ }
+
+ /**
+ * Set the path for the action where the delegate ExceptionConfig lives. This will be <code>null</code> if the
+ * delegate ExceptionConfig lives at the module level.
+ */
+ public void setDelegateActionPath(String delegateActionPath) {
+ _delegateActionPath = delegateActionPath;
+ }
+
+ /**
+ * Get the ModuleConfig where the delegate ExceptionConfig lives.
+ */
+ public ModuleConfig getDelegateModuleConfig(ServletContext servletContext) {
+ return InternalUtils.ensureModuleConfig(_delegateModulePath, servletContext);
+ }
+
+ public void init(ServletContext servletContext)
+ {
+ ModuleConfig moduleConfig = getDelegateModuleConfig(servletContext);
+ assert moduleConfig != null : "No ModuleConfig found for path " + _delegateModulePath;
+
+ if (_delegateActionPath != null) {
+ ActionConfig actionConfig = moduleConfig.findActionConfig(_delegateActionPath);
+ assert actionConfig != null : "No action config found for path " + _delegateActionPath;
+ _delegate = actionConfig.findExceptionConfig(getType());
+ assert _delegate != null : "No ExceptionConfig with type " + getType() + " on action " + _delegateActionPath
+ + " in module " + _delegateModulePath;
+ } else {
+ _delegate = moduleConfig.findExceptionConfig(getType());
+ assert _delegate != null : "No ExceptionConfig with type " + getType() + " in module " + _delegateModulePath;
+ }
+ }
+
+ public String toString() {
+ return "[delegate to " + _delegate + ']';
+ }
+
+ /**
+ * Get the prefix directory path that local paths in Forwards should be relative to. This is only enabled if we're
+ * inheriting local paths from a base page flow.
+ */
+ public String getLocalPathsRelativeTo() {
+ return _inheritLocalPaths ? _delegateModulePath : null;
+ }
+
+ /**
+ * Tell whether local paths should be inherited from the base class. This affects the value of
+ * {@link #getLocalPathsRelativeTo()}.
+ */
+ public void setInheritLocalPaths(boolean inheritLocalPaths) {
+ _inheritLocalPaths = inheritLocalPaths;
+ }
+
+ //
+ // Everything below this point is simple delegation.
+ //
+
+ public boolean isHandlerMethod() {
+ return _delegate instanceof PageFlowExceptionConfig && ((PageFlowExceptionConfig)_delegate).isHandlerMethod();
+ }
+
+ public String getDefaultMessage() {
+ return _delegate instanceof PageFlowExceptionConfig ? ((PageFlowExceptionConfig)_delegate).getDefaultMessage() : null;
+ }
+
+ public boolean isPathContextRelative() {
+ return _delegate instanceof PageFlowExceptionConfig && ((PageFlowExceptionConfig)_delegate).isPathContextRelative();
+ }
+
+ public boolean isReadonly() {
+ return _delegate instanceof PageFlowExceptionConfig && ((PageFlowExceptionConfig)_delegate).isReadonly();
+ }
+
+ public String getBundle() {
+ return _delegate.getBundle();
+ }
+
+ public String getHandler() {
+ return _delegate.getHandler();
+ }
+
+ public String getKey() {
+ return _delegate.getKey();
+ }
+
+ public String getPath() {
+ return _delegate.getPath();
+ }
+
+ public String getScope() {
+ return _delegate.getScope();
+ }
+}
Propchange: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/DelegatingExceptionConfig.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionForward.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionForward.java?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionForward.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionForward.java Fri Dec 2 11:36:36 2005
@@ -37,7 +37,6 @@
private ArrayList _actionOutputs;
private boolean _restoreQueryString;
private boolean _externalRedirect = false;
- private boolean _inheritedPath = false;
public boolean isNestedReturn()
@@ -288,15 +287,5 @@
public void setActionOutput19( String str )
{
setActionOutput( 19, str );
- }
-
- public boolean isInheritedPath()
- {
- return _inheritedPath;
- }
-
- public void setInheritedPath( boolean inheritedPath )
- {
- _inheritedPath = inheritedPath;
}
}
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionMapping.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionMapping.java?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionMapping.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionMapping.java Fri Dec 2 11:36:36 2005
@@ -51,7 +51,7 @@
_unqualifiedActionPath = unqualifiedActionPath;
}
- public final String getUnqualifiedActionName()
+ public String getUnqualifiedActionName()
{
if ( _unqualifiedActionPath != null && _unqualifiedActionPath.startsWith( "/" ) )
{
@@ -63,7 +63,7 @@
}
}
- public final boolean isLoginRequired()
+ public boolean isLoginRequired()
{
return _loginRequired;
}
@@ -174,5 +174,14 @@
public void setDefaultForward( String defaultForward )
{
_defaultForward = defaultForward;
+ }
+
+ /**
+ * Get a prefix directory path that all Forward local paths should be relative to. By default this is
+ * <code>null</code>, which means that there is no forced prefix path.
+ */
+ public String getLocalPathsRelativeTo()
+ {
+ return null;
}
}
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowControllerConfig.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowControllerConfig.java?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowControllerConfig.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowControllerConfig.java Fri Dec 2 11:36:36 2005
@@ -40,6 +40,7 @@
private LinkedHashMap/*< String, String >*/ _sharedFlowTypes;
private String _controllerClass;
private boolean _isSharedFlow;
+ private boolean _isAbstract = false;
private String _overrideMultipartClass = null;
private String _overrideMemFileSize = null;
private boolean _forceMultipartDisabled = false;
@@ -206,5 +207,13 @@
public void setMemFileSize( String fileSize )
{
_overrideMemFileSize = fileSize;
+ }
+
+ public boolean isAbstract() {
+ return _isAbstract;
+ }
+
+ public void setIsAbstract(boolean isAbstract) {
+ _isAbstract = isAbstract;
}
}
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowExceptionConfig.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowExceptionConfig.java?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowExceptionConfig.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowExceptionConfig.java Fri Dec 2 11:36:36 2005
@@ -30,7 +30,6 @@
private String _defaultMessage;
private boolean _isPathContextRelative;
private boolean _readonly;
- private boolean _inheritedPath;
private static final String DEFAULT_HANDLER_CLASS = PageFlowExceptionHandler.class.getName();
@@ -81,13 +80,12 @@
_readonly = readonly;
}
- public boolean isInheritedPath()
+ /**
+ * Get a prefix directory path that all Forward local paths should be relative to. By default this is
+ * <code>null</code>, which means that there is no forced prefix path.
+ */
+ public String getLocalPathsRelativeTo()
{
- return _inheritedPath;
- }
-
- public void setInheritedPath( boolean inheritedPath )
- {
- _inheritedPath = inheritedPath;
+ return null;
}
}
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/ActionForwardHandler.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/ActionForwardHandler.java?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/ActionForwardHandler.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/ActionForwardHandler.java Fri Dec 2 11:36:36 2005
@@ -21,10 +21,12 @@
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import org.apache.struts.config.ModuleConfig;
+import org.apache.struts.config.ExceptionConfig;
import org.apache.beehive.netui.pageflow.PreviousPageInfo;
import org.apache.beehive.netui.pageflow.PageFlowController;
import org.apache.beehive.netui.pageflow.Forward;
import org.apache.beehive.netui.pageflow.PageFlowStack;
+import org.apache.beehive.netui.pageflow.config.PageFlowExceptionConfig;
import org.apache.beehive.netui.pageflow.interceptor.action.ActionInterceptor;
/**
@@ -33,8 +35,26 @@
public interface ActionForwardHandler
extends Handler
{
- ActionForward doForward( FlowControllerHandlerContext context, ActionForward fwd, ActionMapping mapping,
- String actionName, ModuleConfig altModuleConfig, ActionForm form );
+ /**
+ * Perform additional processing on a given Struts ActionForward, and perform any necessary updates to the request
+ * and user session (including updates to the PageFlowController nesting stack). This method may <em>replace</em>
+ * the given ActionForward with a new one.
+ *
+ * @param context the current FlowControllerHandlerContext.
+ * @param fwd the ActionForward object to process.
+ * @param actionMapping the Struts config object for the current action, if there is one (<code>null</code>
+ * if there is none).
+ * @param exceptionConfig the Struts config object for the current exception-handler, if one is being run
+ * <code>null</code> if there is none).
+ * @param actionName the name of the currently-requested action.
+ * @param altModuleConfig an alternate Struts module configuration object for resolving a forward, if it can't be
+ * resolved from the current ActionMapping (or if there is no current ActionMapping).
+ * @param form the Struts ActionForm created for the current action. May be <code>null</code>.
+ * @return the modified ActionForward object, or a replacement one.
+ */
+ ActionForward processForward( FlowControllerHandlerContext context, ActionForward fwd, ActionMapping actionMapping,
+ ExceptionConfig exceptionConfig, String actionName,
+ ModuleConfig altModuleConfig, ActionForm form );
ActionForward doAutoViewRender( FlowControllerHandlerContext context, ActionMapping mapping, ActionForm form );
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultActionForwardHandler.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultActionForwardHandler.java?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultActionForwardHandler.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultActionForwardHandler.java Fri Dec 2 11:36:36 2005
@@ -23,12 +23,14 @@
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import org.apache.struts.config.ModuleConfig;
+import org.apache.struts.config.ExceptionConfig;
import org.apache.beehive.netui.pageflow.interceptor.action.ActionInterceptor;
import org.apache.beehive.netui.pageflow.interceptor.action.AfterNestedInterceptContext;
import org.apache.beehive.netui.pageflow.interceptor.action.InterceptorForward;
-import org.apache.beehive.netui.pageflow.interceptor.InterceptorException;
import org.apache.beehive.netui.pageflow.*;
+import org.apache.beehive.netui.pageflow.config.PageFlowExceptionConfig;
+import org.apache.beehive.netui.pageflow.config.PageFlowActionMapping;
import org.apache.beehive.netui.pageflow.handler.FlowControllerHandlerContext;
import org.apache.beehive.netui.pageflow.handler.ActionForwardHandler;
import org.apache.beehive.netui.util.logging.Logger;
@@ -50,20 +52,9 @@
init( null, null, servletContext );
}
- /**
- * Perform any necessary updates to the request and user session (including updates to the
- * PageFlowController stack), based on the given ActionForward.
- *
- * @param context the current FlowControllerHandlerContext.
- * @param fwd the Struts ActionForward that determines the next URI to be displayed.
- * @param mapping the Struts ActionMapping for the current action being processed.
- * @param actionName the name of the Struts action being processed.
- * @param altModuleConfig an alternate module config (e.g., Global.app's ModuleConfig) from which to
- * resolve a forward if it can't be resolved from the given ActionMapping.
- * @return the ActionForward object to pass to Struts for actual Servlet forwarding.
- */
- public ActionForward doForward( FlowControllerHandlerContext context, ActionForward fwd, ActionMapping mapping,
- String actionName, ModuleConfig altModuleConfig, ActionForm form )
+ public ActionForward processForward( FlowControllerHandlerContext context, ActionForward fwd, ActionMapping mapping,
+ ExceptionConfig exceptionConfig, String actionName,
+ ModuleConfig altModuleConfig, ActionForm form )
{
boolean isSpecialForward = false;
boolean isReturnToCurrentPage = false;
@@ -165,17 +156,6 @@
isSpecialForward = true;
fwd = getRegisteredActionForwardHandler().doNestingReturn( context, pageFlowFwd, mapping, form );
}
- else
- {
- //
- // It's a normal path. Mark a particular request attribute if it's an inherited local path, which
- // shouldn't be treated as a transfer to an external page flow (the base class page flow).
- //
- if ( pageFlowFwd.isInheritedPath() )
- {
- PageFlowRequestWrapper.get( request ).setStayInCurrentModule( true );
- }
- }
//
// Set ActionForms specified in the Forward. Note that this overwrites any forms restored
@@ -187,6 +167,27 @@
if ( fwd != null )
{
+ // It's a normal path. Let the Forward object do some magic if we're specifying that it's relative
+ // to a particular directory path (as is the case when inheriting local paths from base classes).
+ // Note that if *either* the exception-config or the action-config specifies a value for
+ // getLocalPathsRelativeTo(), we use it. Also note that we do not do this for forward to other actions;
+ // in those cases we always want paths to be local to the current page flow.
+ String localPathsRelativeTo = null;
+ if (exceptionConfig != null && exceptionConfig instanceof PageFlowExceptionConfig) {
+ localPathsRelativeTo = ((PageFlowExceptionConfig) exceptionConfig).getLocalPathsRelativeTo();
+ }
+ if (localPathsRelativeTo == null && mapping instanceof PageFlowActionMapping) {
+ localPathsRelativeTo = ((PageFlowActionMapping) mapping).getLocalPathsRelativeTo();
+ }
+ if (localPathsRelativeTo != null) {
+ String path = fwd.getPath();
+ if (! path.endsWith(PageFlowConstants.ACTION_EXTENSION)) {
+ Forward pageFlowFwd = fwd instanceof Forward ? (Forward) fwd : new WrapperForward(fwd);
+ pageFlowFwd.initializeRelativePath(request, localPathsRelativeTo);
+ fwd = pageFlowFwd;
+ }
+ }
+
if ( _log.isDebugEnabled() )
{
if ( fwd.getRedirect() )
@@ -215,6 +216,14 @@
}
return fwd;
+ }
+
+ private class WrapperForward extends Forward
+ {
+ public WrapperForward(ActionForward base)
+ {
+ super(base, getServletContext());
+ }
}
public ActionForward doAutoViewRender( FlowControllerHandlerContext context, ActionMapping mapping, ActionForm form )
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java Fri Dec 2 11:36:36 2005
@@ -49,6 +49,7 @@
import java.io.IOException;
import org.apache.beehive.netui.pageflow.config.PageFlowExceptionConfig;
+import org.apache.beehive.netui.pageflow.config.DelegatingExceptionConfig;
import org.apache.beehive.netui.pageflow.FlowController;
import org.apache.beehive.netui.pageflow.PageFlowController;
import org.apache.beehive.netui.pageflow.SharedFlowController;
@@ -60,6 +61,8 @@
import org.apache.beehive.netui.pageflow.interceptor.InterceptorException;
import org.apache.beehive.netui.pageflow.handler.ExceptionsHandler;
import org.apache.beehive.netui.pageflow.handler.FlowControllerHandlerContext;
+import org.apache.beehive.netui.pageflow.handler.ActionForwardHandler;
+import org.apache.beehive.netui.pageflow.handler.Handlers;
import org.apache.beehive.netui.util.Bundle;
import org.apache.beehive.netui.util.internal.cache.ClassLevelCache;
import org.apache.beehive.netui.util.logging.Logger;
@@ -121,6 +124,9 @@
rw.setExceptionBeingHandled( ex );
+ // Keep track of the Struts module where we find the exception handler.
+ ModuleConfig moduleConfig = flowController.getModuleConfig();
+
// Callback to the event reporter.
ActionMapping originalActionMapping = actionMapping;
_eventReporter.exceptionRaised( context, ex, originalActionMapping, form, flowController );
@@ -139,11 +145,11 @@
{
// If the mapping was null (i.e., the exception happened before we got the action mapping), look for the
// exception only in the module config.
- exceptionConfig = getExceptionConfig(exClass, flowController.getModuleConfig());
+ exceptionConfig = getExceptionConfig(exClass, moduleConfig);
}
//
- // If there was no applicable exception handler in the current ModuleConfig, look in Global.app's module.
+ // If there was no applicable exception handler in the current ModuleConfig, look in a shared flow's module.
//
if ( exceptionConfig == null )
{
@@ -154,15 +160,16 @@
{
flowController = fallbackFC;
context = new FlowControllerHandlerContext( request, response, flowController );
- exceptionConfig = getExceptionConfig( exClass, flowController.getModuleConfig() );
+ moduleConfig = flowController.getModuleConfig();
+ exceptionConfig = getExceptionConfig( exClass, moduleConfig );
if ( exceptionConfig != null )
{
// This is the module that will be handling the exception. Ensure that its message resources are
// initialized.
assert request instanceof HttpServletRequest : request.getClass().getName();
- InternalUtils.selectModule( flowController.getModuleConfig().getPrefix(),
- ( HttpServletRequest ) request, getServletContext() );
+ InternalUtils.selectModule( moduleConfig.getPrefix(), ( HttpServletRequest ) request,
+ getServletContext() );
rw.setCurrentFlowController( flowController );
}
}
@@ -178,9 +185,12 @@
+ ": handler=" + exceptionConfig.getHandler() + ", path=" + exceptionConfig.getPath() );
}
- //
+ // If this is a delegating exception handler, use its *delegate's* ModuleConfig.
+ if (exceptionConfig instanceof DelegatingExceptionConfig) {
+ moduleConfig = ((DelegatingExceptionConfig) exceptionConfig).getDelegateModuleConfig(getServletContext());
+ }
+
// First, see if it should be handled by invoking a handler method.
- //
ActionForward ret = null;
if ( exceptionConfig instanceof PageFlowExceptionConfig )
{
@@ -200,6 +210,10 @@
ret = invokeExceptionHandlerClass( context, ex, exceptionConfig, actionMapping, form );
}
+ ActionForwardHandler afh = Handlers.get(getServletContext()).getActionForwardHandler();
+ String actionName = InternalUtils.getActionName(actionMapping);
+ ret = afh.processForward(context, ret, actionMapping, exceptionConfig, actionName, moduleConfig, form);
+
// Callback to the event reporter.
long timeTaken = System.currentTimeMillis() - startTime;
_eventReporter.exceptionHandled( context, ex, originalActionMapping, form, flowController, ret, timeTaken );
@@ -344,21 +358,6 @@
Exception ex = throwable instanceof Exception ? ( Exception ) throwable : new Exception( throwable );
ActionForward result = handler.execute( ex, exceptionConfig, actionMapping, form, request, response );
- //
- // See if the path is really relative to the webapp root, not relative to the module. Struts doesn't by default
- // support paths that are webapp-relative.
- //
- if ( exceptionConfig instanceof PageFlowExceptionConfig )
- {
- PageFlowExceptionConfig pfec = ( PageFlowExceptionConfig ) exceptionConfig;
- if ( pfec.isPathContextRelative() ) result.setContextRelative( true );
- if ( pfec.isInheritedPath() )
- {
- PageFlowRequestWrapper rw = PageFlowRequestWrapper.get( context.getRequest() );
- rw.setStayInCurrentModule( true );
- }
- }
-
if ( _log.isDebugEnabled() )
{
_log.debug( "Exception-handler: forward to " + result.getPath() );
@@ -440,9 +439,8 @@
if ( error == null ) error = new ActionMessage( msgKey, ex.getMessage() );
storeException( request, msgKey, error, exceptionConfig.getScope() );
- return flowController.invokeExceptionHandler( method, ex, message, unwrappedFormBean,
- form, actionMapping, request, response,
- exceptionConfig.isReadonly() );
+ return flowController.invokeExceptionHandler(method, ex, message, form, exceptionConfig, actionMapping,
+ request, response);
}
else
{
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java Fri Dec 2 11:36:36 2005
@@ -243,7 +243,7 @@
//
// We're going to look in the struts config to get the PageFlowController class.
//
- ModuleConfig mc = ensureModuleConfig( modulePath, request, context );
+ ModuleConfig mc = ensureModuleConfig( modulePath, context );
return mc != null ? getFlowControllerClassName( mc ) : null;
}
@@ -415,7 +415,7 @@
* Get the Struts ModuleConfig for the given module path. If there is none registered,
* and if it is possible to register one automatically, do so.
*/
- public static ModuleConfig ensureModuleConfig( String modulePath, ServletRequest request, ServletContext context )
+ public static ModuleConfig ensureModuleConfig( String modulePath, ServletContext context )
{
try
{
@@ -431,7 +431,7 @@
if ( as instanceof AutoRegisterActionServlet )
{
- return ( ( AutoRegisterActionServlet ) as ).ensureModuleRegistered( modulePath, request );
+ return ( ( AutoRegisterActionServlet ) as ).ensureModuleRegistered( modulePath );
}
}
}
@@ -1054,20 +1054,25 @@
*/
public static ModuleConfig selectModule( String prefix, HttpServletRequest request, ServletContext servletContext )
{
- ModuleConfig config = getModuleConfig( prefix, servletContext );
+ ModuleConfig moduleConfig = getModuleConfig( prefix, servletContext );
- if ( config == null )
+ if ( moduleConfig == null )
{
request.removeAttribute( Globals.MODULE_KEY );
return null;
}
- // Just return it if it's already registered.
- if ( request.getAttribute( Globals.MODULE_KEY ) == config ) return config;
+ // If this module came from an abstract page flow controller class, don't select it.
+ ControllerConfig cc = moduleConfig.getControllerConfig();
+ if (cc instanceof PageFlowControllerConfig && ((PageFlowControllerConfig) cc).isAbstract()) {
+ return moduleConfig;
+ }
- request.setAttribute( Globals.MODULE_KEY, config );
+ // Just return it if it's already registered.
+ if ( request.getAttribute( Globals.MODULE_KEY ) == moduleConfig ) return moduleConfig;
+ request.setAttribute( Globals.MODULE_KEY, moduleConfig );
- MessageResourcesConfig[] mrConfig = config.findMessageResourcesConfigs();
+ MessageResourcesConfig[] mrConfig = moduleConfig.findMessageResourcesConfigs();
Object formBean = unwrapFormBean( getCurrentActionForm( request ) );
for ( int i = 0; i < mrConfig.length; i++ )
@@ -1090,7 +1095,7 @@
}
}
- return config;
+ return moduleConfig;
}
public static MessageResources getMessageResources( String bundleName, ServletRequest request,
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowExceptionHandler.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowExceptionHandler.java?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowExceptionHandler.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowExceptionHandler.java Fri Dec 2 11:36:36 2005
@@ -39,18 +39,23 @@
{
private static final Logger _log = Logger.getInstance( PageFlowExceptionHandler.class );
- public ActionForward execute( Exception ex, ExceptionConfig ae, ActionMapping mapping, ActionForm formInstance,
+ public ActionForward execute( Exception ex, ExceptionConfig ec, ActionMapping mapping, ActionForm formInstance,
HttpServletRequest request, HttpServletResponse response )
throws ServletException
{
ActionForward forward = null;
ActionMessage error = null;
String property = null;
- String path = ae.getPath();
+ String path = ec.getPath();
// Build the forward from the exception mapping if it exists or from the form input
forward = path != null ? new ActionForward( path ) : mapping.getInputForward();
+ PageFlowExceptionConfig pfec = ec instanceof PageFlowExceptionConfig ? (PageFlowExceptionConfig) ec : null;
+ if (pfec != null && pfec.isPathContextRelative()) {
+ forward.setContextRelative(true);
+ }
+
// Figure out the error
if ( ex instanceof ModuleException )
{
@@ -59,24 +64,24 @@
}
else
{
- if ( ae instanceof PageFlowExceptionConfig )
+ if ( pfec != null )
{
- String expressionMessage = ( ( PageFlowExceptionConfig ) ae ).getDefaultMessage();
+ String expressionMessage = pfec.getDefaultMessage();
if ( expressionMessage != null )
{
error = new ExpressionMessage( expressionMessage, new Object[]{ ex.getMessage() } );
}
}
- if ( error == null ) error = new ActionMessage( ae.getKey(), ex.getMessage() );
- property = ae.getKey();
+ if ( error == null ) error = new ActionMessage( ec.getKey(), ex.getMessage() );
+ property = ec.getKey();
}
if ( _log.isDebugEnabled() ) _log.debug( "Handling exception", ex );
// Store the exception
request.setAttribute( Globals.EXCEPTION_KEY, ex );
- storeException( request, property, error, forward, ae.getScope() );
+ storeException( request, property, error, forward, ec.getScope() );
return forward;
}
Modified: beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties (original)
+++ beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties Fri Dec 2 11:36:36 2005
@@ -552,6 +552,16 @@
PageFlow_WrongPath_Message = Page Flow {0} was requested, but the page flow for the directory is {1}.
+PageFlow_AbstractPageFlow_Page= \
+<html><head><title>Abstract Page Flow</title></head>\n \
+<body>\n \
+<h1>Abstract Page Flow</h1>\n \
+A request was made to an abstract page flow in path <b>{0}</b>.\n \
+</body></html>\n
+
+PageFlow_AbstractPageFlow_Message= \
+A request was made to an abstract page flow in path "{0}".
+
PageFlow_NoModuleConf_Page= \
<html><head><title>Missing Struts Module Configuration</title></head>\n \
<body>\n \
Modified: beehive/trunk/netui/src/webapp-template/default/Controller.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/webapp-template/default/Controller.java?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/src/webapp-template/default/Controller.java (original)
+++ beehive/trunk/netui/src/webapp-template/default/Controller.java Fri Dec 2 11:36:36 2005
@@ -21,6 +21,24 @@
import org.apache.beehive.netui.pageflow.PageFlowController;
import org.apache.beehive.netui.pageflow.annotations.Jpf;
+/**
+ * <p>
+ * A controller class that contains logic, exception handlers, and state for the current
+ * web directory path. When a request is received for the page flow (/Controller.jpf), an
+ * action (/begin.do), or a page (/index.jsp), an instance of this class becomes the
+ * <em>current page flow</em>. By default, it is stored in the session while its actions
+ * and pages are being accessed, and is removed when another page flow is requested.
+ * </p>
+ * <p>
+ * Properties in the current page flow may be accessed through the <code>pageFlow</code>
+ * databinding context in pages and in expression-aware annotations. For example, if this
+ * class contains a <code>getSomeProperty</code> method, it can be accessed through the
+ * expression <code>${pageFlow.someProperty}</code>.
+ * </p>
+ * <p>
+ * There may be only one page flow in any package.
+ * </p>
+ */
@Jpf.Controller(
simpleActions={
@Jpf.SimpleAction(name="begin", path="index.jsp")
Modified: beehive/trunk/netui/src/webapp-template/default/WEB-INF/web.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/webapp-template/default/WEB-INF/web.xml?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/src/webapp-template/default/WEB-INF/web.xml (original)
+++ beehive/trunk/netui/src/webapp-template/default/WEB-INF/web.xml Fri Dec 2 11:36:36 2005
@@ -94,7 +94,7 @@
<servlet-class>org.apache.beehive.netui.pageflow.PageFlowActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
- <param-value>/WEB-INF/classes/_pageflow/struts-config.xml</param-value>
+ <param-value>/_pageflow/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-child.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-child.expected?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-child.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-child.expected Fri Dec 2 11:36:36 2005
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
- <!-- Generated from /WEB-INF/.tmpbeansrc/Jira611/child/Controller.java on Tue Aug 09 22:05:37 MDT 2005 -->
+ <!-- Generated from /Jira611/child/Controller.java on Thu Dec 01 14:26:50 MST 2005 -->
<form-beans/>
<global-exceptions/>
<global-forwards>
@@ -17,8 +17,8 @@
<set-property property="defaultForward" value="_defaultForward"/>
<forward name="_defaultForward" path="/index.jsp"/>
</action>
- <action parameter="Jira611.child.Controller" path="/forwardToAbstractAction" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
- <forward name="ab" path="/abstractAction.do"/>
+ <action className="org.apache.beehive.netui.pageflow.config.DelegatingActionMapping" parameter="Jira611.child.Controller" path="/forwardToAbstractAction" scope="request" validate="false">
+ <set-property property="delegateModulePath" value="/Jira611/parent"/>
</action>
</action-mappings>
<controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
Added: beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-parent.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-parent.expected?rev=351812&view=auto
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-parent.expected (added)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-parent.expected Fri Dec 2 11:36:36 2005
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
+<struts-config>
+ <!-- Generated from /Jira611/parent/Controller.java on Thu Dec 01 14:26:50 MST 2005 -->
+ <form-beans/>
+ <global-exceptions/>
+ <global-forwards>
+ <forward name="_auto" path=""/>
+ </global-forwards>
+ <action-mappings>
+ <action parameter="Jira611.parent.Controller" path="/forwardToAbstractAction" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
+ <forward name="ab" path="/abstractAction.do"/>
+ </action>
+ </action-mappings>
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
+ <set-property property="isAbstract" value="true"/>
+ <set-property property="isReturnToPageDisabled" value="true"/>
+ <set-property property="isReturnToActionDisabled" value="true"/>
+ <set-property property="sharedFlows" value=""/>
+ <set-property property="controllerClass" value="Jira611.parent.Controller"/>
+ <set-property property="isMissingDefaultMessages" value="true"/>
+ </controller>
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Added: beehive/trunk/netui/test/src/compilerTests/testsuite/Nested_Abstract/expectedOutput/struts-config-Nested_Abstract.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/Nested_Abstract/expectedOutput/struts-config-Nested_Abstract.expected?rev=351812&view=auto
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/Nested_Abstract/expectedOutput/struts-config-Nested_Abstract.expected (added)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/Nested_Abstract/expectedOutput/struts-config-Nested_Abstract.expected Fri Dec 2 11:36:36 2005
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
+<struts-config>
+ <!-- Generated from /Nested_Abstract/Controller.java on Thu Dec 01 14:26:52 MST 2005 -->
+ <form-beans/>
+ <global-exceptions/>
+ <global-forwards>
+ <forward name="_auto" path=""/>
+ </global-forwards>
+ <action-mappings/>
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
+ <set-property property="isNestedPageFlow" value="true"/>
+ <set-property property="isAbstract" value="true"/>
+ <set-property property="isReturnToPageDisabled" value="true"/>
+ <set-property property="isReturnToActionDisabled" value="true"/>
+ <set-property property="sharedFlows" value=""/>
+ <set-property property="controllerClass" value="Nested_Abstract.Controller"/>
+ <set-property property="isMissingDefaultMessages" value="true"/>
+ </controller>
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Added: beehive/trunk/netui/test/src/compilerTests/testsuite/PF_FormDataOverrideValidateWarning/expectedOutput/struts-config-PF_FormDataOverrideValidateWarning.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/PF_FormDataOverrideValidateWarning/expectedOutput/struts-config-PF_FormDataOverrideValidateWarning.expected?rev=351812&view=auto
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/PF_FormDataOverrideValidateWarning/expectedOutput/struts-config-PF_FormDataOverrideValidateWarning.expected (added)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/PF_FormDataOverrideValidateWarning/expectedOutput/struts-config-PF_FormDataOverrideValidateWarning.expected Fri Dec 2 11:36:36 2005
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
+<struts-config>
+ <!-- Generated from /PF_FormDataOverrideValidateWarning/Controller.java on Thu Dec 01 14:27:16 MST 2005 -->
+ <form-beans>
+ <form-bean className="org.apache.beehive.netui.pageflow.config.PageFlowActionFormBean" name="myForm" type="PF_FormDataOverrideValidateWarning.Controller$MyForm"/>
+ </form-beans>
+ <global-exceptions/>
+ <global-forwards>
+ <forward name="_auto" path=""/>
+ </global-forwards>
+ <action-mappings/>
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
+ <set-property property="isAbstract" value="true"/>
+ <set-property property="isReturnToPageDisabled" value="true"/>
+ <set-property property="isReturnToActionDisabled" value="true"/>
+ <set-property property="sharedFlows" value=""/>
+ <set-property property="controllerClass" value="PF_FormDataOverrideValidateWarning.Controller"/>
+ <set-property property="isMissingDefaultMessages" value="true"/>
+ </controller>
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Added: beehive/trunk/netui/test/src/compilerTests/testsuite/PI_Abstract/expectedOutput/struts-config-PI_Abstract.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/PI_Abstract/expectedOutput/struts-config-PI_Abstract.expected?rev=351812&view=auto
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/PI_Abstract/expectedOutput/struts-config-PI_Abstract.expected (added)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/PI_Abstract/expectedOutput/struts-config-PI_Abstract.expected Fri Dec 2 11:36:36 2005
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
+<struts-config>
+ <!-- Generated from /PI_Abstract/AbstractFlowController.java on Thu Dec 01 14:28:01 MST 2005 -->
+ <form-beans/>
+ <global-exceptions/>
+ <global-forwards>
+ <forward name="_auto" path=""/>
+ </global-forwards>
+ <action-mappings/>
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
+ <set-property property="isAbstract" value="true"/>
+ <set-property property="isReturnToPageDisabled" value="true"/>
+ <set-property property="isReturnToActionDisabled" value="true"/>
+ <set-property property="sharedFlows" value=""/>
+ <set-property property="controllerClass" value="PI_Abstract.AbstractFlowController"/>
+ <set-property property="isMissingDefaultMessages" value="true"/>
+ </controller>
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/PI_Begin/expectedOutput/struts-config-PI_Begin.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/PI_Begin/expectedOutput/struts-config-PI_Begin.expected?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/PI_Begin/expectedOutput/struts-config-PI_Begin.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/PI_Begin/expectedOutput/struts-config-PI_Begin.expected Fri Dec 2 11:36:36 2005
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
- <!-- Generated from /WEB-INF/.tmpbeansrc/PI_Begin/Controller.java on Tue Aug 09 16:46:56 MDT 2005 -->
+ <!-- Generated from /PI_Begin/Controller.java on Thu Dec 01 14:28:03 MST 2005 -->
<form-beans/>
<global-exceptions/>
<global-forwards>
<forward name="_auto" path=""/>
</global-forwards>
<action-mappings>
- <action parameter="PI_Begin.Controller" path="/begin" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
- <forward name="index" path="/index.jsp"/>
+ <action className="org.apache.beehive.netui.pageflow.config.DelegatingActionMapping" parameter="PI_Begin.Controller" path="/begin" scope="request" validate="false">
+ <set-property property="delegateModulePath" value="/PI_Begin/parent"/>
</action>
</action-mappings>
<controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/PI_ControlsOverride/expectedOutput/struts-config-PI_ControlsOverride.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/PI_ControlsOverride/expectedOutput/struts-config-PI_ControlsOverride.expected?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/PI_ControlsOverride/expectedOutput/struts-config-PI_ControlsOverride.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/PI_ControlsOverride/expectedOutput/struts-config-PI_ControlsOverride.expected Fri Dec 2 11:36:36 2005
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
- <!-- Generated from /WEB-INF/.tmpbeansrc/PI_ControlsOverride/ControlsController.java on Tue Aug 09 16:47:00 MDT 2005 -->
+ <!-- Generated from /PI_ControlsOverride/ControlsController.java on Thu Dec 01 14:28:07 MST 2005 -->
<form-beans/>
<global-exceptions/>
<global-forwards>
<forward name="_auto" path=""/>
</global-forwards>
<action-mappings>
- <action parameter="PI_ControlsOverride.ControlsController" path="/begin" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
- <forward name="index" path="/index.jsp"/>
+ <action className="org.apache.beehive.netui.pageflow.config.DelegatingActionMapping" parameter="PI_ControlsOverride.ControlsController" path="/begin" scope="request" validate="false">
+ <set-property property="delegateModulePath" value="/PI_ControlsOverride/parent"/>
</action>
- <action parameter="PI_ControlsOverride.ControlsController" path="/getMessage" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
- <forward name="success" path="/result.jsp"/>
+ <action className="org.apache.beehive.netui.pageflow.config.DelegatingActionMapping" parameter="PI_ControlsOverride.ControlsController" path="/getMessage" scope="request" validate="false">
+ <set-property property="delegateModulePath" value="/PI_ControlsOverride/parent"/>
</action>
</action-mappings>
<controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/PI_ForwardPath/expectedOutput/struts-config-PI_ForwardPath.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/PI_ForwardPath/expectedOutput/struts-config-PI_ForwardPath.expected?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/PI_ForwardPath/expectedOutput/struts-config-PI_ForwardPath.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/PI_ForwardPath/expectedOutput/struts-config-PI_ForwardPath.expected Fri Dec 2 11:36:36 2005
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
- <!-- Generated from /WEB-INF/.tmpbeansrc/PI_ForwardPath/Controller.java on Tue Aug 09 16:47:02 MDT 2005 -->
+ <!-- Generated from /PI_ForwardPath/Controller.java on Thu Dec 01 14:28:09 MST 2005 -->
<form-beans/>
<global-exceptions/>
<global-forwards>
<forward name="_auto" path=""/>
</global-forwards>
<action-mappings>
- <action parameter="PI_ForwardPath.Controller" path="/begin" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
- <forward name="index" path="/index.jsp"/>
+ <action className="org.apache.beehive.netui.pageflow.config.DelegatingActionMapping" parameter="PI_ForwardPath.Controller" path="/begin" scope="request" validate="false">
+ <set-property property="delegateModulePath" value="/PI_ForwardPath/parent"/>
</action>
</action-mappings>
<controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/PI_ReturnAction/expectedOutput/struts-config-PI_ReturnAction.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/PI_ReturnAction/expectedOutput/struts-config-PI_ReturnAction.expected?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/PI_ReturnAction/expectedOutput/struts-config-PI_ReturnAction.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/PI_ReturnAction/expectedOutput/struts-config-PI_ReturnAction.expected Fri Dec 2 11:36:36 2005
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
- <!-- Generated from /WEB-INF/.tmpbeansrc/PI_ReturnAction/NestedController.java on Tue Aug 09 16:47:04 MDT 2005 -->
+ <!-- Generated from /PI_ReturnAction/NestedController.java on Thu Dec 01 14:28:12 MST 2005 -->
<form-beans/>
<global-exceptions/>
<global-forwards>
@@ -11,8 +11,8 @@
<forward name="_auto" path=""/>
</global-forwards>
<action-mappings>
- <action parameter="PI_ReturnAction.NestedController" path="/begin" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
- <forward name="index" path="/index.jsp"/>
+ <action className="org.apache.beehive.netui.pageflow.config.DelegatingActionMapping" parameter="PI_ReturnAction.NestedController" path="/begin" scope="request" validate="false">
+ <set-property property="delegateModulePath" value="/PI_ReturnAction/parent"/>
</action>
</action-mappings>
<controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
Added: beehive/trunk/netui/test/src/compilerTests/testsuite/simpleBeginAbstractParent/expectedOutput/struts-config-simpleBeginAbstractParent.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/simpleBeginAbstractParent/expectedOutput/struts-config-simpleBeginAbstractParent.expected?rev=351812&view=auto
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/simpleBeginAbstractParent/expectedOutput/struts-config-simpleBeginAbstractParent.expected (added)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/simpleBeginAbstractParent/expectedOutput/struts-config-simpleBeginAbstractParent.expected Fri Dec 2 11:36:36 2005
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
+<struts-config>
+ <!-- Generated from /simpleBeginAbstractParent/ParentFlow.java on Thu Dec 01 14:28:26 MST 2005 -->
+ <form-beans/>
+ <global-exceptions/>
+ <global-forwards>
+ <forward name="_auto" path=""/>
+ </global-forwards>
+ <action-mappings/>
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
+ <set-property property="isAbstract" value="true"/>
+ <set-property property="isReturnToPageDisabled" value="true"/>
+ <set-property property="isReturnToActionDisabled" value="true"/>
+ <set-property property="sharedFlows" value=""/>
+ <set-property property="controllerClass" value="simpleBeginAbstractParent.ParentFlow"/>
+ <set-property property="isMissingDefaultMessages" value="true"/>
+ </controller>
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/simpleInheritedBegin/expectedOutput/struts-config-simpleInheritedBegin-childFlow.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/simpleInheritedBegin/expectedOutput/struts-config-simpleInheritedBegin-childFlow.expected?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/simpleInheritedBegin/expectedOutput/struts-config-simpleInheritedBegin-childFlow.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/simpleInheritedBegin/expectedOutput/struts-config-simpleInheritedBegin-childFlow.expected Fri Dec 2 11:36:36 2005
@@ -1,18 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
- <!-- Generated from /WEB-INF/.tmpbeansrc/simpleInheritedBegin/childFlow/ChildFlow.java on Tue Aug 09 16:47:26 MDT 2005 -->
+ <!-- Generated from /simpleInheritedBegin/childFlow/ChildFlow.java on Thu Dec 01 14:28:31 MST 2005 -->
<form-beans/>
<global-exceptions/>
<global-forwards>
<forward name="_auto" path=""/>
</global-forwards>
<action-mappings>
- <action className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping" parameter="simpleInheritedBegin.childFlow.ChildFlow" path="/begin" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
- <set-property property="readonly" value="true"/>
- <set-property property="simpleAction" value="true"/>
- <set-property property="defaultForward" value="_defaultForward"/>
- <forward name="_defaultForward" path="/index.jsp"/>
+ <action className="org.apache.beehive.netui.pageflow.config.DelegatingActionMapping" parameter="simpleInheritedBegin.childFlow.ChildFlow" path="/begin" scope="request" validate="false">
+ <set-property property="delegateModulePath" value="/simpleInheritedBegin"/>
</action>
</action-mappings>
<controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
Added: beehive/trunk/netui/test/src/compilerTests/testsuite/simpleInheritedBegin/expectedOutput/struts-config-simpleInheritedBegin.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/simpleInheritedBegin/expectedOutput/struts-config-simpleInheritedBegin.expected?rev=351812&view=auto
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/simpleInheritedBegin/expectedOutput/struts-config-simpleInheritedBegin.expected (added)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/simpleInheritedBegin/expectedOutput/struts-config-simpleInheritedBegin.expected Fri Dec 2 11:36:36 2005
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
+<struts-config>
+ <!-- Generated from /simpleInheritedBegin/ParentFlow.java on Thu Dec 01 14:28:31 MST 2005 -->
+ <form-beans/>
+ <global-exceptions/>
+ <global-forwards>
+ <forward name="_auto" path=""/>
+ </global-forwards>
+ <action-mappings>
+ <action className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping" parameter="simpleInheritedBegin.ParentFlow" path="/begin" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
+ <set-property property="readonly" value="true"/>
+ <set-property property="simpleAction" value="true"/>
+ <set-property property="defaultForward" value="_defaultForward"/>
+ <forward name="_defaultForward" path="/index.jsp"/>
+ </action>
+ </action-mappings>
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
+ <set-property property="isAbstract" value="true"/>
+ <set-property property="isReturnToPageDisabled" value="true"/>
+ <set-property property="isReturnToActionDisabled" value="true"/>
+ <set-property property="sharedFlows" value=""/>
+ <set-property property="controllerClass" value="simpleInheritedBegin.ParentFlow"/>
+ <set-property property="isMissingDefaultMessages" value="true"/>
+ </controller>
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Modified: beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml (original)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml Fri Dec 2 11:36:36 2005
@@ -97,7 +97,7 @@
</test>
<test>
<name>AbstractController</name>
- <description>Test to ensure that the framework will not try to instantiate an abstract page flow controller if you hit a page in its directory path.</description>
+ <description>Test to ensure that hitting a JSP associated with an abstract page flow controller class will not try to instantiate the class, and that hitting an abstract page flow directly will return a descriptive error.</description>
<webapp>coreWeb</webapp>
<categories>
<category>bvt</category>
Modified: beehive/trunk/netui/test/webapps/drt/testRecorder/tests/AbstractController.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/AbstractController.xml?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/tests/AbstractController.xml (original)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/tests/AbstractController.xml Fri Dec 2 11:36:36 2005
@@ -1,99 +1,182 @@
<?xml version="1.0" encoding="UTF-8"?>
-<ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
- <ses:sessionName>AbstractController</ses:sessionName>
- <ses:tester>rich</ses:tester>
- <ses:startDate>23 Sep 2005, 12:15:10.481 AM MDT</ses:startDate>
- <ses:description>Test to ensure that the framework will not try to instantiate an abstract page flow controller if you hit a page in its directory path.</ses:description>
- <ses:tests>
- <ses:test>
- <ses:testNumber>1</ses:testNumber>
- <ses:request>
- <ses:protocol>HTTP</ses:protocol>
- <ses:protocolVersion>1.1</ses:protocolVersion>
- <ses:host>localhost</ses:host>
- <ses:port>8080</ses:port>
- <ses:uri>/coreWeb/miniTests/abstractController/index.jsp</ses:uri>
- <ses:method>GET</ses:method>
- <ses:parameters/>
- <ses:cookies>
- <ses:cookie>
- <ses:name>JSESSIONID</ses:name>
- <ses:value>B8CA21EE0AE769ED7389E7BC86DA84E2</ses:value>
- </ses:cookie>
- <ses:cookie>
- <ses:name>nde-textsize</ses:name>
- <ses:value>16px</ses:value>
- </ses:cookie>
- <ses:cookie>
- <ses:name>Country</ses:name>
- <ses:value>US</ses:value>
- </ses:cookie>
- <ses:cookie>
- <ses:name>Language</ses:name>
- <ses:value>en</ses:value>
- </ses:cookie>
- </ses:cookies>
- <ses:headers>
- <ses:header>
- <ses:name>accept</ses:name>
- <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
- </ses:header>
- <ses:header>
- <ses:name>accept-charset</ses:name>
- <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
- </ses:header>
- <ses:header>
- <ses:name>accept-encoding</ses:name>
- <ses:value>gzip,deflate</ses:value>
- </ses:header>
- <ses:header>
- <ses:name>accept-language</ses:name>
- <ses:value>en-us,en;q=0.7,ja;q=0.3</ses:value>
- </ses:header>
- <ses:header>
- <ses:name>connection</ses:name>
- <ses:value>keep-alive</ses:value>
- </ses:header>
- <ses:header>
- <ses:name>cookie</ses:name>
- <ses:value>JSESSIONID=B8CA21EE0AE769ED7389E7BC86DA84E2; nde-textsize=16px; Country=US; Language=en</ses:value>
- </ses:header>
- <ses:header>
- <ses:name>host</ses:name>
- <ses:value>localhost:8080</ses:value>
- </ses:header>
- <ses:header>
- <ses:name>keep-alive</ses:name>
- <ses:value>300</ses:value>
- </ses:header>
- <ses:header>
- <ses:name>user-agent</ses:name>
- <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7</ses:value>
- </ses:header>
- </ses:headers>
- </ses:request>
- <ses:response>
- <ses:statusCode>200</ses:statusCode>
- <ses:reason/>
- <ses:responseBody><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+<recorderSession xmlns="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+<sessionName>AbstractController</sessionName>
+<tester>rich</tester>
+<startDate>01 Dec 2005, 02:16:25.604 PM MST</startDate>
+<description>Test to ensure that hitting a JSP associated with an abstract page flow controller class will not try to instantiate the class, and that hitting an abstract page flow directly will return a descriptive error.</description>
+<tests>
+<test>
+<testNumber>1</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/miniTests/abstractController/index.jsp</uri>
+<method>GET</method>
+<parameters>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>0C146DDFB2B13AAA80118C08E3FB7B4E</value>
+</cookie>
+<cookie>
+<name>nde-textsize</name>
+<value>16px</value>
+</cookie>
+<cookie>
+<name>Language</name>
+<value>en</value>
+</cookie>
+<cookie>
+<name>Country</name>
+<value>US</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.7,ja;q=0.3</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=0C146DDFB2B13AAA80118C08E3FB7B4E; nde-textsize=16px; Language=en; Country=US</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
+<html lang="en">
- <head>
- <base href="http://localhost:8080/coreWeb/miniTests/abstractController/index.jsp">
- </head>
- <body>
- <h3>/coreWeb/miniTests/abstractController/index.jsp</h3>
+ <head>
+ <base href="http://localhost:8080/coreWeb/miniTests/abstractController/index.jsp">
+ </head>
+ <body>
+ <h3>/coreWeb/miniTests/abstractController/index.jsp</h3>
This test ensures that the framework will not try to instantiate an abstract page flow
controller. If you get here, then the test is successful; otherwise, you would see an
InstantiationException for the abstract controller class.
- </body>
+ </body>
-</html></ses:responseBody>
- </ses:response>
- </ses:test>
- </ses:tests>
- <ses:endDate>23 Sep 2005, 12:15:18.663 AM MDT</ses:endDate>
- <ses:testCount>1</ses:testCount>
-</ses:recorderSession>
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>2</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/miniTests/abstractController/Controller.jpf</uri>
+<method>GET</method>
+<parameters>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>0C146DDFB2B13AAA80118C08E3FB7B4E</value>
+</cookie>
+<cookie>
+<name>nde-textsize</name>
+<value>16px</value>
+</cookie>
+<cookie>
+<name>Language</name>
+<value>en</value>
+</cookie>
+<cookie>
+<name>Country</name>
+<value>US</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.7,ja;q=0.3</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=0C146DDFB2B13AAA80118C08E3FB7B4E; nde-textsize=16px; Language=en; Country=US</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<html><head><title>Abstract Page Flow</title></head>
+ <body>
+ <h1>Abstract Page Flow</h1>
+ A request was made to an abstract page flow in path <b>/miniTests/abstractController</b>.
+ </body></html>]]>
+</responseBody>
+</response>
+</test>
+</tests>
+<endDate>01 Dec 2005, 02:16:42.969 PM MST</endDate>
+<testCount>2</testCount>
+</recorderSession>
Modified: beehive/trunk/netui/test/webapps/drt/web/miniTests/handlers/Controller.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/web/miniTests/handlers/Controller.java?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/web/miniTests/handlers/Controller.java (original)
+++ beehive/trunk/netui/test/webapps/drt/web/miniTests/handlers/Controller.java Fri Dec 2 11:36:36 2005
@@ -16,6 +16,7 @@
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.config.ModuleConfig;
+import org.apache.struts.config.ExceptionConfig;
import javax.security.auth.login.LoginException;
import javax.servlet.ServletException;
@@ -51,10 +52,12 @@
extends BaseHandler
implements ActionForwardHandler
{
- public ActionForward doForward( FlowControllerHandlerContext context, ActionForward fwd, ActionMapping mapping,
- String actionName, ModuleConfig altModuleConfig, ActionForm form )
+ public ActionForward processForward(FlowControllerHandlerContext context, ActionForward fwd, ActionMapping mapping,
+ ExceptionConfig exceptionConfig, String actionName, ModuleConfig altModuleConfig,
+ ActionForm form)
{
- return getPreviousActionForwardHandler().doForward( context, fwd, mapping, actionName, altModuleConfig, form );
+ return getPreviousActionForwardHandler().processForward( context, fwd, mapping, exceptionConfig, actionName,
+ altModuleConfig, form );
}
public ActionForward doAutoViewRender( FlowControllerHandlerContext context, ActionMapping mapping, ActionForm form )
Modified: beehive/trunk/netui/test/webapps/jsf/web/WEB-INF/web.xml.jsf-ri
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/jsf/web/WEB-INF/web.xml.jsf-ri?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/jsf/web/WEB-INF/web.xml.jsf-ri (original)
+++ beehive/trunk/netui/test/webapps/jsf/web/WEB-INF/web.xml.jsf-ri Fri Dec 2 11:36:36 2005
@@ -109,7 +109,7 @@
<init-param>
<param-name>config</param-name>
- <param-value>/WEB-INF/classes/_pageflow/struts-config.xml</param-value>
+ <param-value>/_pageflow/struts-config.xml</param-value>
</init-param>
<init-param>
Modified: beehive/trunk/netui/test/webapps/jsf/web/WEB-INF/web.xml.myfaces
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/jsf/web/WEB-INF/web.xml.myfaces?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/jsf/web/WEB-INF/web.xml.myfaces (original)
+++ beehive/trunk/netui/test/webapps/jsf/web/WEB-INF/web.xml.myfaces Fri Dec 2 11:36:36 2005
@@ -116,7 +116,7 @@
<init-param>
<param-name>config</param-name>
- <param-value>/WEB-INF/classes/_pageflow/struts-config.xml</param-value>
+ <param-value>/_pageflow/struts-config.xml</param-value>
</init-param>
<init-param>
Modified: beehive/trunk/netui/test/webapps/tomcat/tomcatWeb/WEB-INF/web.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/tomcat/tomcatWeb/WEB-INF/web.xml?rev=351812&r1=351811&r2=351812&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/tomcat/tomcatWeb/WEB-INF/web.xml (original)
+++ beehive/trunk/netui/test/webapps/tomcat/tomcatWeb/WEB-INF/web.xml Fri Dec 2 11:36:36 2005
@@ -54,7 +54,7 @@
<init-param>
<param-name>config</param-name>
- <param-value>/WEB-INF/classes/_pageflow/struts-config.xml</param-value>
+ <param-value>/_pageflow/struts-config.xml</param-value>
</init-param>
<init-param>