IBM WebSphere Multichannel Bank Transformation Toolkit, Version 7.1

HTML flow processor definition

The HTML Channel flow processor is configured in the toolkit configuration file (btt.xml) as follows:
<kColl id="processors">
  <field id="htmlProcessor" value="com.ibm.btt.automaton.html.DSEHtmlProcessor" 
      description="compound"/>
  <field id="htmlState" value="com.ibm.btt.automaton.html.DSEHtmlState" 
      description="compound"/>
  <field id="htmlTransition" value="com.ibm.btt.automaton.html.HtmlTransitionDescriptor" 
      description="compound"/>
</kColl>
The main-flow flow processor for this example is defined as the HTML Channel processor. The "Gather Info" state from the state diagram is defined as a subflow state, and is linked to the subflow definition by the "financialInfoState" id value. This flow processor is defined in the flow processor definition file (DSEPROC.XML) as follows:
<htmlProcessor id="creditCardsProc" context="creditCardsCtx" 
    conseqErrorPage="creditCardsConseqError.jsp">
  <htmlState id="initial" type="initial">
    <transitions>
      <htmlTransition id="creditCards.start" targetState="creditHistoryOpState">
      </htmlTransition>
    </transitions>
  </htmlState>
</htmlProcessor>
<htmlProcessor id="financialInfo" context="financialInfoCtx" 
    xValidation="com.ibm.btt.samples.html.FinancialInfoXVal">
  <htmlState id="initial" type="initial">
    <transitions>
      <htmlTransition id="requestData.start" targetState="requestDataState">
      </htmlTransition>
    </transitions>
  </htmlState>
  <htmlState id="requestDataState" type="page" typeIdInfo="requestDataPage.JSP">
    <transitions>
      <htmlTransition id="OK" targetState="saveInfoOpState" 
          context="RequestDataState.OK.Ctx">
      </htmlTransition>
      <htmlTransition id="cancel" targetState="finalNotOK">
      </htmlTransition>
    </transitions>
  </htmlState>
  <htmlState id="saveInfoOpState">
    <entryActions>
      <executeOperationAct id="execOperAct" operationName="saveInfoOp" 
          linkContextTo="processor">
      </executeOperationAct>     
    </entryActions>
    <transitions>
      <htmlTransition id="execOperAct.OK" targetState="finalOK">
      </htmlTransition>
      <htmlTransition id="execOperAct.error" targetState="errorInformationPage">
      </htmlTransition>
    </transitions>
  </htmlState>
  <htmlState id="errorInformationPage" type="page" 
      typeIdInfo="errorInformationPage.JSP">
    <transitions>
      <htmlTransition id="OK" targetState="finalNotOK">
      </htmlTransition>
    </transitions>
  </htmlState>
  <htmlState id="finalNotOK" type="final" typeIdInfo="notOK">
  </htmlState>
  <htmlState id="finalOK" type="final" typeIdInfo="OK">
  </htmlState>
</htmlProcessor>
<htmlState id="creditHistoryOpState" conseq="false">
  <entryActions>
    <executeOperationAct id="execOperAct" operationName="creditHistoryOp" 
        contextToLinkTo="processor">
    </executeOperationAct> 
  </entryActions>
  <transitions>
    <htmlTransition id="execOperAct.OK" targetState="selectCardsOpState">
    </htmlTransition>
    <htmlTransition id="execOperAct.notOK" targetState="financialInfoState">
    </htmlTransition>
  </transitions>
</htmlState>
<htmlState id="selectCardsOpState">
  <entryActions>
    <executeOperationAct id="execOperAct" operationName="selectCardsOp" 
        contextToLinkTo="processor">
    </executeOperationAct>
  </entryActions>
  <transitions>
    <htmlTransition id="execOperAct.OK" targetState="creditCardsPage">
    </htmlTransition>
    <htmlTransition id="execOperAct.error" targetState="errorInformationPage">
    </htmlTransition>
  </transitions>
</htmlState>
<htmlState id="financialInfoState" type="subFlow" typeIdInfo="finantialInfo">
  <transitions>
    <htmlTransition id="OK" targetState="selectCardsOpState">
    </htmlTransition>
    <htmlTransition id="notOK" targetState="finalNotOK">
    </htmlTransition>
  </transitions>
</htmlState>
<htmlState id="creditCardsPage" type="page" typeIdInfo="creditCardsPage.JSP">
  <transitions>
    <htmlTransition id="OK" targetState="creditCardConfirmationPage">
    </htmlTransition>
    <htmlTransition id="cancel" targetState="finalNotOK">
    </htmlTransition>
  </transitions>
</htmlState>
<htmlState id="creditCardConfirmationPage" type="page" 
    typeIdInfo="creditCardConfirmationPage.JSP">
  <transitions>
    <htmlTransition id="OK" targetState="creditCardProcessingOpState" conseq="true">
    </htmlTransition>
    <htmlTransition id="cancel" targetState="finalNotOK">
    </htmlTransition>
  </transitions>
</htmlState>
<htmlState id="creditCardProcessingOpState" type="page" 
    typeIdInfo="creditCardConfirmationPage.JSP">
  <entryActions>
    <executeOperationAct id="execOperAct" operationName="creditCardProcessingOp" 
        contextToLinkTo="processor">
    </executeOperationAct>
  </entryActions>
  <transitions>
    <htmlTransition id="execOperAct.OK" targetState="creditCardProcessingOp">
    </htmlTransition>
    <htmlTransition id="execOperAct.error" targetState="finalNotOK">
    </htmlTransition>
  </transitions>
</htmlState>
<htmlState id="errorInformationPage" type="page" typeIdInfo="errorInformationPage.JSP">
  <transitions>
    <htmlTransition id="OK" targetState="finalNotOK">
    </htmlTransition>
  </transitions>
</htmlState>
<htmlState id="finalNotOK" type="final" typeIdInfo="notOK">
</htmlState>
<htmlState id="finalOK" type="final" typeIdInfo="OK">
</htmlState>
</htmlProcessor>
The sub-flow flow processor for this example is defined as the HTML Channel processor and defined in the flow processor definition file (DSEPROC.XML) as follows:
<htmlProcessor id="financialInfo" context="financialInfoCtx" 
    xValidation="com.ibm.btt.samples.html.FinancialInfoXVal"> 
  <htmlState id="initial" type="initial">
    <transitions>
      <htmlTransition id="requestData.start" targetState="requestDataState">
      </htmlTransition>
    </transitions>
  </htmlState>
  <htmlState id="requestDataState" type="page" typeIdInfo="requestDataPage.JSP">
    <transitions>
      <htmlTransition id="OK" targetState="saveInfoOpState" 
          context="RequestDataState.OK.Ctx">
      </htmlTransition>
      <htmlTransition id="cancel" targetState="finalNotOK">
      </htmlTransition>
    </transitions>
  </htmlState>
  <htmlState id="saveInfoOpState">
    <entryActions>
      <executeOperationAct id="execOperAct" operationName="saveInfoOp" 
          linkContextTo="processor">
      </executeOperationAct>
    </entryActions>
    <transitions>
      <htmlTransition id="execOperAct.OK" targetState="finalOK">
      </htmlTransition>
      <htmlTransition id="execOperAct.error" 
           targetState="errorInformationPage">
      </htmlTransition>
    </transitions>
  </htmlState>
  <htmlState id="errorInformationPage" type="page" 
      typeIdInfo="errorInformationPage.JSP">
    <transitions>
      <htmlTransition id="OK" targetState="finalNotOK">
      </htmlTransition>
    </transitions>
  </htmlState>
  <htmlState id="finalNotOK" type="final" typeIdInfo="notOK">
  </htmlState>
  <htmlState id="finalOK" type="final" typeIdInfo="OK">
  </htmlState>
</htmlProcessor>


Feedback