[JBoss jBPM] - Re: xml export
by msandoz
"kukeltje" wrote : regarding the deprecated class: correct, since the core-engine now stores the process in xml format as well when deploying, converting back is no longer needed
|
| regarding the manipulation of the domain objects, isn't that you design choise if you beuild a new editor?
hi thanks for the info. My motivation is that I'd like to concentrate on programmatically creating process definitions and then having them exported from my editor as xml for later submission. is there a way to do that?
Here's my understanding of the use case:
1. Create process definitions in GUI editor, complete with actions, etc.
2. Store on local file system in xml while its being worked on
3. When ready to instantiate, submit the xml to the engine.
4. Get feedback from the engine on run state etc.
if my assumption is correct, it seems theres a step needed to create the xml. does the engine do that? That seems to be how the existing editor works. Is that correct?
Thank You,
Matthew
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4047089#4047089
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4047089
18 years, 11 months
[JBoss Seam] - Re: Seam CVS now on JBoss AS 4.2 CR1
by javabr
I am sorry, I forget:
My components.xml:
| <?xml version="1.0" encoding="UTF-8"?>
| <components xmlns="http://jboss.com/products/seam/components"
| xmlns:core="http://jboss.com/products/seam/core"
| xmlns:web="http://jboss.com/products/seam/web"
| xmlns:drools="http://jboss.com/products/seam/drools"
| xmlns:security="http://jboss.com/products/seam/security"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xmlns:mail="http://jboss.com/products/seam/mail"
| xsi:schemaLocation="http://jboss.com/products/seam/core http://jboss.com/products/seam/core-1.2.xsd
| http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-1.2.xsd
| http://jboss.com/products/seam/security http://jboss.com/products/seam/security-1.2.xsd
| http://jboss.com/products/seam/components http://jboss.com/products/seam/components-1.2.xsd
| http://jboss.com/products/seam/web http://jboss.com/products/seam/web-1.2.xsd">
|
| <core:init debug="true" jndi-pattern="@jndiPattern@" />
|
| <core:manager concurrent-request-timeout="500"
| conversation-timeout="120000" conversation-id-parameter="cid"
| conversation-is-long-running-parameter="clr" />
|
| <core:managed-persistence-context name="entityManager"
| auto-create="true"
| persistence-unit-jndi-name="java:/etaskEntityManagerFactory" />
|
| <core:ejb installed="@embeddedEjb@" />
|
| <drools:rule-base name="securityRules">
| <drools:rule-files>
| <value>/security.drl</value>
| </drools:rule-files>
| </drools:rule-base>
|
| <security:identity
| authenticate-method="#{authenticator.authenticate}"
| security-rules="#{securityRules}" remember-me="true" />
|
| <event type="org.jboss.seam.notLoggedIn">
| <action expression="#{redirect.captureCurrentView}" />
| </event>
| <event type="org.jboss.seam.postAuthenticate">
| <action expression="#{redirect.returnToCapturedView}" />
| </event>
|
| <!-- For use with jBPM pageflow or process management -->
| <!--
| <core:jbpm>
| <core:process-definitions></core:process-definitions>
| <core:pageflow-definitions></core:pageflow-definitions>
| </core:jbpm>
| -->
|
| <web:multipart-filter create-temp-files="true"
| max-request-size="100000000" url-pattern="*.seam" />
|
| <mail:mail-session session-jndi-name="java:/Mail" />
|
| <mail:mail-session host="mail.bittecnologia.com" />
|
|
| <core:resource-bundle>
| <core:bundle-names>
| <value>messages</value>
| </core:bundle-names>
| </core:resource-bundle>
|
| <core:dispatcher />
|
| </components>
|
My web.xml:
| <?xml version="1.0" encoding="UTF-8"?>
| <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
|
| <description>workflow for everything</description>
| <display-name>eTask</display-name>
|
| <!-- Ajax4jsf (must come first!) -->
|
| <filter>
| <filter-name>ajax4jsf</filter-name>
| <filter-class>org.ajax4jsf.Filter</filter-class>
| </filter>
|
| <filter-mapping>
| <filter-name>ajax4jsf</filter-name>
| <url-pattern>*.seam</url-pattern>
| <dispatcher>REQUEST</dispatcher>
| <dispatcher>FORWARD</dispatcher>
| <dispatcher>INCLUDE</dispatcher>
| </filter-mapping>
|
| <context-param>
| <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
| <param-value>
| org.jboss.seam.ui.facelet.SeamFaceletViewHandler
| </param-value>
| </context-param>
|
| <!-- Seam -->
|
| <listener>
| <listener-class>
| org.jboss.seam.servlet.SeamListener
| </listener-class>
| </listener>
|
| <filter>
| <filter-name>Seam Filter</filter-name>
| <filter-class>org.jboss.seam.web.SeamFilter</filter-class>
| </filter>
|
| <filter-mapping>
| <filter-name>Seam Filter</filter-name>
| <url-pattern>/*</url-pattern>
| </filter-mapping>
|
| <servlet>
| <servlet-name>Seam Resource Servlet</servlet-name>
| <servlet-class>
| org.jboss.seam.servlet.ResourceServlet
| </servlet-class>
| </servlet>
|
| <servlet-mapping>
| <servlet-name>Seam Resource Servlet</servlet-name>
| <url-pattern>/seam/resource/*</url-pattern>
| </servlet-mapping>
|
| <!-- Facelets development mode (disable in production) -->
|
| <context-param>
| <param-name>facelets.DEVELOPMENT</param-name>
| <param-value>true</param-value>
| </context-param>
|
| <context-param>
| <param-name>facelets.LIBRARIES</param-name>
| <param-value>
| /WEB-INF/creator.taglib.xml;/WEB-INF/bit.taglib.xml
| </param-value>
| </context-param>
|
| <!-- JSF -->
| <context-param>
| <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
| <param-value>server</param-value>
| </context-param>
|
| <context-param>
| <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
| <param-value>.xhtml</param-value>
| </context-param>
|
| <servlet>
| <servlet-name>ThemeServlet</servlet-name>
| <servlet-class>
| com.sun.rave.web.ui.theme.ThemeServlet
| </servlet-class>
| </servlet>
|
|
| <servlet-mapping>
| <servlet-name>ThemeServlet</servlet-name>
| <url-pattern>/etask/theme/*</url-pattern>
| </servlet-mapping>
|
| <servlet-mapping>
| <servlet-name>ThemeServlet</servlet-name>
| <url-pattern>/theme/*</url-pattern>
| </servlet-mapping>
|
| <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>
|
|
|
| <session-config>
| <session-timeout>120</session-timeout>
| </session-config>
| <security-constraint>
| <display-name>Restrict raw XHTML Documents</display-name>
| <web-resource-collection>
| <web-resource-name>XHTML</web-resource-name>
| <url-pattern>*.xhtml</url-pattern>
| </web-resource-collection>
| <auth-constraint>
| <role-name>NONE</role-name>
| </auth-constraint>
| </security-constraint>
|
| </web-app>
|
My faces-config.xml:
| <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
|
| <application>
| <el-resolver>org.jboss.seam.jsf.SeamELResolver</el-resolver>
| <message-bundle>messages</message-bundle>
| </application>
|
| <lifecycle>
| <phase-listener>
| org.jboss.seam.jsf.TransactionalSeamPhaseListener
| </phase-listener>
| </lifecycle>
|
| <converter>
| <converter-id>actorGroupConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.ActorGroupConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>actorAndActorGroupConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.ActorAndActorGroupConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>searchConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.SearchConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>configConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.ConfigConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>actorGroupIntegerConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.ActorGroupIntegerConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>actorConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.ActorConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>priorityConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.PriorityConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>statusConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.StatusConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>statusOptionConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.StatusOptionConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>taskConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.TaskConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>taskGroupConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.TaskGroupConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>tasktypeConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.TasktypeConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>fieldNameConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.ExtraFieldNameConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>workspaceConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.WorkspaceConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>
| javax.faces.convert.IntegerConverter
| </converter-id>
| <converter-class>
| javax.faces.convert.IntegerConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>resourcetypeConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.ResourcetypeConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>resourceConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.ResourceConverter
| </converter-class>
| </converter>
|
| <converter>
| <converter-id>IntegerConverter</converter-id>
| <converter-class>
| org.bit.etask.converter.IntegerConverter
| </converter-class>
| </converter>
|
| <validator>
| <validator-id>actorGroupValidator</validator-id>
| <validator-class>
| org.bit.etask.converter.ActorGroupValidator
| </validator-class>
| </validator>
|
| </faces-config>
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4047084#4047084
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4047084
18 years, 11 months
[JBoss Seam] - s:validateAll throwing
by javabr
Guys,
I just moved to jboss 4.2.0 GA w/ seam cvs. Could you please help me get out on it ?
After solve some javascript problems adding on f:view the contentType="text/html" I am facing a new problem: (it was working on 4.0.2 and seam 1.2.0GA)
The "component has no value attribute: .." message rises in a selectOneMenu like this:
<h:outputLabel for="workspace">
#{messages['labels.taskEdit.workspace']}
*
</h:outputLabel>
<s:decorate id="workspaceDecoration">
<h:selectOneMenu value="#{taskHome.instance.workspace}"
id="workspace" converter="workspaceConverter" immediate="true"
onchange="this.form.submit();" disabled="#{taskHome.managed}"
valueChangeListener="#{taskHome.workspaceChanged}">
<f:selectItem itemValue="" itemLabel="" id="workspacenullitem" />
<f:selectItems value="#{workspaceList.allFromLoggedActor}" />
</h:selectOneMenu>
</s:decorate>
my workspaceConverter:
public class WorkspaceConverter implements Converter {
/** Creates a new instance */
public WorkspaceConverter() {
}
public Object getAsObject(FacesContext facesContext, UIComponent uIComponent, String string) throws ConverterException {
if (string == null || string.equals("")) {
return null;
}
Workspace vo = ((EntityManager) Component.getInstance("entityManager")).find(Workspace.class, Integer.valueOf(string));
return vo;
}
public String getAsString(FacesContext facesContext, UIComponent uIComponent, Object object) throws ConverterException {
if (object == null || object.equals("")) {
return (String) object;
}
return String.valueOf(((Workspace) object).getId());
}
what I am doing wrong?
1) this same error happens in other parts in my system (I have used this selectonemenus + this same king of converter everywhere
2) I am getting no errors on jboss start.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4047083#4047083
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4047083
18 years, 11 months
[JBoss Seam] - Re: Is it good to code JSP-specific information in EJB??
by jazir1979
Hi Alain,
I think that should work using the @DataModelSelection annotation to inject the selected row.
I guess our experiences are different, because I've rarely used existing EJB services written "years before" for a new UI. But as I said, it's easy to keep this separation, so what is the big deal with having UI concerns in your Seam EJBs?
If you use RichFaces, being able to inject a UI component and manipulate it based on an AJAX-initiated action can be very handy: @In(required = false, value = "#{uiComponent['panel']}") private UIPanel richPanel;
Daniel.
"hsiung" wrote : hi Daniel,
|
| I'm not sure I understand your point. In a matter of facts, actually in most cases I know of, the EJB services are settled. New web applications running on a web container use EJB services already written years before. It would be complicating the architecture to introduce UI concerns in a service layer that is per definition a UI neutral layer. Yes, separating UI concerns from the service layer is a true requirement.
|
| I was refering to Pete's statement
| anonymous wrote : [the tree case] is really the only case when I have to put UI in a component.
| As I understand his statement, SelectOneRadio (which is NOT a tree) works without putting UI concerns in the EJB layer. I'm sure he is correct. So I simply ask how do SelectOneRadio works without ValueChangeEvent in the EJB, assuming we remove the backing bean in the web container with Seam.
|
| Alain
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4047080#4047080
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4047080
18 years, 11 months
[JBoss Seam] - Re: Is it good to code JSP-specific information in EJB??
by hsiung
hi Daniel,
I'm not sure I understand your point. In a matter of facts, actually in most cases I know of, the EJB services are settled. New web applications running on a web container use EJB services already written years before. It would be complicating the architecture to introduce UI concerns in a service layer that is per definition a UI neutral layer. Yes, separating UI concerns from the service layer is a true requirement.
I was refering to Pete's statement
anonymous wrote : [the tree case] is really the only case when I have to put UI in a component.
As I understand his statement, SelectOneRadio (which is NOT a tree) works without putting UI concerns in the EJB layer. I'm sure he is correct. So I simply ask how do SelectOneRadio works without ValueChangeEvent in the EJB, assuming we remove the backing bean in the web container with Seam.
Alain
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4047079#4047079
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4047079
18 years, 11 months
[JBoss Seam] - Re: Is it good to code JSP-specific information in EJB??
by jazir1979
Hi,
If seperating these UI concerns from the business logic is a great concern, there is no reason you can't have a more traditional stateless service layer that your Seam EJBs talk to, and which could then be used by other clients.
You'll need to get your persistence context strategy right, so that your Seam-managed PC propagates into the next layer (if you want that), but it's definitely possible.
Remember though that other non-Seam clients of this service layer won't have a Seam-managed PC and will need everything fully populated if you want to avoid lazy initialisation exceptions and the like.
Daniel.
"hsiung" wrote : Hi Pete
|
| I don't understand how to avoid using UI elements like ValueChangeEvent when using SelectOneRadio.
| Or simply how to use SelectOneRadio in a table without using UI information on the EJB container.
| I just want to select a row (I think SelectOneRadio is apropriate) and then choose an action (press a button). On the SFSB the action should know which row has been selected.
|
| Thanks for your help
| Alain
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4047076#4047076
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4047076
18 years, 11 months