Webflow 1 to Webflow 2 Migration - WARNING: the bean attribute is no longer supported

44 Views Asked by At

I've inherited an application that is currently using Webflow 1.0.6 and am attempting to upgrade this to Webflow 2.3.4 as an interim step before upgrading to a later version.

I've run one of the flows through the WebFlowUpgrader and it has produced the below output:

list-asset-flow.xml

<?xml version="1.0" encoding="UTF-8"?>
<webflow:flow xmlns:webflow="http://www.springframework.org/schema/webflow" xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" ns0:schemaLocation="http://www.springframework.org/schema/webflow http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd" start-state="uc1000_SearchAndListStructure">
<webflow:var name="ControllerHelper">
<!-- WARNING: the bean attribute is no longer supported --></webflow:var>
<webflow:var name="ListStructureDataController">
<!-- WARNING: the bean attribute is no longer supported --></webflow:var>
<webflow:var name="ViewElementDetailController">
<!-- WARNING: the bean attribute is no longer supported --></webflow:var>
<webflow:on-start>
        <webflow:evaluate expression="flowScope.ListStructureDataController.init()"/>
<!-- <set attribute="ControllerHelper" value="flowScope.ListStructureDataController.controllerHelper" scope="flow" /> --><webflow:set name="flowScope.ListStructureDataController.controllerHelper" value="flowScope.ControllerHelper"/>
        <webflow:set name="flowScope.ViewElementDetailController.controllerHelper" value="flowScope.ControllerHelper"/>
    </webflow:on-start>
<webflow:view-state id="uc1000_SearchAndListStructure" view="/uc1000_SearchAndListStructure.jsp">
        <webflow:on-entry>
            <webflow:evaluate expression="flowScope.ListStructureDataController.display()"/>
        </webflow:on-entry>
        <webflow:transition on="failure" to="uc1000_SearchAndListStructure"/>
        <webflow:transition on="success" to="uc1000_SearchAndListStructure"/>
        <webflow:transition on="reset" to="uc1000_SearchAndListStructure"/>
        <webflow:transition on="close" to="uc1000_SearchAndListStructure"/>
        <webflow:transition on="uc1025" to="maintain-asset-flow"/>
        <webflow:transition on="uc3003" to="maintain-asset-flow"/>
        <webflow:transition on="uc3003a" to="maintain-asset-flow"/>
        <webflow:transition on="back" to="uc1000_SearchAndListStructure"/>
    </webflow:view-state>
<webflow:subflow-state id="maintain-asset-flow" subflow="maintain-asset-flow">
        <webflow:input name="ControllerHelper" value="flowScope.ControllerHelper"/>
        <webflow:input name="ViewElementDetailController" value="flowScope.ViewElementDetailController"/>
        <webflow:transition to="uc1000_SearchAndListStructure">
            <webflow:evaluate expression="flowScope.ListStructureDataController.searchSubmitt()"/>
        </webflow:transition>
    </webflow:subflow-state>
<webflow:bean-import resource="helper-beans.xml"/>
<webflow:bean-import resource="list-asset-beans.xml"/>
</webflow:flow>

list-asset-beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
        "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>

    <!-- For UC1000 Search and list Structures Screen -->
    <bean id="ListStructureDataController" class="uk.co.organisation.application.presentation.controllers.ListStructureDataController" singleton="false">
        <!-- <property name="controllerHelper" ref="ControllerHelper" /> -->
        <property name="civilsReferenceDataProcessProxy" ref="CivilsReferenceDataProcessProxy" />
        <property name="monitorConditionProcessProxy" ref="MonitorConditionProcessProxy" />
    </bean>

    <!-- For UC1025 View structure group Screen -->
    <bean id="ViewElementDetailController" class="uk.co.organisation.application.presentation.controllers.ViewElementDetailController" singleton="false">
        <!-- <property name="controllerHelper" ref="ControllerHelper" /> -->
        <property name="civilsAssetProcessProxy" ref="CivilsAssetProcessProxy" />
        <property name="civilsReferenceDataProcessProxy" ref="CivilsReferenceDataProcessProxy" />
    </bean>

   <!-- For UC3003 Maintain structure group Screen -->
    <bean id="MaintainElementDetailController" class="uk.co.organisation.application.presentation.controllers.MaintainElementDetailController" singleton="false">
        <!-- <property name="controllerHelper" ref="ControllerHelper" /> -->
    </bean>

</beans>

I'm unsure how to resolve the warning WARNING: the bean attribute is no longer supported

Prior to the running through the WebFlowUpgrade upgrade the variables were declared as:

    <var name="ControllerHelper" bean="ControllerHelper" scope="flow" />
    <var name="ListStructureDataController" bean="ListStructureDataController" scope="flow" />
    <var name="ViewElementDetailController" bean="ViewElementDetailController" scope="flow" />
1

There are 1 best solutions below

5
rptmat57 On

Try using class:

<webflow:var name="ControllerHelper" class="com.example.ControllerHelper">