[JBoss jBPM] - automatically completing tasks
by dpatri
Hi,
I am new to jBPM so this question may seem trivial. I have scoured the documentation, and I am unable to find my answer (or don't know enough to realize the answer is looking me in the face)
I have a process definition that forks into several task nodes. For example, let us a say that a process forks into four task nodes (A, B, C, D)
I have a join between task nodes B, C, and D that when completed, moves to the next node (let's call that E). However, I have designed node "A" when completed to automatically forward to node E. In other words I need to move to node E, based on [A OR (B and C and D)]. However, even when I complete task node A, and it moves to node E - B, C, and D are still active and waiting completion. How do I setup my process definition to allow [A OR (B and C and D)] and move to E if this is satisfied. BTW all these task nodes require a human to fire the event. I'm sure this can be done easily, but I am not understanding how it should work.
Below is a snippet of the process definition that illustrates my point.
<task-node name="adminReviewOBI">
| <task name="obiwf:reviewOBITask" swimlane="obiadmin" />
| <transition name="Progress to Approval" to="fork1" />
| </task-node>
|
| <fork name="fork1">
| <transition name="tr" to "bypassApproval></transition>
| <transition name="" to="operationRiskApproval"></transition>
| <transition name="tr2" to="lcApproval"></transition>
| </fork>
|
| <task-node name="operationRiskApproval">
| <task name="obiwf:operationRiskApprovalTask" swimlane="operationRiskApprover" />
| <transition name="Approve to Checkpoint 3" to="join1"></transition>
| </task-node>
|
| <task-node name="lcApproval">
| <task name="obiwf:lcApprovalTask" swimlane="lcApprover" />
| <transition name="Approve to Checkpoint 3" to="join1"></transition>
| </task-node>
|
| <!-- Here is where I bypass-->
| <task-node name="bypassApproval">
| <task name="obiwf:bypassApprovalTask" swimlane="obiadmin" />
| <transition name="Bypass to Checkpoint 3" to="checkpoint3"></transition>
| </task-node>
|
| <join name="join1">
| <transition name="" to="checkPoint3"></transition>
| </join>
|
| <task-node name="checkPoint3">
| <task name="obiwf:checkPoint3SubmitTask" swimlane="initiator" />
| <transition name="Submit Checkpoint 3 for Approval" to="checkPoint3Approval"></transition>
| </task-node>
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4001899#4001899
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4001899
19 years, 3 months
[JBoss Seam] - Deafault Seam Resource bundle not available via the 'message
by JessicaSant
I can't get the default Seam Resource Bundle to work on my facelets pages. When I try to display text from the messages.properties file using either the inline #{messages.blah.hello} or by using the the two forms of the h:outputText value's, nothing appears. Any ideas? I'm sure its something trivial, I just can't figure it out.
You can see by the server log that it could not find the seam component: messages. Is that the problem? What causes that?
I'm running Seam 1.1.GA in JBoss 4.0.5 with the Sun RI
Thanks
- Jess
blah.xhtml
| <?xml version="1.0" encoding="UTF-8"?>
| <!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" xml:lang="en" lang="en"
| xmlns:h="http://java.sun.com/jsf/html"
| xmlns:f="http://java.sun.com/jsf/core"
| xmlns:s="http://jboss.com/products/seam/taglib"
| xmlns:ui="http://java.sun.com/jsf/facelets"
| >
| <f:view>
| <head>
| <title>Title</title>
| </head>
| <body>
| inline text: #{messages.blah.hello}<br/>
| h:outputText, messages.blah.hello: <h:outputText value="#{messages.blah.hello}"/><br/>
| h:outputText, messages['blah.hello']: <h:outputText value="#{messages['blah.hello']}"/><br/>
| </body>
| </f:view>
| </html>
|
/WEB-INF/classes/messages.properties
| blah.hello=hello there
|
server.log
| 2007-01-15 14:24:20,609 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: messages
| 2007-01-15 14:24:20,609 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.expressions
| 2007-01-15 14:24:20,609 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.expressions
| 2007-01-15 14:24:20,609 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.expressions
| 2007-01-15 14:24:20,609 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preSetVariable.org.jboss.seam.core.expressions
| 2007-01-15 14:24:20,609 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postSetVariable.org.jboss.seam.core.expressions
| 2007-01-15 14:24:20,609 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postCreate.org.jboss.seam.core.expressions
| 2007-01-15 14:24:20,625 DEBUG [org.jboss.seam.Component] seam component not found: messages
| 2007-01-15 14:24:20,625 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] could not resolve name
| 2007-01-15 14:24:20,625 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: messages
| 2007-01-15 14:24:20,625 DEBUG [org.jboss.seam.Component] seam component not found: messages
| 2007-01-15 14:24:20,625 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] could not resolve name
| 2007-01-15 14:24:20,625 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.afterPhase
|
/WEB-INF/faces-config.xml
| <faces-config>
| <application>
| <view-handler>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</view-handler>
| </application>
| <lifecycle>
| <phase-listener>org.jboss.seam.jsf.SeamPhaseListener</phase-listener>
| </lifecycle>
| </faces-config>
|
/WEB-INF/components.xml
| <components>
| <component name="org.jboss.seam.core.init">
| <property name="debug">true</property>
| </component>
| <component class="org.jboss.seam.core.Microcontainer"
| installed="false"/>
| </components>
|
/WEB-INF/web.xml
|
| <listener>
| <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
| </listener>
|
| <filter>
| <filter-name>Seam Redirect Filter</filter-name>
| <filter-class>org.jboss.seam.servlet.SeamRedirectFilter</filter-class>
| </filter>
|
| <filter-mapping>
| <filter-name>Seam Redirect Filter</filter-name>
| <url-pattern>*.seam</url-pattern>
| </filter-mapping>
|
| <!-- JSF 1.2 RI -->
| <listener>
| <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
| </listener>
| <!-- MyFaces -->
| <!--
| <listener>
| <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
| </listener>
| -->
| <context-param>
| <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
| <param-value>client</param-value>
| </context-param>
|
| <context-param>
| <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
| <param-value>.xhtml</param-value>
| </context-param>
|
| <!-- facelets -->
| <context-param>
| <param-name>facelets.DEVELOPMENT</param-name>
| <param-value>true</param-value>
| </context-param>
|
| <context-param>
| <param-name>javax.faces.CONFIG_FILES</param-name>
| <param-value>/WEB-INF/navigation.xml</param-value>
| </context-param>
|
| <servlet>
| <servlet-name>Faces Servlet</servlet-name>
| <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
| <load-on-startup>1</load-on-startup>
| </servlet>
|
| <servlet-mapping>
| <servlet-name>Faces Servlet</servlet-name>
| <url-pattern>*.seam</url-pattern>
| </servlet-mapping>
|
| </web-app>
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4001897#4001897
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4001897
19 years, 3 months
[JBoss Seam] - Nested property best practice
by shea.phillips
Hello,
I am experimenting with Seam's new Application Framework stuff (EnitityHome, etc.) in order to write as little code as possible for doing trivial things (CRUD, in particular).
The question I have relates to editing a parent object and attributes of child objects from within the same form. Specifically, I have a "Person" class that contains an instance of an "EmailAddress" class as a property. The EmailAddress has a "locationAddress" propety that contains the actual address String. The EmailAddress will initially be null (which is a legitimate case). I want to use a single "Person" editing form for capturing the Person's simple propeties and a simple text input in that for for the email address. The problem I am looking for advice on is how to deal with intelligently instantiating an EmailAddress when a user enters a string. Since the the emailAddress property of the Person instance is initially null, JSF binding fails when a user enters an email address in the form. (the binding expression for the email inputText is #{myperson.emailAddress.locationAddress}).
Does anyone have any clean solutions for automagically instantiating an EmailAddress instance and binding it to the Person's emailAddress property prior to binding the provided emailAddress string to it?
I realize I could add properties and logic to my Home class to deal with this, or provide delegate transient properties on my Person class, but I am hoping to avoid this, since this is a pretty common situation and I would like as clean a solution as possible.
This is not specific to Seam, or the App Framework, or JSF for that matter, but I am hoping someone has some thoughts on it....
Thanks,
Shea.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4001891#4001891
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4001891
19 years, 3 months