All Downloads are FREE. Search and download functionalities are using the official Maven repository.

conf.rsf-requestscope-config.xml Maven / Gradle / Ivy

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

  <!-- This file contains request scope beans which are specific to RSF -->

  <!-- A request scope bean locator locating beans from THIS container! -->
  <bean id="requestBeanLocator" factory-bean="RSACBeanLocator"
    factory-method="getBeanLocator" />

  <bean id="deadRequestBeanLocator" factory-bean="RSACBeanLocator"
    factory-method="getDeadBeanLocator" />

  <bean id="OTMParent"
    class="uk.org.ponder.beanutil.support.ObstinateTravellingMap"
    init-method="init" abstract="true">
    <property name="beanModelAlterer" ref="DARApplier" />
    <property name="generalLeafParser" ref="generalLeafParser" />
    <property name="seed" ref="ELTargetBeanLocator" />
  </bean>

  <bean id="RSACLazarusList" class="uk.org.ponder.rsac.support.RSACLazarusList"
    lazy-init="true">
    <property name="RSACBeanLocator" ref="RSACBeanLocator" />
  </bean>

  <bean id="httpServletFactory"
    class="uk.org.ponder.rsac.servlet.StaticHttpServletFactory" />

  <bean id="httpServletRequest" factory-bean="httpServletFactory"
    factory-method="getHttpServletRequest" />

  <bean id="httpServletResponse" factory-bean="httpServletFactory"
    factory-method="getHttpServletResponse" />

  <bean id="earlyRequestParser"
    class="uk.org.ponder.rsf.servlet.ServletEarlyRequestParser"
    init-method="init">
    <property name="httpServletRequest" ref="httpServletRequest" />
    <property name="multipartResolver" ref="multipartResolver" />
  </bean>

  <bean id="requestLocale" factory-bean="httpServletRequest"
    factory-method="getLocale" />

  <bean id="requestTimeZone"
    class="uk.org.ponder.springutil.TimeZoneFactory" />

  <bean id="requestMap" factory-bean="earlyRequestParser"
    factory-method="getRequestMap" />

  <bean id="requestPathInfo" factory-bean="earlyRequestParser"
    factory-method="getPathInfo" />

  <bean id="requestType" factory-bean="earlyRequestParser"
    factory-method="getRequestType" />

  <!-- Instantiation of this bean will fail in environments where it
  cannot be supported -->
  <bean id="requestMethod" factory-bean="earlyRequestParser" 
    factory-method="getRequestMethod" />
 

  <bean id="requestEnvironmentType" factory-bean="earlyRequestParser"
    factory-method="getEnvironmentType" />

  <bean id="multipartMap" factory-bean="earlyRequestParser"
    factory-method="getMultipartMap" />

  <bean id="defaultViewParameters"
    factory-bean="defaultViewInferrerManager"
    factory-method="getViewParameters" />

  <bean id="handlerResolver"
    class="uk.org.ponder.rsf.processor.support.DefaultHandlerResolver">
    <property name="renderHandler" ref="RSFRenderHandler" />
    <property name="actionHandler" ref="RSFActionHandler" />
  </bean>

  <bean id="renderSystem" factory-bean="renderSystemResolver"
    factory-method="getRenderSystem" />

  <bean id="contentTypeInfo" factory-bean="contentTypeInfoFactory"
    factory-method="getContentTypeInfo" />

  <bean id="renderHandler" factory-bean="handlerResolver"
    factory-method="getRenderHandler" />
  <bean id="actionHandler" factory-bean="handlerResolver"
    factory-method="getActionHandler" />

  <bean id="autoBaseURLProvider"
    class="uk.org.ponder.rsf.servlet.AutoBaseURLProvider"
    init-method="init">
    <property name="httpServletRequest">
      <ref bean="httpServletRequestProxy" />
    </property>
  </bean>

  <bean id="rootHandlerBeanBase" abstract="true"
    class="uk.org.ponder.rsf.servlet.ServletRootHandlerBean"
    init-method="handle">
    <property name="requestType" ref="requestType" />
    <property name="viewStateHandler" ref="viewStateHandler" />
    <property name="outgoingParams" ref="outgoingParams" />
    <property name="renderHandlerBracketer"
      ref="renderHandlerBracketer" />
    <property name="actionHandler" ref="actionHandler" />
    <property name="handlerHook" ref="handlerHookHandler" />
    <property name="contentTypeInfo" ref="contentTypeInfoProxy" />
    <property name="fatalErrorHandler" ref="fatalErrorHandler" />
    <property name="lazarusRedirector" ref="lazarusRedirector" />
  </bean>

  <bean id="rootHandlerBean" parent="rootHandlerBeanBase">
    <property name="httpServletRequest" ref="httpServletRequest" />
    <property name="httpServletResponse" ref="httpServletResponse" />
  </bean>

  <!-- An uncensored BeanLocator suitable to be the target of internal EL
    expressions, filled out with any fallback beans -->
  <bean id="ELTargetBeanLocator"
    class="uk.org.ponder.beanutil.FallbackCapableBeanLocator">
    <property name="beanLocator" ref="requestBeanLocator" />
    <property name="fallbackBeans" ref="fallbackBeans" />
  </bean>

  <!-- The "ID-defunneller", required to correctly process submissions from entity
    selection controls -->
  <bean id="id-defunnel"
    class="uk.org.ponder.rsf.state.entity.support.IDDefunnellingReshaper">
    <property name="beanModelAlterer" ref="DARApplier" />
    <property name="mappingContext" ref="ELMappingContext" />
    <property name="requestBeanLocator" ref="ELTargetBeanLocator" />
    <property name="entityNameInferrer" ref="entityNameInferrerManager" />
    <property name="addressibleBeanModel"
      ref="requestAddressibleBeanModel" />
  </bean>

<!-- The "real" ARIResult is called ARIResultConcrete - this bean is here only
to intercept bindings -->
  <bean id="ARIResult" class="uk.org.ponder.rsf.flow.support.ARIResultPenningReshaper">
    <property name="beanModelAlterer" ref="DARApplier"/>
    <property name="targettedMessageList" ref="targettedMessageList"/>
  </bean>

  <bean id="ELEvaluator" class="uk.org.ponder.beanutil.support.ELEvaluator">
    <property name="beanLocator" ref="ELTargetBeanLocator" />
    <property name="beanModelAlterer" ref="DARApplier" />
  </bean>

  <!-- The ViewParameters object giving rise to the current request. Highly
    polymorphic, in general of some user-defined type. -->
  <bean id="parsedViewParameters"
    class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
    <property name="singleton" value="true" />
    <property name="targetObject" ref="viewParametersParser" />
    <property name="targetMethod" value="parse" />
    <property name="arguments">
      <list>
        <ref bean="requestPathInfo" />
        <ref bean="requestMap" />
      </list>
    </property>
  </bean>

  <bean id="viewParameters" factory-bean="viewParamsInterceptorManager"
    factory-method="getAdjustedViewParameters">
  </bean>

  <bean id="postDecoder" class="uk.org.ponder.rsf.processor.support.PostDecoder"
    init-method="init">
    <property name="renderSystemDecoder" ref="renderSystem" />
    <property name="requestMap" ref="requestMap" />
    <property name="requestType" ref="requestType" />
    <property name="fossilizedConverter" ref="fossilizedConverter" />
  </bean>

  <bean id="normalizedRequest" factory-bean="postDecoder"
    factory-method="getNormalizedRequest" />

  <bean id="outgoingMap" class="java.util.HashMap"></bean>

  <!-- Marked as lazy-init because of late use from errorStateManager -->
  <bean id="requestRSVC" factory-bean="postDecoder"
    factory-method="getRequestRSVC" lazy-init="true" />

  <bean id="versionCheckPolicy"
    class="uk.org.ponder.rsf.state.support.NullVersionCheckPolicy" />


  <bean id="beanInvalidationModel"
    class="uk.org.ponder.mapping.ListBeanInvalidationModel" />

  <bean id="RSVCApplier" class="uk.org.ponder.rsf.state.support.RSVCApplier">
    <property name="versionCheckPolicy" ref="versionCheckPolicy" />
    <property name="rootBeanLocator" ref="ELTargetBeanLocator" />
    <property name="beanModelAlterer" ref="DARApplier" />
    <property name="beanInvalidationModel" ref="beanInvalidationModel" />
    <property name="beanGuardProcessor" ref="beanGuardProcessor" />
    <property name="ignoreFossilizedValues"
      ref="ignoreFossilizedValues" />
    <property name="targettedMessageList" ref="targettedMessageList" />
    <property name="dataConverterRegistry" ref="dataConverterRegistry" />
    <property name="addressibleBeanModel"
      ref="requestAddressibleBeanModel" />
  </bean>

  <bean id="beanInvalidationBracketer" factory-bean="RSVCApplier"
    factory-method="getBracketer" />

  <!-- A list of the targetted messages accumulated during this request cycle. -->
  <bean id="targettedMessageList"
    class="uk.org.ponder.messageutil.TargettedMessageList" />

  <bean id="messageProcessorManager" class="uk.org.ponder.rsf.state.support.MessageProcessorManager">
    <property name="messageProcessorList" ref="messageProcessorList"/>
  </bean>

  <bean id="TMLFixer" class="uk.org.ponder.rsf.state.support.TMLFixer" >
    <property name="messageProcessorManager" ref="messageProcessorManager"/>
  </bean>

  <!--  requires input of requestRSVC in order to fix up errors at the
    end of a cycle.-->
  <bean id="errorStateManager"
    class="uk.org.ponder.rsf.state.support.ErrorStateManager" init-method="init">
    <property name="TSHolder" ref="bandgapStateHolder" />
    <property name="viewParameters" ref="viewParameters" />
    <property name="requestRSVC" ref="requestRSVC" />
    <property name="targettedMessageList" ref="targettedMessageList" />
    <property name="TMLFixer" ref="TMLFixer"/>
  </bean>

  <bean id="statePreservationManager"
    class="uk.org.ponder.rsf.preservation.StatePreservationManager">
    <property name="strategies" ref="statePreservationStrategies" />
    <property name="startFlowStrategies"
      ref="startFlowStatePreservationStrategies" />
    <property name="endFlowStrategies"
      ref="endFlowStatePreservationStrategies" />
    <property name="writeableBeanLocator" ref="ELTargetBeanLocator" />
    <property name="deadBeanLocator" ref="deadRequestBeanLocator" />
    <property name="scopeStrategies" ref="scopePreservationStrategies" />
  </bean>

  <bean id="scopeLocks" factory-bean="statePreservationManager"
    factory-method="getScopeLocks" lazy-init="true" />

  <bean name="outgoingParams"
    class="uk.org.ponder.rsf.components.ParameterList">
  </bean>

  <!-- A set of static renderers to be used for this request -->
  <!-- TODO: this should really be at app scope, with a proxy for consumer -->
  <bean id="staticRenderers"
    class="uk.org.ponder.rsf.renderer.scr.StaticRendererCollection">
    <property name="staticRenderers">
      <list>
        <ref bean="URLRewriteSCR" />
        <ref bean="headCollectSCR" />
        <ref bean="nullSCR" />
        <ref bean="ignoreSCR" />
        <ref bean="consumerStaticRenderers" />
      </list>
    </property>
  </bean>

  <!-- Given a TemplateResolver and a ViewParameters object, the Template
    LoaderBean returns a template. This is a factory bean -->
  <!-- Get rid of this and turn the TemplateResolver itself into a 
    request-scope bean -->
  <bean id="viewTemplate"
    class="uk.org.ponder.rsf.templateresolver.support.TemplateLoaderBean">
    <!-- EXTERNAL DEPENDENCY! The application supplies the template resolver -->
    <property name="templateResolver" ref="viewTemplateResolver" />
    <property name="viewParameters" ref="viewParameters" />
  </bean>

  <bean id="viewRender" class="uk.org.ponder.rsf.renderer.ViewRender">
    <property name="viewTemplate" ref="viewTemplate" />
    <property name="contentTypeInfo" ref="contentTypeInfo" />
    <!-- This dependence is injected manually, since the alterationwrapper must
      bracket restoration, and access to the model by fixup -->
    <!--
      <property name="view">
      <ref local="view"/>
      </property>-->
    <property name="renderSystem" ref="renderSystem" />
    <property name="messageRenderer" ref="messageRenderer" />
    <property name="decoratorManager" ref="decoratorManager" />
  </bean>

  <bean id="flowStateManager"
    class="uk.org.ponder.rsf.flow.support.FlowStateManager">
    <property name="errorStateManager" ref="errorStateManager" />
    <property name="statePreservationManager"
      ref="statePreservationManager" />
  </bean>

  <bean id="RSFActionHandler"
    class="uk.org.ponder.rsf.processor.support.RSFActionHandler"
    lazy-init="true">
    <property name="errorStateManager" ref="errorStateManager" />
    <property name="ARIResolver" ref="ARIResolver" />
    <property name="viewParameters" ref="viewParameters" />
    <property name="requestRSVC" ref="requestRSVC" />
    <property name="alterationWrapper" ref="collectedAlterationWrapper" />
    <property name="RSVCApplier" ref="RSVCApplier" />
    <property name="normalizedRequestMap" ref="normalizedRequest" />
    <property name="statePreservationManager"
      ref="statePreservationManager" />
    <property name="actionErrorStrategy"
      ref="actionErrorStrategyManager" />
    <property name="flowStateManager" ref="flowStateManager" />
    <property name="targettedMessageList" ref="targettedMessageList" />
    <property name="actionResultInterceptor"
      ref="actionResultInterceptorProcessor" />
  </bean>

  <!-- Always use this bean through the pea proxy, even in request scope - it
    will not be available until the request is almost concluded. -->
  <bean id="ARIResultConcrete" factory-bean="actionHandler"
    factory-method="getARIResult" />

  <!-- A useful "EL-target" bean to allow scopes to be destroyed via EL -->
  <bean id="destroyScope"
    class="uk.org.ponder.rsf.state.scope.support.ScopedBeanDestroyer" />

  <bean id="destroyedScopeMap" class="java.util.HashMap" />

  <!-- Begin beans for FlowLite -->

  <bean id="flowLite-flowIDHolder"
    class="uk.org.ponder.rsf.flow.FlowIDHolder">
  </bean>

  <bean id="flowLite-flowProxyBean"
    class="uk.org.ponder.rsf.flow.lite.FlowActionProxyBean"
    abstract="true">
    <property name="reflectiveCache" ref="reflectiveCache" />
    <property name="beanLocator" ref="requestBeanLocator" />
    <property name="viewParameters" ref="viewParameters" />
    <property name="flowIDHolder" ref="flowLite-flowIDHolder" />
    <property name="errorHandler" ref="actionHandler" />
  </bean>

  <!-- End beans for FlowLite -->

  <bean id="pageBasicProducer"
    class="uk.org.ponder.springutil.BeanReferenceFactoryBean">
    <property name="targetBeanName" value="viewCollector" />
  </bean>

  <!-- Collects together all ViewProducers, and selects those appropriate for 
    this request -->
  <bean id="viewCollector"
    class="uk.org.ponder.rsf.view.support.ViewCollector">
    <property name="viewResolver" ref="viewResolver" />
    <property name="viewParameters" ref="viewParameters" />
    <property name="componentChecker" ref="viewTemplate" />
  </bean>

  <!--
    <bean id="view" factory-bean="viewgenerator" factory-method="getView"/>
  -->
  <bean id="formModel"
    class="uk.org.ponder.rsf.componentprocessor.BasicFormModel" />
  <!-- Begin request scope "fixer" beans - manipulate component tree in between
    generation and rendering -->

  <!-- Used when operating an HTML-like form system whereby submitting controls
    are defined by nesting within an element -->
  <bean id="containmentFormFixer"
    class="uk.org.ponder.rsf.componentprocessor.ContainmentFormChildFixer">
    <property name="mappingContext" ref="ELMappingContext" />
    <property name="viewParamsCodec" ref="viewParamsCodec" />
    <property name="formModel" ref="formModel" />
  </bean>

  <bean id="formFixer"
    class="uk.org.ponder.rsf.componentprocessor.DefaultFormFixer">
    <property name="viewParameters" ref="viewParameters" />
    <property name="viewStateHandler" ref="viewStateHandler" />
    <property name="URLRewriter" ref="URLRewriter" />
    <property name="outgoingParams" ref="outgoingParams" />
    <property name="internalURLRewriter" ref="internalURLRewriter" />
  </bean>

  <bean id="valueFixer"
    class="uk.org.ponder.rsf.componentprocessor.ValueFixer">
    <property name="beanLocator" ref="ELTargetBeanLocator" />
    <property name="modelAlterer" ref="DARApplier" />
    <property name="fossilizedConverter" ref="fossilizedConverter" />
    <property name="errorStateManager" ref="errorStateManager" />
    <property name="renderFossilizedForms" ref="renderFossilizedForms" />
    <property name="formModel" ref="formModel" />
    <property name="dataConverterRegistry" ref="dataConverterRegistry" />
    <property name="messageLocator" ref="messageLocator"/>
  </bean>

  <!-- End "fixer" beans" -->

  <bean id="componentProcessorContributorParent"
    class="uk.org.ponder.springutil.StaticTLAB" abstract="true">
    <property name="targetPath"
      value="viewProcessor.clientComponentProcessors" />
  </bean>

  <bean id="viewProcessor"
    class="uk.org.ponder.rsf.componentprocessor.ViewProcessor">
    <property name="mappingContext" ref="ELMappingContext" />
    <property name="componentProcessors">
      <list>
        <!-- This must execute before formfixer-->
        <ref bean="containmentFormFixer" />
        <ref bean="formFixer" />
        <ref bean="viewParamsFixer" />
        <ref bean="bindingFixer" />
        <ref bean="valueFixer" />
      </list>
    </property>
  </bean>

  <bean id="renderHandlerBracketer"
    class="uk.org.ponder.rsf.processor.support.RenderHandlerBracketer"
    lazy-init="true">
    <property name="errorStateManager" ref="errorStateManager" />
    <property name="viewExceptionStrategy"
      ref="viewExceptionStrategyManager" />
    <property name="viewParameters" ref="viewParameters" />
    <property name="renderHandler" ref="renderHandler" />
    <property name="redirectOnLevel1Error" ref="redirectOnLevel1Error" />
  </bean>

  <!-- achieve two things here with laziness - renderHandler is not resolved in non-POST requests,
    and ALSO is not resolved until first use, to allow exception bracketing -->
  <bean id="RSFRenderHandler"
    class="uk.org.ponder.rsf.processor.support.RSFRenderHandler"
    lazy-init="true">
    <property name="errorStateManager" ref="errorStateManager" />
    <property name="viewParameters" ref="viewParameters" />
    <property name="viewGenerator" ref="viewGenerator" />
    <property name="requestInvoker" ref="requestInvoker" />
    <property name="viewProcessor" ref="viewProcessor" />
    <property name="viewRender" ref="viewRender" />
    <property name="targettedMessageList" ref="targettedMessageList" />
    <property name="enableDebugRendering" ref="enableDebugRendering" />
  </bean>

  <!-- Beans for UVB (the Universal View Bus) -->

  <bean id="UVBBean" class="uk.org.ponder.rsf.builtin.UVBBean">
    <property name="requestBeanGetter" ref="ELEvaluator" />
  </bean>

  <bean id="UVBView" class="uk.org.ponder.rsf.builtin.UVBProducer">
    <property name="UVBBean" ref="UVBBean" />
    <property name="targettedMessageList" ref="targettedMessageList" />
    <property name="messageLocator" ref="messageLocator" />
    <property name="JSONProvider" ref="JSONProvider" />
  </bean>
</beans>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy