You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by mr...@apache.org on 2005/08/26 07:46:58 UTC

svn commit: r240168 [1/30] - in /struts/sandbox/trunk/ti: ./ core/src/java/org/apache/ti/ core/src/java/org/apache/ti/config/ core/src/java/org/apache/ti/config/mapper/ core/src/java/org/apache/ti/core/ core/src/java/org/apache/ti/core/factory/ core/sr...

Author: mrdon
Date: Thu Aug 25 22:46:03 2005
New Revision: 240168

URL: http://svn.apache.org/viewcvs?rev=240168&view=rev
Log:
Adding first cut of the beehive page flow/netui port, work done by Rich
Feit of Beehive

Added:
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/Globals.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/ActionMessage.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/URLCodec.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/Factory.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/FactoryConfig.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/FactoryUtils.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urls/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urls/FreezableMutableURI.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urls/MutableURI.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urls/TemplatedURLFormatter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urls/URIContext.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urls/URLRewriter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urls/URLRewriterService.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urls/URLType.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urltemplates/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urltemplates/TemplateTokenizer.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urltemplates/URLTemplate.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urltemplates/URLTemplateDescriptor.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urltemplates/URLTemplates.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urltemplates/URLTemplatesFactory.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/ActionNotFoundException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/ActionResolver.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/ActionResult.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/AutoRegisterActionServlet.java.disabled
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/ContainerAdapter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/ControlFieldInitializationException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/DefaultContainerAdapter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/DefaultPageFlowEventReporter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/DoubleSubmitException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/EmptyNestingStackException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/ExpressionMessage.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/FacesBackingBean.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/FacesBackingBeanFactory.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/FlowController.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/FlowControllerException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/FlowControllerFactory.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/FormData.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/Forward.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/IllegalActionOutputException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/IllegalOutputFormException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/IllegalOutputFormTypeException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/IllegalPageInputException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/IllegalRedirectOutputFormException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/InfiniteReturnToActionException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/LoginExpiredException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/MismatchedActionOutputException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/MissingActionOutputException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/ModuleConfig.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/ModuleConfigLocator.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/NoCurrentPageFlowException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/NoMatchingActionMethodException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/NoPreviousActionException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/NoPreviousPageException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/NotLoggedInException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/PageFlowActionServlet.java.disabled
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/PageFlowConstants.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/PageFlowController.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/PageFlowEventReporter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/PageFlowException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/PageFlowManagedObject.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/PageFlowManagedObjectException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/PageFlowRequestProcessor.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/PageFlowStack.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/PageFlowUtils.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/PreviousActionInfo.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/PreviousInfo.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/PreviousPageInfo.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/RequestParameterHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/ResponseErrorCodeSender.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/SecurityProtocol.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/SessionExpiredException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/SharedFlowController.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/UnfulfilledRolesException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/UnresolvableForwardException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/Validatable.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/adapter/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/adapter/Adapter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/config/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/config/PageFlowExceptionConfig.java.disabled
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/faces/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/faces/PageFlowApplicationFactory.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/faces/internal/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/faces/internal/BackingClassMethodBinding.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/faces/internal/PageFlowActionListener.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/faces/internal/PageFlowApplication.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/faces/internal/PageFlowNavigationHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/faces/internal/PageFlowViewHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/handler/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/handler/AnnotationHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/handler/BaseHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/handler/ExceptionsHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/handler/ForwardRedirectHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/handler/Handler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/handler/HandlerConfig.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/handler/Handlers.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/handler/LoginHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/handler/ModuleRegistrationHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/handler/ReloadableClassHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/handler/StorageHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/httpservlet/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/httpservlet/HttpServletPageFlowController.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/httpservlet/internal/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/httpservlet/internal/DefaultServletForwardRedirectHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/httpservlet/internal/DefaultServletLoginHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/httpservlet/internal/DefaultServletTemplatedURLFormatter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/httpservlet/internal/DefaultServletURLRewriter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/httpservlet/internal/PageFlowActionMapper.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/httpservlet/internal/PopulatePageFlowContext.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/httpservlet/internal/ServletDeferredSessionStorageHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/httpservlet/internal/ServletPageFlowResult.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/AbstractInterceptor.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/Interceptor.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/InterceptorChain.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/InterceptorConfig.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/InterceptorContext.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/InterceptorException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/Interceptors.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/action/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/action/ActionInterceptor.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/action/ActionInterceptorContext.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/action/AfterNestedInterceptContext.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/action/InterceptorForward.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/action/SimpleActionInterceptor.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/action/SimpleActionInterceptorConfig.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/action/internal/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/action/internal/ActionInterceptors.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/action/internal/OriginalForward.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/request/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/request/RequestInterceptor.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/interceptor/request/RequestInterceptorContext.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/ActionResultImpl.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/AdapterManager.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/AnnotationReader.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/AnyBeanActionForm.java.disabled
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/BindingUpdateError.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/CachedFacesBackingInfo.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/CachedPageFlowInfo.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/CachedSharedFlowRefInfo.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/DefaultAnnotationHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/DefaultExceptionsHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/DefaultForwardRedirectHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/DefaultHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/DefaultLoginHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/DefaultModuleRegistrationHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/DefaultReloadableClassHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/DefaultTemplatedURLFormatter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/DefaultURLRewriter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/DefaultURLTemplatesFactory.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/DeferredSessionStorageHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/ExpressionAwareMessageResources.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/InternalConstants.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/InternalExpressionUtils.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/InternalUtils.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/JavaControlUtils.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/NavigateToException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/NullActionForm.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/PageFlowBeanContext.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/PageFlowServiceProvider.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/ProcessPopulate.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/ResponseOutputException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/SimpleSessionStorageHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/URIContextFactory.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/UnhandledException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/ViewRenderer.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/internal/XmlBeanActionForm.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/requeststate/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/requeststate/INameable.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/requeststate/NameService.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/scoping/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/scoping/ScopedRequest.java.disabled
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/scoping/ScopedResponse.java.disabled
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/scoping/ScopedUtils.java.disabled
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/scoping/internal/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/scoping/internal/AttributeContainer.java.disabled
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/scoping/internal/ParseUtils.java.disabled
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/scoping/internal/ScopedAttributeContainer.java.disabled
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/scoping/internal/ScopedRequestDispatcher.java.disabled
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/scoping/internal/ScopedRequestImpl.java.disabled
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/scoping/internal/ScopedResponseImpl.java.disabled
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/scoping/internal/ScopedServletConfig.java.disabled
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/scoping/internal/ScopedSession.java.disabled
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/validation/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/validation/ValidatorRules.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/validation/defaultMessages.properties
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/xmlhttprequest/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/xmlhttprequest/XmlHttpRequestServlet.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/xwork/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/xwork/AutoViewRenderResult.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/xwork/NavigateToActionResult.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/xwork/NavigateToPageResult.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/xwork/NavigateToResult.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/xwork/PageFlowAction.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/xwork/PageFlowActionContext.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/xwork/PageFlowExceptionHandler.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/xwork/PageFlowPathResult.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/xwork/PageFlowResult.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/pageflow/xwork/ReturnActionResult.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/chain/PopulateActionContext.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/chain/pageflow/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/chain/pageflow/ChooseFlowController.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/chain/pageflow/ChooseFormBean.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/chain/pageflow/CreatePageFlowContext.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/chain/pageflow/CreatePageFlowViewContext.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/chain/pageflow/CreateSharedFlows.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/chain/pageflow/InitPageFlow.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/chain/pageflow/PopulateData.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/chain/pageflow/SetupPageFlowModule.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/chain/pageflow/ShowView.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/Expression.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/ExpressionEngineFactory.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/ExpressionEvaluationException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/ExpressionEvaluator.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/ExpressionEvaluatorFactory.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/ExpressionUpdateException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/IllegalExpressionException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/RuntimeExpressionException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/common/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/common/AbstractScriptableMap.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/common/BundleMap.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/common/DataAccessProviderBean.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/common/DataAccessProviderStack.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/common/IDataAccessProvider.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/common/ImplicitObjectUtil.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/common/ScriptablePageInput.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/common/bundle/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/common/bundle/BundleNode.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/common/bundle/BundleNodeFactory.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/common/bundle/ResourceBundleNode.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/common/bundle/StrutsBundleNode.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/ExpressionEvaluatorImpl.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/ExpressionParseException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/ExpressionTerm.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/LiteralTerm.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/NetUIEL.jj
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/NetUIReadVariableResolver.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/NetUIUpdateVariableResolver.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/NetUIVariableResolver.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/ParsedExpression.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/Term.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/parser/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/parser/NetUIELParser.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/parser/NetUIELParserConstants.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/parser/NetUIELParserTokenManager.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/parser/ParseException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/parser/SimpleCharStream.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/parser/Token.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/parser/TokenMgrError.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/tokens/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/tokens/ArrayIndexToken.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/tokens/ContextToken.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/tokens/ExpressionToken.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/tokens/IdentifierToken.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/tokens/MapKeyToken.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/util/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/util/AbstractAttributeMap.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/util/BindingContext.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/script/el/util/ParseUtils.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/servlet/PageFlowFacesFilter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/servlet/PageFlowForbiddenFilter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/servlet/PageFlowJspFilter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/servlet/PageFlowPageFilter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/servlet/ServletConfiguration.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/Bundle.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/MessageResources.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/config/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/config/ConfigInitializationException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/config/ConfigUtil.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/config/struts-ti-config-default.xml
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/BouncyClassLoader.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/DiscoveryUtils.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/FileUtils.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/InternalStringBuilder.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/ServletUtils.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/cache/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/cache/ClassLevelCache.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/cache/FieldCache.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/cache/MethodCache.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/cache/PropertyCache.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/concurrent/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/concurrent/CondVar.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/concurrent/Condition.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/concurrent/FIFOWaitQueue.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/concurrent/InternalConcurrentHashMap.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/concurrent/Lock.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/concurrent/NanoTimer.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/concurrent/README.txt
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/concurrent/ReentrantLock.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/concurrent/TimeUnit.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/concurrent/Utils.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/internal/concurrent/WaitQueue.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/iterator/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/iterator/ArrayIterator.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/iterator/AtomicObjectIterator.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/iterator/EnumerationIterator.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/iterator/IteratorFactory.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/iterator/MapIterator.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/iterator/ResultSetIterator.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/logging/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/logging/Logger.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/logging/internal/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/logging/internal/Log4JLogger.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/messages.properties
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/type/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/type/BaseTypeConverter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/type/DelegatingTypeConverter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/type/TypeConversionException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/type/TypeConverter.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/type/TypeConverterNotFoundException.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/type/TypeUtils.java
    struts/sandbox/trunk/ti/java5/
    struts/sandbox/trunk/ti/java5/project.properties
    struts/sandbox/trunk/ti/java5/project.xml
    struts/sandbox/trunk/ti/java5/src/
    struts/sandbox/trunk/ti/java5/src/java/
    struts/sandbox/trunk/ti/java5/src/java/org/
    struts/sandbox/trunk/ti/java5/src/java/org/apache/
    struts/sandbox/trunk/ti/java5/src/java/org/apache/ti/
    struts/sandbox/trunk/ti/java5/src/java/org/apache/ti/pageflow/
    struts/sandbox/trunk/ti/java5/src/java/org/apache/ti/pageflow/annotations/
    struts/sandbox/trunk/ti/java5/src/java/org/apache/ti/pageflow/annotations/ti.java
    struts/sandbox/trunk/ti/samples/
    struts/sandbox/trunk/ti/samples/project.properties
    struts/sandbox/trunk/ti/samples/project.xml
    struts/sandbox/trunk/ti/samples/src/
    struts/sandbox/trunk/ti/samples/src/java/
    struts/sandbox/trunk/ti/samples/src/java/org/
    struts/sandbox/trunk/ti/samples/src/java/org/apache/
    struts/sandbox/trunk/ti/samples/src/java/org/apache/ti/
    struts/sandbox/trunk/ti/samples/src/java/org/apache/ti/samples/
    struts/sandbox/trunk/ti/samples/src/java/org/apache/ti/samples/pageflow/
    struts/sandbox/trunk/ti/samples/src/java/org/apache/ti/samples/pageflow/loginexample/
    struts/sandbox/trunk/ti/samples/src/java/org/apache/ti/samples/pageflow/loginexample/BaseFlow.java
    struts/sandbox/trunk/ti/samples/src/java/org/apache/ti/samples/pageflow/loginexample/ExampleLoginHandler.java
    struts/sandbox/trunk/ti/samples/src/java/pageflow/
    struts/sandbox/trunk/ti/samples/src/java/pageflow/basic/
    struts/sandbox/trunk/ti/samples/src/java/pageflow/basic/Controller.java
    struts/sandbox/trunk/ti/samples/src/java/pageflow/formBean/
    struts/sandbox/trunk/ti/samples/src/java/pageflow/formBean/Controller.java
    struts/sandbox/trunk/ti/samples/src/java/pageflow/loginexample/
    struts/sandbox/trunk/ti/samples/src/java/pageflow/loginexample/loginflow/
    struts/sandbox/trunk/ti/samples/src/java/pageflow/loginexample/loginflow/Controller.java
    struts/sandbox/trunk/ti/samples/src/java/pageflow/loginexample/protectedflow/
    struts/sandbox/trunk/ti/samples/src/java/pageflow/loginexample/protectedflow/Controller.java
    struts/sandbox/trunk/ti/samples/src/java/pageflow/loginexample/start/
    struts/sandbox/trunk/ti/samples/src/java/pageflow/loginexample/start/Controller.java
    struts/sandbox/trunk/ti/samples/src/java/pageflow/nesting/
    struts/sandbox/trunk/ti/samples/src/java/pageflow/nesting/Controller.java
    struts/sandbox/trunk/ti/samples/src/java/pageflow/nesting/chooseAirport/
    struts/sandbox/trunk/ti/samples/src/java/pageflow/nesting/chooseAirport/ChooseAirport.java
    struts/sandbox/trunk/ti/samples/src/resources/
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/basic/
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/basic/xwork.xml
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/formBean/
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/formBean/xwork.xml
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/loginexample/
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/loginexample/loginflow/
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/loginexample/loginflow/xwork.xml
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/loginexample/protectedflow/
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/loginexample/protectedflow/xwork.xml
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/loginexample/start/
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/loginexample/start/xwork.xml
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/nesting/
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/nesting/chooseAirport/
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/nesting/chooseAirport/xwork.xml
    struts/sandbox/trunk/ti/samples/src/resources/_pageflow-config/pageflow/nesting/xwork.xml
    struts/sandbox/trunk/ti/samples/src/resources/log4j.xml
    struts/sandbox/trunk/ti/samples/src/webapp/
    struts/sandbox/trunk/ti/samples/src/webapp/WEB-INF/
    struts/sandbox/trunk/ti/samples/src/webapp/WEB-INF/struts-ti-config.xml
    struts/sandbox/trunk/ti/samples/src/webapp/WEB-INF/web.xml
    struts/sandbox/trunk/ti/samples/src/webapp/index.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/basic/
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/basic/begin.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/basic/error.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/basic/handleArithmeticException.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/basic/someAction.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/formBean/
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/formBean/begin.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/formBean/submit.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/index.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/loginexample/
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/loginexample/loginflow/
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/loginexample/loginflow/begin.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/loginexample/loginflow/failure.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/loginexample/protectedflow/
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/loginexample/protectedflow/begin.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/loginexample/start/
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/loginexample/start/begin.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/nesting/
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/nesting/begin.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/nesting/chooseAirport/
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/nesting/chooseAirport/begin.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/nesting/chooseAirport/confirm.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/nesting/chooseAirport/nonefound.jsp
    struts/sandbox/trunk/ti/samples/src/webapp/pageflow/nesting/chooseAirportDone.jsp
Modified:
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/mapper/ServletActionMapper.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/spring-config-servlet.xml
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/ControllerActionInvocation.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/chain/CreateActionMapping.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/chain/ProcessActionChain.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/chain/chain-config-servlet.xml
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/servlet/StrutsTiServlet.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/ServletSourceResolver.java
    struts/sandbox/trunk/ti/project.properties
    struts/sandbox/trunk/ti/project.xml

Added: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/Globals.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/Globals.java?rev=240168&view=auto
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/Globals.java (added)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/Globals.java Thu Aug 25 22:46:03 2005
@@ -0,0 +1,65 @@
+/*
+ * $Id: Globals.java 170121 2005-05-14 05:09:32Z martinc $
+ *
+ * Copyright 2000-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.
+ */
+
+package org.apache.ti;
+
+import org.apache.ti.pageflow.internal.InternalConstants;
+
+import java.io.Serializable;
+
+/**
+ * Global manifest constants for the entire Struts Framework.
+ *
+ * @version $Rev: 170121 $ $Date: 2005-05-13 23:09:32 -0600 (Fri, 13 May 2005) $
+ */
+public class Globals implements Serializable {
+
+
+    /**
+     * The request attribute for a List of {@link org.apache.ti.core.ActionMessage} objects.
+     */
+    public static final String ERROR_KEY = "org.apache.ti.ERROR";
+
+    /**
+     * The request attribute for a Throwable that was raised during action processing.
+     */
+    public static final String EXCEPTION_KEY = "org.apache.ti.EXCEPTION";
+
+    /**
+     * The session attributes key under which the user's selected
+     * <code>java.util.Locale</code> is stored, if any.  If no such
+     * attribute is found, the system default locale
+     * will be used when retrieving internationalized messages.  If used, this
+     * attribute is typically set during user login processing.
+     */
+    public static final String LOCALE_KEY = "org.apache.ti.LOCALE";
+
+
+    /**
+     * <p>The base of the context attributes key under which our
+     * module <code>MessageResources</code> will be stored.  This
+     * will be suffixed with the actual module prefix (including the
+     * leading "/" character) to form the actual resources key.</p>
+     *
+     * <p>For each request processed by the controller servlet, the
+     * <code>MessageResources</code> object for the module selected by
+     * the request URI currently being processed will also be exposed under
+     * this key as a request attribute.</p>
+     */
+    public static final String MESSAGES_KEY = "org.apache.ti.MESSAGE";
+}

Modified: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/mapper/ServletActionMapper.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/mapper/ServletActionMapper.java?rev=240168&r1=240167&r2=240168&view=diff
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/mapper/ServletActionMapper.java (original)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/mapper/ServletActionMapper.java Thu Aug 25 22:46:03 2005
@@ -92,9 +92,10 @@
         int star = ext.indexOf('*');
 
         StringBuffer sb = new StringBuffer();
+        String namespace = mapping.getNamespace();
         if (star > 0) {
             sb.append(ext.substring(0, star));
-        } else {
+        } else if (namespace.charAt(0) != '/') {
             sb.append('/');
         }
         sb.append(mapping.getNamespace());

Modified: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/spring-config-servlet.xml
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/spring-config-servlet.xml?rev=240168&r1=240167&r2=240168&view=diff
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/spring-config-servlet.xml (original)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/spring-config-servlet.xml Thu Aug 25 22:46:03 2005
@@ -2,12 +2,21 @@
 
 <beans>
   
-  <bean id="requestProcessor" class="org.apache.ti.processor.chain.ChainRequestProcessor">
+  <bean id="actionRequestProcessor" class="org.apache.ti.processor.chain.ChainRequestProcessor">
     <property name="sourceResolver"><ref bean="sourceResolver" /></property>
     <property name="chainConfig"><value>org/apache/ti/processor/chain/chain-config-servlet.xml</value></property>
     <property name="catalogName"><value>struts-ti</value></property>
-    <property name="startCommandName"><value>start</value></property>
-    <property name="initCommandName"><value>init</value></property>
+    <property name="startCommandName"><value>start-action</value></property>
+    <property name="initCommandName"><value>init-action</value></property>
+    <property name="chainRuleSet" ref="chainRuleSet" />
+  </bean>
+  
+  <bean id="viewRequestProcessor" class="org.apache.ti.processor.chain.ChainRequestProcessor">
+    <property name="sourceResolver"><ref bean="sourceResolver" /></property>
+    <property name="chainConfig"><value>org/apache/ti/processor/chain/chain-config-servlet.xml</value></property>
+    <property name="catalogName"><value>struts-ti</value></property>
+    <property name="startCommandName"><value>start-view</value></property>
+    <property name="initCommandName"><value>init-view</value></property>
     <property name="chainRuleSet" ref="chainRuleSet" />
   </bean>
   
@@ -15,7 +24,7 @@
   
   <bean id="sourceResolver" class="org.apache.ti.util.ServletSourceResolver" />
   
-  <bean id="actionMapper" class="org.apache.ti.config.mapper.ServletActionMapper" />
+  <bean id="actionMapper" class="org.apache.ti.pageflow.httpservlet.internal.PageFlowActionMapper" />
   
   <bean id="controllerContext" class="org.apache.ti.processor.ControllerContext" />
   
@@ -49,8 +58,10 @@
   <bean id="xdocletParser" class="org.apache.ti.config.XDocletParser">
     <property name="templateProcessor" ref="templateProcessor" />
   </bean>
-  
+
   <!-- Chain commands that need DI -->
+  <bean id="populateActionContext" class="org.apache.ti.processor.chain.PopulateActionContext" />
+ 
   <bean id="createActionMapping" class="org.apache.ti.processor.chain.CreateActionMapping">
     <property name="actionMapper" ref="actionMapper" />
   </bean>
@@ -63,11 +74,41 @@
   <bean id="initWebWork" class="org.apache.ti.processor.chain.webwork.InitWebWork">
     <property name="devMode"><value>${ti.devMode}</value></property>
   </bean>
+
+  <bean id="initPageFlow" class="org.apache.ti.processor.chain.pageflow.InitPageFlow">
+    <property name="sourceResolver" ref="sourceResolver" />
+    <property name="handlers" ref="handlers" />
+  </bean>
+
+  <bean id="handlers" class="org.apache.ti.pageflow.handler.Handlers">
+    <property name="defaultExceptionsHandler" ref="defaultExceptionsHandler"/>
+    <property name="defaultForwardRedirectHandler" ref="defaultForwardRedirectHandler"/>
+    <property name="defaultLoginHandler" ref="defaultLoginHandler"/>
+    <property name="defaultStorageHandler" ref="defaultStorageHandler"/>
+    <property name="defaultReloadableClassHandler" ref="defaultReloadableClassHandler"/>
+    <property name="defaultModuleRegistrationHandler" ref="defaultModuleRegistrationHandler"/>
+    <property name="defaultAnnotationHandler" ref="defaultAnnotationHandler"/>
+  </bean>
+
+  <bean id="defaultExceptionsHandler" class="org.apache.ti.pageflow.internal.DefaultExceptionsHandler" />
+  <bean id="defaultForwardRedirectHandler" class="org.apache.ti.pageflow.httpservlet.internal.DefaultServletForwardRedirectHandler" />
+  <bean id="defaultLoginHandler" class="org.apache.ti.pageflow.httpservlet.internal.DefaultServletLoginHandler" />
+  <bean id="defaultStorageHandler" class="org.apache.ti.pageflow.httpservlet.internal.ServletDeferredSessionStorageHandler" />
+  <bean id="defaultReloadableClassHandler" class="org.apache.ti.pageflow.internal.DefaultReloadableClassHandler" />
+  <bean id="defaultModuleRegistrationHandler" class="org.apache.ti.pageflow.internal.DefaultModuleRegistrationHandler">
+    <property name="sourceResolver" ref="sourceResolver" />
+  </bean>
+  <bean id="defaultAnnotationHandler" class="org.apache.ti.pageflow.internal.DefaultAnnotationHandler">
+    <property name="sourceResolver" ref="sourceResolver" />
+  </bean>
   
+  <bean id="setupPageFlowModule" class="org.apache.ti.processor.chain.pageflow.SetupPageFlowModule"/>
+
   <bean id="initControllerContext" class="org.apache.ti.processor.chain.InitControllerContext">
     <property name="controllerContext" ref="controllerContext" />
   </bean>
   
+  <bean id="populatePageFlowContext" class="org.apache.ti.pageflow.httpservlet.internal.PopulatePageFlowContext" />
   <bean id="invokeAction" class="org.apache.ti.processor.chain.ChainInvokeAction" />
   
 </beans>  

Added: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/ActionMessage.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/ActionMessage.java?rev=240168&view=auto
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/ActionMessage.java (added)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/ActionMessage.java Thu Aug 25 22:46:03 2005
@@ -0,0 +1,173 @@
+/*
+ * 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.ti.core;
+
+import java.io.Serializable;
+
+public class ActionMessage implements Serializable {
+
+
+    // ----------------------------------------------------------- Constructors
+    
+    
+    /**
+     * <p>Construct an action message with no replacement values.</p>
+     *
+     * @param key Message key for this message
+     */
+    public ActionMessage(String key) {
+        this(key, null);
+    }
+
+
+    /**
+     * <p>Construct an action message with the specified replacement values.</p>
+     *
+     * @param key    Message key for this message
+     * @param value0 First replacement value
+     */
+    public ActionMessage(String key, Object value0) {
+        this(key, new Object[]{value0});
+    }
+
+
+    /**
+     * <p>Construct an action message with the specified replacement values.</p>
+     *
+     * @param key    Message key for this message
+     * @param value0 First replacement value
+     * @param value1 Second replacement value
+     */
+    public ActionMessage(String key, Object value0, Object value1) {
+        this(key, new Object[]{value0, value1});
+    }
+
+
+    /**
+     * <p>Construct an action message with the specified replacement values.</p>
+     *
+     * @param key    Message key for this message
+     * @param value0 First replacement value
+     * @param value1 Second replacement value
+     * @param value2 Third replacement value
+     */
+    public ActionMessage(String key, Object value0, Object value1,
+                         Object value2) {
+
+        this(key, new Object[]{value0, value1, value2});
+    }
+
+
+    /**
+     * <p>Construct an action message with the specified replacement values.</p>
+     *
+     * @param key    Message key for this message
+     * @param value0 First replacement value
+     * @param value1 Second replacement value
+     * @param value2 Third replacement value
+     * @param value3 Fourth replacement value
+     */
+    public ActionMessage(String key, Object value0, Object value1,
+                         Object value2, Object value3) {
+
+        this(key, new Object[]{value0, value1, value2, value3});
+    }
+
+
+    /**
+     * <p>Construct an action message with the specified replacement values.</p>
+     *
+     * @param key    Message key for this message
+     * @param values Array of replacement values
+     */
+    public ActionMessage(String key, Object[] values) {
+
+        this.key = key;
+        this.values = values;
+
+    }
+    
+    
+    // ----------------------------------------------------- Instance Variables
+    
+    
+    /**
+     * <p>The message key for this message.</p>
+     */
+    protected String key = null;
+
+
+    /**
+     * <p>The replacement values for this mesasge.</p>
+     */
+    protected Object values[] = null;
+    
+    
+    // --------------------------------------------------------- Public Methods
+    
+    
+    /**
+     * <p>Get the message key for this message.</p>
+     */
+    public String getKey() {
+
+        return (this.key);
+
+    }
+
+
+    /**
+     * <p>Get the replacement values for this message.</p>
+     */
+    public Object[] getValues() {
+
+        return (this.values);
+
+    }
+
+    /**
+     * <p>Returns a String in the format: key[value1, value2, etc].</p>
+     *
+     * @see java.lang.Object#toString()
+     */
+    public String toString() {
+        StringBuffer buff = new StringBuffer();
+        buff.append(this.key);
+        buff.append("[");
+
+        if (this.values != null) {
+
+            for (int i = 0; i < this.values.length; i++) {
+
+                buff.append(this.values[i]);
+                
+                // don't append comma to last entry
+                if (i < this.values.length - 1) {
+                    buff.append(", ");
+                }
+
+            }
+        }
+
+        buff.append("]");
+
+        return buff.toString();
+    }
+
+
+}

Added: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/URLCodec.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/URLCodec.java?rev=240168&view=auto
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/URLCodec.java (added)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/URLCodec.java Thu Aug 25 22:46:03 2005
@@ -0,0 +1,90 @@
+/*
+ * 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.ti.core;
+
+import org.apache.commons.codec.DecoderException;
+import org.apache.commons.codec.EncoderException;
+import org.apache.ti.util.Bundle;
+
+import java.io.UnsupportedEncodingException;
+
+/**
+ * Class that provides static methods for URL encoding/decoding
+ */
+public final class URLCodec {
+
+    private final static org.apache.commons.codec.net.URLCodec s_codec =
+            new org.apache.commons.codec.net.URLCodec();
+
+    /**
+     * URL encodes a string.
+     *
+     * @param decoded the string to encode
+     * @param charset the character set to use
+     * @return the encoded string
+     */
+    public static String encode(final String decoded, final String charset)
+            throws UnsupportedEncodingException {
+        return s_codec.encode(decoded, charset);
+    }
+
+    /**
+     * URL encodes a string using the default character set
+     *
+     * @param decoded the string to encode
+     * @return the encoded string
+     */
+    public static String encode(final String decoded) {
+        try {
+            return s_codec.encode(decoded);
+        } catch (EncoderException e) {
+            throw new IllegalStateException(Bundle.getErrorString("URLCodec_encodeException", new String[]{e.getMessage()}));
+        }
+    }
+
+    /**
+     * URL decodes a string.
+     *
+     * @param encoded the string to decode
+     * @param charset the character set to use
+     * @return the decoded string
+     */
+    public static String decode(final String encoded, final String charset)
+            throws UnsupportedEncodingException {
+        try {
+            return s_codec.decode(encoded, charset);
+        } catch (DecoderException e) {
+            throw new IllegalStateException(Bundle.getErrorString("URLCodec_decodeException", new String[]{e.getMessage()}));
+        }
+    }
+
+
+    /**
+     * URL decodes a string using the default character set
+     *
+     * @param encoded the string to decode
+     * @return the decoded string
+     */
+    public static String decode(final String encoded) {
+        try {
+            return s_codec.decode(encoded);
+        } catch (DecoderException e) {
+            throw new IllegalStateException(Bundle.getErrorString("URLCodec_decodeException", new String[]{e.getMessage()}));
+        }
+    }
+}

Added: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/Factory.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/Factory.java?rev=240168&view=auto
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/Factory.java (added)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/Factory.java Thu Aug 25 22:46:03 2005
@@ -0,0 +1,56 @@
+/*
+ * 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.ti.core.factory;
+
+import org.apache.ti.util.logging.Logger;
+
+import java.io.Serializable;
+
+/**
+ * Base class for factories.
+ */
+public abstract class Factory
+        implements Serializable {
+
+    private static final Logger _log = Logger.getInstance(Factory.class);
+
+    private FactoryConfig _config;
+
+    /**
+     * Called after this factory has been created and initialized.
+     */
+    protected void onCreate() {
+    }
+
+    void init(FactoryConfig config) {
+        _config = config;
+    }
+
+    /**
+     * Called to reinitialize this instance, most importantly after it has been serialized/deserialized.
+     */
+    protected void reinit() {
+    }
+
+    /**
+     * Get the configuration object (containing custom properties) that is associated with this factory.
+     */
+    protected FactoryConfig getConfig() {
+        return _config;
+    }
+}

Added: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/FactoryConfig.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/FactoryConfig.java?rev=240168&view=auto
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/FactoryConfig.java (added)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/FactoryConfig.java Thu Aug 25 22:46:03 2005
@@ -0,0 +1,40 @@
+/*
+ * 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.ti.core.factory;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Configuration object passed to a {@link Factory}.
+ */
+public class FactoryConfig
+        implements Serializable {
+
+    private Map/*< String, String >*/ _customProperties = null;
+
+    void addCustomProperty(String name, String value) {
+        if (_customProperties == null) _customProperties = new HashMap();
+        _customProperties.put(name, value);
+    }
+
+    public String getCustomProperty(String name) {
+        return _customProperties != null ? (String) _customProperties.get(name) : null;
+    }
+}

Added: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/FactoryUtils.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/FactoryUtils.java?rev=240168&view=auto
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/FactoryUtils.java (added)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/factory/FactoryUtils.java Thu Aug 25 22:46:03 2005
@@ -0,0 +1,82 @@
+/*
+ * 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.ti.core.factory;
+
+import org.apache.ti.schema.config.CustomProperty;
+import org.apache.ti.schema.config.PageflowFactory;
+import org.apache.ti.util.internal.DiscoveryUtils;
+import org.apache.ti.util.logging.Logger;
+
+/**
+ * Utility class for creating application-scoped factories.
+ */
+public class FactoryUtils {
+
+    private static final Logger _log = Logger.getInstance(FactoryUtils.class);
+
+    public static Factory getFactory(PageflowFactory factoryBean, Class factoryType) {
+        if (factoryBean == null) return null;
+
+        String className = factoryBean.getFactoryClass();
+        ClassLoader cl = DiscoveryUtils.getClassLoader();
+
+        try {
+            Class actualFactoryType = cl.loadClass(className);
+
+            if (!factoryType.isAssignableFrom(actualFactoryType)) {
+                _log.error("Factory class " + actualFactoryType.getName() + " is not derived from "
+                        + factoryType.getName());
+                return null;
+            }
+
+            CustomProperty[] props = factoryBean.getCustomPropertyArray();
+            FactoryConfig config = new FactoryConfig();
+
+            if (props != null) {
+                for (int i = 0; i < props.length; i++) {
+                    CustomProperty prop = props[i];
+                    config.addCustomProperty(prop.getName(), prop.getValue());
+                }
+            }
+
+            return getFactory(actualFactoryType, config);
+        } catch (ClassNotFoundException e) {
+            _log.error("Could not load factory class " + className, e);
+        }
+
+        return null;
+    }
+
+    public static Factory getFactory(Class factoryType, FactoryConfig config) {
+        assert Factory.class.isAssignableFrom(factoryType) : factoryType.getClass().getName();
+
+        try {
+            Factory factory = (Factory) factoryType.newInstance();
+            factory.init(config);
+            factory.onCreate();
+
+            return factory;
+        } catch (InstantiationException e) {
+            _log.error("Could not instantiate a factory of type " + factoryType.getName(), e);
+        } catch (IllegalAccessException e) {
+            _log.error("Could not access the default constructor for factory of type " + factoryType.getName(), e);
+        }
+
+        return null;
+    }
+}

Added: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urls/FreezableMutableURI.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urls/FreezableMutableURI.java?rev=240168&view=auto
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urls/FreezableMutableURI.java (added)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/core/urls/FreezableMutableURI.java Thu Aug 25 22:46:03 2005
@@ -0,0 +1,298 @@
+/*
+ * 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.ti.core.urls;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.Map;
+
+/**
+ * A mutable class for creating URIs that can be set to "frozen" such
+ * that it becomes immutable. After this class is frozen, any calls to
+ * methods to set the data components of the URI will throw
+ */
+public class FreezableMutableURI extends MutableURI {
+
+    private boolean _frozen = false;
+
+    /**
+     * Constructs a <code>FreezableMutableURI</code>.
+     */
+    public FreezableMutableURI() {
+    }
+
+    /**
+     * Constructs a <code>FreezableMutableURI</code>.
+     *
+     * @param uriString the string to be parsed into a URI
+     * @param encoded   Flag indicating whether the string is
+     *                  already encoded.
+     */
+    public FreezableMutableURI(String uriString, boolean encoded) throws URISyntaxException {
+        super(uriString, encoded);
+    }
+
+    /**
+     * Constructs a <code>FreezableMutableURI</code>.
+     *
+     * @param scheme   the name of the protocol to use
+     * @param userInfo the username and password
+     * @param host     the name of the host
+     * @param port     the port number on the host
+     * @param path     the file on the host
+     * @param query    the query part of this URI
+     * @param fragment the fragment part of this URI (internal reference in the URL)
+     */
+    public FreezableMutableURI(String scheme, String userInfo, String host, int port,
+                               String path, String query, String fragment) {
+        super(scheme, userInfo, host, port, path, query, fragment);
+    }
+
+    /**
+     * Constructs a <code>FreezableMutableURI</code>.
+     *
+     * @param uri the initial value for this mutable URI
+     */
+    public FreezableMutableURI(URI uri) {
+        super(uri);
+    }
+
+    /**
+     * Constructs a <code>FreezableMutableURI</code>.
+     * <p/>
+     * <p> This is just a convenience constructor that functions the same as
+     * {@link #FreezableMutableURI(URI)} constructor with
+     * {@link java.net.URL#toURI()} as the argument. </p>
+     * <p/>
+     * <p>Note, any URL instance that complies with RFC 2396 can be converted
+     * to a URI. However, some URLs that are not strictly in compliance
+     * can not be converted to a URI. See {@link java.net.URL} </p>
+     *
+     * @param url the initial value for this mutable URI
+     * @throws URISyntaxException if this URL is not formatted strictly
+     *                            to RFC2396 and cannot be converted to a URI.
+     * @see java.net.URL#toURI()
+     */
+    public FreezableMutableURI(URL url) throws URISyntaxException {
+        super(url);
+    }
+
+    public final boolean isFrozen() {
+        return _frozen;
+    }
+
+    /**
+     * Sets a flag indicating that the URI is immutable (or not).
+     *
+     * @param frozen flag to indicate if the URI is now immutable or not.
+     */
+    public void setFrozen(boolean frozen) {
+        this._frozen = frozen;
+    }
+
+    private void testFrozen() {
+        if (_frozen) {
+            throw new IllegalStateException("Cannot modify the URI data. This instance was set to be immutable.");
+        }
+    }
+
+    /**
+     * Reset the value of the <code>FreezableMutableURI</code>.
+     * <p/>
+     * <p> This method can also be used to clear the <code>FreezableMutableURI</code>.
+     *
+     * @param uriString the string to be parsed into a URI
+     * @param encoded   Flag indicating whether the string is
+     *                  already encoded.
+     */
+
+    public void setURI(String uriString, boolean encoded) throws URISyntaxException {
+        testFrozen();
+        super.setURI(uriString, encoded);
+    }
+
+    /**
+     * Set the encoding used when adding unencoded parameters.
+     *
+     * @param encoding
+     */
+
+    public void setEncoding(String encoding) {
+        testFrozen();
+        super.setEncoding(encoding);
+    }
+
+    /**
+     * Sets the protocol/scheme.
+     *
+     * @param scheme protocol/scheme
+     */
+
+    public void setScheme(String scheme) {
+        testFrozen();
+        super.setScheme(scheme);
+    }
+
+    /**
+     * Sets the userInfo.
+     *
+     * @param userInfo userInfo
+     */
+
+    public void setUserInfo(String userInfo) {
+        testFrozen();
+        super.setUserInfo(userInfo);
+    }
+
+    /**
+     * Sets the host.
+     *
+     * @param host host
+     */
+
+    public void setHost(String host) {
+        testFrozen();
+        super.setHost(host);
+    }
+
+    /**
+     * Sets the port.
+     *
+     * @param port port
+     */
+
+    public void setPort(int port) {
+        testFrozen();
+        super.setPort(port);
+    }
+
+    /**
+     * Sets the path.
+     *
+     * @param path path
+     */
+
+    public void setPath(String path) {
+        testFrozen();
+        super.setPath(path);
+    }
+
+    /**
+     * Sets (and resets) the query string.
+     * This method assumes that the query is already encoded and
+     * the parameter delimiter is the '&amp;' character.
+     *
+     * @param query Query string
+     */
+
+    public void setQuery(String query) {
+        testFrozen();
+        super.setQuery(query);
+    }
+
+    /**
+     * Add a parameter for the query string.
+     * <p> If the encoded flag is true then this method assumes that
+     * the name and value do not need encoding or are already encoded
+     * correctly. Otherwise, it translates the name and value with the
+     * character encoding of this URI and adds them to the set of
+     * parameters for the query. If the encoding for this URI has
+     * not been set, then the default encoding used is "UTF-8". </p>
+     * <p> Multiple values for the same parameter can be set by
+     * calling this method multiple times with the same name. </p>
+     *
+     * @param name    name
+     * @param value   value
+     * @param encoded Flag indicating whether the names and values are
+     *                already encoded.
+     */
+
+    public void addParameter(String name, String value, boolean encoded) {
+        testFrozen();
+        super.addParameter(name, value, encoded);
+    }
+
+    /**
+     * Add a parameter to the query string.
+     * <p> If the encoded flag is true then this method assumes that
+     * the name and value do not need encoding or are already encoded
+     * correctly. Otherwise, it translates the name and value with the
+     * character encoding of this URI and adds them to the set of
+     * parameters for the query. If the encoding for this URI has
+     * not been set, then the default encoding used is "UTF-8". </p>
+     *
+     * @param newParams the map of new parameters to add to the URI
+     * @param encoded   Flag indicating whether the names and values are
+     *                  already encoded.
+     */
+
+    public void addParameters(Map newParams, boolean encoded) {
+        testFrozen();
+        super.addParameters(newParams, encoded);
+    }
+
+    /**
+     * Removes the given parameter.
+     *
+     * @param name name
+     */
+
+    public void removeParameter(String name) {
+        testFrozen();
+        super.removeParameter(name);
+    }
+
+    /**
+     * Sets the fragment.
+     *
+     * @param fragment fragment
+     */
+
+    public void setFragment(String fragment) {
+        testFrozen();
+        super.setFragment(fragment);
+    }
+
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (!(o instanceof FreezableMutableURI)) {
+            return false;
+        }
+        if (!super.equals(o)) {
+            return false;
+        }
+
+        final FreezableMutableURI freezableMutableURI = (FreezableMutableURI) o;
+
+        if (_frozen != freezableMutableURI._frozen) {
+            return false;
+        }
+
+        return true;
+    }
+
+    public int hashCode() {
+        int result = super.hashCode();
+        result = 29 * result + (_frozen ? 1 : 0);
+        return result;
+    }
+}
+



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org