3 Replies Latest reply on Jun 6, 2007 3:50 PM by koenhandekyn

    seam-dvd example JBPM issue (seam 1.2.1.GA with jboss as 4.0

    koenhandekyn

      out of the box the current seam dvd example seems broken wrt JBPM.

      after creating on order the task assignment list appears "empty" when logging in as a manager. the headers of the table are rendered but there is no content :

      Task Assignment
      Order Id Task Order Amount Customer
      Order Acceptance

      if this can be confirmed by others, this should probably be added to the bug tracking system.

        • 1. Re: seam-dvd example JBPM issue (seam 1.2.1.GA with jboss as
          koenhandekyn

          i have replaced the admin.xhtml with a more recent version. it now works fine.

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:ui="http://java.sun.com/jsf/facelets"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:s="http://jboss.com/products/seam/taglib"
          xmlns:c="http://java.sun.com/jstl/core">

          <ui:composition template="/WEB-INF/template.xhtml">
          <ui:define name="topnav">
          <ui:include src="/WEB-INF/incl/admin_nav.xhtml" />
          </ui:define>

          <ui:define name="sidebar">
          <ui:include src="/WEB-INF/incl/login.xhtml" />
          <ui:include src="/WEB-INF/incl/stats.xhtml" />
          <ui:include src="/WEB-INF/incl/processmenu.xhtml" />
          </ui:define>

          <ui:define name="body">
          <f:subview rendered="#{!currentUser.admin}">
          The admin screen is only administrative users. Please
          login to continue. If you are looking for the store,
          try <s:link view="/browse.xhtml" value="here" />.
          </f:subview>

          <f:subview rendered="#{currentUser.admin}">
          <h1>Order Management</h1>


          Pending orders are shown here on the order management
          screen for the store manager to process. Rather than
          being data-driven, order management is process-driven.
          A JBoss jBPM process assigns fulfillment tasks to the
          manager based on the version of the process loaded.
          The manager can change the version of the process at
          any time using the admin options box to the right.




          <a onclick="window.open('../img/ordermanagement1.html','flowimg','height=560,width=300,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no'); return false;"
          href="img/ordermanagement1.html">Order process 1
          sends orders immediately to shipping, where the manager should ship
          the order and record the tracking number for the user to see.


          <a onclick="window.open('../img/ordermanagement2.html','flowimg','height=600,width=420,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no'); return false;"
          href="img/ordermanagement2.html">Order process 2
          adds an approval step where the manager is first given the chance to
          approve the order before sending it to shipping. In each case, the
          status of the order is shown in the customer's order list.


          <a onclick="window.open('../img/ordermanagement3.html','flowimg','height=660,width=470,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no'); return false;"
          href="img/ordermanagement3.html">Order process 3
          introduces a decision node. Only orders over $100.00 need to be
          accepted. Smaller orders are automatically approved for shipping.



          <h2>Task Assignment</h2>
          <c:choose>
          <c:when test="#{empty pooledTaskInstanceList}">
          There are no pooled tasks to be assigned.
          </c:when>
          <c:otherwise>
          <h:dataTable value="#{pooledTaskInstanceList}"
          var="task"
          styleClass="dvdtable"
          headerClass="dvdtablehead"
          rowClasses="dvdtableodd,dvdtableeven"
          columnClasses="dvdtablecol">
          <h:column>
          <f:facet name="header">Order Id</f:facet>
          #{task.variables['orderId']}
          </h:column>
          <h:column>
          <f:facet name="header">Task</f:facet>
          <h:outputText value="#{task.description}" />
          </h:column>
          <h:column>
          <f:facet name="header">Order Amount</f:facet>
          <h:outputText value="#{task.variables['amount']}">
          <f:convertNumber type="currency" currencySymbol="$" />
          </h:outputText>
          </h:column>
          <h:column>
          <f:facet name="header">Customer</f:facet>
          <h:outputText value="#{task.variables['customer']}" />
          </h:column>
          <h:column>
          <s:button action="#{pooledTask.assignToCurrentActor}" taskInstance="#{task}"
          value="Assign"/>
          </h:column>
          </h:dataTable>
          </c:otherwise>
          </c:choose>

          <h2>Order Acceptance</h2>
          <c:choose>
          <c:when test="#{empty taskInstanceListForType['approve']}">
          There are no orders to be accepted.
          </c:when>
          <c:otherwise>
          <h:dataTable value="#{taskInstanceListForType['approve']}"
          var="task"
          styleClass="dvdtable"
          headerClass="dvdtablehead"
          rowClasses="dvdtableodd,dvdtableeven"
          columnClasses="dvdtablecol">
          <h:column>
          <f:facet name="header">Order Id</f:facet>
          #{task.variables['orderId']}
          </h:column>
          <h:column>
          <f:facet name="header">Order Amount</f:facet>
          <h:outputText value="#{task.variables['amount']}">
          <f:convertNumber type="currency" currencySymbol="$" />
          </h:outputText>
          </h:column>
          <h:column>
          <f:facet name="header">Customer</f:facet>
          <h:outputText value="#{task.variables['customer']}" />
          </h:column>
          <h:column>
          <s:button action="#{accept.viewTask}" taskInstance="#{task}"
          value="Review"/>
          </h:column>
          </h:dataTable>
          </c:otherwise>
          </c:choose>

          <h2>Shipping</h2>
          <c:choose>
          <c:when test="#{empty taskInstanceListForType['ship']}">
          There are no orders to be shipped.
          </c:when>
          <c:otherwise>
          <h:dataTable value="#{taskInstanceListForType['ship']}"
          var="task"
          styleClass="dvdtable"
          headerClass="dvdtablehead"
          rowClasses="dvdtableodd,dvdtableeven"
          columnClasses="dvdtablecol">
          <h:column>
          <f:facet name="header">Order Id</f:facet>
          #{task.variables['orderId']}
          </h:column>
          <h:column>
          <f:facet name="header">Order Amount</f:facet>
          <h:outputText value="#{task.variables['amount']}">
          <f:convertNumber type="currency" currencySymbol="$" />
          </h:outputText>
          </h:column>
          <h:column>
          <f:facet name="header">Customer</f:facet>
          <h:outputText value="#{task.variables['customer']}" />
          </h:column>
          <h:column>
          <s:button action="#{ship.viewTask}" taskInstance="#{task}"
          value="Ship"/>
          </h:column>
          </h:dataTable>
          </c:otherwise>
          </c:choose>

          <h2>Processes</h2>
          <c:choose>
          <c:when test="#{empty processInstanceList}">
          There are no active processes.
          </c:when>
          <c:otherwise>
          <h:dataTable value="#{processInstanceList}" var="process"
          styleClass="dvdtable"
          headerClass="dvdtablehead"
          rowClasses="dvdtableodd,dvdtableeven"
          columnClasses="dvdtablecol">
          <h:column>
          <f:facet name="header">Process Definition</f:facet>
          #{process.processDefinition.name}
          </h:column>
          <h:column>
          <f:facet name="header">Process Start</f:facet>
          <h:outputText value="#{process.start}">
          <s:convertDateTime type="both"/>
          </h:outputText>
          </h:column>
          <h:column>
          <f:facet name="header">Current Node</f:facet>
          #{process.rootToken.node.name}
          </h:column>
          <h:column>
          <f:facet name="header">Current Node Enter</f:facet>
          <h:outputText value="#{process.rootToken.nodeEnter}">
          <s:convertDateTime type="both"/>
          </h:outputText>
          </h:column>
          </h:dataTable>
          </c:otherwise>
          </c:choose>

          </f:subview>
          </ui:define>
          </ui:composition>

          • 2. Re: seam-dvd example JBPM issue (seam 1.2.1.GA with jboss as
            christian.bauer

            This is a one-line fix that has been discussed before, search.

            • 3. Re: seam-dvd example JBPM issue (seam 1.2.1.GA with jboss as
              koenhandekyn

              christian

              please excuse me for the duplication.
              i had searched quit intensively inside and outside this forum.

              kind regards,

              koen