JBoss JBPM SVN: r5550 - in projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk: bootstrap and 35 other directories.
by do-not-reply@jboss.org
Author: jbarrez
Date: 2009-08-26 12:08:05 -0400 (Wed, 26 Aug 2009)
New Revision: 5550
Added:
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/.classpath
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/.project
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/META-INF/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/META-INF/persistence.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/commons-logging.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/bootstrap-beans.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/jboss-service.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/jbossjta-properties.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/login-config.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/props/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/props/messaging-roles.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/props/messaging-users.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/ejb3-interceptors-aop.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/hsqldb-ds.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/jboss-local-jdbc.rar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/jboss-xa-jdbc.rar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/jms-ra.rar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/connection-factories-service.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/destinations-service.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/hsqldb-persistence-service.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/jms-ds.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/legacy-service.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/messaging-service.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/remoting-service.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/remoting-service.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/aspect-deployer-beans.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/ejb-deployer-beans.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/ejb3-deployers-beans.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/jboss-aspect-library-beans.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/jca-deployers-beans.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/metadata-beans.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/security-deployer-beans.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/jndi.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/log4j.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build-dev.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build-prod.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/classes/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/debug-glassfish-jbpm_on_rails_bam.launch
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/debug-jboss-jbpm_on_rails_bam.launch
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/deployed-jars-ear.list
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/deployed-jars-war.list
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/dist/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/explode.launch
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/glassfish-build.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/glassfish-readme.txt
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/hibernate-console.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/jbpm_on_rails_bam.iml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/jbpm_on_rails_bam.ipr
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/jbpm_on_rails_bam.launch
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/FastInfoset.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/activation.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/ant-antlr.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/antlr-runtime.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/antlr.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/bsh.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/cglib-nodep.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-beanutils.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-codec.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-collections.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-digester.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-httpclient.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-io.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-lang.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-logging.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/concurrent.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/core.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/darkX.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/dbunit.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/dom4j.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/drools-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/drools-compiler.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/drools-core.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/drools-decisiontables.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/drools-templates.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/ehcache.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/ejb-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/ejb3-persistence.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/el-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/emma.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/gen/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/glassX.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/groovy-all.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/guice.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/gwt-servlet.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-annotations.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-commons-annotations.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-core.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-entitymanager.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-search.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-validator.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hsqldb.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/htmlparser.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/interop/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/itext-rtf.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/itext.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/janino.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/javassist.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jaxb-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jaxrs-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jaxws-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-cache.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-common-core.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-deployers-client-spi.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-deployers-core-spi.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-el.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-embedded-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-jmx.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-logging-spi.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-debug.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-excel.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-ioc.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-jul.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-mail.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-pdf.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-remoting.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-rss.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-ui.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-system.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-vfs.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jbosscache-core.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jbpm-jpdl.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jcommon.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jettison.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jfreechart.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jgroups.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jms.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/joda-time.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsf-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsf-facelets.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsf-impl.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsp-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsr181-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsr250-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jta.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/junit.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jxl.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/laguna.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/log4j.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/lucene-core.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/mail.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/meldware-mailapi.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/meldware-mailjmx.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/metawidget-backend.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/metawidget-frontend.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/metawidget.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/mvel2.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/openid4java.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/openxri-client.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/openxri-syntax.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/persistence-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/portlet-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/primefaces-ui-0.9.1.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/quartz.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/resteasy-atom-provider.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/resteasy-jaxb-provider.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/resteasy-jaxrs.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/richfaces-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/richfaces-impl.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/richfaces-ui.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/saaj-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/servlet-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/sjsxp.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/slf4j-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/slf4j-log4j12.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/spring.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-debug-sources.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-excel-sources.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-ioc-sources.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-mail-sources.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-pdf-sources.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-remoting-sources.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-resteasy-sources.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-rss-sources.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-sources.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-ui-sources.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-wicket-ant-sources.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-wicket-sources.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/stax-api.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/test/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/test/hibernate-all.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/test/jboss-embedded-all.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/test/thirdparty-all.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/testng.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/urlrewritefilter.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/wicket-datetime.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/wicket-extensions.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/wicket-ioc.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/wicket.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/xml-apis.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/xpp3_min.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/xstream.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/yarfraw.jar
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/nbproject/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/nbproject/debug-jboss.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/nbproject/ide-file-targets.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/nbproject/project.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/application.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/ejb-jar.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/jboss-app.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/orm.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/persistence-dev.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/persistence-prod.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/persistence-test.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/components.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/faces-config.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/pages.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/web.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/components-dev.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/components-prod.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/components-test.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/glassfish-resources-dev.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/glassfish-resources-prod.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/import-dev.sql
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/import-prod.sql
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/import-test.sql
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/jbpm_on_rails_bam-dev-ds.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/jbpm_on_rails_bam-prod-ds.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_bg.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_de.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_en.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_fr.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_it.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_tr.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/seam-gen.reveng.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/seam.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/security.drl
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/seam-gen.properties
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/Authenticator.java
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/AuthenticatorBean.java
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/GraphProducer.java
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/GraphProducerBean.java
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/util/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/util/DataSourceUtil.java
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/util/JdbcCallback.java
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/util/JdbcTemplate.java
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/main/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/main/org/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/main/org/jbpm/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/main/org/jbpm/trainticketdemo/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/main/org/jbpm/trainticketdemo/bam/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/main/org/jbpm/trainticketdemo/bam/entity/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/main/org/jbpm/trainticketdemo/bam/entity/Metric.java
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/main/org/jbpm/trainticketdemo/bam/entity/TicketSale.java
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/test/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/test/org/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/test/org/jbpm/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/test/org/jbpm/trainticketdemo/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/test/org/jbpm/trainticketdemo/test/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/test/readme.txt
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/validate.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/error.xhtml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/favicon.ico
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/home.xhtml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/btnmanageroles.png
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/btnmanageusers.png
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/btnnewpermission.png
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/btnnewrole.png
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/btnnewuser.png
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/dtpick.gif
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/error.gif
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/false.png
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/header.jpg
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/header_small.jpg
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/manytoone.gif
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/msgerror.png
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/msginfo.png
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/msgwarn.png
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/onetomany.gif
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/seamlogo.png
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/true.png
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/index.html
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/display.xhtml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/edit.xhtml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/menu.xhtml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/sort.xhtml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/template.xhtml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/login.page.xml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/login.xhtml
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/stylesheet/
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/stylesheet/theme.css
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/stylesheet/theme.xcss
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/stylesheet/useradmin.css
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/test.xhtml
Modified:
projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/
Log:
Initial import of Seam jBPM BAM app
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk
___________________________________________________________________
Name: svn:ignore
+ .settings
exploded-archives
test-build
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/.classpath
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/.classpath (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/.classpath 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="classes/main" path="src/main"/>
+ <classpathentry kind="src" output="classes/hot" path="src/hot"/>
+ <classpathentry kind="src" output="classes/test" path="src/test"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="lib" path="bootstrap"/>
+ <classpathentry kind="lib" path="lib/hibernate-validator.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-core.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-annotations.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-commons-annotations.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-entitymanager.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam.jar" sourcepath="lib/src/jboss-seam-sources.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam-ui.jar" sourcepath="lib/src/jboss-seam-ui-sources.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam-debug.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-cache.jar"/>
+ <classpathentry kind="lib" path="lib/jbpm-jpdl.jar"/>
+ <classpathentry kind="lib" path="lib/antlr.jar"/>
+ <classpathentry kind="lib" path="lib/jgroups.jar"/>
+ <classpathentry kind="lib" path="lib/jsf-facelets.jar"/>
+ <classpathentry kind="lib" path="lib/jsf-api.jar"/>
+ <classpathentry kind="lib" path="lib/servlet-api.jar"/>
+ <classpathentry kind="lib" path="lib/testng.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-el.jar"/>
+ <classpathentry kind="lib" path="lib/el-api.jar"/>
+ <classpathentry kind="lib" path="lib/mvel2.jar"/>
+ <classpathentry kind="lib" path="lib/drools-api.jar"/>
+ <classpathentry kind="lib" path="lib/drools-core.jar"/>
+ <classpathentry kind="lib" path="lib/drools-compiler.jar"/>
+ <classpathentry kind="lib" path="lib/drools-decisiontables.jar"/>
+ <classpathentry kind="lib" path="lib/drools-templates.jar"/>
+ <classpathentry kind="lib" path="lib/janino.jar"/>
+ <classpathentry kind="lib" path="lib/antlr-runtime.jar"/>
+ <classpathentry kind="lib" path="lib/mail.jar"/>
+ <classpathentry kind="lib" path="lib/persistence-api.jar"/>
+ <classpathentry kind="lib" path="lib/ejb-api.jar"/>
+ <classpathentry kind="lib" path="lib/jsr250-api.jar"/>
+ <classpathentry kind="lib" path="lib/jta.jar"/>
+ <classpathentry kind="lib" path="lib/core.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-embedded-api.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-search.jar"/>
+ <classpathentry kind="lib" path="lib/richfaces-api.jar"/>
+ <classpathentry kind="lib" path="lib/hsqldb.jar"/>
+ <classpathentry kind="lib" path="lib/lucene-core.jar"/>
+ <classpathentry kind="lib" path="/home/jbarrez/dev/blog/jboss_world_demo/workspace/jbpm_on_rails_bam/lib/primefaces-ui-0.9.1.jar"/>
+ <classpathentry kind="output" path="test-build"/>
+</classpath>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/.project
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/.project (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/.project 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>jbpm_on_rails_bam</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>auto,full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value><project>/explode.launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.tools.seam.core.seambuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.hibernate.eclipse.console.hibernateNature</nature>
+ <nature>org.jboss.tools.seam.core.seamnature</nature>
+ </natures>
+</projectDescription>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/META-INF/persistence.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/META-INF/persistence.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/META-INF/persistence.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,17 @@
+hibernate.transaction.manager_lookup_class=org.hibernate.transaction.JBossTransactionManagerLookup
+#hibernate.connection.release_mode=after_statement
+#hibernate.transaction.flush_before_completion=false
+#hibernate.transaction.auto_close_session=false
+#hibernate.query.factory_class=org.hibernate.hql.ast.ASTQueryTranslatorFactory
+#hibernate.hbm2ddl.auto=create-drop
+#hibernate.hbm2ddl.auto=create
+hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider
+# Clustered cache with TreeCache
+#hibernate.cache.provider_class=org.jboss.ejb3.entity.TreeCacheProviderHook
+#hibernate.treecache.mbean.object_name=jboss.cache:service=EJB3EntityTreeCache
+#hibernate.dialect=org.hibernate.dialect.HSQLDialect
+hibernate.jndi.java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+hibernate.jndi.java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
+hibernate.bytecode.use_reflection_optimizer=false
+# I don't think this is honored, but EJB3Deployer uses it
+hibernate.bytecode.provider=javassist
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/commons-logging.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/commons-logging.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/commons-logging.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,5 @@
+# The Sun JSF RI bundles and wraps commons-logging, which, for unknown reasons, disables any other
+# commons-logging (my guess: the LogFactoryImpl detection routine is broken). This configuration
+# file makes it work again (also for unknown reasons).
+org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl
+org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/bootstrap-beans.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/bootstrap-beans.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/bootstrap-beans.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ The bootstrap of the server
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <bean name="SystemProperties" class="org.jboss.embedded.util.SystemProperties">
+ <property name="properties">
+ <map keyClass="java.lang.String" valueClass="java.lang.String">
+ <entry>
+ <key>jboss.bind.address</key>
+ <value>127.0.0.1</value>
+ </entry>
+ <entry>
+ <key>com.arjuna.ats.arjuna.common.propertiesFile</key>
+ <value>${jboss.home.dir}/conf/jbossjta-properties.xml</value>
+ </entry>
+ <entry>
+ <key>com.arjuna.ats.arjuna.objectstore.objectStoreDir</key>
+ <value>${jboss.server.data.dir}/ObjectStore</value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <!-- The legacy JMX kernel -->
+ <bean name="JMXKernel" class="org.jboss.embedded.adapters.JMXKernel">
+ <property name="kernel">
+ <inject bean="jboss.kernel:service=Kernel"/>
+ </property>
+ <property name="serverConfig">
+ <inject bean="ServerConfig"/>
+ </property>
+ </bean>
+
+ <!-- The MainDeployer -->
+ <bean name="MainDeployer" class="org.jboss.deployers.plugins.main.MainDeployerImpl">
+ <property name="structuralDeployers"><inject bean="StructuralDeployers"/></property>
+ <property name="deployers"><inject bean="Deployers"/></property>
+ </bean>
+
+ <!-- The holder for deployers that determine structure -->
+ <bean name="StructuralDeployers" class="org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl">
+ <property name="structureBuilder">
+ <!-- The consolidator of the structure information -->
+ <bean name="StructureBuilder" class="org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder"/>
+ </property>
+ <!-- Accept any implementor of structure deployer -->
+ <incallback method="addDeployer"/>
+ <uncallback method="removeDeployer"/>
+ </bean>
+
+ <!-- The holder for deployers that do real deployment -->
+ <bean name="Deployers" class="org.jboss.deployers.plugins.deployers.DeployersImpl">
+ <constructor><parameter><inject bean="jboss.kernel:service=KernelController"/></parameter></constructor>
+ <!-- Accept any implementor of deployer -->
+ <incallback method="addDeployer"/>
+ <uncallback method="removeDeployer"/>
+ </bean>
+
+ <!-- A declared structure descriptor deployer -->
+ <bean name="DeclaredStructure" class="org.jboss.deployers.vfs.plugins.structure.explicit.DeclaredStructure"></bean>
+
+ <!-- JAR Structure -->
+ <bean name="JARStructure" class="org.jboss.deployers.vfs.plugins.structure.jar.JARStructure">
+ <!-- Unless specified the default list of suffixes is .zip, .ear, .jar, ,.rar, .war, .sar, .har, .aop -->
+ <constructor>
+ <parameter>
+ <set elementClass="java.lang.String">
+ <value>.zip</value>
+ <value>.ear</value>
+ <value>.jar</value>
+ <value>.rar</value>
+ <value>.war</value>
+ <value>.sar</value>
+ <value>.har</value>
+ <value>.aop</value>
+ <value>.deployer</value>
+ <value>.beans</value>
+ </set>
+ </parameter>
+ </constructor>
+ <property name="candidateStructureVisitorFactory">
+ <!-- Any file that is not an ordinary directory is a candidate -->
+ <bean name="JARStructureCandidates" class="org.jboss.deployers.vfs.spi.structure.helpers.DefaultCandidateStructureVisitorFactory">
+ <!-- A filter to exclude some obvious non-subdeployments -->
+ <property name="filter">
+ <bean name="JARFilter" class="org.jboss.virtual.plugins.vfs.helpers.SuffixesExcludeFilter">
+ <constructor><parameter>
+ <list elementClass="java.lang.String">
+ <!-- Exclude class files as subdeployments -->
+ <value>.class</value>
+ </list>
+ </parameter></constructor>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ </bean>
+
+ <!-- File Structure -->
+ <bean name="FileStructure" class="org.jboss.deployers.vfs.plugins.structure.file.FileStructure">
+ <!-- Unless specified the default list of suffixes is -service.xml, -beans.xml, -ds.xml, -aop.xml -->
+ <constructor>
+ <parameter>
+ <set elementClass="java.lang.String">
+ <value>-service.xml</value>
+ <value>-beans.xml</value>
+ <value>-ds.xml</value>
+ <value>-aop.xml</value>
+ </set>
+ </parameter>
+ </constructor>
+ </bean>
+
+ <!-- POJO Deployment -->
+ <bean name="BeanDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanDeployer">
+ <property name="type">beans</property>
+ </bean>
+ <bean name="KernelDeploymentDeployer" class="org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer">
+ <property name="type">beans</property>
+ </bean>
+ <bean name="BeanMetaDataDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer">
+ <constructor><parameter><inject bean="jboss.kernel:service=Kernel"/></parameter></constructor>
+ <property name="type">beans</property>
+ </bean>
+
+ <!-- JMX Deployment -->
+ <bean name="SARDeployer" class="org.jboss.system.deployers.SARDeployer">
+ <property name="type">sar</property>
+ </bean>
+ <bean name="ServiceClassLoaderDeployer" class="org.jboss.embedded.ClassLoaderDeployer"/>
+ <bean name="ServiceDeploymentDeployer" class="org.jboss.system.deployers.ServiceDeploymentDeployer">
+ <property name="type">sar</property>
+ </bean>
+ <bean name="ServiceDeployer" class="org.jboss.system.deployers.ServiceDeployer">
+ <constructor><parameter><inject bean="JMXKernel" property="serviceController"/></parameter></constructor>
+ <property name="type">sar</property>
+ </bean>
+
+ <!-- A filter for excluding files from the scanner -->
+ <bean name="DeploymentFilter" class="org.jboss.virtual.plugins.vfs.helpers.ExtensibleFilter">
+ <!-- Files starting with theses strings are ignored -->
+ <property name="prefixes">#,%,\,,.,_$</property>
+ <!-- Files ending with theses strings are ignored -->
+ <property name="suffixes">#,$,%,~,\,v,.BAK,.bak,.old,.orig,.tmp,.rej,.sh</property>
+ <!-- Files matching with theses strings are ignored -->
+ <property name="matches">.make.state,.nse_depinfo,CVS,CVS.admin,RCS,RCSLOG,SCCS,TAGS,core,tags</property>
+ </bean>
+
+ <!--
+ JNDI Initialization of basic beans (NO REMOTING)
+ -->
+ <bean name="Naming" class="org.jnp.server.SingletonNamingServer"/>
+ <bean name="java:comp" class="org.jboss.naming.JavaCompInitializer"/>
+
+ <!-- register Naming bean with dispatcher just in case we want to have a remote JNDI connection -->
+ <bean name="JndiRegistration" class="org.jboss.aspects.remoting.DispatcherRegistration">
+ <property name="oid">JNDI</property>
+ <property name="target"><inject bean="Naming"/></property>
+ </bean>
+
+ <!--
+ Bootstrap old JMX-based core services
+ setup deployers
+ setup deploy/ directory
+ -->
+ <bean name="ResourcesToDeploy" class="org.jboss.embedded.DeploymentScanner">
+ <property name="filter">
+ <inject bean="DeploymentFilter"/>
+ </property>
+ <property name="mainDeployer">
+ <inject bean="MainDeployer"/>
+ </property>
+ <property name="kernel">
+ <inject bean="jboss.kernel:service=Kernel"/>
+ </property>
+ <property name="resources">
+ <list elementClass="java.lang.String">
+ <value>${jboss.embedded.bootstrap.resource.path}conf/jboss-service.xml</value>
+ </list>
+ </property>
+ </bean>
+
+ <bean name="UserTransaction" class="org.jboss.embedded.adapters.LocalOnlyUserTransaction"/>
+
+ <bean name="UserTransactionBinding" class="org.jboss.naming.JndiBinder">
+ <property name="target">
+ <inject bean="UserTransaction"/>
+ </property>
+ <property name="bindTo">UserTransaction</property>
+ <property name="serializable">false</property>
+ </bean>
+
+ <!-- FIXME EMB-2 -->
+ <bean name="UserTransactionBinding2" class="org.jboss.naming.JndiBinder">
+ <property name="target">
+ <inject bean="UserTransaction"/>
+ </property>
+ <property name="bindTo">java:comp/UserTransaction</property>
+ <property name="serializable">false</property>
+ </bean>
+
+
+ <bean name="ResourcesToDeploy2" class="org.jboss.embedded.DeploymentScanner">
+ <property name="filter">
+ <inject bean="DeploymentFilter"/>
+ </property>
+ <property name="mainDeployer">
+ <inject bean="MainDeployer"/>
+ </property>
+ <property name="kernel">
+ <inject bean="jboss.kernel:service=Kernel"/>
+ </property>
+ <property name="directoriesByResource">
+ <list elementClass="java.lang.String">
+ <value>${jboss.embedded.bootstrap.resource.path}conf/jboss-service.xml/../deployers</value>
+ </list>
+ </property>
+ </bean>
+ <bean name="ResourcesToDeploy3" class="org.jboss.embedded.DeploymentScanner">
+ <property name="filter">
+ <inject bean="DeploymentFilter"/>
+ </property>
+ <property name="mainDeployer">
+ <inject bean="MainDeployer"/>
+ </property>
+ <property name="kernel">
+ <inject bean="jboss.kernel:service=Kernel"/>
+ </property>
+ <property name="directoriesByResource">
+ <list elementClass="java.lang.String">
+ <value>${jboss.embedded.bootstrap.resource.path}conf/jboss-service.xml/../deploy</value>
+ </list>
+ </property>
+ </bean>
+</deployment>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/jboss-service.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/jboss-service.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/jboss-service.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id: jboss-service.xml 6916 2007-12-05 17:53:00Z pmuir $ -->
+
+<!-- ===================================================================== -->
+<!-- JBoss Server Configuration -->
+<!-- ===================================================================== -->
+
+<server>
+
+ <!-- ==================================================================== -->
+ <!-- Main Deployer -->
+ <!-- ==================================================================== -->
+ <mbean code="org.jboss.deployment.MainDeployer"
+ name="jboss.system:service=MainDeployer">
+ <!-- This is used to delegate the deployment handling -->
+ <attribute name="KernelMainDeployer"><inject bean="MainDeployer" /></attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- SAR Deployer -->
+ <!-- ==================================================================== -->
+ <mbean code="org.jboss.deployment.SARDeployer"
+ name="jboss.system:service=ServiceDeployer">
+ <depends>jboss.system:service=MainDeployer</depends>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- Security -->
+ <!-- ==================================================================== -->
+
+ <mbean code="org.jboss.security.plugins.SecurityConfig"
+ name="jboss.security:service=SecurityConfig">
+ <attribute name="LoginConfig">jboss.security:service=XMLLoginConfig</attribute>
+ <depends>jboss.security:service=XMLLoginConfig</depends>
+ </mbean>
+ <mbean code="org.jboss.security.auth.login.XMLLoginConfig"
+ name="jboss.security:service=XMLLoginConfig">
+ <attribute name="ConfigResource">${jboss.embedded.bootstrap.resource.path}conf/login-config.xml</attribute>
+ </mbean>
+
+ <!-- JAAS security manager and realm mapping -->
+ <mbean code="org.jboss.security.plugins.JaasSecurityManagerService"
+ name="jboss.security:service=JaasSecurityManager">
+ <!-- A flag which indicates whether the SecurityAssociation server mode
+ is set on service creation. This is true by default since the
+ SecurityAssociation should be thread local for multi-threaded server
+ operation.
+ -->
+ <attribute name="ServerMode">true</attribute>
+ <attribute name="SecurityManagerClassName">org.jboss.security.plugins.JaasSecurityManager</attribute>
+ <attribute name="DefaultUnauthenticatedPrincipal">anonymous</attribute>
+ <!-- DefaultCacheTimeout: Specifies the default timed cache policy timeout
+ in seconds.
+ If you want to disable caching of security credentials, set this to 0 to
+ force authentication to occur every time. This has no affect if the
+ AuthenticationCacheJndiName has been changed from the default value.
+ -->
+ <attribute name="DefaultCacheTimeout">1800</attribute>
+ <!-- DefaultCacheResolution: Specifies the default timed cache policy
+ resolution in seconds. This controls the interval at which the cache
+ current timestamp is updated and should be less than the DefaultCacheTimeout
+ in order for the timeout to be meaningful. This has no affect if the
+ AuthenticationCacheJndiName has been changed from the default value.
+ -->
+ <attribute name="DefaultCacheResolution">60</attribute>
+ <!-- DeepCopySubjectMode: This set the copy mode of subjects done by the
+ security managers to be deep copies that makes copies of the subject
+ principals and credentials if they are cloneable. It should be set to
+ true if subject include mutable content that can be corrupted when
+ multiple threads have the same identity and cache flushes/logout clearing
+ the subject in one thread results in subject references affecting other
+ threads.
+ -->
+ <attribute name="DeepCopySubjectMode">false</attribute>
+ </mbean>
+
+ <!-- Authorization manager-->
+ <mbean code="org.jboss.security.plugins.AuthorizationManagerService"
+ name="jboss.security:service=AuthorizationManager">
+ <attribute name="AuthorizationManagerClassName">org.jboss.security.plugins.JBossAuthorizationManager</attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- Transactions -->
+ <!-- ==================================================================== -->
+
+ <!-- JBossTS JTA -->
+ <mbean code="com.arjuna.ats.jbossatx.jta.TransactionManagerService"
+ name="jboss:service=TransactionManager">
+ <attribute name="TransactionTimeout">300</attribute>
+ <attribute name="ObjectStoreDir">${jboss.server.data.dir}/tx-object-store</attribute>
+ </mbean>
+
+ <mbean code="org.jboss.util.threadpool.BasicThreadPool"
+ name="jboss.jca:service=WorkManagerThreadPool">
+ <!-- The name that appears in thread names -->
+ <attribute name="Name">WorkManager</attribute>
+ <!-- The maximum amount of work in the queue -->
+ <attribute name="MaximumQueueSize">1024</attribute>
+ <!-- The maximum number of active threads -->
+ <attribute name="MaximumPoolSize">100</attribute>
+ <!-- How long to keep threads alive after their last work (default one minute) -->
+ <attribute name="KeepAliveTime">60000</attribute>
+ </mbean>
+
+ <mbean code="org.jboss.resource.work.JBossWorkManager"
+ name="jboss.jca:service=WorkManager">
+ <depends optional-attribute-name="ThreadPoolName">jboss.jca:service=WorkManagerThreadPool</depends>
+ <depends optional-attribute-name="XATerminatorName">jboss:service=TransactionManager</depends>
+ </mbean>
+
+ <!--
+ | The CachedConnectionManager is used partly to relay started UserTransactions to
+ | open connections so they may be enrolled in the new tx.
+ -->
+ <mbean code="org.jboss.resource.connectionmanager.CachedConnectionManager"
+ name="jboss.jca:service=CachedConnectionManager">
+ <depends optional-attribute-name="TransactionManagerServiceName">jboss:service=TransactionManager</depends>
+
+ <!-- Enable connection close debug monitoring -->
+ <attribute name="Debug">true</attribute>
+
+ </mbean>
+
+ <mbean code="org.jboss.naming.JNDIView"
+ name="jboss:service=JNDIView">
+ <!-- The HANamingService service name -->
+ <attribute name="HANamingService">jboss:service=HAJNDI</attribute>
+ </mbean>
+
+</server>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/jbossjta-properties.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/jbossjta-properties.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/jbossjta-properties.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<transaction-service>
+ <properties depends="common" name="arjuna">
+ <!--
+ Transaction Reaper Timeout (default is 120000 ms).
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.coordinator.txReaperTimeout" value="120000"/>
+ <!--
+ Transaction Reaper Mode, can be: NORMAL or DYNAMIC (default is NORMAL).
+ -->
+ <property name="com.arjuna.ats.arjuna.coordinator.txReaperMode" value="DYNAMIC"/>
+ <!--
+ Transaction Reaper Cancel Wait Period (default is 500 ms, min is 10 msecs).
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.coordinator.txReaperCancelWaitPeriod" value="500"/>
+ <!--
+ Transaction Reaper Cancel Fail Wait Period (default is 500 ms, min is 10 msecs).
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.coordinator.txReaperCancelFailWaitPeriod" value="500"/>
+ <!--
+ Transaction Reaper Zombie Max (default is 8).
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.coordinator.txReaperZombieMax" value="8"/>
+ <!--
+ (default is NO)
+ -->
+ <property name="com.arjuna.ats.arjuna.coordinator.asyncCommit" value="NO"/>
+ <!--
+ (default is NO)
+ -->
+ <property name="com.arjuna.ats.arjuna.coordinator.asyncPrepare" value="NO"/>
+ <!--
+ (default is YES)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.coordinator.commitOnePhase" value="YES"/>
+ <!--
+ (default is defaultStore)
+ -->
+ <property name="com.arjuna.ats.arjuna.objectstore.localOSRoot" value="defaultStore"/>
+ <!--
+ default is under user.home - must be writeable!)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.objectstore.objectStoreDir" value="PutObjectStoreDirHere"/>
+ <!--
+ (default is ON)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.objectstore.objectStoreSync" value="ON"/>
+ <!--
+ (default is ShadowNoFileLockStore)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.objectstore.objectStoreType" value="ShadowNoFileLockStore"/>
+ <!--
+ (default is 255)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.objectstore.hashedDirectories" value="255"/>
+ <!--
+ (default is ON)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.objectstore.transactionSync" value="ON"/>
+ <!--
+ (Must be unique across all Arjuna instances.)
+ -->
+ <property name="com.arjuna.ats.arjuna.xa.nodeIdentifier" value="1"/>
+ <!-- property
+ name="com.arjuna.ats.arjuna.coordinator.actionStore"
+ value="HashedActionStore"
+ value="JDBCActionStore"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.jdbcTxDbAccess"
+ value="JDBCAccess"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.objectStoreType"
+ value="ShadowNoFileLockStore"
+ value="JDBCStore"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.jdbcUserDbAccess"
+ value="JDBCAccess"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.jdbcPoolSizeInitial"
+ value="1"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.jdbcPoolSizeMaximum"
+ value="1"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.jdbcPoolPutConnections"
+ value="false"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.internal.arjuna.objectstore.cacheStore.size"
+ value=""
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.internal.arjuna.objectstore.cacheStore.period"
+ value=""
+ -->
+ <!--
+ The location for creating temporary files, e.g., Uids.
+ Default is under user.home.
+ IMPORTANT: make sure the directory is lockable, e.g., /tmp on Unix
+ may not be!
+ -->
+ <!--
+ <property
+ name="com.arjuna.ats.arjuna.common.varDir"
+ value="var"/>
+ -->
+ </properties>
+ <properties name="common">
+ <!-- CLF 2.0 properties -->
+ <property name="com.arjuna.common.util.logging.DebugLevel"
+ type="System" value="0x00000000"/>
+ <property name="com.arjuna.common.util.logging.FacilityLevel"
+ type="System" value="0xffffffff"/>
+ <property name="com.arjuna.common.util.logging.VisibilityLevel"
+ type="System" value="0xffffffff"/>
+ <property name="com.arjuna.common.util.logger" type="System" value="log4j"/>
+ </properties>
+ <properties depends="arjuna" name="txoj">
+ <!--
+ (default is LockStore of installation - must be writeable!)
+ -->
+ <!--
+ <property
+ name="com.arjuna.ats.txoj.lockstore.lockStoreDir"
+ value="LockStore"/>
+ -->
+ <!--
+ (default is BasicLockStore)
+ -->
+ <property name="com.arjuna.ats.txoj.lockstore.lockStoreType" value="BasicLockStore"/>
+ <!--
+ (default is NO)
+ -->
+ <property name="com.arjuna.ats.txoj.lockstore.multipleLockStore" value="NO"/>
+ <!--
+ (default is YES)
+ -->
+ <property name="com.arjuna.ats.txoj.lockstore.singleLockStore" value="YES"/>
+ <!--
+ (default is YES)
+ -->
+ <property
+ name="com.arjuna.ats.txoj.lockstore.allowNestedLocking" value="YES"/>
+ </properties>
+ <properties depends="arjuna" name="jta">
+ <!--
+ Support subtransactions in the JTA layer?
+ Default is NO.
+ -->
+ <property name="com.arjuna.ats.jta.supportSubtransactions" value="NO"/>
+ <property name="com.arjuna.ats.jta.jtaTMImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple"/>
+ <!--
+ com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple
+ -->
+ <property name="com.arjuna.ats.jta.jtaUTImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple"/>
+ <!--
+ com.arjuna.ats.internal.jta.transaction.jts.UserTransactionImple
+ -->
+ </properties>
+ <properties depends="arjuna,txoj,jta" name="recoverymanager">
+ <!--
+ Properties used only by the RecoveryManager.
+ -->
+ <!--
+ Periodic recovery settings.
+ Time values in this section are in seconds.
+ -->
+ <!--
+ Interval in seconds between initiating the periodic recovery modules.
+ Default is 120 seconds.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.periodicRecoveryPeriod" value="120"/>
+ <!--
+ Interval in seconds between first and second pass of periodic recovery.
+ Default is 10 seconds.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.recoveryBackoffPeriod" value="10"/>
+ <!--
+ Periodic recovery modules to use. Invoked in sort-order of names.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.recoveryExtension1" value="com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"/>
+ <property
+ name="com.arjuna.ats.arjuna.recovery.recoveryExtension2" value="com.arjuna.ats.internal.txoj.recovery.TORecoveryModule"/>
+ <property
+ name="com.arjuna.ats.arjuna.recovery.recoveryExtension3" value="com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule"/>
+ <!--
+ Expired entry removal
+ -->
+ <!--
+ Expiry scanners to use (order of invocation is random).
+ Names must begin with "com.arjuna.ats.arjuna.recovery.expiryScanner"
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.expiryScannerTransactionStatusManager" value="com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionStatusManagerScanner"/>
+ <!--
+ Interval, in hours, between running the expiry scanners.
+ This can be quite long. The absolute value determines the interval -
+ if the value is negative, the scan will NOT be run until after one
+ interval has elapsed. If positive the first scan will be immediately
+ after startup. Zero will prevent any scanning.
+ Default = 12 = run immediately, then every 12 hours.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.expiryScanInterval" value="12"/>
+ <!--
+ Age, in hours, for removal of transaction status manager item.
+ This should be longer than any ts-using process will remain running.
+ Zero = Never removed. Default is 12.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.transactionStatusManagerExpiryTime" value="12"/>
+ <!--
+ Use this to fix the port on which the TransactionStatusManager listens,
+ The default behaviour is to use any free port.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort" value="0"/>
+ </properties>
+ <properties depends="jta" name="jdbc">
+ <!--
+ property name="com.arjuna.ats.jdbc.isolationLevel" value="TRANSACTION_SERIALIZABLE"/>
+ -->
+ </properties>
+</transaction-service>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/login-config.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/login-config.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/login-config.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,86 @@
+<?xml version='1.0'?>
+
+<!DOCTYPE policy PUBLIC
+ "-//JBoss//DTD JBOSS Security Config 3.0//EN"
+ "http://www.jboss.org/j2ee/dtd/security_config.dtd">
+
+<!-- The XML based JAAS login configuration read by the
+org.jboss.security.auth.login.XMLLoginConfig mbean. Add
+an application-policy element for each security domain.
+
+The outline of the application-policy is:
+<application-policy name="security-domain-name">
+ <authentication>
+ <login-module code="login.module1.class.name" flag="control_flag">
+ <module-option name = "option1-name">option1-value</module-option>
+ <module-option name = "option2-name">option2-value</module-option>
+ ...
+ </login-module>
+
+ <login-module code="login.module2.class.name" flag="control_flag">
+ ...
+ </login-module>
+ ...
+ </authentication>
+</application-policy>
+
+$Revision: 6916 $
+-->
+
+<policy>
+ <application-policy name="HsqlDbRealm">
+ <authentication>
+ <login-module code="org.jboss.resource.security.ConfiguredIdentityLoginModule"
+ flag="required">
+ <module-option name="principal">sa</module-option>
+ <module-option name="userName">sa</module-option>
+ <module-option name="password"></module-option>
+ <module-option name="managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=DefaultDS</module-option>
+ </login-module>
+ </authentication>
+ </application-policy>
+
+ <application-policy name="messaging">
+ <authentication>
+ <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag = "required">
+ <module-option name="unauthenticatedIdentity">guest</module-option>
+ <module-option name="usersProperties">conf/props/messaging-users.properties</module-option>
+ <module-option name="rolesProperties">conf/props/messaging-roles.properties</module-option>
+ </login-module>
+ </authentication>
+ </application-policy>
+
+
+ <!-- Used by clients within the application server VM such as
+ mbeans and servlets that access EJBs.
+ -->
+ <application-policy name="client-login">
+ <authentication>
+ <login-module code="org.jboss.security.ClientLoginModule"
+ flag="required">
+ <!-- Any existing security context will be restored on logout -->
+ <module-option name="restore-login-identity">true</module-option>
+ </login-module>
+ </authentication>
+ </application-policy>
+
+ <application-policy name="other">
+ <!-- A simple server login module, which can be used when the number
+ of users is relatively small. It uses two properties files:
+ users.properties, which holds users (key) and their password (value).
+ roles.properties, which holds users (key) and a comma-separated list of
+ their roles (value).
+ The unauthenticatedIdentity property defines the name of the principal
+ that will be used when a null username and password are presented as is
+ the case for an unuathenticated web client or MDB. If you want to
+ allow such users to be authenticated add the property, e.g.,
+ unauthenticatedIdentity="nobody"
+ -->
+ <authentication>
+ <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
+ flag="required"/>
+ </authentication>
+ </application-policy>
+
+</policy>
+
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/props/messaging-roles.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/props/messaging-roles.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/props/messaging-roles.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,4 @@
+#
+# user=role1,role2,...
+#
+guest=guest
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/props/messaging-users.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/props/messaging-users.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/conf/props/messaging-users.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,4 @@
+#
+# user=password
+#
+guest=guest
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/ejb3-interceptors-aop.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/ejb3-interceptors-aop.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/ejb3-interceptors-aop.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,392 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE aop PUBLIC
+ "-//JBoss//DTD JBOSS AOP 1.0//EN"
+ "http://labs.jboss.com/portal/jbossaop/dtd/jboss-aop_1_0.dtd">
+
+<aop>
+ <interceptor class="org.jboss.aspects.remoting.InvokeRemoteInterceptor" scope="PER_VM"/>
+ <interceptor class="org.jboss.aspects.security.SecurityClientInterceptor" scope="PER_VM"/>
+ <interceptor class="org.jboss.aspects.tx.ClientTxPropagationInterceptor" scope="PER_VM"/>
+ <interceptor class="org.jboss.ejb3.remoting.IsLocalInterceptor" scope="PER_VM"/>
+ <interceptor class="org.jboss.aspects.remoting.ClusterChooserInterceptor" scope="PER_VM"/>
+
+ <interceptor class="org.jboss.aspects.tx.TxPropagationInterceptor" scope="PER_VM"/>
+
+ <stack name="ServiceClientInterceptors">
+ <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+ </stack>
+
+ <stack name="AsynchronousStatelessSessionClientInterceptors">
+ <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+ </stack>
+
+ <stack name="AsynchronousStatefulSessionClientInterceptors">
+ <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+ </stack>
+
+ <stack name="StatelessSessionClientInterceptors">
+ <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+ </stack>
+
+ <stack name="StatefulSessionClientInterceptors">
+ <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+ </stack>
+
+ <stack name="ClusteredStatelessSessionClientInterceptors">
+ <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.remoting.ClusterChooserInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+ </stack>
+
+ <stack name="ClusteredStatefulSessionClientInterceptors">
+ <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.remoting.ClusterChooserInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+ </stack>
+
+ <interceptor class="org.jboss.ejb3.asynchronous.AsynchronousInterceptor" scope="PER_CLASS"/>
+ <interceptor class="org.jboss.ejb3.ENCPropagationInterceptor" scope="PER_VM"/>
+ <interceptor name="Basic Authorization" factory="org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorFactory" scope="PER_CLASS"/>
+ <interceptor name="JACC Authorization" factory="org.jboss.ejb3.security.JaccAuthorizationInterceptorFactory" scope="PER_CLASS"/>
+ <interceptor factory="org.jboss.ejb3.security.AuthenticationInterceptorFactory" scope="PER_CLASS"/>
+ <interceptor factory="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory" scope="PER_CLASS"/>
+ <interceptor class="org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor" scope="PER_VM"/>
+ <interceptor class="org.jboss.ejb3.stateless.StatelessInstanceInterceptor" scope="PER_VM"/>
+ <interceptor class="org.jboss.ejb3.stateful.StatefulInstanceInterceptor" scope="PER_VM"/>
+ <interceptor class="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor" scope="PER_VM"/>
+ <interceptor class="org.jboss.ejb3.service.ServiceSingletonInterceptor" scope="PER_VM"/>
+ <interceptor class="org.jboss.ejb3.cache.StatefulReplicationInterceptor" scope="PER_VM"/>
+ <interceptor factory="org.jboss.ejb3.stateful.StatefulRemoveFactory" scope="PER_CLASS_JOINPOINT"/>
+ <interceptor factory="org.jboss.ejb3.tx.TxInterceptorFactory" scope="PER_CLASS_JOINPOINT"/>
+ <interceptor factory="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory" scope="PER_CLASS_JOINPOINT"/>
+ <interceptor factory="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory" scope="PER_CLASS"/>
+ <interceptor class="org.jboss.ejb3.AllowedOperationsInterceptor" scope="PER_VM"/>
+ <interceptor factory="org.jboss.ejb3.mdb.CurrentMessageInjectorInterceptorFactory" scope="PER_CLASS"/>
+ <interceptor class="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor" scope="PER_VM"/>
+
+ <domain name="Stateless Bean">
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * @org.jboss.ejb3.annotation.SecurityDomain->*(..))">
+ <interceptor-ref name="Basic Authorization"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * @org.jboss.ejb3.annotation.Clustered->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+ <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+ </bind>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.Pool)">
+ @org.jboss.ejb3.annotation.Pool (value="ThreadlocalPool", maxSize=30, timeout=10000)
+ </annotation>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.JndiBindingPolicy)">
+ @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+ </annotation>
+ </domain>
+
+ <domain name="JACC Stateless Bean">
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * @org.jboss.ejb3.annotation.SecurityDomain->*(..))">
+ <interceptor-ref name="JACC Authorization"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * @org.jboss.ejb3.annotation.Clustered->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+ <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+ </bind>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.Pool)">
+ @org.jboss.ejb3.annotation.Pool (value="ThreadlocalPool", maxSize=30, timeout=10000)
+ </annotation>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.JndiBindingPolicy)">
+ @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+ </annotation>
+ </domain>
+
+ <domain name="Base Stateful Bean">
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * @org.jboss.ejb3.annotation.SecurityDomain->*(..))">
+ <interceptor-ref name="Basic Authorization"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * @org.jboss.ejb3.annotation.Clustered->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * *->@javax.ejb.Remove(..))">
+ <interceptor-ref name="org.jboss.ejb3.stateful.StatefulRemoveFactory"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.stateful.StatefulInstanceInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+ <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+ </bind>
+ <bind pointcut="execution(public * $instanceof{javax.ejb.SessionSynchronization}->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor"/>
+ </bind>
+
+ <bind pointcut="execution(public * @org.jboss.ejb3.annotation.Clustered->*(..)) AND !execution(public * *->@javax.ejb.Remove(..))">
+ <interceptor-ref name="org.jboss.ejb3.cache.StatefulReplicationInterceptor"/>
+ </bind>
+
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+ </bind>
+
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.Pool)">
+ @org.jboss.ejb3.annotation.Pool (value="ThreadlocalPool", maxSize=30, timeout=10000)
+ </annotation>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.JndiBindingPolicy)">
+ @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+ </annotation>
+ </domain>
+
+ <domain name="Stateful Bean" extends="Base Stateful Bean" inheritBindings="true">
+ <!-- NON Clustered cache configuration -->
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.Cache) AND !class((a)org.jboss.ejb3.annotation.Clustered)">
+ @org.jboss.ejb3.annotation.Cache ("SimpleStatefulCache")
+ </annotation>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.PersistenceManager) AND !class((a)org.jboss.ejb3.annotation.Clustered)">
+ @org.jboss.ejb3.annotation.PersistenceManager ("StatefulSessionFilePersistenceManager")
+ </annotation>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.CacheConfig) AND !class((a)org.jboss.ejb3.annotation.Clustered)">
+ @org.jboss.ejb3.annotation.CacheConfig (maxSize=100000, idleTimeoutSeconds=300, removalTimeoutSeconds=0)
+ </annotation>
+
+ <!-- Clustered cache configuration -->
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.Cache) AND class((a)org.jboss.ejb3.annotation.Clustered)">
+ @org.jboss.ejb3.annotation.Cache ("StatefulTreeCache")
+ </annotation>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.CacheConfig) AND class((a)org.jboss.ejb3.annotation.Clustered)">
+ @org.jboss.ejb3.annotation.CacheConfig (name="jboss.cache:service=EJB3SFSBClusteredCache", maxSize=100000, idleTimeoutSeconds=300, removalTimeoutSeconds=0)
+ </annotation>
+ </domain>
+
+ <domain name="JACC Stateful Bean">
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * @org.jboss.ejb3.annotation.SecurityDomain->*(..))">
+ <interceptor-ref name="JACC Authorization"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * @org.jboss.ejb3.annotation.Clustered->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * *->@javax.ejb.Remove(..))">
+ <interceptor-ref name="org.jboss.ejb3.stateful.StatefulRemoveFactory"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.stateful.StatefulInstanceInterceptor"/>
+ <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+ <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+ </bind>
+ <bind pointcut="execution(public * $instanceof{javax.ejb.SessionSynchronization}->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+ </bind>
+
+ <bind pointcut="execution(public * @org.jboss.ejb3.annotation.Clustered->*(..)) AND !execution(public * *->@javax.ejb.Remove(..))">
+ <interceptor-ref name="org.jboss.ejb3.cache.StatefulReplicationInterceptor"/>
+ </bind>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.Pool)">
+ @org.jboss.ejb3.annotation.Pool (value="ThreadlocalPool", maxSize=30, timeout=10000)
+ </annotation>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.JndiBindingPolicy)">
+ @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+ </annotation>
+
+ <!-- NON Clustered cache configuration -->
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.Cache) AND !class((a)org.jboss.ejb3.annotation.Clustered)">
+ @org.jboss.ejb3.annotation.Cache ("SimpleStatefulCache")
+ </annotation>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.PersistenceManager) AND !class((a)org.jboss.ejb3.annotation.Clustered)">
+ @org.jboss.ejb3.annotation.PersistenceManager ("StatefulSessionFilePersistenceManager")
+ </annotation>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.CacheConfig) AND !class((a)org.jboss.ejb3.annotation.Clustered)">
+ @org.jboss.ejb3.annotation.CacheConfig (maxSize=100000, idleTimeoutSeconds=300, removalTimeoutSeconds=0)
+ </annotation>
+
+ <!-- Clustered cache configuration -->
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.Cache) AND class((a)org.jboss.ejb3.annotation.Clustered)">
+ @org.jboss.ejb3.annotation.Cache ("StatefulTreeCache")
+ </annotation>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.CacheConfig) AND class((a)org.jboss.ejb3.annotation.Clustered)">
+ @org.jboss.ejb3.annotation.CacheConfig (name="jboss.cache:service=EJB3SFSBClusteredCache", maxSize=100000, idleTimeoutSeconds=300, removalTimeoutSeconds=0)
+ </annotation>
+ </domain>
+
+ <domain name="Embedded Stateful Bean" extends="Base Stateful Bean" inheritBindings="true">
+ <!-- NON Clustered cache configuration -->
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.Cache)">
+ @org.jboss.ejb3.annotation.Cache ("NoPassivationCache")
+ </annotation>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.JndiBindingPolicy)">
+ @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+ </annotation>
+
+ </domain>
+
+ <domain name="Message Driven Bean">
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+ <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+ </bind>
+ <!-- TODO: Authorization? -->
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+ <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+ </bind>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.Pool)">
+ @org.jboss.ejb3.annotation.Pool (value="StrictMaxPool", maxSize=15, timeout=10000)
+ </annotation>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.JndiBindingPolicy)">
+ @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+ </annotation>
+ </domain>
+
+ <domain name="Consumer Bean">
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+ <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..)) AND (has(* *->@org.jboss.ejb3.annotation.CurrentMessage(..)) OR hasfield(* *->@org.jboss.ejb3.annotation.CurrentMessage))">
+ <interceptor-ref name="org.jboss.ejb3.mdb.CurrentMessageInjectorInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+ </bind>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.Pool)">
+ @org.jboss.ejb3.annotation.Pool (value="StrictMaxPool", maxSize=15, timeout=10000)
+ </annotation>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.JndiBindingPolicy)">
+ @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+ </annotation>
+ </domain>
+
+ <domain name="Service Bean">
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+ </bind>
+ <bind pointcut="!execution(* *->create()) AND !execution(* *->start()) AND !execution(*->new(..))">
+ <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * @org.jboss.ejb3.annotation.SecurityDomain->*(..))">
+ <interceptor-ref name="Basic Authorization"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+ <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..)) AND !execution(* *->create()) AND !execution(* *->start())">
+ <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+ </bind>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.JndiBindingPolicy)">
+ @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+ </annotation>
+ </domain>
+
+ <domain name="JACC Service Bean">
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+ </bind>
+ <bind pointcut="!execution(* *->create()) AND !execution(* *->start()) AND !execution(*->new(..))">
+ <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * @org.jboss.ejb3.annotation.SecurityDomain->*(..))">
+ <interceptor-ref name="Basic Authorization"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..))">
+ <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+ <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+ <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+ </bind>
+ <bind pointcut="execution(public * *->*(..)) AND !execution(* *->create()) AND !execution(* *->start())">
+ <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+ </bind>
+ <annotation expr="!class((a)org.jboss.ejb3.annotation.JndiBindingPolicy)">
+ @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+ </annotation>
+ </domain>
+
+</aop>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/hsqldb-ds.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/hsqldb-ds.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/hsqldb-ds.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- The Hypersonic embedded database JCA connection factory config -->
+
+<!-- $Id: hsqldb-ds.xml 6916 2007-12-05 17:53:00Z pmuir $ -->
+
+<datasources>
+ <local-tx-datasource>
+
+ <!-- The jndi name of the DataSource, it is prefixed with java:/ -->
+ <!-- Datasources are not available outside the virtual machine -->
+ <jndi-name>DefaultDS</jndi-name>
+
+ <!-- For server mode db, allowing other processes to use hsqldb over tcp.
+ This requires the org.jboss.jdbc.HypersonicDatabase mbean.
+ <connection-url>jdbc:hsqldb:hsql://${jboss.bind.address}:1701</connection-url>
+ -->
+ <!-- For totally in-memory db, not saved when jboss stops.
+ The org.jboss.jdbc.HypersonicDatabase mbean is required for proper db shutdown
+ <connection-url>jdbc:hsqldb:.</connection-url>
+ -->
+ <!-- For in-process persistent db, saved when jboss stops.
+ The org.jboss.jdbc.HypersonicDatabase mbean is required for proper db shutdown
+ -->
+ <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB</connection-url>
+
+ <!-- The driver class -->
+ <driver-class>org.hsqldb.jdbcDriver</driver-class>
+
+ <!-- The login and password -->
+ <user-name>sa</user-name>
+ <password></password>
+
+ <!--example of how to specify class that determines if exception means connection should be destroyed-->
+ <!--exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyExceptionSorter</exception-sorter-class-name-->
+
+ <!-- this will be run before a managed connection is removed from the pool for use by a client-->
+ <!--<check-valid-connection-sql>select * from something</check-valid-connection-sql> -->
+
+ <!-- The minimum connections in a pool/sub-pool. Pools are lazily constructed on first use -->
+ <min-pool-size>0</min-pool-size>
+
+ <!-- The maximum connections in a pool/sub-pool -->
+ <max-pool-size>20</max-pool-size>
+
+ <!-- The time before an unused connection is destroyed -->
+ <!-- NOTE: This is the check period. It will be destroyed somewhere between 1x and 2x this timeout after last use -->
+ <!-- TEMPORARY FIX! - Disable idle connection removal, HSQLDB has a problem with not reaping threads on closed connections -->
+ <idle-timeout-minutes>0</idle-timeout-minutes>
+
+ <!-- sql to call when connection is created
+ <new-connection-sql>some arbitrary sql</new-connection-sql>
+ -->
+
+ <!-- sql to call on an existing pooled connection when it is obtained from pool
+ <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
+ -->
+
+ <!-- example of how to specify a class that determines a connection is valid before it is handed out from the pool
+ <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyValidConnectionChecker</valid-connection-checker-class-name>
+ -->
+
+ <!-- Whether to check all statements are closed when the connection is returned to the pool,
+ this is a debugging feature that should be turned off in production -->
+ <track-statements/>
+
+ <!-- Use the getConnection(user, pw) for logins
+ <application-managed-security/>
+ -->
+
+ <!-- Use the security domain defined in conf/login-config.xml -->
+ <security-domain>HsqlDbRealm</security-domain>
+
+ <!-- Use the security domain defined in conf/login-config.xml or the
+ getConnection(user, pw) for logins. The security domain takes precedence.
+ <security-domain-and-application>HsqlDbRealm</security-domain-and-application>
+ -->
+
+ <!-- HSQL DB benefits from prepared statement caching -->
+ <prepared-statement-cache-size>32</prepared-statement-cache-size>
+
+ <!-- When using in-process (standalone) mode -->
+ <depends>jboss:service=Hypersonic,database=localDB</depends>
+ <!-- Uncomment when using hsqldb in server mode
+ <depends>jboss:service=Hypersonic</depends>
+ -->
+ </local-tx-datasource>
+
+ <!-- Uncomment if you want hsqldb accessed over tcp (server mode)
+ <mbean code="org.jboss.jdbc.HypersonicDatabase"
+ name="jboss:service=Hypersonic">
+ <attribute name="Port">1701</attribute>
+ <attribute name="BindAddress">${jboss.bind.address}</attribute>
+ <attribute name="Silent">true</attribute>
+ <attribute name="Database">default</attribute>
+ <attribute name="Trace">false</attribute>
+ <attribute name="No_system_exit">true</attribute>
+ </mbean>
+ -->
+
+ <!-- For hsqldb accessed from jboss only, in-process (standalone) mode -->
+ <mbean code="org.jboss.jdbc.HypersonicDatabase"
+ name="jboss:service=Hypersonic,database=localDB">
+ <attribute name="Database">localDB</attribute>
+ <attribute name="InProcessMode">true</attribute>
+ </mbean>
+
+</datasources>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/jboss-local-jdbc.rar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/jboss-local-jdbc.rar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/jboss-xa-jdbc.rar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/jboss-xa-jdbc.rar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/jms-ra.rar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/jms-ra.rar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/connection-factories-service.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/connection-factories-service.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/connection-factories-service.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Messaging Connection Factories deployment descriptor.
+
+ $Id: connection-factories-service.xml 6916 2007-12-05 17:53:00Z pmuir $
+ -->
+
+<server>
+
+ <!-- The default connection factory does not support automatic failover or load balancing-
+ this is so we can maintain compatiblity with applications written for JBoss MQ which use this
+ connection factory.
+ -->
+ <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
+ name="jboss.messaging.connectionfactory:service=ConnectionFactory"
+ xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends optional-attribute-name="Connector">jboss.messaging:service=Connector,transport=bisocket</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+
+ <attribute name="JNDIBindings">
+ <bindings>
+ <binding>/ConnectionFactory</binding>
+ <binding>/XAConnectionFactory</binding>
+ <binding>java:/ConnectionFactory</binding>
+ <binding>java:/XAConnectionFactory</binding>
+ </bindings>
+ </attribute>
+ </mbean>
+
+ <!-- A clustered connection factory that supports automatic failover and load balancing of created
+ connections.
+ This factory is not suitable to be used by MDBs.
+ -->
+ <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
+ name="jboss.messaging.connectionfactory:service=ClusteredConnectionFactory"
+ xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends optional-attribute-name="Connector">jboss.messaging:service=Connector,transport=bisocket</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+
+ <attribute name="JNDIBindings">
+ <bindings>
+ <binding>/ClusteredConnectionFactory</binding>
+ <binding>/ClusteredXAConnectionFactory</binding>
+ <binding>java:/ClusteredConnectionFactory</binding>
+ <binding>java:/ClusteredXAConnectionFactory</binding>
+ </bindings>
+ </attribute>
+
+ <attribute name="SupportsFailover">true</attribute>
+ <attribute name="SupportsLoadBalancing">true</attribute>
+ </mbean>
+
+ <!-- A connection factory with no JNDI bindings that is used in clustering to create the connections that
+ pull messages from one node to another
+ -->
+ <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
+ name="jboss.messaging.connectionfactory:service=ClusterPullConnectionFactory"
+ xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends optional-attribute-name="Connector">jboss.messaging:service=Connector,transport=bisocket</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ <attribute name="SupportsFailover">false</attribute>
+ <attribute name="SupportsLoadBalancing">false</attribute>
+ </mbean>
+
+ <!-- An example connection factory with all attributes shown
+
+ <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
+ name="jboss.messaging.connectionfactory:service=MyExampleConnectionFactory"
+ xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
+
+ <constructor>
+
+ <!- - You can specify the default Client ID to use for connections created using this factory - ->
+
+ <arg type="java.lang.String" value="MyClientID"/>
+
+ </constructor>
+
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+
+ <!- - The transport to use - can be bisocket, sslbisocket or http - ->
+
+ <depends optional-attribute-name="Connector">jboss.messaging:service=Connector,transport=http</depends>
+
+ <depends>jboss.messaging:service=PostOffice</depends>
+
+ <!- - PrefetchSize determines the approximate maximum number of messages the client consumer will buffer locally - ->
+
+ <attribute name="PrefetchSize">150</attribute>
+
+ <!- - Paging params to be used for temporary queues - ->
+
+ <attribute name="DefaultTempQueueFullSize">200000</attribute>
+
+ <attribute name="DefaultTempQueuePageSizeSize">2000</attribute>
+
+ <attribute name="DefaultTempQueueDownCacheSize">2000</attribute>
+
+ <!- - The batch size to use when using the DUPS_OK_ACKNOWLEDGE acknowledgement mode - ->
+
+ <attribute name="DupsOKBatchSize">5000</attribute>
+
+ <!- - Does this connection factory support automatic failover? - ->
+
+ <attribute name="SupportsFailover">false</attribute>
+
+ <!- - Does this connection factory support automatic client side load balancing? - ->
+
+ <attribute name="SupportsLoadBalancing">false</attribute>
+
+ <!- - The class name of the factory used to create the load balancing policy to use on the client side - ->
+
+ <attribute name="LoadBalancingFactory">org.jboss.jms.client.plugin.RoundRobinLoadBalancingFactory</attribute>
+
+ <!- - Whether we should be strict TCK compliant, i.e. how we deal with foreign messages, defaults to false- ->
+
+ <attribute name="StrictTck">false</attribute>
+
+ <!- - Disable JBoss Remoting Connector sanity checks - There is rarely a good reason to set this to true - ->
+
+ <attribute name="DisableRemotingChecks">false</attribute>
+
+ <!- - The connection factory will be bound in the following places in JNDI - ->
+
+ <attribute name="JNDIBindings">
+
+ <bindings>
+
+ <binding>/acme/MyExampleConnectionFactory</binding>
+
+ <binding>/acme/MyExampleConnectionFactoryDupe</binding>
+
+ <binding>java:/xyz/CF1</binding>
+
+ <binding>java:/connectionfactories/acme/connection_factory</binding>
+
+ </bindings>
+
+ </attribute>
+
+ </mbean>
+
+ -->
+
+</server>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/destinations-service.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/destinations-service.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/destinations-service.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Messaging Destinations deployment descriptor.
+
+ $Id: destinations-service.xml 6916 2007-12-05 17:53:00Z pmuir $
+ -->
+
+<server>
+
+ <!--
+ The Default Dead Letter Queue. This destination is a dependency of an EJB MDB container.
+ -->
+
+ <mbean code="org.jboss.jms.server.destination.QueueService"
+ name="jboss.messaging.destination:service=Queue,name=DLQ"
+ xmbean-dd="xmdesc/Queue-xmbean.xml">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+
+ <!--
+ The Default Expiry Queue.
+ -->
+
+ <mbean code="org.jboss.jms.server.destination.QueueService"
+ name="jboss.messaging.destination:service=Queue,name=ExpiryQueue"
+ xmbean-dd="xmdesc/Queue-xmbean.xml">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+
+
+</server>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/hsqldb-persistence-service.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/hsqldb-persistence-service.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/hsqldb-persistence-service.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Hypersonic persistence deployment descriptor.
+
+ DO NOT USE HYPERSONIC IN PRODUCTION or in a clustered environment- Hypersonic does not have transaction isolation
+
+ $Id: hsqldb-persistence-service.xml 6916 2007-12-05 17:53:00Z pmuir $
+ -->
+
+<server>
+
+ <!-- Persistence Manager MBean configuration
+ ======================================= -->
+
+ <mbean code="org.jboss.messaging.core.jmx.JDBCPersistenceManagerService"
+ name="jboss.messaging:service=PersistenceManager"
+ xmbean-dd="xmdesc/JDBCPersistenceManager-xmbean.xml">
+
+ <depends>jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
+
+ <depends optional-attribute-name="TransactionManager">jboss:service=TransactionManager</depends>
+
+ <!-- The datasource to use for the persistence manager -->
+
+ <attribute name="DataSource">java:/DefaultDS</attribute>
+
+ <!-- If true will attempt to create tables and indexes on every start-up -->
+
+ <attribute name="CreateTablesOnStartup">true</attribute>
+
+ <!-- If true then will use JDBC batch updates -->
+
+ <attribute name="UsingBatchUpdates">false</attribute>
+
+ <!-- The maximum number of parameters to include in a prepared statement -->
+
+ <attribute name="MaxParams">500</attribute>
+ </mbean>
+
+ <!-- Messaging Post Office MBean configuration
+ ========================================= -->
+
+ <mbean code="org.jboss.messaging.core.jmx.MessagingPostOfficeService"
+ name="jboss.messaging:service=PostOffice"
+ xmbean-dd="xmdesc/MessagingPostOffice-xmbean.xml">
+
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+
+ <depends>jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
+
+ <depends optional-attribute-name="TransactionManager">jboss:service=TransactionManager</depends>
+
+ <!-- The name of the post office -->
+
+ <attribute name="PostOfficeName">JMS post office</attribute>
+
+ <!-- The datasource used by the post office to access it's binding information -->
+
+ <attribute name="DataSource">java:/DefaultDS</attribute>
+
+ <!-- If true will attempt to create tables and indexes on every start-up -->
+
+ <attribute name="CreateTablesOnStartup">true</attribute>
+
+ <!-- This post office is NON CLUSTERED - do not use clustering with Hypersonic!! -->
+
+ <attribute name="Clustered">false</attribute>
+ </mbean>
+
+ <!-- Messaging JMS User Manager MBean config
+ ======================================= -->
+
+ <mbean code="org.jboss.jms.server.plugin.JDBCJMSUserManagerService"
+ name="jboss.messaging:service=JMSUserManager"
+ xmbean-dd="xmdesc/JMSUserManager-xmbean.xml">
+
+ <depends>jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
+
+ <depends optional-attribute-name="TransactionManager">jboss:service=TransactionManager</depends>
+
+ <attribute name="DataSource">java:/DefaultDS</attribute>
+
+ <attribute name="CreateTablesOnStartup">true</attribute>
+
+ <attribute name="SqlProperties"><![CDATA[
+POPULATE.TABLES.1 = INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('guest', 'guest')
+POPULATE.TABLES.2 = INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('j2ee', 'j2ee')
+POPULATE.TABLES.3 = INSERT INTO JBM_USER (USER_ID, PASSWD, CLIENTID) VALUES ('john', 'needle', 'DurableSubscriberExample')
+POPULATE.TABLES.4 = INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('nobody', 'nobody')
+POPULATE.TABLES.5 = INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('dynsub', 'dynsub')
+POPULATE.TABLES.6 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('guest','guest')
+POPULATE.TABLES.7 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('j2ee','guest')
+POPULATE.TABLES.8 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('john','guest')
+POPULATE.TABLES.9 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('subscriber','john')
+POPULATE.TABLES.10 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('publisher','john')
+POPULATE.TABLES.11 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('publisher','dynsub')
+POPULATE.TABLES.12 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('durpublisher','john')
+POPULATE.TABLES.13 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('durpublisher','dynsub')
+POPULATE.TABLES.14 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('noacc','nobody')
+ ]]></attribute>
+ </mbean>
+
+</server>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/jms-ds.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/jms-ds.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/jms-ds.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<connection-factories>
+
+ <!-- ==================================================================== -->
+ <!-- JMS Stuff -->
+ <!-- ==================================================================== -->
+
+ <!--
+ The JMS provider loader. Currently pointing to a non-clustered ConnectionFactory. Need to
+ be replaced with a clustered non-load-balanced ConnectionFactory when it becomes available.
+ See http://jira.jboss.org/jira/browse/JBMESSAGING-843.
+ -->
+ <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
+ name="jboss.messaging:service=JMSProviderLoader,name=JMSProvider">
+ <attribute name="ProviderName">DefaultJMSProvider</attribute>
+ <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
+ <attribute name="FactoryRef">java:/XAConnectionFactory</attribute>
+ <attribute name="QueueFactoryRef">java:/XAConnectionFactory</attribute>
+ <attribute name="TopicFactoryRef">java:/XAConnectionFactory</attribute>
+ </mbean>
+
+ <!-- JMS XA Resource adapter, use this to get transacted JMS in beans -->
+ <tx-connection-factory>
+ <jndi-name>JmsXA</jndi-name>
+ <xa-transaction/>
+ <rar-name>jms-ra.rar</rar-name>
+ <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition>
+ <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Topic</config-property>
+ <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/DefaultJMSProvider</config-property>
+ <max-pool-size>20</max-pool-size>
+ <security-domain-and-application>JmsXARealm</security-domain-and-application>
+ <depends>jboss.messaging:service=ServerPeer</depends>
+ </tx-connection-factory>
+
+</connection-factories>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/legacy-service.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/legacy-service.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/legacy-service.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Messaging Destinations deployment descriptor.
+
+ $Id: legacy-service.xml 6916 2007-12-05 17:53:00Z pmuir $
+-->
+
+<server>
+ <mbean code="org.jboss.mq.server.jmx.DummyDestMgr"
+ name="jboss.mq:service=DestinationManager">
+ <depends>jboss.messaging:service=ServerPeer</depends>
+ </mbean>
+ <mbean code="org.jboss.mq.server.jmx.DummySecurityMgr"
+ name="jboss.mq:service=SecurityManager" />
+
+</server>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/messaging-service.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/messaging-service.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/messaging-service.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ The JBoss Messaging service deployment descriptor.
+
+ $Id: messaging-service.xml 7115 2008-01-10 23:23:32Z pmuir $
+ -->
+
+<server>
+
+ <!-- ServerPeer MBean configuration
+ ============================== -->
+
+ <mbean code="org.jboss.jms.server.ServerPeer"
+ name="jboss.messaging:service=ServerPeer"
+ xmbean-dd="xmdesc/ServerPeer-xmbean.xml">
+
+ <!-- The unique id of the server peer - in a cluster each node MUST have a unique value - must be an integer -->
+
+ <attribute name="ServerPeerID">0</attribute>
+
+ <!-- The default JNDI context to use for queues when they are deployed without specifying one -->
+
+ <attribute name="DefaultQueueJNDIContext">/queue</attribute>
+
+ <!-- The default JNDI context to use for topics when they are deployed without specifying one -->
+
+ <attribute name="DefaultTopicJNDIContext">/topic</attribute>
+
+ <attribute name="PostOffice">jboss.messaging:service=PostOffice</attribute>
+
+ <!-- The JAAS security domain to use for JBoss Messaging -->
+
+ <attribute name="SecurityDomain">java:/jaas/messaging</attribute>
+
+ <!-- The default security configuration to apply to destinations - this can be overridden on a per destination basis -->
+
+ <attribute name="DefaultSecurityConfig">
+ <security>
+ <role name="Administrator" read="true" write="true" create="true"/>
+ <role name="Manager" read="true" write="true" create="true"/>
+ <role name="guest" read="true" write="true" create="true"/>
+ </security>
+ </attribute>
+
+ <!-- The default Dead Letter Queue (DLQ) to use for destinations.
+ This can be overridden on a per destinatin basis -->
+
+ <attribute name="DefaultDLQ">jboss.messaging.destination:service=Queue,name=DLQ</attribute>
+
+ <!-- The default maximum number of times to attempt delivery of a message before sending to the DLQ (if configured).
+ This can be overridden on a per destinatin basis -->
+
+ <attribute name="DefaultMaxDeliveryAttempts">10</attribute>
+
+ <!-- The default Expiry Queue to use for destinations. This can be overridden on a per destinatin basis -->
+
+ <attribute name="DefaultExpiryQueue">jboss.messaging.destination:service=Queue,name=ExpiryQueue</attribute>
+
+ <!-- The default redelivery delay to impose. This can be overridden on a per destination basis -->
+
+ <attribute name="DefaultRedeliveryDelay">0</attribute>
+
+ <!-- The periodicity of the message counter manager enquiring on queues for statistics -->
+
+ <attribute name="MessageCounterSamplePeriod">5000</attribute>
+
+ <!-- The maximum amount of time for a client to wait for failover to start on the server side after
+ it has detected failure -->
+
+ <attribute name="FailoverStartTimeout">60000</attribute>
+
+ <!-- The maximum amount of time for a client to wait for failover to complete on the server side after
+ it has detected failure -->
+
+ <attribute name="FailoverCompleteTimeout">300000</attribute>
+
+ <attribute name="StrictTck">false</attribute>
+
+ <!-- The maximum number of days results to maintain in the message counter history -->
+
+ <attribute name="DefaultMessageCounterHistoryDayLimit">-1</attribute>
+
+ <!-- The name of the connection factory to use for creating connections between nodes to pull messages -->
+
+ <attribute name="ClusterPullConnectionFactoryName">jboss.messaging.connectionfactory:service=ClusterPullConnectionFactory</attribute>
+
+ <!-- Use XA when pulling persistent messages from a remote node to this one. -->
+
+ <!-- <attribute name="UseXAForMessagePull">false</attribute>-->
+
+ <!-- When redistributing messages in the cluster. Do we need to preserve the order of messages received
+ by a particular consumer from a particular producer? -->
+
+ <attribute name="DefaultPreserveOrdering">false</attribute>
+
+ <!-- Max. time to hold previously delivered messages back waiting for clients to reconnect after failover -->
+
+ <attribute name="RecoverDeliveriesTimeout">300000</attribute>
+
+ <!-- The password used by the message sucker connections to create connections.
+ THIS SHOULD ALWAYS BE CHANGED AT INSTALL TIME TO SECURE SYSTEM
+ <attribute name="SuckerPassword"></attribute>
+ -->
+
+ <depends optional-attribute-name="PersistenceManager">jboss.messaging:service=PersistenceManager</depends>
+
+ <depends optional-attribute-name="JMSUserManager">jboss.messaging:service=JMSUserManager</depends>
+
+ <depends>jboss.messaging:service=Connector,transport=bisocket</depends>
+
+ </mbean>
+
+</server>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/remoting-service.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/remoting-service.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/messaging/remoting-service.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Standard bisocket-based Remoting service deployment descriptor.
+
+ $Id: remoting-service.xml 8448 2008-07-13 12:40:54Z pete.muir(a)jboss.org $
+ -->
+
+<server>
+
+ <!-- Standard bisocket connector - the bisocket transport only opens connection from client->server
+ so can be used with firewalls where only outgoing connections are allowed.
+ For examples of HTTP and SSL transports see docs/examples -->
+ <mbean code="org.jboss.remoting.transport.Connector"
+ name="jboss.messaging:service=Connector,transport=bisocket"
+ display-name="Bisocket Transport Connector">
+ <attribute name="Configuration">
+ <config>
+ <invoker transport="bisocket">
+
+ <!-- There should be no reason to change these parameters - warning!
+ Changing them may stop JBoss Messaging working correctly -->
+ <attribute name="marshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
+ <attribute name="unmarshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
+ <attribute name="dataType" isParam="true">jms</attribute>
+ <attribute name="socket.check_connection" isParam="true">false</attribute>
+ <attribute name="timeout" isParam="true">0</attribute>
+ <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
+ <attribute name="serverBindPort">4458</attribute>
+ <attribute name="clientSocketClass" isParam="true">org.jboss.jms.client.remoting.ClientSocketWrapper</attribute>
+ <attribute name="serverSocketClass">org.jboss.jms.server.remoting.ServerSocketWrapper</attribute>
+ <attribute name="numberOfCallRetries" isParam="true">1</attribute>
+ <attribute name="pingFrequency" isParam="true">214748364</attribute>
+ <attribute name="pingWindowFactor" isParam="true">10</attribute>
+ <attribute name="onewayThreadPool">org.jboss.jms.server.remoting.DirectThreadPool</attribute>
+ <!-- End immutable parameters -->
+
+ <!-- Periodicity of client pings. Server window by default is twice this figure -->
+ <attribute name="clientLeasePeriod" isParam="true">10000</attribute>
+
+ <!-- Number of seconds to wait for a connection in the client pool to become free -->
+ <attribute name="numberOfRetries" isParam="true">10</attribute>
+
+ <!-- Max Number of connections in client pool. This should be significantly higher than
+ the max number of sessions/consumers you expect -->
+ <attribute name="clientMaxPoolSize" isParam="true">200</attribute>
+
+ <!-- Use these parameters to specify values for binding and connecting control connections to
+ work with your firewall/NAT configuration
+ <attribute name="secondaryBindPort">xyz</attribute>
+ <attribute name="secondaryConnectPort">abc</attribute>
+ -->
+
+ </invoker>
+ <handlers>
+ <handler subsystem="JMS">org.jboss.jms.server.remoting.JMSServerInvocationHandler</handler>
+ </handlers>
+ </config>
+ </attribute>
+ </mbean>
+
+</server>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/remoting-service.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/remoting-service.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deploy/remoting-service.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Connector for both EJB3 and JNDI
+-->
+<server>
+ <mbean code="org.jboss.remoting.transport.Connector"
+ name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3">
+ <attribute name="InvokerLocator">socket://${jboss.bind.address}:3883</attribute>
+ <attribute name="Configuration">
+ <handlers>
+ <handler subsystem="AOP">org.jboss.aspects.remoting.AOPRemotingInvocationHandler</handler>
+ </handlers>
+ </attribute>
+ </mbean>
+</server>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/aspect-deployer-beans.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/aspect-deployer-beans.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/aspect-deployer-beans.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Aspect Deployer
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <bean name="AOPJBossIntegration" class="org.jboss.aop.asintegration.embedded.JBossEmbeddedUCLIntegration"/>
+ <!--
+ Valid values for the AspectManager bean for use with enableTransformer=true are:
+ * org.jboss.aop.deployers.AspectManagerJDK5 - works with the -javaagent:pluggable-instrumentor.jar switch
+ * org.jboss.aop.deployers.AspectManagerJRockit - works with JRockit and the -Xmanagement:class=org.jboss.aop.hook.JRockitPluggableClassPreProcessor switch
+ -->
+ <bean name="AspectManager" class="org.jboss.aop.deployers.AspectManagerJDK5">
+ <constructor>
+ <parameter><![CDATA[
+ <aop>
+ </aop>]]>
+ </parameter>
+ </constructor>
+ <property name="jbossIntegration"><inject bean="AOPJBossIntegration"/></property>
+ <property name="enableLoadtimeWeaving">false</property>
+ <!-- only relevant when EnableLoadtimeWeaving is true.
+ When transformer is on, every loaded class gets
+ transformed. If AOP can't find the class, then it
+ throws an exception. Sometimes, classes may not have
+ all the classes they reference. So, the Suppressing
+ is needed. (i.e. Jboss cache in the default configuration -->
+ <property name="suppressTransformationErrors">true</property>
+ <property name="prune">true</property>
+ <property name="include">org.jboss.test., org.jboss.injbossaop.</property>
+ <property name="exclude">org.jboss.</property>
+ <!-- This avoids instrumentation of hibernate cglib enhanced proxies
+ <property name="ignore">*$$EnhancerByCGLIB$$*</property> -->
+ <property name="optimized">true</property>
+ <property name="verbose">false</property>
+ <!--
+ Available choices for this attribute are:
+ org.jboss.aop.instrument.ClassicInstrumentor (default)
+ org.jboss.aop.instrument.GeneratedAdvisorInstrumentor
+ <property name="instrumentor">org.jboss.aop.instrument.ClassicInstrumentor</property>
+ -->
+ </bean>
+
+ <!-- Aspect Deployment -->
+ <bean name="AspectDeployer" class="org.jboss.aop.deployers.AspectDeployer">
+ <property name="type">aop</property>
+ <property name="aspectManager"><inject bean="AspectManager" property="aspectManager"/></property>
+ </bean>
+
+</deployment>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/ejb-deployer-beans.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/ejb-deployer-beans.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/ejb-deployer-beans.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ EJB 2.x Deployer
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- ejb-jar.xml parsing deployer -->
+ <bean name="Ejb2ParsingDeployer" class="org.jboss.deployment.EjbParsingDeployer">
+ <property name="type">ejb2x</property>
+ <property name="useSchemaValidation">false</property>
+ <property name="relativeOrder">3000</property>
+ </bean>
+ <bean name="JBossEjb2ParsingDeployer" class="org.jboss.deployment.JBossEjbParsingDeployer">
+ <property name="type">ejb2x</property>
+ <property name="relativeOrder">3001</property>
+ <property name="useSchemaValidation">false</property>
+ <property name="ignoreMissingStandardJBossXml">true</property>
+ </bean>
+
+ <bean name="EJB2xDeployer" class="org.jboss.ejb.deployers.EjbDeployer">
+ <!-- The EJBDeployer needs the JTA transaction manager service -->
+ <property name="transactionManagerServiceName">jboss:service=TransactionManager</property>
+ <!-- The dynamic class loading simple web server -->
+ <property name="webServiceName">jboss:service=WebService</property>
+ <!-- The CachedConnectionManager service used by the CachedConnectionInterceptor -->
+ <property name="cachedConnectionManagerName">jboss.jca:service=CachedConnectionManager</property>
+ <!-- The ejb timer service -->
+ <property name="timerServiceName">jboss.ejb:service=EJBTimerService</property>
+ <!-- A flag indicating if the ejb components should have in VM call
+ optimization disabled.
+ -->
+ <property name="callByValue">false</property>
+
+ <!-- Specify an unauthenticated identity -->
+ <property name="unauthenticatedIdentity">anonymous</property>
+
+ <!-- Specify a SecurityManagement Wrapper -->
+ <property name="securityManagement">
+ <inject bean="JNDIBasedSecurityManagement"/>
+ </property>
+ <!-- Specify a SecurityContext FQN class name -->
+ <property name="securityContextClassName">org.jboss.security.plugins.JBossSecurityContext</property>
+
+ <!-- Specify a SecurityDomain as fallback -->
+ <property name="defaultSecurityDomain">jboss-ejb-policy</property>
+
+ <depends>SecurityDeployer</depends>
+ </bean>
+
+ <bean name="MergedJBossMetaDataDeployer" class="org.jboss.ejb.deployers.MergedJBossMetaDataDeployer">
+ </bean>
+ <bean name="StandardJBossMetaDataDeployer" class="org.jboss.ejb.deployers.StandardJBossMetaDataDeployer">
+ </bean>
+</deployment>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/ejb3-deployers-beans.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/ejb3-deployers-beans.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/ejb3-deployers-beans.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,259 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ JCA Deployers
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- TODO this should be removed later on when ENC gets changed -->
+ <bean name="java:comp/Initializer" class="org.jboss.ejb3.embedded.JavaCompInitializer"/>
+ <bean name="DefaultPersistenceProperties" class="org.jboss.ejb3.DefaultPersistenceProperties"/>
+
+ <bean name="Ejb3Deployer" class="org.jboss.ejb3.deployers.Ejb3Deployer">
+ <property name="type">ejb3x</property>
+ <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+ <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
+ <property name="defaultPersistenceProperties"><inject bean="DefaultPersistenceProperties" property="properties"/></property>
+ <property name="cacheFactoryRegistry"><inject bean="EJB3CacheFactoryRegistry" /></property>
+ <property name="poolFactoryRegistry"><inject bean="EJB3PoolFactoryRegistry" /></property>
+ <property name="remoteProxyFactoryRegistry"><inject bean="EJB3RemoteProxyFactoryRegistry" /></property>
+ <property name="persistenceManagerFactoryRegistry"><inject bean="EJB3PersistenceManagerFactoryRegistry" /></property>
+
+ <!--
+
+ Configure the deployer to optionally require a deployment
+ descriptor for deployable units. By turning this switch to "true",
+ "META-INF/jboss.xml" or the EJB3 Deployment Descriptor "META-INF/ejb-jar.xml"
+ will be required for deployment, enabling a performance increace in deployment by
+ not scanning for annotations in non-deployable EJB3 JARs.
+
+ Default for this value is "false".
+
+ -->
+ <property name="deploymentDescriptorRequired">false</property>
+
+ <property name="ignoredJarsSet">
+ <set elementClass="java.lang.String">
+ <value>snmp-adaptor.jar</value>
+ <value>otherimages.jar</value>
+ <value>applet.jar</value>
+ <value>jcommon.jar</value>
+ <value>console-mgr-classes.jar</value>
+ <value>jfreechart.jar</value>
+ <value>juddi-service.jar</value>
+ <value>wsdl4j.jar</value>
+ <value>commons-collections.jar</value>
+ <value>commons-pool.jar</value>
+ <value>juddi.jar</value>
+ <value>commons-discovery.jar</value>
+ <value>uddi4j.jar</value>
+ <value>axis.jar</value>
+ <value>commons-dbcp.jar</value>
+ <value>jboss-juddiaxis.jar</value>
+ <value>trove.jar</value>
+ <value>javassist.jar</value>
+ <value>jboss-aop-jdk50.jar</value>
+ <value>jboss-aspect-library-jdk50.jar</value>
+ <value>ejb3-persistence.jar</value>
+ <value>commons-validator-1.1.3.jar</value>
+ <value>commons-collections.jar</value>
+ <value>commons-fileupload.jar</value>
+ <value>commons-pool.jar</value>
+ <value>hibernate-entitymanager.jar</value>
+ <value>jboss-ejb3x.jar</value>
+ <value>commons-digester-1.6.jar</value>
+ <value>cglib-2.1.1.jar</value>
+ <value>commons-discovery.jar</value>
+ <value>jboss-annotations-ejb3.jar</value>
+ <value>jaxen-1.1-beta-4.jar</value>
+ <value>hibernate-annotations.jar</value>
+ <value>commons-httpclient.jar</value>
+ <value>commons-logging.jar</value>
+ <value>commons-vfs.jar</value>
+ <value>hibernate3.jar</value>
+ <value>commons-logging-api.jar</value>
+ <value>asm.jar</value>
+ <value>asm-attrs.jar</value>
+ <value>commons-lang-2.0.jar</value>
+ <value>commons-beanutils.jar</value>
+ <value>jboss-ejb3.jar</value>
+ <value>dom4j.jar</value>
+ <value>commons-codec-1.2.jar</value>
+ <value>wsdl4j.jar</value>
+ <value>xmlsec.jar</value>
+ <value>jbossws.jar</value>
+ <value>jboss-bean-deployer.jar</value>
+ <value>jboss-microcontainer.jar</value>
+ <value>jboss-dependency.jar</value>
+ <value>jboss-container.jar</value>
+ <value>tomcat-coyote.jar</value>
+ <value>commons-collections.jar</value>
+ <value>myfaces.jar</value>
+ <value>jstl.jar</value>
+ <value>commons-digester-1.6.jar</value>
+ <value>myfaces-impl.jar</value>
+ <value>commons-beanutils.jar</value>
+ <value>myfaces-jsf-api.jar</value>
+ <value>commons-codec-1.2.jar</value>
+ <value>catalina-optional.jar</value>
+ <value>tomcat-util.jar</value>
+ <value>jasper-compiler.jar</value>
+ <value>commons-el.jar</value>
+ <value>jasper-compiler-jdt.jar</value>
+ <value>tomcat-http.jar</value>
+ <value>catalina-manager.jar</value>
+ <value>jasper-runtime.jar</value>
+ <value>tomcat55-service.jar</value>
+ <value>servlets-invoker.jar</value>
+ <value>catalina.jar</value>
+ <value>naming-resources.jar</value>
+ <value>servlets-default.jar</value>
+ <value>tomcat-ajp.jar</value>
+ <value>commons-modeler.jar</value>
+ <value>tomcat-apr.jar</value>
+ <value>servlets-webdav.jar</value>
+ </set>
+ </property>
+ <depends>AspectLibrary</depends>
+ </bean>
+ <bean name="EJBStage2Deployer" class="org.jboss.ejb3.deployers.EJBStage2Deployer">
+ <depends>AspectLibrary</depends>
+ </bean>
+
+ <bean name="AppClientParsingDeployer" class="org.jboss.ejb3.deployers.AppClientParsingDeployer">
+ <property name="type">car</property>
+ <!-- TODO: check depends -->
+ <depends>AspectLibrary</depends>
+ </bean>
+
+ <bean name="JBossClientParsingDeployer" class="org.jboss.ejb3.deployers.JBossClientParsingDeployer">
+ <property name="type">car</property>
+ <depends>AppClientParsingDeployer</depends>
+ </bean>
+
+ <bean name="AppClientScanningDeployer" class="org.jboss.ejb3.deployers.AppClientScanningDeployer">
+ <depends>JBossClientParsingDeployer</depends>
+ </bean>
+
+ <bean name="Ejb3ClientDeployer" class="org.jboss.ejb3.deployers.Ejb3ClientDeployer">
+ <property name="type">car</property>
+ <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+ <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
+ <!-- TODO: check depends -->
+ <depends>AspectLibrary</depends>
+ <depends>AppClientScanningDeployer</depends>
+ </bean>
+
+ <!-- EJB3 Cache Factory Registry -->
+ <bean name="EJB3CacheFactoryRegistry" class="org.jboss.ejb3.cache.CacheFactoryRegistry">
+ <property name="factories">
+ <!-- Define each of the registered factories -->
+ <map class="java.util.HashMap" keyClass="java.lang.String"
+ valueClass="java.lang.Class">
+ <!-- NoPassivationCache -->
+ <entry>
+ <key>NoPassivationCache</key>
+ <value>org.jboss.ejb3.cache.NoPassivationCacheFactory</value>
+ </entry>
+ <!-- SimpleStatefulCache -->
+ <entry>
+ <key>SimpleStatefulCache</key>
+ <value>org.jboss.ejb3.cache.simple.SimpleStatefulCacheFactory</value>
+ </entry>
+ <!-- StatefulTreeCache -->
+ <entry>
+ <key>StatefulTreeCache</key>
+ <value>org.jboss.ejb3.cache.tree.StatefulTreeCacheFactory</value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <!-- EJB3 Pool Factory Registry -->
+ <bean name="EJB3PoolFactoryRegistry" class="org.jboss.ejb3.pool.PoolFactoryRegistry">
+ <property name="factories">
+ <!-- Define each of the registered factories -->
+ <map class="java.util.HashMap" keyClass="java.lang.String"
+ valueClass="java.lang.Class">
+ <!-- ThreadlocalPool -->
+ <entry>
+ <key>ThreadlocalPool</key>
+ <value>org.jboss.ejb3.pool.ThreadlocalPoolFactory</value>
+ </entry>
+ <!-- StrictMaxPool -->
+ <entry>
+ <key>StrictMaxPool</key>
+ <value>org.jboss.ejb3.pool.StrictMaxPoolFactory</value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <!-- Remoting Proxy Factory Registry -->
+ <bean name="EJB3RemoteProxyFactoryRegistry" class="org.jboss.ejb3.remoting.RemoteProxyFactoryRegistry">
+ <property name="factories">
+ <!-- Define each of the registered factories -->
+ <map class="java.util.HashMap" keyClass="java.lang.String"
+ valueClass="java.lang.Class">
+ <!-- RemoteProxyFactory -->
+ <entry>
+ <key>RemoteProxyFactory</key>
+ <value>org.jboss.ejb3.remoting.RemoteProxyFactory</value>
+ </entry>
+ <!-- IORFactory -->
+ <entry>
+ <key>IORFactory</key>
+ <value>org.jboss.ejb3.iiop.IORFactory</value>
+ </entry>
+ <!-- ServiceRemoteProxyFactory -->
+ <entry>
+ <key>ServiceRemoteProxyFactory</key>
+ <value>org.jboss.ejb3.service.ServiceRemoteProxyFactory</value>
+ </entry>
+ <!-- StatefulClusterProxyFactory -->
+ <!-- <entry>
+ <key>StatefulClusterProxyFactory</key>
+ <value>org.jboss.ejb3.stateful.StatefulClusterProxyFactory</value>
+ </entry>-->
+ <!-- StatefulRemoteProxyFactory -->
+ <entry>
+ <key>StatefulRemoteProxyFactory</key>
+ <value>org.jboss.ejb3.stateful.StatefulRemoteProxyFactory</value>
+ </entry>
+ <!-- StatelessClusterProxyFactory -->
+ <!-- <entry>
+ <key>StatelessClusterProxyFactory</key>
+ <value>org.jboss.ejb3.stateless.StatelessClusterProxyFactory</value>
+ </entry>-->
+ <!-- StatelessRemoteProxyFactory -->
+ <entry>
+ <key>StatelessRemoteProxyFactory</key>
+ <value>org.jboss.ejb3.stateless.StatelessRemoteProxyFactory</value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <!-- EJB3 Persistence Manager Factory Registry -->
+ <bean name="EJB3PersistenceManagerFactoryRegistry" class="org.jboss.ejb3.cache.persistence.PersistenceManagerFactoryRegistry">
+ <property name="factories">
+ <!-- Define each of the registered factories -->
+ <map class="java.util.HashMap" keyClass="java.lang.String"
+ valueClass="java.lang.Class">
+ <!-- StatefulSessionFilePersistenceManager -->
+ <entry>
+ <key>StatefulSessionFilePersistenceManager</key>
+ <value>org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManagerFactory</value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <bean name="JNDIKernelRegistryPlugin" class="org.jboss.ejb3.kernel.JNDIKernelRegistryPlugin"/>
+
+ <!-- Persistence Unit deployers -->
+ <bean name="PersistenceUnitParsingDeployer" class="org.jboss.ejb3.deployers.PersistenceUnitParsingDeployer">
+ <property name="type">car</property>
+ </bean>
+
+</deployment>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/jboss-aspect-library-beans.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/jboss-aspect-library-beans.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/jboss-aspect-library-beans.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Aspect Deployer
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- Aspect Library -->
+ <bean name="AspectLibrary" class="org.jboss.aop.deployers.JBossAspectLibrary">
+ <property name="aspectManager"><inject bean="AspectManager"/></property>
+ </bean>
+
+ <!-- Add the JMX -->
+ <aop:lifecycle-configure xmlns:aop="urn:jboss:aop-beans:1.0"
+ name="JMXAdvice"
+ class="org.jboss.aop.microcontainer.aspects.jmx.JMXLifecycleCallback"
+ classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX"
+ manager-bean="AspectManager"
+ manager-property="aspectManager">
+ <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
+ </aop:lifecycle-configure>
+
+</deployment>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/jca-deployers-beans.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/jca-deployers-beans.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/jca-deployers-beans.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ JCA Deployers
+ $Id: jca-deployers-beans.xml 7115 2008-01-10 23:23:32Z pmuir $
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <bean name="JCAMetaDataRepository" class="org.jboss.resource.metadata.repository.DefaultJCAMetaDataRepository"/>
+
+ <!-- RAR Deployment -->
+ <bean name="RARParserDeployer" class="org.jboss.resource.deployers.RARParserDeployer">
+ <property name="metaDataRepository"><inject bean="JCAMetaDataRepository"/></property>
+ <property name="type">rar</property>
+ </bean>
+
+ <bean name="RARDeployer" class="org.jboss.resource.deployers.RARDeployer">
+ <property name="workManagerName">jboss.jca:service=WorkManager</property>
+ <property name="XATerminatorName">jboss:service=TransactionManager</property>
+ <property name="type">rar</property>
+ </bean>
+
+
+
+ <!-- ConnectionFactory Deployment - ->
+
+ <bean name="ConnectionFactoryDeployer" class="org.jboss.system.deployers.ServiceXSLDeployer">
+ <property name="suffix">-ds.xml</property>
+ <property name="XSLPath">stylesheets/ConnectionFactoryTemplate.xsl</property>
+ <property name="type">jca-ds</property>
+ </bean>
+
+ -->
+
+ <bean name="MCFBuilder" class="org.jboss.resource.deployers.builder.ManagedConnectionFactoryBuilder">
+ <property name="metaDataRepository"><inject bean="JCAMetaDataRepository"/></property>
+ </bean>
+
+ <bean name="PoolBuilder" class="org.jboss.resource.deployers.builder.ManagedConnectionPoolBuilder"/>
+ <bean name="ConnectionManagerBuilder" class="org.jboss.resource.deployers.builder.ConnectionManagerBuilder"/>
+ <bean name="ConnectionFactoryBindingBuilder" class="org.jboss.resource.deployers.builder.ConnectionFactoryBindingBuilder"/>
+ <bean name="MetaDataTypeMappingBuilder" class="org.jboss.resource.deployers.builder.MetaDataTypeMappingBuilder"/>
+
+ <bean name="ManagedConnectionFactoryParserDeployer" class="org.jboss.resource.deployers.ManagedConnectionFactoryParserDeployer">
+ <property name="repository"><inject bean="JCAMetaDataRepository"></inject></property>
+ <property name="suffix">-ds.xml</property>
+ <property name="type">jca-ds</property>
+ </bean>
+
+ <bean name="ManagedConnectionFactoryDeployer" class="org.jboss.resource.deployers.ManagedConnectionFactoryDeployer">
+ <property name="repository"><inject bean="JCAMetaDataRepository"></inject></property>
+ <property name="builders">
+ <list>
+ <inject bean="MCFBuilder"/>
+ <inject bean="PoolBuilder"/>
+ <inject bean="ConnectionManagerBuilder"/>
+ <inject bean="ConnectionFactoryBindingBuilder"/>
+ <inject bean="MetaDataTypeMappingBuilder"/>
+ </list>
+ </property>
+ <property name="type">jca-ds</property>
+ </bean>
+
+ <!-- The template for creating a datasource -->
+ <bean name="LocalTxDataSourceTemplate" class="org.jboss.resource.deployers.management.DsDataSourceTemplate">
+ <property name="info"><inject bean="LocalTxDataSourceTemplateInfo"/></property>
+ </bean>
+ <bean name="LocalTxDataSourceTemplateInfo"
+ class="org.jboss.resource.deployers.management.DsDataSourceTemplateInfo">
+ <constructor>
+ <parameter>LocalTxDataSourceTemplate</parameter>
+ <parameter>A template for datasource *-ds.xml deployments</parameter>
+ <parameter>local-tx-datasource</parameter>
+ </constructor>
+ </bean>
+ <bean name="XADataSourceTemplate" class="org.jboss.resource.deployers.management.DsDataSourceTemplate">
+ <property name="info"><inject bean="XADataSourceTemplateInfo"/></property>
+ </bean>
+ <bean name="XADataSourceTemplateInfo"
+ class="org.jboss.resource.deployers.management.DsDataSourceTemplateInfo">
+ <constructor>
+ <parameter>XADataSourceTemplate</parameter>
+ <parameter>A template for xa-datasource *-ds.xml deployments</parameter>
+ <parameter>xa-datasource</parameter>
+ </constructor>
+ </bean>
+ <bean name="NoTxDataSourceTemplate" class="org.jboss.resource.deployers.management.DsDataSourceTemplate">
+ <property name="info"><inject bean="NoTxDataSourceTemplateInfo"/></property>
+ </bean>
+ <bean name="NoTxDataSourceTemplateInfo"
+ class="org.jboss.resource.deployers.management.DsDataSourceTemplateInfo">
+ <constructor>
+ <parameter>NoTxDataSourceTemplate</parameter>
+ <parameter>A template for no-tx-datasource *-ds.xml deployments</parameter>
+ <parameter>no-tx-datasource</parameter>
+ </constructor>
+ </bean>
+ <bean name="TxConnectionFactoryTemplate" class="org.jboss.resource.deployers.management.DsDataSourceTemplate">
+ <property name="info"><inject bean="TxConnectionFactoryTemplateInfo"/></property>
+ </bean>
+ <bean name="TxConnectionFactoryTemplateInfo"
+ class="org.jboss.resource.deployers.management.DsDataSourceTemplateInfo">
+ <constructor>
+ <parameter>TxConnectionFactoryTemplate</parameter>
+ <parameter>A template for tx-connection-factory *-ds.xml deployments</parameter>
+ <parameter>tx-connection-factory</parameter>
+ </constructor>
+ </bean>
+ <bean name="NoTxConnectionFactoryTemplate" class="org.jboss.resource.deployers.management.DsDataSourceTemplate">
+ <property name="info"><inject bean="NoTxConnectionFactoryTemplateInfo"/></property>
+ </bean>
+ <bean name="NoTxConnectionFactoryTemplateInfo"
+ class="org.jboss.resource.deployers.management.DsDataSourceTemplateInfo">
+ <constructor>
+ <parameter>NoTxConnectionFactoryTemplate</parameter>
+ <parameter>A template for no-tx-connection-factory *-ds.xml deployments</parameter>
+ <parameter>no-tx-connection-factory</parameter>
+ </constructor>
+ </bean>
+
+</deployment>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/metadata-beans.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/metadata-beans.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/metadata-beans.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ MetaData configuration
+ $Id: metadata-beans.xml 6916 2007-12-05 17:53:00Z pmuir $
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- The reference metdata resolving deployer
+ -->
+ <bean name="ReferenceMetaDataResolverDeployer"
+ class="org.jboss.deployment.ReferenceMetaDataResolverDeployer">
+ </bean>
+ <bean name="AnnotationMetaDataDeployer"
+ class="org.jboss.deployment.AnnotationMetaDataDeployer">
+ <property name="metaDataCompleteIsDefault">true</property>
+ </bean>
+
+ <!-- The schema location to JBossXB binding class mappings. We specify the dtd/xsd name
+ of the schema as the location to work with legacy dtd as well as namespace based
+ documents.
+ -->
+ <bean name="SchemaResolverConfig"
+ class="org.jboss.xb.binding.sunday.unmarshalling.SchemaResolverConfig">
+
+ <!-- schemaLocation to JBossXBuilder binding classes -->
+ <property name="bindingClassesByLocations">
+ <map keyClass="java.lang.String" valueClass="java.lang.String">
+ <!-- EarMetaData -->
+ <entry>
+ <key>application</key>
+ <value>org.jboss.metadata.ear.spec.Ear14MetaData</value>
+ </entry>
+ <entry>
+ <key>application_1_2.dtd</key>
+ <value>org.jboss.metadata.ear.spec.Ear13DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>application_1_3.dtd</key>
+ <value>org.jboss.metadata.ear.spec.Ear13DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>application_1_4.xsd</key>
+ <value>org.jboss.metadata.ear.spec.Ear14MetaData</value>
+ </entry>
+ <entry>
+ <key>application_5.xsd</key>
+ <value>org.jboss.metadata.ear.spec.Ear50MetaData</value>
+ </entry>
+ <!-- JBossAppMetaData -->
+ <entry>
+ <key>jboss-app</key>
+ <value>org.jboss.metadata.ear.jboss.JBoss50DTDAppMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-app_3_0.dtd</key>
+ <value>org.jboss.metadata.ear.jboss.JBoss50DTDAppMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-app_3_2.dtd</key>
+ <value>org.jboss.metadata.ear.jboss.JBoss50DTDAppMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-app_4_0.dtd</key>
+ <value>org.jboss.metadata.ear.jboss.JBoss50DTDAppMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-app_4_2.dtd</key>
+ <value>org.jboss.metadata.ear.jboss.JBoss50DTDAppMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-app_5_0.dtd</key>
+ <value>org.jboss.metadata.ear.jboss.JBoss50DTDAppMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-app_5_0.xsd</key>
+ <value>org.jboss.metadata.ear.jboss.JBoss50AppMetaData</value>
+ </entry>
+
+ <!-- ApplicationClientMetaData -->
+ <entry>
+ <key>application-client</key>
+ <value>org.jboss.metadata.client.spec.ApplicationClient14DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>application-client_1_2.dtd</key>
+ <value>org.jboss.metadata.client.spec.ApplicationClient14DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>application-client_1_3.dtd</key>
+ <value>org.jboss.metadata.client.spec.ApplicationClient14DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>application-client_1_4.xsd</key>
+ <value>org.jboss.metadata.client.spec.ApplicationClient14MetaData</value>
+ </entry>
+ <entry>
+ <key>application-client_5.xsd</key>
+ <value>org.jboss.metadata.client.spec.ApplicationClient5MetaData</value>
+ </entry>
+ <!-- ApplicationClientMetaData -->
+ <entry>
+ <key>jboss-client</key>
+ <value>org.jboss.metadata.client.jboss.JBossClient5DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-client_3_0.dtd</key>
+ <value>org.jboss.metadata.client.jboss.JBossClient5DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-client_3_2.dtd</key>
+ <value>org.jboss.metadata.client.jboss.JBossClient5DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-client_4_0.dtd</key>
+ <value>org.jboss.metadata.client.jboss.JBossClient5DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-client_4_2.dtd</key>
+ <value>org.jboss.metadata.client.jboss.JBossClient5DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-client_5_0.dtd</key>
+ <value>org.jboss.metadata.client.jboss.JBossClient5DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-client_5_0.xsd</key>
+ <value>org.jboss.metadata.client.jboss.JBossClient5MetaData</value>
+ </entry>
+
+ <!-- EjbJarMetaData -->
+ <entry>
+ <key>ejb-jar</key>
+ <value>org.jboss.metadata.ejb.spec.EjbJar20MetaData</value>
+ </entry>
+ <entry>
+ <key>ejb-jar_1_1.dtd</key>
+ <value>org.jboss.metadata.ejb.spec.EjbJar1xMetaData</value>
+ </entry>
+ <entry>
+ <key>ejb-jar_2_0.dtd</key>
+ <value>org.jboss.metadata.ejb.spec.EjbJar20MetaData</value>
+ </entry>
+ <entry>
+ <key>ejb-jar_2_1.xsd</key>
+ <value>org.jboss.metadata.ejb.spec.EjbJar21MetaData</value>
+ </entry>
+ <entry>
+ <key>ejb-jar_3_0.xsd</key>
+ <value>org.jboss.metadata.ejb.spec.EjbJar30MetaData</value>
+ </entry>
+
+ <!-- JBossMetaData -->
+ <entry>
+ <key>jboss</key>
+ <value>org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss_3_0.dtd</key>
+ <value>org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss_3_2.dtd</key>
+ <value>org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss_4_0.dtd</key>
+ <value>org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss_4_2.dtd</key>
+ <value>org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss_5_0.dtd</key>
+ <value>org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss_5_0.xsd</key>
+ <value>org.jboss.metadata.ejb.jboss.JBoss50MetaData</value>
+ </entry>
+
+ <!-- WebMetaData -->
+ <entry>
+ <key>web-app</key>
+ <value>org.jboss.metadata.web.spec.Web23MetaData</value>
+ </entry>
+ <entry>
+ <key>web-app_2_2.dtd</key>
+ <value>org.jboss.metadata.web.spec.Web23MetaData</value>
+ </entry>
+ <entry>
+ <key>web-app_2_3.dtd</key>
+ <value>org.jboss.metadata.web.spec.Web23MetaData</value>
+ </entry>
+ <entry>
+ <key>web-app_2_4.xsd</key>
+ <value>org.jboss.metadata.web.spec.Web24MetaData</value>
+ </entry>
+ <entry>
+ <key>web-app_2_5.xsd</key>
+ <value>org.jboss.metadata.web.spec.Web25MetaData</value>
+ </entry>
+ <!-- JBossWebMetaData -->
+ <entry>
+ <key>jboss-web</key>
+ <value>org.jboss.metadata.web.jboss.JBoss50DTDWebMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-web_3_0.dtd</key>
+ <value>org.jboss.metadata.web.jboss.JBoss50DTDWebMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-web_3_2.dtd</key>
+ <value>org.jboss.metadata.web.jboss.JBoss50DTDWebMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-web_4_0.dtd</key>
+ <value>org.jboss.metadata.web.jboss.JBoss50DTDWebMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-web_4_2.dtd</key>
+ <value>org.jboss.metadata.web.jboss.JBoss50DTDWebMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-web_5_0.dtd</key>
+ <value>org.jboss.metadata.web.jboss.JBoss50DTDWebMetaData</value>
+ </entry>
+ <entry>
+ <key>jboss-web_5_0.xsd</key>
+ <value>org.jboss.metadata.web.jboss.JBoss50WebMetaData</value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+</deployment>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/security-deployer-beans.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/security-deployer-beans.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/deployers/security-deployer-beans.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Security Deployer
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <bean name="SecurityDeployer" class="org.jboss.deployment.security.SecurityDeployer">
+ <property name="type">security</property>
+ <property name="ignoreSuffixes">
+ <set elementClass="java.lang.String">
+ <value>xml</value>
+ <value>beans</value>
+ <value>deployer</value>
+ <value>rar</value>
+ <value>properties</value>
+ </set>
+ </property>
+ </bean>
+
+ <!-- JNDI Object Factory to establish SecurityDomainContext objects -->
+ <bean name="SecurityDomainObjectFactory" class="org.jboss.security.integration.SecurityDomainObjectFactory" />
+
+ <!-- JNDI Context legacy establishment of java:/jaas/securityDomain -->
+ <bean name="JBossSecurityJNDIContextEstablishment" class="org.jboss.security.integration.JNDIContextEstablishment"/>
+
+ <!-- JNDI Based Security Management -->
+ <bean name="JNDIBasedSecurityManagement" class="org.jboss.security.integration.JNDIBasedSecurityManagement">
+ </bean>
+
+</deployment>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/jndi.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/jndi.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/jndi.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,4 @@
+# DO NOT EDIT THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING
+#
+java.naming.factory.initial=org.jboss.naming.JBossRemotingContextFactory
+java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/log4j.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/log4j.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/bootstrap/log4j.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="Target" value="System.out"/>
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Message\n -->
+ <param name="ConversionPattern" value="%-5p [%c{6}] %m%n"/>
+ </layout>
+ </appender>
+
+ <!-- ############### Embedded JBoss AS ################# -->
+ <category name="org.jboss">
+ <priority value="ERROR"/>
+ </category>
+ <category name="com.arjuna">
+ <priority value="ERROR"/>
+ </category>
+
+ <!-- EMB-6, JMS activation throws an error due to deployment ordering, but as there is a timeout
+ and retry the tests pass. Hide the error message -->
+ <category name="jboss.resource.adapter.jms.inflow.JmsActivation">
+ <priority value="ERROR"/>
+ </category>
+
+ <!-- ############### Hibernate logging ################# -->
+
+ <category name="org.hibernate">
+ <priority value="ERROR"/>
+ </category>
+
+ <!--
+ <category name="org.hibernate.SQL">
+ <priority value="TRACE"/>
+ </category>
+ <category name="org.hibernate.type">
+ <priority value="TRACE"/>
+ </category>
+ <category name="org.hibernate.loader">
+ <priority value="TRACE"/>
+ </category>
+ <category name="org.hibernate.cache">
+ <priority value="TRACE"/>
+ </category>
+ -->
+
+ <!-- Ajax4jsf is too noisy -->
+ <category name="org.ajax4jsf.cache">
+ <priority value="WARN"/>
+ </category>
+
+
+ <!-- ############### Seam logging ################### -->
+ <category name="org.jboss.seam">
+ <priority value="WARN"/>
+ </category>
+
+
+
+ <!-- These things are too noisy
+ <category name="org.jboss.seam.jsf.SeamVariableResolver">
+ <priority value="INFO"/>
+ </category>
+ <category name="org.jboss.seam.contexts.Contexts">
+ <priority value="INFO"/>
+ </category>
+ <category name="org.jboss.seam.Component">
+ <priority value="INFO"/>
+ </category>
+ <category name="org.jboss.seam.deployment.Scanner">
+ <priority value="INFO"/>
+ </category>
+ <category name="org.jboss.seam.util.Naming">
+ <priority value="INFO"/>
+ </category>
+ <category name="org.jboss.seam.debug.hot">
+ <priority value="INFO"/>
+ </category>
+ <category name="org.jboss.seam.core.Events">
+ <priority value="INFO"/>
+ </category>
+ -->
+
+ <!-- Debugging conversations and persistence contexts
+ <category name="org.jboss.seam.core.Manager">
+ <priority value="DEBUG"/>
+ </category>
+ <category name="org.jboss.seam.core.ManagedPersistenceContext">
+ <priority value="DEBUG"/>
+ </category>
+ <category name="org.jboss.seam.jsf.AbstractSeamPhaseListener">
+ <priority value="DEBUG"/>
+ </category>
+ <category name="org.jboss.seam.interceptors.ConversationInterceptor">
+ <priority value="DEBUG"/>
+ </category>
+ <category name="org.jboss.seam.contexts.Lifecycle">
+ <priority value="DEBUG"/>
+ </category>
+ <category name="org.hibernate.impl.SessionImpl">
+ <priority value="DEBUG"/>
+ </category>
+ <category name="org.hibernate.event.def.AbstractFlushingEventListener">
+ <priority value="DEBUG"/>
+ </category>
+ -->
+
+ <root>
+ <priority value="INFO"/>
+ <appender-ref ref="CONSOLE"/>
+ </root>
+
+</log4j:configuration>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build-dev.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build-dev.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build-dev.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,2 @@
+debug=true
+action.dir=/WEB-INF/dev
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build-prod.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build-prod.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build-prod.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1 @@
+debug=false
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,6 @@
+jboss.home=/home/jbarrez/dev/blog/jboss_world_demo/jboss-4.2.3.GA
+jboss.domain=default
+glassfish.home=C:/Program Files/glassfish-v2.1
+glassfish.domain=domain1
+# Uncomment to stop the build from deploying the datasource to GlassFish
+#glassfish.datasource.useDefault=true
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/build.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,504 @@
+<?xml version="1.0"?>
+<project name="jbpm_on_rails_bam" default="deploy" basedir=".">
+
+ <!-- Give user a chance to override without editing this file or typing -D -->
+ <property file="${basedir}/build.properties"/>
+
+ <property name="profile" value="dev"/>
+ <property file="build-${profile}.properties"/>
+
+ <!-- set global properties for this build -->
+ <property name="project.name" value="jbpm_on_rails_bam"/>
+ <property name="project.ear" value="true"/>
+ <property name="richfaces.present" value="true"/>
+ <property name="dist.dir" value="dist"/>
+ <property name="src.model.dir" value="src/main"/>
+ <property name="src.action.dir" value="src/hot"/>
+ <property name="src.test.dir" value="src/test"/>
+ <property name="lib.dir" value="lib"/>
+ <property name="endorsed.dir" value="${lib.dir}/endorsed"/>
+ <property name="ear.dir" value="exploded-archives/${project.name}.ear"/>
+ <property name="exploded.archive.dir" value="${ear.dir}"/>
+ <property name="jar.dir" value="${ear.dir}/${project.name}_jar"/>
+ <property name="war.dir" value="${ear.dir}/${project.name}_war"/>
+ <property name="test.dir" value="test-build"/>
+ <property name="bootstrap.dir" value="${basedir}/bootstrap"/>
+ <property name="jboss.domain" value="default"/>
+ <property name="deploy.dir" value="${jboss.home}/server/${jboss.domain}/deploy"/>
+ <property name="ear.deploy.dir" value="${deploy.dir}/${project.name}.ear"/>
+ <property name="jar.deploy.dir" value="${ear.deploy.dir}/${project.name}.jar"/>
+ <property name="war.deploy.dir" value="${ear.deploy.dir}/${project.name}.war"/>
+ <property name="packaged.archive" value="${dist.dir}/${project.name}.ear"/>
+ <property name="testng.jar" value="${basedir}/lib/testng.jar"/>
+ <property name="javac.debug" value="true"/>
+ <property name="javac.deprecation" value="false"/>
+ <property name="debug" value="false"/>
+
+ <!--Properties for validating configuration files -->
+ <property name="validate.resources.dir" value="${basedir}/exploded-archives"/>
+ <property name="schema.dir" value="${basedir}/exploded-archives/schemas"/>
+ <property name="src.schema.dir" value="${schema.dir}/org/jboss/seam"/>
+ <property name="schema.version" value="2.2"/>
+
+ <fileset id="lib" dir="${lib.dir}">
+ <include name="*.jar"/>
+ </fileset>
+
+ <path id="build.classpath">
+ <fileset refid="lib"/>
+ </path>
+
+ <!-- Import GlassFish deployment targets -->
+ <import file="${basedir}/glassfish-build.xml"/>
+
+ <target name="init" description="Initialize the build">
+ <taskdef name="groovyc"
+ classname ="org.codehaus.groovy.ant.Groovyc"
+ classpathref="build.classpath"/> <!-- really only the groovy jar is necessary -->
+ <mkdir dir="${jar.dir}"/>
+ <mkdir dir="${ear.dir}"/>
+ <mkdir dir="${war.dir}"/>
+ <mkdir dir="${dist.dir}"/>
+
+ <condition property="is.debug" value="true">
+ <istrue value="${debug}"/>
+ </condition>
+ <property name="transactionManagerLookupClass" value="org.hibernate.transaction.JBossTransactionManagerLookup"/>
+ <property name="ejbJndiPattern" value="${project.name}/#{ejbName}/local"/>
+ <property name="seamBootstrapsPu" value="false"/>
+ <property name="seamEmfRef" value="#{null}"/>
+ <condition property="puJndiName" value="java:comp/env/${project.name}/pu" else="java:/${project.name}EntityManagerFactory">
+ <available file="${jboss.home}/lib/jboss-vfs.jar"/> <!-- JBoss AS >= 5.0 -->
+ </condition>
+
+ <filterset id="persistence">
+ <filter token="transactionManagerLookupClass" value="${transactionManagerLookupClass}"/>
+ </filterset>
+ <filterset id="seam">
+ <filter token="ejbJndiPattern" value="${ejbJndiPattern}"/>
+ <filter token="seamBootstrapsPu" value="${seamBootstrapsPu}"/>
+ <filter token="seamEmfRef" value="${seamEmfRef}"/>
+ <filter token="puJndiName" value="${puJndiName}"/>
+ </filterset>
+ <filterset id="profile">
+ <filter token="debug" value="${debug}"/>
+ </filterset>
+
+ <!-- if a .groovy file is in model or action, set groovy.present -->
+ <available property="groovy.present" value="true" file="" searchparents="true">
+ <filepath>
+ <fileset dir="${src.action.dir}">
+ <include name="**/*.groovy"/>
+ </fileset>
+ <fileset dir="${src.model.dir}">
+ <include name="**/*.groovy"/>
+ </fileset>
+ </filepath>
+ </available>
+ <condition property="groovy.test.present" value="true">
+ <or>
+ <isset property="groovy.present"/>
+ <available file="" searchparents="true">
+ <filepath>
+ <fileset dir="${src.test.dir}">
+ <include name="**/*.groovy"/>
+ </fileset>
+ </filepath>
+ </available>
+ </or>
+ </condition>
+ <!-- NOTE: Seam does not properly detect uncompiled groovy classes in an EAR -->
+ <condition property="groovy.dynamic" value="true">
+ <and>
+ <isset property="groovy.present"/>
+ <istrue value="${debug}"/>
+ </and>
+ </condition>
+ <condition property="groovy.static" value="true">
+ <and>
+ <isset property="groovy.present"/>
+ <isfalse value="${debug}"/>
+ </and>
+ </condition>
+ </target>
+
+ <target name="groovy.compile" if="groovy.static">
+ <groovyc classpathref="build.classpath"
+ destdir="${jar.dir}"
+ srcdir="${src.model.dir}">
+ </groovyc>
+ <path id="groovy.action.classpath">
+ <path refid="build.classpath"/>
+ <dirset dir="${jar.dir}"/>
+ </path>
+ <groovyc classpathref="groovy.action.classpath"
+ destdir="${jar.dir}"
+ srcdir="${src.action.dir}">
+ </groovyc>
+ </target>
+
+ <target name="groovy.copy" if="groovy.dynamic">
+ <copy todir="${jar.dir}">
+ <fileset dir="${src.action.dir}">
+ <include name="**/*.groovy"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="compile" depends="init,groovy.compile,groovy.copy"
+ description="Compile the Java source code"
+ unless="eclipse.running">
+ <javac classpathref="build.classpath"
+ destdir="${jar.dir}"
+ debug="${javac.debug}"
+ deprecation="${javac.deprecation}"
+ nowarn="on">
+ <src path="${src.model.dir}"/>
+ <src path="${src.action.dir}"/>
+ </javac>
+ </target>
+
+ <target name="copyclasses" depends="init"
+ description="Copy the classes that were compiled by eclipse"
+ if="eclipse.running">
+ <copy todir="${jar.dir}">
+ <fileset dir="classes/main">
+ <include name="**/*.class"/>
+ </fileset>
+ <fileset dir="classes/hot">
+ <include name="**/*.class"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="jar" depends="compile,copyclasses"
+ description="Build the JAR structure in a staging directory">
+ <copy todir="${jar.dir}">
+ <fileset dir="${src.model.dir}">
+ <include name="**/*.component.xml" />
+ </fileset>
+ <fileset dir="${basedir}/resources">
+ <include name="seam.properties"/>
+ <include name="*.drl"/>
+ <include name="META-INF/*.drl"/>
+ </fileset>
+ </copy>
+ <copy todir="${jar.dir}/META-INF">
+ <fileset dir="${basedir}/resources/META-INF">
+ <include name="ejb-jar.xml"/>
+ <include name="orm.xml"/>
+ </fileset>
+ </copy>
+ <copy tofile="${jar.dir}/META-INF/persistence.xml"
+ file="${basedir}/resources/META-INF/persistence-${profile}.xml">
+ <filterset refid="persistence"/>
+ </copy>
+ <copy tofile="${jar.dir}/import.sql"
+ file="${basedir}/resources/import-${profile}.sql"/>
+ </target>
+
+ <target name="war" depends="compile"
+ description="Build the WAR structure in a staging directory">
+ <copy todir="${war.dir}">
+ <fileset dir="${basedir}/view"/>
+ </copy>
+ <copy tofile="${war.dir}/WEB-INF/classes/components.properties"
+ file="${basedir}/resources/components-${profile}.properties">
+ <filterset refid="seam"/>
+ <filterset refid="profile"/>
+ </copy>
+ <copy todir="${war.dir}/WEB-INF">
+ <fileset dir="${basedir}/resources/WEB-INF">
+ <include name="*.*"/>
+ <include name="lib/*.*"/>
+ <exclude name="web.xml"/>
+ </fileset>
+ </copy>
+ <copy todir="${war.dir}/WEB-INF/lib">
+ <fileset dir="${lib.dir}">
+ <includesfile name="deployed-jars-war.list"/>
+ <exclude name="jboss-seam-gen.jar"/>
+ <exclude name="jboss-seam-debug.jar" unless="is.debug"/>
+ </fileset>
+ </copy>
+ <copy todir="${war.dir}/WEB-INF/classes">
+ <fileset dir="${basedir}/resources">
+ <include name="messages*.properties"/>
+ <include name="*.skin.properties" if="richfaces.present"/>
+ <include name="*_theme.properties"/>
+ <include name="**/*.xcss" if="richfaces.present"/>
+ </fileset>
+ <!-- move XCSS into classpath for now
+ loading from web context only works in JBoss AS 4 -->
+ <fileset dir="${basedir}/view">
+ <include name="**/*.xcss" if="richfaces.present"/>
+ </fileset>
+ </copy>
+ <copy todir="${war.dir}/WEB-INF"
+ file="${basedir}/resources/WEB-INF/web.xml">
+ <filterset refid="profile"/>
+ </copy>
+ </target>
+
+ <target name="ear" description="Build the EAR structure in a staging directory">
+ <copy todir="${ear.dir}">
+ <fileset dir="${basedir}/resources">
+ <include name="*jpdl.xml"/>
+ <include name="*hibernate.cfg.xml"/>
+ <include name="jbpm.cfg.xml"/>
+ </fileset>
+ <fileset dir="${lib.dir}">
+ <include name="jboss-seam.jar"/>
+ </fileset>
+ </copy>
+ <copy todir="${ear.dir}/lib">
+ <fileset dir="${lib.dir}">
+ <includesfile name="deployed-jars-ear.list"/>
+ <exclude name="icefaces-ahs.jar" if="icefaces.present"/>
+ </fileset>
+ </copy>
+ <copy todir="${ear.dir}/META-INF">
+ <fileset dir="${basedir}/resources/META-INF">
+ <include name="application.xml"/>
+ <include name="jboss-app.xml"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="clear-profile-artifacts" depends="init"
+ description="Clear compiled cache of profile-specific artifacts in anticipation of a profile change">
+ <delete file="${jar.dir}/META-INF/persistence.xml"/>
+ <delete file="${jar.dir}/import.sql"/>
+ <delete file="${war.dir}/WEB-INF/classes/components.properties"/>
+ </target>
+
+ <target name="stage" depends="jar,war,ear"/>
+
+ <target name="archive" depends="clear-profile-artifacts,stage"
+ description="Package the archives">
+ <jar jarfile="${dist.dir}/${project.name}.jar" basedir="${jar.dir}"/>
+ <jar jarfile="${dist.dir}/${project.name}.war" basedir="${war.dir}"/>
+ <jar jarfile="${dist.dir}/${project.name}.ear">
+ <fileset dir="${ear.dir}">
+ <exclude name="${project.name}_jar/**"/>
+ <exclude name="${project.name}_war/**"/>
+ </fileset>
+ <fileset dir="${dist.dir}">
+ <include name="${project.name}.jar"/>
+ <include name="${project.name}.war"/>
+ </fileset>
+ </jar>
+ </target>
+
+ <target name="datasource">
+ <!-- <fail unless="jboss.home">jboss.home not set</fail>
+ <copy file="${basedir}/resources/${project.name}-${profile}-ds.xml"
+ tofile="${deploy.dir}/${project.name}-ds.xml"/>
+ -->
+ </target>
+
+ <target name="explode" depends="stage,datasource"
+ description="Deploy the exploded archive">
+ <fail unless="jboss.home">jboss.home not set</fail>
+
+ <copy todir="${ear.deploy.dir}">
+ <fileset dir="${ear.dir}">
+ <include name="**/*"/>
+ <exclude name="${project.name}_jar/**"/>
+ <exclude name="${project.name}_war/**"/>
+ </fileset>
+ </copy>
+ <copy todir="${jar.deploy.dir}">
+ <fileset dir="${jar.dir}"/>
+ </copy>
+ <copy todir="${war.deploy.dir}">
+ <fileset dir="${war.dir}"/>
+ </copy>
+ </target>
+
+ <target name="unexplode" description="Undeploy the exploded archive">
+ <delete failonerror="no">
+ <fileset dir="${ear.deploy.dir}">
+ <exclude name="**/*.jar"/>
+ </fileset>
+ </delete>
+ <delete file="${deploy.dir}/${project.name}-ds.xml" failonerror="no"/>
+ <delete dir="${ear.deploy.dir}" failonerror="no"/>
+ </target>
+
+ <target name="reexplode" depends="unexplode,clean,explode"
+ description="Undeploy the exploded archive, clean, then deploy the exploded archive"/>
+
+ <target name="check-deployed" description="Check to see if packaged archive is currently deployed">
+ <fail unless="jboss.home">jboss.home not set</fail>
+ <condition property="archive.deployed" value="true">
+ <available file="${ear.deploy.dir}" type="file"/>
+ </condition>
+ </target>
+
+ <target name="restart-exploded" unless="archive.deployed" description="Deploy exploded archive if not deployed as packaged archive">
+ <antcall target="explode"/>
+ <touch file="${ear.deploy.dir}/META-INF/application.xml"/>
+ </target>
+
+ <target name="restart-deployed" if="archive.deployed" description="Deploy packaged archive if deployed as packaged archive">
+ <antcall target="deploy"/>
+ </target>
+
+ <target name="restart" depends="check-deployed,clear-profile-artifacts,restart-exploded,restart-deployed" description="Restart the exploded archive"/>
+
+ <target name="deploy" depends="archive,datasource" description="Deploy the packaged archive">
+ <fail unless="jboss.home">jboss.home not set</fail>
+ <copy todir="${deploy.dir}" file="${dist.dir}/${project.name}.ear"/>
+ </target>
+
+ <target name="undeploy" description="Undeploy the packaged archive">
+ <delete file="${deploy.dir}/${project.name}.ear"/>
+ <delete file="${deploy.dir}/${project.name}-ds.xml"/>
+ </target>
+
+ <target name="redeploy" depends="undeploy,clean,deploy"
+ description="Undeploy the packaged archive, clean, then deploy the packaged archive"/>
+
+ <target name="clean" description="Cleans up the staging directory">
+ <delete dir="${dist.dir}"/>
+ <delete dir="${basedir}/exploded-archives"/>
+ <delete dir="${src.schema.dir}" failonerror="no"/>
+ <delete dir="${basedir}/test-report"/>
+ <delete dir="${basedir}/test-output"/>
+ <delete failonerror="no" includeemptydirs="true">
+ <fileset dir="${test.dir}">
+ <exclude name="**/*.class" if="eclipse.running"/>
+ </fileset>
+ </delete>
+ </target>
+
+ <target name="compiletest" depends="groovy.compiletest" unless="eclipse.running" description="Compile the Java source code for the tests">
+ <mkdir dir="${test.dir}"/>
+ <javac classpathref="build.classpath"
+ destdir="${test.dir}"
+ debug="${javac.debug}"
+ deprecation="${javac.deprecation}"
+ nowarn="on">
+ <src path="${src.action.dir}"/>
+ <src path="${src.model.dir}"/>
+ <src path="${src.test.dir}"/>
+ </javac>
+ </target>
+
+ <target name="groovy.compiletest" if="groovy.test.present" description="Compile the Groovy source code for the tests">
+ <mkdir dir="${test.dir}"/>
+ <groovyc classpathref="build.classpath"
+ destdir="${test.dir}">
+ <src path="${src.action.dir}"/>
+ <src path="${src.model.dir}"/>
+ <src path="${src.test.dir}"/>
+ </groovyc>
+ </target>
+
+ <target name="copytestclasses" if="eclipse.running" description="Copy classes compiled by eclipse to the test dir">
+ <mkdir dir="${test.dir}"/>
+ <copy todir="${test.dir}">
+ <fileset dir="classes/main">
+ <include name="**/*.class"/>
+ </fileset>
+ </copy>
+ <copy todir="${test.dir}">
+ <fileset dir="classes/hot">
+ <include name="**/*.class"/>
+ </fileset>
+ </copy>
+ <copy todir="${test.dir}">
+ <fileset dir="classes/test">
+ <include name="**/*.class"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="buildtest" depends="init,compiletest,copytestclasses" description="Build the tests">
+ <copy todir="${test.dir}">
+ <fileset dir="${basedir}/resources">
+ <exclude name="META-INF/persistence*.xml"/>
+ <exclude name="import*.sql"/>
+ <exclude name="${project.name}-*-ds.xml"/>
+ <exclude name="components-*.properties"/>
+ </fileset>
+ <fileset dir="${basedir}/view"/>
+ </copy>
+ <copy tofile="${test.dir}/META-INF/persistence.xml"
+ file="${basedir}/resources/META-INF/persistence-test.xml"/>
+ <copy tofile="${test.dir}/import.sql"
+ file="${basedir}/resources/import-test.sql"/>
+ <copy tofile="${test.dir}/components.properties"
+ file="${basedir}/resources/components-test.properties"/>
+ <copy todir="${test.dir}" flatten="true">
+ <fileset dir="${src.test.dir}">
+ <include name="**/*Test.xml"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="test" depends="buildtest" description="Run the tests">
+ <fail message="Cannot run tests because path to project contains spaces.">
+ <condition>
+ <contains string="${basedir}" substring=" "/>
+ </condition>
+ </fail>
+ <condition property="incompatible.jdk" value="true">
+ <and>
+ <equals arg1="${ant.java.version}" arg2="1.6"/>
+ <not><available classname="javax.xml.bind.JAXB"/></not>
+ </and>
+ </condition>
+ <fail if="incompatible.jdk">You are using an incompatible JDK 6. Please use Sun JDK 6 Update 4 (1.6.0_04) or newer or use Open JDK 6.</fail>
+ <taskdef resource="testngtasks" classpath="${testng.jar}"/>
+ <path id="test.path">
+ <path path="${test.dir}"/>
+ <fileset dir="${lib.dir}/test">
+ <include name="*.jar"/>
+ </fileset>
+ <path path="${bootstrap.dir}"/>
+ <path refid="build.classpath"/>
+ </path>
+ <testng outputdir="${basedir}/test-report">
+ <jvmarg line="-Dsun.lang.ClassLoader.allowArraySyntax=true"/>
+ <classpath refid="test.path"/>
+ <xmlfileset dir="${test.dir}" includes="*Test.xml"/>
+ </testng>
+ </target>
+
+ <target name="javadoc" depends="compile">
+ <mkdir dir="${dist.dir}/apidoc"/>
+ <javadoc classpathref="build.classpath" destdir="${dist.dir}/apidoc" use="true" protected="true" version="true" windowtitle="${project.name} API Documentation" doctitle="${project.name} API Documentation" link="http://java.sun.com/j2se/5.0/docs/api">
+ <packageset dir="${src.action.dir}" defaultexcludes="yes">
+ <include name="*/**"/>
+ </packageset>
+ <packageset dir="${src.model.dir}" defaultexcludes="yes">
+ <include name="*/**"/>
+ </packageset>
+ </javadoc>
+ </target>
+
+ <!-- deprecated -->
+ <target name="validateConfiguration" depends="validate"/>
+
+ <target name="validate" depends="stage" description="Validate the XML configuration files">
+ <mkdir dir="${schema.dir}"/>
+ <unjar src="${lib.dir}/jboss-seam.jar" dest="${schema.dir}">
+ <patternset>
+ <include name="org/jboss/seam/*.xsd"/>
+ <include name="org/jboss/seam/*.dtd"/>
+ </patternset>
+ </unjar>
+ <ant antfile="validate.xml" target="validateConfiguration"/>
+ </target>
+
+ <target name="purge" depends="undeploy" description="Clean out JBoss AS temporary deployment files">
+ <delete dir="${jboss.home}/server/default/tmp/deploy"/>
+ <mkdir dir="${jboss.home}/server/default/tmp/deploy/"/>
+ <delete dir="${jboss.home}/server/default/tmp/sessions"/>
+ <mkdir dir="${jboss.home}/server/default/tmp/sessions"/>
+ <delete dir="${jboss.home}/server/default/work/jboss.web/localhost/${project.name}"/>
+ </target>
+
+</project>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/debug-glassfish-jbpm_on_rails_bam.launch
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/debug-glassfish-jbpm_on_rails_bam.launch (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/debug-glassfish-jbpm_on_rails_bam.launch 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.remoteJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/jbpm_on_rails_bam"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.jdt.launching.ALLOW_TERMINATE" value="true"/>
+<mapAttribute key="org.eclipse.jdt.launching.CONNECT_MAP">
+<mapEntry key="port" value="9009"/>
+<mapEntry key="hostname" value="localhost"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="jbpm_on_rails_bam"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_CONNECTOR_ID" value="org.eclipse.jdt.launching.socketAttachConnector"/>
+</launchConfiguration>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/debug-jboss-jbpm_on_rails_bam.launch
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/debug-jboss-jbpm_on_rails_bam.launch (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/debug-jboss-jbpm_on_rails_bam.launch 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.remoteJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/jbpm_on_rails_bam"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.jdt.launching.ALLOW_TERMINATE" value="true"/>
+<mapAttribute key="org.eclipse.jdt.launching.CONNECT_MAP">
+<mapEntry key="port" value="8787"/>
+<mapEntry key="hostname" value="localhost"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="jbpm_on_rails_bam"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_CONNECTOR_ID" value="org.eclipse.jdt.launching.socketAttachConnector"/>
+</launchConfiguration>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/deployed-jars-ear.list
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/deployed-jars-ear.list (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/deployed-jars-ear.list 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,16 @@
+antlr-runtime.jar
+commons-beanutils.jar
+core.jar
+drools-templates.jar
+drools-decisiontables.jar
+drools-compiler.jar
+drools-api.jar
+drools-core.jar
+groovy-all.jar
+janino.jar
+jboss-el.jar
+jboss-seam-remoting.jar
+jbpm-jpdl.jar
+mvel2.jar
+richfaces-api.jar
+primefaces-ui-0.9.1.jar
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/deployed-jars-war.list
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/deployed-jars-war.list (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/deployed-jars-war.list 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,17 @@
+commons-digester.jar
+jboss-seam-debug.jar
+jboss-seam-excel.jar
+jboss-seam-ioc.jar
+jboss-seam-mail.jar
+jboss-seam-pdf.jar
+jboss-seam-resteasy.jar
+jboss-seam-rss.jar
+jboss-seam-ui.jar
+jsf-facelets.jar
+jxl.jar
+richfaces-impl.jar
+richfaces-ui.jar
+# You can remove the JARs for themes you aren't using
+darkX.jar
+glassX.jar
+laguana.jar
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/explode.launch
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/explode.launch (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/explode.launch 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
+ <booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
+ <booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
+ <booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+ <stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AFTER_CLEAN_TARGETS" value="clean,unexplode,restart,buildtest,"/>
+ <stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
+ <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+ <listEntry value="1"/>
+ </listAttribute>
+ <booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
+ <booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+ <booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
+ <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+ <stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_MANUAL_TARGETS" value="clean,unexplode,restart,buildtest,"/>
+ <stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AUTO_TARGETS" value="explode,buildtest,"/>
+ <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="jbpm_on_rails_bam"/>
+ <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+ <listEntry value="/jbpm_on_rails_bam/build.xml"/>
+ </listAttribute>
+ <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/jbpm_on_rails_bam/build.xml}"/>
+</launchConfiguration>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/glassfish-build.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/glassfish-build.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/glassfish-build.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,220 @@
+<?xml version="1.0"?>
+<project name="jbpm_on_rails_bam-glassfish" basedir=".">
+ <!-- This file consists of Ant deployment targets for the GlassFish Application Server -->
+ <!-- Import this script into your Ant build using <import file="${basedir}/glassfish.build.xml"/> -->
+
+ <macrodef name="asadmin">
+ <attribute name="cmd"/>
+ <attribute name="args" default=""/>
+ <attribute name="log" default="true"/>
+ <element name="pre-conditions" optional="true"/>
+ <sequential>
+ <fail message="glassfish.home not set" unless="glassfish.home"/>
+ <fail message="glassfish.home does not point to a valid GlassFish installation">
+ <condition>
+ <or>
+ <length string="${glassfish.home}" trim="true" length="0"/>
+ <and>
+ <not><os family="windows"/></not>
+ <not><available file="${glassfish.home}/bin/asadmin"/></not>
+ </and>
+ <and>
+ <os family="windows"/>
+ <not><available file="${glassfish.home}/bin/asadmin.bat"/></not>
+ </and>
+ </or>
+ </condition>
+ </fail>
+ <condition property="glassfish.domains.dir" value="${glassfish.home}/glassfish/domains" else="${glassfish.home}/domains">
+ <available file="${glassfish.home}/glassfish" type="dir"/>
+ </condition>
+ <fail message="glassfish.domain not set" unless="glassfish.domain"/>
+ <fail message="glassfish.domain not a valid GlassFish domain">
+ <condition>
+ <or>
+ <length string="${glassfish.domain}" trim="true" length="0"/>
+ <not><available file="${glassfish.domains.dir}/${glassfish.domain}" type="dir"/></not>
+ </or>
+ </condition>
+ </fail>
+ <pre-conditions/>
+ <!-- Windows batch files (.bat) cannot be executed directly. Must be executed using the command shell (cmd.exe) with the /c switch. -->
+ <condition property="asadmin.cmd" value="cmd.exe">
+ <os family="windows"/>
+ </condition>
+ <condition property="asadmin.arg1" value="/c ${glassfish.home}/bin/asadmin">
+ <os family="windows"/>
+ </condition>
+ <property name="asadmin.cmd" value="${glassfish.home}/bin/asadmin"/>
+ <property name="asadmin.arg1" value=""/>
+ <exec executable="${asadmin.cmd}">
+ <arg line="${asadmin.arg1}"/>
+ <arg value="@{cmd}"/>
+ <arg line="@{args}"/>
+ <redirector outputproperty="gf.cmd.output" alwayslog="@{log}"/>
+ </exec>
+ </sequential>
+ </macrodef>
+
+ <target name="gf-init" description="Prepare properties for GlassFish">
+ <property name="transactionManagerLookupClass" value="org.hibernate.transaction.SunONETransactionManagerLookup"/>
+ <property name="ejbJndiPattern" value="java:comp/env/${project.name}/#{ejbName}/local"/>
+ <property name="seamBootstrapsPu" value="false"/>
+ <property name="seamEmfRef" value="#{null}"/>
+ <property name="puJndiName" value="java:comp/env/${project.name}/pu"/>
+ </target>
+
+ <target name="gf-start" description="Start GlassFish">
+ <asadmin cmd="start-domain" args="${glassfish.domain}"/>
+ </target>
+
+ <target name="gf-debug" description="Start GlassFish in debug mode">
+ <asadmin cmd="start-domain" args="--debug=true ${glassfish.domain}"/>
+ </target>
+
+ <target name="gf-stop" description="Stop GlassFish">
+ <asadmin cmd="stop-domain" args="${glassfish.domain}"/>
+ </target>
+
+ <target name="gf-reboot" depends="gf-stop,gf-start" description="Restart GlassFish"/>
+
+ <target name="gf-list-components" description="List archives deployed to GlassFish">
+ <asadmin cmd="list-components"/>
+ </target>
+
+ <target name="gf-list-jdbc-resources" description="List JDBC resources deployed to GlassFish">
+ <asadmin cmd="list-jdbc-resources"/>
+ </target>
+
+ <target name="gf-check-datasource" unless="glassfish.datasource.useDefault" description="Check if the datasource is registered with GlassFish">
+ <asadmin cmd="list-jdbc-resources" log="false"/>
+ <condition property="gf.needs.datasource">
+ <not><contains string="${gf.cmd.output}" substring="${project.name}Datasource"/></not>
+ </condition>
+ </target>
+
+ <target name="gf-deploy-datasource" depends="gf-check-datasource" if="gf.needs.datasource"
+ description="Deploy the datasource to GlassFish">
+ <asadmin cmd="add-resources" args="${basedir}/resources/glassfish-resources-${profile}.xml"/>
+ </target>
+
+ <target name="gf-cleanup-ear" if="project.ear">
+ <move todir="${war.dir}/WEB-INF/classes">
+ <fileset dir="${jar.dir}">
+ <include name="META-INF/orm.xml" if="project.ear"/>
+ <include name="META-INF/persistence.xml" if="project.ear"/>
+ </fileset>
+ </move>
+ </target>
+
+ <target name="gf-check-seam-exploded" if="project.ear">
+ <!-- This file has to be deleted each time since the exploded directory has a different name (doesn't block it) -->
+ <delete file="${ear.dir}/jboss-seam.jar"/>
+ <condition property="gf.explode.seam">
+ <and>
+ <isset property="project.ear"/>
+ <not><available file="${ear.dir}/jboss-seam_jar" type="dir"/></not>
+ </and>
+ </condition>
+ </target>
+
+ <target name="gf-explode-seam" depends="gf-check-seam-exploded" if="gf.explode.seam">
+ <mkdir dir="${ear.dir}/jboss-seam_jar"/>
+ <unjar src="${lib.dir}/jboss-seam.jar" dest="${ear.dir}/jboss-seam_jar"/>
+ </target>
+
+ <target name="gf-explode" depends="gf-stage,gf-explode-seam,gf-deploy-datasource"
+ description="Deploy the datasource and exploded archive to GlassFish">
+ <asadmin cmd="deploy" args="--name ${project.name} ${exploded.archive.dir}"/>
+ </target>
+
+ <target name="gf-restart" depends="gf-explode"/>
+
+ <target name="gf-reexplode" depends="clean,gf-undeploy,gf-explode"
+ description="Clean, undeploy, and deploy the datasource and exploded archive to GlassFish"/>
+
+ <target name="gf-redeploy" depends="clean,gf-undeploy,gf-deploy"
+ description="Clean, undeploy, and deploy the datasource and packaged archive to GlassFish"/>
+
+ <target name="gf-hotdeploy" depends="gf-stage" description="Publish hot deployable artifacts"/>
+
+ <target name="gf-stage" depends="gf-init,stage" description="Prepare the exploded archive targeting GlassFish">
+ <antcall target="gf-cleanup-ear"/>
+ </target>
+
+ <target name="gf-archive" depends="gf-init,archive" description="Prepare a packaged archive targeting GlassFish"/>
+
+ <target name="gf-deploy" depends="gf-archive,gf-deploy-datasource"
+ description="Deploy the datasource and packaged archive to GlassFish">
+ <asadmin cmd="deploy" args="--name ${project.name} ${packaged.archive}"/>
+ </target>
+
+ <target name="gf-unexplode" depends="gf-undeploy"/>
+
+ <target name="gf-undeploy-archive" description="Undeploy the archive from GlassFish">
+ <asadmin cmd="undeploy" args="${project.name}"/>
+ </target>
+
+ <target name="gf-undeploy-datasource" unless="glassfish.datasource.useDefault"
+ description="Undeploy the datasource from GlassFish">
+ <asadmin cmd="delete-jdbc-resource" args="${project.name}Datasource"/>
+ <asadmin cmd="delete-jdbc-connection-pool" args="${project.name}Pool"/>
+ <!-- Duplicate last two lines for each JDBC resource -->
+ </target>
+
+ <target name="gf-undeploy" depends="gf-undeploy-archive,gf-undeploy-datasource"
+ description="Undeploy the archive and datasource from GlassFish"/>
+
+ <target name="gf-prepare" depends="gf-stop,gf-deploy-hibernate"
+ description="Prepare GlassFish to run a Seam application"/>
+
+ <target name="gf-deploy-hibernate" description="Deploy Hibernate as a JPA provider on GlassFish">
+ <fail message="glassfish.home not set" unless="glassfish.home"/>
+ <fail message="glassfish.home does not point to a valid GlassFish installation">
+ <condition>
+ <or>
+ <length string="${glassfish.home}" trim="true" length="0"/>
+ <not><available file="${glassfish.home}/bin/asadmin"/></not>
+ </or>
+ </condition>
+ </fail>
+ <condition property="glassfish.v3" value="true">
+ <available file="${glassfish.home}/glassfish" type="dir"/>
+ </condition>
+ <condition property="glassfish.domains.dir" value="${glassfish.home}/glassfish/domains" else="${glassfish.home}/domains">
+ <isset property="glassfish.v3"/>
+ </condition>
+ <fail message="glassfish.domain not set" unless="glassfish.domain"/>
+ <fail message="glassfish.domain not a valid GlassFish domain">
+ <condition>
+ <or>
+ <length string="${glassfish.domain}" trim="true" length="0"/>
+ <not><available file="${glassfish.domains.dir}/${glassfish.domain}" type="dir"/></not>
+ </or>
+ </condition>
+ </fail>
+ <copy todir="${glassfish.domains.dir}/${glassfish.domain}/lib/ext" overwrite="true">
+ <fileset dir="${basedir}/lib">
+ <include name="antlr.jar"/>
+ <include name="asm.jar" unless="glassfish.v3"/>
+ <include name="asm-attrs.jar" unless="glassfish.v3"/>
+ <include name="cglib.jar" unless="glassfish.v3"/>
+ <include name="cglib-nodep.jar" if="glassfish.v3"/>
+ <include name="commons-collections.jar"/>
+ <include name="commons-logging.jar"/>
+ <include name="concurrent.jar"/>
+ <include name="dom4j.jar"/>
+ <include name="hibernate.jar"/>
+ <include name="hibernate-*.jar"/>
+ <exclude name="hibernate-search.jar"/>
+ <include name="javassist.jar"/>
+ <include name="jboss-common-core.jar"/>
+ <include name="jta.jar"/>
+ <include name="persistence-api.jar"/>
+ <!-- Include any required JDBC driver JARs below -->
+ <include name="hsqldb.jar"/>
+ </fileset>
+ </copy>
+ </target>
+
+</project>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/glassfish-readme.txt
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/glassfish-readme.txt (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/glassfish-readme.txt 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,46 @@
+The GlassFish home directory and domain are set in the build.properties file adjacent to this readme.
+
+First, you must prepare GlassFish for a seam-gen project (i.e., deploy Hibernate as a JPA provider)
+
+ ant gf-prepare
+
+Next, you need to start GlassFish:
+
+ ant gf-start
+
+Finally, you can deploy the project:
+
+ ant gf-explode
+
+GlassFish deployment works out of the box for WAR projects. To deploy an EAR project, make the following changes:
+
+ 1. Uncomment the <ejb-local-ref> entries in resources/WEB-INF/web.xml (include additional entries as necessary)
+ 2. Strip the contents up to and including the # in the element <persistence-unit-name> in resources/WEB-INF/web.xml
+ 3. Uncomment the <jar-file> element in resources/META-INF/persistence-dev.xml & resources/META-INF/persistence-prod.xml
+
+If you plan to use the default Derby datasource in GlassFish, named jdbc/__default, then uncomment the following property
+in the build.properties file at the root of the project to prevent the gf-deploy-datasource target from executing:
+
+ glassfish.datasource.useDefault=true
+
+When switching back and forth between a JBoss AS deployment and a GlassFish deployment, be sure to clean the project:
+
+ ant clean
+
+GlassFish command reference:
+
+gf-start - Starts GlassFish
+gf-debug - Starts GlassFish in debug mode
+gf-stop - Stops GlassFish
+gf-reboot - Restarts GlassFish
+gf-deploy-datasource - Deploys the datasource and connection pool to GlassFish
+gf-explode - Deploys the exploded archive to GlassFish (restarts application if already deployed)
+gf-hotdeploy - Hot deploys Java classes, Seam components, and view resources
+gf-reexplode - Cleans, undeploys, and deploys the exploded archive to GlassFish
+gf-deploy - Deploys the packaged archive to GlassFish
+gf-undeploy - Undeploys the exploded or packaged archive from GlassFish
+gf-redeploy - Cleans, undeploys, and deploys the packaged archive to GlassFish
+gf-stage - Prepares an exploded archive targeting GlassFish
+gf-archive - Prepares a packaged archive targeting GlassFish
+gf-prepare - Prepares GlassFish for a seam-gen project deployment (calls gf-deploy-hibernate)
+gf-deploy-hibernate - Deploys Hibernate as a JPA provider on GlassFish
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/hibernate-console.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/hibernate-console.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/hibernate-console.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,10 @@
+#File used by hibernate tools to override <datasource> and other container specific settings in persistence.xml
+hibernate.connection.password=
+hibernate.connection.username=sa
+hibernate.connection.driver_class=org.hsqldb.jdbcDriver
+hibernate.dialect=org.hibernate.dialect.HSQLDialect
+hibernate.connection.url=jdbc:hsqldb:.
+
+hibernate.connection.provider_class=org.hibernate.connection.DriverManagerConnectionProvider
+hibernate.datasource=
+hibernate.transaction.manager_lookup_class=
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/jbpm_on_rails_bam.iml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/jbpm_on_rails_bam.iml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/jbpm_on_rails_bam.iml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,418 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module relativePaths="true" type="JAVA_MODULE" version="4">
+ <component name="FacetManager">
+ <facet type="web" name="Web">
+ <configuration>
+ <descriptors>
+ <deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/resources/WEB-INF/web.xml" optional="false" version="2.5" />
+ </descriptors>
+ <webroots>
+ <root url="file://$MODULE_DIR$/view" relative="/" />
+ </webroots>
+ <sourceRoots>
+ <root url="file://$MODULE_DIR$/src/hot" />
+ <root url="file://$MODULE_DIR$/src/main" />
+ </sourceRoots>
+ <building>
+ <setting name="EXPLODED_URL" value="file://" />
+ <setting name="EXPLODED_ENABLED" value="false" />
+ <setting name="JAR_URL" value="file://" />
+ <setting name="JAR_ENABLED" value="false" />
+ <setting name="EXCLUDE_EXPLODED_DIRECTORY" value="true" />
+ </building>
+ <packaging>
+ <containerElement type="module" name="jbpm_on_rails_bam">
+ <attribute name="method" value="1" />
+ <attribute name="URI" value="/WEB-INF/classes" />
+ </containerElement>
+ </packaging>
+ </configuration>
+ <facet type="jsf" name="JSF">
+ <configuration />
+ </facet>
+ </facet>
+ <facet type="jpa" name="JPA">
+ <configuration>
+ <setting name="validation-enabled" value="true" />
+ <setting name="provider-name" value="Hibernate" />
+ <datasource-mapping>
+ <factory-entry name="jbpm_on_rails_bam" value="86c824fb-f41b-4fd1-986c-be634e7b9cfc" />
+ </datasource-mapping>
+ <deploymentDescriptor name="persistence.xml" url="file://$MODULE_DIR$/resources/META-INF/persistence-dev-war.xml" optional="false" version="1.0" />
+ </configuration>
+ </facet>
+ <facet type="Seam" name="Seam">
+ <configuration />
+ </facet>
+ </component>
+ <component name="NewModuleRootManager" inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/classes" />
+ <output-test url="file://$MODULE_DIR$/test-build" />
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/hot" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
+ <excludeFolder url="file://$MODULE_DIR$/dist" />
+ <excludeFolder url="file://$MODULE_DIR$/exploded-archives" />
+ </content>
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="file://$MODULE_DIR$/bootstrap" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-validator.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-core.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-annotations.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-commons-annotations.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-entitymanager.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-seam.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/lib/src/jboss-seam-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-seam-ui.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/lib/src/jboss-seam-ui-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-seam-debug.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-cache.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jbpm-jpdl.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/antlr.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jgroups.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jsf-facelets.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jsf-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/servlet-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/testng.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-el.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/el-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/mvel2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/drools-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/drools-core.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/drools-compiler.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/drools-decisiontables.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/drools-templates!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/janino.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/antlr-runtime.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/mail.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/persistence-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/ejb-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jsr250-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jta.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/core.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-embedded-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-search.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/richfaces-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hsqldb.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/lucene-core.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jsf-impl.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ </component>
+</module>
+
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/jbpm_on_rails_bam.ipr
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/jbpm_on_rails_bam.ipr (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/jbpm_on_rails_bam.ipr 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project relativePaths="true" version="4">
+ <component name="AntConfiguration">
+ <defaultAnt bundledAnt="true" />
+ </component>
+ <component name="BuildJarProjectSettings">
+ <option name="BUILD_JARS_ON_MAKE" value="false" />
+ </component>
+ <component name="CodeStyleSettingsManager">
+ <option name="PER_PROJECT_SETTINGS" />
+ <option name="USE_PER_PROJECT_SETTINGS" value="false" />
+ </component>
+ <component name="CompilerConfiguration">
+ <option name="DEFAULT_COMPILER" value="Javac" />
+ <option name="DEPLOY_AFTER_MAKE" value="0" />
+ <resourceExtensions>
+ <entry name=".+\.(properties|xml|html|dtd|tld)" />
+ <entry name=".+\.(gif|png|jpeg|jpg)" />
+ </resourceExtensions>
+ <wildcardResourcePatterns>
+ <entry name="?*.properties" />
+ <entry name="?*.xml" />
+ <entry name="?*.gif" />
+ <entry name="?*.png" />
+ <entry name="?*.jpeg" />
+ <entry name="?*.jpg" />
+ <entry name="?*.html" />
+ <entry name="?*.dtd" />
+ <entry name="?*.tld" />
+ <entry name="?*.ftl" />
+ </wildcardResourcePatterns>
+ </component>
+ <component name="DataSourceManagerImpl">
+ <DataSource DataSourceSourceName="LOCAL">
+ <option name="DRIVER_CLASS" value="org.hsqldb.jdbcDriver" />
+ <option name="DATABASE_URL" value="jdbc:hsqldb:." />
+ <option name="DRIVER_PATH" />
+ <option name="DATBASE_USERNAME" value="sa" />
+ <option name="ENCODED_DATABASE_PASSWORD" value="" />
+ <option name="DEFAULT_SCHEMA_NAME" />
+ <option name="TABLE_PATTERN" value="" />
+ <option name="UUID" value="bacaf6ce-f639-4674-8ab3-a71c643f9942" />
+ <option name="NAME" value="jbpm_on_rails_bamDatasource" />
+ <libraries>
+ <library>
+ <url>jar://$PROJECT_DIR$/lib/hsqldb.jar!/</url>
+ </library>
+ </libraries>
+ </DataSource>
+ </component>
+ <component name="DependenciesAnalyzeManager">
+ <option name="myForwardDirection" value="false" />
+ </component>
+ <component name="DependencyValidationManager">
+ <option name="SKIP_IMPORT_STATEMENTS" value="false" />
+ </component>
+ <component name="EclipseCompilerSettings">
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="true" />
+ <option name="DEPRECATION" value="false" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ <option name="MAXIMUM_HEAP_SIZE" value="128" />
+ </component>
+ <component name="EclipseEmbeddedCompilerSettings">
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="true" />
+ <option name="DEPRECATION" value="false" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ <option name="MAXIMUM_HEAP_SIZE" value="128" />
+ </component>
+ <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
+ <component name="EntryPointsManager">
+ <entry_points version="2.0" />
+ </component>
+ <component name="IdProvider" IDEtalkID="347211BFE083C9A041EFAF04DAA1B135" />
+ <component name="InspectionProjectProfileManager">
+ <option name="PROJECT_PROFILE" value="Project Default" />
+ <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
+ <scopes />
+ <profiles>
+ <profile version="1.0" is_locked="false">
+ <option name="myName" value="Project Default" />
+ <option name="myLocal" value="false" />
+ </profile>
+ </profiles>
+ <list size="0" />
+ </component>
+ <component name="JavacSettings">
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="false" />
+ <option name="DEPRECATION" value="true" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ <option name="MAXIMUM_HEAP_SIZE" value="128" />
+ </component>
+ <component name="JavadocGenerationManager">
+ <option name="OUTPUT_DIRECTORY" />
+ <option name="OPTION_SCOPE" value="protected" />
+ <option name="OPTION_HIERARCHY" value="true" />
+ <option name="OPTION_NAVIGATOR" value="true" />
+ <option name="OPTION_INDEX" value="true" />
+ <option name="OPTION_SEPARATE_INDEX" value="true" />
+ <option name="OPTION_DOCUMENT_TAG_USE" value="false" />
+ <option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false" />
+ <option name="OPTION_DOCUMENT_TAG_VERSION" value="false" />
+ <option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="true" />
+ <option name="OPTION_DEPRECATED_LIST" value="true" />
+ <option name="OTHER_OPTIONS" value="" />
+ <option name="HEAP_SIZE" />
+ <option name="LOCALE" />
+ <option name="OPEN_IN_BROWSER" value="true" />
+ </component>
+ <component name="JikesSettings">
+ <option name="JIKES_PATH" value="" />
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="DEPRECATION" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="false" />
+ <option name="IS_EMACS_ERRORS_MODE" value="true" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ </component>
+ <component name="Palette2">
+ <group name="Swing">
+ <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+ </item>
+ <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
+ <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+ <initial-values>
+ <property name="text" value="Button" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="RadioButton" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="CheckBox" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="Label" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+ <preferred-size width="-1" height="20" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+ </item>
+ </group>
+ </component>
+ <component name="ProjectDetails">
+ <option name="projectName" value="jbpm_on_rails_bam" />
+ </component>
+ <component name="ProjectFileVersion" converted="true" />
+ <component name="ProjectModuleManager">
+ <modules>
+ <module fileurl="file://$PROJECT_DIR$/jbpm_on_rails_bam.iml" filepath="$PROJECT_DIR$/jbpm_on_rails_bam.iml" />
+ </modules>
+ </component>
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_1_5" assert-keyword="true" jdk-15="true" project-jdk-name="1.6" project-jdk-type="JavaSDK">
+ <output url="file://$PROJECT_DIR$/classes" />
+ </component>
+ <component name="RmicSettings">
+ <option name="IS_EANABLED" value="false" />
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="false" />
+ <option name="GENERATE_IIOP_STUBS" value="false" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ </component>
+ <component name="SvnBranchConfigurationManager">
+ <option name="myVersion" value="123" />
+ </component>
+ <component name="VcsDirectoryMappings">
+ <mapping directory="" vcs="" />
+ </component>
+ <component name="WebServicesPlugin" addRequiredLibraries="true" />
+</project>
+
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/jbpm_on_rails_bam.launch
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/jbpm_on_rails_bam.launch (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/jbpm_on_rails_bam.launch 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Hibernate Console launch configuration -->
+<launchConfiguration type="org.hibernate.eclipse.launch.ConsoleConfigurationLaunchConfigurationType">
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="jbpm_on_rails_bam"/>
+<stringAttribute key="org.hibernate.eclipse.launch.PROPERTY_FILE" value="/jbpm_on_rails_bam/hibernate-console.properties"/>
+<stringAttribute key="org.hibernate.eclipse.launch.CONFIGURATION_FACTORY" value="JPA"/>
+</launchConfiguration>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/FastInfoset.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/FastInfoset.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/activation.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/activation.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/ant-antlr.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/ant-antlr.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/antlr-runtime.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/antlr-runtime.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/antlr.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/antlr.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/bsh.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/bsh.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/cglib-nodep.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/cglib-nodep.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-beanutils.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-beanutils.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-codec.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-codec.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-collections.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-collections.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-digester.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-digester.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-httpclient.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-httpclient.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-io.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-io.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-lang.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-lang.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-logging.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/commons-logging.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/concurrent.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/concurrent.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/core.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/core.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/darkX.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/darkX.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/dbunit.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/dbunit.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/dom4j.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/dom4j.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/drools-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/drools-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/drools-compiler.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/drools-compiler.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/drools-core.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/drools-core.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/drools-decisiontables.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/drools-decisiontables.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/drools-templates.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/drools-templates.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/ehcache.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/ehcache.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/ejb-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/ejb-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/ejb3-persistence.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/ejb3-persistence.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/el-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/el-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/emma.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/emma.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/glassX.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/glassX.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/groovy-all.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/groovy-all.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/guice.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/guice.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/gwt-servlet.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/gwt-servlet.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-annotations.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-annotations.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-commons-annotations.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-commons-annotations.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-core.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-core.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-entitymanager.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-entitymanager.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-search.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-search.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-validator.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hibernate-validator.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hsqldb.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/hsqldb.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/htmlparser.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/htmlparser.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/itext-rtf.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/itext-rtf.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/itext.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/itext.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/janino.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/janino.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/javassist.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/javassist.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jaxb-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jaxb-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jaxrs-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jaxrs-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jaxws-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jaxws-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-cache.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-cache.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-common-core.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-common-core.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-deployers-client-spi.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-deployers-client-spi.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-deployers-core-spi.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-deployers-core-spi.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-el.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-el.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-embedded-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-embedded-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-jmx.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-jmx.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-logging-spi.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-logging-spi.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-debug.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-debug.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-excel.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-excel.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-ioc.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-ioc.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-jul.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-jul.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-mail.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-mail.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-pdf.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-pdf.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-remoting.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-remoting.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-rss.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-rss.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-ui.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam-ui.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-seam.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-system.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-system.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-vfs.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jboss-vfs.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jbosscache-core.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jbosscache-core.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jbpm-jpdl.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jbpm-jpdl.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jcommon.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jcommon.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jettison.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jettison.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jfreechart.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jfreechart.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jgroups.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jgroups.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jms.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jms.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/joda-time.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/joda-time.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsf-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsf-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsf-facelets.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsf-facelets.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsf-impl.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsf-impl.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsp-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsp-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsr181-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsr181-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsr250-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jsr250-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jta.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jta.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/junit.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/junit.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jxl.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/jxl.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/laguna.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/laguna.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/log4j.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/log4j.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/lucene-core.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/lucene-core.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/mail.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/mail.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/meldware-mailapi.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/meldware-mailapi.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/meldware-mailjmx.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/meldware-mailjmx.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/metawidget-backend.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/metawidget-backend.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/metawidget-frontend.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/metawidget-frontend.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/metawidget.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/metawidget.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/mvel2.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/mvel2.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/openid4java.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/openid4java.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/openxri-client.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/openxri-client.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/openxri-syntax.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/openxri-syntax.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/persistence-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/persistence-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/portlet-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/portlet-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/primefaces-ui-0.9.1.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/primefaces-ui-0.9.1.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/quartz.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/quartz.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/resteasy-atom-provider.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/resteasy-atom-provider.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/resteasy-jaxb-provider.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/resteasy-jaxb-provider.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/resteasy-jaxrs.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/resteasy-jaxrs.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/richfaces-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/richfaces-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/richfaces-impl.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/richfaces-impl.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/richfaces-ui.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/richfaces-ui.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/saaj-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/saaj-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/servlet-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/servlet-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/sjsxp.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/sjsxp.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/slf4j-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/slf4j-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/slf4j-log4j12.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/slf4j-log4j12.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/spring.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/spring.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-debug-sources.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-debug-sources.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-excel-sources.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-excel-sources.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-ioc-sources.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-ioc-sources.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-mail-sources.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-mail-sources.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-pdf-sources.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-pdf-sources.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-remoting-sources.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-remoting-sources.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-resteasy-sources.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-resteasy-sources.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-rss-sources.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-rss-sources.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-sources.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-sources.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-ui-sources.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-ui-sources.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-wicket-ant-sources.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-wicket-ant-sources.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-wicket-sources.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/src/jboss-seam-wicket-sources.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/stax-api.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/stax-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/test/hibernate-all.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/test/hibernate-all.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/test/jboss-embedded-all.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/test/jboss-embedded-all.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/test/thirdparty-all.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/test/thirdparty-all.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/testng.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/testng.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/urlrewritefilter.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/urlrewritefilter.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/wicket-datetime.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/wicket-datetime.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/wicket-extensions.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/wicket-extensions.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/wicket-ioc.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/wicket-ioc.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/wicket.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/wicket.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/xml-apis.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/xml-apis.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/xpp3_min.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/xpp3_min.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/xstream.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/xstream.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/yarfraw.jar
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/lib/yarfraw.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/nbproject/debug-jboss.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/nbproject/debug-jboss.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/nbproject/debug-jboss.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,5 @@
+# JBoss server related settings
+# Edit the following parameter according to your JBoss configuration
+jpda.host=localhost
+jpda.address=8787
+jpda.transport=dt_socket
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/nbproject/ide-file-targets.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/nbproject/ide-file-targets.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/nbproject/ide-file-targets.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project basedir=".." name="jbpm_on_rails_bam-IDE">
+
+ <property file="nbproject/debug-jboss.properties"/>
+
+ <target name="debug-nb">
+ <nbjpdaconnect name="jbpm_on_rails_bam" host="${jpda.host}" address="${jpda.address}" transport="${jpda.transport}">
+ <!--classpath>
+ <path path="exploded-archives/jbpm_on_rails_bam.jar"/>
+ </classpath>
+ <sourcepath>
+ <path path="src"/>
+ </sourcepath-->
+ </nbjpdaconnect>
+ </target>
+</project>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/nbproject/project.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/nbproject/project.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/nbproject/project.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+ <type>org.netbeans.modules.ant.freeform</type>
+ <configuration>
+ <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
+ <!-- Do not use Project Properties customizer when editing this file manually. -->
+ <name>jbpm_on_rails_bam</name>
+ <properties/>
+ <folders>
+ <source-folder>
+ <label>main</label>
+ <type>java</type>
+ <location>src/main</location>
+ </source-folder>
+ <source-folder>
+ <label>hot</label>
+ <type>java</type>
+ <location>src/hot</location>
+ </source-folder>
+ <source-folder>
+ <label>test</label>
+ <type>java</type>
+ <location>src/test</location>
+ </source-folder>
+ <source-folder>
+ <label>view</label>
+ <type>doc_root</type>
+ <location>view</location>
+ </source-folder>
+ </folders>
+ <ide-actions>
+ <action name="clean">
+ <target>clean</target>
+ <target>unexplode</target>
+ </action>
+ <action name="build">
+ <target>explode</target>
+ </action>
+ <action name="redeploy">
+ <target>restart</target>
+ </action>
+ <action name="Undeploy">
+ <target>unexplode</target>
+ </action>
+ <action name="test">
+ <target>test</target>
+ </action>
+ <action name="debug">
+ <script>nbproject/ide-file-targets.xml</script>
+ <target>debug-nb</target>
+ </action>
+ <action name="rebuild">
+ <target>clean</target>
+ <target>unexplode</target>
+ <target>explode</target>
+ </action>
+ </ide-actions>
+ <view>
+ <items>
+ <source-folder style="packages">
+ <label>main</label>
+ <location>src/main</location>
+ </source-folder>
+ <source-folder style="packages">
+ <label>hot</label>
+ <location>src/hot</location>
+ </source-folder>
+ <source-folder style="packages">
+ <label>test</label>
+ <location>src/test</location>
+ </source-folder>
+ <source-folder style="tree">
+ <label>view</label>
+ <location>view</location>
+ </source-folder>
+ <source-folder style="tree">
+ <label>resources</label>
+ <location>resources</location>
+ </source-folder>
+ <source-file>
+ <location>build.xml</location>
+ </source-file>
+ </items>
+ <context-menu>
+ <ide-action name="clean"/>
+ <ide-action name="build"/>
+ <ide-action name="redeploy"/>
+ <ide-action name="Undeploy"/>
+ <ide-action name="test"/>
+ <ide-action name="debug"/>
+ <ide-action name="rebuild"/>
+ </context-menu>
+ </view>
+ <subprojects/>
+ </general-data>
+ <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
+ <compilation-unit>
+ <package-root>src/main</package-root>
+ <classpath mode="compile">lib/hibernate-validator.jar:lib/hibernate-core.jar:lib/hibernate-annotations.jar:lib/hibernate-commons-annotations.jar:lib/hibernate-entitymanager.jar:lib/jboss-seam.jar:lib/jboss-seam-debug.jar:lib/jboss-cache.jar:lib/jbpm-jpdl.jar:lib/antlr.jar:lib/jgroups.jar:lib/jsf-facelets.jar:lib/jstl.jar:lib/jsf-api.jar:lib/servlet-api.jar:lib/jboss-el.jar:lib/el-api.jar:lib/mvel2.jar:lib/drools-api.jar:lib/drools-core.jar:lib/drools-compiler.jar:lib/drools-decisiontables.jar:lib/drools-templates.jar:lib/janino.jar:lib/antlr-runtime.jar:lib/mail.jar:lib/persistence-api.jar:lib/ejb-api.jar:lib/jsr250-api.jar:lib/jta.jar:lib/core.jar:lib/jboss-embedded-api.jar:lib/hibernate-search.jar:lib/richfaces-api.jar:lib/richfaces-ui.jar:lib/hsqldb.jar:lib/lucene-core.jar</classpath>
+ <source-level>1.5</source-level>
+ </compilation-unit>
+ <compilation-unit>
+ <package-root>src/hot</package-root>
+ <classpath mode="compile">lib/hibernate-validator.jar:lib/hibernate-core.jar:lib/hibernate-annotations.jar:lib/hibernate-commons-annotations.jar:lib/hibernate-entitymanager.jar:lib/jboss-seam.jar:lib/jboss-seam-debug.jar:lib/jboss-cache.jar:lib/jbpm-jpdl.jar:lib/antlr.jar:lib/jgroups.jar:lib/jsf-facelets.jar:lib/jstl.jar:lib/jsf-api.jar:lib/servlet-api.jar:lib/jboss-el.jar:lib/el-api.jar:lib/mvel2.jar:lib/drools-api.jar:lib/drools-core.jar:lib/drools-compiler.jar:lib/drools-decisiontables.jar:lib/drools-templates.jar:lib/janino.jar:lib/antlr-runtime.jar:lib/mail.jar:lib/persistence-api.jar:lib/ejb-api.jar:lib/jsr250-api.jar:lib/jta.jar:lib/core.jar:lib/jboss-embedded-api.jar:lib/hibernate-search.jar:lib/richfaces-api.jar:lib/richfaces-ui.jar:lib/hsqldb.jar:lib/lucene-core.jar</classpath>
+ <source-level>1.5</source-level>
+ </compilation-unit>
+ <compilation-unit>
+ <package-root>src/test</package-root>
+ <unit-tests/>
+ <classpath mode="compile">bootstrap:lib/hibernate-validator.jar:lib/hibernate-core.jar:lib/hibernate-annotations.jar:lib/hibernate-commons-annotations.jar:lib/hibernate-entitymanager.jar:lib/jboss-seam.jar:lib/jboss-seam-debug.jar:lib/jboss-cache.jar:lib/jbpm-jpdl.jar:lib/antlr.jar:lib/jgroups.jar:lib/jsf-facelets.jar:lib/jstl.jar:lib/jsf-api.jar:lib/servlet-api.jar:lib/testng.jar:lib/jboss-el.jar:lib/el-api.jar:lib/mvel2.jar:lib/drools-api.jar:lib/drools-core.jar:lib/drools-compiler.jar:lib/drools-templates.jar:lib/janino.jar:lib/antlr-runtime.jar:lib/mail.jar:lib/persistence-api.jar:lib/ejb-api.jar:lib/jsr250-api.jar:lib/jta.jar:lib/core.jar:lib/jboss-embedded-api.jar:lib/hibernate-search.jar:lib/richfaces-api.jar:lib/hsqldb.jar:lib/lucene-core.jar</classpath>
+ <source-level>1.5</source-level>
+ </compilation-unit>
+ </java-data>
+ <web-data xmlns="http://www.netbeans.org/ns/freeform-project-web/1">
+ <web-module>
+ <doc-root>view</doc-root>
+ <classpath/>
+ <context-path>/jbpm_on_rails_bam</context-path>
+ <j2ee-spec-level>1.5</j2ee-spec-level>
+ </web-module>
+ </web-data>
+ </configuration>
+</project>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/application.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/application.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/application.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<application 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/application_5.xsd"
+ version="5">
+
+ <display-name>jbpm_on_rails_bam</display-name>
+
+ <module>
+ <web>
+ <web-uri>jbpm_on_rails_bam.war</web-uri>
+ <context-root>/jbpm_on_rails_bam</context-root>
+ </web>
+ </module>
+
+ <module>
+ <ejb>jbpm_on_rails_bam.jar</ejb>
+ </module>
+
+ <!-- Seam and EL -->
+ <module>
+ <ejb>jboss-seam.jar</ejb>
+ </module>
+
+</application>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/ejb-jar.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/ejb-jar.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/ejb-jar.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar 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/ejb-jar_3_0.xsd"
+ version="3.0">
+
+ <interceptors>
+ <interceptor>
+ <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
+ </interceptor>
+ </interceptors>
+
+ <assembly-descriptor>
+ <interceptor-binding>
+ <ejb-name>*</ejb-name>
+ <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
+ </interceptor-binding>
+ </assembly-descriptor>
+
+</ejb-jar>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/jboss-app.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/jboss-app.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/jboss-app.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE jboss-app
+ PUBLIC "-//JBoss//DTD J2EE Application 4.2//EN"
+ "http://www.jboss.org/j2ee/dtd/jboss-app_4_2.dtd">
+
+<jboss-app>
+ <loader-repository>
+ seam.jboss.org:loader=jbpm_on_rails_bam
+ </loader-repository>
+</jboss-app>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/orm.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/orm.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/orm.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,18 @@
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://java.sun.com/xml/ns/persistence/orm
+ http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
+ version="1.0">
+ <!-- Enable for security checks on entity CRUD operations -->
+ <!--
+ <persistence-unit-metadata>
+ <persistence-unit-defaults>
+ <entity-listeners>
+ <entity-listener class="org.jboss.seam.security.EntitySecurityListener"/>
+ </entity-listeners>
+ </persistence-unit-defaults>
+ </persistence-unit-metadata>
+ -->
+</entity-mappings>
+
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/persistence-dev.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/persistence-dev.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/persistence-dev.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Persistence deployment descriptor for dev profile -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
+ version="1.0">
+
+ <persistence-unit name="jbpm_on_rails_bam">
+ <provider>org.hibernate.ejb.HibernatePersistence</provider>
+ <jta-data-source>java:JbpmDS</jta-data-source>
+ <!-- The <jar-file> element is necessary if you put the persistence.xml in the WAR and the classes in the JAR -->
+ <!--
+ <jar-file>../../vehicles.jar</jar-file>
+ -->
+ <properties>
+ <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
+ <property name="hibernate.hbm2ddl.auto" value="update"/>
+ <property name="hibernate.show_sql" value="true"/>
+ <property name="hibernate.format_sql" value="true"/>
+ <property name="jboss.entity.manager.factory.jndi.name" value="java:/jbpm_on_rails_bamEntityManagerFactory"/>
+ </properties>
+ </persistence-unit>
+
+</persistence>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/persistence-prod.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/persistence-prod.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/persistence-prod.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Persistence deployment descriptor for prod profile -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
+ version="1.0">
+
+ <persistence-unit name="jbpm_on_rails_bam">
+ <provider>org.hibernate.ejb.HibernatePersistence</provider>
+ <jta-data-source>java:JbpmDS</jta-data-source>
+ <!-- The <jar-file> element is necessary if you put the persistence.xml in the WAR and the classes in the JAR -->
+ <!--
+ <jar-file>../../vehicles.jar</jar-file>
+ -->
+ <properties>
+ <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
+ <property name="hibernate.hbm2ddl.auto" value="validate"/>
+ <property name="hibernate.jdbc.batch_size" value="20"/>
+ <property name="jboss.entity.manager.factory.jndi.name" value="java:/jbpm_on_rails_bamEntityManagerFactory"/>
+ </properties>
+ </persistence-unit>
+
+</persistence>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/persistence-test.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/persistence-test.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/META-INF/persistence-test.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Persistence deployment descriptor for tests -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
+ version="1.0">
+
+ <persistence-unit name="jbpm_on_rails_bam">
+ <provider>org.hibernate.ejb.HibernatePersistence</provider>
+ <jta-data-source>java:/DefaultDS</jta-data-source>
+ <properties>
+ <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
+ <property name="hibernate.show_sql" value="true"/>
+ <property name="hibernate.cache.use_second_level_cache" value="false"/>
+ <property name="jboss.entity.manager.factory.jndi.name" value="java:/jbpm_on_rails_bamEntityManagerFactory"/>
+ </properties>
+ </persistence-unit>
+
+</persistence>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/components.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/components.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/components.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<components xmlns="http://jboss.com/products/seam/components"
+ xmlns:core="http://jboss.com/products/seam/core"
+ xmlns:persistence="http://jboss.com/products/seam/persistence"
+ xmlns:drools="http://jboss.com/products/seam/drools"
+ xmlns:bpm="http://jboss.com/products/seam/bpm"
+ xmlns:security="http://jboss.com/products/seam/security"
+ xmlns:mail="http://jboss.com/products/seam/mail"
+ xmlns:web="http://jboss.com/products/seam/web"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation=
+ "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.2.xsd
+ http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.2.xsd
+ http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.2.xsd
+ http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.2.xsd
+ http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.2.xsd
+ http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.2.xsd
+ http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.2.xsd
+ http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.2.xsd">
+
+ <core:init debug="@debug@" jndi-pattern="@jndiPattern@"/>
+
+ <core:manager concurrent-request-timeout="500"
+ conversation-timeout="120000"
+ conversation-id-parameter="cid"
+ parent-conversation-id-parameter="pid"/>
+
+ <!-- Make sure this URL pattern is the same as that used by the Faces Servlet -->
+ <web:hot-deploy-filter url-pattern="*.seam"/>
+
+ <persistence:managed-persistence-context name="entityManager" auto-create="true"
+ persistence-unit-jndi-name="@puJndiName@"/>
+
+ <drools:rule-base name="securityRules">
+ <drools:rule-files>
+ <value>/security.drl</value>
+ </drools:rule-files>
+ </drools:rule-base>
+
+ <security:rule-based-permission-resolver security-rules="#{securityRules}"/>
+
+ <security:identity authenticate-method="#{authenticator.authenticate}" remember-me="true"/>
+
+ <event type="org.jboss.seam.security.notLoggedIn">
+ <action execute="#{redirect.captureCurrentView}"/>
+ </event>
+ <event type="org.jboss.seam.security.loginSuccessful">
+ <action execute="#{redirect.returnToCapturedView}"/>
+ </event>
+
+ <mail:mail-session host="localhost" port="25"/>
+
+ <!-- For use with jBPM pageflow or process management -->
+ <!--
+ <bpm:jbpm>
+ <bpm:process-definitions></bpm:process-definitions>
+ <bpm:pageflow-definitions></bpm:pageflow-definitions>
+ </bpm:jbpm>
+ -->
+
+</components>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/faces-config.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/faces-config.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/faces-config.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,20 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<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>
+ <locale-config>
+ <default-locale>en</default-locale>
+ <supported-locale>bg</supported-locale>
+ <supported-locale>de</supported-locale>
+ <supported-locale>en</supported-locale>
+ <supported-locale>fr</supported-locale>
+ <supported-locale>it</supported-locale>
+ <supported-locale>tr</supported-locale>
+ </locale-config>
+ <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
+ </application>
+
+</faces-config>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/pages.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/pages.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/pages.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pages xmlns="http://jboss.com/products/seam/pages"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd"
+
+ no-conversation-view-id="/home.xhtml"
+ login-view-id="/login.xhtml">
+
+ <page view-id="*">
+ <navigation>
+ <rule if-outcome="home">
+ <redirect view-id="/home.xhtml"/>
+ </rule>
+ </navigation>
+ </page>
+
+ <exception class="org.jboss.seam.framework.EntityNotFoundException">
+ <redirect view-id="/error.xhtml">
+ <message severity="warn">Record not found</message>
+ </redirect>
+ </exception>
+
+ <exception class="javax.persistence.EntityNotFoundException">
+ <redirect view-id="/error.xhtml">
+ <message severity="warn">Record not found</message>
+ </redirect>
+ </exception>
+
+ <exception class="javax.persistence.EntityExistsException">
+ <redirect view-id="/error.xhtml">
+ <message severity="warn">Duplicate record</message>
+ </redirect>
+ </exception>
+
+ <exception class="javax.persistence.OptimisticLockException">
+ <end-conversation/>
+ <redirect view-id="/error.xhtml">
+ <message severity="warn">Another user changed the same data, please try again</message>
+ </redirect>
+ </exception>
+
+ <exception class="org.jboss.seam.security.AuthorizationException">
+ <redirect view-id="/error.xhtml">
+ <message severity="error">You don't have permission to access this resource</message>
+ </redirect>
+ </exception>
+
+ <exception class="org.jboss.seam.security.NotLoggedInException">
+ <redirect view-id="/login.xhtml">
+ <message severity="warn">#{messages['org.jboss.seam.NotLoggedIn']}</message>
+ </redirect>
+ </exception>
+
+ <exception class="javax.faces.application.ViewExpiredException">
+ <redirect view-id="/error.xhtml">
+ <message severity="warn">Your session has timed out, please try again</message>
+ </redirect>
+ </exception>
+
+ <exception class="org.jboss.seam.ConcurrentRequestTimeoutException" log-level="trace">
+ <http-error error-code="503" />
+ </exception>
+
+ <exception>
+ <redirect view-id="/error.xhtml">
+ <message severity="error">Unexpected error, please try again</message>
+ </redirect>
+ </exception>
+
+</pages>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/web.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/web.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/WEB-INF/web.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,130 @@
+<?xml version="1.0" ?>
+<web-app 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-app_2_5.xsd"
+ version="2.5">
+
+ <!-- RichFaces -->
+
+ <context-param>
+ <param-name>org.richfaces.SKIN</param-name>
+ <param-value>glassX</param-value>
+ </context-param>
+
+ <!-- Suppress spurious stylesheets -->
+
+ <context-param>
+ <param-name>org.richfaces.CONTROL_SKINNING</param-name>
+ <param-value>disable</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>org.richfaces.CONTROL_SKINNING_CLASSES</param-name>
+ <param-value>disable</param-value>
+ </context-param>
+
+ <!-- Change load strategy to DEFAULT to disable sending scripts/styles as packs -->
+
+ <context-param>
+ <param-name>org.richfaces.LoadStyleStrategy</param-name>
+ <param-value>ALL</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>org.richfaces.LoadScriptStrategy</param-name>
+ <param-value>ALL</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.servlet.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.SeamResourceServlet</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>@debug@</param-value>
+ </context-param>
+
+ <!-- JSF -->
+
+ <context-param>
+ <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+ <param-value>.xhtml</param-value>
+ </context-param>
+
+ <servlet>
+ <servlet-name>Resource Servlet</servlet-name>
+ <servlet-class>org.primefaces.ui.resource.ResourceServlet</servlet-class>
+ <load-on-startup>2</load-on-startup>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>Resource Servlet</servlet-name>
+ <url-pattern>/primefaces_resources/*</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>
+
+ <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/>
+ </security-constraint>
+
+ <!-- uncomment <ejb-local-ref> entries when deploying to GlassFish and (optionally) JBoss AS 5 -->
+ <!--
+ <ejb-local-ref>
+ <ejb-ref-name>jbpm_on_rails_bam/AuthenticatorBean/local</ejb-ref-name>
+ <ejb-ref-type>Session</ejb-ref-type>
+ <local-home/>
+ <local>org.jbpm.trainticketdemo.bam.session.Authenticator</local>
+ </ejb-local-ref>
+ -->
+
+ <!-- Add entries for each EJB session bean which is also a Seam component (not required on JBoss AS) -->
+
+ <persistence-unit-ref>
+ <persistence-unit-ref-name>jbpm_on_rails_bam/pu</persistence-unit-ref-name>
+ <persistence-unit-name>../jbpm_on_rails_bam.jar#jbpm_on_rails_bam</persistence-unit-name>
+ <!-- The relative reference doesn't work on GlassFish. Instead, set the <persistence-unit-name> to "jbpm_on_rails_bam",
+ package persistence.xml in the WAR, and add a <jar-file> element in persistence.xml with value "../../jbpm_on_rails_bam.jar".
+ <persistence-unit-name>jbpm_on_rails_bam</persistence-unit-name>
+ -->
+ </persistence-unit-ref>
+
+</web-app>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/components-dev.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/components-dev.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/components-dev.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,6 @@
+# These properties are used to replace Ant-style tokens in the component descriptor (components.xml) at runtime.
+jndiPattern=@ejbJndiPattern@
+debug=@debug@
+seamBootstrapsPu=@seamBootstrapsPu@
+seamEmfRef=@seamEmfRef@
+puJndiName=@puJndiName@
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/components-prod.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/components-prod.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/components-prod.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,6 @@
+# These properties are used to replace Ant-style tokens in the component descriptor (components.xml) at runtime.
+jndiPattern=@ejbJndiPattern@
+debug=@debug@
+seamBootstrapsPu=@seamBootstrapsPu@
+seamEmfRef=@seamEmfRef@
+puJndiName=@puJndiName@
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/components-test.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/components-test.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/components-test.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,6 @@
+# These properties are used to replace Ant-style tokens in the component descriptor (components.xml) at runtime.
+jndiPattern=#{ejbName}/local
+debug=true
+seamBootstrapsPu=true
+seamEmfRef=#{entityManagerFactory}
+puJndiName=#{null}
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/glassfish-resources-dev.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/glassfish-resources-dev.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/glassfish-resources-dev.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE resources PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Resource Definitions //EN"
+ "http://www.sun.com/software/appserver/dtds/sun-resources_1_3.dtd">
+<resources>
+ <jdbc-connection-pool
+ name="jbpm_on_rails_bamPool"
+ datasource-classname="org.hsqldb.jdbc.jdbcDataSource"
+ res-type="javax.sql.DataSource">
+ <property name="database" value="jdbc:hsqldb:."/> <!-- HSQLDB uses database instead of url -->
+ <property name="url" value="jdbc:hsqldb:."/>
+ <property name="user" value="sa"/>
+ <property name="password" value=""/> <!-- Use the value "()" for an empty password -->
+ </jdbc-connection-pool>
+ <jdbc-resource
+ jndi-name="jbpm_on_rails_bamDatasource"
+ pool-name="jbpm_on_rails_bamPool"
+ enabled="true"
+ object-type="user"/>
+</resources>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/glassfish-resources-prod.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/glassfish-resources-prod.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/glassfish-resources-prod.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE resources PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Resource Definitions //EN"
+ "http://www.sun.com/software/appserver/dtds/sun-resources_1_3.dtd">
+<resources>
+ <jdbc-connection-pool
+ name="jbpm_on_rails_bamPool"
+ datasource-classname="org.hsqldb.jdbc.jdbcDataSource"
+ res-type="javax.sql.DataSource">
+ <property name="database" value="jdbc:hsqldb:."/> <!-- HSQLDB uses database instead of url -->
+ <property name="url" value="jdbc:hsqldb:."/>
+ <property name="user" value="sa"/>
+ <property name="password" value=""/> <!-- Use the value "()" for an empty password -->
+ </jdbc-connection-pool>
+ <jdbc-resource
+ jndi-name="jbpm_on_rails_bamDatasource"
+ pool-name="jbpm_on_rails_bamPool"
+ enabled="true"
+ object-type="user"/>
+</resources>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/import-dev.sql
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/import-dev.sql (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/import-dev.sql 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1 @@
+-- SQL statements which are executed at application startup if hibernate.hbm2ddl.auto is 'create' or 'create-drop'
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/import-prod.sql
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/import-prod.sql (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/import-prod.sql 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1 @@
+-- SQL statements which are executed at application startup if hibernate.hbm2ddl.auto is 'create' or 'create-drop'
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/import-test.sql
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/import-test.sql (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/import-test.sql 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1 @@
+-- SQL statements which are executed at application startup if hibernate.hbm2ddl.auto is 'create' or 'create-drop'
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/jbpm_on_rails_bam-dev-ds.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/jbpm_on_rails_bam-dev-ds.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/jbpm_on_rails_bam-dev-ds.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE datasources
+ PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
+ "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
+<datasources>
+
+ <local-tx-datasource>
+ <jndi-name>jbpm_on_rails_bamDatasource</jndi-name>
+ <use-java-context>false</use-java-context>
+ <connection-url>jdbc:hsqldb:.</connection-url>
+ <driver-class>org.hsqldb.jdbcDriver</driver-class>
+ <user-name>sa</user-name>
+ <password></password>
+ </local-tx-datasource>
+
+</datasources>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/jbpm_on_rails_bam-prod-ds.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/jbpm_on_rails_bam-prod-ds.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/jbpm_on_rails_bam-prod-ds.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE datasources
+ PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
+ "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
+<datasources>
+
+ <local-tx-datasource>
+ <jndi-name>jbpm_on_rails_bamDatasource</jndi-name>
+ <use-java-context>false</use-java-context>
+ <connection-url>jdbc:hsqldb:.</connection-url>
+ <driver-class>org.hsqldb.jdbcDriver</driver-class>
+ <user-name>sa</user-name>
+ <password></password>
+ </local-tx-datasource>
+
+</datasources>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_bg.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_bg.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_bg.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,89 @@
+down = \u2193
+
+javax.faces.component.UIInput.CONVERSION = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0432\u0430\u043D\u0430 \u043A\u044A\u043C \u043E\u0447\u0430\u043A\u0432\u0430\u043D\u0438\u044F \u0442\u0438\u043F
+javax.faces.component.UIInput.REQUIRED = \u043F\u043E\u043B\u0435\u0442\u043E \u0435 \u0437\u0430\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E
+javax.faces.component.UIInput.UPDATE = \u0432\u044A\u0437\u043D\u0438\u043A\u043D\u0430\u043B\u0430 \u0435 \u0433\u0440\u0435\u0448\u043A\u0430 \u043F\u0440\u0438 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 \u043D\u0430 \u0438\u0437\u043F\u0440\u0430\u0442\u0435\u043D\u0430\u0442\u0430 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F
+javax.faces.component.UISelectMany.INVALID = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0435 \u043D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430
+javax.faces.component.UISelectOne.INVALID = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0435 \u043D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430
+javax.faces.converter.BigDecimalConverter.DECIMAL = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0447\u0438\u0441\u043B\u043E
+javax.faces.converter.BigDecimalConverter.DECIMAL_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0447\u0438\u0441\u043B\u043E \u0441\u044A\u0441 \u0437\u043D\u0430\u043A, \u0441\u044A\u0441\u0442\u043E\u044F\u0449\u043E \u0441\u0435 \u043E\u0442 \u043D\u0443\u043B\u0430 \u0438\u043B\u0438 \u043F\u043E\u0432\u0435\u0447\u0435 \u0446\u0438\u0444\u0440\u0438, \u0441\u043B\u0435\u0434\u0432\u0430\u043D\u043E \u043F\u043E \u0438\u0437\u0431\u043E\u0440 \u043E\u0442 \u0434\u0435\u0441\u0435\u0442\u0438\u0447\u043D\u0430 \u0437\u0430\u043F\u0435\u0442\u0430\u044F \u0438 \u0434\u0440\u043E\u0431\u043D\u0430 \u0447\u0430\u0441\u0442, \u043D\u0430\u043F\u0440. {1}
+javax.faces.converter.BigIntegerConverter.BIGINTEGER = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0446\u044F\u043B\u043E \u0447\u0438\u0441\u043B\u043E
+javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0446\u044F\u043B\u043E \u0447\u0438\u0441\u043B\u043E \u0441\u044A\u0441 \u0437\u043D\u0430\u043A, \u0441\u044A\u0441\u0442\u043E\u044F\u0449\u043E \u0441\u0435 \u043E\u0442 \u043D\u0443\u043B\u0430 \u0438\u043B\u0438 \u043F\u043E\u0432\u0435\u0447\u0435 \u0446\u0438\u0444\u0440\u0438
+javax.faces.converter.BooleanConverter.BOOLEAN = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 'true' \u0438\u043B\u0438 'false'
+javax.faces.converter.BooleanConverter.BOOLEAN_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 'true' \u0438\u043B\u0438 'false' (\u0432\u0441\u044F\u043A\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0440\u0430\u0437\u043B\u0438\u0447\u043D\u0430 \u043E\u0442 'true' \u0449\u0435 \u0441\u0435 \u0441\u043C\u044F\u0442\u0430 \u0437\u0430 'false')
+javax.faces.converter.ByteConverter.BYTE = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0434\u0436\u0443 0 \u0438 255
+javax.faces.converter.ByteConverter.BYTE_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0434\u0436\u0443 0 \u0438 255
+javax.faces.converter.CharacterConverter.CHARACTER = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0437\u043D\u0430\u043A
+javax.faces.converter.CharacterConverter.CHARACTER_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0432\u0430\u043B\u0438\u0434\u0435\u043D ASCII \u0437\u043D\u0430\u043A
+javax.faces.converter.DateTimeConverter.DATE = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0434\u0430\u0442\u0430
+javax.faces.converter.DateTimeConverter.DATETIME = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0434\u0430\u0442\u0430 \u0438 \u0447\u0430\u0441
+javax.faces.converter.DateTimeConverter.DATETIME_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0434\u0430\u0442\u0430 \u0438 \u0447\u0430\u0441, \u043D\u0430\u043F\u0440. {1}
+javax.faces.converter.DateTimeConverter.DATE_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0434\u0430\u0442\u0430, \u043D\u0430\u043F\u0440. {1}
+javax.faces.converter.DateTimeConverter.PATTERN_TYPE = \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0437\u0430\u0434\u0430\u0434\u0435\u043D \u043E\u0431\u0440\u0430\u0437\u0435\u0446 \u0438\u043B\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 type, \u0437\u0430 \u0434\u0430 \u0441\u0435 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430
+javax.faces.converter.DateTimeConverter.TIME = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043E\u0442 \u0442\u0438\u043F \u0447\u0430\u0441
+javax.faces.converter.DateTimeConverter.TIME_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043E\u0442 \u0442\u0438\u043F \u0447\u0430\u0441, \u043D\u0430\u043F\u0440. {1}
+javax.faces.converter.DoubleConverter.DOUBLE = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0447\u0438\u0441\u043B\u043E
+javax.faces.converter.DoubleConverter.DOUBLE_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0436\u0434\u0443 4.9E-324 \u0438 1.7976931348623157E308
+javax.faces.converter.EnumConverter.ENUM = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u0434\u043E \u0438\u0437\u0431\u0440\u043E\u0435\u043D \u0442\u0438\u043F
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u043E\u0442 \u0438\u043B\u0438 \u0434\u043E \u0438\u0437\u0431\u0440\u043E\u0435\u043D \u0442\u0438\u043F, \u043D\u043E \u043D\u0435 \u0435 \u043F\u043E\u0434\u0430\u0434\u0435\u043D \u043A\u043B\u0430\u0441 \u043E\u0442 \u0442\u0430\u043A\u044A\u0432 \u0442\u0438\u043F
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u043E\u0442 \u0438\u043B\u0438 \u0434\u043E \u0438\u0437\u0431\u0440\u043E\u0435\u043D \u0442\u0438\u043F, \u043D\u043E \u043D\u0435 \u0435 \u043F\u043E\u0434\u0430\u0434\u0435\u043D \u043A\u043B\u0430\u0441 \u043E\u0442 \u0442\u0430\u043A\u044A\u0432 \u0442\u0438\u043F
+javax.faces.converter.EnumConverter.ENUM_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u043E\u0442 \u0438\u043B\u0438 \u0434\u043E \u0438\u0437\u0431\u0440\u043E\u0435\u043D \u0442\u0438\u043F, \u043A\u043E\u0439\u0442\u043E \u0441\u044A\u0434\u044A\u0440\u0436\u0430 \u043A\u043E\u043D\u0441\u0442\u0430\u043D\u0442\u0430\u0442\u0430 {1}
+javax.faces.converter.FloatConverter.FLOAT = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0447\u0438\u0441\u043B\u043E
+javax.faces.converter.FloatConverter.FLOAT_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0436\u0434\u0443 1.4E-45 \u0438 3.4028235E38
+javax.faces.converter.IntegerConverter.INTEGER = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0446\u044F\u043B\u043E \u0447\u0438\u0441\u043B\u043E
+javax.faces.converter.IntegerConverter.INTEGER_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0446\u044F\u043B\u043E \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0436\u0434\u0443 -2147483648 \u0438 2147483647
+javax.faces.converter.LongConverter.LONG = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0446\u044F\u043B\u043E \u0447\u0438\u0441\u043B\u043E
+javax.faces.converter.LongConverter.LONG_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0446\u044F\u043B\u043E \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0436\u0434\u0443 -9223372036854775808 \u0438 9223372036854775807
+javax.faces.converter.NumberConverter.CURRENCY = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0441\u0443\u043C\u0430 \u0432\u044A\u0432 \u0432\u0430\u043B\u0443\u0442\u0430
+javax.faces.converter.NumberConverter.CURRENCY_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0441\u0443\u043C\u0430 \u0432\u044A\u0432 \u0432\u0430\u043B\u0443\u0442\u0430, \u043D\u0430\u043F\u0440. {1}
+javax.faces.converter.NumberConverter.NUMBER = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0447\u0438\u0441\u043B\u043E
+javax.faces.converter.NumberConverter.NUMBER_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0447\u0438\u0441\u043B\u043E
+javax.faces.converter.NumberConverter.PATTERN = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0447\u0438\u0441\u043B\u043E
+javax.faces.converter.NumberConverter.PATTERN_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0447\u0438\u0441\u043B\u043E
+javax.faces.converter.NumberConverter.PERCENT = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u0440\u043E\u0446\u0435\u043D\u0442
+javax.faces.converter.NumberConverter.PERCENT_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u0440\u043E\u0446\u0435\u043D\u0442, \u043D\u0430\u043F\u0440. {1}
+javax.faces.converter.STRING = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u0440\u0435\u0432\u044A\u0440\u043D\u0430\u0442\u0430 \u0432 \u043D\u0438\u0437 \u043E\u0442 \u0441\u0438\u043C\u0432\u043E\u043B\u0438
+javax.faces.converter.ShortConverter.SHORT = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0446\u044F\u043B\u043E \u0447\u0438\u0441\u043B\u043E
+javax.faces.converter.ShortConverter.SHORT_detail = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0446\u044F\u043B\u043E \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0436\u0434\u0443 -32768 \u0438 32767
+javax.faces.validator.DoubleRangeValidator.MAXIMUM = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u043E-\u043C\u0430\u043B\u043A\u0430 \u0438\u043B\u0438 \u0440\u0430\u0432\u043D\u0430 \u043D\u0430 {0}
+javax.faces.validator.DoubleRangeValidator.MINIMUM = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u043E-\u0433\u043E\u043B\u044F\u043C\u0430 \u0438\u043B\u0438 \u0440\u0430\u0432\u043D\u0430 \u043D\u0430 {0}
+javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043C\u0435\u0436\u0434\u0443 {0} \u0438 {1}
+javax.faces.validator.DoubleRangeValidator.TYPE = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u043D\u0435 \u0435 \u043E\u0442 \u043F\u0440\u0430\u0432\u0438\u043B\u043D\u0438\u044F \u0432\u0438\u0434
+javax.faces.validator.LengthValidator.MAXIMUM = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043D\u0435 \u043F\u043E-\u0434\u044A\u043B\u0433\u0430 \u043E\u0442 {0} \u0437\u043D\u0430\u043A\u0430
+javax.faces.validator.LengthValidator.MINIMUM = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u043E-\u0434\u044A\u043B\u0433\u0430 \u043E\u0442 {0} \u0437\u043D\u0430\u043A\u0430
+javax.faces.validator.LongRangeValidator.MAXIMUM = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u043E-\u043C\u0430\u043B\u043A\u0430 \u0438\u043B\u0438 \u0440\u0430\u0432\u043D\u0430 \u043D\u0430 {0}
+javax.faces.validator.LongRangeValidator.MINIMUM = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u043E-\u0433\u043E\u043B\u044F\u043C\u0430 \u0438\u043B\u0438 \u0440\u0430\u0432\u043D\u0430 \u043D\u0430 {0}
+javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043C\u0435\u0436\u0434\u0443 {0} \u0438 {1}
+javax.faces.validator.LongRangeValidator.TYPE = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u043D\u0435 \u0435 \u043E\u0442 \u043F\u0440\u0430\u0432\u0438\u043B\u043D\u0438\u044F \u0432\u0438\u0434
+javax.faces.validator.NOT_IN_RANGE = \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043C\u0435\u0436\u0434\u0443 {0} \u0438 {1}
+
+left = \u2039
+
+org.jboss.seam.IllegalNavigation = \u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F
+org.jboss.seam.NoConversation = \u0420\u0430\u0437\u0433\u043E\u0432\u043E\u0440\u044A\u0442 \u0435 \u043F\u0440\u0438\u043A\u043B\u044E\u0447\u0438\u043B, \u0438\u0437\u0442\u0435\u043A\u043B\u043E \u043C\u0443 \u0435 \u0432\u0440\u0435\u043C\u0435\u0442\u043E \u0438\u043B\u0438 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0432\u0430 \u0434\u0440\u0443\u0433\u0430 \u0437\u0430\u044F\u0432\u043A\u0430
+org.jboss.seam.ProcessEnded = \u041F\u0440\u043E\u0446\u0435\u0441 #0 \u0435 \u043F\u0440\u0438\u043A\u043B\u044E\u0447\u0438\u043B
+org.jboss.seam.ProcessNotFound = \u041F\u0440\u043E\u0446\u0435\u0441 #0 \u043D\u0435 \u0435 \u043D\u0430\u043C\u0435\u0440\u0435\u043D
+org.jboss.seam.TaskEnded = \u0417\u0430\u0434\u0430\u0447\u0430 #0 \u0435 \u043F\u0440\u0438\u043A\u043B\u044E\u0447\u0438\u043B\u0430
+org.jboss.seam.TaskNotFound = \u0417\u0430\u0434\u0430\u0447\u0430 #0 \u043D\u0435 \u0435 \u043D\u0430\u043C\u0435\u0440\u0435\u043D\u0430
+org.jboss.seam.TransactionFailed = \u0422\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u044F \u043D\u0435 \u0435 \u0443\u0441\u043F\u044F\u043B\u0430
+org.jboss.seam.NotLoggedIn = \u041C\u043E\u043B\u044F \u043F\u044A\u0440\u0432\u043E \u0441\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0430\u0439\u0442\u0435
+
+org.jboss.seam.loginFailed = \u041D\u0435\u0443\u0441\u043F\u0435\u0448\u0435\u043D \u0432\u0445\u043E\u0434
+org.jboss.seam.loginSuccessful = \u0417\u0434\u0440\u0430\u0432\u0435\u0439, #0
+
+right = \u203A
+
+up = \u2191
+
+validator.assertFalse = \u0433\u0440\u0435\u0448\u043A\u0438 \u043F\u0440\u0438 \u0432\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u044F
+validator.assertTrue = \u0433\u0440\u0435\u0448\u043A\u0438 \u043F\u0440\u0438 \u0432\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u044F
+validator.email = \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0432\u0430\u043B\u0438\u0434\u0435\u043D e-mail \u0430\u0434\u0440\u0435\u0441
+validator.future = \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0431\u044A\u0434\u0435\u0449\u0430 \u0434\u0430\u0442\u0430
+validator.length = \u0434\u044A\u043B\u0436\u0438\u043D\u0430\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043C\u0435\u0436\u0434\u0443 {min} \u0438 {max}
+validator.max = \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u043E-\u043C\u0430\u043B\u043A\u043E \u0438\u043B\u0438 \u0440\u0430\u0432\u043D\u043E \u043D\u0430 {value}
+validator.min = \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u043E-\u0433\u043E\u043B\u044F\u043C\u043E \u0438\u043B\u0438 \u0440\u0430\u0432\u043D\u043E \u043D\u0430 {value}
+validator.notNull = \u0435 \u0437\u0430\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E
+validator.past = \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0435 \u043C\u0438\u043D\u0430\u043B\u0430 \u0434\u0430\u0442\u0430\u0442\u0430
+validator.pattern = \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0441\u044A\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0430 \u043D\u0430 "{regex}"
+validator.range = \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0435 \u043C\u0435\u0436\u0434\u0443 {min} \u0438 {max}
+validator.size = \u0440\u0430\u0437\u043C\u0435\u0440\u044A\u0442 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0435 \u043C\u0435\u0436\u0434\u0443 {min} \u0438 {max}
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_de.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_de.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_de.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,88 @@
+up=\u2191
+down=\u2193
+left=\u2039
+right=\u203A
+
+validator.assertFalse=Validierung fehlgeschlagen
+validator.assertTrue=Validierung fehlgeschlagen
+validator.future=muss einem zuk\u00FCnfitigen Datum entsprechen
+validator.length=die L\u00E4nge muss zwischen {min} und {max} liegen
+validator.max=muss kleiner oder gleich {value} sein
+validator.min=muss gr\u00F6\u00DFer oder gleich {value} sein
+validator.notNull=darf nicht leer sein
+validator.past=muss einem vergangenen Datum entsprechen
+validator.pattern=muss dem regul\u00E4ren Ausdruck "{regex}" entsprechen
+validator.range=muss im Wertebereich von {min} bis {max} liegen
+validator.size=die Gr\u00F6\u00DFe muss zischen {min} und {max} liegen
+validator.email=muss einer wohlgeformten E-Mailadresse entsprechen
+
+org.jboss.seam.loginFailed=Anmeldung fehlgeschlagen
+org.jboss.seam.loginSuccessful=Willkommen, #0!
+
+org.jboss.seam.TransactionFailed=Transaktion fehlgeschlagen
+org.jboss.seam.NoConversation=Der Vorgang wurde bereits beendet, verarbeitet eine andere Abfrage oder ergab eine Zeit\u00FCberschreitung
+org.jboss.seam.IllegalNavigation=Unzul\u00E4ssige Navigation
+org.jboss.seam.ProcessEnded=Prozess #0 wurde bereits beendet
+org.jboss.seam.ProcessNotFound=Prozess #0 nicht gefunden
+org.jboss.seam.TaskEnded=Funktion #0 wurde bereits beendet
+org.jboss.seam.TaskNotFound=Funktion #0 nicht gefunden
+org.jboss.seam.NotLoggedIn=Bitte melden Sie sich zun\u00E4chst an
+
+javax.faces.component.UIInput.CONVERSION=Wert konnte nicht in den erwarteten Typ umgewandelt werden
+javax.faces.component.UIInput.REQUIRED=Wert erforderlich
+javax.faces.component.UIInput.UPDATE=ein Fehler ist bei der Verarbeitung der von Ihnen gesendeten Daten aufgetreten
+javax.faces.component.UISelectOne.INVALID=Wert ung\u00FCltig
+javax.faces.component.UISelectMany.INVALID=Wert ung\u00FCltig
+
+javax.faces.converter.BigDecimalConverter.DECIMAL = ''{0}'' muss eine Dezimalzahl sein.
+javax.faces.converter.BigDecimalConverter.DECIMAL_detail = ''{0}'' muss eine Dezimalzahl aus keinem oder mehr Zeichen gefolgt von einem optionalen Punkt und den Nachkommastellen sein. Beispiel: {1}
+javax.faces.converter.BigIntegerConverter.BIGINTEGER = ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
+javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein. Beispiel: {1}
+javax.faces.converter.BooleanConverter.BOOLEAN = ''{0}'' muss 'true' oder 'false' sein.
+javax.faces.converter.BooleanConverter.BOOLEAN_detail = ''{0}'' muss 'true' oder 'false' sein. Jeder Wert au\u00DFer 'true' wird als 'false' interpretiert.
+javax.faces.converter.ByteConverter.BYTE = ''{0}'' muss eine Zahl zwischen 0 und 255 sein.
+javax.faces.converter.ByteConverter.BYTE_detail = ''{0}'' muss eine Zahl zwischen 0 und 255 sein. Beispiel: {1}
+javax.faces.converter.CharacterConverter.CHARACTER = ''{0}'' muss ein g\u00FCltiges Zeichen sein.
+javax.faces.converter.CharacterConverter.CHARACTER_detail = ''{0}'' muss ein g\u00FCltiges ASCII Zeichen sein.
+javax.faces.converter.DateTimeConverter.DATE = ''{0}'' konnte nicht als Datum erkannt werden.
+javax.faces.converter.DateTimeConverter.DATE_detail = ''{0}'' konnte nicht als Datum erkannt werden. Beispiel: {1}
+javax.faces.converter.DateTimeConverter.TIME = ''{0}'' konnte nicht als Zeit erkannt werden.
+javax.faces.converter.DateTimeConverter.TIME_detail = ''{0}'' konnte nicht als Zeit erkannt werden. Beispiel: {1}
+javax.faces.converter.DateTimeConverter.DATETIME = ''{0}'' konnte nicht als Datum und Zeit erkannt werden.
+javax.faces.converter.DateTimeConverter.DATETIME_detail = ''{0}'' konnte nicht als Datum und Zeit erkannt werden. Beispiel: {1}
+javax.faces.converter.DateTimeConverter.PATTERN_TYPE = Ein 'pattern' oder 'type' Attribut muss angegeben werden um den Wert ''{0}'' zu konvertieren.
+javax.faces.converter.DoubleConverter.DOUBLE = ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
+javax.faces.converter.DoubleConverter.DOUBLE_detail = ''{0}'' muss eine Zahl zwischen 4.9E-324 und 1.7976931348623157E308 sein. Beispiel: {1}
+javax.faces.converter.EnumConverter.ENUM = ''{0}'' muss in eine Enumeration konvertierbar sein.
+javax.faces.converter.EnumConverter.ENUM_detail = ''{0}'' muss in eine Enumeration konvertierbar sein, welche die Konstante ''{1}'' enth\u00E4lt.
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS = ''{0}'' muss in eine Enumeration konvertierbar sein, aber es wurde keine Klasse des Typs Enum bereitgestellt.
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = ''{0}'' muss in eine Enumeration konvertierbar sein, aber es wurde keine Klasse des Typs Enum bereitgestellt.
+javax.faces.converter.FloatConverter.FLOAT = ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
+javax.faces.converter.FloatConverter.FLOAT_detail = ''{0}'' muss eine Zahl zwischen 1.4E-45 und 3.4028235E38 sein. Beispiel: {1}
+javax.faces.converter.IntegerConverter.INTEGER = ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
+javax.faces.converter.IntegerConverter.INTEGER_detail = ''{0}'' muss eine Zahl zwischen -2147483648 und 2147483647 sein. Beispiel: {1}
+javax.faces.converter.LongConverter.LONG = ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
+javax.faces.converter.LongConverter.LONG_detail = ''{0}'' muss eine Zahl zwischen -9223372036854775808 und 9223372036854775807 sein. Beispiel: {1}
+javax.faces.converter.NumberConverter.CURRENCY = ''{0}'' konnte nicht als ein Geldbetrag erkannt werden.
+javax.faces.converter.NumberConverter.CURRENCY_detail = ''{0}'' konnte nicht als ein Geldbetrag erkannt werden. Beispiel: {1}
+javax.faces.converter.NumberConverter.PERCENT = ''{0}'' konnte nicht als ein Prozentanteil erkannt werden.
+javax.faces.converter.NumberConverter.PERCENT_detail = ''{0}'' konnte nicht als ein Prozentanteil erkannt werden. Beispiel: {1}
+javax.faces.converter.NumberConverter.NUMBER = ''{0}'' ist keine Zahl.
+javax.faces.converter.NumberConverter.NUMBER_detail = ''{0}'' ist keine Zahl. Beispiel: {1}
+javax.faces.converter.NumberConverter.PATTERN = ''{0}'' ist kein Zahlmuster.
+javax.faces.converter.NumberConverter.PATTERN_detail = ''{0}'' ist kein Zahlmuster. Beispiel: {1}
+javax.faces.converter.ShortConverter.SHORT = ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
+javax.faces.converter.ShortConverter.SHORT_detail = ''{0}'' muss eine Zahl zwischen -32768 und 32767 sein. Beispiel: {1}
+javax.faces.converter.STRING = Konnte ''{0}'' nicht in eine Zeichenkette konvertieren.
+
+javax.faces.validator.NOT_IN_RANGE = Validierungsfehler: Der Wert liegt nicht im erwarteten Wertebereich von {0} bis {1}.
+javax.faces.validator.DoubleRangeValidator.MAXIMUM = Validierungsfehler: Der Wert ist gr\u00F6\u00DFer als das erlaubte Maximum von ''{0}''
+javax.faces.validator.DoubleRangeValidator.MINIMUM = Validierungsfehler: Der Wert ist kleiner als das erlaubte Minimum von ''{0}''
+javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = Validierungsfehler: Der Wert ist nicht zwischen den erwarteten Werten von {0} und {1}
+javax.faces.validator.DoubleRangeValidator.TYPE = Validierungsfehler: Der Wert ist nicht vom korrekten Typ
+javax.faces.validator.LengthValidator.MAXIMUM = Validierungsfehler: Der Wert ist gr\u00F6\u00DFer als das erlaubte Maximum von ''{0}''
+javax.faces.validator.LengthValidator.MINIMUM = Validierungsfehler: Der Wert ist kleiner als das erlaubte Minimum von ''{0}''
+javax.faces.validator.LongRangeValidator.MAXIMUM = Validierungsfehler: Der Wert ist gr\u00F6\u00DFer als das erlaubte Maximum von ''{0}''
+javax.faces.validator.LongRangeValidator.MINIMUM = Validation Error: Der Wert ist kleiner als das erlaubte Minimum von ''{0}''
+javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = Validierungsfehler: Der Wert ist nicht zwischen den erwarteten Werten von {0} und {1}.
+javax.faces.validator.LongRangeValidator.TYPE = Validierungsfehler: Der Wert ist nicht vom korrekten Typ.
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_en.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_en.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_en.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,90 @@
+up=\u2191
+down=\u2193
+left=\u2039
+right=\u203A
+
+validator.assertFalse=validation failed
+validator.assertTrue=validation failed
+validator.future=must be a future date
+validator.length=length must be between {min} and {max}
+validator.max=must be less than or equal to {value}
+validator.min=must be greater than or equal to {value}
+validator.notNull=may not be null
+validator.past=must be a past date
+validator.pattern=must match "{regex}"
+validator.range=must be between {min} and {max}
+validator.size=size must be between {min} and {max}
+validator.email=must be a well-formed email address
+
+org.jboss.seam.loginFailed=Login failed
+org.jboss.seam.loginSuccessful=Welcome, #0!
+
+org.jboss.seam.TransactionFailed=Transaction failed
+org.jboss.seam.NoConversation=The conversation ended, timed out or was processing another request
+org.jboss.seam.IllegalNavigation=Illegal navigation
+org.jboss.seam.ProcessEnded=Process #0 already ended
+org.jboss.seam.ProcessNotFound=Process #0 not found
+org.jboss.seam.TaskEnded=Task #0 already ended
+org.jboss.seam.TaskNotFound=Task #0 not found
+org.jboss.seam.NotLoggedIn=Please log in first
+
+javax.faces.component.UIInput.CONVERSION=value could not be converted to the expected type
+javax.faces.component.UIInput.REQUIRED=value is required
+javax.faces.component.UIInput.UPDATE=an error occurred when processing your submitted information
+javax.faces.component.UISelectOne.INVALID=value is not valid
+javax.faces.component.UISelectMany.INVALID=value is not valid
+
+javax.faces.converter.BigDecimalConverter.DECIMAL=value must be a number
+javax.faces.converter.BigDecimalConverter.DECIMAL_detail=value must be a signed decimal number consisting of zero or more digits, optionally followed by a decimal point and fraction, eg. {1}
+javax.faces.converter.BigIntegerConverter.BIGINTEGER=value must be an integer
+javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail=value must be a signed integer number consisting of zero or more digits
+javax.faces.converter.BooleanConverter.BOOLEAN=value must be true or false
+javax.faces.converter.BooleanConverter.BOOLEAN_detail=value must be true or false (any value other than true will evaluate to false)
+javax.faces.converter.ByteConverter.BYTE=value must be a number between 0 and 255
+javax.faces.converter.ByteConverter.BYTE_detail=value must be a number between 0 and 255
+javax.faces.converter.CharacterConverter.CHARACTER=value must be a character
+javax.faces.converter.CharacterConverter.CHARACTER_detail=value must be a valid ASCII character
+javax.faces.converter.DateTimeConverter.DATE=value must be a date
+javax.faces.converter.DateTimeConverter.DATE_detail=value must be a date, eg. {1}
+javax.faces.converter.DateTimeConverter.TIME=value must be a time
+javax.faces.converter.DateTimeConverter.TIME_detail=value must be a time, eg. {1}
+javax.faces.converter.DateTimeConverter.DATETIME=value must be a date and time
+javax.faces.converter.DateTimeConverter.DATETIME_detail=value must be a date and time, eg. {1}
+javax.faces.converter.DateTimeConverter.PATTERN_TYPE=a pattern or type attribute must be specified to convert the value
+javax.faces.converter.DoubleConverter.DOUBLE=value must be a number
+javax.faces.converter.DoubleConverter.DOUBLE_detail=value must be a number between 4.9E-324 and 1.7976931348623157E308
+javax.faces.converter.EnumConverter.ENUM=value must be convertible to an enum
+javax.faces.converter.EnumConverter.ENUM_detail=value must be convertible to an enum or from the enum that contains the constant {1}
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS=value must be convertible to an enum or from the enum, but no enum class provided
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail=value must be convertible to an enum or from the enum, but no enum class provided
+javax.faces.converter.FloatConverter.FLOAT=value must be a number
+javax.faces.converter.FloatConverter.FLOAT_detail=value must be a number between 1.4E-45 and 3.4028235E38
+javax.faces.converter.IntegerConverter.INTEGER=value must be an integer
+javax.faces.converter.IntegerConverter.INTEGER_detail=value must be an integer number between -2147483648 and 2147483647
+javax.faces.converter.LongConverter.LONG=value must be an integer
+javax.faces.converter.LongConverter.LONG_detail=value must be an integer number between -9223372036854775808 and 9223372036854775807
+javax.faces.converter.NumberConverter.CURRENCY=value must be a currency amount
+javax.faces.converter.NumberConverter.CURRENCY_detail=value must be a currency amount, eg. {1}
+javax.faces.converter.NumberConverter.PERCENT=value must be a percentage amount
+javax.faces.converter.NumberConverter.PERCENT_detail=value must be a percentage amount, eg. {1}
+javax.faces.converter.NumberConverter.NUMBER=value must be a number
+javax.faces.converter.NumberConverter.NUMBER_detail=value must be a number
+javax.faces.converter.NumberConverter.PATTERN=value must be a number
+javax.faces.converter.NumberConverter.PATTERN_detail=value must be a number
+javax.faces.converter.ShortConverter.SHORT=value must be an integer
+javax.faces.converter.ShortConverter.SHORT_detail=value must be an integer number between -32768 and 32767
+
+javax.faces.validator.DoubleRangeValidator.MAXIMUM=value must be less than or equal to {0}
+javax.faces.validator.DoubleRangeValidator.MINIMUM=value must be greater than or equal to {0}
+javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.validator.DoubleRangeValidator.TYPE=value is not of the correct type
+javax.faces.validator.LengthValidator.MAXIMUM=value must be shorter than or equal to {0} characters
+javax.faces.validator.LengthValidator.MINIMUM=value must be longer than or equal to {0} characters
+javax.faces.validator.LongRangeValidator.MAXIMUM=value must be less than or equal to {0}
+javax.faces.validator.LongRangeValidator.MINIMUM=value must be greater than or equal to {0}
+javax.faces.validator.LongRangeValidator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.validator.LongRangeValidator.TYPE=value is not of the correct type
+
+javax.faces.validator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.converter.STRING=value could not be converted to a string
+
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_fr.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_fr.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_fr.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,98 @@
+up=\u2191
+down=\u2193
+left=\u2039
+right=\u203A
+
+javax.persistence.EntityNotFoundException = Entit� introuvable
+javax.persistence.OptimisticLockException = Un autre utilisateur a modifi� les m�mes donn�es. Veuillez essayer de nouveau.
+
+validator.assertFalse = La validation a �chou�
+validator.assertTrue = La validation a �chou�
+validator.future = doit �tre une date � venir.
+validator.length = la longueur doit �tre comprise entre {min} et {max}
+validator.max = doit �tre inf�rieur(e) ou �gal(e) � {value}
+validator.min = doit �tre sup�rieur(e) ou �gal(e) � {value}
+validator.notNull = ne peut �tre nul(le)
+validator.past = doit �tre une date pass�e
+validator.pattern = doit correspondre � "{regex}"
+validator.range = doit �tre compris(e) entre {min} et {max}
+validator.size = La taille doit �tre comprise entre {min} et {max}
+validator.email = doit �tre une adresse email valide
+
+org.jboss.seam.framework.EntityNotFoundException = Entit� introuvable
+org.jboss.seam.security.AuthorizationException = Vous n'avez pas les autorisations n�cessaires pour effectuer ceci
+org.jboss.seam.security.NotLoggedInException = Veuillez d'abord vous connecter
+org.jboss.seam.unexpected.error = Erreur inattendue. Veuillez essayez de nouveau.
+
+org.jboss.seam.loginFailed = La connexion a �chou�.
+org.jboss.seam.loginSuccessful = Bienvenue, {0}!
+
+org.jboss.seam.TransactionFailed = La transaction a �chou�.
+org.jboss.seam.NoConversation = La conversation s'est interrompue, a d�pass� les d�lais ou traite une autre requ�te.
+org.jboss.seam.IllegalNavigation = Navigation ill�gale
+org.jboss.seam.ProcessEnded = Processus #0 d�j� achev�
+org.jboss.seam.ProcessNotFound = Le processus #0 n'a pas �t� trouv�.
+org.jboss.seam.TaskEnded = T�che #0 d�j� achev�e
+org.jboss.seam.TaskNotFound = La t�che #0 n'a pas �t� trouv�e.
+org.jboss.seam.NotLoggedIn = Veuillez d'abord vous connecter.
+
+javax.faces.component.UIInput.CONVERSION = La valeur ne peut �tre convertie dans le type attendu
+javax.faces.component.UIInput.REQUIRED = Une valeur est requise.
+javax.faces.component.UIInput.UPDATE = Une erreur est survenue lors du traitement de l'information que vous avez fournie
+javax.faces.component.UISelectMany.INVALID = La valeur n'est pas valide.
+javax.faces.component.UISelectOne.INVALID = La valeur n'est pas valide.
+
+javax.faces.converter.BigDecimalConverter.DECIMAL = la valeur doit �tre un nombre
+javax.faces.converter.BigDecimalConverter.DECIMAL_detail = la valeur doit �tre un nombre d�cimal sign� comprenant z�ro chiffre ou plus, �ventuellement suivi par une virgule d�cimale et une faction, par ex. {1}
+javax.faces.converter.BigIntegerConverter.BIGINTEGER = la valeur doit �tre un nombre
+javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = la valeur doit �tre un entier sign� comprenant z�ro chiffre ou plus
+javax.faces.converter.BooleanConverter.BOOLEAN = la valeur doit �tre "vrai" ou "faux"
+javax.faces.converter.BooleanConverter.BOOLEAN_detail = la valeur doit �tre "vrai" ou "faux" (toute valeur autre que "vrai" est �valu�e � "faux")
+javax.faces.converter.ByteConverter.BYTE = la valeur doit �tre un nombre entre 0 et 255
+javax.faces.converter.ByteConverter.BYTE_detail = la valeur doit �tre un nombre entre 0 et 255
+javax.faces.converter.CharacterConverter.CHARACTER = la valeur doit �tre un caract�re
+javax.faces.converter.CharacterConverter.CHARACTER_detail = la valeur doit �tre un caract�re ASCII valide
+javax.faces.converter.DateTimeConverter.DATE = la valeur doit �tre une date
+javax.faces.converter.DateTimeConverter.DATE_detail = la valeur doit �tre une date, par ex. {1}
+javax.faces.converter.DateTimeConverter.TIME = la valeur doit �tre une heure
+javax.faces.converter.DateTimeConverter.TIME_detail = la valeur doit �tre une heure, par ex. {1}
+javax.faces.converter.DateTimeConverter.DATETIME = la valeur doit �tre une date et une heure
+javax.faces.converter.DateTimeConverter.DATETIME_detail = la valeur doit �tre une date et une heure, par ex. {1}
+javax.faces.converter.DateTimeConverter.PATTERN_TYPE = un attribut doit indiquer le mod�le ou le type pour convertir la valeur
+javax.faces.converter.DoubleConverter.DOUBLE = la valeur doit �tre un nombre
+javax.faces.converter.DoubleConverter.DOUBLE_detail = la valeur doit �tre un nombre entre 4,9E-324 et 17976931348623157E308
+javax.faces.converter.EnumConverter.ENUM = la valeur doit �tre convertible en une �num�ration
+javax.faces.converter.EnumConverter.ENUM_detail = la valeur doit �tre convertible en une �num�ration ou depuis l''�num�ration qui contient la constante {1}
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS = la valeur doit �tre convertible en une �num�ration ou depuis l'�num�ration, mais aucune classe d'�num�ration n'est fournie
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = la valeur doit �tre convertible en une �num�ration ou depuis l'�num�ration, mais aucune classe d'�num�ration n'est fournie
+javax.faces.converter.FloatConverter.FLOAT = la valeur doit �tre un nombre
+javax.faces.converter.FloatConverter.FLOAT_detail = la valeur doit �tre un nombre entre 1,4E-45 et 3,4028235E38
+javax.faces.converter.IntegerConverter.INTEGER = la valeur doit �tre un nombre
+javax.faces.converter.IntegerConverter.INTEGER_detail = la valeur doit �tre un nombre entre -2147483648 et 2147483647
+javax.faces.converter.LongConverter.LONG = la valeur doit �tre un nombre
+javax.faces.converter.LongConverter.LONG_detail = la valeur doit �tre un nombre entre -9223372036854775808 et 9223372036854775807
+javax.faces.converter.NumberConverter.CURRENCY = la valeur doit �tre un montant mon�taire
+javax.faces.converter.NumberConverter.CURRENCY_detail = la valeur doit �tre un montant mon�taire, par ex. {1}
+javax.faces.converter.NumberConverter.NUMBER = la valeur doit �tre un nombre
+javax.faces.converter.NumberConverter.NUMBER_detail = la valeur doit �tre un nombre
+javax.faces.converter.NumberConverter.PATTERN = la valeur doit �tre un nombre
+javax.faces.converter.NumberConverter.PATTERN_detail = la valeur doit �tre un nombre
+javax.faces.converter.NumberConverter.PERCENT = la valeur doit �tre un pourcentage
+javax.faces.converter.NumberConverter.PERCENT_detail = la valeur doit �tre un pourcentage, par ex. {1}
+javax.faces.converter.ShortConverter.SHORT = la valeur doit �tre un nombre
+javax.faces.converter.ShortConverter.SHORT_detail = la valeur doit �tre comprise entre -32768 et 32767
+
+javax.faces.validator.DoubleRangeValidator.MAXIMUM = La valeur doit �tre inf�rieure ou �gale � {0}
+javax.faces.validator.DoubleRangeValidator.MINIMUM = La valeur doit �tre sup�rieure ou �gale � {0}
+javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = La valeur doit �tre comprise entre {0} et {1}
+javax.faces.validator.DoubleRangeValidator.TYPE = La valeur n'est pas du type correct
+javax.faces.validator.LengthValidator.MAXIMUM = La valeur doit comporter {0} caract�res ou moins
+javax.faces.validator.LengthValidator.MINIMUM = La valeur doit comporter {0} caract�res ou plus
+javax.faces.validator.LongRangeValidator.MAXIMUM = La valeur doit �tre inf�rieure ou �gale � {0}
+javax.faces.validator.LongRangeValidator.MINIMUM = La valeur doit �tre sup�rieure ou �gale � {0}
+javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = La valeur doit �tre comprise entre {0} et {1}
+javax.faces.validator.LongRangeValidator.TYPE = La valeur n'est pas du type correct
+
+javax.faces.validator.NOT_IN_RANGE = La valeur doit �tre comprise entre {0} et {1}
+javax.faces.converter.STRING = La valeur ne peut �tre convertie en cha�ne de caract�res
+
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_it.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_it.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_it.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,90 @@
+up=\u2191
+down=\u2193
+left=\u2039
+right=\u203A
+
+validator.assertFalse=validazione fallita
+validator.assertTrue=validazione corretta
+validator.future=deve essere una data futura
+validator.length=la lunghezza deve essere tra {min} e {max}
+validator.max=deve essere minore o uguale a {value}
+validator.min=deve essere maggiore o uguale a {value}
+validator.notNull=non pu\u00F2 essere nullo
+validator.past=deve essere una data passata
+validator.pattern=deve corrispondere a "{regex}"
+validator.range=deve essere tra {min} e {max}
+validator.size=la grandezza deve essere tra {min} e {max}
+validator.email=deve essere un indirizzo di posta elettronica
+
+org.jboss.seam.loginFailed=Autenticazione fallita
+org.jboss.seam.loginSuccessful=Benvenuto/a, #0
+
+org.jboss.seam.TransactionFailed=Transazione fallita
+org.jboss.seam.NoConversation=La conversazione \u00E8 terminata, scaduta oppure \u00E8 stata processata un'altra richiesta
+org.jboss.seam.IllegalNavigation=Navigazione illegale
+org.jboss.seam.ProcessEnded=Il processo \#0 \u00E8 gi\u00E0\u00A0 terminato
+org.jboss.seam.ProcessNotFound=Il processo \#0 non \u00E8 stato trovato
+org.jboss.seam.TaskEnded=Il task \#0 \u00E8 gi\u00E0 terminato
+org.jboss.seam.TaskNotFound=Il task \#0 non \u00E8 stato trovato
+org.jboss.seam.NotLoggedIn=Per favore, eseguire la login
+
+javax.faces.component.UIInput.CONVERSION=il valore non pu\u00F2 essere convertito
+javax.faces.component.UIInput.REQUIRED=\u00C8 richiesto un valore
+javax.faces.component.UIInput.UPDATE=Si \u00E8 verificato un errore nell'elaborazione delle informazioni inviate
+javax.faces.component.UISelectOne.INVALID=il valore non \u00E8 valido
+javax.faces.component.UISelectMany.INVALID=il valore non \u00E8 valido
+
+javax.faces.converter.BigDecimalConverter.DECIMAL=il valore deve essere un numero
+javax.faces.converter.BigDecimalConverter.DECIMAL_detail=il valore deve essere un numero decimale con zero o pi\u00F9 cifre, opzionalmente seguito da un punto e una frazione, es. {1}
+javax.faces.converter.BigIntegerConverter.BIGINTEGER=deve essere un intero
+javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail=il valore deve essere un numero intero con zero o pi\u00F9 cifre
+javax.faces.converter.BooleanConverter.BOOLEAN=deve essere vero o falso
+javax.faces.converter.BooleanConverter.BOOLEAN_detail=il valore deve essere vero o falso (qualsiasi valore diverso da vero \u00E8 considerato falso)
+javax.faces.converter.ByteConverter.BYTE=il valore deve essere un numero compreso tra 0 e 255
+javax.faces.converter.ByteConverter.BYTE_detail=il valore deve essere un numero compreso tra 0 e 255
+javax.faces.converter.CharacterConverter.CHARACTER=deve essere un carattere
+javax.faces.converter.CharacterConverter.CHARACTER_detail=il valore deve essere un carattere ASCII valido
+javax.faces.converter.DateTimeConverter.DATE=deve essere una data
+javax.faces.converter.DateTimeConverter.DATE_detail=il valore deve essere una data, es. {1}
+javax.faces.converter.DateTimeConverter.TIME=deve essere un orario
+javax.faces.converter.DateTimeConverter.TIME_detail=il valore deve essere un orario, es. {1}
+javax.faces.converter.DateTimeConverter.DATETIME=deve essere una data ed un orario
+javax.faces.converter.DateTimeConverter.DATETIME_detail=il valore deve essere una data e un orario, es. {1}
+javax.faces.converter.DateTimeConverter.PATTERN_TYPE=per convetire il valore devono essere specificati un pattern o un attributo tipo
+javax.faces.converter.DoubleConverter.DOUBLE=deve essere un numero
+javax.faces.converter.DoubleConverter.DOUBLE_detail=il valore deve essere un numero compreso tra 4.9E-324 e 1.7976931348623157E308
+javax.faces.converter.EnumConverter.ENUM=il valore deve essere convertibile in una enum
+javax.faces.converter.EnumConverter.ENUM_detail=il valore deve essere convertibile in una enum o da enum che contiene la costante {1}
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS=il valore deve essere convertibile in una enum o da enum, ma non \u00E8 stata fornita nessuna classe enum
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail=il valore deve essere convertibile in una enum o da enum, ma non \u00E8 stata fornita nessuna classe enum
+javax.faces.converter.FloatConverter.FLOAT=deve essere un numero
+javax.faces.converter.FloatConverter.FLOAT_detail=il valore deve essere un numero compreso tra 1.4E-45 e 3.4028235E38
+javax.faces.converter.IntegerConverter.INTEGER=deve essere un numero intero
+javax.faces.converter.IntegerConverter.INTEGER_detail=il valore deve essere un numero intero compreso tra -2147483648 e 2147483647
+javax.faces.converter.LongConverter.LONG=deve essere un numero intero
+javax.faces.converter.LongConverter.LONG_detail=il valore deve essere un numero intero compreso tra -9223372036854775808 e 9223372036854775807
+javax.faces.converter.NumberConverter.CURRENCY=il valore deve essere una valuta
+javax.faces.converter.NumberConverter.CURRENCY_detail=il valore deve essere una valuta, es. {1}
+javax.faces.converter.NumberConverter.PERCENT=il valore deve essere una percentuale
+javax.faces.converter.NumberConverter.PERCENT_detail=il valore deve essere una percentuale, es. {1}
+javax.faces.converter.NumberConverter.NUMBER=deve essere un numero
+javax.faces.converter.NumberConverter.NUMBER_detail=deve essere un numero
+javax.faces.converter.NumberConverter.PATTERN=deve essere un numero
+javax.faces.converter.NumberConverter.PATTERN_detail=deve essere un numero
+javax.faces.converter.ShortConverter.SHORT=deve essere un numero intero
+javax.faces.converter.ShortConverter.SHORT_detail=il valore deve essere un numero intero compreso -32768 e 32767
+
+javax.faces.validator.DoubleRangeValidator.MAXIMUM=il valore deve essere minore o uguale a {0}
+javax.faces.validator.DoubleRangeValidator.MINIMUM=il valore deve essere maggiore o uguale a {0}
+javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE=il valore deve essere compreso tra {0} e {1}
+javax.faces.validator.DoubleRangeValidator.TYPE=il valore non \u00E8 del tipo corretto
+javax.faces.validator.LengthValidator.MAXIMUM=il valore deve essere inferiore o uguale {0} caratteri
+javax.faces.validator.LengthValidator.MINIMUM=il valore deve essere superiore o uguale {0} caratteri
+javax.faces.validator.LongRangeValidator.MAXIMUM=il valore deve essere minore o uguale a {0}
+javax.faces.validator.LongRangeValidator.MINIMUM=il valore deve essere superiore o uguale a {0}
+javax.faces.validator.LongRangeValidator.NOT_IN_RANGE=il valore deve essere compreso tra {0} e {1}
+javax.faces.validator.LongRangeValidator.TYPE=il valore non \u00E8 del tipo corretto
+
+javax.faces.validator.NOT_IN_RANGE=il valore deve essere compreso tra {0} e {1}
+javax.faces.converter.STRING=il valore non pu\u00F2 essere convertito a stringa
+
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_tr.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_tr.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/messages_tr.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,90 @@
+up=\u2191
+down=\u2193
+left=\u2039
+right=\u203a
+
+validator.assertFalse=do\u011frulanamad\u0131
+validator.assertTrue=do\u011frulanamad\u0131
+validator.future=gelecek bir tarih olmal\u0131d\u0131r
+validator.length=girilen de\u011ferin uzunlu\u011fu {min} ile {max} aras\u0131nda olmal\u0131d\u0131r
+validator.max=girilen de\u011fer {value} ya da daha k\u00fc\u00e7\u00fck olmal\u0131d\u0131r
+validator.min=girilen de\u011fer {value} ya da daha b\u00fcy\u00fck olmal\u0131d\u0131r
+validator.notNull=bir de\u011fer girilmesi gereklidir
+validator.past=ge\u00e7mi\u015f bir tarih girilmelidir
+validator.pattern=girilen de\u011fer "{regex}" tan\u0131mlamas\u0131na uymal\u0131d\u0131r
+validator.range=girilen de\u011ferin b\u00fcy\u00fckl\u00fc\u011f\u00fc {min} ile {max} aras\u0131nda olmal\u0131d\u0131r
+validator.size=girilen de\u011ferin boyut {min} ile {max} aras\u0131nda olmal\u0131d\u0131r
+validator.email=girilen de\u011fer e-posta adresi format\u0131na uygun olmal\u0131d\u0131r
+
+org.jboss.seam.loginFailed=Oturum a\u00e7\u0131lamad\u0131
+org.jboss.seam.loginSuccessful=Ho\u015fgeldiniz, #0!
+
+org.jboss.seam.TransactionFailed=\u0130\u015flem tamamlanamad\u0131
+org.jboss.seam.NoConversation=Konu\u015fma sonland\u0131, zaman a\u015f\u0131m\u0131na u\u011frad\u0131 ya da ba\u015fka bir talebi i\u015fliyordu
+org.jboss.seam.IllegalNavigation=Ge\u00e7ersiz y\u00f6nleme(navigasyon)
+org.jboss.seam.ProcessEnded=#0 s\u00fcreci sonlanm\u0131\u015f
+org.jboss.seam.ProcessNotFound=#0 s\u00fcreci bulunamad\u0131
+org.jboss.seam.TaskEnded=#0 g\u00f6revi sonlanm\u0131\u015f
+org.jboss.seam.TaskNotFound=#0 g\u00f6revi bulunamad\u0131
+org.jboss.seam.NotLoggedIn=L\u00fctfen \u00f6ncelikle oturum a\u00e7\u0131n
+
+javax.faces.component.UIInput.CONVERSION=girilen de\u011fer, beklenen tipe d\u00f6n\u00fc\u015ft\u00fcr\u00fclemedi
+javax.faces.component.UIInput.REQUIRED=bir de\u011fer girilmesi gereklidir
+javax.faces.component.UIInput.UPDATE=talebiniz i\u015flenirken bir hata olu\u015ftu
+javax.faces.component.UISelectOne.INVALID=ge\u00e7erli bir de\u011fer girilmelidir
+javax.faces.component.UISelectMany.INVALID=ge\u00e7erli bir de\u011fer girilmelidir
+
+javax.faces.converter.BigDecimalConverter.DECIMAL=bir say\u0131 girilmelidir
+javax.faces.converter.BigDecimalConverter.DECIMAL_detail=girilen de\u011fer, s\u0131f\u0131r ya da daha fazla basamak i\u00e7eren, ondal\u0131k ayrac\u0131 ve ondal\u0131k basamak i\u00e7erebilen i\u015faretli bir ondal\u0131k say\u0131 olmal\u0131d\u0131r, \u00f6rn. {1}
+javax.faces.converter.BigIntegerConverter.BIGINTEGER=bir tamsay\u0131 girilmelidir
+javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail=girilen de\u011fer bir ya da daha fazla basamak i\u00e7eren bir tamsay\u0131 olmal\u0131d\u0131r
+javax.faces.converter.BooleanConverter.BOOLEAN=girilen de\u011fer true ya da false olmal\u0131d\u0131r
+javax.faces.converter.BooleanConverter.BOOLEAN_detail=girilen de\u011fer true ya da false olmal\u0131d\u0131r (true olmayan her de\u011fer false olarak de\u011ferlendirilecektir)
+javax.faces.converter.ByteConverter.BYTE=girilen de\u011fer 0 ile 255 aras\u0131nda bir say\u0131 olmal\u0131d\u0131r
+javax.faces.converter.ByteConverter.BYTE_detail=girilen de\u011fer 0 ile 255 aras\u0131nda bir say\u0131 olmal\u0131d\u0131r
+javax.faces.converter.CharacterConverter.CHARACTER=girilen de\u011fer bir karakter olmal\u0131d\u0131r
+javax.faces.converter.CharacterConverter.CHARACTER_detail=ge\u00e7erli bir ASCII karakter girilmelidir
+javax.faces.converter.DateTimeConverter.DATE=girilen de\u011fer bir tarih olmal\u0131d\u0131r
+javax.faces.converter.DateTimeConverter.DATE_detail=girilen de\u011fer bir tarih olmal\u0131d\u0131r, \u00f6rn. {1}
+javax.faces.converter.DateTimeConverter.TIME=girilen de\u011fer bir zaman olmal\u0131d\u0131r
+javax.faces.converter.DateTimeConverter.TIME_detail=girilen de\u011fer bir zaman olmal\u0131d\u0131r, \u00f6rn. {1}
+javax.faces.converter.DateTimeConverter.DATETIME=girilen de\u011fer tarih ve zaman i\u00e7ermelidir
+javax.faces.converter.DateTimeConverter.DATETIME_detail=girilen de\u011fer tarih ve zaman i\u00e7ermelidir, \u00f6rn. {1}
+javax.faces.converter.DateTimeConverter.PATTERN_TYPE=girilen de\u011feri d\u00f6n\u00fc\u015ft\u00fcrebilmek i\u00e7in bir desen(pattern) ya da tip \u00f6zniteli\u011fi(attribute) tan\u0131mlanmal\u0131d\u0131r.
+javax.faces.converter.DoubleConverter.DOUBLE=bir say\u0131 girilmelidir
+javax.faces.converter.DoubleConverter.DOUBLE_detail=4.9E-324 ile 1.7976931348623157E308 aras\u0131nda bir say\u0131 girilmelidir
+javax.faces.converter.EnumConverter.ENUM=girilen de\u011fer enum tipine d\u00f6n\u00fc\u015ft\u00fcr\u00fclebilmelidir
+javax.faces.converter.EnumConverter.ENUM_detail=girilen de\u011fer sabit i\u00e7eren bir enum tipinden enum tipine d\u00f6n\u00fc\u015ft\u00fcr\u00fclebilmelidir {1}
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS=girilen de\u011fer enum tipinden enum tipine d\u00f6n\u00fc\u015ft\u00fcr\u00fclebilmelidir. Ancak enum s\u0131n\u0131f\u0131(class) bulunamad\u0131
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail=girilen de\u011fer enum tipinden enum tipine d\u00f6n\u00fc\u015ft\u00fcr\u00fclebilmelidir. Ancak enum s\u0131n\u0131f\u0131(class) bulunamad\u0131
+javax.faces.converter.FloatConverter.FLOAT=bir say\u0131 girilmelidir
+javax.faces.converter.FloatConverter.FLOAT_detail=1.4E-45 ile 3.4028235E38 aras\u0131nda bir say\u0131 girilmelidir
+javax.faces.converter.IntegerConverter.INTEGER=bir tamsay\u0131 girilmelidir
+javax.faces.converter.IntegerConverter.INTEGER_detail=-2147483648 ile 2147483647 aras\u0131nda bir tamsay\u0131 girilmelidir
+javax.faces.converter.LongConverter.LONG=bir tamsay\u0131 girilmelidir
+javax.faces.converter.LongConverter.LONG_detail=-9223372036854775808 ile 9223372036854775807 aras\u0131nda bir tamsay\u0131 girilmelidir
+javax.faces.converter.NumberConverter.CURRENCY=para birimi tipinden bir de\u011fer girilmelidir
+javax.faces.converter.NumberConverter.CURRENCY_detail=para birimi tipinden bir de\u011fer girilmelidir, \u00f6rn. {1}
+javax.faces.converter.NumberConverter.PERCENT=y\u00fczdelik tipinden bir de\u011fer girilmelidir
+javax.faces.converter.NumberConverter.PERCENT_detail=y\u00fczdelik tipinden bir de\u011fer girilmelidir, \u00f6rn. {1}
+javax.faces.converter.NumberConverter.NUMBER=bir say\u0131 girilmelidir
+javax.faces.converter.NumberConverter.NUMBER_detail=bir say\u0131 girilmelidir
+javax.faces.converter.NumberConverter.PATTERN=bir say\u0131 girilmelidir
+javax.faces.converter.NumberConverter.PATTERN_detail=bir say\u0131 girilmelidir
+javax.faces.converter.ShortConverter.SHORT=bir tamsay\u0131 girilmelidir
+javax.faces.converter.ShortConverter.SHORT_detail=-32768 ile 32767 aras\u0131nda bir tamsay\u0131 girilmelidir
+
+javax.faces.validator.DoubleRangeValidator.MAXIMUM=girilen de\u011fer {0} ya da daha k\u00fc\u00e7\u00fck olmal\u0131d\u0131r
+javax.faces.validator.DoubleRangeValidator.MINIMUM=girilen de\u011fer {0} ya da daha b\u00fcy\u00fck olmal\u0131d\u0131r
+javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE=girilen de\u011fer {0} ile {1} aras\u0131nda olmal\u0131d\u0131r
+javax.faces.validator.DoubleRangeValidator.TYPE=girilen de\u011ferin tipi yanl\u0131\u015f
+javax.faces.validator.LengthValidator.MAXIMUM=girilen de\u011fer {0} ya da daha az karakter i\u00e7ermelidir
+javax.faces.validator.LengthValidator.MINIMUM=girilen de\u011fer {0} ya da fazla karakter i\u00e7ermelidir
+javax.faces.validator.LongRangeValidator.MAXIMUM=girilen de\u011fer {0} ya da daha k\u00fc\u00e7\u00fck olmal\u0131d\u0131r
+javax.faces.validator.LongRangeValidator.MINIMUM=girilen de\u011fer {0} ya da daha b\u00fcy\u00fck olmal\u0131d\u0131r
+javax.faces.validator.LongRangeValidator.NOT_IN_RANGE=girilen de\u011fer {0} ile {1} aral\u0131\u011f\u0131nda olmal\u0131d\u0131r
+javax.faces.validator.LongRangeValidator.TYPE=yanl\u0131\u015f tipte bir de\u011fer girildi
+
+javax.faces.validator.NOT_IN_RANGE=girilen de\u011fer {0} ile {1} aral\u0131\u011f\u0131nda olmal\u0131d\u0131r
+javax.faces.converter.STRING=girilen de\u011fer bir dizgiye(string) d\u00f6n\u00fc\u015ft\u00fcr\u00fclemedi
+
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/seam-gen.reveng.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/seam-gen.reveng.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/seam-gen.reveng.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-reverse-engineering SYSTEM "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >
+<hibernate-reverse-engineering>
+
+ <!-- Use this file to customize the generation of JPA entities from database
+ tables performed either by `seam generate' or the Generate Entities task
+ in JBoss Tools. You can find detailed instructions on controlling
+ reverse engineering in the JBoss Tools reference documentation:
+ http://docs.jboss.org/tools/3.0.0.Beta1/en/hibernatetools/html/index.html
+ -->
+
+ <!-- Uncomment the next line if you want to begin by excluding all tables,
+ then selectively including tables -->
+ <!--<table-filter match-name="*.*" exclude="true"/>-->
+
+ <!-- Uncomment one of the next two lines to include or exclude a single table -->
+ <!--<table-filter match-name="TABLE_NAME" exclude="true"/>-->
+ <!--<table-filter match-name="TABLE_NAME" exclude="false"/>-->
+
+ <!-- An example of a mapping customization -->
+ <!--
+ <table name="TABLE_PREFIX_BILL" class="org.example.model.Bill">
+ <meta attribute="class-code">
+// Code appended to the end of the generated class
+public float calculateTotal() {
+ return this.rate * this.hours;
+}
+ </meta/>
+ <column name="BILL_ID" property="id" type="java.lang.Long"/>
+ <column name="RTE" property="rate"/>
+ <column name="HRS" property="hours"/>
+ </table>
+ -->
+
+</hibernate-reverse-engineering>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/seam.properties
===================================================================
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/security.drl
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/security.drl (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/resources/security.drl 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,6 @@
+package Permissions;
+
+import java.security.Principal;
+
+import org.jboss.seam.security.permission.PermissionCheck;
+import org.jboss.seam.security.Role;
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/seam-gen.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/seam-gen.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/seam-gen.properties 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,29 @@
+#Generated by seam setup
+#Thu Aug 20 14:31:53 CEST 2009
+hibernate.connection.password=
+workspace.home=/home/jbarrez/dev/blog/jboss_world_demo/workspace
+hibernate.connection.dataSource_class=org.hsqldb.jdbc.jdbcDataSource
+model.package=org.jbpm.trainticketdemo.bam.entity
+driver.jar=/home/jbarrez/dev/blog/jboss_world_demo/temp/jboss-seam-2.2.0.GA/lib/hsqldb.jar
+action.package=org.jbpm.trainticketdemo.bam.session
+test.package=org.jbpm.trainticketdemo.test
+database.type=hsql
+richfaces.skin=glassX
+glassfish.domain=domain1
+hibernate.default_catalog.null=
+hibernate.default_schema.null=
+database.drop=n
+project.name=jbpm_on_rails_bam
+hibernate.connection.username=sa
+glassfish.home=C\:/Program Files/glassfish-v2.1
+hibernate.connection.driver_class=org.hsqldb.jdbcDriver
+hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider
+jboss.domain=default
+project.type=ear
+icefaces.home=
+database.exists=n
+jboss.home=/home/jbarrez/dev/blog/jboss_world_demo/jboss-4.2.3.GA
+driver.license.jar=
+hibernate.dialect=org.hibernate.dialect.HSQLDialect
+hibernate.connection.url=jdbc\:hsqldb\:.
+icefaces=n
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/Authenticator.java
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/Authenticator.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/Authenticator.java 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,10 @@
+package org.jbpm.trainticketdemo.bam.session;
+
+import javax.ejb.Local;
+
+@Local
+public interface Authenticator {
+
+ boolean authenticate();
+
+}
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/AuthenticatorBean.java
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/AuthenticatorBean.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/AuthenticatorBean.java 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,34 @@
+package org.jbpm.trainticketdemo.bam.session;
+
+import javax.ejb.Stateless;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.log.Log;
+import org.jboss.seam.security.Credentials;
+import org.jboss.seam.security.Identity;
+
+@Stateless
+@Name("authenticator")
+public class AuthenticatorBean implements Authenticator
+{
+ @Logger private Log log;
+
+ @In Identity identity;
+ @In Credentials credentials;
+
+ public boolean authenticate()
+ {
+ log.info("authenticating {0}", credentials.getUsername());
+ //write your authentication logic here,
+ //return true if the authentication was
+ //successful, false otherwise
+ if ("admin".equals(credentials.getUsername()))
+ {
+ identity.addRole("admin");
+ return true;
+ }
+ return false;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/GraphProducer.java
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/GraphProducer.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/GraphProducer.java 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.bam.session;
+
+import java.util.List;
+
+import javax.ejb.Local;
+
+import org.jbpm.trainticketdemo.bam.entity.Metric;
+import org.jbpm.trainticketdemo.bam.entity.TicketSale;
+
+/**
+ * @author Joram Barrez
+ */
+@Local
+public interface GraphProducer {
+
+ List<TicketSale> getTicketSales();
+
+ List<Metric> getResponseMetrics();
+
+ List<Metric> getCreditCheckMetrics();
+
+ List<Metric> getCustomerReactionTimeMetrics();
+
+ String getLastUpdate();
+
+}
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/GraphProducerBean.java
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/GraphProducerBean.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/session/GraphProducerBean.java 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,198 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.bam.session;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
+import javax.ejb.Stateless;
+
+import org.jboss.seam.annotations.Name;
+import org.jbpm.trainticketdemo.bam.entity.Metric;
+import org.jbpm.trainticketdemo.bam.entity.TicketSale;
+import org.jbpm.trainticketdemo.bam.util.JdbcCallback;
+import org.jbpm.trainticketdemo.bam.util.JdbcTemplate;
+
+/**
+ * @author Joram Barrez
+ */
+@Stateless
+@Name("graphProducer")
+public class GraphProducerBean implements GraphProducer {
+
+ private List<TicketSale> ticketSales;
+
+ private List<Metric> responseMetrics;
+
+ private List<Metric> creditCheckMetrics;
+
+ private List<Metric> customerReactionTimeMetrics;
+
+ private Date lastUpdate;
+
+ public GraphProducerBean() {
+ loadTicketSales();
+ loadResponseMetrics();
+ loadCreditCheckMetrics();
+ loadCustomerReactionTimeMetrics();
+ }
+
+ public List<TicketSale> getTicketSales() {
+ loadTicketSales();
+ return ticketSales;
+ }
+
+
+ private void loadTicketSales() {
+ JdbcTemplate.execute(new JdbcCallback() {
+
+ public void execute(Connection conn) throws Exception {
+ List<TicketSale> result = new ArrayList<TicketSale>();
+ PreparedStatement stm = conn.prepareStatement("SELECT * FROM TICKET_SALES order by TIME_STAMP DESC LIMIT 10");
+ ResultSet rs = stm.executeQuery();
+ while (rs.next()) {
+ TicketSale sale = new TicketSale();
+ sale.setNrOfTicketsSold(rs.getInt("NR_SAMPLES"));
+ sale.setTotalAmount(rs.getDouble("TOTAL_PRICE"));
+ sale.setAverageAmount(rs.getDouble("AVERAGE_PRICE"));
+ sale.setStddevAmount(rs.getDouble("STDDEV_PRICE"));
+ sale.setTimeStamp(rs.getTimestamp("TIME_STAMP").toString());
+ result.add(sale);
+ }
+ stm.close();
+ Collections.reverse(result);
+ ticketSales = result;
+ }
+ });
+ updateLastUpdateTimeStamp();
+ }
+
+ private void updateLastUpdateTimeStamp() {
+ lastUpdate = new Date();
+ }
+
+ public List<Metric> getResponseMetrics() {
+ loadResponseMetrics();
+ return responseMetrics;
+ }
+
+ private void loadResponseMetrics() {
+ JdbcTemplate.execute(new JdbcCallback() {
+
+ public void execute(Connection conn) throws Exception {
+ List<Metric> result = new ArrayList<Metric>();
+ PreparedStatement stm = conn.prepareStatement("SELECT avg(INTERVAL_TIME) as average, stddev_pop(INTERVAL_TIME) as standarDeviation FROM TICKET_RESPONSE_TIMINGS");
+ ResultSet rs = stm.executeQuery();
+ while (rs.next()) {
+
+ Metric average = new Metric();
+ average.setCategory("Avg (ms)");
+ average.setValue(rs.getDouble("average"));
+ result.add(average);
+
+ Metric stddev = new Metric();
+ stddev.setCategory("Stddev (ms)");
+ stddev.setValue(rs.getDouble("standarDeviation"));
+ result.add(stddev);
+
+ }
+ stm.close();
+ responseMetrics = result;
+ }
+ });
+ updateLastUpdateTimeStamp();
+ }
+
+ public List<Metric> getCreditCheckMetrics() {
+ loadCreditCheckMetrics();
+ return creditCheckMetrics;
+ }
+
+ private void loadCreditCheckMetrics() {
+ JdbcTemplate.execute(new JdbcCallback() {
+
+ public void execute(Connection conn) throws Exception {
+ List<Metric> result = new ArrayList<Metric>();
+ PreparedStatement stm = conn
+ .prepareStatement("SELECT TRANSITION_ as outcome, count(*) as nrOfCases " +
+ "FROM JBPM4_HIST_ACTINST WHERE ACTIVITY_NAME_='Check customer credit' " +
+ "group by TRANSITION_");
+ ResultSet rs = stm.executeQuery();
+ while (rs.next()) {
+
+ Metric metric = new Metric();
+ metric.setCategory(rs.getString("outcome"));
+ metric.setValue(rs.getInt("nrOfcases"));
+ result.add(metric);
+
+ }
+ stm.close();
+ creditCheckMetrics = result;
+ }
+ });
+ updateLastUpdateTimeStamp();
+ }
+
+ public List<Metric> getCustomerReactionTimeMetrics() {
+ loadCustomerReactionTimeMetrics();
+ return customerReactionTimeMetrics;
+ }
+
+ private void loadCustomerReactionTimeMetrics() {
+ JdbcTemplate.execute(new JdbcCallback() {
+
+ public void execute(Connection conn) throws Exception {
+ List<Metric> result = new ArrayList<Metric>();
+ PreparedStatement stm = conn
+ .prepareStatement("SELECT count(*) nr, reactionTime FROM(" +
+ "SELECT (CASE WHEN DURATION_ <= 10000 THEN '<10s' " +
+ "WHEN DURATION_ > 10000 AND DURATION_ <= 20000 THEN '10s>time>=20s' " +
+ "WHEN DURATION_ > 20000 AND DURATION_ <= 30000 THEN '20s>time>=30s' " +
+ "ELSE '>30s' END) as reactionTime FROM JBPM4_HIST_ACTINST " +
+ "WHERE ACTIVITY_NAME_ = 'Accept quote') " +
+ "GROUP BY reactionTime");
+ ResultSet rs = stm.executeQuery();
+ while (rs.next()) {
+
+ Metric metric = new Metric();
+ metric.setCategory(rs.getString("reactionTime"));
+ metric.setValue(rs.getInt("nr"));
+ result.add(metric);
+
+ }
+ stm.close();
+ customerReactionTimeMetrics = result;
+ }
+ });
+ updateLastUpdateTimeStamp();
+ }
+
+ public String getLastUpdate() {
+ return lastUpdate.toString();
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/util/DataSourceUtil.java
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/util/DataSourceUtil.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/util/DataSourceUtil.java 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.bam.util;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+import javax.naming.InitialContext;
+import javax.sql.DataSource;
+
+/**
+ * @author Joram Barrez
+ */
+public class DataSourceUtil {
+
+ private static final String DATASOURCE = "java:JbpmDS";
+
+ private static DataSource cache;
+
+ public static Connection getConnection() {
+
+ if (cache == null) {
+ synchronized (DataSourceUtil.class) {
+ if (cache == null) {
+ try {
+ InitialContext context = new InitialContext();
+ cache = (javax.sql.DataSource) context.lookup(DATASOURCE);
+ } catch (Exception e) {
+ throw new RuntimeException("Couldnt obtain " + DATASOURCE);
+ }
+ }
+ }
+ }
+
+ try {
+ return cache.getConnection();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ return null;
+ }
+
+ }
+
+}
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/util/JdbcCallback.java
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/util/JdbcCallback.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/util/JdbcCallback.java 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.bam.util;
+
+import java.sql.Connection;
+
+/**
+ * @author Joram Barrez
+ */
+public interface JdbcCallback {
+
+ void execute(Connection conn) throws Exception;
+
+}
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/util/JdbcTemplate.java
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/util/JdbcTemplate.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/hot/org/jbpm/trainticketdemo/bam/util/JdbcTemplate.java 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.bam.util;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+/**
+ * @author Joram Barrez
+ */
+public class JdbcTemplate {
+
+ public static void execute(JdbcCallback callback) {
+ Connection conn = DataSourceUtil.getConnection();
+ try {
+ callback.execute(conn);
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ if (conn != null) {
+ try {
+ conn.close();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/main/org/jbpm/trainticketdemo/bam/entity/Metric.java
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/main/org/jbpm/trainticketdemo/bam/entity/Metric.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/main/org/jbpm/trainticketdemo/bam/entity/Metric.java 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.bam.entity;
+
+/**
+ * @author Joram Barrez
+ */
+public class Metric {
+
+ private String category;
+
+ private Number value;
+
+ public Metric() {
+
+ }
+
+ public String getCategory() {
+ return category;
+ }
+
+ public void setCategory(String category) {
+ this.category = category;
+ }
+
+ public Number getValue() {
+ return value;
+ }
+
+ public void setValue(Number value) {
+ this.value = value;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/main/org/jbpm/trainticketdemo/bam/entity/TicketSale.java
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/main/org/jbpm/trainticketdemo/bam/entity/TicketSale.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/main/org/jbpm/trainticketdemo/bam/entity/TicketSale.java 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,85 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.bam.entity;
+
+import java.util.Date;
+
+/**
+ * @author Joram Barrez
+ */
+public class TicketSale {
+
+ private String timeStamp;
+
+ private Integer nrOfTicketsSold;
+
+ private Double totalAmount;
+
+ private Double averageAmount;
+
+ private Double stddevAmount;
+
+ public TicketSale() {
+
+ }
+
+ public String getTimeStamp() {
+ return timeStamp;
+ }
+
+ public void setTimeStamp(String timeStamp) {
+ this.timeStamp = timeStamp;
+ }
+
+ public Integer getNrOfTicketsSold() {
+ return nrOfTicketsSold;
+ }
+
+ public void setNrOfTicketsSold(Integer nrOfTicketsSold) {
+ this.nrOfTicketsSold = nrOfTicketsSold;
+ }
+
+ public Double getTotalAmount() {
+ return totalAmount;
+ }
+
+ public void setTotalAmount(Double totalAmount) {
+ this.totalAmount = totalAmount;
+ }
+
+ public Double getAverageAmount() {
+ return averageAmount;
+ }
+
+ public void setAverageAmount(Double averageAmount) {
+ this.averageAmount = averageAmount;
+ }
+
+ public Double getStddevAmount() {
+ return stddevAmount;
+ }
+
+ public void setStddevAmount(Double stddevAmount) {
+ this.stddevAmount = stddevAmount;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/test/readme.txt
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/test/readme.txt (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/src/test/readme.txt 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,29 @@
+If you want to run tests using the Eclipse TestNG plugin, you'll need to add
+these jars to the top of your TestNG classpath. Using the Run Dialog, select the
+XML suite to run, and select these entries from the project tree:
+
+/lib/test/jboss-embedded-all.jar
+/lib/test/hibernate-all.jar
+/lib/test/thirdparty-all.jar
+/lib/jboss-embedded-api.jar
+/lib/jboss-deployers-client-spi.jar
+/lib/jboss-deployers-core-spi.jar
+
+You also need to add the Embedded JBoss bootstrap folder, which you can do by
+clicking on the Advanced... button.
+
+/bootstrap
+
+Seam uses JBoss Embedded in its unit and integration testing. This has an
+additional requirement when using JDK 6. Add the following VM argument to the VM
+args tab in the TestNG launch configuration for your suite.
+
+-Dsun.lang.ClassLoader.allowArraySyntax=true
+
+Please be sure to use JDK 6 Update 4 or better (>= 1.6.0_04) if you are using
+JDK 6. The Update 4 release upgraded to JAXB 2.1 which removes a problem with
+earlier versions of Sun's JDK 6 which required overriding the JAXB libraries
+using the endorsed directory.
+
+To add tests to your project create a TestNG xml descriptor called *Test.xml
+(e.g. FooTest.xml) next to your test classes and run ant test.
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/validate.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/validate.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/validate.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>
+<project basedir=".">
+
+ <property name="seam.dir" value="${basedir}" />
+
+ <property name="seam.schemaLocations" value="
+ http://jboss.com/products/seam/async ${src.schema.dir}/async-${schema.version}.xsd
+ http://jboss.com/products/seam/bpm ${src.schema.dir}/bpm-${schema.version}.xsd
+ http://jboss.com/products/seam/components ${src.schema.dir}/components-${schema.version}.xsd
+ http://jboss.com/products/seam/core ${src.schema.dir}/core-${schema.version}.xsd
+ http://jboss.com/products/seam/drools ${src.schema.dir}/drools-${schema.version}.xsd
+ http://jboss.com/products/seam/framework ${src.schema.dir}/framework-${schema.version}.xsd
+ http://jboss.com/products/seam/international ${src.schema.dir}/international-${schema.version}.xsd
+ http://jboss.com/products/seam/jms ${src.schema.dir}/jms-${schema.version}.xsd
+ http://jboss.com/products/seam/mail ${src.schema.dir}/mail-${schema.version}.xsd
+ http://jboss.com/products/seam/navigation ${src.schema.dir}/navigation-${schema.version}.xsd
+ http://jboss.com/products/seam/pageflow ${src.schema.dir}/pageflow-${schema.version}.xsd
+ http://jboss.com/products/seam/pages ${src.schema.dir}/pages-${schema.version}.xsd
+ http://jboss.com/products/seam/pdf ${seam.dir}/src/pdf/org/jboss/seam/pdf/pdf-${schema.version}.xsd
+ http://jboss.com/products/seam/persistence ${src.schema.dir}/persistence-${schema.version}.xsd
+ http://jboss.com/products/seam/remoting ${src.schema.dir}/remoting-${schema.version}.xsd
+ http://jboss.com/products/seam/resteasy ${seam.dir}/src/resteasy/org/jboss/seam/resteasy/resteasy-${schema.version}.xsd
+ http://jboss.com/products/seam/security ${src.schema.dir}/security-${schema.version}.xsd
+ http://jboss.com/products/seam/theme ${src.schema.dir}/theme-${schema.version}.xsd
+ http://jboss.com/products/seam/transaction ${src.schema.dir}/transaction-${schema.version}.xsd
+ http://jboss.com/products/seam/web ${src.schema.dir}/web-${schema.version}.xsd " />
+
+ <property name="xsdLocation" value="http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd" />
+
+ <taskdef name="xmlvalidate.task" classname="org.apache.tools.ant.taskdefs.optional.XMLValidateTask">
+ <classpath>
+ <fileset dir="${seam.dir}/lib" />
+ </classpath>
+ </taskdef>
+
+ <fileset id="validate.resources" dir="${validate.resources.dir}">
+ <include name="**/META-INF/application.xml" />
+ <include name="**/META-INF/ejb-jar.xml" />
+ <include name="**/META-INF/persistence.xml" />
+ <include name="**/META-INF/jboss-app.xml" />
+ <include name="**/META-INF/orm.xml" />
+ <include name="**/WEB-INF/components.xml" />
+ <include name="**/WEB-INF/pages.xml" />
+ <include name="**/WEB-INF/faces-config.xml" />
+ <include name="**/WEB-INF/web.xml" />
+ <include name="**/WEB-INF/jboss-web.xml" />
+ <include name="**/${example.ds}" />
+ <include name="**/hibernate.cfg.xml" />
+ <include name="**/*.jpdl.xml" />
+ <exclude name="**/.gpd.*.jpdl.xml" />
+ </fileset>
+
+ <fileset id="validate.schemas" dir="${seam.dir}">
+ <include name="src/**/*.xsd" />
+ </fileset>
+
+ <target name="validateConfiguration" description="Validate XML Configuration Files">
+ <validateConfiguration>
+ <fileset refid="validate.resources" />
+ </validateConfiguration>
+ </target>
+
+ <target name="validatexsd" description="Validate all XML Schemas">
+ <validateConfiguration>
+ <fileset refid="validate.schemas" />
+ </validateConfiguration>
+ </target>
+
+ <presetdef name="validateConfiguration" >
+ <xmlvalidate.task classname="org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser">
+ <attribute name="http://xml.org/sax/features/validation" value="true" />
+ <attribute name="http://apache.org/xml/features/validation/schema" value="true" />
+ <attribute name="http://xml.org/sax/features/namespaces" value="true" />
+ <property name="http://apache.org/xml/properties/schema/external-schemaLocation" value="${seam.schemaLocations} ${xsdLocation}" />
+ <xmlcatalog>
+ <dtd publicId="-//JBoss/Seam Component Configuration DTD 2.0//EN" location="${src.schema.dir}/components-${schema.version}.dtd" />
+ <dtd publicId="-//JBoss/Seam Pages Configuration DTD 2.0//EN" location="${src.schema.dir}/pages-${schema.version}.dtd" />
+ </xmlcatalog>
+ <classpath>
+ <fileset dir="${seam.dir}/lib" />
+ </classpath>
+ </xmlvalidate.task>
+ </presetdef>
+</project>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/error.xhtml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/error.xhtml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/error.xhtml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,19 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ template="layout/template.xhtml">
+
+ <ui:param name="showGlobalMessages" value="false"/>
+ <ui:define name="body">
+
+ <h1>Error</h1>
+ <p>Something bad happened :-(</p>
+
+ <h:messages id="errorMessage" styleClass="message"/>
+
+ </ui:define>
+</ui:composition>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/favicon.ico
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/favicon.ico
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/home.xhtml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/home.xhtml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/home.xhtml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,142 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ 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:rich="http://richfaces.org/rich"
+ xmlns:p="http://primefaces.prime.com.tr/ui"
+ xmlns:a4j="http://richfaces.org/a4j" template="layout/template.xhtml">
+
+ <ui:define name="body">
+
+ <script type="text/javascript">
+ var myChartStyle = {
+ legend: {
+ display:"bottom"
+ },
+ };
+ var lineSeriesStyle =
+ {
+ color: 0x3399FF,
+ size: 7,
+ lineAlpha:.5
+ };
+ var alternateLineSeriesStyle =
+ {
+ color: 0xFF9933,
+ size: 7,
+ lineAlpha:.5
+ };
+ var barChartStyle =
+ {
+ color: 0xB0C4DE,
+ size: 60
+ };
+ </script>
+
+ <a4j:region>
+ <h:form>
+ <a4j:poll id="poll" interval="5000" reRender="tableHeader" />
+ </h:form>
+ </a4j:region>
+
+ <h:form>
+
+
+ <rich:panel>
+
+ <h:graphicImage value="/img/header_small.jpg" alt="jBPM Demo Dashboard" style="float:right"/>
+
+ <f:facet name="header">
+ <h:outputText id="tableHeader"
+ value="Recent metrics (last update #{graphProducer.lastUpdate})" />
+ </f:facet>
+
+ <rich:layout>
+
+ <rich:layoutPanel position="left" width="25%">
+
+ <rich:layoutPanel position="top">
+ <rich:panel>
+ <f:facet name="header">
+ <h:outputText value="SLA: SMS response metrics (milliseconds)" />
+ </f:facet>
+ <p:columnChart value="#{graphProducer.responseMetrics}"
+ var="metric" xfield="#{metric.category}" live="true"
+ refreshInterval="7500" style="myChartStyle">
+ <p:chartSeries label="Time (ms)" value="#{metric.value}" style="barChartStyle"/>
+ </p:columnChart>
+ </rich:panel>
+ </rich:layoutPanel>
+ <rich:layoutPanel position="bottom">
+ <rich:panel>
+ <f:facet name="header">
+ <h:outputText
+ value="Customer time from SMS receival to response on quote (seconds)" />
+ </f:facet>
+ <p:pieChart value="#{graphProducer.customerReactionTimeMetrics}"
+ var="metric" categoryField="#{metric.category}"
+ style="myChartStyle" dataField="#{metric.value}" live="true"
+ refreshInterval="7500" />
+ </rich:panel>
+ <rich:panel>
+ <f:facet name="header">
+ <h:outputText value="# Customers / type credit check" />
+ </f:facet>
+ <p:columnChart value="#{graphProducer.creditCheckMetrics}"
+ var="metric" xfield="#{metric.category}" live="true"
+ refreshInterval="7500" style="myChartStyle">
+ <p:chartSeries label="Amount" value="#{metric.value}"/>
+ </p:columnChart>
+ </rich:panel>
+ </rich:layoutPanel>
+
+
+ </rich:layoutPanel>
+
+ <rich:layoutPanel position="right" width="75%">
+
+ <rich:layoutPanel position="top">
+ <rich:panel>
+ <f:facet name="header">
+ <h:outputText value="Total money earned (last 10 windows)" />
+ </f:facet>
+ <p:lineChart value="#{graphProducer.ticketSales}" var="sale"
+ style="myChartStyle" xfield="#{sale.timeStamp}" live="true"
+ refreshInterval="7500">
+ <p:chartSeries label="Total EUR" value="#{sale.totalAmount}"
+ style="lineSeriesStyle" />
+ </p:lineChart>
+ </rich:panel>
+ </rich:layoutPanel>
+
+ <rich:layoutPanel position="bottom">
+ <rich:panel>
+ <f:facet name="header">
+ <h:outputText
+ value="Average/Stddev money earned (last 10 windows)" />
+ </f:facet>
+ <p:lineChart value="#{graphProducer.ticketSales}" var="sale"
+ style="myChartStyle" xfield="#{sale.timeStamp}" live="true"
+ refreshInterval="7500">
+ <p:chartSeries label="Average EUR" style="lineSeriesStyle"
+ value="#{sale.averageAmount}" />
+ <p:chartSeries label="Stddev EUR" value="#{sale.stddevAmount}"
+ style="alternateLineSeriesStyle" />
+ </p:lineChart>
+ </rich:panel>
+ </rich:layoutPanel>
+
+ </rich:layoutPanel>
+
+
+ </rich:layout>
+
+ </rich:panel>
+
+ </h:form>
+
+ </ui:define>
+</ui:composition>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/btnmanageroles.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/btnmanageroles.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/btnmanageusers.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/btnmanageusers.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/btnnewpermission.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/btnnewpermission.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/btnnewrole.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/btnnewrole.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/btnnewuser.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/btnnewuser.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/dtpick.gif
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/dtpick.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/error.gif
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/error.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/false.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/false.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/header.jpg
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/header.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/header_small.jpg
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/header_small.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/manytoone.gif
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/manytoone.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/msgerror.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/msgerror.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/msginfo.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/msginfo.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/msgwarn.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/msgwarn.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/onetomany.gif
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/onetomany.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/seamlogo.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/seamlogo.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/true.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/img/true.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/index.html
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/index.html (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/index.html 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1 @@
+<html><head><meta http-equiv="Refresh" content="0; URL=home.seam"/></head></html>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/display.xhtml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/display.xhtml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/display.xhtml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,16 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:s="http://jboss.com/products/seam/taglib">
+
+ <div class="prop">
+ <span class="name">
+ <ui:insert name="label"/>
+ </span>
+ <span class="value">
+ <ui:insert/>
+ </span>
+ </div>
+
+</ui:composition>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/edit.xhtml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/edit.xhtml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/edit.xhtml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,27 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:s="http://jboss.com/products/seam/taglib">
+
+ <div class="prop">
+
+ <s:label styleClass="name #{invalid?'errors':''}">
+ <ui:insert name="label"/>
+ <s:span styleClass="required" rendered="#{required}">*</s:span>
+ </s:label>
+
+ <span class="value #{invalid?'errors':''}">
+ <s:validateAll>
+ <ui:insert/>
+ </s:validateAll>
+ </span>
+
+ <span class="error">
+ <h:graphicImage value="/img/error.gif" rendered="#{invalid}" styleClass="errors"/>
+ <s:message styleClass="errors"/>
+ </span>
+
+ </div>
+
+</ui:composition>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/menu.xhtml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/menu.xhtml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/menu.xhtml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,18 @@
+<rich:toolBar
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ 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:rich="http://richfaces.org/rich">
+ <rich:toolBarGroup>
+ <h:outputText value="#{projectName}:"/>
+ <s:link id="menuHomeId" view="/home.xhtml" value="Home" propagation="none"/>
+ </rich:toolBarGroup>
+ <!-- @newMenuItem@ -->
+ <rich:toolBarGroup location="right">
+ <h:outputText id="menuWelcomeId" value="signed in as: #{credentials.username}" rendered="#{identity.loggedIn}"/>
+ <s:link id="menuLoginId" view="/login.xhtml" value="Login" rendered="#{not identity.loggedIn}" propagation="none"/>
+ <s:link id="menuLogoutId" view="/home.xhtml" action="#{identity.logout}" value="Logout" rendered="#{identity.loggedIn}" propagation="none"/>
+ </rich:toolBarGroup>
+</rich:toolBar>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/sort.xhtml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/sort.xhtml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/sort.xhtml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,11 @@
+<ui:composition 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:c="http://java.sun.com/jstl/core"
+ xmlns:s="http://jboss.com/products/seam/taglib">
+ <s:link styleClass="columnHeader" value="#{propertyLabel} #{entityList.orderColumn == propertyPath ? (entityList.orderDirection == 'desc' ? messages.down : messages.up) : ''}">
+ <f:param name="sort" value="#{propertyPath}"/>
+ <f:param name="dir" value="#{entityList.orderColumn == propertyPath and entityList.orderDirection == 'asc' ? 'desc' : 'asc'}"/>
+ </s:link>
+</ui:composition>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/template.xhtml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/template.xhtml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/layout/template.xhtml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<f:view 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:a="http://richfaces.org/a4j"
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ xmlns:p="http://primefaces.prime.com.tr/ui"
+ contentType="text/html">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>jbpm_on_rails_bam</title>
+ <link rel="shortcut icon" href="#{request.contextPath}/favicon.ico"/>
+ <a:loadStyle src="resource:///stylesheet/theme.xcss"/>
+ <a:loadStyle src="/stylesheet/theme.css"/>
+ <p:resources />
+ <ui:insert name="head"/>
+ </head>
+ <body>
+ <ui:include src="menu.xhtml">
+ <ui:param name="projectName" value="jbpm_on_rails_bam"/>
+ </ui:include>
+ <div class="body">
+ <h:messages id="messages" globalOnly="true" styleClass="message"
+ errorClass="errormsg" infoClass="infomsg" warnClass="warnmsg"
+ rendered="#{showGlobalMessages != 'false'}"/>
+ <ui:insert name="body"/>
+ </div>
+ <div class="footer">
+ <p>Powered by <a href="http://seamframework.org">Seam</a> #{org.jboss.seam.version} and <a href="http://www.jboss.org/jbossrichfaces">RichFaces</a>. Generated by seam-gen.</p>
+ </div>
+ </body>
+</html>
+</f:view>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/login.page.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/login.page.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/login.page.xml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd">
+
+ <navigation from-action="#{identity.login}">
+ <rule if="#{identity.loggedIn}">
+ <redirect view-id="/home.xhtml"/>
+ </rule>
+ </navigation>
+
+</page>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/login.xhtml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/login.xhtml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/login.xhtml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,47 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ 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:rich="http://richfaces.org/rich"
+ template="layout/template.xhtml">
+
+<ui:define name="body">
+
+ <h:form id="loginForm">
+
+ <rich:panel>
+ <f:facet name="header">Login</f:facet>
+
+ <p>Please login here</p>
+
+ <div class="dialog">
+ <h:panelGrid columns="2" rowClasses="prop" columnClasses="name,value">
+ <h:outputLabel for="username">Username</h:outputLabel>
+ <h:inputText id="username"
+ value="#{credentials.username}"/>
+ <h:outputLabel for="password">Password</h:outputLabel>
+ <h:inputSecret id="password"
+ value="#{credentials.password}"/>
+ <h:outputLabel for="rememberMe">Remember me</h:outputLabel>
+ <h:selectBooleanCheckbox id="rememberMe"
+ value="#{rememberMe.enabled}"/>
+ </h:panelGrid>
+ </div>
+
+ <p>
+ <i>Note - </i> You may login with the username 'admin' and a blank password.
+ </p>
+
+ </rich:panel>
+
+ <div class="actionButtons">
+ <h:commandButton id="submit" value="Login" action="#{identity.login}"/>
+ </div>
+
+ </h:form>
+
+ </ui:define>
+</ui:composition>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/stylesheet/theme.css
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/stylesheet/theme.css (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/stylesheet/theme.css 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,218 @@
+html {
+ overflow-y: scroll;
+}
+
+body {
+ font-size: 12px;
+ margin: 0px;
+}
+
+a img {
+ border: none;
+}
+
+h1 {
+ font-size: 1.6em;
+ margin-top: 0;
+}
+
+input[type=submit], input[type=button] {
+ font-size: 11px;
+ margin: 5px 5px 5px 0;
+ cursor: pointer;
+}
+
+input[type=text], input[type=password], textarea {
+ font-size: 12px;
+ padding-left: 1px;
+}
+
+select {
+ font-size: 13px;
+}
+
+.tableControl, .actionButtons {
+ width: 100%;
+}
+
+.tableControl a {
+ padding-left: 10px;
+}
+
+.tableControl {
+ text-align: right;
+}
+
+.footer {
+ text-align: center;
+ font-size: 11px;
+ margin-bottom: 10px;
+}
+
+.rich-table {
+ width: 100%;
+}
+
+.body {
+ padding: 30px;
+}
+.message {
+ padding: 5px;
+ list-style: none;
+ border: 0;
+ background: none;
+ padding: 0;
+ color: #000000;
+ margin: 5px 0 8px 0;
+ font-size: 12px;
+}
+
+.message li {
+ background: no-repeat left center;
+ padding-top: 1px;
+ padding-left: 20px;
+ margin-left: 3px;
+}
+
+.message li.infomsg {
+ background-image: url(../img/msginfo.png);
+}
+
+.message li.errormsg {
+ background-image: url(../img/msgerror.png);
+}
+
+.message li.warnmsg {
+ background-image: url(../img/msgwarn.png);
+}
+
+.name {
+ vertical-align: top;
+ font-weight: bold;
+ width: 115px;
+ float: left;
+ padding: 5px;
+ margin-top: 3px;
+ clear: left;
+}
+
+.value {
+ float: left;
+ padding: 5px;
+}
+
+.error {
+ float: left;
+ padding: 5px;
+}
+
+.errors {
+ color: #FF0000;
+ vertical-align: middle;
+}
+
+img.errors {
+ padding-right: 5px;
+}
+
+.errors input, .errors textarea, .errors select {
+ border: 1px solid red !important;
+}
+
+.required {
+ color: #FF0000;
+ padding-left: 2px;
+}
+
+.rich-stglpanel-body {
+ overflow: auto;
+}
+
+/* the specificity here is necessary to override the defaults */
+/*
+.rich-panel .rich-panel-header,
+.rich-stglpanel .rich-stglpanel-header {
+ padding: 2px 3px;
+}*/
+
+.rich-panel input[type=submit], .rich-panel input[type=button],
+.rich-tabpanel input[type=submit], .rich-tabpanel input[type=button] {
+ margin-bottom: 0;
+}
+
+.tableControl input[type=submit], .tableControl input[type=button], .tableControl select {
+ margin: 5px 0 5px 5px;
+}
+
+/* I don't know why this is necessary, but the select is off by a pixel on the top and is padding too much on the left */
+.tableControl select {
+ margin-left: 2px;
+ position: relative;
+ top: 1px;
+}
+
+.actionButtons {
+ padding-left: 1px;
+}
+
+.actionButtons select {
+ margin: 5px 5px 5px 0;
+ vertical-align: bottom;
+}
+
+.rich-toolbar-item a {
+ text-decoration: none;
+}
+
+.rich-toolbar-item a:hover, .rich-ddmenu-label-select {
+ text-decoration: underline;
+}
+
+.rich-toolbar-item .rich-menu-item a:hover {
+ text-decoration: none;
+}
+
+.rich-datalist {
+ list-style: square;
+ margin: 6px 0 1px 0;
+ padding-left: 18px;
+}
+
+.rich-list-item {
+ padding-bottom: 4px;
+}
+
+div.info {
+ font-size: 1.2em;
+}
+
+ul.bullets {
+ list-style: square;
+}
+
+ul.bullets li {
+ padding-bottom: 2px;
+}
+
+td.action {
+ text-align: center;
+ width: 8em;
+ white-space: nowrap;
+}
+
+td.action a {
+ padding-left: 1px;
+ padding-right: 1px;
+}
+
+table.radio {
+ border: 0;
+}
+
+table.radio td {
+ padding: 0 2px;
+}
+
+table.radio input[type=radio] {
+ vertical-align: bottom;
+}
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/stylesheet/theme.xcss
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/stylesheet/theme.xcss (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/stylesheet/theme.xcss 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:template xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http:/jsf.exadel.com/template"
+ xmlns:u="http:/jsf.exadel.com/template/util">
+ <u:selector name="body">
+ <u:style name="font-family" skin="generalFamilyFont"/>
+ <u:style name="color" skin="generalTextColor"/>
+ </u:selector>
+ <u:selector name="h1">
+ <u:style name="font-family" skin="generalFamilyFont"/>
+ <u:style name="color" skin="tabDisabledTextColor"/>
+ </u:selector>
+ <u:selector name="a:active, a:link, a:visited">
+ <u:style name="color" skin="generalLinkColor"/>
+ </u:selector>
+ <u:selector name="a:hover">
+ <u:style name="color" skin="hoverLinkColor"/>
+ </u:selector>
+ <u:selector name="input[type=text], input[type=password], textarea, select">
+ <u:style name="background-color" skin="controlBackgroundColor"/>
+ <u:style name="color" skin="controlTextColor"/>
+ <u:style name="background-position" value="left top"/>
+ <u:style name="background-repeat" value="repeat-x"/>
+ <u:style name="background-image">
+ <f:resource f:key="org.richfaces.renderkit.html.images.SliderFieldGradient"/>
+ </u:style>
+ <u:style name="border" value="1px solid"/>
+ <u:style name="border-color" skin="tableBorderColor" />
+ </u:selector>
+ <u:selector name="select">
+ <u:style name="background-color" value="transparent"/>
+ <u:style name="background-image">
+ <f:resource f:key="org.richfaces.renderkit.html.images.SliderFieldGradient"/>
+ </u:style>
+ </u:selector>
+ <u:selector name="option">
+ <u:style name="background-color" skin="generalBackgroundColor"/>
+ </u:selector>
+ <u:selector name="select[multiple]">
+ <u:style name="background-color" skin="controlBackgroundColor"/>
+ </u:selector>
+ <u:selector name="select[multiple] option">
+ <u:style name="background-color" value="transparent"/>
+ </u:selector>
+ <u:selector name="input[type=submit], input[type=button]">
+ <u:style name="padding" value="1px 4px"/>
+ <u:style name="background-image">
+ <f:resource f:key="org.richfaces.renderkit.html.GradientA"/>
+ </u:style>
+ <u:style name="border" value="1px solid"/>
+ <u:style name="border-color" skin="headerBackgroundColor"/>
+ <u:style name="color" skin="headerTextColor"/>
+ <u:style name="font-weight" value="bold"/>
+ </u:selector>
+ <u:selector name="input[type=submit][disabled], input[type=button][disabled]">
+ <u:style name="opacity" value="0.33"/>
+ </u:selector>
+ <!-- hack for IE to just get rid of border since it doubles the border if you use one -->
+ <u:selector name="* html input[type=submit], * html input[type=button], *+html input[type=submit], *+html input[type=button]">
+ <u:style name="border" value="0"/>
+ <u:style name="font-size" value="11px"/>
+ </u:selector>
+ <u:selector name=".rich-table-subheadercell">
+ <u:style name="background-image">
+ <f:resource f:key="org.richfaces.renderkit.images.TabGradientB"/>
+ </u:style>
+ </u:selector>
+ <u:selector name=".rich-toolbar a:link, .rich-toolbar a:visited, .rich-toolbar a:active, .rich-toolbar a:hover">
+ <u:style name="color" skin="headerTextColor"/>
+ </u:selector>
+ <u:selector name=".rich-toolbar a:hover">
+ <u:style name="color" skin="generalTextColor"/>
+ </u:selector>
+ <u:selector name=".rich-toolbar .rich-menu-item, .rich-toolbar .rich-menu-item a, .rich-toolbar .rich-menu-item a:hover, .rich-toolbar .rich-menu-item a:visited">
+ <u:style name="color" skin="generalTextColor" />
+ </u:selector>
+ <u:selector name=".rich-table-subheadercell a:hover">
+ <u:style name="color" skin="calendarHolidaysTextColor"/>
+ </u:selector>
+ <!-- Define static styles in the CDATA block below (you can also move this block to the top) -->
+ <f:verbatim><![CDATA[
+]]></f:verbatim>
+</f:template>
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/stylesheet/useradmin.css
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/stylesheet/useradmin.css (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/stylesheet/useradmin.css 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,112 @@
+input.newuser {
+ background: url(../img/btnnewuser.png) top left no-repeat;
+ height: 39px;
+ width: 113px;
+ margin: 4px 4px 4px 4px;
+ border: 0px;
+ cursor: pointer;
+}
+
+input.newrole {
+ background: url(../img/btnnewrole.png) top left no-repeat;
+ height: 39px;
+ width: 113px;
+ margin: 4px 4px 4px 4px;
+ border: 0px;
+ cursor: pointer;
+}
+
+input.newpermission {
+ background: url(../img/btnnewpermission.png) top left no-repeat;
+ height: 39px;
+ width: 113px;
+ margin: 4px 4px 4px 4px;
+ border: 0px;
+ cursor: pointer;
+}
+
+input.manageusers {
+ display: block;
+ background: url(../img/btnmanageusers.png) top left no-repeat;
+ height: 88px;
+ width: 300px;
+ padding-left: 10px;
+ font-size: 19px;
+ font-weight: bold;
+ color: #333333;
+ border: 0px;
+ cursor: pointer;
+ margin-top: 20px;
+ margin-left: 20px;
+}
+
+input.manageroles {
+ display: block;
+ background: url(../img/btnmanageroles.png) top left no-repeat;
+ height: 88px;
+ width: 300px;
+ padding-left: 10px;
+ font-size: 19px;
+ font-weight: bold;
+ color: #333333;
+ border: 0px;
+ cursor: pointer;
+ margin-top: 20px;
+ margin-left: 20px;
+}
+
+.roles {
+ width: 120px;
+ border: 1px solid #7F9DB9;
+ background-color: #E7EDF7;
+}
+
+div.selectMany label {
+ float: none;
+}
+
+div.selectMany input[type="checkbox"] {
+ vertical-align: middle;
+}
+
+div.status-true {
+ background: url(../img/true.png) top left no-repeat;
+ width: 14px;
+ height: 15px;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+div.status-false {
+ background: url(../img/false.png) top left no-repeat;
+ width: 14px;
+ height: 15px;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+table.useradmin, div.useradmin {
+ width: 500px;
+}
+
+/*
+table.useradmin tr.odd {
+ background-color: #FFFFFF;
+}
+
+table.useradmin tr.even {
+ background-color: #E9F5FF;
+}
+*/
+
+td.enabled {
+ text-align: center;
+}
+
+fieldset.roles .roles {
+ border: none;
+}
+
+table.iceSelMnyCb td {
+ text-align: left;
+}
Added: projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/test.xhtml
===================================================================
--- projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/test.xhtml (rev 0)
+++ projects/demos/trainticket-demo/jbpm_on_rails_bam/trunk/view/test.xhtml 2009-08-26 16:08:05 UTC (rev 5550)
@@ -0,0 +1,18 @@
+<!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:s="http://jboss.com/products/seam/taglib"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:p="http://primefaces.prime.com.tr/ui">
+ <head>
+ <title>Register New User</title>
+ <p:resources/>
+ </head>
+ <body>
+ <f:view>
+ <p:pieChart value="#{graphProducer.sales}" var="sale" categoryField="#{sale.brand}"
+ dataField="#{sale.amount}" />
+ </f:view>
+ </body>
+</html>
\ No newline at end of file
16 years, 8 months
JBoss JBPM SVN: r5546 - in projects/demos/trainticket-demo/jbpm-on-rails/trunk: bi-events and 91 other directories.
by do-not-reply@jboss.org
Author: jbarrez
Date: 2009-08-26 11:25:25 -0400 (Wed, 26 Aug 2009)
New Revision: 5546
Added:
projects/demos/trainticket-demo/jbpm-on-rails/trunk/.classpath
projects/demos/trainticket-demo/jbpm-on-rails/trunk/.project
projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/pom.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/jbpm/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/jbpm/trainticketdemo/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/jbpm/trainticketdemo/event/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/jbpm/trainticketdemo/event/QuoteSentEvent.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/jbpm/trainticketdemo/event/TicketRequestReceivedEvent.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/jbpm/trainticketdemo/event/TicketSoldEvent.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/.classpath
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/.project
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/.settings/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/.settings/org.eclipse.jdt.core.prefs
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/pom.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/jbpm/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/jbpm/trainticketdemo/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/jbpm/trainticketdemo/domain/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/jbpm/trainticketdemo/domain/Quote.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/jbpm/trainticketdemo/domain/TicketRequest.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/jbpm/trainticketdemo/domain/User.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/resources/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/resources/org/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/resources/org/jbpm/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/resources/org/jbpm/trainticketdemo/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/resources/org/jbpm/trainticketdemo/domain/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/resources/org/jbpm/trainticketdemo/domain/User.hbm.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/target/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/target/classes/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/target/classes/org/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/target/classes/org/jbpm/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/target/classes/org/jbpm/trainticketdemo/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/target/classes/org/jbpm/trainticketdemo/domain/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/target/classes/org/jbpm/trainticketdemo/domain/User.hbm.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ear/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ear/.project
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ear/.settings/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ear/.settings/org.eclipse.jdt.core.prefs
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ear/pom.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/.classpath
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/.project
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/.settings/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/.settings/org.eclipse.jdt.core.prefs
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/pom.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/esper/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/esper/EpServiceProviderFactory.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/esper/EventQueueProcessor.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/subscriber/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/subscriber/MoneyTrackerSubscriber.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/subscriber/ResponseTimingSubscriber.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/util/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/util/DataSourceUtil.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/business/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/business/TicketServiceImpl.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/business/external/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/business/external/QuoteServiceImpl.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/DbSchemaUtil.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ProcessEngineManagerImpl.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ProcessEngineUtil.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ServerConfigManagement.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ServerConfiguration.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/resources/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/resources/jbpm.hsqldb.create.sql
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/resources/jbpm.hsqldb.drop.sql
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/resources/logging.properties
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/test/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/test/java/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/target/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/pom.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/jbpm/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/jbpm/trainticketdemo/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/jbpm/trainticketdemo/integration/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/jbpm/trainticketdemo/integration/ProcessEngineFactory.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/jbpm/trainticketdemo/integration/ProcessEngineObjectFactory.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/jbpm/trainticketdemo/integration/ProcessEngineReference.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/pom.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/.classpath
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/.project
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/.settings/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/.settings/org.eclipse.jdt.core.prefs
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/pom.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/CalculateQuoteAction.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/ChargeCustomerAction.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/SendQuoteToCustomerAction.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/SendRejectionMsgAction.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/business/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/business/ProcessEngineManager.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/business/TicketService.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/business/external/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/business/external/QuoteService.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/constants/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/constants/JmsConstants.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/constants/SmsConstants.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/decision/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/decision/CheckCustomerDecision.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/eventlistener/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/eventlistener/SendEventToQueue.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/util/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/util/EjbUtil.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/util/JmsUtil.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/util/SmsUtil.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/variable/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/variable/ProcessVariable.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jbpm.cfg.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jbpm.hibernate.cfg.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jbpm.mail.properties
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jndi.properties
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/log4j.properties
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/logging.properties
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/org/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/org/jbpm/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/org/jbpm/trainticketdemo/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/org/jbpm/trainticketdemo/process.jpdl.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/org/jbpm/trainticketdemo/process.png
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/org/jbpm/trainticketdemo/trainticket_startform.ftl
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jbpm.cfg.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jbpm.hibernate.cfg.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jbpm.mail.properties
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jndi.properties
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/log4j.properties
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/logging.properties
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/org/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/org/jbpm/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/org/jbpm/trainticketdemo/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/org/jbpm/trainticketdemo/process.jpdl.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/org/jbpm/trainticketdemo/process.png
projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/org/jbpm/trainticketdemo/trainticket_startform.ftl
projects/demos/trainticket-demo/jbpm-on-rails/trunk/src/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/src/main/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/src/main/resources/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/.classpath
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/.project
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/.settings/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/.settings/org.eclipse.jdt.core.prefs
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/pom.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/java/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/java/org/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/java/org/jbpm/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/java/org/jbpm/trainticketdemo/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/java/org/jbpm/trainticketdemo/ReceiveSmsServlet.java
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/resources/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/webapp/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/webapp/WEB-INF/
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/webapp/WEB-INF/web.xml
projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/target/
Modified:
projects/demos/trainticket-demo/jbpm-on-rails/trunk/
Log:
Initial import business logic app
Property changes on: projects/demos/trainticket-demo/jbpm-on-rails/trunk
___________________________________________________________________
Name: svn:ignore
+ .settings
target
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/.classpath
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/.classpath (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/.classpath 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="ejb/target/classes" path="ejb/src/main/java"/>
+ <classpathentry kind="src" output="war/target/classes" path="war/src/main/java"/>
+ <classpathentry excluding="**" kind="src" output="war/target/classes" path="war/src/main/resources"/>
+ <classpathentry kind="src" path="process-logic/src/main/java"/>
+ <classpathentry kind="src" path="process-logic/src/main/resources"/>
+ <classpathentry kind="src" path="ejb/src/main/resources"/>
+ <classpathentry kind="src" path="domain/src/main/java"/>
+ <classpathentry kind="src" path="jboss-integration/src/main/java"/>
+ <classpathentry kind="src" path="domain/src/main/resources"/>
+ <classpathentry kind="src" path="bi-events/src/main/java"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/.project
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/.project (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/.project 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>jbpm-on-rails</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ </natures>
+</projectDescription>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/pom.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/pom.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/pom.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,13 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jbpm-on-rails-bi-events</artifactId>
+ <packaging>jar</packaging>
+ <name>jbpm-on-rails-bi-events</name>
+
+ <parent>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails</artifactId>
+ <version>1.0</version>
+ </parent>
+</project>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/jbpm/trainticketdemo/event/QuoteSentEvent.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/jbpm/trainticketdemo/event/QuoteSentEvent.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/jbpm/trainticketdemo/event/QuoteSentEvent.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.event;
+
+import java.io.Serializable;
+
+/**
+ * At the moment, this is a copy of the {@link TicketRequestReceivedEvent}.
+ * We can't use 'extend' since otherwise the event will be recognized as
+ * a 'ticketrequest event' instead of a 'quote sent event'.
+ *
+ * @author Joram Barrez
+ */
+public class QuoteSentEvent implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private String processInstanceId;
+
+ private Long timestamp;
+
+ public QuoteSentEvent() {
+ this.timestamp = System.nanoTime();
+ }
+
+ public String getProcessInstanceId() {
+ return processInstanceId;
+ }
+
+ public void setProcessInstanceId(String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ }
+
+ public Long getTimestamp() {
+ return timestamp;
+ }
+
+ public void setTimestamp(Long timestamp) {
+ this.timestamp = timestamp;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/jbpm/trainticketdemo/event/TicketRequestReceivedEvent.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/jbpm/trainticketdemo/event/TicketRequestReceivedEvent.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/jbpm/trainticketdemo/event/TicketRequestReceivedEvent.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,57 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.event;
+
+import java.io.Serializable;
+
+/**
+ * @author Joram Barrez
+ */
+public class TicketRequestReceivedEvent implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private String processInstanceId;
+
+ private Long timestamp;
+
+ public TicketRequestReceivedEvent() {
+ this.timestamp = System.nanoTime();
+ }
+
+ public String getProcessInstanceId() {
+ return processInstanceId;
+ }
+
+ public void setProcessInstanceId(String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ }
+
+ public Long getTimestamp() {
+ return timestamp;
+ }
+
+ public void setTimestamp(Long timestamp) {
+ this.timestamp = timestamp;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/jbpm/trainticketdemo/event/TicketSoldEvent.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/jbpm/trainticketdemo/event/TicketSoldEvent.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/bi-events/src/main/java/org/jbpm/trainticketdemo/event/TicketSoldEvent.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.event;
+
+import java.io.Serializable;
+
+/**
+ * @author Joram Barrez
+ */
+public class TicketSoldEvent implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private String from;
+
+ private String to;
+
+ private Double amount;
+
+ public TicketSoldEvent() {
+
+ }
+
+ public String getFrom() {
+ return from;
+ }
+
+ public void setFrom(String from) {
+ this.from = from;
+ }
+
+ public String getTo() {
+ return to;
+ }
+
+ public void setTo(String to) {
+ this.to = to;
+ }
+
+ public Double getAmount() {
+ return amount;
+ }
+
+ public void setAmount(Double amount) {
+ this.amount = amount;
+ }
+
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/.classpath
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/.classpath (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/.classpath 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,6 @@
+<classpath>
+ <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
+ <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+ <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+</classpath>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/.project
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/.project (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/.project 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,13 @@
+<projectDescription>
+ <name>jbpm-on-rails-domain</name>
+ <comment/>
+ <projects/>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/.settings/org.eclipse.jdt.core.prefs 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,5 @@
+#Fri Aug 14 10:38:10 CEST 2009
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/pom.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/pom.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/pom.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,13 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jbpm-on-rails-domain</artifactId>
+ <packaging>jar</packaging>
+ <name>jbpm-on-rails-domain</name>
+
+ <parent>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails</artifactId>
+ <version>1.0</version>
+ </parent>
+</project>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/jbpm/trainticketdemo/domain/Quote.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/jbpm/trainticketdemo/domain/Quote.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/jbpm/trainticketdemo/domain/Quote.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.domain;
+
+import java.io.Serializable;
+
+
+/**
+ * Domain model representing a quote for a given train transport.
+ *
+ * @author Joram Barrez
+ */
+public class Quote implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private TicketRequest ticketRequest;
+
+ private Double price;
+
+ public Quote() {
+
+ }
+
+
+ public Quote(TicketRequest ticketRequest) {
+ this.ticketRequest = ticketRequest;
+ }
+
+ public TicketRequest getTicketRequest() {
+ return ticketRequest;
+ }
+
+ public void setTicketRequest(TicketRequest ticketRequest) {
+ this.ticketRequest = ticketRequest;
+ }
+
+ public Double getPrice() {
+ return price;
+ }
+
+ public void setPrice(Double price) {
+ this.price = price;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/jbpm/trainticketdemo/domain/TicketRequest.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/jbpm/trainticketdemo/domain/TicketRequest.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/jbpm/trainticketdemo/domain/TicketRequest.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,85 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.domain;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author Joram Barrez
+ */
+public class TicketRequest implements Serializable{
+
+ private static final long serialVersionUID = 1L;
+
+ private String from;
+
+ private String to;
+
+ private String cellPhoneNr;
+
+ private Date date;
+
+ public TicketRequest() {
+
+ }
+
+ public TicketRequest(String from, String to, String cellPhoneNr, Date date) {
+ this.from = from;
+ this.to = to;
+ this.cellPhoneNr = cellPhoneNr;
+ this.date = date;
+ }
+
+ public String getFrom() {
+ return from;
+ }
+
+ public void setFrom(String from) {
+ this.from = from;
+ }
+
+ public String getTo() {
+ return to;
+ }
+
+ public void setTo(String to) {
+ this.to = to;
+ }
+
+ public String getCellPhoneNr() {
+ return cellPhoneNr;
+ }
+
+ public void setCellPhoneNr(String cellPhoneNr) {
+ this.cellPhoneNr = cellPhoneNr;
+ }
+
+ public Date getDate() {
+ return date;
+ }
+
+ public void setDate(Date date) {
+ this.date = date;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/jbpm/trainticketdemo/domain/User.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/jbpm/trainticketdemo/domain/User.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/java/org/jbpm/trainticketdemo/domain/User.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.domain;
+
+/**
+ * @author Joram Barrez
+ */
+public class User {
+
+ private long id;
+
+ private String name;
+
+ private String cellphoneNr;
+
+ // In real application this should 'int pennies' !
+ private double currentCredit;
+
+ public User() {
+
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getCellphoneNr() {
+ return cellphoneNr;
+ }
+
+ public void setCellphoneNr(String cellphoneNr) {
+ this.cellphoneNr = cellphoneNr;
+ }
+
+ public double getCurrentCredit() {
+ return currentCredit;
+ }
+
+ public void setCurrentCredit(double currentCredit) {
+ this.currentCredit = currentCredit;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/resources/org/jbpm/trainticketdemo/domain/User.hbm.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/resources/org/jbpm/trainticketdemo/domain/User.hbm.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/src/main/resources/org/jbpm/trainticketdemo/domain/User.hbm.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+
+ <class name="org.jbpm.trainticketdemo.domain.User" table="USERS">
+
+ <id name="id" column="ID">
+ <generator class="native" />
+ </id>
+
+ <property name="name" column="NAME" />
+ <property name="cellphoneNr" column="CELL_PHONE" unique="true"/>
+ <property name="currentCredit" column="CREDIT" />
+
+ </class>
+
+</hibernate-mapping>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/target/classes/org/jbpm/trainticketdemo/domain/User.hbm.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/target/classes/org/jbpm/trainticketdemo/domain/User.hbm.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/domain/target/classes/org/jbpm/trainticketdemo/domain/User.hbm.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+
+ <class name="org.jbpm.trainticketdemo.domain.User" table="USERS">
+
+ <id name="id" column="ID">
+ <generator class="native" />
+ </id>
+
+ <property name="name" column="NAME" />
+ <property name="cellphoneNr" column="CELL_PHONE" unique="true"/>
+ <property name="currentCredit" column="CREDIT" />
+
+ </class>
+
+</hibernate-mapping>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ear/.project
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ear/.project (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ear/.project 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,10 @@
+<projectDescription>
+ <name>jbpm-on-rails-ear</name>
+ <comment/>
+ <projects>
+ <project>jbpm-on-rails-ejb</project>
+ <project>jbpm-on-rails-war</project>
+ </projects>
+ <buildSpec/>
+ <natures/>
+</projectDescription>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ear/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ear/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ear/.settings/org.eclipse.jdt.core.prefs 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,5 @@
+#Fri Aug 14 09:19:23 CEST 2009
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ear/pom.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ear/pom.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ear/pom.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jbpm-on-rails-ear</artifactId>
+ <packaging>ear</packaging>
+ <name>jbpm-on-rails-ear</name>
+
+ <parent>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails-ejb</artifactId>
+ <version>1.0</version>
+ <type>ejb</type>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails-war</artifactId>
+ <version>1.0</version>
+ <type>war</type>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-ear-plugin</artifactId>
+ <configuration>
+ <finalName>jbpm-on-rails</finalName>
+ <modules>
+ <webModule>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails-war</artifactId>
+ <contextRoot>/jbpm-on-rails</contextRoot>
+ </webModule>
+ <ejbModule>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails-ejb</artifactId>
+ </ejbModule>
+ </modules>
+ <defaultLibBundleDir>lib</defaultLibBundleDir> <!-- Default folder for shared classpath -->
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/.classpath
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/.classpath (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/.classpath 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,8 @@
+<classpath>
+ <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/>
+ <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
+ <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+ <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="var" path="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+</classpath>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/.project
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/.project (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/.project 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,13 @@
+<projectDescription>
+ <name>jbpm-on-rails-ejb</name>
+ <comment/>
+ <projects/>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/.settings/org.eclipse.jdt.core.prefs 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,5 @@
+#Fri Aug 14 09:19:23 CEST 2009
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/pom.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/pom.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/pom.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jbpm-on-rails-ejb</artifactId>
+ <packaging>jar</packaging>
+ <name>jbpm-on-rails-ejb</name>
+
+ <parent>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails-domain</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails-process-logic</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails-jboss-integration</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.ejb</groupId>
+ <artifactId>ejb-api</artifactId>
+ <version>3.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-annotations-ejb3</artifactId>
+ <version>4.2.3.GA</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.annotation</groupId>
+ <artifactId>jsr250-api</artifactId>
+ <version>1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-jpdl</artifactId>
+ <version>4.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-spi</artifactId>
+ <version>4.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>com.espertech</groupId>
+ <artifactId>esper</artifactId>
+ <version>3.1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <version>1.8.0.10</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-ejb-plugin</artifactId>
+ <configuration>
+ <ejbVersion>3.0</ejbVersion>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+
+</project>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/esper/EpServiceProviderFactory.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/esper/EpServiceProviderFactory.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/esper/EpServiceProviderFactory.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,58 @@
+package org.jbpm.trainticketdemo.bi.esper;
+
+import org.jbpm.trainticketdemo.bi.subscriber.MoneyTrackerSubscriber;
+import org.jbpm.trainticketdemo.bi.subscriber.ResponseTimingSubscriber;
+
+import com.espertech.esper.client.Configuration;
+import com.espertech.esper.client.EPAdministrator;
+import com.espertech.esper.client.EPServiceProvider;
+import com.espertech.esper.client.EPServiceProviderManager;
+import com.espertech.esper.client.EPStatement;
+
+
+public class EpServiceProviderFactory {
+
+ private static EPServiceProvider epServiceProvider;
+
+ public static EPServiceProvider getDefaultProvider() {
+
+ if (epServiceProvider == null) {
+
+ synchronized (EpServiceProviderFactory.class) {
+
+ if (epServiceProvider == null) {
+ Configuration config = new Configuration();
+ config.addEventTypeAutoName("org.jbpm.trainticketdemo.event");
+ epServiceProvider = EPServiceProviderManager.getDefaultProvider(config);
+ initStatements(epServiceProvider);
+ }
+
+ }
+ }
+
+ return epServiceProvider;
+ }
+
+ private static void initStatements(EPServiceProvider epServiceProvider) {
+ EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider();
+ EPAdministrator admin = epService.getEPAdministrator();
+
+ // Aggregation of money made the last 15 seconds
+ EPStatement moneyTracking = admin.createEPL(
+ "select count(*) as nrOfTickets, sum(amount) as total, " +
+ "avg(amount) as average, stddev(amount) as stddev " +
+ "from TicketSoldEvent.win:time(15 sec)");
+
+ moneyTracking.setSubscriber(new MoneyTrackerSubscriber());
+
+ // SLA for the time between the ticket request receival and the quote sending
+ EPStatement responseTimings = admin.createEPL(
+ "select TicketRequestReceivedEvent.timestamp as ticketRcvTime, QuoteSentEvent.timestamp as quoteSentTime, " +
+ "TicketRequestReceivedEvent.processInstanceId as processInstanceId " +
+ "from TicketRequestReceivedEvent.win:time(24 hours) inner join QuoteSentEvent.win:time(24 hours) " +
+ "on TicketRequestReceivedEvent.processInstanceId = QuoteSentEvent.processInstanceId");
+
+ responseTimings.setSubscriber(new ResponseTimingSubscriber());
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/esper/EventQueueProcessor.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/esper/EventQueueProcessor.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/esper/EventQueueProcessor.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,55 @@
+package org.jbpm.trainticketdemo.bi.esper;
+
+import javax.ejb.ActivationConfigProperty;
+import javax.ejb.MessageDriven;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageListener;
+import javax.jms.ObjectMessage;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jbpm.trainticketdemo.constants.JmsConstants;
+
+import com.espertech.esper.client.EPServiceProvider;
+
+/**
+ * Message-Driven Bean implementation class for: EventQueueProcessor
+ *
+ */
+@MessageDriven(activationConfig =
+{
+ @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
+ @ActivationConfigProperty(propertyName="destination", propertyValue=JmsConstants.EVENT_QUEUE)
+})
+public class EventQueueProcessor implements MessageListener {
+
+ private static Log LOGGER = LogFactory.getLog(EventQueueProcessor.class);
+
+ private EPServiceProvider epsProvider;
+
+ public EventQueueProcessor() {
+ this.epsProvider = EpServiceProviderFactory.getDefaultProvider();
+ }
+
+ /**
+ * When a message arrives:
+ * check if it is an event object and hand it over to the Esper engine, else discard it.
+ */
+ public void onMessage(Message message) {
+
+ try {
+ if (message instanceof ObjectMessage) {
+
+ ObjectMessage objMsg = (ObjectMessage) message;
+ Object obj = objMsg.getObject();
+ epsProvider.getEPRuntime().sendEvent(obj);
+
+ }
+ } catch (JMSException e) {
+ LOGGER.error(e);
+ }
+
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/subscriber/MoneyTrackerSubscriber.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/subscriber/MoneyTrackerSubscriber.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/subscriber/MoneyTrackerSubscriber.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,76 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.bi.subscriber;
+
+import java.sql.Connection;
+import java.sql.Date;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.sql.Timestamp;
+
+import org.jbpm.trainticketdemo.bi.util.DataSourceUtil;
+
+/**
+ * @author Joram Barrez
+ */
+public class MoneyTrackerSubscriber {
+
+ public void update(Long nrOfTickets, Double total, Double average, Double stddev) {
+ Connection connection = DataSourceUtil.getConnection();
+
+ try {
+ if (connection != null) {
+
+ if (nrOfTickets == null)
+ nrOfTickets = 1L;
+ if (total == null)
+ total = 0.0;
+ if (average == null)
+ average = 0.0;
+ if (stddev == null || nrOfTickets.equals(new Long(1))) { // Special case: sstdev of 1 sample does not exist
+ stddev = 0.0;
+ }
+
+ PreparedStatement stm = connection
+ .prepareStatement("INSERT INTO TICKET_SALES(NR_SAMPLES, TOTAL_PRICE, AVERAGE_PRICE, STDDEV_PRICE, TIME_STAMP) VALUES(?,?,?,?,?)");
+ stm.setLong(1, nrOfTickets);
+ stm.setDouble(2, total);
+ stm.setDouble(3, average);
+ stm.setDouble(4, stddev);
+ stm.setTimestamp(5, new Timestamp(new java.util.Date().getTime()));
+ stm.executeUpdate();
+ stm.close();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ if (connection != null) {
+ try {
+ connection.close();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/subscriber/ResponseTimingSubscriber.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/subscriber/ResponseTimingSubscriber.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/subscriber/ResponseTimingSubscriber.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.bi.subscriber;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jbpm.trainticketdemo.bi.util.DataSourceUtil;
+
+/**
+ * @author Joram Barrez
+ */
+public class ResponseTimingSubscriber {
+
+ private static final Log LOGGER = LogFactory.getLog(ResponseTimingSubscriber.class);
+
+ public void update(Long ticketRcvTime, Long quoteSentTime, String processInstanceId) {
+ Connection connection = DataSourceUtil.getConnection();
+
+ try {
+
+ Long interval = null;
+ if (ticketRcvTime != null && quoteSentTime != null) {
+ interval = (quoteSentTime - ticketRcvTime) / 1000000;
+ }
+
+ if (interval != null) {
+ if (connection != null) {
+ PreparedStatement stm = connection.prepareStatement(
+ "INSERT INTO TICKET_RESPONSE_TIMINGS(PROC_INST_ID, INTERVAL_TIME) VALUES(?,?)");
+ stm.setString(1, processInstanceId);
+ stm.setLong(2, interval);
+ stm.executeUpdate();
+ stm.close();
+ }
+ }
+ } catch (Exception e) {
+ LOGGER.error(e);
+ } finally {
+ if (connection != null) {
+ try {
+ connection.close();
+ } catch (SQLException e) {
+ LOGGER.error(e);
+ }
+ }
+ }
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/util/DataSourceUtil.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/util/DataSourceUtil.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/bi/util/DataSourceUtil.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.bi.util;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+import javax.naming.InitialContext;
+import javax.sql.DataSource;
+
+/**
+ * @author Joram Barrez
+ */
+public class DataSourceUtil {
+
+ private static final String DATASOURCE = "java:JbpmDS";
+
+ private static DataSource cache;
+
+ public static Connection getConnection() {
+
+ if (cache == null) {
+ synchronized (DataSourceUtil.class) {
+ if (cache == null) {
+ try {
+ InitialContext context = new InitialContext();
+ cache = (javax.sql.DataSource) context.lookup(DATASOURCE);
+ } catch (Exception e) {
+ throw new RuntimeException("Couldnt obtain " + DATASOURCE);
+ }
+ }
+ }
+ }
+
+ try {
+ return cache.getConnection();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ return null;
+ }
+
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/business/TicketServiceImpl.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/business/TicketServiceImpl.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/business/TicketServiceImpl.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,100 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.business;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.annotation.PostConstruct;
+import javax.ejb.Local;
+import javax.ejb.Remote;
+import javax.ejb.Stateless;
+
+import org.apache.log4j.Logger;
+import org.jbpm.api.ExecutionService;
+import org.jbpm.api.ProcessInstance;
+import org.jbpm.api.TaskService;
+import org.jbpm.api.task.Task;
+import org.jbpm.trainticketdemo.domain.TicketRequest;
+import org.jbpm.trainticketdemo.helper.ProcessEngineUtil;
+import org.jbpm.trainticketdemo.variable.ProcessVariable;
+
+/**
+ * @author Joram Barrez
+ */
+(a)Remote(TicketService.class)
+(a)Local(TicketService.class)
+@Stateless
+public class TicketServiceImpl implements TicketService {
+
+ private static final Logger LOG = Logger.getLogger(TicketServiceImpl.class);
+
+ private ExecutionService executionService;
+
+ private TaskService taskService;
+
+ private static final String TICKET_PROCESS = "ticketProcess";
+
+ @PostConstruct
+ private void initServices() {
+ this.executionService = ProcessEngineUtil.getProcessEngine().getExecutionService();
+ this.taskService = ProcessEngineUtil.getProcessEngine().getTaskService();
+ }
+
+ public void handleTicketRequest(TicketRequest ticketRequest) {
+
+ if (LOG.isInfoEnabled()) {
+ LOG.info("TicketService received ticket request from " + ticketRequest.getCellPhoneNr());
+ LOG.info("Starting new Ticket Process ...");
+ }
+
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put(ProcessVariable.TICKET_REQUEST, ticketRequest);
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey(TICKET_PROCESS, variables);
+
+ if (LOG.isInfoEnabled()) {
+ LOG.info("Ticket Process with process instance id " + processInstance.getId() + " started");
+ }
+ }
+
+ public void handleTicketAcceptance(String acceptanceId, String cellPhoneNr) {
+
+ if (LOG.isInfoEnabled()) {
+ LOG.info("Ticket acceptance message received from " + cellPhoneNr);
+ }
+
+ Task task = taskService.createTaskQuery()
+ .processInstanceId("ticketProcess." + acceptanceId)
+ .assignee(cellPhoneNr)
+ .uniqueResult();
+
+ if (task!= null) {
+ taskService.completeTask(task.getId());
+ if (LOG.isInfoEnabled()) {
+ LOG.info("Task " + task.getId() + " completed by " + cellPhoneNr);
+ }
+ }
+
+
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/business/external/QuoteServiceImpl.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/business/external/QuoteServiceImpl.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/business/external/QuoteServiceImpl.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.business.external;
+
+import java.text.DecimalFormat;
+import java.util.Random;
+
+import javax.ejb.Local;
+import javax.ejb.Remote;
+import javax.ejb.Stateless;
+
+import org.jbpm.trainticketdemo.domain.Quote;
+import org.jbpm.trainticketdemo.domain.TicketRequest;
+
+/**
+ * @author Joram Barrez
+ */
+(a)Remote(QuoteService.class)
+(a)Local(QuoteService.class)
+@Stateless
+public class QuoteServiceImpl implements QuoteService {
+
+ private Random random = new Random();
+
+ private DecimalFormat df = new DecimalFormat("#.##");
+
+ public Quote calculateQuote(TicketRequest ticketRequest) {
+ Quote quote = new Quote(ticketRequest);
+ quote.setPrice(new Double(df.format(random.nextInt(20) + random.nextDouble())));
+ return quote;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/DbSchemaUtil.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/DbSchemaUtil.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/DbSchemaUtil.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,105 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.helper;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import javax.naming.InitialContext;
+import javax.sql.DataSource;
+
+/**
+ * Utility class to create/drop schema.
+ *
+ * Use only for demo purposes!
+ *
+ * @author Joram Barrez
+ */
+public final class DbSchemaUtil {
+
+ public static final void createSchema() {
+ executeDdl(readFile("/jbpm.hsqldb.create.sql"));
+ }
+
+ public static final void dropSchema() {
+ executeDdl(readFile("/jbpm.hsqldb.drop.sql"));
+ }
+
+ private static final void executeDdl(String ddl) {
+ Connection conn = null;
+ Statement stm = null;
+ try {
+ InitialContext context = new InitialContext();
+ DataSource ds = (DataSource) context.lookup("java:JbpmDS");
+ conn = ds.getConnection();
+ stm = ds.getConnection().createStatement();
+ stm.execute(ddl);
+ stm.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ if (stm != null) {
+ try {
+ stm.close();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
+ if (conn != null) {
+ try {
+ conn.close();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+ private static String readFile(String fileName) {
+ BufferedReader br = null;
+ StringBuilder strb = new StringBuilder();
+ try {
+ br = new BufferedReader(new InputStreamReader(DbSchemaUtil.class.getResourceAsStream(fileName)));
+ String line = br.readLine();
+ while (line != null) {
+ strb.append(line);
+ line = br.readLine();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (br != null) {
+ try {
+ br.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ return strb.toString();
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ProcessEngineManagerImpl.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ProcessEngineManagerImpl.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ProcessEngineManagerImpl.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,95 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.helper;
+
+import javax.ejb.Local;
+import javax.naming.InitialContext;
+
+import org.apache.log4j.Logger;
+import org.jboss.annotation.ejb.Depends;
+import org.jboss.annotation.ejb.Management;
+import org.jboss.annotation.ejb.Service;
+import org.jbpm.api.NewDeployment;
+import org.jbpm.api.ProcessEngine;
+import org.jbpm.trainticketdemo.business.ProcessEngineManager;
+import org.jbpm.trainticketdemo.integration.ProcessEngineReference;
+
+/**
+ * @author Joram Barrez
+ */
+@Service
+(a)Management(ProcessEngineManager.class)
+(a)Local(ProcessEngineManager.class)
+public class ProcessEngineManagerImpl implements ProcessEngineManager {
+
+ private static final Logger LOG = Logger.getLogger(ProcessEngineManagerImpl.class);
+
+ private static final String JNDI_NAME = "java:/ProcessEngine";
+
+ private static ProcessEngine processEngine;
+
+ /**
+ * Service management lifecycle callback.
+ * Will be called when dependencies after object construction
+ * and dependency resolution.
+ */
+ public void start() throws Exception {
+ LOG.info("Binding jBPM ProcessEngine to JNDI ... ");
+ InitialContext context = new InitialContext();
+ context.bind(JNDI_NAME, new ProcessEngineReference());
+ LOG.info("jBPM ProcessEngine bound to " + JNDI_NAME);
+
+ LOG.info("ReCreating DB Schema ...");
+ try {
+ DbSchemaUtil.dropSchema();
+ } catch (Exception e) {} // Assuming that the DB was empty
+ DbSchemaUtil.createSchema();
+
+ LOG.info("Deploying all demo processes");
+ deployProcesses();
+
+ }
+
+ private void deployProcesses() {
+ // Train ticket process
+ NewDeployment deployment = ProcessEngineUtil.getProcessEngine().getRepositoryService().createDeployment();
+ deployment.addResourceFromClasspath("org/jbpm/trainticketdemo/process.jpdl.xml");
+ deployment.addResourceFromClasspath("org/jbpm/trainticketdemo/process.png");
+ deployment.addResourceFromClasspath("org/jbpm/trainticketdemo/trainticket_startform.ftl");
+ deployment.setName("Ticket train DEMO deployment");
+ deployment.deploy();
+ LOG.info("Deployed process: trainTicket");
+ }
+
+ /*
+ private void bindServerConfigToJmx() {
+ MBeanServerLocator mBeanServerLocator = new MBeanServerLocator();
+ MBeanServer mBeanServer = mBeanServerLocator.getMbeanServer();
+ try {
+ mBeanServer.registerMBean(new org.jbpm.trainticketdemo.helper.ServerConfiguration(),
+ new ObjectName("org.jbpm:service=ServerConfig"));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }*/
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ProcessEngineUtil.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ProcessEngineUtil.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ProcessEngineUtil.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.helper;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.jbpm.api.ProcessEngine;
+
+/**
+ * @author Joram Barrez
+ */
+public final class ProcessEngineUtil {
+
+ public static final ProcessEngine getProcessEngine() {
+ try {
+ InitialContext ctx = new InitialContext();
+ Object obj = ctx.lookup("java:/ProcessEngine");
+ return (ProcessEngine) obj;
+ } catch (NamingException e) {
+ throw new RuntimeException("Couldn't retrieve process engine from JNDI");
+ }
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ServerConfigManagement.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ServerConfigManagement.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ServerConfigManagement.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.helper;
+
+/**
+ * @author Joram Barrez
+ */
+public interface ServerConfigManagement {
+
+ /* ---------------------
+ * Management callbacks
+ * --------------------- */
+
+ void start() throws Exception;
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ServerConfiguration.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ServerConfiguration.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/java/org/jbpm/trainticketdemo/helper/ServerConfiguration.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,58 @@
+package org.jbpm.trainticketdemo.helper;
+
+import java.io.File;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jboss.annotation.ejb.Management;
+import org.jboss.annotation.ejb.Service;
+import org.jbpm.integration.spi.mgmt.ServerConfig;
+
+// Extremely simple ServerConfig implementation
+//@Service(objectName = "org.jbpm:service=ServerConfig")
+//(a)Management(ServerConfigManagement.class)
+public class ServerConfiguration implements ServerConfig, ServerConfigManagement {
+
+ private static final Log LOG = LogFactory.getLog(ServerConfiguration.class);
+
+ private String webServiceHost = "127.0.0.1";
+
+ private int webServicePort = 8080;
+
+ public void start() throws Exception {
+ LOG.info("------------------------ Starting ServerConfiguration");
+ }
+
+ public File getHomeDir() {
+ throw new UnsupportedOperationException();
+ }
+
+ public String getImplementationTitle() {
+ throw new UnsupportedOperationException();
+ }
+
+ public String getImplementationVersion() {
+ throw new UnsupportedOperationException();
+ }
+
+ public File getServerDataDir() {
+ throw new UnsupportedOperationException();
+ }
+
+ public File getServerTempDir() {
+ throw new UnsupportedOperationException();
+ }
+
+ public String getWebServiceHost() {
+ return webServiceHost;
+ }
+
+ public int getWebServicePort() {
+ return webServicePort;
+ }
+
+ public int getWebServiceSecurePort() {
+ throw new UnsupportedOperationException();
+ }
+
+}
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/resources/jbpm.hsqldb.create.sql
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/resources/jbpm.hsqldb.create.sql (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/resources/jbpm.hsqldb.create.sql 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,514 @@
+ create table JBPM4_DEPLOYMENT (
+ DBID_ bigint generated by default as identity (start with 1),
+ NAME_ longvarchar,
+ TIMESTAMP_ bigint,
+ STATE_ varchar(255),
+ primary key (DBID_)
+ );
+
+ create table JBPM4_DEPLOYPROP (
+ DBID_ bigint generated by default as identity (start with 1),
+ DEPLOYMENT_ bigint,
+ OBJNAME_ varchar(255),
+ KEY_ varchar(255),
+ STRINGVAL_ varchar(255),
+ LONGVAL_ bigint,
+ primary key (DBID_)
+ );
+
+ create table JBPM4_EXECUTION (
+ DBID_ bigint generated by default as identity (start with 1),
+ CLASS_ varchar(255) not null,
+ DBVERSION_ integer not null,
+ ACTIVITYNAME_ varchar(255),
+ PROCDEFID_ varchar(255),
+ HASVARS_ bit,
+ NAME_ varchar(255),
+ KEY_ varchar(255),
+ ID_ varchar(255),
+ STATE_ varchar(255),
+ SUSPHISTSTATE_ varchar(255),
+ PRIORITY_ integer,
+ HISACTINST_ bigint,
+ PARENT_ bigint,
+ INSTANCE_ bigint,
+ SUPEREXEC_ bigint,
+ SUBPROCINST_ bigint,
+ PARENT_IDX_ integer,
+ primary key (DBID_),
+ unique (ID_)
+ );
+
+ create table JBPM4_HIST_ACTINST (
+ DBID_ bigint generated by default as identity (start with 1),
+ CLASS_ varchar(255) not null,
+ DBVERSION_ integer not null,
+ HPROCI_ bigint,
+ TYPE_ varchar(255),
+ EXECUTION_ varchar(255),
+ ACTIVITY_NAME_ varchar(255),
+ START_ timestamp,
+ END_ timestamp,
+ DURATION_ bigint,
+ TRANSITION_ varchar(255),
+ NEXTIDX_ integer,
+ HTASK_ bigint,
+ primary key (DBID_)
+ );
+
+ create table JBPM4_HIST_DETAIL (
+ DBID_ bigint generated by default as identity (start with 1),
+ CLASS_ varchar(255) not null,
+ DBVERSION_ integer not null,
+ USERID_ varchar(255),
+ TIME_ timestamp,
+ HPROCI_ bigint,
+ HPROCIIDX_ integer,
+ HACTI_ bigint,
+ HACTIIDX_ integer,
+ HTASK_ bigint,
+ HTASKIDX_ integer,
+ HVAR_ bigint,
+ HVARIDX_ integer,
+ MESSAGE_ longvarchar,
+ OLD_INT_ integer,
+ NEW_INT_ integer,
+ OLD_STR_ varchar(255),
+ NEW_STR_ varchar(255),
+ OLD_TIME_ timestamp,
+ NEW_TIME_ timestamp,
+ PARENT_ bigint,
+ PARENT_IDX_ integer,
+ primary key (DBID_)
+ );
+
+ create table JBPM4_HIST_PROCINST (
+ DBID_ bigint not null,
+ DBVERSION_ integer not null,
+ ID_ varchar(255),
+ PROCDEFID_ varchar(255),
+ KEY_ varchar(255),
+ START_ timestamp,
+ END_ timestamp,
+ DURATION_ bigint,
+ STATE_ varchar(255),
+ ENDACTIVITY_ varchar(255),
+ NEXTIDX_ integer,
+ primary key (DBID_)
+ );
+
+ create table JBPM4_HIST_TASK (
+ DBID_ bigint not null,
+ DBVERSION_ integer not null,
+ EXECUTION_ varchar(255),
+ OUTCOME_ varchar(255),
+ ASSIGNEE_ varchar(255),
+ PRIORITY_ integer,
+ STATE_ varchar(255),
+ CREATE_ timestamp,
+ END_ timestamp,
+ DURATION_ bigint,
+ NEXTIDX_ integer,
+ SUPERTASK_ bigint,
+ primary key (DBID_)
+ );
+
+ create table JBPM4_HIST_VAR (
+ DBID_ bigint not null,
+ DBVERSION_ integer not null,
+ PROCINSTID_ varchar(255),
+ EXECUTIONID_ varchar(255),
+ VARNAME_ varchar(255),
+ VALUE_ varchar(255),
+ HPROCI_ bigint,
+ HTASK_ bigint,
+ primary key (DBID_)
+ );
+
+ create table JBPM4_ID_GROUP (
+ DBID_ bigint generated by default as identity (start with 1),
+ DBVERSION_ integer not null,
+ ID_ varchar(255),
+ NAME_ varchar(255),
+ TYPE_ varchar(255),
+ PARENT_ bigint,
+ primary key (DBID_)
+ );
+
+ create table JBPM4_ID_MEMBERSHIP (
+ DBID_ bigint generated by default as identity (start with 1),
+ DBVERSION_ integer not null,
+ USER_ bigint,
+ GROUP_ bigint,
+ NAME_ varchar(255),
+ primary key (DBID_)
+ );
+
+ create table JBPM4_ID_USER (
+ DBID_ bigint generated by default as identity (start with 1),
+ DBVERSION_ integer not null,
+ ID_ varchar(255),
+ PASSWORD_ varchar(255),
+ GIVENNAME_ varchar(255),
+ FAMILYNAME_ varchar(255),
+ BUSINESSEMAIL_ varchar(255),
+ primary key (DBID_)
+ );
+
+ create table JBPM4_JOB (
+ DBID_ bigint generated by default as identity (start with 1),
+ CLASS_ varchar(255) not null,
+ DBVERSION_ integer not null,
+ DUEDATE_ timestamp,
+ STATE_ varchar(255),
+ ISEXCLUSIVE_ bit,
+ LOCKOWNER_ varchar(255),
+ LOCKEXPTIME_ timestamp,
+ EXCEPTION_ longvarchar,
+ RETRIES_ integer,
+ PROCESSINSTANCE_ bigint,
+ EXECUTION_ bigint,
+ CFG_ bigint,
+ SIGNAL_ varchar(255),
+ EVENT_ varchar(255),
+ REPEAT_ varchar(255),
+ primary key (DBID_)
+ );
+
+ create table JBPM4_LOB (
+ DBID_ bigint generated by default as identity (start with 1),
+ DBVERSION_ integer not null,
+ BLOB_VALUE_ longvarbinary,
+ DEPLOYMENT_ bigint,
+ NAME_ longvarchar,
+ primary key (DBID_)
+ );
+
+ create table JBPM4_PARTICIPATION (
+ DBID_ bigint generated by default as identity (start with 1),
+ DBVERSION_ integer not null,
+ GROUPID_ varchar(255),
+ USERID_ varchar(255),
+ TYPE_ varchar(255),
+ TASK_ bigint,
+ SWIMLANE_ bigint,
+ primary key (DBID_)
+ );
+
+ create table JBPM4_SWIMLANE (
+ DBID_ bigint generated by default as identity (start with 1),
+ DBVERSION_ integer not null,
+ NAME_ varchar(255),
+ ASSIGNEE_ varchar(255),
+ EXECUTION_ bigint,
+ primary key (DBID_)
+ );
+
+ create table JBPM4_TASK (
+ DBID_ bigint generated by default as identity (start with 1),
+ CLASS_ char(1) not null,
+ DBVERSION_ integer not null,
+ NAME_ varchar(255),
+ DESCR_ longvarchar,
+ STATE_ varchar(255),
+ SUSPHISTSTATE_ varchar(255),
+ ASSIGNEE_ varchar(255),
+ FORM_ varchar(255),
+ PRIORITY_ integer,
+ CREATE_ timestamp,
+ DUEDATE_ timestamp,
+ PROGRESS_ integer,
+ SIGNALLING_ bit,
+ EXECUTION_ID_ varchar(255),
+ ACTIVITY_NAME_ varchar(255),
+ HASVARS_ bit,
+ SUPERTASK_ bigint,
+ EXECUTION_ bigint,
+ PROCINST_ bigint,
+ SWIMLANE_ bigint,
+ TASKDEFNAME_ varchar(255),
+ primary key (DBID_)
+ );
+
+ create table JBPM4_VARIABLE (
+ DBID_ bigint generated by default as identity (start with 1),
+ CLASS_ varchar(255) not null,
+ DBVERSION_ integer not null,
+ KEY_ varchar(255),
+ CONVERTER_ varchar(255),
+ HIST_ bit,
+ EXECUTION_ bigint,
+ TASK_ bigint,
+ LOB_ bigint,
+ DATE_VALUE_ timestamp,
+ DOUBLE_VALUE_ double,
+ CLASSNAME_ varchar(255),
+ LONG_VALUE_ bigint,
+ STRING_VALUE_ varchar(255),
+ TEXT_VALUE_ longvarchar,
+ EXESYS_ bigint,
+ primary key (DBID_)
+ );
+
+ create index IDX_DEPLPROP_DEPL on JBPM4_DEPLOYPROP (DEPLOYMENT_);
+
+ alter table JBPM4_DEPLOYPROP
+ add constraint FK_DEPLPROP_DEPL
+ foreign key (DEPLOYMENT_)
+ references JBPM4_DEPLOYMENT;
+
+ create index IDX_EXEC_SUBPI on JBPM4_EXECUTION (SUBPROCINST_);
+
+ create index IDX_EXEC_PARENT on JBPM4_EXECUTION (PARENT_);
+
+ create index IDX_EXEC_SUPEREXEC on JBPM4_EXECUTION (SUPEREXEC_);
+
+ create index IDX_EXEC_INSTANCE on JBPM4_EXECUTION (INSTANCE_);
+
+ alter table JBPM4_EXECUTION
+ add constraint FK_EXEC_SUBPI
+ foreign key (SUBPROCINST_)
+ references JBPM4_EXECUTION;
+
+ alter table JBPM4_EXECUTION
+ add constraint FK_EXEC_INSTANCE
+ foreign key (INSTANCE_)
+ references JBPM4_EXECUTION;
+
+ alter table JBPM4_EXECUTION
+ add constraint FK_EXEC_SUPEREXEC
+ foreign key (SUPEREXEC_)
+ references JBPM4_EXECUTION;
+
+ alter table JBPM4_EXECUTION
+ add constraint FK_EXEC_PARENT
+ foreign key (PARENT_)
+ references JBPM4_EXECUTION;
+
+ create index IDX_HTI_HTASK on JBPM4_HIST_ACTINST (HTASK_);
+
+ create index IDX_HACTI_HPROCI on JBPM4_HIST_ACTINST (HPROCI_);
+
+ alter table JBPM4_HIST_ACTINST
+ add constraint FK_HACTI_HPROCI
+ foreign key (HPROCI_)
+ references JBPM4_HIST_PROCINST;
+
+ alter table JBPM4_HIST_ACTINST
+ add constraint FK_HTI_HTASK
+ foreign key (HTASK_)
+ references JBPM4_HIST_TASK;
+
+ create index IDX_HDET_HVAR on JBPM4_HIST_DETAIL (HVAR_);
+
+ create index IDX_HDET_HACTI on JBPM4_HIST_DETAIL (HACTI_);
+
+ create index IDX_HDET_HTASK on JBPM4_HIST_DETAIL (HTASK_);
+
+ create index IDX_HDETAIL_HVAR on JBPM4_HIST_DETAIL (HVAR_);
+
+ create index IDX_HDET_HPROCI on JBPM4_HIST_DETAIL (HPROCI_);
+
+ create index IDX_HDETAIL_HTASK on JBPM4_HIST_DETAIL (HTASK_);
+
+ create index IDX_HDETAIL_HACTI on JBPM4_HIST_DETAIL (HACTI_);
+
+ create index IDX_HDETAIL_HPROCI on JBPM4_HIST_DETAIL (HPROCI_);
+
+ alter table JBPM4_HIST_DETAIL
+ add constraint FK_HDETAIL_HVAR
+ foreign key (HVAR_)
+ references JBPM4_HIST_VAR;
+
+ alter table JBPM4_HIST_DETAIL
+ add constraint FK_HDETAIL_HPROCI
+ foreign key (HPROCI_)
+ references JBPM4_HIST_PROCINST;
+
+ alter table JBPM4_HIST_DETAIL
+ add constraint FK_HDETAIL_HTASK
+ foreign key (HTASK_)
+ references JBPM4_HIST_TASK;
+
+ alter table JBPM4_HIST_DETAIL
+ add constraint FK_HDETAIL_HACTI
+ foreign key (HACTI_)
+ references JBPM4_HIST_ACTINST;
+
+ alter table JBPM4_HIST_TASK
+ add constraint FK_HSUPERT_SUB
+ foreign key (SUPERTASK_)
+ references JBPM4_HIST_TASK;
+
+ create index IDX_HVAR_HTASK on JBPM4_HIST_VAR (HTASK_);
+
+ create index IDX_HVAR_HPROCI on JBPM4_HIST_VAR (HPROCI_);
+
+ alter table JBPM4_HIST_VAR
+ add constraint FK_HVAR_HPROCI
+ foreign key (HPROCI_)
+ references JBPM4_HIST_PROCINST;
+
+ alter table JBPM4_HIST_VAR
+ add constraint FK_HVAR_HTASK
+ foreign key (HTASK_)
+ references JBPM4_HIST_TASK;
+
+ create index IDX_GROUP_PARENT on JBPM4_ID_GROUP (PARENT_);
+
+ alter table JBPM4_ID_GROUP
+ add constraint FK_GROUP_PARENT
+ foreign key (PARENT_)
+ references JBPM4_ID_GROUP;
+
+ create index IDX_MEM_GROUP on JBPM4_ID_MEMBERSHIP (GROUP_);
+
+ create index IDX_MEM_USER on JBPM4_ID_MEMBERSHIP (USER_);
+
+ alter table JBPM4_ID_MEMBERSHIP
+ add constraint FK_MEM_GROUP
+ foreign key (GROUP_)
+ references JBPM4_ID_GROUP;
+
+ alter table JBPM4_ID_MEMBERSHIP
+ add constraint FK_MEM_USER
+ foreign key (USER_)
+ references JBPM4_ID_USER;
+
+ create index IDX_JOBRETRIES on JBPM4_JOB (RETRIES_);
+
+ create index IDX_JOBDUEDATE on JBPM4_JOB (DUEDATE_);
+
+ create index IDX_JOBLOCKEXP on JBPM4_JOB (LOCKEXPTIME_);
+
+ create index IDX_JOB_CFG on JBPM4_JOB (CFG_);
+
+ create index IDX_JOB_EXE on JBPM4_JOB (EXECUTION_);
+
+ create index IDX_JOB_PRINST on JBPM4_JOB (PROCESSINSTANCE_);
+
+ alter table JBPM4_JOB
+ add constraint FK_JOB_CFG
+ foreign key (CFG_)
+ references JBPM4_LOB;
+
+ create index IDX_LOB_DEPLOYMENT on JBPM4_LOB (DEPLOYMENT_);
+
+ alter table JBPM4_LOB
+ add constraint FK_LOB_DEPLOYMENT
+ foreign key (DEPLOYMENT_)
+ references JBPM4_DEPLOYMENT;
+
+ create index IDX_PART_TASK on JBPM4_PARTICIPATION (TASK_);
+
+ alter table JBPM4_PARTICIPATION
+ add constraint FK_PART_SWIMLANE
+ foreign key (SWIMLANE_)
+ references JBPM4_SWIMLANE;
+
+ alter table JBPM4_PARTICIPATION
+ add constraint FK_PART_TASK
+ foreign key (TASK_)
+ references JBPM4_TASK;
+
+ create index IDX_SWIMLANE_EXEC on JBPM4_SWIMLANE (EXECUTION_);
+
+ alter table JBPM4_SWIMLANE
+ add constraint FK_SWIMLANE_EXEC
+ foreign key (EXECUTION_)
+ references JBPM4_EXECUTION;
+
+ create index IDX_TASK_SUPERTASK on JBPM4_TASK (SUPERTASK_);
+
+ alter table JBPM4_TASK
+ add constraint FK_TASK_SWIML
+ foreign key (SWIMLANE_)
+ references JBPM4_SWIMLANE;
+
+ alter table JBPM4_TASK
+ add constraint FK_TASK_SUPERTASK
+ foreign key (SUPERTASK_)
+ references JBPM4_TASK;
+
+ create index IDX_VAR_EXESYS on JBPM4_VARIABLE (EXESYS_);
+
+ create index IDX_VAR_TASK on JBPM4_VARIABLE (TASK_);
+
+ create index IDX_VAR_EXECUTION on JBPM4_VARIABLE (EXECUTION_);
+
+ create index IDX_VAR_LOB on JBPM4_VARIABLE (LOB_);
+
+ alter table JBPM4_VARIABLE
+ add constraint FK_VAR_EXESYS
+ foreign key (EXESYS_)
+ references JBPM4_EXECUTION;
+
+ alter table JBPM4_VARIABLE
+ add constraint FK_VAR_LOB
+ foreign key (LOB_)
+ references JBPM4_LOB;
+
+ alter table JBPM4_VARIABLE
+ add constraint FK_VAR_TASK
+ foreign key (TASK_)
+ references JBPM4_TASK;
+
+ alter table JBPM4_VARIABLE
+ add constraint FK_VAR_EXECUTION
+ foreign key (EXECUTION_)
+ references JBPM4_EXECUTION;
+
+
+INSERT INTO JBPM4_ID_GROUP VALUES (1,0,'manager','manager','security-role',NULL);
+INSERT INTO JBPM4_ID_GROUP VALUES (2,0,'administrator','administrator','security-role',NULL);
+INSERT INTO JBPM4_ID_GROUP VALUES (3,0,'user','user','security-role',NULL);
+INSERT INTO JBPM4_ID_GROUP VALUES (4,0,'sales','sales',NULL,NULL);
+
+INSERT INTO JBPM4_ID_USER VALUES (1,0,'alex','password','Alex',NULL,'alex(a)jbpm.org');
+INSERT INTO JBPM4_ID_USER VALUES (2,0,'mike','password','Mike',NULL,'mike(a)jbpm.org');
+INSERT INTO JBPM4_ID_USER VALUES (3,0,'peter','password','Peter',NULL,'peter(a)jbpm.org');
+INSERT INTO JBPM4_ID_USER VALUES (4,0,'mary','password','Mary',NULL,'mary(a)jbpm.org');
+INSERT INTO JBPM4_ID_USER VALUES (5,0,'joram','password','Joram',NULL,'jbarrez(a)redhat.com');
+
+INSERT INTO JBPM4_ID_MEMBERSHIP VALUES (1,0,1,2,NULL);
+INSERT INTO JBPM4_ID_MEMBERSHIP VALUES (2,0,2,1,NULL);
+INSERT INTO JBPM4_ID_MEMBERSHIP VALUES (3,0,3,3,NULL);
+INSERT INTO JBPM4_ID_MEMBERSHIP VALUES (4,0,3,4,NULL);
+INSERT INTO JBPM4_ID_MEMBERSHIP VALUES (5,0,4,3,NULL);
+INSERT INTO JBPM4_ID_MEMBERSHIP VALUES (6,0,4,4,NULL);
+INSERT INTO JBPM4_ID_MEMBERSHIP VALUES (7,0,5,1,NULL);
+INSERT INTO JBPM4_ID_MEMBERSHIP VALUES (8,0,5,2,NULL);
+INSERT INTO JBPM4_ID_MEMBERSHIP VALUES (9,0,5,3,NULL);
+INSERT INTO JBPM4_ID_MEMBERSHIP VALUES (10,0,5,4,NULL);
+
+
+create table USERS (
+ ID bigint generated by default as identity (start with 1),
+ NAME varchar(255),
+ PASSWORD varchar(255),
+ CELL_PHONE varchar(255),
+ CREDIT DOUBLE,
+ primary key (ID),
+ CONSTRAINT UNIQUE_CELLPHONENR UNIQUE (CELL_PHONE)
+ );
+
+INSERT INTO USERS(NAME,CELL_PHONE, PASSWORD, CREDIT) VALUES('jBPMPhone', 'EMULATOR-http://localhost:4321/cellphone_sms_listener', 'test', 100.0);
+
+create table TICKET_RESPONSE_TIMINGS (
+ ID bigint generated by default as identity (start with 1),
+ PROC_INST_ID varchar(255),
+ INTERVAL_TIME BIGINT,
+ primary key (ID),)
+ );
+
+create table TICKET_SALES (
+ ID bigint generated by default as identity (start with 1),
+ NR_SAMPLES BIGINT,
+ TOTAL_PRICE DOUBLE,
+ AVERAGE_PRICE DOUBLE,
+ STDDEV_PRICE DOUBLE,
+ TIME_STAMP timestamp,
+ primary key (ID),)
+ );
+
+
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/resources/jbpm.hsqldb.drop.sql
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/resources/jbpm.hsqldb.drop.sql (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/resources/jbpm.hsqldb.drop.sql 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,128 @@
+
+
+ alter table JBPM4_DEPLOYPROP
+ drop constraint FK_DEPLPROP_DEPL;
+
+ alter table JBPM4_EXECUTION
+ drop constraint FK_EXEC_SUBPI;
+
+ alter table JBPM4_EXECUTION
+ drop constraint FK_EXEC_INSTANCE;
+
+ alter table JBPM4_EXECUTION
+ drop constraint FK_EXEC_SUPEREXEC;
+
+ alter table JBPM4_EXECUTION
+ drop constraint FK_EXEC_PARENT;
+
+ alter table JBPM4_HIST_ACTINST
+ drop constraint FK_HACTI_HPROCI;
+
+ alter table JBPM4_HIST_ACTINST
+ drop constraint FK_HTI_HTASK;
+
+ alter table JBPM4_HIST_DETAIL
+ drop constraint FK_HDETAIL_HVAR;
+
+ alter table JBPM4_HIST_DETAIL
+ drop constraint FK_HDETAIL_HPROCI;
+
+ alter table JBPM4_HIST_DETAIL
+ drop constraint FK_HDETAIL_HTASK;
+
+ alter table JBPM4_HIST_DETAIL
+ drop constraint FK_HDETAIL_HACTI;
+
+ alter table JBPM4_HIST_TASK
+ drop constraint FK_HSUPERT_SUB;
+
+ alter table JBPM4_HIST_VAR
+ drop constraint FK_HVAR_HPROCI;
+
+ alter table JBPM4_HIST_VAR
+ drop constraint FK_HVAR_HTASK;
+
+ alter table JBPM4_ID_GROUP
+ drop constraint FK_GROUP_PARENT;
+
+ alter table JBPM4_ID_MEMBERSHIP
+ drop constraint FK_MEM_GROUP;
+
+ alter table JBPM4_ID_MEMBERSHIP
+ drop constraint FK_MEM_USER;
+
+ alter table JBPM4_JOB
+ drop constraint FK_JOB_CFG;
+
+ alter table JBPM4_LOB
+ drop constraint FK_LOB_DEPLOYMENT;
+
+ alter table JBPM4_PARTICIPATION
+ drop constraint FK_PART_SWIMLANE;
+
+ alter table JBPM4_PARTICIPATION
+ drop constraint FK_PART_TASK;
+
+ alter table JBPM4_SWIMLANE
+ drop constraint FK_SWIMLANE_EXEC;
+
+ alter table JBPM4_TASK
+ drop constraint FK_TASK_SWIML;
+
+ alter table JBPM4_TASK
+ drop constraint FK_TASK_SUPERTASK;
+
+ alter table JBPM4_VARIABLE
+ drop constraint FK_VAR_EXESYS;
+
+ alter table JBPM4_VARIABLE
+ drop constraint FK_VAR_LOB;
+
+ alter table JBPM4_VARIABLE
+ drop constraint FK_VAR_TASK;
+
+ alter table JBPM4_VARIABLE
+ drop constraint FK_VAR_EXECUTION;
+
+ drop table JBPM4_DEPLOYMENT if exists;
+
+ drop table JBPM4_DEPLOYPROP if exists;
+
+ drop table JBPM4_EXECUTION if exists;
+
+ drop table JBPM4_HIST_ACTINST if exists;
+
+ drop table JBPM4_HIST_DETAIL if exists;
+
+ drop table JBPM4_HIST_PROCINST if exists;
+
+ drop table JBPM4_HIST_TASK if exists;
+
+ drop table JBPM4_HIST_VAR if exists;
+
+ drop table JBPM4_ID_GROUP if exists;
+
+ drop table JBPM4_ID_MEMBERSHIP if exists;
+
+ drop table JBPM4_ID_USER if exists;
+
+ drop table JBPM4_JOB if exists;
+
+ drop table JBPM4_LOB if exists;
+
+ drop table JBPM4_PARTICIPATION if exists;
+
+ drop table JBPM4_SWIMLANE if exists;
+
+ drop table JBPM4_TASK if exists;
+
+ drop table JBPM4_VARIABLE if exists;
+
+
+
+
+ drop table USERS if exists;
+
+ drop table TICKET_RESPONSE_TIMINGS if exists;
+
+ drop table TICKET_SALES if exists;
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/resources/logging.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/resources/logging.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/ejb/src/main/resources/logging.properties 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,18 @@
+handlers= java.util.logging.ConsoleHandler
+redirect.commons.logging = enabled
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = org.jbpm.internal.log.LogFormatter
+
+org.jbpm.level=FINEST
+# org.jbpm.pvm.internal.tx.level=FINE
+# org.jbpm.pvm.internal.wire.level=FINE
+# org.jbpm.pvm.internal.util.level=FINE
+
+org.hibernate.level=INFO
+org.hibernate.cfg.SettingsFactory.level=SEVERE
+org.hibernate.cfg.HbmBinder.level=SEVERE
+# org.hibernate.SQL.level=FINEST
+# org.hibernate.type.level=FINEST
+# org.hibernate.tool.hbm2ddl.SchemaExport.level=FINEST
+# org.hibernate.transaction.level=FINEST
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/pom.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/pom.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/pom.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,28 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jbpm-on-rails-jboss-integration</artifactId>
+ <packaging>jar</packaging>
+ <name>jbpm-on-rails-jboss-integration</name>
+
+ <parent>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-jpdl</artifactId>
+ <version>4.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails-process-logic</artifactId>
+ <version>1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+</project>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/jbpm/trainticketdemo/integration/ProcessEngineFactory.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/jbpm/trainticketdemo/integration/ProcessEngineFactory.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/jbpm/trainticketdemo/integration/ProcessEngineFactory.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.integration;
+
+import org.apache.log4j.Logger;
+import org.jbpm.api.Configuration;
+import org.jbpm.api.ProcessEngine;
+
+/**
+ * @author Joram Barrez
+ */
+public class ProcessEngineFactory {
+
+ private static final Logger LOG = Logger.getLogger(ProcessEngineFactory.class);
+
+ private static ProcessEngine processEngine;
+
+ public static ProcessEngine createProcessEngine() {
+ if (processEngine == null) {
+ synchronized (ProcessEngineFactory.class) {
+ if (processEngine == null) {
+ LOG.info("No cached ProcessEngine found, retrieving ProcessEngine");
+ processEngine = new Configuration().buildProcessEngine();
+ }
+ }
+ } else {
+ if (LOG.isInfoEnabled()) {
+ LOG.info("Found cached process engine instance");
+ }
+ }
+ return processEngine;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/jbpm/trainticketdemo/integration/ProcessEngineObjectFactory.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/jbpm/trainticketdemo/integration/ProcessEngineObjectFactory.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/jbpm/trainticketdemo/integration/ProcessEngineObjectFactory.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,54 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.integration;
+
+import java.util.Hashtable;
+
+import javax.naming.Context;
+import javax.naming.Name;
+import javax.naming.Reference;
+import javax.naming.spi.ObjectFactory;
+
+import org.jbpm.api.ProcessEngine;
+
+/**
+ * JNDI objectfactory for the jBPM {@link ProcessEngine}
+ *
+ * @author Joram Barrez
+ * @author Heiko Braun (original)
+ */
+public class ProcessEngineObjectFactory implements ObjectFactory {
+
+ public Object getObjectInstance(Object obj, Name name, Context context,
+ Hashtable<?, ?> env) throws Exception {
+
+ if (obj instanceof Reference) {
+ Reference ref = (Reference) obj;
+ if (ref.getClassName().equals(ProcessEngine.class.getName())) {
+ return ProcessEngineFactory.createProcessEngine();
+ }
+ }
+
+ return null;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/jbpm/trainticketdemo/integration/ProcessEngineReference.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/jbpm/trainticketdemo/integration/ProcessEngineReference.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/jboss-integration/src/main/java/org/jbpm/trainticketdemo/integration/ProcessEngineReference.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,43 @@
+package org.jbpm.trainticketdemo.integration;
+import javax.naming.NamingException;
+import javax.naming.Reference;
+import javax.naming.Referenceable;
+import javax.naming.StringRefAddr;
+
+import org.jbpm.api.ProcessEngine;
+
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+/**
+ * @author Joram Barrez
+ * @author Heiko Braun (original)
+ */
+public class ProcessEngineReference implements Referenceable {
+
+ public Reference getReference() throws NamingException {
+ return new Reference(ProcessEngine.class.getName(),
+ new StringRefAddr("processEngine", "default"),
+ ProcessEngineObjectFactory.class.getName(), null);
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/pom.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/pom.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/pom.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+ <name>jbpm-on-rails</name>
+
+ <modules>
+ <module>domain</module>
+ <module>process-logic</module>
+ <module>ejb</module>
+ <module>war</module>
+ <module>ear</module>
+ <module>jboss-integration</module>
+ <module>bi-events</module>
+ </modules>
+
+ <repositories>
+ <repository>
+ <id>jboss</id>
+ <url>http://repository.jboss.com/maven2/</url>
+ </repository>
+ </repositories>
+
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.5</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet.jsp</groupId>
+ <artifactId>jsp-api</artifactId>
+ <version>2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jstl</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.14</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>maven.java.net</id>
+ <name>Java.net Maven2 Repository</name>
+ <url>http://download.java.net/maven/2</url>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+</project>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/.classpath
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/.classpath (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/.classpath 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,6 @@
+<classpath>
+ <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
+ <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+ <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+</classpath>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/.project
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/.project (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/.project 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,13 @@
+<projectDescription>
+ <name>jbpm-on-rails-process-logic</name>
+ <comment/>
+ <projects/>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/.settings/org.eclipse.jdt.core.prefs 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,5 @@
+#Fri Aug 14 09:19:23 CEST 2009
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/pom.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/pom.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/pom.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,36 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jbpm-on-rails-process-logic</artifactId>
+ <packaging>jar</packaging>
+ <name>jbpm-on-rails-process-logic</name>
+
+ <parent>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-jpdl</artifactId>
+ <version>4.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails-domain</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails-bi-events</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-httpclient</groupId>
+ <artifactId>commons-httpclient</artifactId>
+ <version>3.1</version>
+ </dependency>
+ </dependencies>
+</project>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/CalculateQuoteAction.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/CalculateQuoteAction.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/CalculateQuoteAction.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,75 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.action;
+
+import java.util.Date;
+
+import org.jbpm.api.activity.ActivityBehaviour;
+import org.jbpm.api.activity.ActivityExecution;
+import org.jbpm.trainticketdemo.business.external.QuoteService;
+import org.jbpm.trainticketdemo.domain.Quote;
+import org.jbpm.trainticketdemo.domain.TicketRequest;
+import org.jbpm.trainticketdemo.util.EjbUtil;
+import org.jbpm.trainticketdemo.variable.ProcessVariable;
+
+/**
+ * @author Joram Barrez
+ */
+public class CalculateQuoteAction implements ActivityBehaviour {
+
+ private static final long serialVersionUID = 1L;
+
+ private QuoteService quoteService;
+
+ public CalculateQuoteAction() {
+ this.quoteService = EjbUtil.getQuoteServiceLocal();
+ }
+
+ public void execute(ActivityExecution activityExecution) throws Exception {
+ TicketRequest ticketRequest = getTicketRequest(activityExecution);
+ Quote quote = quoteService.calculateQuote(ticketRequest);
+ activityExecution.setVariable(ProcessVariable.QUOTE, quote);
+ }
+
+ /**
+ * When using the jBPM console, there is currently now way to set a Java
+ * object as a process variable. This methods checks if there is a
+ * {@link TicketRequest} stored as process variable, if so it returns this
+ * object. If not, a new {@link TicketRequest} is created from the console
+ * task form input and stored as a process variable.
+ */
+ private TicketRequest getTicketRequest(ActivityExecution execution) {
+ TicketRequest ticketRequest = (TicketRequest) execution.getVariable(ProcessVariable.TICKET_REQUEST);
+
+ if (ticketRequest == null) {
+ ticketRequest = new TicketRequest();
+ ticketRequest.setFrom((String) execution.getVariable(ProcessVariable.FROM));
+ ticketRequest.setTo((String) execution.getVariable(ProcessVariable.TO));
+ ticketRequest.setCellPhoneNr((String) execution.getVariable(ProcessVariable.CELLPHONE_NUMBER));
+ ticketRequest.setDate(new Date());
+ execution.setVariable(ProcessVariable.TICKET_REQUEST, ticketRequest);
+ }
+
+ return ticketRequest;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/ChargeCustomerAction.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/ChargeCustomerAction.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/ChargeCustomerAction.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.action;
+
+import org.hibernate.Criteria;
+import org.hibernate.Session;
+import org.hibernate.criterion.Restrictions;
+import org.jbpm.api.activity.ActivityBehaviour;
+import org.jbpm.api.activity.ActivityExecution;
+import org.jbpm.api.cmd.Environment;
+import org.jbpm.pvm.internal.env.EnvironmentImpl;
+import org.jbpm.trainticketdemo.domain.Quote;
+import org.jbpm.trainticketdemo.domain.User;
+import org.jbpm.trainticketdemo.util.SmsUtil;
+import org.jbpm.trainticketdemo.variable.ProcessVariable;
+
+/**
+ * @author Joram Barrez
+ */
+public class ChargeCustomerAction implements ActivityBehaviour {
+
+ private static final long serialVersionUID = 1L;
+
+ public void execute(ActivityExecution execution) throws Exception {
+
+ Quote quote = (Quote) execution.getVariable(ProcessVariable.QUOTE);
+ User user = getUser(quote);
+
+ // Deduct price of ticket
+ user.setCurrentCredit(user.getCurrentCredit() - quote.getPrice());
+ saveUser(user);
+
+ // Send thank you sms
+ SmsUtil.sendSms(quote, quote.getPrice() + " EUR has been deducted from your account."
+ + "Current balance : " + user.getCurrentCredit() + " EUR."
+ + "Thank you for travelling with jbpm-on-rails!");
+ }
+
+ private User getUser(Quote quote) {
+ Environment env = EnvironmentImpl.getCurrent();
+ Session session = env.get(Session.class);
+
+ Criteria criteria = session.createCriteria(User.class);
+ criteria.add(Restrictions.eq("cellphoneNr", quote.getTicketRequest().getCellPhoneNr()));
+ return (User) criteria.uniqueResult();
+ }
+
+ private void saveUser(User user) {
+ Environment env = EnvironmentImpl.getCurrent();
+ Session session = env.get(Session.class);
+ session.saveOrUpdate(user);
+ }
+
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/SendQuoteToCustomerAction.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/SendQuoteToCustomerAction.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/SendQuoteToCustomerAction.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.action;
+
+import org.jbpm.api.activity.ActivityBehaviour;
+import org.jbpm.api.activity.ActivityExecution;
+import org.jbpm.trainticketdemo.domain.Quote;
+import org.jbpm.trainticketdemo.util.SmsUtil;
+import org.jbpm.trainticketdemo.variable.ProcessVariable;
+
+/**
+ * @author Joram Barrez
+ */
+public class SendQuoteToCustomerAction implements ActivityBehaviour {
+
+ private static final long serialVersionUID = 1L;
+
+ public void execute(ActivityExecution activityExecution) throws Exception {
+ Quote quote = (Quote) activityExecution.getVariable(ProcessVariable.QUOTE);
+ String fullProcInstId = activityExecution.getProcessInstance().getId();
+ String realId = fullProcInstId.substring(fullProcInstId.indexOf(".") + 1);
+
+ // Send the sms
+ SmsUtil.sendSms(quote,
+ "Ticket from " + quote.getTicketRequest().getFrom()
+ + " - " + quote.getTicketRequest().getTo() + " "
+ + "price is " + quote.getPrice() + " euro. "
+ + "To accept reply with 'ACCEPT " + realId +"'. "
+ + "Regards, jBPM-on-Rails.");
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/SendRejectionMsgAction.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/SendRejectionMsgAction.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/action/SendRejectionMsgAction.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.action;
+
+import org.jbpm.api.activity.ActivityBehaviour;
+import org.jbpm.api.activity.ActivityExecution;
+import org.jbpm.trainticketdemo.domain.Quote;
+import org.jbpm.trainticketdemo.util.SmsUtil;
+import org.jbpm.trainticketdemo.variable.ProcessVariable;
+
+/**
+ * @author Joram Barrez
+ */
+public class SendRejectionMsgAction implements ActivityBehaviour {
+
+ private static final long serialVersionUID = 1L;
+
+ public void execute(ActivityExecution execution) throws Exception {
+ Quote quote = (Quote) execution.getVariable(ProcessVariable.QUOTE);
+ SmsUtil.sendSms(quote, "Ticket request rejected: you do not have enough credits to pay this ticket.");
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/business/ProcessEngineManager.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/business/ProcessEngineManager.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/business/ProcessEngineManager.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.business;
+
+import org.jbpm.api.ProcessEngine;
+
+
+/**
+ * @author Joram Barrez
+ */
+public interface ProcessEngineManager {
+
+ /* ---------------------
+ * Management callbacks
+ * --------------------- */
+
+ void start() throws Exception;
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/business/TicketService.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/business/TicketService.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/business/TicketService.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.business;
+
+import org.jbpm.trainticketdemo.domain.TicketRequest;
+
+/**
+ * @author Joram Barrez
+ */
+public interface TicketService {
+
+ /**
+ * Starts the ticket process using the given ticket request.
+ */
+ void handleTicketRequest(TicketRequest ticketRequest);
+
+ /**
+ * Called when an acceptance SMS is received. This operation will continue
+ * the process which was started by the same cellPhoneNr if there currently
+ * exists an open task for that process.
+ */
+ void handleTicketAcceptance(String acceptanceId, String cellPhoneNr);
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/business/external/QuoteService.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/business/external/QuoteService.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/business/external/QuoteService.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.business.external;
+
+import org.jbpm.trainticketdemo.domain.Quote;
+import org.jbpm.trainticketdemo.domain.TicketRequest;
+
+/**
+ * Remote service for getting Quote information
+ *
+ * @author Joram Barrez
+ */
+public interface QuoteService {
+
+ Quote calculateQuote(TicketRequest ticketReques);
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/constants/JmsConstants.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/constants/JmsConstants.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/constants/JmsConstants.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.constants;
+
+/**
+ * @author Joram Barrez
+ */
+public class JmsConstants {
+
+ public static final String EVENT_QUEUE = "queue/jbpmOnRailsQueue";
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/constants/SmsConstants.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/constants/SmsConstants.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/constants/SmsConstants.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.constants;
+
+/**
+ * @author Joram Barrez
+ */
+public class SmsConstants {
+
+ public static final String SERVER_PHONE_NR = "+32123456789";
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/decision/CheckCustomerDecision.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/decision/CheckCustomerDecision.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/decision/CheckCustomerDecision.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.decision;
+
+import org.hibernate.Criteria;
+import org.hibernate.Session;
+import org.hibernate.criterion.Restrictions;
+import org.jbpm.api.cmd.Environment;
+import org.jbpm.api.jpdl.DecisionHandler;
+import org.jbpm.api.model.OpenExecution;
+import org.jbpm.pvm.internal.env.EnvironmentImpl;
+import org.jbpm.trainticketdemo.domain.Quote;
+import org.jbpm.trainticketdemo.domain.User;
+import org.jbpm.trainticketdemo.variable.ProcessVariable;
+
+/**
+ * @author Joram Barrez
+ */
+public class CheckCustomerDecision implements DecisionHandler {
+
+ private static final long serialVersionUID = 1L;
+
+ private static final String OK_DECISION = "credit OK";
+
+ private static final String NOT_OK_DECISION = "credit NOK";
+
+ public String decide(OpenExecution execution) {
+
+ Quote quote = (Quote) execution.getVariable(ProcessVariable.QUOTE);
+ User user = getUser(quote);
+
+ if (user != null && hasEnoughCredit(user, quote)) {
+ return OK_DECISION;
+ }
+
+ return NOT_OK_DECISION;
+
+ }
+
+ private User getUser(Quote quote) {
+ Environment env = EnvironmentImpl.getCurrent();
+ Session session = env.get(Session.class);
+
+ Criteria criteria = session.createCriteria(User.class);
+ criteria.add(Restrictions.eq("cellphoneNr", quote.getTicketRequest().getCellPhoneNr()));
+ return (User) criteria.uniqueResult();
+ }
+
+ private boolean hasEnoughCredit(User user, Quote quote) {
+ return user.getCurrentCredit() > quote.getPrice();
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/eventlistener/SendEventToQueue.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/eventlistener/SendEventToQueue.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/eventlistener/SendEventToQueue.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,86 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.eventlistener;
+
+import java.beans.IntrospectionException;
+import java.beans.PropertyDescriptor;
+import java.io.Serializable;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Map;
+
+import org.jbpm.api.listener.EventListener;
+import org.jbpm.api.listener.EventListenerExecution;
+import org.jbpm.pvm.internal.script.ScriptManager;
+import org.jbpm.trainticketdemo.util.JmsUtil;
+
+/**
+ * @author Joram Barrez
+ */
+public class SendEventToQueue implements EventListener {
+
+ private static final long serialVersionUID = 1L;
+
+ private String eventClass;
+
+ private Map<String, String> eventContent;
+
+ // Workaround for JBPM-2494
+ private boolean addProcessInstanceId = false;
+
+ public void notify(EventListenerExecution execution) throws Exception {
+
+ // Some Reflection mumbo-jumbo - Not for the faint-of-hearted!
+
+ Object event = this.getClass().getClassLoader().loadClass(eventClass).newInstance();
+
+ if (eventContent != null) {
+ for (String key : eventContent.keySet()) {
+
+ // Could be an expression, so we need to pass it to the script managaer
+ ScriptManager scriptManager = ScriptManager.getDefaultScriptManager();
+ Object obj = scriptManager.evaluateExpression(eventContent.get(key), null);
+ setValue(event, key, obj);
+
+ }
+ }
+
+ if (addProcessInstanceId) {
+ setValue(event, "processInstanceId", execution.getProcessInstance().getId());
+ }
+
+ JmsUtil.SendToEventQueue((Serializable)event);
+
+ }
+
+ private void setValue(Object event, String key, Object value)
+ throws IntrospectionException, IllegalAccessException,
+ InvocationTargetException {
+
+ PropertyDescriptor propertyDescriptor = new PropertyDescriptor(key, event.getClass());
+ Method setter = propertyDescriptor.getWriteMethod();
+ Class paramClass = setter.getParameterTypes() [0];
+ propertyDescriptor.getWriteMethod().invoke(event, paramClass.cast(value));
+
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/util/EjbUtil.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/util/EjbUtil.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/util/EjbUtil.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,102 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.util;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.jbpm.trainticketdemo.business.ProcessEngineManager;
+import org.jbpm.trainticketdemo.business.TicketService;
+import org.jbpm.trainticketdemo.business.external.QuoteService;
+
+/**
+ * Utility class for accessing EJB services.
+ *
+ * @author Joram Barrez
+ */
+public final class EjbUtil {
+
+ private static final Map<String, Object> EJB_CACHE = new HashMap<String, Object>();
+
+ private static final String QUOTE_SERVICE_KEY = "quoteService";
+
+ private static final String QUOTE_SERVICE_JNDI_NAME = "jbpm-on-rails/QuoteServiceImpl/remote";
+
+ private static final String QUOTE_SERVICE_KEY_LOCAL = "quoteServiceLocal";
+
+ private static final String QUOTE_SERVICE_JNDI_NAME_LOCAL = "jbpm-on-rails/QuoteServiceImpl/local";
+
+ private static final String TICKET_SERVICE_KEY = "ticketService";
+
+ private static final String TICKET_SERVICE_JNDI_NAME = "jbpm-on-rails/TicketServiceImpl/remote";
+
+ private static final String TICKET_SERVICE_KEY_LOCAL = "ticketServiceLocal";
+
+ private static final String TICKET_SERVICE_JNDI_NAME_LOCAL = "jbpm-on-rails/TicketServiceImpl/local";
+
+ private static final String PROCESS_ENGINE_MGR_LOCAL_KEY = "processEngineManagerLocal";
+
+ private static final String PROCESS_ENGINE_MGR_JNDI_NAME_LOCAL = "jbpm-on-rails/ProcessEngineManagerImpl/local";
+
+ public static QuoteService getQuoteService() {
+ return retrieveEJB(QUOTE_SERVICE_KEY, QUOTE_SERVICE_JNDI_NAME);
+ }
+
+ public static QuoteService getQuoteServiceLocal() {
+ return retrieveEJB(QUOTE_SERVICE_KEY_LOCAL, QUOTE_SERVICE_JNDI_NAME_LOCAL);
+ }
+
+ public static TicketService getTicketService() {
+ return retrieveEJB(TICKET_SERVICE_KEY, TICKET_SERVICE_JNDI_NAME);
+ }
+
+ public static TicketService getTicketServiceLocal() {
+ return retrieveEJB(TICKET_SERVICE_KEY_LOCAL, TICKET_SERVICE_JNDI_NAME_LOCAL);
+ }
+
+ public static ProcessEngineManager getProcessEngineManager() {
+ return retrieveEJB(PROCESS_ENGINE_MGR_LOCAL_KEY, PROCESS_ENGINE_MGR_JNDI_NAME_LOCAL);
+ }
+
+ @SuppressWarnings("unchecked")
+ private static <T> T retrieveEJB(String key, String name) {
+ T ejbBean = null;
+
+ if (EJB_CACHE.containsKey(key)) {
+ ejbBean = (T) EJB_CACHE.get(key);
+ } else {
+ try {
+ InitialContext context = new InitialContext();
+ ejbBean = (T) context.lookup(name);
+ EJB_CACHE.put(key, ejbBean);
+ } catch (NamingException e) {
+ e.printStackTrace();
+ }
+ }
+
+ return ejbBean;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/util/JmsUtil.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/util/JmsUtil.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/util/JmsUtil.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,56 @@
+package org.jbpm.trainticketdemo.util;
+
+import java.io.Serializable;
+
+import javax.jms.JMSException;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSender;
+import javax.jms.QueueSession;
+import javax.jms.Session;
+import javax.naming.InitialContext;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jbpm.trainticketdemo.constants.JmsConstants;
+
+public final class JmsUtil {
+
+ private static final Log LOGGER = LogFactory.getLog(JmsUtil.class);
+
+ private JmsUtil() { }
+
+ @SuppressWarnings("unchecked")
+ public static void SendToEventQueue(Serializable event) {
+ QueueConnection queueConnection = null;
+
+ try {
+ InitialContext context = new InitialContext();
+
+ QueueConnectionFactory connectionFactory = (QueueConnectionFactory) context.lookup("ConnectionFactory");
+ queueConnection = connectionFactory.createQueueConnection();
+ QueueSession queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
+
+ ObjectMessage objMsg = queueSession.createObjectMessage();
+ objMsg.setObject(event);
+
+ Queue queue = (Queue) context.lookup(JmsConstants.EVENT_QUEUE);
+ QueueSender queueSender = queueSession.createSender(queue);
+ queueSender.send(objMsg);
+
+ } catch (Exception e) {
+ LOGGER.error("Error while sending message to refund queue", e);
+ } finally {
+ if (queueConnection != null) {
+ try {
+ queueConnection.close();
+ } catch (JMSException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/util/SmsUtil.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/util/SmsUtil.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/util/SmsUtil.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,73 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.util;
+
+import java.io.IOException;
+import java.util.Date;
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpException;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.jbpm.trainticketdemo.constants.SmsConstants;
+import org.jbpm.trainticketdemo.domain.Quote;
+
+/**
+ * @author Joram Barrez
+ */
+public final class SmsUtil {
+
+private static final String PARAM_SEND_DATE = "sendDate";
+
+ private static final String PARAM_MSG_CONTENT = "msgContent";
+
+ private static final String PARAM_SENDER_NR = "senderNr";
+
+ public static void sendSms(String url, String textMessage) throws HttpException, IOException {
+ PostMethod post = new PostMethod(url);
+ post.addParameter(PARAM_SEND_DATE, new Date().toString());
+ post.addParameter(PARAM_MSG_CONTENT, textMessage);
+ post.addParameter(PARAM_SENDER_NR, SmsConstants.SERVER_PHONE_NR);
+ HttpClient httpClient = new HttpClient();
+ httpClient.executeMethod(post);
+ }
+
+ public static void sendSms(Quote quote, String textMessage) throws HttpException, IOException {
+ if (isQuoteForEmulator(quote)) {
+ sendSms(getEmulatorUrl(quote.getTicketRequest().getCellPhoneNr()), textMessage);
+ } else {
+ // TODO
+ }
+ }
+
+ public static boolean isMessageFromEmulator(String phoneNr) {
+ return phoneNr.startsWith("EMULATOR-");
+ }
+
+ public static boolean isQuoteForEmulator(Quote quote ) {
+ return isMessageFromEmulator(quote.getTicketRequest().getCellPhoneNr());
+ }
+
+ public static String getEmulatorUrl(String phoneNr) {
+ return phoneNr.substring(9); // EMULATOR- = 9 chars
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/variable/ProcessVariable.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/variable/ProcessVariable.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/java/org/jbpm/trainticketdemo/variable/ProcessVariable.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.variable;
+
+/**
+ * @author Joram Barrez
+ */
+public class ProcessVariable {
+
+ public static final String TICKET_REQUEST = "ticketRequest";
+
+ public static final String QUOTE = "quote";
+
+ public static final String FROM = "from";
+
+ public static final String TO = "to";
+
+ public static final String CELLPHONE_NUMBER = "cellPhoneNr";
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jbpm.cfg.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jbpm.cfg.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jbpm.cfg.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<jbpm-configuration>
+
+ <import resource="jbpm.default.cfg.xml" />
+
+ <import resource="jbpm.tx.jta.cfg.xml" />
+
+ <!--
+ <import resource="jbpm.tx.hibernate.cfg.xml" />
+ -->
+
+ <import resource="jbpm.jpdl.cfg.xml" />
+ <import resource="jbpm.identity.cfg.xml" />
+ <import resource="jbpm.businesscalendar.cfg.xml" />
+
+ <process-engine-context>
+ <job-executor threads="3" idle="30000" idle-max="60000" lock-millis="3600000" />
+ </process-engine-context>
+
+
+</jbpm-configuration>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jbpm.hibernate.cfg.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jbpm.hibernate.cfg.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jbpm.hibernate.cfg.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!DOCTYPE hibernate-configuration PUBLIC
+ "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+ <session-factory>
+
+ <!-- HSQLDB -->
+ <property name="hibernate.connection.datasource">java:JbpmDS</property>
+ <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
+
+ <!--
+ POSTGRES <property
+ name="hibernate.connection.driver_class">org.postgresql.Driver</property>
+ <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/jbpm</property>
+ <property name="hibernate.connection.username">postgres</property>
+ <property name="hibernate.connection.password">postgres</property>
+ <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
+ <property name="hibernate.hbm2ddl.auto">create-drop</property>
+ -->
+
+ <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
+ <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
+ <property name="jta.UserTransaction">UserTransaction</property>
+
+ <mapping resource="jbpm.repository.hbm.xml" />
+ <mapping resource="jbpm.execution.hbm.xml" />
+ <mapping resource="jbpm.history.hbm.xml" />
+ <mapping resource="jbpm.task.hbm.xml" />
+ <mapping resource="jbpm.identity.hbm.xml" />
+
+ <mapping resource="org/jbpm/trainticketdemo/domain/User.hbm.xml" />
+
+ </session-factory>
+</hibernate-configuration>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jbpm.mail.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jbpm.mail.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jbpm.mail.properties 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,3 @@
+mail.smtp.host localhost
+mail.smtp.port 2525
+mail.from noreply(a)jbpm.org
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jndi.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jndi.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/jndi.properties 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,9 @@
+#jboss JNDI properties
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jnp.interfaces
+
+### The TimedSocketFactory connection timeout in milliseconds (0 == blocking)
+jnp.timeout=10000
+### The TimedSocketFactory read timeout in milliseconds (0 == blocking)
+jnp.sotimeout=20000
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/log4j.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/log4j.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/log4j.properties 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,11 @@
+log4j.rootLogger=INFO,CONSOLE
+
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+
+log4j.appender.CONSOLE.immediateFlush=true
+
+log4j.appender.CONSOLE.target=System.out
+
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+
+log4j.appender.CONSOLE.layout.ConversionPattern=%d{dd-MMM-yyyy HH:mm:ss} %c %t%n[%p]: %m%n
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/logging.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/logging.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/logging.properties 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,18 @@
+handlers= java.util.logging.ConsoleHandler
+redirect.commons.logging = enabled
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = org.jbpm.internal.log.LogFormatter
+
+org.jbpm.level=FINE
+# org.jbpm.pvm.internal.tx.level=FINE
+# org.jbpm.pvm.internal.wire.level=FINE
+# org.jbpm.pvm.internal.util.level=FINE
+
+org.hibernate.level=INFO
+org.hibernate.cfg.SettingsFactory.level=SEVERE
+org.hibernate.cfg.HbmBinder.level=SEVERE
+# org.hibernate.SQL.level=FINEST
+# org.hibernate.type.level=FINEST
+# org.hibernate.tool.hbm2ddl.SchemaExport.level=FINEST
+# org.hibernate.transaction.level=FINEST
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/org/jbpm/trainticketdemo/process.jpdl.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/org/jbpm/trainticketdemo/process.jpdl.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/org/jbpm/trainticketdemo/process.jpdl.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process name="ticketProcess" xmlns="http://jbpm.org/4.0/jpdl">
+
+ <on event="start">
+ <event-listener class="org.jbpm.trainticketdemo.eventlistener.SendEventToQueue">
+ <field name="eventClass">
+ <string value="org.jbpm.trainticketdemo.event.TicketRequestReceivedEvent"/>
+ </field>
+ <field name="addProcessInstanceId">
+ <true/>
+ </field>
+ </event-listener>
+ </on>
+
+ <start form="org/jbpm/trainticketdemo/trainticket_startform.ftl" g="21,244,48,48" name="start">
+ <transition to="Calculate quote"/>
+ </start>
+
+ <custom class="org.jbpm.trainticketdemo.action.CalculateQuoteAction" g="109,242,132,52" name="Calculate quote">
+ <transition to="Check customer credit"/>
+ </custom>
+
+ <custom class="org.jbpm.trainticketdemo.action.SendQuoteToCustomerAction" g="393,155,209,52" name="Send price quote to customer">
+ <on event="end">
+ <event-listener class="org.jbpm.trainticketdemo.eventlistener.SendEventToQueue">
+ <field name="eventClass">
+ <string value="org.jbpm.trainticketdemo.event.QuoteSentEvent"/>
+ </field>
+ <field name="addProcessInstanceId">
+ <true/>
+ </field>
+ </event-listener>
+ </on>
+ <transition to="Accept quote"/>
+ </custom>
+
+ <custom class="org.jbpm.trainticketdemo.action.SendRejectionMsgAction" g="391,337,160,52" name="Send reject message">
+ <transition to="cancel"/>
+ </custom>
+
+ <decision g="284,246,48,48" name="Check customer credit">
+ <handler class="org.jbpm.trainticketdemo.decision.CheckCustomerDecision" />
+ <transition g="-67,-16" name="credit OK" to="Send price quote to customer"/>
+ <transition g="-68,5" name="credit NOK" to="Send reject message"/>
+ </decision>
+
+ <task assignee="#{ticketRequest.cellPhoneNr}" g="651,156,107,52" name="Accept quote">
+ <transition to="charge customer"/>
+ <transition g="11,-13" name="timeout" to="cancel">
+ <timer duedate="1 day"/>
+ </transition>
+ </task>
+
+ <custom class="org.jbpm.trainticketdemo.action.ChargeCustomerAction" g="806,157,135,52" name="charge customer">
+ <on event="end">
+ <event-listener class="org.jbpm.trainticketdemo.eventlistener.SendEventToQueue">
+ <field name="eventClass">
+ <string value="org.jbpm.trainticketdemo.event.TicketSoldEvent"/>
+ </field>
+ <field name="eventContent">
+ <map>
+ <entry>
+ <key><string value="from"/></key>
+ <value><string value="#{ticketRequest.from}"/></value>
+ </entry>
+ <entry>
+ <key><string value="to"/></key>
+ <value><string value="#{ticketRequest.to}"/></value>
+ </entry>
+ <entry>
+ <key><string value="amount"/></key>
+ <value><string value="#{quote.price}"/></value>
+ </entry>
+ </map>
+ </field>
+ </event-listener>
+ </on>
+ <transition to="end"/>
+ </custom>
+
+ <end-cancel g="682,337,48,48" name="cancel"/>
+
+ <end g="1001,158,48,48" name="end"/>
+
+</process>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/org/jbpm/trainticketdemo/process.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/org/jbpm/trainticketdemo/process.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/org/jbpm/trainticketdemo/trainticket_startform.ftl
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/org/jbpm/trainticketdemo/trainticket_startform.ftl (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/src/main/resources/org/jbpm/trainticketdemo/trainticket_startform.ftl 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,26 @@
+<html>
+ <body>
+
+ <form action="${form.action}" method="POST" enctype="multipart/form-data">
+
+ <h3>Send SMS:</h3>
+ <table>
+ <tr>
+ <td>From:</td>
+ <td><input type="text" name="from" /></td>
+ </tr>
+ <tr>
+ <td>To:</td>
+ <td><input type="text" name="to" /></td>
+ </tr>
+ <tr>
+ <td>Source cellphone nr:</td>
+ <td><input type="text" name="cellPhoneNr" value="EMULATOR-http://localhost:4321/cellphone_sms_listener" /></td>
+ </tr>
+ </table>
+
+ <input type="submit" name="Send"/>
+
+ </form>
+ </body>
+</html>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jbpm.cfg.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jbpm.cfg.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jbpm.cfg.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<jbpm-configuration>
+
+ <import resource="jbpm.default.cfg.xml" />
+
+ <import resource="jbpm.tx.jta.cfg.xml" />
+
+ <!--
+ <import resource="jbpm.tx.hibernate.cfg.xml" />
+ -->
+
+ <import resource="jbpm.jpdl.cfg.xml" />
+ <import resource="jbpm.identity.cfg.xml" />
+ <import resource="jbpm.businesscalendar.cfg.xml" />
+
+ <process-engine-context>
+ <job-executor threads="3" idle="30000" idle-max="60000" lock-millis="3600000" />
+ </process-engine-context>
+
+
+</jbpm-configuration>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jbpm.hibernate.cfg.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jbpm.hibernate.cfg.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jbpm.hibernate.cfg.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!DOCTYPE hibernate-configuration PUBLIC
+ "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+ <session-factory>
+
+ <!-- HSQLDB -->
+ <property name="hibernate.connection.datasource">java:JbpmDS</property>
+ <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
+
+ <!--
+ POSTGRES <property
+ name="hibernate.connection.driver_class">org.postgresql.Driver</property>
+ <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/jbpm</property>
+ <property name="hibernate.connection.username">postgres</property>
+ <property name="hibernate.connection.password">postgres</property>
+ <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
+ <property name="hibernate.hbm2ddl.auto">create-drop</property>
+ -->
+
+ <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
+ <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
+ <property name="jta.UserTransaction">UserTransaction</property>
+
+ <mapping resource="jbpm.repository.hbm.xml" />
+ <mapping resource="jbpm.execution.hbm.xml" />
+ <mapping resource="jbpm.history.hbm.xml" />
+ <mapping resource="jbpm.task.hbm.xml" />
+ <mapping resource="jbpm.identity.hbm.xml" />
+
+ <mapping resource="org/jbpm/trainticketdemo/domain/User.hbm.xml" />
+
+ </session-factory>
+</hibernate-configuration>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jbpm.mail.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jbpm.mail.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jbpm.mail.properties 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,3 @@
+mail.smtp.host localhost
+mail.smtp.port 2525
+mail.from noreply(a)jbpm.org
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jndi.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jndi.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/jndi.properties 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,9 @@
+#jboss JNDI properties
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jnp.interfaces
+
+### The TimedSocketFactory connection timeout in milliseconds (0 == blocking)
+jnp.timeout=10000
+### The TimedSocketFactory read timeout in milliseconds (0 == blocking)
+jnp.sotimeout=20000
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/log4j.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/log4j.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/log4j.properties 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,11 @@
+log4j.rootLogger=INFO,CONSOLE
+
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+
+log4j.appender.CONSOLE.immediateFlush=true
+
+log4j.appender.CONSOLE.target=System.out
+
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+
+log4j.appender.CONSOLE.layout.ConversionPattern=%d{dd-MMM-yyyy HH:mm:ss} %c %t%n[%p]: %m%n
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/logging.properties
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/logging.properties (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/logging.properties 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,18 @@
+handlers= java.util.logging.ConsoleHandler
+redirect.commons.logging = enabled
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = org.jbpm.internal.log.LogFormatter
+
+org.jbpm.level=FINE
+# org.jbpm.pvm.internal.tx.level=FINE
+# org.jbpm.pvm.internal.wire.level=FINE
+# org.jbpm.pvm.internal.util.level=FINE
+
+org.hibernate.level=INFO
+org.hibernate.cfg.SettingsFactory.level=SEVERE
+org.hibernate.cfg.HbmBinder.level=SEVERE
+# org.hibernate.SQL.level=FINEST
+# org.hibernate.type.level=FINEST
+# org.hibernate.tool.hbm2ddl.SchemaExport.level=FINEST
+# org.hibernate.transaction.level=FINEST
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/org/jbpm/trainticketdemo/process.jpdl.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/org/jbpm/trainticketdemo/process.jpdl.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/org/jbpm/trainticketdemo/process.jpdl.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process name="ticketProcess" xmlns="http://jbpm.org/4.0/jpdl">
+
+ <on event="start">
+ <event-listener class="org.jbpm.trainticketdemo.eventlistener.SendEventToQueue">
+ <field name="eventClass">
+ <string value="org.jbpm.trainticketdemo.event.TicketRequestReceivedEvent"/>
+ </field>
+ <field name="addProcessInstanceId">
+ <true/>
+ </field>
+ </event-listener>
+ </on>
+
+ <start form="org/jbpm/trainticketdemo/trainticket_startform.ftl" g="21,244,48,48" name="start">
+ <transition to="Calculate quote"/>
+ </start>
+
+ <custom class="org.jbpm.trainticketdemo.action.CalculateQuoteAction" g="109,242,132,52" name="Calculate quote">
+ <transition to="Check customer credit"/>
+ </custom>
+
+ <custom class="org.jbpm.trainticketdemo.action.SendQuoteToCustomerAction" g="393,155,209,52" name="Send price quote to customer">
+ <on event="end">
+ <event-listener class="org.jbpm.trainticketdemo.eventlistener.SendEventToQueue">
+ <field name="eventClass">
+ <string value="org.jbpm.trainticketdemo.event.QuoteSentEvent"/>
+ </field>
+ <field name="addProcessInstanceId">
+ <true/>
+ </field>
+ </event-listener>
+ </on>
+ <transition to="Accept quote"/>
+ </custom>
+
+ <custom class="org.jbpm.trainticketdemo.action.SendRejectionMsgAction" g="391,337,160,52" name="Send reject message">
+ <transition to="cancel"/>
+ </custom>
+
+ <decision g="284,246,48,48" name="Check customer credit">
+ <handler class="org.jbpm.trainticketdemo.decision.CheckCustomerDecision" />
+ <transition g="-67,-16" name="credit OK" to="Send price quote to customer"/>
+ <transition g="-68,5" name="credit NOK" to="Send reject message"/>
+ </decision>
+
+ <task assignee="#{ticketRequest.cellPhoneNr}" g="651,156,107,52" name="Accept quote">
+ <transition to="charge customer"/>
+ <transition g="11,-13" name="timeout" to="cancel">
+ <timer duedate="1 day"/>
+ </transition>
+ </task>
+
+ <custom class="org.jbpm.trainticketdemo.action.ChargeCustomerAction" g="806,157,135,52" name="charge customer">
+ <on event="end">
+ <event-listener class="org.jbpm.trainticketdemo.eventlistener.SendEventToQueue">
+ <field name="eventClass">
+ <string value="org.jbpm.trainticketdemo.event.TicketSoldEvent"/>
+ </field>
+ <field name="eventContent">
+ <map>
+ <entry>
+ <key><string value="from"/></key>
+ <value><string value="#{ticketRequest.from}"/></value>
+ </entry>
+ <entry>
+ <key><string value="to"/></key>
+ <value><string value="#{ticketRequest.to}"/></value>
+ </entry>
+ <entry>
+ <key><string value="amount"/></key>
+ <value><string value="#{quote.price}"/></value>
+ </entry>
+ </map>
+ </field>
+ </event-listener>
+ </on>
+ <transition to="end"/>
+ </custom>
+
+ <end-cancel g="682,337,48,48" name="cancel"/>
+
+ <end g="1001,158,48,48" name="end"/>
+
+</process>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/org/jbpm/trainticketdemo/process.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/org/jbpm/trainticketdemo/process.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/org/jbpm/trainticketdemo/trainticket_startform.ftl
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/org/jbpm/trainticketdemo/trainticket_startform.ftl (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/process-logic/target/classes/org/jbpm/trainticketdemo/trainticket_startform.ftl 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,26 @@
+<html>
+ <body>
+
+ <form action="${form.action}" method="POST" enctype="multipart/form-data">
+
+ <h3>Send SMS:</h3>
+ <table>
+ <tr>
+ <td>From:</td>
+ <td><input type="text" name="from" /></td>
+ </tr>
+ <tr>
+ <td>To:</td>
+ <td><input type="text" name="to" /></td>
+ </tr>
+ <tr>
+ <td>Source cellphone nr:</td>
+ <td><input type="text" name="cellPhoneNr" value="EMULATOR-http://localhost:4321/cellphone_sms_listener" /></td>
+ </tr>
+ </table>
+
+ <input type="submit" name="Send"/>
+
+ </form>
+ </body>
+</html>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/.classpath
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/.classpath (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/.classpath 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,11 @@
+<classpath>
+ <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
+ <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+ <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="var" path="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/servlet/jstl/1.2/jstl-1.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar"/>
+ <classpathentry kind="src" path="/jbpm-on-rails-ejb"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+</classpath>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/.project
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/.project (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/.project 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,15 @@
+<projectDescription>
+ <name>jbpm-on-rails-war</name>
+ <comment/>
+ <projects>
+ <project>jbpm-on-rails-ejb</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/.settings/org.eclipse.jdt.core.prefs 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,5 @@
+#Fri Aug 14 09:19:23 CEST 2009
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/pom.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/pom.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/pom.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jbpm-on-rails-war</artifactId>
+ <packaging>war</packaging>
+ <name>jbpm-on-rails-war</name>
+
+ <parent>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jbpm-on-rails-ejb</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.ejb</groupId>
+ <artifactId>ejb-api</artifactId>
+ <version>3.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet.jsp</groupId>
+ <artifactId>jsp-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jstl</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/java/org/jbpm/trainticketdemo/ReceiveSmsServlet.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/java/org/jbpm/trainticketdemo/ReceiveSmsServlet.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/java/org/jbpm/trainticketdemo/ReceiveSmsServlet.java 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,148 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo;
+
+import java.io.IOException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Map;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.log4j.Logger;
+import org.jbpm.trainticketdemo.business.TicketService;
+import org.jbpm.trainticketdemo.domain.TicketRequest;
+import org.jbpm.trainticketdemo.util.EjbUtil;
+
+/**
+ * @author Joram Barrez
+ */
+public class ReceiveSmsServlet extends HttpServlet {
+
+ private static final Logger LOG = Logger.getLogger(ReceiveSmsServlet.class);
+
+ private TicketService ticketService;
+
+ private static final String PARAM_SEND_DATE = "sendDate";
+
+ private static final String PARAM_MSG_CONTENT = "msgContent";
+
+ private static final String PARAM_SENDER_NR = "senderNr";
+
+ private static final String TICKET_REQUEST_PREFIX = "ticket";
+
+ private static final String TICKET_ACCEPTANCE_PREFIX ="accept";
+
+ @Override
+ public void init() throws ServletException {
+ super.init();
+ ticketService = EjbUtil.getTicketServiceLocal();
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+
+ // Get the SMS params
+ String sendDate = req.getParameter(PARAM_SEND_DATE);
+ String msgContent = req.getParameter(PARAM_MSG_CONTENT);
+ String senderNr = req.getParameter(PARAM_SENDER_NR);
+
+ if (LOG.isInfoEnabled()) {
+ LOG.info("Received SMS message from '" + senderNr + "'. Content of message = '" + msgContent + "'");
+ }
+
+
+ if (isTicketRequestMessage(msgContent)) {
+
+ TicketRequest ticketRequest = parseTicketrequestMessage(msgContent, sendDate, senderNr);
+ if (ticketRequest != null) {
+ ticketService.handleTicketRequest(ticketRequest);
+ } else {
+ LOG.warn("SMS message content looked like a ticket request, but it wasn't. Throwing it away.");
+ }
+
+ } else if (isTicketAcceptanceMessage(msgContent)) {
+
+ String acceptanceId = parseTicketAcceptanceMessage(msgContent);
+ if (acceptanceId != null) {
+ ticketService.handleTicketAcceptance(acceptanceId, senderNr);
+ } else {
+ LOG.warn("SMS message content looked like a ticket acceptance, but it wasn't. Throwing it away.");
+ }
+
+ } else {
+
+ LOG.warn("SMS message content invalid. Throwing it away.");
+
+ }
+ }
+
+ private boolean isTicketRequestMessage(String message) {
+ return message.toLowerCase().startsWith(TICKET_REQUEST_PREFIX);
+ }
+
+ private boolean isTicketAcceptanceMessage(String message) {
+ return message.toLowerCase().startsWith(TICKET_ACCEPTANCE_PREFIX);
+ }
+
+
+ private TicketRequest parseTicketrequestMessage(String smsMessage, String sendDate, String senderNr) {
+
+ // Only message of type 'TICKET CITY1 CITY2' are supported
+
+ String[] splitMsg = smsMessage.split(" ");
+ if (splitMsg.length == 3) {
+ if (splitMsg[0].equalsIgnoreCase("ticket")) {
+
+ TicketRequest ticketRequest = new TicketRequest();
+ ticketRequest.setFrom(splitMsg[1]);
+ ticketRequest.setTo(splitMsg[2]);
+ ticketRequest.setCellPhoneNr(senderNr);
+
+ SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy");
+ try {
+ ticketRequest.setDate(sdf.parse(sendDate));
+ } catch (ParseException e) {
+ e.printStackTrace();
+ return null;
+ }
+ return ticketRequest;
+
+ }
+ }
+ return null;
+ }
+
+ private String parseTicketAcceptanceMessage(String smsMessage) {
+ String[] splitMSg = smsMessage.split(" ");
+ if (splitMSg.length == 2) {
+ if (splitMSg[0].equalsIgnoreCase("accept")) {
+ return splitMSg[1];
+ }
+ }
+ return null;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/webapp/WEB-INF/web.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/webapp/WEB-INF/web.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-on-rails/trunk/war/src/main/webapp/WEB-INF/web.xml 2009-08-26 15:25:25 UTC (rev 5546)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app 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-app_2_5.xsd" version="2.5">
+
+ <display-name>jbpm-on-rails-web-interface</display-name>
+
+
+ <servlet>
+ <servlet-name>smsServlet</servlet-name>
+ <servlet-class>org.jbpm.trainticketdemo.ReceiveSmsServlet</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>smsServlet</servlet-name>
+ <url-pattern>/receive_sms</url-pattern>
+ </servlet-mapping>
+
+</web-app>
16 years, 8 months
JBoss JBPM SVN: r5542 - in projects/demos/trainticket-demo/jbpm-phone/trunk: src and 13 other directories.
by do-not-reply@jboss.org
Author: jbarrez
Date: 2009-08-26 11:11:39 -0400 (Wed, 26 Aug 2009)
New Revision: 5542
Added:
projects/demos/trainticket-demo/jbpm-phone/trunk/pom.xml
projects/demos/trainticket-demo/jbpm-phone/trunk/src/
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/LoadTest.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/Demo.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/InboxPanel.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/PhonePanel.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/SendSmsPanel.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/AbstractFilter.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/AePlayWave.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/ColorTintFilter.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/GraphicsUtilities.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/LightButton.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/ProgressGlassPane.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/PulsatingLogo.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/SmsReceivedGlassPane.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/SmsReceivedPopup.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/http/
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/http/HttpListener.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/message/
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/message/MessageQueue.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/model/
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/model/Inbox.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/model/SmsMessage.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/service/
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/service/SmsService.java
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/button-normal-pressed.png
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/button-normal.png
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/gotmail.wav
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/header-halo.png
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/phone.png
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/read_sms.png
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/sms_received.png
projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/unread_sms.png
projects/demos/trainticket-demo/jbpm-phone/trunk/src/test/
projects/demos/trainticket-demo/jbpm-phone/trunk/src/test/java/
projects/demos/trainticket-demo/jbpm-phone/trunk/src/test/resources/
Modified:
projects/demos/trainticket-demo/jbpm-phone/trunk/
Log:
Initial import for Client app 'jBPM-Phone'
Property changes on: projects/demos/trainticket-demo/jbpm-phone/trunk
___________________________________________________________________
Name: svn:ignore
+ .settings
.classpath
.project
target
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/pom.xml
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/pom.xml (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/pom.xml 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,56 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jbpm.trainticketdemo</groupId>
+ <artifactId>jBPM-Phone</artifactId>
+ <version>1.0</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>net.java.dev.timingframework</groupId>
+ <artifactId>timingframework</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-httpclient</groupId>
+ <artifactId>commons-httpclient</artifactId>
+ <version>3.1</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <target>1.6</target>
+ <source>1.6</source>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifest>
+ <mainClass>org.jbpm.trainticketdemo.Demo</mainClass>
+ </manifest>
+ </archive>
+ <descriptorRefs>
+ <descriptorRef>jar-with-dependencies</descriptorRef>
+ </descriptorRefs>
+ </configuration>
+ <executions>
+ <execution>
+ <id>make-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/LoadTest.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/LoadTest.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/LoadTest.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,95 @@
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.util.Date;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpException;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.jbpm.trainticketdemo.http.HttpListener;
+import org.jbpm.trainticketdemo.model.Inbox;
+
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+/**
+ * @author Joram Barrez
+ */
+public class LoadTest {
+
+private static final String POST_URL = "http://localhost:8080/jbpm-on-rails/receive_sms";
+
+ private static final String PARAM_SEND_DATE = "sendDate";
+
+ private static final String PARAM_MSG_CONTENT = "msgContent";
+
+ private static final String PARAM_SENDER_NR = "senderNr";
+
+ private static final String VALUE_SENDER_NR = "EMULATOR-http://localhost:4321/cellphone_sms_listener";
+
+ public static void main(String[] args) throws Exception {
+
+ //Need http server for sms response
+ Inbox inbox = new Inbox();
+ HttpListener listener = new HttpListener(inbox);
+ listener.start();
+
+ long start = System.currentTimeMillis();
+ int max = 50;
+
+ ExecutorService threadPool = Executors.newFixedThreadPool(5);
+ //ArrayBlockingQueue<Runnable> queue = new ArrayBlockingQueue<Runnable>(max);
+ //ThreadPoolExecutor threadPool = new ThreadPoolExecutor(10,25,10, TimeUnit.SECONDS, queue);
+ for (int i=0; i < max; i++) {
+ threadPool.execute(new Runnable() {
+ public void run() {
+ PostMethod post = new PostMethod(POST_URL);
+ post.addParameter(PARAM_SEND_DATE, new Date().toString());
+ post.addParameter(PARAM_MSG_CONTENT, "TICKET brussel antwerpen");
+ post.addParameter(PARAM_SENDER_NR, VALUE_SENDER_NR);
+ HttpClient httpClient = new HttpClient();
+ try {
+ httpClient.executeMethod(post);
+ } catch (HttpException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ }
+
+ // waits until all threads are executed
+ threadPool.shutdown();
+ threadPool.awaitTermination(5, TimeUnit.HOURS);
+
+ long end = System.currentTimeMillis();
+ System.out.println("TIME until all threads finished = " + (end-start));
+
+ //listener.stop();
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/Demo.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/Demo.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/Demo.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,65 @@
+package org.jbpm.trainticketdemo;
+import java.awt.Dimension;
+
+import javax.swing.JFrame;
+import javax.swing.SwingUtilities;
+import javax.swing.UIManager;
+
+import org.jbpm.trainticketdemo.gui.PhonePanel;
+import org.jbpm.trainticketdemo.http.HttpListener;
+import org.jbpm.trainticketdemo.model.Inbox;
+
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+/**
+ * @author Joram Barrez
+ */
+public class Demo {
+
+ public static void main(String[] args) throws Exception {
+
+ // Set up SMS inbox for cellphone
+ final Inbox inbox = new Inbox();
+
+ // Set up Http Listener
+ final HttpListener httpListener = new HttpListener(inbox);
+ httpListener.start();
+
+ // Set up GUI
+ UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
+ SwingUtilities.invokeLater(new Runnable() {
+
+ public void run() {
+ JFrame f = new JFrame("jBPM CellPhone Emulator");
+ f.setSize(new Dimension(323, 600));
+ PhonePanel phonePanel = new PhonePanel(inbox);
+ inbox.addChangeListener(phonePanel);
+ f.setContentPane(phonePanel);
+ f.setResizable(false);
+ f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ f.setVisible(true);
+ }
+ });
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/InboxPanel.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/InboxPanel.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/InboxPanel.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,193 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.gui;
+
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Font;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import javax.imageio.ImageIO;
+import javax.swing.BorderFactory;
+import javax.swing.ImageIcon;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+import javax.swing.table.AbstractTableModel;
+import javax.swing.table.TableCellRenderer;
+
+import org.jbpm.trainticketdemo.model.Inbox;
+import org.jbpm.trainticketdemo.model.SmsMessage;
+
+/**
+ * @author Joram Barrez
+ */
+public class InboxPanel extends JPanel {
+
+ private static final long serialVersionUID = 1L;
+
+ private Inbox inbox;
+
+ private JScrollPane scrollPane;
+
+ private JTable messagesTable;
+
+ public InboxPanel(Inbox inbox) {
+ this.inbox = inbox;
+ setLayout(null);
+
+ scrollPane = new JScrollPane(initMessagesTable());
+ scrollPane.setBounds(0, 0, 246, 275);
+ scrollPane.setColumnHeader(null);
+ scrollPane.setBorder(BorderFactory.createEmptyBorder());
+ scrollPane.setBackground(Color.black);
+ scrollPane.getViewport().setBackground(Color.black);
+ scrollPane.getVerticalScrollBar().setBackground(Color.black);
+ scrollPane.getVerticalScrollBar().setForeground(Color.gray);
+
+ setBackground(Color.black);
+ add(scrollPane);
+ repaint();
+ }
+
+ private JTable initMessagesTable() {
+
+ SingleColumnTableModel tableModel = new SingleColumnTableModel();
+ messagesTable = new JTable(tableModel);
+ messagesTable.setTableHeader(null);
+ messagesTable.setBackground(Color.black);
+ messagesTable.setBorder(BorderFactory.createEmptyBorder());
+ messagesTable.setRowHeight(120);
+
+ Iterator<SmsMessage> smsIterator = inbox.iterator();
+ while (smsIterator.hasNext()) {
+ tableModel.add(smsIterator.next());
+ }
+
+ messagesTable.getColumnModel().getColumn(0).setCellRenderer(new InboxCellRenderer());
+
+ return messagesTable;
+ }
+
+ private class SingleColumnTableModel extends AbstractTableModel {
+
+ private static final long serialVersionUID = 1L;
+
+ private ArrayList<SmsMessage> elements;
+
+ public SingleColumnTableModel() {
+ this.elements = new ArrayList<SmsMessage>();
+ }
+
+ public int getColumnCount() {
+ return 1;
+ }
+
+ public int getRowCount() {
+ return elements.size();
+ }
+
+ public void add(SmsMessage smsMessage) {
+ elements.add(smsMessage);
+ }
+
+ @Override
+ public void setValueAt(Object obj, int rowIndex, int columnIndex) {
+ elements.add(rowIndex, (SmsMessage) obj);
+ }
+
+ public Object getValueAt(int rowIndex, int columnIndex) {
+ return elements.get(rowIndex);
+ }
+
+ }
+
+ private class InboxCellRenderer extends JPanel implements TableCellRenderer {
+
+ private static final long serialVersionUID = 1L;
+
+ private BufferedImage readSmsImage;
+ private BufferedImage unreadSmsImage;
+
+ private Font inboxFont = new Font(Font.SANS_SERIF, Font.BOLD, 12);
+
+ public InboxCellRenderer() {
+ if (readSmsImage == null) {
+ try {
+ readSmsImage = ImageIO.read(InboxPanel.this.getClass().getResourceAsStream("/read_sms.png"));
+ unreadSmsImage = ImageIO.read(InboxPanel.this.getClass().getResourceAsStream("/unread_sms.png"));
+ } catch (IOException e) {
+ e.printStackTrace(); // Ok, no pic then :-)
+ }
+ }
+ }
+
+ public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
+ boolean hasFocus, int row, int column) {
+
+ SmsMessage message = (SmsMessage) value;
+ JPanel cell = new JPanel();
+ cell.setBackground(Color.black);
+ cell.setLayout(null);
+ cell.setBorder(BorderFactory.createLineBorder(Color.gray));
+
+ // SMS image
+ BufferedImage smsImage = message.isRead() ? readSmsImage : unreadSmsImage;
+ message.setRead(true);
+ JLabel imageLabel = new JLabel(new ImageIcon(smsImage));
+ imageLabel.setBackground(Color.black);
+ imageLabel.setBounds(10, 5, 32, 32);
+ cell.add(imageLabel);
+
+ // SMS sender
+ JLabel senderLabel = new JLabel(message.getSender());
+ senderLabel.setBackground(Color.black);
+ senderLabel.setForeground(Color.white);
+ senderLabel.setFont(inboxFont);
+ senderLabel.setBounds(45, 5, 150, 32);
+ cell.add(senderLabel);
+
+ // SMS content
+ JLabel contentLabel = new JLabel("<html>" + message.getContent() + "</html>"); // need html tag for text wrapping
+ contentLabel.setVerticalAlignment(JLabel.TOP);
+ contentLabel.setBackground(Color.gray);
+ contentLabel.setForeground(Color.white);
+ contentLabel.setFont(inboxFont);
+ contentLabel.setBounds(10, 40, 230, 70);
+ cell.add(contentLabel);
+
+ return cell;
+ }
+
+ // The following methods override the defaults for performance reasons
+ public void validate() {}
+ public void revalidate() {}
+ protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) {}
+ public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) {}
+
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/PhonePanel.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/PhonePanel.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/PhonePanel.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,154 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.gui;
+
+import java.awt.Cursor;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Rectangle;
+import java.awt.RenderingHints;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+
+import javax.imageio.ImageIO;
+import javax.swing.JPanel;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+
+import org.jbpm.trainticketdemo.gui.fancy.SmsReceivedPopup;
+import org.jbpm.trainticketdemo.model.Inbox;
+
+/**
+ * @author Joram Barrez
+ */
+public class PhonePanel extends JPanel implements MouseMotionListener, MouseListener, ChangeListener {
+
+ private static final long serialVersionUID = 1L;
+
+ private BufferedImage background;
+
+ private Inbox inbox;
+
+ private static final int INBOX_LEFT_X = 108;
+ private static final int INBOX_RIGHT_X = 155;
+ private static final int SMS_LEFT_X = 167;
+ private static final int SMS_RIGHT_X = 213;
+ private static final int SHUTDOWN_LEFT_X = 227;
+ private static final int SHUTDOWN_RIGHT_X = 271;
+ private static final int UP_Y = 429;
+ private static final int DOWN_Y = 477;
+
+ public PhonePanel(Inbox inbox) {
+ super();
+ this.inbox = inbox;
+ setLayout(null);
+ addMouseListener(this);
+ addMouseMotionListener(this);
+ try {
+ this.background = ImageIO.read(this.getClass().getResourceAsStream("/phone.png"));
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ protected void paintComponent(Graphics g) {
+ super.paintComponent(g);
+ Graphics2D g2 = (Graphics2D)g;
+ g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+ g2.drawImage(background, 0, 0, background.getWidth(), background.getHeight(), null);
+ }
+
+ private static Rectangle screenBounds = new Rectangle(40, 142, 246, 277);
+
+ public void mouseClicked(MouseEvent mouseEvent) {
+ int x = mouseEvent.getX();
+ int y = mouseEvent.getY();
+
+ if (inSmsButton(x, y)) {
+
+ removeAll();
+ SendSmsPanel sendSmsPanel = new SendSmsPanel();
+ sendSmsPanel.setBounds(screenBounds);
+ add(sendSmsPanel);
+ repaint();
+
+ } else if (inInboxButton(x, y)) {
+
+ removeAll();
+ InboxPanel inboxPanel = new InboxPanel(inbox);
+ inboxPanel.setBounds(screenBounds);
+ add(inboxPanel);
+ repaint();
+
+ } else if (inShutdownButton(x, y)) {
+
+ System.exit(0);
+
+ }
+ }
+
+ private static final Cursor NORMAL_CURSOR = new Cursor(Cursor.DEFAULT_CURSOR);
+ private static final Cursor HAND_CURSOR = new Cursor(Cursor.HAND_CURSOR);
+
+ public void mouseMoved(MouseEvent mouseEvent) {
+ int x = mouseEvent.getX();
+ int y = mouseEvent.getY();
+ if (inInboxButton(x, y) || inSmsButton(x, y) || inShutdownButton(x, y)) {
+ setCursor(HAND_CURSOR);
+ } else {
+ setCursor(NORMAL_CURSOR);
+ }
+ }
+
+ private boolean inInboxButton(int x, int y) {
+ return x >= INBOX_LEFT_X && x <= INBOX_RIGHT_X
+ && y >= UP_Y && y <= DOWN_Y;
+ }
+
+ private boolean inSmsButton(int x, int y) {
+ return x >= SMS_LEFT_X && x <= SMS_RIGHT_X
+ && y >= UP_Y && y <= DOWN_Y;
+ }
+
+ private boolean inShutdownButton(int x, int y) {
+ return x >= SHUTDOWN_LEFT_X && x <= SHUTDOWN_RIGHT_X
+ && y >= UP_Y && y <= DOWN_Y;
+ }
+
+ // Not used (but needed since we can only extend one class)
+
+ public void mouseEntered(MouseEvent arg0) {}
+ public void mouseExited(MouseEvent arg0) {}
+ public void mousePressed(MouseEvent arg0) {}
+ public void mouseReleased(MouseEvent arg0) {}
+ public void mouseDragged(MouseEvent arg0) {}
+
+ // This panel is a listener for changes in the inbox
+ public void stateChanged(ChangeEvent e) {
+ new SmsReceivedPopup(this).start();
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/SendSmsPanel.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/SendSmsPanel.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/SendSmsPanel.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,170 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.gui;
+
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Random;
+
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+import javax.swing.SwingUtilities;
+
+import org.jbpm.trainticketdemo.gui.fancy.LightButton;
+import org.jbpm.trainticketdemo.gui.fancy.ProgressGlassPane;
+import org.jbpm.trainticketdemo.service.SmsService;
+
+/**
+ * @author Joram Barrez
+ */
+public class SendSmsPanel extends JPanel {
+
+ private static final long serialVersionUID = 1L;
+
+ private JLabel phoneNrLabel;
+ private JTextField smsNrField;
+ private JLabel smsInputLabel;
+ private JTextArea smsInputArea;
+ private JButton sendSmsButton;
+
+ private static final Font LABEL_FONT = new Font(Font.MONOSPACED, Font.BOLD, 12);
+ private static final Font SMS_FONT = new Font(Font.MONOSPACED, Font.BOLD, 14);
+ private static final Font SEND_SMS_FONT = new Font(Font.MONOSPACED, Font.BOLD, 11);
+
+ public SendSmsPanel() {
+
+ setLayout(null);
+ setBackground(Color.black);
+
+ initPhoneNrLabel();
+ initSmsNrField();
+ initSmsInputLabel();
+ initSmsInputArea();
+ initSendSmsButton();
+ }
+
+ private void initSendSmsButton() {
+ sendSmsButton = new LightButton("Send SMS");
+ sendSmsButton.setFont(SEND_SMS_FONT);
+ sendSmsButton.setBounds(86, 245, 70, 30);
+ sendSmsButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent event) {
+ Thread t = new Thread() {
+ public void run() {
+ try {
+ // Do a send animation
+ ProgressGlassPane progressGlasspane = new ProgressGlassPane();
+ ((JFrame)SwingUtilities.getWindowAncestor(SendSmsPanel.this)).setGlassPane(progressGlasspane); // Kinda dirty ...
+ progressGlasspane.setVisible(true);
+ SendSmsSimulator sendSmsSimulator = new SendSmsSimulator(progressGlasspane);
+ sendSmsSimulator.start();
+
+ // Send the sms through http
+ SmsService.sendSms(smsInputArea.getText());
+
+ smsNrField.setText("");
+ smsInputArea.setText("");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ };
+ };
+ t.start();
+ }
+ });
+ add(sendSmsButton);
+ }
+
+ private void initSmsInputArea() {
+ smsInputArea = new JTextArea();
+ smsInputArea.setBackground(Color.black);
+ smsInputArea.setFont(SMS_FONT);
+ smsInputArea.setForeground(Color.white);
+ smsInputArea.setBorder(BorderFactory.createLineBorder(Color.white));
+ smsInputArea.setBounds(14, 60, 200, 180);
+ smsInputArea.setLineWrap(true);
+ add(smsInputArea);
+ }
+
+ private void initSmsInputLabel() {
+ smsInputLabel = new JLabel();
+ smsInputLabel.setText("Text message");
+ smsInputLabel.setFont(LABEL_FONT);
+ smsInputLabel.setForeground(new Color(203, 186, 186));
+ smsInputLabel.setBounds(12, 42, 100, 20);
+ add(smsInputLabel);
+ }
+
+ private void initSmsNrField() {
+ smsNrField = new JTextField();
+ smsNrField.setBackground(Color.black);
+ smsNrField.setFont(SMS_FONT);
+ smsNrField.setForeground(Color.white);
+ smsNrField.setBorder(BorderFactory.createLineBorder(Color.white));
+ smsNrField.setBounds(14, 20, 150, 20);
+ add(smsNrField);
+ }
+
+ private void initPhoneNrLabel() {
+ phoneNrLabel = new JLabel();
+ phoneNrLabel.setText("Phone nr");
+ phoneNrLabel.setFont(LABEL_FONT);
+ phoneNrLabel.setForeground(new Color(203, 186, 186));
+ phoneNrLabel.setBounds(14, 0, 100, 20);
+ add(phoneNrLabel);
+ }
+
+ private class SendSmsSimulator extends Thread {
+
+ private ProgressGlassPane glasspane;
+
+ private Random random;
+
+ public SendSmsSimulator(ProgressGlassPane glassPane) {
+ this.glasspane = glassPane;
+ this.random = new Random();
+ }
+
+ @Override
+ public void run() {
+ int i = 0;
+ do {
+ try {
+ Thread.sleep(50);
+ } catch (InterruptedException ex) {}
+ i += random.nextInt(10);
+ glasspane.setProgress(i);
+ } while (i < 100);
+ glasspane.setVisible(false);
+ glasspane.setProgress(0);
+ }
+
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/AbstractFilter.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/AbstractFilter.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/AbstractFilter.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,90 @@
+package org.jbpm.trainticketdemo.gui.fancy;
+/*
+ * $Id: AbstractFilter.java,v 1.1 2007/01/28 01:45:27 gfx Exp $
+ *
+ * Dual-licensed under LGPL (Sun and Romain Guy) and BSD (Romain Guy).
+ *
+ * Copyright 2005 Sun Microsystems, Inc., 4150 Network Circle,
+ * Santa Clara, California 95054, U.S.A. All rights reserved.
+ *
+ * Copyright (c) 2006 Romain Guy <romain.guy(a)mac.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import java.awt.Rectangle;
+import java.awt.RenderingHints;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+import java.awt.image.BufferedImage;
+import java.awt.image.BufferedImageOp;
+import java.awt.image.ColorModel;
+
+/**
+ * <p>Provides an abstract implementation of the <code>BufferedImageOp</code>
+ * interface. This class can be used to created new image filters based
+ * on <code>BufferedImageOp</code>.</p>
+ *
+ * @author Romain Guy <romain.guy(a)mac.com>
+ */
+
+public abstract class AbstractFilter implements BufferedImageOp {
+ public abstract BufferedImage filter(BufferedImage src, BufferedImage dest);
+
+ /**
+ * {@inheritDoc}
+ */
+ public Rectangle2D getBounds2D(BufferedImage src) {
+ return new Rectangle(0, 0, src.getWidth(), src.getHeight());
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public BufferedImage createCompatibleDestImage(BufferedImage src,
+ ColorModel destCM) {
+ if (destCM == null) {
+ destCM = src.getColorModel();
+ }
+
+ return new BufferedImage(destCM,
+ destCM.createCompatibleWritableRaster(
+ src.getWidth(), src.getHeight()),
+ destCM.isAlphaPremultiplied(), null);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Point2D getPoint2D(Point2D srcPt, Point2D dstPt) {
+ return (Point2D) srcPt.clone();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public RenderingHints getRenderingHints() {
+ return null;
+ }
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/AePlayWave.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/AePlayWave.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/AePlayWave.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,96 @@
+package org.jbpm.trainticketdemo.gui.fancy;
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.sound.sampled.AudioFormat;
+import javax.sound.sampled.AudioInputStream;
+import javax.sound.sampled.AudioSystem;
+import javax.sound.sampled.DataLine;
+import javax.sound.sampled.FloatControl;
+import javax.sound.sampled.LineUnavailableException;
+import javax.sound.sampled.SourceDataLine;
+import javax.sound.sampled.UnsupportedAudioFileException;
+
+/**
+ * Borrowed from http://www.anyexample.com/programming/java/java_play_wav_sound_file.xml
+ * @jbarrez (small adaptations)
+ */
+public class AePlayWave {
+
+ private String filename;
+
+ private Position curPosition;
+
+ private final int EXTERNAL_BUFFER_SIZE = 524288; // 128Kb
+
+ enum Position {
+ LEFT, RIGHT, NORMAL
+ };
+
+ public AePlayWave(String wavfile) {
+ filename = wavfile;
+ curPosition = Position.NORMAL;
+ }
+
+ public AePlayWave(String wavfile, Position p) {
+ filename = wavfile;
+ curPosition = p;
+ }
+
+ public void play() {
+ AudioInputStream audioInputStream = null;
+ try {
+ InputStream is = this.getClass().getClassLoader().getResourceAsStream(filename);
+ audioInputStream = AudioSystem.getAudioInputStream(is);
+ } catch (UnsupportedAudioFileException e1) {
+ e1.printStackTrace();
+ return;
+ } catch (IOException e1) {
+ e1.printStackTrace();
+ return;
+ }
+
+ AudioFormat format = audioInputStream.getFormat();
+ SourceDataLine auline = null;
+ DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);
+
+ try {
+ auline = (SourceDataLine) AudioSystem.getLine(info);
+ auline.open(format);
+ } catch (LineUnavailableException e) {
+ e.printStackTrace();
+ return;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return;
+ }
+
+ if (auline.isControlSupported(FloatControl.Type.PAN)) {
+ FloatControl pan = (FloatControl) auline
+ .getControl(FloatControl.Type.PAN);
+ if (curPosition == Position.RIGHT)
+ pan.setValue(1.0f);
+ else if (curPosition == Position.LEFT)
+ pan.setValue(-1.0f);
+ }
+
+ auline.start();
+ int nBytesRead = 0;
+ byte[] abData = new byte[EXTERNAL_BUFFER_SIZE];
+
+ try {
+ while (nBytesRead != -1) {
+ nBytesRead = audioInputStream.read(abData, 0, abData.length);
+ if (nBytesRead >= 0)
+ auline.write(abData, 0, nBytesRead);
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ return;
+ } finally {
+ auline.drain();
+ auline.close();
+ }
+
+ }
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/ColorTintFilter.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/ColorTintFilter.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/ColorTintFilter.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,157 @@
+package org.jbpm.trainticketdemo.gui.fancy;
+/*
+ * $Id: ColorTintFilter.java,v 1.1 2007/01/28 01:45:30 gfx Exp $
+ *
+ * Dual-licensed under LGPL (Sun and Romain Guy) and BSD (Romain Guy).
+ *
+ * Copyright 2005 Sun Microsystems, Inc., 4150 Network Circle,
+ * Santa Clara, California 95054, U.S.A. All rights reserved.
+ *
+ * Copyright (c) 2006 Romain Guy <romain.guy(a)mac.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import java.awt.image.BufferedImage;
+import java.awt.Color;
+
+/**
+ * <p>A color tint filter can be used to mix a solid color to an image. The
+ * result is an image tinted by the specified color. The force of the effect
+ * can be controlled with the <code>mixValue</code>, a number between 0.0 and
+ * 1.0 that can be seen as the percentage of the mix (0.0 does not affect the
+ * source image and 1.0 replaces all the pixels by the solid color).</p>
+ * <p>The color of the pixels in the resulting image is computed as follows:</p>
+ * <pre>
+ * cR = cS * (1 - mixValue) + cM * mixValue
+ * </pre>
+ * <p>Definition of the parameters:</p>
+ * <ul>
+ * <li><code>cR</code>: color of the resulting pixel</li>
+ * <li><code>cS</code>: color of the source pixel</li>
+ * <li><code>cM</code>: the solid color to mix with the source image</li>
+ * <li><code>mixValue</code>: strength of the mix, a value between 0.0 and 1.0</li>
+ * </ul>
+ *
+ * @author Romain Guy <romain.guy(a)mac.com>
+ */
+
+public class ColorTintFilter extends AbstractFilter {
+ private final Color mixColor;
+ private final float mixValue;
+
+ private int[] preMultipliedRed;
+ private int[] preMultipliedGreen;
+ private int[] preMultipliedBlue;
+
+ /**
+ * <p>Creates a new color mixer filter. The specified color will be used
+ * to tint the source image, with a mixing strength defined by
+ * <code>mixValue</code>.</p>
+ *
+ * @param mixColor the solid color to mix with the source image
+ * @param mixValue the strength of the mix, between 0.0 and 1.0; if the
+ * specified value lies outside this range, it is clamped
+ * @throws IllegalArgumentException if <code>mixColor</code> is null
+ */
+ public ColorTintFilter(Color mixColor, float mixValue) {
+ if (mixColor == null) {
+ throw new IllegalArgumentException("mixColor cannot be null");
+ }
+
+ this.mixColor = mixColor;
+ if (mixValue < 0.0f) {
+ mixValue = 0.0f;
+ } else if (mixValue > 1.0f) {
+ mixValue = 1.0f;
+ }
+ this.mixValue = mixValue;
+
+ int mix_r = (int) (mixColor.getRed() * mixValue);
+ int mix_g = (int) (mixColor.getGreen() * mixValue);
+ int mix_b = (int) (mixColor.getBlue() * mixValue);
+
+ // Since we use only lookup tables to apply the filter, this filter
+ // could be implemented as a LookupOp.
+ float factor = 1.0f - mixValue;
+ preMultipliedRed = new int[256];
+ preMultipliedGreen = new int[256];
+ preMultipliedBlue = new int[256];
+
+ for (int i = 0; i < 256; i++) {
+ int value = (int) (i * factor);
+ preMultipliedRed[i] = value + mix_r;
+ preMultipliedGreen[i] = value + mix_g;
+ preMultipliedBlue[i] = value + mix_b;
+ }
+ }
+
+ /**
+ * <p>Returns the mix value of this filter.</p>
+ *
+ * @return the mix value, between 0.0 and 1.0
+ */
+ public float getMixValue() {
+ return mixValue;
+ }
+
+ /**
+ * <p>Returns the solid mix color of this filter.</p>
+ *
+ * @return the solid color used for mixing
+ */
+ public Color getMixColor() {
+ return mixColor;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public BufferedImage filter(BufferedImage src, BufferedImage dst) {
+ if (dst == null) {
+ dst = createCompatibleDestImage(src, null);
+ }
+
+ int width = src.getWidth();
+ int height = src.getHeight();
+
+ int[] pixels = new int[width * height];
+ GraphicsUtilities.getPixels(src, 0, 0, width, height, pixels);
+ mixColor(pixels);
+ GraphicsUtilities.setPixels(dst, 0, 0, width, height, pixels);
+
+ return dst;
+ }
+
+ private void mixColor(int[] pixels) {
+ for (int i = 0; i < pixels.length; i++) {
+ int argb = pixels[i];
+ pixels[i] = (argb & 0xFF000000) |
+ preMultipliedRed[(argb >> 16) & 0xFF] << 16 |
+ preMultipliedGreen[(argb >> 8) & 0xFF] << 8 |
+ preMultipliedBlue[argb & 0xFF];
+ }
+ }
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/GraphicsUtilities.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/GraphicsUtilities.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/GraphicsUtilities.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,528 @@
+package org.jbpm.trainticketdemo.gui.fancy;
+import java.awt.image.BufferedImage;
+import java.awt.image.ColorModel;
+import java.awt.image.Raster;
+import java.awt.image.WritableRaster;
+import java.awt.GraphicsConfiguration;
+import java.awt.Transparency;
+import java.awt.Graphics;
+import java.awt.GraphicsEnvironment;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.io.IOException;
+import java.net.URL;
+import javax.imageio.ImageIO;
+
+/**
+ * <p><code>GraphicsUtilities</code> contains a set of tools to perform
+ * common graphics operations easily. These operations are divided into
+ * several themes, listed below.</p>
+ * <h2>Compatible Images</h2>
+ * <p>Compatible images can, and should, be used to increase drawing
+ * performance. This class provides a number of methods to load compatible
+ * images directly from files or to convert existing images to compatibles
+ * images.</p>
+ * <h2>Creating Thumbnails</h2>
+ * <p>This class provides a number of methods to easily scale down images.
+ * Some of these methods offer a trade-off between speed and result quality and
+ * shouuld be used all the time. They also offer the advantage of producing
+ * compatible images, thus automatically resulting into better runtime
+ * performance.</p>
+ * <p>All these methodes are both faster than
+ * {@link java.awt.Image#getScaledInstance(int, int, int)} and produce
+ * better-looking results than the various <code>drawImage()</code> methods
+ * in {@link java.awt.Graphics}, which can be used for image scaling.</p>
+ * <h2>Image Manipulation</h2>
+ * <p>This class provides two methods to get and set pixels in a buffered image.
+ * These methods try to avoid unmanaging the image in order to keep good
+ * performance.</p>
+ *
+ * @author Romain Guy <romain.guy(a)mac.com>
+ */
+public class GraphicsUtilities {
+ private GraphicsUtilities() {
+ }
+
+ // Returns the graphics configuration for the primary screen
+ private static GraphicsConfiguration getGraphicsConfiguration() {
+ return GraphicsEnvironment.getLocalGraphicsEnvironment().
+ getDefaultScreenDevice().getDefaultConfiguration();
+ }
+
+ /**
+ * <p>Returns a new <code>BufferedImage</code> using the same color model
+ * as the image passed as a parameter. The returned image is only compatible
+ * with the image passed as a parameter. This does not mean the returned
+ * image is compatible with the hardware.</p>
+ *
+ * @param image the reference image from which the color model of the new
+ * image is obtained
+ * @return a new <code>BufferedImage</code>, compatible with the color model
+ * of <code>image</code>
+ */
+ public static BufferedImage createColorModelCompatibleImage(BufferedImage image) {
+ ColorModel cm = image.getColorModel();
+ return new BufferedImage(cm,
+ cm.createCompatibleWritableRaster(image.getWidth(),
+ image.getHeight()),
+ cm.isAlphaPremultiplied(), null);
+ }
+
+ /**
+ * <p>Returns a new compatible image with the same width, height and
+ * transparency as the image specified as a parameter.</p>
+ *
+ * @see java.awt.Transparency
+ * @see #createCompatibleImage(int, int)
+ * @see #createCompatibleImage(java.awt.image.BufferedImage, int, int)
+ * @see #createCompatibleTranslucentImage(int, int)
+ * @see #loadCompatibleImage(java.net.URL)
+ * @see #toCompatibleImage(java.awt.image.BufferedImage)
+ * @param image the reference image from which the dimension and the
+ * transparency of the new image are obtained
+ * @return a new compatible <code>BufferedImage</code> with the same
+ * dimension and transparency as <code>image</code>
+ */
+ public static BufferedImage createCompatibleImage(BufferedImage image) {
+ return createCompatibleImage(image, image.getWidth(), image.getHeight());
+ }
+
+ /**
+ * <p>Returns a new compatible image of the specified width and height, and
+ * the same transparency setting as the image specified as a parameter.</p>
+ *
+ * @see java.awt.Transparency
+ * @see #createCompatibleImage(java.awt.image.BufferedImage)
+ * @see #createCompatibleImage(int, int)
+ * @see #createCompatibleTranslucentImage(int, int)
+ * @see #loadCompatibleImage(java.net.URL)
+ * @see #toCompatibleImage(java.awt.image.BufferedImage)
+ * @param width the width of the new image
+ * @param height the height of the new image
+ * @param image the reference image from which the transparency of the new
+ * image is obtained
+ * @return a new compatible <code>BufferedImage</code> with the same
+ * transparency as <code>image</code> and the specified dimension
+ */
+ public static BufferedImage createCompatibleImage(BufferedImage image,
+ int width, int height) {
+ return getGraphicsConfiguration().createCompatibleImage(width, height,
+ image.getTransparency());
+ }
+
+ /**
+ * <p>Returns a new opaque compatible image of the specified width and
+ * height.</p>
+ *
+ * @see #createCompatibleImage(java.awt.image.BufferedImage)
+ * @see #createCompatibleImage(java.awt.image.BufferedImage, int, int)
+ * @see #createCompatibleTranslucentImage(int, int)
+ * @see #loadCompatibleImage(java.net.URL)
+ * @see #toCompatibleImage(java.awt.image.BufferedImage)
+ * @param width the width of the new image
+ * @param height the height of the new image
+ * @return a new opaque compatible <code>BufferedImage</code> of the
+ * specified width and height
+ */
+ public static BufferedImage createCompatibleImage(int width, int height) {
+ return getGraphicsConfiguration().createCompatibleImage(width, height);
+ }
+
+ /**
+ * <p>Returns a new translucent compatible image of the specified width
+ * and height.</p>
+ *
+ * @see #createCompatibleImage(java.awt.image.BufferedImage)
+ * @see #createCompatibleImage(java.awt.image.BufferedImage, int, int)
+ * @see #createCompatibleImage(int, int)
+ * @see #loadCompatibleImage(java.net.URL)
+ * @see #toCompatibleImage(java.awt.image.BufferedImage)
+ * @param width the width of the new image
+ * @param height the height of the new image
+ * @return a new translucent compatible <code>BufferedImage</code> of the
+ * specified width and height
+ */
+ public static BufferedImage createCompatibleTranslucentImage(int width,
+ int height) {
+ return getGraphicsConfiguration().createCompatibleImage(width, height,
+ Transparency.TRANSLUCENT);
+ }
+
+ /**
+ * <p>Returns a new compatible image from a URL. The image is loaded from the
+ * specified location and then turned, if necessary into a compatible
+ * image.</p>
+ *
+ * @see #createCompatibleImage(java.awt.image.BufferedImage)
+ * @see #createCompatibleImage(java.awt.image.BufferedImage, int, int)
+ * @see #createCompatibleImage(int, int)
+ * @see #createCompatibleTranslucentImage(int, int)
+ * @see #toCompatibleImage(java.awt.image.BufferedImage)
+ * @param resource the URL of the picture to load as a compatible image
+ * @return a new translucent compatible <code>BufferedImage</code> of the
+ * specified width and height
+ * @throws java.io.IOException if the image cannot be read or loaded
+ */
+ public static BufferedImage loadCompatibleImage(URL resource)
+ throws IOException {
+ BufferedImage image = ImageIO.read(resource);
+ return toCompatibleImage(image);
+ }
+
+ /**
+ * <p>Return a new compatible image that contains a copy of the specified
+ * image. This method ensures an image is compatible with the hardware,
+ * and therefore optimized for fast blitting operations.</p>
+ *
+ * @see #createCompatibleImage(java.awt.image.BufferedImage)
+ * @see #createCompatibleImage(java.awt.image.BufferedImage, int, int)
+ * @see #createCompatibleImage(int, int)
+ * @see #createCompatibleTranslucentImage(int, int)
+ * @see #loadCompatibleImage(java.net.URL)
+ * @param image the image to copy into a new compatible image
+ * @return a new compatible copy, with the
+ * same width and height and transparency and content, of <code>image</code>
+ */
+ public static BufferedImage toCompatibleImage(BufferedImage image) {
+ if (image.getColorModel().equals(
+ getGraphicsConfiguration().getColorModel())) {
+ return image;
+ }
+
+ BufferedImage compatibleImage =
+ getGraphicsConfiguration().createCompatibleImage(
+ image.getWidth(), image.getHeight(),
+ image.getTransparency());
+ Graphics g = compatibleImage.getGraphics();
+ g.drawImage(image, 0, 0, null);
+ g.dispose();
+
+ return compatibleImage;
+ }
+
+ /**
+ * <p>Returns a thumbnail of a source image. <code>newSize</code> defines
+ * the length of the longest dimension of the thumbnail. The other
+ * dimension is then computed according to the dimensions ratio of the
+ * original picture.</p>
+ * <p>This method favors speed over quality. When the new size is less than
+ * half the longest dimension of the source image,
+ * {@link #createThumbnail(BufferedImage, int)} or
+ * {@link #createThumbnail(BufferedImage, int, int)} should be used instead
+ * to ensure the quality of the result without sacrificing too much
+ * performance.</p>
+ *
+ * @see #createThumbnailFast(java.awt.image.BufferedImage, int, int)
+ * @see #createThumbnail(java.awt.image.BufferedImage, int)
+ * @see #createThumbnail(java.awt.image.BufferedImage, int, int)
+ * @param image the source image
+ * @param newSize the length of the largest dimension of the thumbnail
+ * @return a new compatible <code>BufferedImage</code> containing a
+ * thumbnail of <code>image</code>
+ * @throws IllegalArgumentException if <code>newSize</code> is larger than
+ * the largest dimension of <code>image</code> or <= 0
+ */
+ public static BufferedImage createThumbnailFast(BufferedImage image,
+ int newSize) {
+ float ratio;
+ int width = image.getWidth();
+ int height = image.getHeight();
+
+ if (width > height) {
+ if (newSize >= width) {
+ throw new IllegalArgumentException("newSize must be lower than" +
+ " the image width");
+ } else if (newSize <= 0) {
+ throw new IllegalArgumentException("newSize must" +
+ " be greater than 0");
+ }
+
+ ratio = (float) width / (float) height;
+ width = newSize;
+ height = (int) (newSize / ratio);
+ } else {
+ if (newSize >= height) {
+ throw new IllegalArgumentException("newSize must be lower than" +
+ " the image height");
+ } else if (newSize <= 0) {
+ throw new IllegalArgumentException("newSize must" +
+ " be greater than 0");
+ }
+
+ ratio = (float) height / (float) width;
+ height = newSize;
+ width = (int) (newSize / ratio);
+ }
+
+ BufferedImage temp = createCompatibleImage(image, width, height);
+ Graphics2D g2 = temp.createGraphics();
+ g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
+ RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+ g2.drawImage(image, 0, 0, temp.getWidth(), temp.getHeight(), null);
+ g2.dispose();
+
+ return temp;
+ }
+
+ /**
+ * <p>Returns a thumbnail of a source image.</p>
+ * <p>This method favors speed over quality. When the new size is less than
+ * half the longest dimension of the source image,
+ * {@link #createThumbnail(BufferedImage, int)} or
+ * {@link #createThumbnail(BufferedImage, int, int)} should be used instead
+ * to ensure the quality of the result without sacrificing too much
+ * performance.</p>
+ *
+ * @see #createThumbnailFast(java.awt.image.BufferedImage, int)
+ * @see #createThumbnail(java.awt.image.BufferedImage, int)
+ * @see #createThumbnail(java.awt.image.BufferedImage, int, int)
+ * @param image the source image
+ * @param newWidth the width of the thumbnail
+ * @param newHeight the height of the thumbnail
+ * @return a new compatible <code>BufferedImage</code> containing a
+ * thumbnail of <code>image</code>
+ * @throws IllegalArgumentException if <code>newWidth</code> is larger than
+ * the width of <code>image</code> or if code>newHeight</code> is larger
+ * than the height of <code>image</code> or if one of the dimensions
+ * is <= 0
+ */
+ public static BufferedImage createThumbnailFast(BufferedImage image,
+ int newWidth, int newHeight) {
+ if (newWidth >= image.getWidth() ||
+ newHeight >= image.getHeight()) {
+ throw new IllegalArgumentException("newWidth and newHeight cannot" +
+ " be greater than the image" +
+ " dimensions");
+ } else if (newWidth <= 0 || newHeight <= 0) {
+ throw new IllegalArgumentException("newWidth and newHeight must" +
+ " be greater than 0");
+ }
+
+ BufferedImage temp = createCompatibleImage(image, newWidth, newHeight);
+ Graphics2D g2 = temp.createGraphics();
+ g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
+ RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+ g2.drawImage(image, 0, 0, temp.getWidth(), temp.getHeight(), null);
+ g2.dispose();
+
+ return temp;
+ }
+
+ /**
+ * <p>Returns a thumbnail of a source image. <code>newSize</code> defines
+ * the length of the longest dimension of the thumbnail. The other
+ * dimension is then computed according to the dimensions ratio of the
+ * original picture.</p>
+ * <p>This method offers a good trade-off between speed and quality.
+ * The result looks better than
+ * {@link #createThumbnailFast(java.awt.image.BufferedImage, int)} when
+ * the new size is less than half the longest dimension of the source
+ * image, yet the rendering speed is almost similar.</p>
+ *
+ * @see #createThumbnailFast(java.awt.image.BufferedImage, int, int)
+ * @see #createThumbnailFast(java.awt.image.BufferedImage, int)
+ * @see #createThumbnail(java.awt.image.BufferedImage, int, int)
+ * @param image the source image
+ * @param newSize the length of the largest dimension of the thumbnail
+ * @return a new compatible <code>BufferedImage</code> containing a
+ * thumbnail of <code>image</code>
+ * @throws IllegalArgumentException if <code>newSize</code> is larger than
+ * the largest dimension of <code>image</code> or <= 0
+ */
+ public static BufferedImage createThumbnail(BufferedImage image,
+ int newSize) {
+ int width = image.getWidth();
+ int height = image.getHeight();
+
+ boolean isWidthGreater = width > height;
+
+ if (isWidthGreater) {
+ if (newSize >= width) {
+ throw new IllegalArgumentException("newSize must be lower than" +
+ " the image width");
+ }
+ } else if (newSize >= height) {
+ throw new IllegalArgumentException("newSize must be lower than" +
+ " the image height");
+ }
+
+ if (newSize <= 0) {
+ throw new IllegalArgumentException("newSize must" +
+ " be greater than 0");
+ }
+
+ float ratioWH = (float) width / (float) height;
+ float ratioHW = (float) height / (float) width;
+
+ BufferedImage thumb = image;
+
+ do {
+ if (isWidthGreater) {
+ width /= 2;
+ if (width < newSize) {
+ width = newSize;
+ }
+ height = (int) (width / ratioWH);
+ } else {
+ height /= 2;
+ if (height < newSize) {
+ height = newSize;
+ }
+ width = (int) (height / ratioHW);
+ }
+
+
+ BufferedImage temp = createCompatibleImage(image, width, height);
+ Graphics2D g2 = temp.createGraphics();
+ g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
+ RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+ g2.drawImage(thumb, 0, 0, temp.getWidth(), temp.getHeight(), null);
+ g2.dispose();
+
+ thumb = temp;
+ } while (newSize != (isWidthGreater ? width : height));
+
+ return thumb;
+ }
+
+ /**
+ * <p>Returns a thumbnail of a source image.</p>
+ * <p>This method offers a good trade-off between speed and quality.
+ * The result looks better than
+ * {@link #createThumbnailFast(java.awt.image.BufferedImage, int)} when
+ * the new size is less than half the longest dimension of the source
+ * image, yet the rendering speed is almost similar.</p>
+ *
+ * @see #createThumbnailFast(java.awt.image.BufferedImage, int)
+ * @see #createThumbnailFast(java.awt.image.BufferedImage, int, int)
+ * @see #createThumbnail(java.awt.image.BufferedImage, int)
+ * @param image the source image
+ * @param newWidth the width of the thumbnail
+ * @param newHeight the height of the thumbnail
+ * @return a new compatible <code>BufferedImage</code> containing a
+ * thumbnail of <code>image</code>
+ * @throws IllegalArgumentException if <code>newWidth</code> is larger than
+ * the width of <code>image</code> or if code>newHeight</code> is larger
+ * than the height of <code>image or if one the dimensions is not > 0</code>
+ */
+ public static BufferedImage createThumbnail(BufferedImage image,
+ int newWidth, int newHeight) {
+ int width = image.getWidth();
+ int height = image.getHeight();
+
+ if (newWidth >= width || newHeight >= height) {
+ throw new IllegalArgumentException("newWidth and newHeight cannot" +
+ " be greater than the image" +
+ " dimensions");
+ } else if (newWidth <= 0 || newHeight <= 0) {
+ throw new IllegalArgumentException("newWidth and newHeight must" +
+ " be greater than 0");
+ }
+
+ BufferedImage thumb = image;
+
+ do {
+ if (width > newWidth) {
+ width /= 2;
+ if (width < newWidth) {
+ width = newWidth;
+ }
+ }
+
+ if (height > newHeight) {
+ height /= 2;
+ if (height < newHeight) {
+ height = newHeight;
+ }
+ }
+
+ BufferedImage temp = createCompatibleImage(image, width, height);
+ Graphics2D g2 = temp.createGraphics();
+ g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
+ RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+ g2.drawImage(thumb, 0, 0, temp.getWidth(), temp.getHeight(), null);
+ g2.dispose();
+
+ thumb = temp;
+ } while (width != newWidth || height != newHeight);
+
+ return thumb;
+ }
+
+ /**
+ * <p>Returns an array of pixels, stored as integers, from a
+ * <code>BufferedImage</code>. The pixels are grabbed from a rectangular
+ * area defined by a location and two dimensions. Calling this method on
+ * an image of type different from <code>BufferedImage.TYPE_INT_ARGB</code>
+ * and <code>BufferedImage.TYPE_INT_RGB</code> will unmanage the image.</p>
+ *
+ * @param img the source image
+ * @param x the x location at which to start grabbing pixels
+ * @param y the y location at which to start grabbing pixels
+ * @param w the width of the rectangle of pixels to grab
+ * @param h the height of the rectangle of pixels to grab
+ * @param pixels a pre-allocated array of pixels of size w*h; can be null
+ * @return <code>pixels</code> if non-null, a new array of integers
+ * otherwise
+ * @throws IllegalArgumentException is <code>pixels</code> is non-null and
+ * of length < w*h
+ */
+ public static int[] getPixels(BufferedImage img,
+ int x, int y, int w, int h, int[] pixels) {
+ if (w == 0 || h == 0) {
+ return new int[0];
+ }
+
+ if (pixels == null) {
+ pixels = new int[w * h];
+ } else if (pixels.length < w * h) {
+ throw new IllegalArgumentException("pixels array must have a length" +
+ " >= w*h");
+ }
+
+ int imageType = img.getType();
+ if (imageType == BufferedImage.TYPE_INT_ARGB ||
+ imageType == BufferedImage.TYPE_INT_RGB) {
+ Raster raster = img.getRaster();
+ return (int[]) raster.getDataElements(x, y, w, h, pixels);
+ }
+
+ // Unmanages the image
+ return img.getRGB(x, y, w, h, pixels, 0, w);
+ }
+
+ /**
+ * <p>Writes a rectangular area of pixels in the destination
+ * <code>BufferedImage</code>. Calling this method on
+ * an image of type different from <code>BufferedImage.TYPE_INT_ARGB</code>
+ * and <code>BufferedImage.TYPE_INT_RGB</code> will unmanage the image.</p>
+ *
+ * @param img the destination image
+ * @param x the x location at which to start storing pixels
+ * @param y the y location at which to start storing pixels
+ * @param w the width of the rectangle of pixels to store
+ * @param h the height of the rectangle of pixels to store
+ * @param pixels an array of pixels, stored as integers
+ * @throws IllegalArgumentException is <code>pixels</code> is non-null and
+ * of length < w*h
+ */
+ public static void setPixels(BufferedImage img,
+ int x, int y, int w, int h, int[] pixels) {
+ if (pixels == null || w == 0 || h == 0) {
+ return;
+ } else if (pixels.length < w * h) {
+ throw new IllegalArgumentException("pixels array must have a length" +
+ " >= w*h");
+ }
+
+ int imageType = img.getType();
+ if (imageType == BufferedImage.TYPE_INT_ARGB ||
+ imageType == BufferedImage.TYPE_INT_RGB) {
+ WritableRaster raster = img.getRaster();
+ raster.setDataElements(x, y, w, h, pixels);
+ } else {
+ // Unmanages the image
+ img.setRGB(x, y, w, h, pixels, 0, w);
+ }
+ }
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/LightButton.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/LightButton.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/LightButton.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,287 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.gui.fancy;
+
+import java.awt.Color;
+import java.awt.Cursor;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.FontMetrics;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Image;
+import java.awt.Insets;
+import java.awt.RenderingHints;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.font.TextLayout;
+import java.awt.geom.Rectangle2D;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import javax.imageio.ImageIO;
+import javax.swing.Action;
+import javax.swing.BorderFactory;
+import javax.swing.ButtonModel;
+import javax.swing.JButton;
+import javax.swing.JComponent;
+import javax.swing.plaf.basic.BasicButtonUI;
+
+/**
+ * @author Romain Guy & Chet Haase (Filthy Rich Clients)
+ * @author Joram Barrez (some small adaptations)
+ */
+public class LightButton extends JButton implements MouseListener {
+
+ private float shadowOffsetX;
+ private float shadowOffsetY;
+
+ private Color shadowColor = Color.BLACK;
+ private int shadowDirection = 60;
+
+ private Image normalButton, normalButtonPressed, buttonHighlight;
+ private int shadowDistance = 1;
+ private Insets sourceInsets = new Insets(6, 7, 6, 8);
+ private Dimension buttonDimension = new Dimension(116, 35);
+ private Color buttonForeground = Color.WHITE;
+ private Font buttonFont = new Font("Arial", Font.BOLD, 22);
+
+ private float ghostValue;
+
+ private boolean main = false;
+
+ public LightButton(String text) {
+ this();
+ setText(text);
+ }
+
+ public LightButton(Action a) {
+ this();
+ setAction(a);
+ }
+
+ public LightButton() {
+ computeShadow();
+
+ setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
+ setForeground(buttonForeground);
+ setFont(buttonFont);
+ setContentAreaFilled(false);
+ setBorderPainted(false);
+ setFocusable(false);
+
+ normalButton = loadImage("/button-normal.png");
+ normalButtonPressed = loadImage("/button-normal-pressed.png");
+ buttonHighlight = loadImage("/header-halo.png");
+
+ // Hacky? Hacky!
+ setUI(new BasicButtonUI() {
+ @Override
+ public Dimension getMinimumSize(JComponent c) {
+ return getPreferredSize(c);
+ }
+
+ @Override
+ public Dimension getMaximumSize(JComponent c) {
+ return getPreferredSize(c);
+ }
+
+ @Override
+ public Dimension getPreferredSize(JComponent c) {
+ Insets insets = c.getInsets();
+ Dimension d = new Dimension(buttonDimension);
+ d.width += insets.left + insets.right;
+ d.height += insets.top + insets.bottom;
+ return d;
+ }
+ });
+
+ addMouseListener(this);
+ }
+
+ private static Image loadImage(String fileName) {
+ try {
+ return ImageIO.read(LightButton.class.getResource(fileName));
+ } catch (IOException ex) {
+ return null;
+ }
+ }
+
+ private void computeShadow() {
+ double rads = Math.toRadians(shadowDirection);
+ shadowOffsetX = (float) Math.cos(rads) * shadowDistance;
+ shadowOffsetY = (float) Math.sin(rads) * shadowDistance;
+ }
+
+ private Image getImage(boolean armed) {
+ return armed ? normalButtonPressed : normalButton;
+ }
+
+ @Override
+ protected void paintComponent(Graphics g) {
+ Graphics2D g2 = (Graphics2D) g;
+ g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
+ RenderingHints.VALUE_ANTIALIAS_ON);
+
+ ButtonModel m = getModel();
+ Insets insets = getInsets();
+
+ int width = getWidth() - insets.left - insets.right;
+ int height = getHeight() - insets.top - insets.bottom;
+
+ tileStretchPaint(g2,this,(BufferedImage) getImage(m.isArmed()), sourceInsets);
+
+ if (getModel().isRollover()) {
+ g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
+ RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+ g2.drawImage(buttonHighlight,
+ insets.left + 2, insets.top + 2,
+ width - 4, height - 4, null);
+ }
+
+ FontMetrics fm = getFontMetrics(getFont());
+ TextLayout layout = new TextLayout(getText(),
+ getFont(),
+ g2.getFontRenderContext());
+ Rectangle2D bounds = layout.getBounds();
+
+ int x = (int) (getWidth() - insets.left - insets.right -
+ bounds.getWidth()) / 2;
+ //x -= 2;
+ int y = (getHeight() - insets.top - insets.bottom -
+ fm.getMaxAscent() - fm.getMaxDescent()) / 2;
+ y += fm.getAscent() - 1;
+
+ if (m.isArmed()) {
+ x += 1;
+ y += 1;
+ }
+
+ g2.setColor(shadowColor);
+ layout.draw(g2,
+ x + (int) Math.ceil(shadowOffsetX),
+ y + (int) Math.ceil(shadowOffsetY));
+ g2.setColor(getForeground());
+ layout.draw(g2, x, y);
+ }
+
+ /**
+ * Draws an image on top of a component by doing a 3x3 grid stretch of the image
+ * using the specified insets.
+ *
+ * From SwingLabs, licensed under LGPL
+ */
+ public static void tileStretchPaint(Graphics g,
+ JComponent comp,
+ BufferedImage img,
+ Insets ins) {
+
+ int left = ins.left;
+ int right = ins.right;
+ int top = ins.top;
+ int bottom = ins.bottom;
+
+ // top
+ g.drawImage(img,
+ 0,0,left,top,
+ 0,0,left,top,
+ null);
+ g.drawImage(img,
+ left, 0,
+ comp.getWidth() - right, top,
+ left, 0,
+ img.getWidth() - right, top,
+ null);
+ g.drawImage(img,
+ comp.getWidth() - right, 0,
+ comp.getWidth(), top,
+ img.getWidth() - right, 0,
+ img.getWidth(), top,
+ null);
+
+ // middle
+ g.drawImage(img,
+ 0, top,
+ left, comp.getHeight()-bottom,
+ 0, top,
+ left, img.getHeight()-bottom,
+ null);
+
+ g.drawImage(img,
+ left, top,
+ comp.getWidth()-right, comp.getHeight()-bottom,
+ left, top,
+ img.getWidth()-right, img.getHeight()-bottom,
+ null);
+
+ g.drawImage(img,
+ comp.getWidth()-right, top,
+ comp.getWidth(), comp.getHeight()-bottom,
+ img.getWidth()-right, top,
+ img.getWidth(), img.getHeight()-bottom,
+ null);
+
+ // bottom
+ g.drawImage(img,
+ 0,comp.getHeight()-bottom,
+ left, comp.getHeight(),
+ 0,img.getHeight()-bottom,
+ left,img.getHeight(),
+ null);
+ g.drawImage(img,
+ left, comp.getHeight()-bottom,
+ comp.getWidth()-right, comp.getHeight(),
+ left, img.getHeight()-bottom,
+ img.getWidth()-right, img.getHeight(),
+ null);
+ g.drawImage(img,
+ comp.getWidth()-right, comp.getHeight()-bottom,
+ comp.getWidth(), comp.getHeight(),
+ img.getWidth()-right, img.getHeight()-bottom,
+ img.getWidth(), img.getHeight(),
+ null);
+ }
+
+ private static final Cursor NORMAL_CURSOR = new Cursor(Cursor.DEFAULT_CURSOR);
+ private static final Cursor HAND_CURSOR = new Cursor(Cursor.HAND_CURSOR);
+
+ public void mouseClicked(MouseEvent arg0) {
+
+ }
+
+ public void mouseEntered(MouseEvent arg0) {
+ setCursor(HAND_CURSOR);
+ }
+
+ public void mouseExited(MouseEvent arg0) {
+ setCursor(NORMAL_CURSOR);
+ }
+
+ public void mousePressed(MouseEvent arg0) {
+
+ }
+
+ public void mouseReleased(MouseEvent arg0) {
+
+ }
+
+}
+
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/ProgressGlassPane.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/ProgressGlassPane.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/ProgressGlassPane.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,150 @@
+package org.jbpm.trainticketdemo.gui.fancy;
+/*
+ * Copyright (c) 2007, Romain Guy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of the TimingFramework project nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import java.awt.AlphaComposite;
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.FontMetrics;
+import java.awt.GradientPaint;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.LinearGradientPaint;
+import java.awt.Paint;
+import java.awt.Rectangle;
+import java.awt.RenderingHints;
+
+import javax.swing.JComponent;
+
+/**
+ *
+ * @author Romain Guy (Filthy Rich Clients)
+ * @jbarrez (small adaptations)
+ */
+public class ProgressGlassPane extends JComponent {
+
+ private static final int BAR_WIDTH = 200;
+ private static final int BAR_HEIGHT = 10;
+
+ private static final Color TEXT_COLOR = new Color(0x333333);
+ private static final Color BORDER_COLOR = new Color(0x333333);
+
+ private static final float[] GRADIENT_FRACTIONS = new float[] {
+ 0.0f, 0.499f, 0.5f, 1.0f
+ };
+ private static final Color[] GRADIENT_COLORS = new Color[] {
+ Color.GRAY, Color.DARK_GRAY, Color.BLACK, Color.GRAY
+ };
+ private static final Color GRADIENT_COLOR2 = Color.WHITE;
+ private static final Color GRADIENT_COLOR1 = Color.GRAY;
+
+ private String message = "Sending SMS...";
+ private int progress = 0;
+
+ public ProgressGlassPane() {
+ setBackground(Color.WHITE);
+ setFont(new Font("Default", Font.BOLD, 16));
+ }
+
+ public int getProgress() {
+ return progress;
+ }
+
+ public void setProgress(int progress) {
+ int oldProgress = this.progress;
+ this.progress = progress;
+
+ // computes the damaged area
+ FontMetrics metrics = getGraphics().getFontMetrics(getFont());
+ int w = (int) (BAR_WIDTH * ((float) oldProgress / 100.0f));
+ int x = w + (getWidth() - BAR_WIDTH) / 2;
+ int y = (getHeight() - BAR_HEIGHT) / 2;
+ y += metrics.getDescent() / 2;
+
+ w = (int) (BAR_WIDTH * ((float) progress / 100.0f)) - w;
+ int h = BAR_HEIGHT;
+
+ repaint(x, y, w, h);
+ }
+
+ @Override
+ protected void paintComponent(Graphics g) {
+ // enables anti-aliasing
+ Graphics2D g2 = (Graphics2D) g;
+ g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+
+ // sets a 65% translucent composite
+ AlphaComposite alpha = AlphaComposite.SrcOver.derive(0.65f);
+ g2.setComposite(alpha);
+
+ // fills the background
+ g2.setColor(getBackground());;
+ //g2.fillRect(40, 142, 246, 277); // Only draw the visible part of the phone
+ Rectangle clip = g2.getClipBounds();
+ g2.fillRect(clip.x, clip.y, clip.width, clip.height);
+
+ // centers the progress bar on screen
+ FontMetrics metrics = g.getFontMetrics();
+ int x = (getWidth() - BAR_WIDTH) / 2;
+ int y = (getHeight() - BAR_HEIGHT - metrics.getDescent()) / 2;
+
+ // draws the text
+ g2.setColor(TEXT_COLOR);
+ g2.drawString(message, x, y);
+
+ // goes to the position of the progress bar
+ y += metrics.getDescent();
+
+ // computes the size of the progress indicator
+ int w = (int) (BAR_WIDTH * ((float) progress / 100.0f));
+ int h = BAR_HEIGHT;
+
+ // draws the content of the progress bar
+ Paint paint = g2.getPaint();
+
+ // bar's background
+ Paint gradient = new GradientPaint(x, y, GRADIENT_COLOR1,
+ x, y + h, GRADIENT_COLOR2);
+ g2.setPaint(gradient);
+ g2.fillRect(x, y, BAR_WIDTH, BAR_HEIGHT);
+
+ // actual progress
+ gradient = new LinearGradientPaint(x, y, x, y + h,
+ GRADIENT_FRACTIONS, GRADIENT_COLORS);
+ g2.setPaint(gradient);
+ g2.fillRect(x, y, w, h);
+
+ g2.setPaint(paint);
+
+ // draws the progress bar border
+ g2.drawRect(x, y, BAR_WIDTH, BAR_HEIGHT);
+ }
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/PulsatingLogo.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/PulsatingLogo.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/PulsatingLogo.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,121 @@
+package org.jbpm.trainticketdemo.gui.fancy;
+
+import java.awt.AlphaComposite;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.image.BufferedImage;
+import java.awt.image.BufferedImageOp;
+import java.awt.image.ConvolveOp;
+import java.awt.image.Kernel;
+import java.io.IOException;
+
+import javax.swing.JComponent;
+
+import org.jdesktop.animation.timing.Animator;
+import org.jdesktop.animation.timing.interpolation.PropertySetter;
+
+public class PulsatingLogo extends JComponent {
+
+ private static final long serialVersionUID = 1L;
+
+ private BufferedImage image;
+ private BufferedImage glow;
+ private float alpha = 0.0f;
+
+ public PulsatingLogo(String imageName) {
+ try {
+ image = GraphicsUtilities.loadCompatibleImage(getClass().getResource(imageName));
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ @Override
+ public Dimension getPreferredSize() {
+ return new Dimension(image.getWidth(), image.getHeight());
+ }
+
+ @Override
+ protected void paintComponent(Graphics g) {
+ Graphics2D g2;
+
+ if (glow == null) {
+ glow = GraphicsUtilities.createCompatibleImage(image);
+ g2 = glow.createGraphics();
+ g2.drawImage(image, 0, 0, null);
+ g2.dispose();
+
+ BufferedImageOp filter = getGaussianBlurFilter(24, true);
+ glow = filter.filter(glow, null);
+ filter = getGaussianBlurFilter(24, false);
+ glow = filter.filter(glow, null);
+ filter = new ColorTintFilter(Color.WHITE, 1.0f);
+ glow = filter.filter(glow, null);
+
+ startAnimator();
+ }
+
+ int x = (getWidth() - image.getWidth()) / 2;
+ int y = (getHeight() - image.getHeight()) / 2;
+
+ g2 = (Graphics2D) g.create();
+
+ g2.setComposite(AlphaComposite.SrcOver.derive(getAlpha()));
+ g2.drawImage(glow, x, y, null);
+ g2.setComposite(AlphaComposite.SrcOver);
+ g2.drawImage(image, x, y, null);
+ }
+
+ private void startAnimator() {
+ PropertySetter setter = new PropertySetter(this, "alpha", 0.0f, 1.0f);
+ Animator animator = new Animator(600, Animator.INFINITE,
+ Animator.RepeatBehavior.REVERSE, setter);
+ animator.start();
+ }
+
+ public float getAlpha() {
+ return alpha;
+ }
+
+ public void setAlpha(float alpha) {
+ this.alpha = alpha;
+ repaint();
+ }
+
+ public static ConvolveOp getGaussianBlurFilter(int radius,
+ boolean horizontal) {
+ if (radius < 1) {
+ throw new IllegalArgumentException("Radius must be >= 1");
+ }
+
+ int size = radius * 2 + 1;
+ float[] data = new float[size];
+
+ float sigma = radius / 3.0f;
+ float twoSigmaSquare = 2.0f * sigma * sigma;
+ float sigmaRoot = (float) Math.sqrt(twoSigmaSquare * Math.PI);
+ float total = 0.0f;
+
+ for (int i = -radius; i <= radius; i++) {
+ float distance = i * i;
+ int index = i + radius;
+ data[index] = (float) Math.exp(-distance / twoSigmaSquare)
+ / sigmaRoot;
+ total += data[index];
+ }
+
+ for (int i = 0; i < data.length; i++) {
+ data[i] /= total;
+ }
+
+ Kernel kernel = null;
+ if (horizontal) {
+ kernel = new Kernel(size, 1, data);
+ } else {
+ kernel = new Kernel(1, size, data);
+ }
+ return new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null);
+ }
+}
\ No newline at end of file
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/SmsReceivedGlassPane.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/SmsReceivedGlassPane.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/SmsReceivedGlassPane.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,80 @@
+package org.jbpm.trainticketdemo.gui.fancy;
+/*
+ * Copyright (c) 2007, Romain Guy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of the TimingFramework project nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import java.awt.AlphaComposite;
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Rectangle;
+import java.awt.RenderingHints;
+
+import javax.swing.JComponent;
+
+/**
+ * All credits to the great work of
+ * @author Romain Guy (Filthy Rich Clients)
+ */
+public class SmsReceivedGlassPane extends JComponent {
+
+ private static final long serialVersionUID = 1L;
+
+ private static final String MESSAGE = "SMS message received";
+
+ public SmsReceivedGlassPane() {
+ setLayout(null);
+ setBackground(Color.WHITE);
+ setFont(new Font("Default", Font.BOLD, 16));
+
+ PulsatingLogo pulsatingLogo = new PulsatingLogo("/sms_received.png");
+ pulsatingLogo.setBounds(53, 175, 200, 200);
+ add(pulsatingLogo);
+ }
+
+ @Override
+ protected void paintComponent(Graphics g) {
+
+ // enables anti-aliasing
+ Graphics2D g2 = (Graphics2D) g;
+ g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+
+ AlphaComposite alpha = AlphaComposite.SrcOver.derive(0.35f);
+ g2.setComposite(alpha);
+
+ // fills the background
+ g2.setColor(getBackground());
+ //g2.fillRect(40, 142, 246, 277); // Only draw the visible part of the phone
+ Rectangle clip = g2.getClipBounds();
+ g2.fillRect(clip.x, clip.y, clip.width, clip.height);
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/SmsReceivedPopup.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/SmsReceivedPopup.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/gui/fancy/SmsReceivedPopup.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,75 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.gui.fancy;
+
+import java.awt.Component;
+
+import javax.swing.JComponent;
+import javax.swing.JFrame;
+import javax.swing.SwingUtilities;
+
+
+/**
+ * @author Joram Barrez
+ */
+public class SmsReceivedPopup extends Thread {
+
+ private JComponent source;
+
+ public SmsReceivedPopup(JComponent source) {
+ this.source = source;
+ }
+
+ @Override
+ public void run() {
+
+ // For the demo clarity, we slow the receival of the sms down
+ try {
+ Thread.sleep(2500);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ // Show the new mail notification
+ SmsReceivedGlassPane glassPane = new SmsReceivedGlassPane();
+ JFrame frame = (JFrame)SwingUtilities.getWindowAncestor(source);
+ Component originalGlassPane = frame.getGlassPane();
+ frame.setGlassPane(glassPane); // Kinda dirty ...
+ glassPane.setVisible(true);
+
+ // Play new message sound
+ new AePlayWave("gotmail.wav").play();
+
+ // Wait a bit before removing the glass pane
+ try {
+ Thread.sleep(2000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ // Restore to original
+ glassPane.setVisible(false);
+ frame.setGlassPane(originalGlassPane);
+
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/http/HttpListener.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/http/HttpListener.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/http/HttpListener.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,131 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.http;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
+import java.net.InetSocketAddress;
+import java.net.URLDecoder;
+import java.util.concurrent.Executors;
+
+import org.jbpm.trainticketdemo.model.Inbox;
+import org.jbpm.trainticketdemo.model.SmsMessage;
+
+import com.sun.net.httpserver.HttpExchange;
+import com.sun.net.httpserver.HttpHandler;
+import com.sun.net.httpserver.HttpServer;
+
+/**
+ * @author Joram Barrez
+ */
+public class HttpListener {
+
+ public static final int HTTP_PORT = 4321;
+
+ public static final String URL = "/cellphone_sms_listener";
+
+ private HttpServer server;
+
+ private Inbox inbox;
+
+ public HttpListener(Inbox inbox) throws Exception {
+ this.inbox = inbox;
+ InetSocketAddress address = new InetSocketAddress(HTTP_PORT);
+ server = HttpServer.create(address, 0);
+ server.createContext(URL, new SmsHandler());
+ server.setExecutor(Executors.newCachedThreadPool());
+ }
+
+ public void start() {
+ server.start();
+ }
+
+ public void stop() {
+ server.stop(0);
+ }
+
+ private class SmsHandler implements HttpHandler {
+
+ public void handle(HttpExchange httpExchange) throws IOException {
+ if (httpExchange.getRequestMethod().equalsIgnoreCase("POST")) {
+
+ // Read the raw content of the message
+ StringBuilder strb = new StringBuilder();
+ BufferedReader br = null;
+ try {
+ br = new BufferedReader(new InputStreamReader(httpExchange.getRequestBody()));
+ String line = br.readLine();
+ while (line != null) {
+ strb.append(line);
+ line = br.readLine();
+ }
+ } finally {
+ if (br != null) {
+ br.close();
+ }
+ }
+ httpExchange.sendResponseHeaders(200, 0);
+ httpExchange.close();
+
+ // add the parsed message to the cellphone inbox
+ SmsMessage smsMessage = parseRawMessage(strb.toString());
+ inbox.addMessage(smsMessage);
+ }
+ }
+
+ private SmsMessage parseRawMessage(String message) {
+
+ SmsMessage result = new SmsMessage();
+
+ String decoded = "";
+ try {
+ decoded = URLDecoder.decode(message, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+
+ // parse string of form 'date=Tue+18+2009¶m2=1+a'
+ String[] splitOnParamChar = decoded.split("&");
+ for (String s : splitOnParamChar) {
+
+ String[] splitOnKeyValue = s.split("=");
+ String key = splitOnKeyValue[0];
+ String value = splitOnKeyValue[1];
+
+ if (key.equalsIgnoreCase("sendDate")) {
+ result.setDate(value);
+ } else if (key.equalsIgnoreCase("msgContent")) {
+ result.setContent(value);
+ } else if (key.equalsIgnoreCase("senderNr")) {
+ result.setSender(value);
+ }
+
+ }
+
+ return result;
+ }
+
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/message/MessageQueue.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/message/MessageQueue.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/message/MessageQueue.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,84 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.message;
+
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Queue;
+
+/**
+ * @author Joram Barrez
+ */
+public class MessageQueue {
+
+ private static MessageQueue instance;
+
+ private Queue<String> sendQueue;
+
+ private Queue<String> receiveQueue;
+
+ public MessageQueue() {
+ this.sendQueue = new LinkedList<String>();
+ this.receiveQueue = new LinkedList<String>();
+ }
+
+ public void addSendMessage(String message) {
+ sendQueue.add(message);
+ }
+
+ public void addReceivedMessage(String message) {
+ receiveQueue.add(message);
+ }
+
+ public synchronized String popMessageToSend() {
+ return sendQueue.poll();
+ }
+
+ public synchronized String popReceivedMessage() {
+ return receiveQueue.poll();
+ }
+
+ public synchronized List<String> popAllMessagesToSend() {
+ List<String> allMessages = new ArrayList<String>();
+ while (sendQueue.peek() != null) {
+ allMessages.add(sendQueue.poll());
+ }
+ return allMessages;
+ }
+
+ public synchronized List<String> popAllReceivedMessages() {
+ List<String> allMessages = new ArrayList<String>();
+ while (receiveQueue.peek() != null) {
+ allMessages.add(receiveQueue.poll());
+ }
+ return allMessages;
+ }
+
+ public static MessageQueue getInstance() {
+ if (instance == null) {
+ instance = new MessageQueue();
+ }
+ return instance;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/model/Inbox.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/model/Inbox.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/model/Inbox.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.model;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import javax.swing.event.EventListenerList;
+
+/**
+ * @author Joram Barrez
+ */
+public class Inbox {
+
+ private ArrayList<SmsMessage> messages;
+
+ private EventListenerList listenerList = new EventListenerList();
+
+ public Inbox() {
+ this.messages = new ArrayList<SmsMessage>();
+ }
+
+ public void addMessage(SmsMessage smsMessage) {
+ messages.add(smsMessage);
+ fireStateChanged();
+ }
+
+ public Iterator<SmsMessage> iterator() {
+ ArrayList<SmsMessage> reversedList = new ArrayList<SmsMessage>(messages);
+ Collections.reverse(reversedList);
+ return reversedList.iterator();
+ }
+
+ public void addChangeListener(ChangeListener l) {
+ listenerList.add(ChangeListener.class, l);
+ }
+
+ public void removeChangeListener(ChangeListener l) {
+ listenerList.remove(ChangeListener.class, l);
+ }
+
+ private final ChangeEvent changeEvent = new ChangeEvent(this);
+
+ private void fireStateChanged() {
+ Object[] listeners = listenerList.getListenerList();
+ for (int i = listeners.length - 2; i >= 0; i -= 2) {
+ if (listeners[i] == ChangeListener.class)
+ ((ChangeListener) listeners[i + 1]).stateChanged(changeEvent);
+ }
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/model/SmsMessage.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/model/SmsMessage.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/model/SmsMessage.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,69 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.model;
+
+/**
+ * @author Joram Barrez
+ */
+public class SmsMessage {
+
+ private String sender;
+
+ private String date;
+
+ private String content;
+
+ private boolean read;
+
+ public String getDate() {
+ return date;
+ }
+
+ public void setDate(String date) {
+ this.date = date;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getSender() {
+ return sender;
+ }
+
+ public void setSender(String sender) {
+ this.sender = sender;
+ }
+
+ public boolean isRead() {
+ return read;
+ }
+
+ public void setRead(boolean read) {
+ this.read = read;
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/service/SmsService.java
===================================================================
--- projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/service/SmsService.java (rev 0)
+++ projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/java/org/jbpm/trainticketdemo/service/SmsService.java 2009-08-26 15:11:39 UTC (rev 5542)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.trainticketdemo.service;
+
+import java.util.Date;
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.jbpm.trainticketdemo.http.HttpListener;
+
+/**
+ * @author Joram Barrez
+ */
+public class SmsService {
+
+ private static final String POST_URL = "http://localhost:8080/jbpm-on-rails/receive_sms";
+
+ private static final String PARAM_SEND_DATE = "sendDate";
+
+ private static final String PARAM_MSG_CONTENT = "msgContent";
+
+ private static final String PARAM_SENDER_NR = "senderNr";
+
+ private static final String VALUE_SENDER_NR = "EMULATOR";
+
+ public static void sendSms(final String textMessage) throws Exception {
+ PostMethod post = new PostMethod(POST_URL);
+ post.addParameter(PARAM_SEND_DATE, new Date().toString());
+ post.addParameter(PARAM_MSG_CONTENT, textMessage);
+ post.addParameter(PARAM_SENDER_NR, VALUE_SENDER_NR +
+ "-http://localhost:" + HttpListener.HTTP_PORT + HttpListener.URL);
+ HttpClient httpClient = new HttpClient();
+ httpClient.executeMethod(post);
+ }
+
+}
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/button-normal-pressed.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/button-normal-pressed.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/button-normal.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/button-normal.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/gotmail.wav
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/gotmail.wav
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/header-halo.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/header-halo.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/phone.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/phone.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/read_sms.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/read_sms.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/sms_received.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/sms_received.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/unread_sms.png
===================================================================
(Binary files differ)
Property changes on: projects/demos/trainticket-demo/jbpm-phone/trunk/src/main/resources/unread_sms.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
16 years, 8 months