JBoss JBPM SVN: r1851 - in jbpm4/pvm/trunk/modules: core/src/main/java/org/jbpm/pvm/internal and 10 other directories.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2008-08-08 09:23:00 -0400 (Fri, 08 Aug 2008)
New Revision: 1851
Added:
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/BasicEnvironment.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/ExecutionEnvironment.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/usercode/
Removed:
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/script/ExecutionEnvironment.java
Modified:
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/env/Environment.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/env/PvmEnvironmentFactory.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/PvmEnvironment.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/PvmEnvironmentFactoryParser.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerImpl.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerSynchronization.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/NodeImpl.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/TransitionImpl.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/script/EnvironmentBindings.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/script/ScriptManager.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/spring/SpringEnvironment.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/WireContext.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/binding/EnvironmentFactoryRefBinding.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/binding/EnvironmentInterceptorBinding.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/descriptor/EnvironmentFactoryDescriptor.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/descriptor/EnvironmentInterceptorDescriptor.java
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/descriptor/ObjectDescriptor.java
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/env/EnvironmentSearchOrderTest.java
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/wire/ContextBlockSubscriptionTest.java
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/wire/EnvWireTest.java
jbpm4/pvm/trunk/modules/minimal/
Log:
Environment api cleanup
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/env/Environment.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/env/Environment.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/env/Environment.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -145,19 +145,18 @@
*/
public abstract <T> T get(Class<T> type);
+ /** searches an object based on type. The search doesn take superclasses of the context elements
+ * into account.
+ * @return the first object of the given type or null in case no such element was found.
+ */
+ public abstract <T> T get(Class<T> type, String[] searchOrder);
+
/** get the authenticated user id */
public abstract String getUserId();
/** set the authenticated user id */
public abstract void setUserId(String userId);
- /** for clients to indicate that an exception has occurred in this environment block.
- * Behaviour of method is configurable.*/
- public abstract void setException(Throwable exception);
-
- /** retrieves the first exception that was reported in this environment block. */
- public abstract Throwable getException();
-
/**
* closes the Environment by removing all its contexts.
*/
@@ -167,8 +166,6 @@
public abstract void addContext(Context context);
public abstract void removeContext(Context context);
- public abstract EnvironmentFactory getEnvironmentFactory();
-
public abstract ClassLoader getClassLoader();
public abstract void setClassLoader(ClassLoader classLoader);
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/env/PvmEnvironmentFactory.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/env/PvmEnvironmentFactory.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/env/PvmEnvironmentFactory.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -69,8 +69,8 @@
private static final Log log = Log.getLog(PvmEnvironmentFactory.class.getName());
protected static PvmEnvironmentFactoryParser pvmEnvironmentFactoryParser = new PvmEnvironmentFactoryParser();
- protected WireContext applicationWireContext = null;
- protected WireDefinition blockWireDefinition = null;
+ protected WireContext environmentFactoryCtxWireContext = null;
+ protected WireDefinition environmentCtxWireDefinition = null;
public PvmEnvironmentFactory() {
}
@@ -114,30 +114,23 @@
log.debug("opening "+environment);
// set the classloader
- ClassLoader classLoader = applicationWireContext.getClassLoader();
+ ClassLoader classLoader = environmentFactoryCtxWireContext.getClassLoader();
if (classLoader!=null) {
environment.setClassLoader(classLoader);
}
// add the environment-factory context
- environment.addContext(applicationWireContext);
+ environment.addContext(environmentFactoryCtxWireContext);
// add the environment block context
- WireContext blockContext = new WireContext(blockWireDefinition, Context.CONTEXTNAME_ENVIRONMENT, environment, true);
+ WireContext environmentContext = new WireContext(environmentCtxWireDefinition, Context.CONTEXTNAME_ENVIRONMENT, environment, true);
// add the environment block context to the environment
- environment.addContext(blockContext);
+ environment.addContext(environmentContext);
- // push the created environment so that Environment.getCurrent() returns it
- // This is required to construct some objects in blockContext
- Environment.pushEnvironment(environment);
-
try {
// finish the creation of the environment wire context
- blockContext.create();
+ environmentContext.create();
- // fire an open environment event
- applicationWireContext.fire(PvmEnvironment.EVENT_OPENENVIRONMENT, environment);
-
} catch (RuntimeException e) {
// On exception, pop environment
Environment.popEnvironment();
@@ -148,57 +141,48 @@
}
public void close() {
- applicationWireContext.fire(WireContext.EVENT_CLOSE, null);
+ environmentFactoryCtxWireContext.fire(WireContext.EVENT_CLOSE, null);
}
- public void handleException(PvmEnvironment pvmEnvironment, Throwable exception) {
- log.error("exception in environment block:"+exception.getMessage(), exception);
- WireContext wireContext = (WireContext) pvmEnvironment.getEnvironmentContext();
- wireContext.fire(PvmEnvironment.EVENT_EXCEPTION, this);
- }
-
// environment-factory context delegation methods ///////////////////////////////////
public Object get(String key) {
- return applicationWireContext.get(key);
+ return environmentFactoryCtxWireContext.get(key);
}
public <T> T get(Class<T> type) {
- return applicationWireContext.get(type);
+ return environmentFactoryCtxWireContext.get(type);
}
public String getName() {
- return applicationWireContext.getName();
+ return environmentFactoryCtxWireContext.getName();
}
public boolean has(String key) {
- return applicationWireContext.has(key);
+ return environmentFactoryCtxWireContext.has(key);
}
public Set<String> keys() {
- return applicationWireContext.keys();
+ return environmentFactoryCtxWireContext.keys();
}
public Object set(String key, Object value) {
- return applicationWireContext.set(key, value);
+ return environmentFactoryCtxWireContext.set(key, value);
}
// getters and setters //////////////////////////////////////////////////////
- public WireDefinition getBlockContextDefinition() {
- return blockWireDefinition;
+ public void setEnvironmentCtxWireDefinition(WireDefinition blockWireDefinition) {
+ this.environmentCtxWireDefinition = blockWireDefinition;
}
- public void setBlockWireDefinition(WireDefinition blockWireDefinition) {
- this.blockWireDefinition = blockWireDefinition;
+ public WireContext getEnvironmentFactoryCtxWireContext() {
+ return environmentFactoryCtxWireContext;
}
- public WireContext getApplicationWireContext() {
- return applicationWireContext;
+ public void setEnvironmentFactoryCtxWireContext(WireContext applicationWireContext) {
+ this.environmentFactoryCtxWireContext = applicationWireContext;
}
- public void setApplicationWireContext(WireContext applicationWireContext) {
- this.applicationWireContext = applicationWireContext;
+ public WireDefinition getEnvironmentCtxWireDefinition() {
+ return environmentCtxWireDefinition;
}
- public WireDefinition getBlockWireDefinition() {
- return blockWireDefinition;
- }
}
Added: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/BasicEnvironment.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/BasicEnvironment.java (rev 0)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/BasicEnvironment.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -0,0 +1,180 @@
+/*
+ * 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.pvm.internal.env;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jbpm.pvm.PvmException;
+import org.jbpm.pvm.env.Context;
+import org.jbpm.pvm.env.Environment;
+import org.jbpm.pvm.internal.log.Log;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class BasicEnvironment extends Environment {
+
+ private static final long serialVersionUID = 1L;
+
+ private static final Log log = Log.getLog(BasicEnvironment.class.getName());
+
+ protected String userId;
+ protected Map<String, Context> contexts;
+ protected ArrayList<String> defaultSearchOrderList;
+ protected String[] defaultSearchOrder;
+ protected Throwable exception;
+
+ protected transient ClassLoader classLoader;
+
+ public BasicEnvironment() {
+ contexts = new HashMap<String, Context>();
+ defaultSearchOrderList = new ArrayList<String>();
+ defaultSearchOrder = null;
+ pushEnvironment(this);
+ }
+
+ // context methods ////////////////////////////////////////////////////////////
+
+ public Context getContext(String contextName) {
+ return contexts.get(contextName);
+ }
+
+ public void addContext(Context context) {
+ String key = context.getName();
+ contexts.put(key, context);
+ defaultSearchOrderList.add(key);
+ defaultSearchOrder = null;
+ }
+
+ public void removeContext(Context context) {
+ String contextName = context.getName();
+ Context removedContext = contexts.remove(contextName);
+ if (removedContext!=null) {
+ defaultSearchOrderList.remove(contextName);
+ defaultSearchOrder = null;
+ }
+ }
+
+ public Context getEnvironmentFactoryContext() {
+ return getContext(Context.CONTEXTNAME_ENVIRONMENT_FACTORY);
+ }
+
+ public Context getEnvironmentContext() {
+ return getContext(Context.CONTEXTNAME_ENVIRONMENT);
+ }
+
+ // userId methods ///////////////////////////////////////////////////////////
+
+ public String getUserId() {
+ // if the authenticated user was explicitely set
+ if (userId!=null) {
+ // return that one
+ return userId;
+ }
+
+ // if an Authentication was specified
+ Authentication authentication = get(Authentication.class);
+ if (authentication!=null) {
+ // let the authentication do the work
+ return authentication.getUserId();
+ }
+
+ return null;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ // classloader methods //////////////////////////////////////////////////////
+
+ public ClassLoader getClassLoader() {
+ return classLoader;
+ }
+ public void setClassLoader(ClassLoader classLoader) {
+ this.classLoader = classLoader;
+ }
+
+ // search methods ///////////////////////////////////////////////////////////
+
+ public Object get(String name) {
+ return get(name, null);
+ }
+
+ public Object get(String name, String[] searchOrder) {
+ if (searchOrder==null) {
+ searchOrder = getDefaultSearchOrder();
+ }
+ for (int i=0; i<searchOrder.length; i++){
+ Context context = contexts.get(searchOrder[i]);
+ if (context.has(name)) {
+ return context.get(name);
+ }
+ }
+ return null;
+ }
+
+ public <T> T get(Class<T> type) {
+ return get(type, null);
+ }
+
+ public <T> T get(Class<T> type, String[] searchOrder) {
+ if (searchOrder==null) {
+ searchOrder = getDefaultSearchOrder();
+ }
+ for (int i=0; i<searchOrder.length; i++){
+ Context context = contexts.get(searchOrder[i]);
+ T o = context.get(type);
+ if (o!=null) {
+ return o;
+ }
+ }
+ return null;
+ }
+
+ // close ////////////////////////////////////////////////////////////////////
+
+ public void close() {
+ log.trace("closing "+this);
+
+ Environment popped = Environment.popEnvironment();
+ if (this!=popped) {
+ throw new PvmException("environment nesting problem");
+ }
+ }
+
+ // private methods //////////////////////////////////////////////////////////
+
+ protected String[] getDefaultSearchOrder() {
+ if (defaultSearchOrder==null) {
+ int size = defaultSearchOrderList.size();
+ defaultSearchOrder = (String[]) new String[size];
+ for (int i=0; i<size; i++) {
+ defaultSearchOrder[i] = defaultSearchOrderList.get(size-1-i);
+ }
+ }
+ return defaultSearchOrder;
+ }
+}
Copied: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/ExecutionEnvironment.java (from rev 1835, jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/script/ExecutionEnvironment.java)
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/ExecutionEnvironment.java (rev 0)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/ExecutionEnvironment.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -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.pvm.internal.env;
+
+import org.jbpm.pvm.Execution;
+
+/**
+ * @author Tom Baeyens
+ */
+public class ExecutionEnvironment extends BasicEnvironment {
+
+ private static final long serialVersionUID = 1L;
+
+ public ExecutionEnvironment(Execution execution) {
+ addContext(new ExecutionContext(execution));
+ }
+}
Property changes on: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/ExecutionEnvironment.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/PvmEnvironment.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/PvmEnvironment.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/PvmEnvironment.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -21,14 +21,7 @@
*/
package org.jbpm.pvm.internal.env;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.jbpm.pvm.PvmException;
import org.jbpm.pvm.env.Context;
-import org.jbpm.pvm.env.Environment;
-import org.jbpm.pvm.env.EnvironmentFactory;
import org.jbpm.pvm.env.PvmEnvironmentFactory;
import org.jbpm.pvm.internal.log.Log;
import org.jbpm.pvm.internal.util.Closable;
@@ -37,159 +30,32 @@
/**
* @author Tom Baeyens
*/
-public class PvmEnvironment extends Environment {
+public class PvmEnvironment extends BasicEnvironment {
private static final long serialVersionUID = 1L;
private static final Log log = Log.getLog(PvmEnvironment.class.getName());
- /** is fired for each exception reported in an environment block with
- * {@link Environment#setException(Throwable)}. */
- public static final String EVENT_EXCEPTION = "exception";
-
- /** is fired when a environment created by this factory is being closed. The
- * info object is the environment that was just opened. */
- public static final String EVENT_CLOSEENVIRONMENT = "close-environment";
-
- /** is fired when a new environment is being opened with this environment factory. The
- * info object is the environment that was just opened. */
- public static final String EVENT_OPENENVIRONMENT = "open-environment";
-
-
- protected String userId;
protected PvmEnvironmentFactory pvmEnvironmentFactory;
- protected Map<String, Context> contexts;
- protected ArrayList<String> defaultSearchOrderList;
- protected String[] defaultSearchOrder;
- protected transient ClassLoader classLoader;
- protected Throwable exception;
public PvmEnvironment(PvmEnvironmentFactory pvmEnvironmentFactory) {
this.pvmEnvironmentFactory = pvmEnvironmentFactory;
- contexts = new HashMap<String, Context>();
- defaultSearchOrderList = new ArrayList<String>();
- defaultSearchOrder = null;
}
- // context methods ////////////////////////////////////////////////////////////
-
- public Context getContext(String contextName) {
- return contexts.get(contextName);
+ public String toString() {
+ return "PvmEnvironment["+System.identityHashCode(this)+"]";
}
-
- public void addContext(Context context) {
- String key = context.getName();
- contexts.put(key, context);
- defaultSearchOrderList.add(key);
- defaultSearchOrder = null;
- }
-
- public void removeContext(Context context) {
- String contextName = context.getName();
- Context removedContext = contexts.remove(contextName);
- if (removedContext!=null) {
- defaultSearchOrderList.remove(contextName);
- defaultSearchOrder = null;
+ public void close() {
+ Context context = getEnvironmentContext();
+ if (context instanceof Closable) {
+ ((Closable)context).close();
}
+ super.close();
+ log.debug("closed "+this);
}
- public Context getEnvironmentFactoryContext() {
- return getContext(Context.CONTEXTNAME_ENVIRONMENT_FACTORY);
- }
-
- public Context getEnvironmentContext() {
- return getContext(Context.CONTEXTNAME_ENVIRONMENT);
- }
-
- public EnvironmentFactory getEnvironmentFactory() {
- return pvmEnvironmentFactory;
- }
-
- // userId methods ///////////////////////////////////////////////////////////
- public String getUserId() {
- // if the authenticated user was explicitely set
- if (userId!=null) {
- // return that one
- return userId;
- }
-
- // if an Authentication was specified
- Authentication authentication = get(Authentication.class);
- if (authentication!=null) {
- // let the authentication do the work
- return authentication.getUserId();
- }
-
- return null;
- }
-
- public void setUserId(String userId) {
- this.userId = userId;
- }
-
- // classloader methods //////////////////////////////////////////////////////
-
- public ClassLoader getClassLoader() {
- return classLoader;
- }
- public void setClassLoader(ClassLoader classLoader) {
- this.classLoader = classLoader;
- }
-
- // search methods ///////////////////////////////////////////////////////////
-
- public Object get(String name) {
- return get(name, null);
- }
-
- public Object get(String name, String[] searchOrder) {
- if (searchOrder==null) {
- searchOrder = getDefaultSearchOrder();
- }
- for (int i=0; i<searchOrder.length; i++){
- Context context = contexts.get(searchOrder[i]);
- if (context.has(name)) {
- return context.get(name);
- }
- }
- return null;
- }
-
- public <T> T get(Class<T> type) {
- return find(type, null);
- }
-
- public <T> T find(Class<T> type, String[] searchOrder) {
- if (searchOrder==null) {
- searchOrder = getDefaultSearchOrder();
- }
- for (int i=0; i<searchOrder.length; i++){
- Context context = contexts.get(searchOrder[i]);
- T o = context.get(type);
- if (o!=null) {
- return o;
- }
- }
- return null;
- }
-
- // exception ////////////////////////////////////////////////////////////////
-
- public void setException(Throwable exception) {
- this.exception = exception;
- pvmEnvironmentFactory.handleException(this, exception);
-
- // if an exception was thrown
- if (exception!=null) {
- rethrow(exception);
- }
- }
-
- public Throwable getException() {
- return exception;
- }
-
+ /*
// close ////////////////////////////////////////////////////////////////////
public void close() {
@@ -208,10 +74,6 @@
}
log.debug("closed "+this);
}
-
- public String toString() {
- return "Environment["+System.identityHashCode(this)+"]";
- }
protected static void rethrow(Throwable exception) throws Error {
if (exception instanceof Error) {
@@ -222,18 +84,5 @@
}
throw new PvmException(exception);
}
-
- // private methods //////////////////////////////////////////////////////////
-
- private String[] getDefaultSearchOrder() {
- if (defaultSearchOrder==null) {
- int size = defaultSearchOrderList.size();
- defaultSearchOrder = (String[]) new String[size];
- for (int i=0; i<size; i++) {
- defaultSearchOrder[i] = defaultSearchOrderList.get(size-1-i);
- }
- }
- return defaultSearchOrder;
- }
-
+ */
}
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/PvmEnvironmentFactoryParser.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/PvmEnvironmentFactoryParser.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/env/PvmEnvironmentFactoryParser.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -80,13 +80,13 @@
WireDefinition environmentWireDefinition = getBlockWireDefinition(documentElement, parse);
// create the application wire context from the definition
- WireContext environmentFactoryWireContext = new WireContext(environmentFactoryWireDefinition, Context.CONTEXTNAME_ENVIRONMENT_FACTORY, pvmEnvironmentFactory);
+ WireContext environmentFactoryWireContext = new WireContext(environmentFactoryWireDefinition, Context.CONTEXTNAME_ENVIRONMENT_FACTORY);
// propagate the parser classloader to the application context
environmentFactoryWireContext.setClassLoader(classLoader);
// configure the default environment factory
- pvmEnvironmentFactory.setApplicationWireContext(environmentFactoryWireContext);
- pvmEnvironmentFactory.setBlockWireDefinition(environmentWireDefinition);
+ pvmEnvironmentFactory.setEnvironmentFactoryCtxWireContext(environmentFactoryWireContext);
+ pvmEnvironmentFactory.setEnvironmentCtxWireDefinition(environmentWireDefinition);
parse.setDocumentObject(pvmEnvironmentFactory);
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerImpl.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerImpl.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerImpl.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -29,6 +29,7 @@
import org.jbpm.pvm.PvmException;
import org.jbpm.pvm.env.Environment;
import org.jbpm.pvm.env.Transaction;
+import org.jbpm.pvm.internal.cmd.CommandService;
import org.jbpm.pvm.internal.log.Log;
import org.jbpm.pvm.internal.model.op.MoveToChildNode;
import org.jbpm.pvm.internal.wire.Descriptor;
@@ -121,10 +122,14 @@
Transaction transaction = (environment!=null ? environment.get(Transaction.class) : null);
if (transaction!=null) {
log.trace("registering exception handler to "+transaction);
+ CommandService commandService = environment.get(CommandService.class);
+ if (commandService==null) {
+ throw new PvmException("environment doesn't have a command service for registering transactional exception handler", exception);
+ }
ExceptionHandlerSynchronization exceptionHandlerSynchronization = new ExceptionHandlerSynchronization(
this, execution,
exception,
- environment.getEnvironmentFactory()
+ commandService
);
// registration of the synchronization is delegated to the AfterTxCompletionListener
// to avoid a dependency on class Synchronization
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerSynchronization.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerSynchronization.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerSynchronization.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -40,23 +40,19 @@
protected ExecutionImpl execution;
protected Exception exception;
- protected EnvironmentFactory environmentFactory;
+ protected CommandService commandService;
- public ExceptionHandlerSynchronization(ExceptionHandlerImpl exceptionHandler, ExecutionImpl execution, Exception exception, EnvironmentFactory environmentFactory) {
+ public ExceptionHandlerSynchronization(ExceptionHandlerImpl exceptionHandler, ExecutionImpl execution, Exception exception, CommandService commandService) {
this.exceptionHandler = exceptionHandler;
this.execution = execution;
this.exception = exception;
- this.environmentFactory = environmentFactory;
+ this.commandService = commandService;
}
public void afterCompletion(int status) {
if (status!=Status.STATUS_ROLLEDBACK) {
ExceptionHandlerImpl.log.info("WARNING: no rollback after transactional exception handler. did you forget to rollback the transaction ?");
}
- CommandService commandService = environmentFactory.get(CommandService.class);
- if (commandService==null) {
- throw new PvmException("environment factory doesn't have a command service");
- }
commandService.execute(this);
}
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -1061,7 +1061,7 @@
}
public void handleException(ObservableElementImpl observableElement,
- EventImpl actionEvent,
+ EventImpl event,
EventListenerReference eventListenerReference,
Exception exception,
String rethrowMessage) {
@@ -1070,8 +1070,8 @@
if (eventListenerReference!=null) {
processElements.add(eventListenerReference);
}
- if (actionEvent!=null) {
- processElements.add(actionEvent);
+ if (event!=null) {
+ processElements.add(event);
}
while (observableElement!=null) {
processElements.add(observableElement);
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/NodeImpl.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/NodeImpl.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/NodeImpl.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -99,15 +99,20 @@
* @throws NullPointerException if destination is null.
*/
public TransitionImpl createOutgoingTransition(NodeImpl destination, String transitionName) {
+ TransitionImpl transition = createOutgoingTransition(transitionName);
+ if (destination!=null) {
+ destination.addIncomingTransition(transition);
+ }
+ return transition;
+ }
+
+ public TransitionImpl createOutgoingTransition(String transitionName) {
// create a new transition
TransitionImpl transition = new TransitionImpl();
transition.setName(transitionName);
// wire it between the source and destination
addOutgoingTransition(transition);
- if (destination!=null) {
- destination.addIncomingTransition(transition);
- }
// if there is no default transition yet
if (defaultTransition==null) {
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/TransitionImpl.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/TransitionImpl.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/TransitionImpl.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -41,9 +41,7 @@
protected ObjectReference<Condition> waitConditionReference;
protected boolean isTakeAsync;
- /**
- * Use {@link NodeImpl#createOutgoingTransition(NodeImpl)} instead.
- */
+ /* Use one of the NodeImpl.createOutgoingTransition methods instead. */
TransitionImpl() {
super();
}
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/script/EnvironmentBindings.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/script/EnvironmentBindings.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/script/EnvironmentBindings.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -60,7 +60,9 @@
protected Context getReadContext(Object key) {
for (String readContextName: readContextNames) {
Context readContext = environment.getContext(readContextName);
- if (readContext.has((String) key)) {
+ if ( (readContext!=null)
+ && (readContext.has((String) key))
+ ) {
return readContext;
}
}
Deleted: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/script/ExecutionEnvironment.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/script/ExecutionEnvironment.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/script/ExecutionEnvironment.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -1,93 +0,0 @@
-/*
- * 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.pvm.internal.script;
-
-import org.jbpm.pvm.env.Context;
-import org.jbpm.pvm.env.Environment;
-import org.jbpm.pvm.env.EnvironmentFactory;
-import org.jbpm.pvm.env.Transaction;
-import org.jbpm.pvm.internal.model.ExecutionImpl;
-
-
-/**
- * @author Tom Baeyens
- */
-public class ExecutionEnvironment extends Environment {
-
- private static final long serialVersionUID = 1L;
-
- ExecutionImpl execution;
-
- public ExecutionEnvironment(ExecutionImpl execution) {
- this.execution = execution;
- }
-
- public Object get(String name) {
- return execution.getVariable(name);
- }
-
- public void addContext(Context context) {
- }
-
- public void close() {
- }
-
- public Object get(String name, String[] searchOrder) {
- return null;
- }
-
- public <T> T get(Class<T> type) {
- return null;
- }
-
- public ClassLoader getClassLoader() {
- return null;
- }
-
- public Context getContext(String contextName) {
- return null;
- }
-
- public EnvironmentFactory getEnvironmentFactory() {
- return null;
- }
-
- public Throwable getException() {
- return null;
- }
-
- public String getUserId() {
- return null;
- }
-
- public void removeContext(Context context) {
- }
-
- public void setClassLoader(ClassLoader classLoader) {
- }
-
- public void setException(Throwable exception) {
- }
-
- public void setUserId(String userId) {
- }
-}
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/script/ScriptManager.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/script/ScriptManager.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/script/ScriptManager.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -31,7 +31,7 @@
import org.jbpm.pvm.PvmException;
import org.jbpm.pvm.env.Environment;
import org.jbpm.pvm.internal.env.ExecutionContext;
-import org.jbpm.pvm.internal.model.ExecutionImpl;
+import org.jbpm.pvm.internal.env.ExecutionEnvironment;
import org.jbpm.pvm.internal.wire.WireContext;
import org.jbpm.pvm.internal.wire.WireDefinition;
import org.jbpm.pvm.internal.wire.xml.WireParser;
@@ -96,15 +96,27 @@
throw new PvmException("no scripting engine configured for language "+language);
}
- ExecutionContext executionContext = null;
Environment environment = Environment.getCurrent();
if (environment==null) {
- environment = new ExecutionEnvironment((ExecutionImpl) execution);
- } else if (execution!=null) {
- executionContext = new ExecutionContext(execution);
+ environment = new ExecutionEnvironment(execution);
+ try {
+ return evaluate(scriptEngine, script);
+ } finally {
+ environment.close();
+ }
+
+ } else {
+ ExecutionContext executionContext = new ExecutionContext(execution);
environment.addContext(executionContext);
+ try {
+ return evaluate(scriptEngine, script);
+ } finally {
+ environment.removeContext(executionContext);
+ }
}
-
+ }
+
+ protected Object evaluate(ScriptEngine scriptEngine, String script) {
Bindings bindings = new EnvironmentBindings(readContextNames, writeContextName);
scriptEngine.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
@@ -112,10 +124,6 @@
return scriptEngine.eval(script);
} catch (ScriptException e) {
throw new PvmException("script evaluation error: "+e.getMessage(), e);
- } finally {
- if (executionContext!=null) {
- environment.removeContext(executionContext);
- }
}
}
}
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/spring/SpringEnvironment.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/spring/SpringEnvironment.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/spring/SpringEnvironment.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -26,10 +26,9 @@
import java.util.Map;
import org.jbpm.pvm.env.Context;
-import org.jbpm.pvm.env.Environment;
import org.jbpm.pvm.env.EnvironmentFactory;
import org.jbpm.pvm.env.SpringEnvironmentFactory;
-import org.jbpm.pvm.env.Transaction;
+import org.jbpm.pvm.internal.env.BasicEnvironment;
import org.springframework.context.ApplicationContext;
/** sees the prototype beans in the application context and
@@ -37,97 +36,17 @@
*
* @author Tom Baeyens
*/
-public class SpringEnvironment extends Environment {
+public class SpringEnvironment extends BasicEnvironment {
- // TODO pull up the common behaviour between this class
- // and the DefaultEnvironment (only do this after/if this
- // design is adopted)
-
private static final long serialVersionUID = 1L;
protected ApplicationContext applicationContext;
- protected Map<String, Context> contexts = new HashMap<String, Context>();
- protected ArrayList<String> defaultSearchOrderList = new ArrayList<String>();
- protected String[] defaultSearchOrder;
-
public SpringEnvironment(SpringEnvironmentFactory springEnvironmentFactory) {
addContext(springEnvironmentFactory);
addContext(new SpringEnvironmentContext(springEnvironmentFactory.getApplicationContext()));
}
- // context methods ////////////////////////////////////////////////////////////
-
- public Context getContext(String contextName) {
- return contexts.get(contextName);
- }
-
- public void addContext(Context context) {
- String key = context.getName();
- contexts.put(key, context);
- defaultSearchOrderList.add(key);
- defaultSearchOrder = null;
- }
-
- public void removeContext(Context context) {
- String contextName = context.getName();
- Context removedContext = contexts.remove(contextName);
- if (removedContext!=null) {
- defaultSearchOrderList.remove(contextName);
- defaultSearchOrder = null;
- }
- }
-
- // search methods ///////////////////////////////////////////////////////////
-
- public Object get(String name) {
- return get(name, null);
- }
-
- public Object get(String name, String[] searchOrder) {
- if (searchOrder==null) {
- searchOrder = getDefaultSearchOrder();
- }
- for (int i=0; i<searchOrder.length; i++){
- Context context = contexts.get(searchOrder[i]);
- if (context.has(name)) {
- return context.get(name);
- }
- }
- return null;
- }
-
- public <T> T get(Class<T> type) {
- return find(type, null);
- }
-
- public <T> T find(Class<T> type, String[] searchOrder) {
- if (searchOrder==null) {
- searchOrder = getDefaultSearchOrder();
- }
- for (int i=0; i<searchOrder.length; i++){
- Context context = contexts.get(searchOrder[i]);
- T o = context.get(type);
- if (o!=null) {
- return o;
- }
- }
- return null;
- }
-
- private String[] getDefaultSearchOrder() {
- if (defaultSearchOrder==null) {
- int size = defaultSearchOrderList.size();
- defaultSearchOrder = (String[]) new String[size];
- for (int i=0; i<size; i++) {
- defaultSearchOrder[i] = defaultSearchOrderList.get(size-1-i);
- }
- }
- return defaultSearchOrder;
- }
-
-
-
public void close() {
}
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/WireContext.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/WireContext.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/WireContext.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -202,7 +202,6 @@
// member fields ////////////////////////////////////////////////////////////
protected String name = "wire-context";
- protected EnvironmentFactory environmentFactory;
protected transient ClassLoader classLoader;
protected WireDefinition wireDefinition;
@@ -231,11 +230,10 @@
/** when this {@link Context} is used in an {@link Environment}, it
* needs a name. */
- public WireContext(WireDefinition wireDefinition, String name, EnvironmentFactory environmentFactory) {
+ public WireContext(WireDefinition wireDefinition, String name) {
this.wireDefinition = wireDefinition;
this.name = name;
this.classLoader = (wireDefinition!=null ? wireDefinition.getClassLoader() : null);
- this.environmentFactory = environmentFactory;
create();
}
@@ -252,9 +250,6 @@
this.wireDefinition = wireDefinition;
this.name = name;
this.classLoader = (wireDefinition!=null ? wireDefinition.getClassLoader() : null);
- if (environment!=null) {
- this.environmentFactory = environment.getEnvironmentFactory();
- }
if (! delayCreate) {
create();
@@ -740,7 +735,4 @@
public void setWireDefinition(WireDefinition wireDefinition) {
this.wireDefinition = wireDefinition;
}
- public EnvironmentFactory getEnvironmentFactory() {
- return environmentFactory;
- }
}
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/binding/EnvironmentFactoryRefBinding.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/binding/EnvironmentFactoryRefBinding.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/binding/EnvironmentFactoryRefBinding.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -41,6 +41,7 @@
}
public Object parse(Element element, Parse parse, Parser parser) {
- return new EnvironmentFactoryDescriptor();
+ EnvironmentFactory environmentFactory = (EnvironmentFactory) parse.getDocumentObject();
+ return new EnvironmentFactoryDescriptor(environmentFactory);
}
}
\ No newline at end of file
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/binding/EnvironmentInterceptorBinding.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/binding/EnvironmentInterceptorBinding.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/binding/EnvironmentInterceptorBinding.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -21,6 +21,7 @@
*/
package org.jbpm.pvm.internal.wire.binding;
+import org.jbpm.pvm.env.EnvironmentFactory;
import org.jbpm.pvm.internal.wire.descriptor.EnvironmentInterceptorDescriptor;
import org.jbpm.pvm.internal.xml.Parse;
import org.jbpm.pvm.internal.xml.Parser;
@@ -30,13 +31,14 @@
* @author Tom Baeyens
*/
public class EnvironmentInterceptorBinding extends WireInterceptorBinding {
-
+
public EnvironmentInterceptorBinding() {
super("environment-interceptor");
}
public Object parse(Element element, Parse parse, Parser parser) {
- return new EnvironmentInterceptorDescriptor();
+ EnvironmentFactory environmentFactory = (EnvironmentFactory) parse.getDocumentObject();
+ return new EnvironmentInterceptorDescriptor(environmentFactory);
}
}
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/descriptor/EnvironmentFactoryDescriptor.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/descriptor/EnvironmentFactoryDescriptor.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/descriptor/EnvironmentFactoryDescriptor.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -11,8 +11,14 @@
public class EnvironmentFactoryDescriptor extends AbstractDescriptor {
private static final long serialVersionUID = 1L;
+
+ EnvironmentFactory environmentFactory;
+ public EnvironmentFactoryDescriptor(EnvironmentFactory environmentFactory) {
+ this.environmentFactory = environmentFactory;
+ }
+
public Object construct(WireContext wireContext) {
- return wireContext.getEnvironmentFactory();
+ return environmentFactory;
}
}
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/descriptor/EnvironmentInterceptorDescriptor.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/descriptor/EnvironmentInterceptorDescriptor.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/descriptor/EnvironmentInterceptorDescriptor.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -31,13 +31,16 @@
public class EnvironmentInterceptorDescriptor extends AbstractDescriptor {
private static final long serialVersionUID = 1L;
+
+ EnvironmentFactory environmentFactory;
+
+ public EnvironmentInterceptorDescriptor(EnvironmentFactory environmentFactory) {
+ this.environmentFactory = environmentFactory;
+ }
public Object construct(WireContext wireContext) {
EnvironmentInterceptor environmentInterceptor = new EnvironmentInterceptor();
-
- EnvironmentFactory environmentFactory = wireContext.getEnvironmentFactory();
environmentInterceptor.setEnvironmentFactory(environmentFactory);
-
return environmentInterceptor;
}
}
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/descriptor/ObjectDescriptor.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/descriptor/ObjectDescriptor.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/wire/descriptor/ObjectDescriptor.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -277,9 +277,6 @@
) {
autoWireValue = wireContext;
- } else if ("environmentFactory".equals(fieldName)) {
- autoWireValue = Environment.getCurrent().getEnvironmentFactory();
-
} else if (wireContext.has(fieldName)) {
autoWireValue = wireContext.get(fieldName);
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/env/EnvironmentSearchOrderTest.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/env/EnvironmentSearchOrderTest.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/env/EnvironmentSearchOrderTest.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -128,7 +128,7 @@
" <string name='a' value='added-a' />" +
"</objects>"
);
- WireContext addedContext = new WireContext(wireDefinition, "added", environmentFactory);
+ WireContext addedContext = new WireContext(wireDefinition, "added");
// add the new context to the enviromnent
environment.addContext(addedContext);
@@ -162,7 +162,7 @@
" <string name='a' value='added-a' />" +
"</objects>"
);
- WireContext addedContext = new WireContext(wireDefinition, "added", environmentFactory);
+ WireContext addedContext = new WireContext(wireDefinition, "added");
// add the new context to the enviromnent
environment.addContext(addedContext);
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/wire/ContextBlockSubscriptionTest.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/wire/ContextBlockSubscriptionTest.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/wire/ContextBlockSubscriptionTest.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -77,14 +77,14 @@
// In this test, there is no eager initialization
EnvironmentFactory environmentFactory = PvmEnvironmentFactory.parseXmlString(
- "<environment-scopes>" +
+ "<contexts>" +
" <environment-factory />" +
" <environment>" +
" <object name='recorder' class='"+Recorder.class.getName()+"'>" +
" <subscribe />" +
" </object>" +
" </environment>" +
- "</environment-scopes>"
+ "</contexts>"
);
Environment environment = environmentFactory.openEnvironment();
@@ -127,14 +127,14 @@
// In this test, there is eager initialisation
EnvironmentFactory environmentFactory = PvmEnvironmentFactory.parseXmlString(
- "<environment-scopes>" +
+ "<contexts>" +
" <environment-factory />" +
" <environment>" +
" <object name='recorder' class='"+Recorder.class.getName()+"' init='eager'>" +
" <subscribe />" +
" </object>" +
" </environment>" +
- "</environment-scopes>"
+ "</contexts>"
);
Environment environment = environmentFactory.openEnvironment();
@@ -161,7 +161,7 @@
// In this test, there is eager initialisation
EnvironmentFactory environmentFactory = PvmEnvironmentFactory.parseXmlString(
- "<environment-scopes>" +
+ "<contexts>" +
" <environment-factory />" +
" <environment>" +
" <object name='recorder' class='"+Recorder.class.getName()+"' init='eager'>" +
@@ -169,7 +169,7 @@
" </object>" +
" <object name='o' class='"+Object.class.getName()+"' />" +
" </environment>" +
- "</environment-scopes>"
+ "</contexts>"
);
Environment environment = environmentFactory.openEnvironment();
@@ -202,14 +202,14 @@
// In this test, there is eager initialisation
EnvironmentFactory environmentFactory = PvmEnvironmentFactory.parseXmlString(
- "<environment-scopes>" +
+ "<contexts>" +
" <environment-factory />" +
" <environment>" +
" <object name='recorder' class='"+Recorder.class.getName()+"' init='eager'>" +
" <subscribe event='interestingevent'/>" +
" </object>" +
" </environment>" +
- "</environment-scopes>"
+ "</contexts>"
);
Environment environment = environmentFactory.openEnvironment();
@@ -238,14 +238,14 @@
// In this test, there is eager initialisation
EnvironmentFactory environmentFactory = PvmEnvironmentFactory.parseXmlString(
- "<environment-scopes>" +
+ "<contexts>" +
" <environment-factory />" +
" <environment>" +
" <object name='recorder' class='"+Recorder.class.getName()+"' init='eager'>" +
" <subscribe events='constructing, open, constructed, interestingevent, close'/>" +
" </object>" +
" </environment>" +
- "</environment-scopes>"
+ "</contexts>"
);
Environment environment = environmentFactory.openEnvironment();
@@ -285,7 +285,7 @@
// In this test, there is eager initialisation
EnvironmentFactory environmentFactory = PvmEnvironmentFactory.parseXmlString(
- "<environment-scopes>" +
+ "<contexts>" +
" <environment-factory />" +
" <environment>" +
" <object name='recorder' class='"+Recorder.class.getName()+"' init='eager'>" +
@@ -293,7 +293,7 @@
" </object>" +
" <object name='o' class='"+Object.class.getName()+"' />" +
" </environment>" +
- "</environment-scopes>"
+ "</contexts>"
);
Environment environment = environmentFactory.openEnvironment();
@@ -321,7 +321,7 @@
public void testOtherWireScope() {
EnvironmentFactory environmentFactory = PvmEnvironmentFactory.parseXmlString(
- "<environment-scopes>" +
+ "<contexts>" +
" <environment-factory>" +
" <object name='factory' class='"+Object.class.getName()+"' />" +
" </environment-factory>" +
@@ -331,20 +331,17 @@
" </object>" +
" <object name='product' factory='factory' method='getClass' />" +
" </environment>" +
- "</environment-scopes>"
+ "</contexts>"
);
int index=0;
Environment environment = environmentFactory.openEnvironment();
try {
- assertEquals(events.toString(), 1, events.size());
- assertEquals("open-environment", events.get(index).eventName);
- assertSame(environment, events.get(index).info);
+ assertEquals(events.toString(), 0, events.size());
assertNotNull(environment.get("product"));
- index++;
assertEquals("constructing", events.get(index).eventName);
assertEquals("factory", ((WireObjectEventInfo)events.get(index).info).getObjectName());
index++;
@@ -362,23 +359,19 @@
environment.close();
}
- index++;
- assertEquals("close-environment", events.get(index).eventName);
- assertEquals(environment, events.get(index).info);
-
environmentFactory.close();
index++;
assertEquals("close", events.get(index).eventName);
PvmEnvironmentFactory pvmEnvironmentFactory = (PvmEnvironmentFactory) environmentFactory;
- WireContext applicationWireContext = pvmEnvironmentFactory.getApplicationWireContext();
+ WireContext applicationWireContext = pvmEnvironmentFactory.getEnvironmentFactoryCtxWireContext();
assertEquals(applicationWireContext, events.get(index).source);
assertNull(events.get(index).info);
}
public void testOtherWireScopeWithEventFiltering() {
EnvironmentFactory environmentFactory = PvmEnvironmentFactory.parseXmlString(
- "<environment-scopes>" +
+ "<contexts>" +
" <environment-factory>" +
" <object name='factory' class='"+Object.class.getName()+"' />" +
" </environment-factory>" +
@@ -388,7 +381,7 @@
" </object>" +
" <object name='product' factory='factory' method='getClass' />" +
" </environment>" +
- "</environment-scopes>"
+ "</contexts>"
);
int index=0;
@@ -416,14 +409,14 @@
public void testUnexistingScope() {
EnvironmentFactory environmentFactory = PvmEnvironmentFactory.parseXmlString(
- "<environment-scopes>" +
+ "<contexts>" +
" <environment-factory />" +
" <environment>" +
" <object name='recorder' class='"+Recorder.class.getName()+"' init='eager'>" +
" <subscribe context='unexistingcontext' />" +
" </object>" +
" </environment>" +
- "</environment-scopes>"
+ "</contexts>"
);
assertNull(Environment.getCurrent());
@@ -445,7 +438,7 @@
// In this test, there is no eager initialization
EnvironmentFactory environmentFactory = PvmEnvironmentFactory.parseXmlString(
- "<environment-scopes>" +
+ "<contexts>" +
" <environment-factory />" +
" <environment>" +
" <object name='a' class='"+A.class.getName()+"'>" +
@@ -456,7 +449,7 @@
" </field>" +
" </object>"+
" </environment>" +
- "</environment-scopes>"
+ "</contexts>"
);
Environment environment = environmentFactory.openEnvironment();
@@ -504,7 +497,7 @@
// In this test, there is no eager initialization
EnvironmentFactory environmentFactory = PvmEnvironmentFactory.parseXmlString(
- "<environment-scopes>" +
+ "<contexts>" +
" <environment-factory />" +
" <environment>" +
" <object name='a' class='"+A.class.getName()+"'>" +
@@ -519,7 +512,7 @@
" </field>" +
" </object>"+
" </environment>" +
- "</environment-scopes>"
+ "</contexts>"
);
Environment environment = environmentFactory.openEnvironment();
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/wire/EnvWireTest.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/wire/EnvWireTest.java 2008-08-07 11:54:56 UTC (rev 1850)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/wire/EnvWireTest.java 2008-08-08 13:23:00 UTC (rev 1851)
@@ -52,7 +52,6 @@
assertNotNull(f);
assertEquals(environmentFactory, f);
- assertEquals(f, environment.getEnvironmentFactory());
} finally {
environment.close();
}
Property changes on: jbpm4/pvm/trunk/modules/minimal
___________________________________________________________________
Name: svn:ignore
+ target
17 years, 8 months
JBoss JBPM SVN: r1850 - jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures.
by do-not-reply@jboss.org
Author: porcherg
Date: 2008-08-07 07:54:56 -0400 (Thu, 07 Aug 2008)
New Revision: 1850
Modified:
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures/AutomaticDecisionDbTest.java
Log:
db version of automaticDecisionTest
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures/AutomaticDecisionDbTest.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures/AutomaticDecisionDbTest.java 2008-08-07 11:52:29 UTC (rev 1849)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures/AutomaticDecisionDbTest.java 2008-08-07 11:54:56 UTC (rev 1850)
@@ -82,24 +82,27 @@
assertEquals("priority delivery", execution.getNodeName());
}
-/* public void testAverageRating() {
- ClientProcessDefinition processDefinition = createCreditProcess();
+ public void testAverageRating() {
+ ProcessDefinition processDefinition = processService.deploy(createCreditProcess());
- ClientProcessInstance execution = processDefinition.createProcessInstance();
- execution.setVariable("creditRate", 2);
- execution.begin();
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("creditRate", 2);
- assertEquals("bulk delivery", execution.getNode().getName());
+ Execution execution = executionService.startExecution(processDefinition.getDbid(), variables);
+
+
+ assertEquals("bulk delivery", execution.getNodeName());
}
public void testBadRating() {
- ClientProcessDefinition processDefinition = createCreditProcess();
+ ProcessDefinition processDefinition = processService.deploy(createCreditProcess());
- ClientProcessInstance execution = processDefinition.createProcessInstance();
- execution.setVariable("creditRate", -7);
- execution.begin();
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("creditRate", -7);
- assertEquals("payment upfront", execution.getNode().getName());
+ Execution execution = executionService.startExecution(processDefinition.getDbid(), variables);
+
+ assertEquals("payment upfront", execution.getNodeName());
}
-*/
+
}
17 years, 8 months
JBoss JBPM SVN: r1849 - jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/hibernate.
by do-not-reply@jboss.org
Author: porcherg
Date: 2008-08-07 07:52:29 -0400 (Thu, 07 Aug 2008)
New Revision: 1849
Modified:
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/hibernate/ConverterType.java
Log:
converter type should be in a varchar sql column (the name of the converter is a string)
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/hibernate/ConverterType.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/hibernate/ConverterType.java 2008-08-07 11:50:51 UTC (rev 1848)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/hibernate/ConverterType.java 2008-08-07 11:52:29 UTC (rev 1849)
@@ -60,7 +60,7 @@
}
public int sqlType() {
- return Types.CHAR;
+ return Types.VARCHAR;
}
public String toString(Object arg0) throws HibernateException {
17 years, 8 months
JBoss JBPM SVN: r1848 - in jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db: basicfeatures and 1 other directory.
by do-not-reply@jboss.org
Author: porcherg
Date: 2008-08-07 07:50:51 -0400 (Thu, 07 Aug 2008)
New Revision: 1848
Added:
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures/
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures/AutomaticDecisionDbTest.java
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures/BasicExecutionFlowDbTest.java
Log:
api db tests (tests from basicfeatures)
Added: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures/AutomaticDecisionDbTest.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures/AutomaticDecisionDbTest.java (rev 0)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures/AutomaticDecisionDbTest.java 2008-08-07 11:50:51 UTC (rev 1848)
@@ -0,0 +1,105 @@
+/**
+ * Copyright (C) 2007 Bull S. A. S.
+ * Bull, Rue Jean Jaures, B.P.68, 78340, Les Clayes-sous-Bois
+ * This library 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
+ * version 2.1 of the License.
+ * This library 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
+ * program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
+ * Floor, Boston, MA 02110-1301, USA.
+ **/
+package org.jbpm.pvm.api.db.basicfeatures;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jbpm.pvm.Execution;
+import org.jbpm.pvm.activity.Activity;
+import org.jbpm.pvm.activity.ActivityExecution;
+import org.jbpm.pvm.activity.ExternalActivity;
+import org.jbpm.pvm.client.ClientProcessDefinition;
+import org.jbpm.pvm.model.ProcessDefinition;
+import org.jbpm.pvm.model.ProcessFactory;
+import org.jbpm.pvm.test.base.DbTestCase;
+
+
+/**
+ * @author Guillaume Porcher
+ *
+ */
+public class AutomaticDecisionDbTest extends DbTestCase {
+
+ public static class AutomaticCreditRating implements Activity {
+ private static final long serialVersionUID = 1L;
+ public void execute(ActivityExecution execution) {
+ int creditRate = (Integer) execution.getVariable("creditRate");
+
+ if (creditRate > 5) {
+ execution.take("good");
+
+ } else if (creditRate < -5) {
+ execution.take("bad");
+
+ } else {
+ execution.take("average");
+ }
+ }
+ }
+
+ public static class WaitState implements ExternalActivity {
+ private static final long serialVersionUID = 1L;
+ public void execute(ActivityExecution execution) {
+ execution.waitForSignal();
+ }
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) {
+ execution.take(signalName);
+ }
+ }
+
+ public static ClientProcessDefinition createCreditProcess() {
+ return ProcessFactory.build("creditProcess")
+ .node("creditRate?").initial().behaviour(AutomaticCreditRating.class)
+ .transition("good").to("priority delivery")
+ .transition("average").to("bulk delivery")
+ .transition("bad").to("payment upfront")
+ .node("priority delivery").behaviour(WaitState.class)
+ .node("bulk delivery").behaviour(WaitState.class)
+ .node("payment upfront").behaviour(WaitState.class)
+ .done();
+ }
+
+ public void testGoodRating() {
+ ProcessDefinition processDefinition = processService.deploy(createCreditProcess());
+
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("creditRate", 7);
+
+ Execution execution = executionService.startExecution(processDefinition.getDbid(), variables);
+
+ assertEquals("priority delivery", execution.getNodeName());
+ }
+
+/* public void testAverageRating() {
+ ClientProcessDefinition processDefinition = createCreditProcess();
+
+ ClientProcessInstance execution = processDefinition.createProcessInstance();
+ execution.setVariable("creditRate", 2);
+ execution.begin();
+
+ assertEquals("bulk delivery", execution.getNode().getName());
+ }
+
+ public void testBadRating() {
+ ClientProcessDefinition processDefinition = createCreditProcess();
+
+ ClientProcessInstance execution = processDefinition.createProcessInstance();
+ execution.setVariable("creditRate", -7);
+ execution.begin();
+
+ assertEquals("payment upfront", execution.getNode().getName());
+ }
+*/
+}
Property changes on: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures/AutomaticDecisionDbTest.java
___________________________________________________________________
Name: svn:keywords
+ Id
Added: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures/BasicExecutionFlowDbTest.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures/BasicExecutionFlowDbTest.java (rev 0)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures/BasicExecutionFlowDbTest.java 2008-08-07 11:50:51 UTC (rev 1848)
@@ -0,0 +1,135 @@
+/**
+ * Copyright (C) 2007 Bull S. A. S.
+ * Bull, Rue Jean Jaures, B.P.68, 78340, Les Clayes-sous-Bois
+ * This library 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
+ * version 2.1 of the License.
+ * This library 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
+ * program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
+ * Floor, Boston, MA 02110-1301, USA.
+ **/
+package org.jbpm.pvm.api.db.basicfeatures;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.jbpm.pvm.Execution;
+import org.jbpm.pvm.activity.Activity;
+import org.jbpm.pvm.activity.ActivityExecution;
+import org.jbpm.pvm.activity.ExternalActivity;
+import org.jbpm.pvm.client.ClientProcessDefinition;
+import org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor;
+import org.jbpm.pvm.model.ProcessFactory;
+import org.jbpm.pvm.test.base.DbTestCase;
+
+
+/**
+ * @author Guillaume Porcher
+ *
+ */
+public class BasicExecutionFlowDbTest extends DbTestCase {
+
+ // automatic activity will log an event in a given list
+ public static List<String> recordedEvents;
+
+ public static class AutomaticActivity implements Activity {
+ private static final long serialVersionUID = 1L;
+
+ public void execute(ActivityExecution execution) {
+ recordedEvents.add("execute["+execution.getNodeName()+"]");
+ }
+ }
+
+ public static class WaitState implements ExternalActivity {
+ private static final long serialVersionUID = 1L;
+
+ public void execute(ActivityExecution execution) {
+ recordedEvents.add("execute["+execution.getNodeName()+"]");
+ execution.waitForSignal();
+ }
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) throws Exception {
+ recordedEvents.add("signal["+execution.getNodeName()+"]");
+ execution.take(signalName);
+ }
+ }
+
+ public void testChainOfAutomaticActivitiesAndWaitStates() {
+ recordedEvents = new ArrayList<String>();
+
+ ClientProcessDefinition processDefinition = ProcessFactory.build("myProcess")
+ .node("a").initial().behaviour(new ObjectDescriptor(AutomaticActivity.class))
+ .transition().to("b")
+ .node("b").behaviour(AutomaticActivity.class)
+ .transition().to("c")
+ .node("c").behaviour(WaitState.class)
+ .transition().to("d")
+ .node("d").behaviour(WaitState.class)
+ .transition().to("e")
+ .node("e").behaviour(AutomaticActivity.class)
+ .transition().to("f")
+ .node("f").behaviour(AutomaticActivity.class)
+ .done();
+
+ processService.deploy(processDefinition);
+
+ Execution processInstance = executionService.startExecution(processDefinition.getDbid());
+
+ List<String> expectedEvents = new ArrayList<String>();
+
+ expectedEvents.add("execute[a]");
+ expectedEvents.add("execute[b]");
+ expectedEvents.add("execute[c]");
+
+ assertEquals("c", processInstance.getNodeName());
+ assertFalse(processInstance.isEnded());
+ assertEquals(expectedEvents, recordedEvents);
+
+ processInstance = executionService.signalExecution(processInstance.getDbid());
+
+ expectedEvents.add("signal[c]");
+ expectedEvents.add("execute[d]");
+
+ assertEquals("d", processInstance.getNodeName());
+ assertFalse(processInstance.isEnded());
+ assertEquals(expectedEvents, recordedEvents);
+
+ processInstance = executionService.signalExecution(processInstance.getDbid());
+
+ expectedEvents.add("signal[d]");
+ expectedEvents.add("execute[e]");
+ expectedEvents.add("execute[f]");
+
+ assertEquals("f", processInstance.getNodeName());
+ assertTrue(processInstance.isEnded());
+ assertEquals(expectedEvents, recordedEvents);
+ }
+/*
+ public void testDelayedBegin() {
+ recordedEvents = new ArrayList<String>();
+
+ ClientProcessDefinition processDefinition = ProcessFactory.build("delayedBegin")
+ .node("a").initial().behaviour(WaitState.class)
+ .done();
+
+ processService.deploy(processDefinition);
+
+ Execution processInstance = executionService.startExecution(processDefinition.getDbid());
+
+ // here, inbetween create and begin of a process instance, the variables can be initialized
+ // or subprocessinstance-superprocessinstance relation can be set up
+
+ // so we verify that the process execution didn't start yet
+ List<String> expectedEvents = new ArrayList<String>();
+ assertEquals(expectedEvents, recordedEvents);
+
+ processInstance.begin();
+
+ expectedEvents.add("execute[a]");
+ assertEquals(expectedEvents, recordedEvents);
+ }
+*/
+}
Property changes on: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/basicfeatures/BasicExecutionFlowDbTest.java
___________________________________________________________________
Name: svn:keywords
+ Id
17 years, 8 months
JBoss JBPM SVN: r1847 - in jbpm4/jpdl/trunk: .settings and 12 other directories.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2008-08-07 07:24:56 -0400 (Thu, 07 Aug 2008)
New Revision: 1847
Added:
jbpm4/jpdl/trunk/.settings/
jbpm4/jpdl/trunk/.settings/org.eclipse.jdt.core.prefs
jbpm4/jpdl/trunk/.settings/org.maven.ide.eclipse.prefs
jbpm4/jpdl/trunk/jpdl.iml
jbpm4/jpdl/trunk/modules/core/src/main/resources/org/
jbpm4/jpdl/trunk/modules/core/src/main/resources/org/jbpm/
jbpm4/jpdl/trunk/modules/core/src/main/resources/org/jbpm/jpdl/
jbpm4/jpdl/trunk/modules/core/src/main/resources/org/jbpm/jpdl/jpdl.activities.xml
jbpm4/jpdl/trunk/modules/core/src/main/resources/org/jbpm/jpdl/jpdl.xsd
jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/CheckInTests.java
jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/JpdlTestCase.java
jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/controlflow/ControlFlowTests.java
jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/ParsingTests.java
Removed:
jbpm4/jpdl/trunk/jBPM4.iml
jbpm4/jpdl/trunk/modules/core/pom.xml
jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/jpdl.activities.xml
jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/jpdl.xsd
jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/samples/
jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/test/
jbpm4/jpdl/trunk/modules/core/src/test/resources/logging.properties
Modified:
jbpm4/jpdl/trunk/.classpath
jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/JpdlProcessDefinition.java
jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/activity/JpdlActivity.java
jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/activity/JpdlExternalActivity.java
jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/xml/ActivityParser.java
jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/xml/JpdlParser.java
jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/controlflow/DecisionTest.java
jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/controlflow/StateTest.java
jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/ParsingTestCase.java
jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/ProcessParsingTest.java
jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/TransitionParsingTest.java
jbpm4/jpdl/trunk/pom.xml
Log:
pvm refactoring updates
Modified: jbpm4/jpdl/trunk/.classpath
===================================================================
--- jbpm4/jpdl/trunk/.classpath 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/.classpath 2008-08-07 11:24:56 UTC (rev 1847)
@@ -1,17 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" output="modules/jpdl/target/classes" path="modules/jpdl/src/main/java"/>
- <classpathentry kind="src" output="modules/jpdl/target/classes" path="modules/jpdl/src/main/resources"/>
- <classpathentry kind="src" output="modules/jpdl/target/test-classes" path="modules/jpdl/src/test/java"/>
- <classpathentry kind="src" output="modules/jpdl/target/test-classes" path="modules/jpdl/src/test/resources"/>
- <classpathentry kind="src" output="modules/identity/target/classes" path="modules/identity/src/main/java"/>
- <classpathentry kind="src" output="modules/identity/target/classes" path="modules/identity/src/main/resources"/>
- <classpathentry kind="src" output="modules/identity/target/test-classes" path="modules/identity/src/test/java"/>
- <classpathentry kind="src" output="modules/identity/target/test-classes" path="modules/identity/src/test/resources"/>
- <classpathentry kind="src" output="modules/task/target/classes" path="modules/task/src/main/java"/>
- <classpathentry kind="src" output="modules/task/target/classes" path="modules/task/src/main/resources"/>
- <classpathentry kind="src" output="modules/task/target/test-classes" path="modules/task/src/test/java"/>
- <classpathentry kind="src" output="modules/task/target/test-classes" path="modules/task/src/test/resources"/>
+ <classpathentry kind="src" output="modules/core/target/classes" path="modules/core/src/main/java"/>
+ <classpathentry kind="src" output="modules/core/target/classes" path="modules/core/src/main/resources"/>
+ <classpathentry kind="src" output="modules/core/target/test-classes" path="modules/core/src/test/java"/>
+ <classpathentry kind="src" output="modules/core/target/test-classes" path="modules/core/src/test/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="output" path="target/classes"/>
Added: jbpm4/jpdl/trunk/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- jbpm4/jpdl/trunk/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ jbpm4/jpdl/trunk/.settings/org.eclipse.jdt.core.prefs 2008-08-07 11:24:56 UTC (rev 1847)
@@ -0,0 +1,5 @@
+#Wed Aug 06 17:23:28 CEST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.source=1.5
Added: jbpm4/jpdl/trunk/.settings/org.maven.ide.eclipse.prefs
===================================================================
--- jbpm4/jpdl/trunk/.settings/org.maven.ide.eclipse.prefs (rev 0)
+++ jbpm4/jpdl/trunk/.settings/org.maven.ide.eclipse.prefs 2008-08-07 11:24:56 UTC (rev 1847)
@@ -0,0 +1,8 @@
+#Thu Aug 07 09:07:12 CEST 2008
+activeProfiles=
+eclipse.preferences.version=1
+fullBuildGoals=process-test-resources
+includeModules=true
+resolveWorkspaceProjects=true
+resourceFilterGoals=process-resources resources\:testResources
+version=1
Deleted: jbpm4/jpdl/trunk/jBPM4.iml
===================================================================
--- jbpm4/jpdl/trunk/jBPM4.iml 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/jBPM4.iml 2008-08-07 11:24:56 UTC (rev 1847)
@@ -1,458 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module version="4" relativePaths="true" type="JAVA_MODULE">
- <component name="ModuleRootManager" />
- <component name="NewModuleRootManager" inherit-compiler-output="true">
- <exclude-output />
- <content url="file://$MODULE_DIR$">
- <sourceFolder url="file://$MODULE_DIR$/modules/identity/src/main/java" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/modules/identity/src/main/resources" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/modules/identity/src/test/java" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/modules/identity/src/test/resources" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/modules/jpdl/src/main/java" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/modules/jpdl/src/main/resources" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/modules/jpdl/src/test/java" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/modules/jpdl/src/test/resources" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/modules/task/src/main/java" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/modules/task/src/main/resources" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/modules/task/src/test/java" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/modules/task/src/test/resources" isTestSource="true" />
- </content>
- <orderEntry type="inheritedJdk" />
- <orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="module" module-name="pvm" />
- <orderEntry type="module-library">
- <library name="M2 Dep: dom4j:dom4j:jar:1.6.1-jboss:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/dom4j/dom4j/1.6.1-jboss/dom4j-1.6.1-jboss.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: hsqldb:hsqldb:jar:1.8.0.7:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: org.jboss:jboss-reflect:jar:2.0.0.Beta12:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: log4j:log4j:jar:1.2.14:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: org.jboss.microcontainer:jboss-dependency:jar:2.0.0.Beta15:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta15/jboss-dependency-2.0.0.Beta15.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: jboss:jboss-common-logging-spi:jar:2.0.4.GA:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: com.cenqua.clover:clover:jar:2.3.1:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/com/cenqua/clover/clover/2.3.1/clover-2.3.1.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: antlr:antlr:jar:2.7.6:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: commons-collections:commons-collections:jar:2.1.1:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: httpunit:httpunit:jar:1.6:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/httpunit/httpunit/1.6/httpunit-1.6.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: org.jboss:jboss-mdr:jar:2.0.0.Beta15:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/jboss-mdr/2.0.0.Beta15/jboss-mdr-2.0.0.Beta15.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: org.jboss.logging:jboss-logging-spi:jar:2.0.5.GA:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: javax.servlet:servlet-api:jar:2.5:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: org.jboss:jboss-common-core:jar:2.2.4.GA:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/jboss-common-core/2.2.4.GA/jboss-common-core-2.2.4.GA.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: org.livetribe:livetribe-jsr223:jar:2.0.3:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/livetribe/livetribe-jsr223/2.0.3/livetribe-jsr223-2.0.3.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: cactus:cactus:jar:13-1.7.1:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/cactus/cactus/13-1.7.1/cactus-13-1.7.1.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: jboss:jboss-j2ee:jar:4.2.1.GA:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/jboss/jboss-j2ee/4.2.1.GA/jboss-j2ee-4.2.1.GA.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: nekohtml:nekohtml:jar:0.9.1:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/nekohtml/nekohtml/0.9.1/nekohtml-0.9.1.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: javax.el:el-api:jar:1.0:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/el/el-api/1.0/el-api-1.0.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: asm:asm:jar:1.5.3:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/asm/asm/1.5.3/asm-1.5.3.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: jtidy:jtidy:jar:4aug2000r7-dev:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: cactus:cactus-ant:jar:13-1.7.1:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/cactus/cactus-ant/13-1.7.1/cactus-ant-13-1.7.1.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: org.jboss:jbossxb:jar:2.0.0.CR9:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/jbossxb/2.0.0.CR9/jbossxb-2.0.0.CR9.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: org.jboss.jbpm:jbpm-api:jar:1.0.0-SNAPSHOT:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/jbpm/jbpm-api/1.0.0-SNAPSHOT/jbpm-api-1.0.0-SNAPSHOT.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: ant:ant:jar:1.5.4:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/ant/ant/1.5.4/ant-1.5.4.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: javassist:javassist:jar:3.3.GA:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/javassist/javassist/3.3.GA/javassist-3.3.GA.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: org.jboss.el:jboss-el:jar:2.0.1.GA:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/el/jboss-el/2.0.1.GA/jboss-el-2.0.1.GA.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: net.sf.ehcache:ehcache:jar:1.2.3:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: rhino:js:jar:1.5R4.1:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/rhino/js/1.5R4.1/js-1.5R4.1.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: javax.xml.bind:jaxb-api:jar:2.1:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: commons-httpclient:commons-httpclient:jar:2.0.2:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/commons-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: javax.activation:activation:jar:1.0.2:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/activation/activation/1.0.2/activation-1.0.2.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: apache-xerces:xercesImpl:jar:2.9.1:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: commons-logging:commons-logging:jar:1.0.4:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: xerces:xercesImpl:jar:2.6.2:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: wutka-dtdparser:dtdparser121:jar:1.2.1:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: asm:asm-attrs:jar:1.5.3:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: junit:junit:jar:3.8.2:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/junit/junit/3.8.2/junit-3.8.2.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: cargo:cargo:jar:0.5:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/cargo/cargo/0.5/cargo-0.5.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: cglib:cglib:jar:2.1_3:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/cglib/cglib/2.1_3/cglib-2.1_3.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: org.springframework:spring:jar:2.5.4:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/springframework/spring/2.5.4/spring-2.5.4.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: xerces:xmlParserAPIs:jar:2.2.1:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/xerces/xmlParserAPIs/2.2.1/xmlParserAPIs-2.2.1.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: aspectj:aspectjrt:jar:1.2.1:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/aspectj/aspectjrt/1.2.1/aspectjrt-1.2.1.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: org.hibernate:hibernate:jar:3.2.5.ga:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/hibernate/hibernate/3.2.5.ga/hibernate-3.2.5.ga.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: org.jboss.microcontainer:jboss-kernel:jar:2.0.0.Beta15:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta15/jboss-kernel-2.0.0.Beta15.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: javax.xml.stream:stax-api:jar:1.0-2:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: org.jboss.seam:jboss-seam:jar:2.0.1.GA:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/seam/jboss-seam/2.0.1.GA/jboss-seam-2.0.1.GA.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library name="M2 Dep: javax.transaction:jta:jar:1.0.1B:compile">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntryProperties />
- </component>
-</module>
-
Copied: jbpm4/jpdl/trunk/jpdl.iml (from rev 1632, jbpm4/jpdl/trunk/jBPM4.iml)
===================================================================
--- jbpm4/jpdl/trunk/jpdl.iml (rev 0)
+++ jbpm4/jpdl/trunk/jpdl.iml 2008-08-07 11:24:56 UTC (rev 1847)
@@ -0,0 +1,458 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+ <component name="ModuleRootManager" />
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/modules/identity/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/modules/identity/src/main/resources" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/modules/identity/src/test/java" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/modules/identity/src/test/resources" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/modules/jpdl/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/modules/jpdl/src/main/resources" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/modules/jpdl/src/test/java" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/modules/jpdl/src/test/resources" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/modules/task/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/modules/task/src/main/resources" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/modules/task/src/test/java" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/modules/task/src/test/resources" isTestSource="true" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module" module-name="pvm" />
+ <orderEntry type="module-library">
+ <library name="M2 Dep: dom4j:dom4j:jar:1.6.1-jboss:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/dom4j/dom4j/1.6.1-jboss/dom4j-1.6.1-jboss.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: hsqldb:hsqldb:jar:1.8.0.7:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: org.jboss:jboss-reflect:jar:2.0.0.Beta12:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: log4j:log4j:jar:1.2.14:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: org.jboss.microcontainer:jboss-dependency:jar:2.0.0.Beta15:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta15/jboss-dependency-2.0.0.Beta15.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: jboss:jboss-common-logging-spi:jar:2.0.4.GA:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: com.cenqua.clover:clover:jar:2.3.1:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/com/cenqua/clover/clover/2.3.1/clover-2.3.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: antlr:antlr:jar:2.7.6:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: commons-collections:commons-collections:jar:2.1.1:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: httpunit:httpunit:jar:1.6:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/httpunit/httpunit/1.6/httpunit-1.6.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: org.jboss:jboss-mdr:jar:2.0.0.Beta15:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/jboss-mdr/2.0.0.Beta15/jboss-mdr-2.0.0.Beta15.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: org.jboss.logging:jboss-logging-spi:jar:2.0.5.GA:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: javax.servlet:servlet-api:jar:2.5:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: org.jboss:jboss-common-core:jar:2.2.4.GA:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/jboss-common-core/2.2.4.GA/jboss-common-core-2.2.4.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: org.livetribe:livetribe-jsr223:jar:2.0.3:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/livetribe/livetribe-jsr223/2.0.3/livetribe-jsr223-2.0.3.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: cactus:cactus:jar:13-1.7.1:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/cactus/cactus/13-1.7.1/cactus-13-1.7.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: jboss:jboss-j2ee:jar:4.2.1.GA:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/jboss/jboss-j2ee/4.2.1.GA/jboss-j2ee-4.2.1.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: nekohtml:nekohtml:jar:0.9.1:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/nekohtml/nekohtml/0.9.1/nekohtml-0.9.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: javax.el:el-api:jar:1.0:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/el/el-api/1.0/el-api-1.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: asm:asm:jar:1.5.3:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/asm/asm/1.5.3/asm-1.5.3.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: jtidy:jtidy:jar:4aug2000r7-dev:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: cactus:cactus-ant:jar:13-1.7.1:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/cactus/cactus-ant/13-1.7.1/cactus-ant-13-1.7.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: org.jboss:jbossxb:jar:2.0.0.CR9:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/jbossxb/2.0.0.CR9/jbossxb-2.0.0.CR9.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: org.jboss.jbpm:jbpm-api:jar:1.0.0-SNAPSHOT:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/jbpm/jbpm-api/1.0.0-SNAPSHOT/jbpm-api-1.0.0-SNAPSHOT.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: ant:ant:jar:1.5.4:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/ant/ant/1.5.4/ant-1.5.4.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: javassist:javassist:jar:3.3.GA:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/javassist/javassist/3.3.GA/javassist-3.3.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: org.jboss.el:jboss-el:jar:2.0.1.GA:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/el/jboss-el/2.0.1.GA/jboss-el-2.0.1.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: net.sf.ehcache:ehcache:jar:1.2.3:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: rhino:js:jar:1.5R4.1:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/rhino/js/1.5R4.1/js-1.5R4.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: javax.xml.bind:jaxb-api:jar:2.1:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: commons-httpclient:commons-httpclient:jar:2.0.2:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/commons-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: javax.activation:activation:jar:1.0.2:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/activation/activation/1.0.2/activation-1.0.2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: apache-xerces:xercesImpl:jar:2.9.1:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: commons-logging:commons-logging:jar:1.0.4:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: xerces:xercesImpl:jar:2.6.2:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: wutka-dtdparser:dtdparser121:jar:1.2.1:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: asm:asm-attrs:jar:1.5.3:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: junit:junit:jar:3.8.2:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/junit/junit/3.8.2/junit-3.8.2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: cargo:cargo:jar:0.5:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/cargo/cargo/0.5/cargo-0.5.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: cglib:cglib:jar:2.1_3:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/cglib/cglib/2.1_3/cglib-2.1_3.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: org.springframework:spring:jar:2.5.4:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/springframework/spring/2.5.4/spring-2.5.4.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: xerces:xmlParserAPIs:jar:2.2.1:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/xerces/xmlParserAPIs/2.2.1/xmlParserAPIs-2.2.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: aspectj:aspectjrt:jar:1.2.1:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/aspectj/aspectjrt/1.2.1/aspectjrt-1.2.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: org.hibernate:hibernate:jar:3.2.5.ga:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/hibernate/hibernate/3.2.5.ga/hibernate-3.2.5.ga.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: org.jboss.microcontainer:jboss-kernel:jar:2.0.0.Beta15:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta15/jboss-kernel-2.0.0.Beta15.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: javax.xml.stream:stax-api:jar:1.0-2:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: org.jboss.seam:jboss-seam:jar:2.0.1.GA:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/seam/jboss-seam/2.0.1.GA/jboss-seam-2.0.1.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: javax.transaction:jta:jar:1.0.1B:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntryProperties />
+ </component>
+</module>
+
Property changes on: jbpm4/jpdl/trunk/jpdl.iml
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: jbpm4/jpdl/trunk/modules/core/pom.xml
===================================================================
--- jbpm4/jpdl/trunk/modules/core/pom.xml 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/modules/core/pom.xml 2008-08-07 11:24:56 UTC (rev 1847)
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ====================================================================== -->
-<!-- -->
-<!-- JBoss, the OpenSource J2EE webOS -->
-<!-- -->
-<!-- Distributable under LGPL license. -->
-<!-- See terms of license at http://www.gnu.org. -->
-<!-- -->
-<!-- ====================================================================== -->
-
-<!-- $Id$ -->
-
-<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>
-
- <name>JBoss jBPM 4 - jPDL Core</name>
- <groupId>org.jboss.jbpm</groupId>
- <artifactId>jpdl-core</artifactId>
- <packaging>jar</packaging>
-
- <!-- Parent -->
- <parent>
- <groupId>org.jboss.jbpm</groupId>
- <artifactId>jbpm</artifactId>
- <version>4.0.0-SNAPSHOT</version>
- </parent>
-
- <!-- Properties -->
- <properties>
-
- </properties>
-
- <!-- Dependencies -->
- <dependencies>
- <!-- jBPM Dependencies -->
- <dependency>
- <groupId>org.jboss.jbpm.pvm</groupId>
- <artifactId>pvm-core</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.jbpm</groupId>
- <artifactId>jbpm-api</artifactId>
- </dependency>
-
- <!-- Compile Dependencies -->
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
-
- </dependencies>
-
-
- <!-- Plugins -->
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <showDeprecation>false</showDeprecation>
- <testExcludes>
- <!-- sample currently do not compile -->
- <exclude>org/jbpm/jpdl/controlflow/DecisionTest.java</exclude>
- <exclude>org/jbpm/jpdl/parsing/ProcessParsingTest.java</exclude>
- <exclude>org/jbpm/jpdl/parsing/ParsingTestCase.java</exclude>
- <exclude>org/jbpm/jpdl/test/JpdlTestCase.java</exclude>
- <exclude>org/jbpm/jpdl/parsing/TransitionParsingTest.java</exclude>
- <exclude>org/jbpm/jpdl/parsing/ParsingTestCase.java</exclude>
- <exclude>org/jbpm/jpdl/parsing/NodeParsingTest.java</exclude>
- <exclude>org/jbpm/jpdl/samples/order/Order.java</exclude>
- <exclude>org/jbpm/jpdl/controlflow/StateTest.java</exclude>
- <exclude>org/jbpm/jpdl/parsing/ProcessParsingTest.java</exclude>
- <exclude>org/jbpm/jpdl/parsing/TransitionParsingTest.java</exclude>
- <exclude>org/jbpm/jpdl/parsing/JpdlSchemaTest.java</exclude>
- </testExcludes>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>hibernate.cfg.xml</exclude>
- <exclude>jbpm.cfg.xml</exclude>
- <exclude>jbpm.mail.templates.xml</exclude>
- </excludes>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <!--excludes>
- <exclude>org/jbpm/mail/MailTest.java</exclude>
-
- </excludes-->
- </configuration>
- </plugin>
-
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>build-jars</id>
- <phase>test-compile</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <tasks>
- <property name="tests.output.dir" value="${project.build.directory}"/>
- <property name="tests.resources.dir" value="${basedir}/src/test/resources"/>
- <ant antfile="scripts/build-jars-jpdl.xml" target="build-jars-jpdl"/>
- </tasks>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
Modified: jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/JpdlProcessDefinition.java
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/JpdlProcessDefinition.java 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/JpdlProcessDefinition.java 2008-08-07 11:24:56 UTC (rev 1847)
@@ -21,6 +21,7 @@
*/
package org.jbpm.jpdl;
+import org.jbpm.pvm.client.ClientProcessInstance;
import org.jbpm.pvm.internal.model.ExecutionImpl;
import org.jbpm.pvm.internal.model.ProcessDefinitionImpl;
Modified: jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/activity/JpdlActivity.java
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/activity/JpdlActivity.java 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/activity/JpdlActivity.java 2008-08-07 11:24:56 UTC (rev 1847)
@@ -28,8 +28,7 @@
/**
* @author Tom Baeyens
*/
-public abstract class JpdlActivity implements Activity
-{
+public abstract class JpdlActivity implements Activity {
public void execute(ActivityExecution execution) throws Exception {
execute((JpdlExecution) execution);
Modified: jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/activity/JpdlExternalActivity.java
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/activity/JpdlExternalActivity.java 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/activity/JpdlExternalActivity.java 2008-08-07 11:24:56 UTC (rev 1847)
@@ -31,8 +31,7 @@
/**
* @author Tom Baeyens
*/
-public abstract class JpdlExternalActivity extends JpdlActivity implements ExternalActivity
-{
+public abstract class JpdlExternalActivity extends JpdlActivity implements ExternalActivity {
public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) throws Exception {
signal((JpdlExecution) execution, signalName, parameters);
Deleted: jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/jpdl.activities.xml
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/jpdl.activities.xml 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/jpdl.activities.xml 2008-08-07 11:24:56 UTC (rev 1847)
@@ -1,3 +0,0 @@
-<activities>
- <activity binding="org.jbpm.jpdl.xml.StateBinding" />
-</activities>
\ No newline at end of file
Deleted: jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/jpdl.xsd
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/jpdl.xsd 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/jpdl.xsd 2008-08-07 11:24:56 UTC (rev 1847)
@@ -1,610 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://jbpm.org/jpdl4"
- xmlns:tns="http://jbpm.org/jpdl4"
- elementFormDefault="qualified"
- attributeFormDefault="qualified">
-
- <annotation>
- <documentation>Prelimiary draft of the jPDL 4 process definition
- grammar; element process is the top level element.
-
- TODO: Add node pluggability. (add the proper any's and
- anyAttributes)
-
- TODO: Pull up expression. The expression element in the
- delegation group can be pulled up as an expression
- attribute in each use case of the delegationGroup
-
- TODO: Should automatic activities have timers? That makes sense
- in a transient scenario, but not in a transactional scenario.
- Same comment holds for asynchronous continuations
-
- TODO: Is it a good idea to move blocking and signalling to the API ?
-
- TODO: Figure out task reuse (requires templating and parameters)
- and dynamic task creation (requires tasks to be declared by name
- in the process definition and that from the API tasks can be
- easily instantiated.
-
- TODO: Investigate if object-refs to centrally defined objects would
- add value over inline defined objects.
- </documentation>
- </annotation>
-
- <!-- ### FUNCTIONAL ACTIVITY TYPES ###################################### -->
-
- <group name="delegationGroup">
- <choice>
- <element name="object">
- <annotation><documentation>A java object that will be obtained by using
- the constructor through reflection or through a factory method.</documentation></annotation>
- <complexType>
- <attribute name="class" type="string" />
- </complexType>
- </element>
- <element name="jndi">
- <complexType>
- <attribute name="name" type="string" />
- </complexType>
- </element>
- <element name="expr">
- <complexType>
- <attribute name="text" type="string" use="required"/>
- <attribute name="language" type="string" />
- </complexType>
- </element>
- </choice>
- </group>
-
- <complexType name="invokeType">
- <sequence>
- <group ref="tns:delegationGroup">
- <annotation><documentation>The object on which the method
- will be invoked</documentation></annotation>
- </group>
- <element name="arg" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Arguments passed into the method
- invocation.</documentation></annotation>
- </element>
- </sequence>
- <attribute name="method" type="string" use="required">
- <annotation><documentation>The name of the method to invoke.
- </documentation></annotation>
- </attribute>
- </complexType>
-
- <complexType name="scriptType">
- <sequence>
- <element name="expr" type="string">
- <annotation><documentation>The content of this expression element
- is the script text that will be evaluated. This is mutually
- exclusive with the expression attribute.</documentation></annotation>
- </element>
- </sequence>
- <attribute name="expr" type="string">
- <annotation><documentation>The script text that will be evaluated. This
- is mutually exclusive with the expression element.
- </documentation></annotation>
- </attribute>
- <attribute name="lang" type="string">
- <annotation><documentation>Identification of the scripting language
- to use.</documentation></annotation>
- </attribute>
- </complexType>
-
- <complexType name="emailType">
- <sequence>
- <element name="property">
- <annotation><documentation>Template property value</documentation></annotation>
- <complexType>
- <attribute name="name" type="string" />
- <attribute name="value" type="string" />
- </complexType>
- </element>
- </sequence>
- <attribute name="to" type="string" />
- <attribute name="type" type="string">
- <annotation><documentation>Reference to the email template</documentation></annotation>
- </attribute>
- </complexType>
-
- <element name="timer">
- <annotation><documentation>A timer that will be bound to the most inner enclosing scope.
- Timers can give a signal to an activity instance. The signal will correspond to a transition
- or to an event being fired.
- </documentation></annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <group ref="tns:eventListenerGroup">
- <annotation><documentation>An inline list of event listeners
- on a timer is a short cut for defining the event separately.
- </documentation></annotation>
- </group>
- </choice>
- <attribute name="duedate" type="string" use="required" />
- <attribute name="signal" type="string" use="required">
- <annotation><documentation>Refers to the signal that will be used.
- If inline event listeners are declared, the signal name can not be
- the same as an event that is declared in this scope.
- </documentation></annotation>
- </attribute>
- <attribute name="repeat" type="string" />
- </complexType>
- </element>
-
- <!-- ### EVENT LISTENERS ################################################ -->
-
- <group name="eventListenerGroup">
- <choice>
- <element name="notify">
- <annotation><documentation>Calls the notify method on an
- EventListener.
- </documentation></annotation>
- <complexType>
- <group ref="tns:delegationGroup" />
- <attribute name="object" type="string">
- <annotation><documentation>The reference to an object that is declared
- in the objects section of this process definition.
- </documentation></annotation>
- </attribute>
- <attribute name="expr" type="string">
- <annotation><documentation>The expression that will resolve to
- an Activity implementation.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- <element name="invoke" type="tns:invokeType">
- <annotation><documentation>Invokes a method on a Java object
- through reflection. The return value can be captured in a
- process variable.
- </documentation></annotation>
- </element>
- <element name="script" type="tns:scriptType">
- <annotation><documentation>Evaluates a piece of text as a script
- </documentation></annotation>
- </element>
- <element name="email" type="tns:emailType">
- <annotation><documentation>Sends an email
- </documentation></annotation>
- </element>
- <element ref="tns:timer">
- <annotation><documentation>Creates a timer.
- </documentation></annotation>
- </element>
- </choice>
- </group>
-
- <!-- ### ACTIVITIES ##################################################### -->
-
- <group name="activityGroup">
- <choice>
- <!-- ~~~ CONTROL FLOW ACTIVITIES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="state">
- <annotation><documentation>A wait state. When an execution arrives in this
- activity, the execution will wait until an external trigger is received
- with execution.signal() or execution.getActivityInstance().signal()
- </documentation></annotation>
- <complexType>
- <sequence>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- </element>
- <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attributeGroup ref="tns:nodeAttributes" />
- </complexType>
- </element>
-
- <element name="decision">
- <annotation><documentation>Selects one path out of many alternatives.
- When an execution comes in, exactly one outgoing transition is
- taken.
- </documentation></annotation>
- <complexType>
- <sequence>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- </element>
- </sequence>
- <attributeGroup ref="tns:nodeAttributes" />
- </complexType>
- </element>
-
- <element name="fork">
- <annotation><documentation>Spawns multiple concurrent paths of
- execution.
- </documentation></annotation>
- <complexType>
- <sequence>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- </element>
- </sequence>
- <attributeGroup ref="tns:nodeAttributes" />
- </complexType>
- </element>
-
- <element name="join">
- <annotation><documentation>Spawns multiple concurrent paths of
- execution.
- </documentation></annotation>
- <complexType>
- <sequence>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- </element>
- </sequence>
- <attributeGroup ref="tns:nodeAttributes" />
- </complexType>
- </element>
-
- <element name="process-state">
- <annotation><documentation>Waits while a sub process instance is
- being executed and continues when the sub process instance ends.
- </documentation></annotation>
- <complexType>
- <sequence>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- </element>
- <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attributeGroup ref="tns:nodeAttributes" />
- </complexType>
- </element>
-
- <element name="super-state">
- <annotation><documentation>Scope enclosing a number of nodes.
- </documentation></annotation>
- <complexType>
- <sequence>
- <group ref="tns:activityGroup" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- </element>
- <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attributeGroup ref="tns:nodeAttributes" />
- </complexType>
- </element>
-
- <element name="end-state">
- <annotation><documentation>Ends the process instance.
- </documentation></annotation>
- <complexType>
- <sequence>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- </element>
- </sequence>
- <attributeGroup ref="tns:nodeAttributes" />
- <attribute name="ends" default="process-instance">
- <simpleType>
- <restriction base="string">
- <enumeration value="execution"/>
- <enumeration value="process-instance"/>
- </restriction>
- </simpleType>
- </attribute>
- </complexType>
- </element>
-
- <!-- ~~~ FUNCTIONAL ACTIVITIES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="activity">
- <annotation><documentation>Executes an activity implementation.
- </documentation></annotation>
- <complexType>
- <sequence>
- <group ref="tns:delegationGroup"/>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- </element>
- </sequence>
- <attributeGroup ref="tns:nodeAttributes" />
- </complexType>
- </element>
-
- <element name="invoke">
- <annotation><documentation>Invokes a method on a java object
- </documentation></annotation>
- <complexType>
- <complexContent>
- <extension base="tns:invokeType">
- <sequence>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- </element>
- </sequence>
- <attributeGroup ref="tns:nodeAttributes" />
- </extension>
- </complexContent>
- </complexType>
- </element>
-
- <element name="script">
- <annotation><documentation>Evaluates a piece of text as a script
- </documentation></annotation>
- <complexType>
- <complexContent>
- <extension base="tns:scriptType">
- <sequence>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- </element>
- </sequence>
- <attributeGroup ref="tns:nodeAttributes" />
- </extension>
- </complexContent>
- </complexType>
- </element>
-
- <element name="email">
- <annotation><documentation>Sends an email
- </documentation></annotation>
- <complexType>
- <complexContent>
- <extension base="tns:emailType">
- <sequence>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- </element>
- </sequence>
- <attributeGroup ref="tns:nodeAttributes" />
- </extension>
- </complexContent>
- </complexType>
- </element>
-
- <element name="task">
- <annotation><documentation>Creates a human task
- </documentation></annotation>
- <complexType>
- <complexContent>
- <extension base="tns:taskType">
- <sequence>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- </element>
- <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attributeGroup ref="tns:nodeAttributes" />
- </extension>
- </complexContent>
- </complexType>
- </element>
- </choice>
- </group>
-
- <!-- ### TASK STUFF ##################################################### -->
-
- <complexType name="taskType">
- <sequence>
- <element ref="tns:assignment" />
- <element name="reminder">
- <complexType>
- <attribute name="duedate" type="string" use="required" />
- <attribute name="repeat" type="string" />
- </complexType>
- </element>
- <element ref="tns:subtask" />
- </sequence>
- <attribute name="title" type="string">
- </attribute>
- <attribute name="form" type="string">
- </attribute>
- <attribute name="swimlane" type="string">
- </attribute>
- <attribute name="description" type="string" />
- <attribute name="duedate" type="string" />
- <attribute name="priority" type="tns:priorityType" default="normal" />
- <attribute name="notify" type="boolean" default="false"/>
- <attribute name="dynamic" type="boolean" default="true">
- <annotation><documentation>Is dynamic creation of subtasks
- allowed ?</documentation></annotation>
- </attribute>
- <attribute name="subtasksync">
- <simpleType>
- <union>
- <simpleType>
- <restriction base="string">
- <enumeration value="last">
- <annotation><documentation>When the last subtask completes,
- this task is completed.</documentation></annotation>
- </enumeration>
- <enumeration value="first">
- <annotation><documentation>When the first subtask completes,
- this task is completed.</documentation></annotation>
- </enumeration>
- </restriction>
- </simpleType>
- <simpleType>
- <restriction base="int">
- <annotation><documentation>The number of subtasks that
- have to complete before this task is considered
- completed.</documentation></annotation>
- </restriction>
- </simpleType>
- </union>
- </simpleType>
- </attribute>
- </complexType>
-
- <simpleType name="priorityType">
- <restriction base="string">
- <enumeration value="highest"/>
- <enumeration value="high"/>
- <enumeration value="normal"/>
- <enumeration value="low"/>
- <enumeration value="lowest"/>
- </restriction>
- </simpleType>
-
- <element name="subtask" type="tns:taskType">
- <annotation><documentation>Subtask in a task activity.</documentation></annotation>
- </element>
-
- <element name="swimlane">
- <annotation><documentation>A process role.</documentation></annotation>
- <complexType>
- <sequence>
- <element ref="tns:assignment"/>
- </sequence>
- <attribute name="name" type="string" use="required" />
- </complexType>
- </element>
-
- <element name="assignment">
- <annotation><documentation>Specifies how a task or a swimlane should be assigned
- to a specific user or who will be identified as a candidate for it.</documentation></annotation>
- <complexType>
- <sequence minOccurs="0">
- <group ref="tns:delegationGroup">
- <annotation><documentation>An object that implements the
- Assigner interface.
- </documentation></annotation>
- </group>
- </sequence>
- <attribute name="assignee" type="string">
- <annotation><documentation>User ID of the person to which the task
- or swimlane will be assigned.
- </documentation></annotation>
- </attribute>
- <attribute name="assignee-expr" type="string">
- <annotation><documentation>Expression that resolves to a
- User ID to which the task or swimlane will be assigned.
- </documentation></annotation>
- </attribute>
- <attribute name="candidates" type="string">
- <annotation><documentation>Comma separated list of User ID's
- or Group ID's. All the referred people will be candidates to
- take the task or swimlane.</documentation></annotation>
- </attribute>
- <attribute name="candidate-expr" type="string">
- <annotation><documentation>Expression that resolves to a
- comma separated list of User ID's or Group ID's. All the
- referred people will be candidates to
- take the task or swimlane.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <!-- ### PROCESS DEFINITION ############################################# -->
-
- <element name="process">
- <annotation><documentation>A jPDL process definition description; This
- is the top level element in a jPDL process file.</documentation></annotation>
- <complexType>
- <sequence minOccurs="0" maxOccurs="unbounded">
- <group ref="tns:activityGroup" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- </element>
- <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" use="required">
- <annotation><documentation>The process name. Multiple processes can
- be deployed with the same name, as long as they have a different
- version.</documentation></annotation>
- </attribute>
- <attribute name="version" type="int">
- <annotation><documentation>Indicates the sequence number of this
- version for all processes with the same name. By specifying a version
- automatic deployment can figure out if this process is already deployed
- or not.
- </documentation></annotation>
- </attribute>
- <attribute name="initial" type="string">
- <annotation><documentation>Refers to the name of the initial node.
- When a new execution is started for a process definition, it is
- positioned in the initial node and that initial node is executed.
- </documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <attributeGroup name="nodeAttributes">
- <attribute name="name">
- <annotation><documentation>The id of this activity. The name should be unique
- in the complete scope of the process.</documentation></annotation>
- </attribute>
- </attributeGroup>
-
- <complexType name="transitionType">
- <annotation><documentation>The outgoing transitions. The first in the list
- will be the default outgoing transition.
- </documentation></annotation>
- <sequence>
- <group ref="tns:eventListenerGroup" />
- <element name="graph">
- <complexType>
- <attribute name="bendpoints">
- <annotation><documentation>List of points that indicate the
- bendpoints of the transition. E.g.
- bendpoints="[10,200;38,89;5,10]"</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- </sequence>
- <attribute name="name">
- <annotation><documentation>Name of this outgoing transition</documentation></annotation>
- </attribute>
- <attribute name="to">
- <annotation><documentation>Name of the destination node of this transition.
- </documentation></annotation>
- </attribute>
- </complexType>
-
- <element name="transition" type="tns:transitionType">
- <annotation><documentation>A transition from one node to another.</documentation></annotation>
- </element>
-
- <element name="on">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- <complexType>
- <sequence>
- <group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>A list of event listeners that will
- be notified when the event is fired</documentation></annotation>
- </group>
- </sequence>
- <attribute name="event" type="string">
- <annotation><documentation>The event identification
- </documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="graph">
- <annotation><documentation>Graphical attributes for a node in the process graph
- </documentation></annotation>
- <complexType>
- <attribute name="x">
- <annotation><documentation>X coordinate of the node</documentation></annotation>
- </attribute>
- <attribute name="y">
- <annotation><documentation>Y coordinate of the node</documentation></annotation>
- </attribute>
- <attribute name="w">
- <annotation><documentation>Width of the node</documentation></annotation>
- </attribute>
- <attribute name="h">
- <annotation><documentation>Height of the node</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
-</schema>
Modified: jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/xml/ActivityParser.java
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/xml/ActivityParser.java 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/xml/ActivityParser.java 2008-08-07 11:24:56 UTC (rev 1847)
@@ -23,6 +23,7 @@
import java.util.List;
+import org.jbpm.pvm.internal.log.Log;
import org.jbpm.pvm.internal.util.ReflectUtil;
import org.jbpm.pvm.internal.util.XmlUtil;
import org.jbpm.pvm.internal.xml.Binding;
@@ -36,7 +37,7 @@
*/
public class ActivityParser extends Parser {
- // private static final Log log = Log.getLog(ActivityParser.class.getName());
+ private static final Log log = Log.getLog(ActivityParser.class.getName());
public Object parseDocumentElement(Element documentElement, Parse parse) {
List<Element> elements = XmlUtil.elements(documentElement, "activity");
@@ -44,6 +45,8 @@
for (Element bindingElement : elements) {
String bindingClassName = XmlUtil.attribute(bindingElement, "binding", true, parse);
+ log.trace("adding activity binding "+bindingClassName);
+
Binding binding = null;
if (bindingClassName!=null) {
try {
Modified: jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/xml/JpdlParser.java
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/xml/JpdlParser.java 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/xml/JpdlParser.java 2008-08-07 11:24:56 UTC (rev 1847)
@@ -26,6 +26,7 @@
import java.util.Enumeration;
import java.util.List;
+import org.jbpm.jpdl.JpdlProcessDefinition;
import org.jbpm.pvm.activity.Activity;
import org.jbpm.pvm.internal.log.Log;
import org.jbpm.pvm.internal.model.NodeImpl;
@@ -58,7 +59,7 @@
public Object parseDocumentElement(Element documentElement, Parse parse) {
ProcessDefinitionImpl processDefinition = (ProcessDefinitionImpl) parse.getDocumentObject();
if (processDefinition==null) {
- processDefinition = new ProcessDefinitionImpl();
+ processDefinition = new JpdlProcessDefinition();
}
String name = XmlUtil.attribute(documentElement, "name", true, parse);
Copied: jbpm4/jpdl/trunk/modules/core/src/main/resources/org/jbpm/jpdl/jpdl.activities.xml (from rev 1632, jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/jpdl.activities.xml)
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/main/resources/org/jbpm/jpdl/jpdl.activities.xml (rev 0)
+++ jbpm4/jpdl/trunk/modules/core/src/main/resources/org/jbpm/jpdl/jpdl.activities.xml 2008-08-07 11:24:56 UTC (rev 1847)
@@ -0,0 +1,4 @@
+<activities>
+ <activity binding="org.jbpm.jpdl.xml.StateBinding" />
+ <activity binding="org.jbpm.jpdl.xml.DecisionBinding" />
+</activities>
\ No newline at end of file
Property changes on: jbpm4/jpdl/trunk/modules/core/src/main/resources/org/jbpm/jpdl/jpdl.activities.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Copied: jbpm4/jpdl/trunk/modules/core/src/main/resources/org/jbpm/jpdl/jpdl.xsd (from rev 1632, jbpm4/jpdl/trunk/modules/core/src/main/java/org/jbpm/jpdl/jpdl.xsd)
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/main/resources/org/jbpm/jpdl/jpdl.xsd (rev 0)
+++ jbpm4/jpdl/trunk/modules/core/src/main/resources/org/jbpm/jpdl/jpdl.xsd 2008-08-07 11:24:56 UTC (rev 1847)
@@ -0,0 +1,610 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://jbpm.org/jpdl4"
+ xmlns:tns="http://jbpm.org/jpdl4"
+ elementFormDefault="qualified"
+ attributeFormDefault="qualified">
+
+ <annotation>
+ <documentation>Prelimiary draft of the jPDL 4 process definition
+ grammar; element process is the top level element.
+
+ TODO: Add node pluggability. (add the proper any's and
+ anyAttributes)
+
+ TODO: Pull up expression. The expression element in the
+ delegation group can be pulled up as an expression
+ attribute in each use case of the delegationGroup
+
+ TODO: Should automatic activities have timers? That makes sense
+ in a transient scenario, but not in a transactional scenario.
+ Same comment holds for asynchronous continuations
+
+ TODO: Is it a good idea to move blocking and signalling to the API ?
+
+ TODO: Figure out task reuse (requires templating and parameters)
+ and dynamic task creation (requires tasks to be declared by name
+ in the process definition and that from the API tasks can be
+ easily instantiated.
+
+ TODO: Investigate if object-refs to centrally defined objects would
+ add value over inline defined objects.
+ </documentation>
+ </annotation>
+
+ <!-- ### FUNCTIONAL ACTIVITY TYPES ###################################### -->
+
+ <group name="delegationGroup">
+ <choice>
+ <element name="object">
+ <annotation><documentation>A java object that will be obtained by using
+ the constructor through reflection or through a factory method.</documentation></annotation>
+ <complexType>
+ <attribute name="class" type="string" />
+ </complexType>
+ </element>
+ <element name="jndi">
+ <complexType>
+ <attribute name="name" type="string" />
+ </complexType>
+ </element>
+ <element name="expr">
+ <complexType>
+ <attribute name="text" type="string" use="required"/>
+ <attribute name="language" type="string" />
+ </complexType>
+ </element>
+ </choice>
+ </group>
+
+ <complexType name="invokeType">
+ <sequence>
+ <group ref="tns:delegationGroup">
+ <annotation><documentation>The object on which the method
+ will be invoked</documentation></annotation>
+ </group>
+ <element name="arg" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Arguments passed into the method
+ invocation.</documentation></annotation>
+ </element>
+ </sequence>
+ <attribute name="method" type="string" use="required">
+ <annotation><documentation>The name of the method to invoke.
+ </documentation></annotation>
+ </attribute>
+ </complexType>
+
+ <complexType name="scriptType">
+ <sequence>
+ <element name="expr" type="string">
+ <annotation><documentation>The content of this expression element
+ is the script text that will be evaluated. This is mutually
+ exclusive with the expression attribute.</documentation></annotation>
+ </element>
+ </sequence>
+ <attribute name="expr" type="string">
+ <annotation><documentation>The script text that will be evaluated. This
+ is mutually exclusive with the expression element.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="lang" type="string">
+ <annotation><documentation>Identification of the scripting language
+ to use.</documentation></annotation>
+ </attribute>
+ </complexType>
+
+ <complexType name="emailType">
+ <sequence>
+ <element name="property">
+ <annotation><documentation>Template property value</documentation></annotation>
+ <complexType>
+ <attribute name="name" type="string" />
+ <attribute name="value" type="string" />
+ </complexType>
+ </element>
+ </sequence>
+ <attribute name="to" type="string" />
+ <attribute name="type" type="string">
+ <annotation><documentation>Reference to the email template</documentation></annotation>
+ </attribute>
+ </complexType>
+
+ <element name="timer">
+ <annotation><documentation>A timer that will be bound to the most inner enclosing scope.
+ Timers can give a signal to an activity instance. The signal will correspond to a transition
+ or to an event being fired.
+ </documentation></annotation>
+ <complexType>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <group ref="tns:eventListenerGroup">
+ <annotation><documentation>An inline list of event listeners
+ on a timer is a short cut for defining the event separately.
+ </documentation></annotation>
+ </group>
+ </choice>
+ <attribute name="duedate" type="string" use="required" />
+ <attribute name="signal" type="string" use="required">
+ <annotation><documentation>Refers to the signal that will be used.
+ If inline event listeners are declared, the signal name can not be
+ the same as an event that is declared in this scope.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="repeat" type="string" />
+ </complexType>
+ </element>
+
+ <!-- ### EVENT LISTENERS ################################################ -->
+
+ <group name="eventListenerGroup">
+ <choice>
+ <element name="notify">
+ <annotation><documentation>Calls the notify method on an
+ EventListener.
+ </documentation></annotation>
+ <complexType>
+ <group ref="tns:delegationGroup" />
+ <attribute name="object" type="string">
+ <annotation><documentation>The reference to an object that is declared
+ in the objects section of this process definition.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="expr" type="string">
+ <annotation><documentation>The expression that will resolve to
+ an Activity implementation.</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+ <element name="invoke" type="tns:invokeType">
+ <annotation><documentation>Invokes a method on a Java object
+ through reflection. The return value can be captured in a
+ process variable.
+ </documentation></annotation>
+ </element>
+ <element name="script" type="tns:scriptType">
+ <annotation><documentation>Evaluates a piece of text as a script
+ </documentation></annotation>
+ </element>
+ <element name="email" type="tns:emailType">
+ <annotation><documentation>Sends an email
+ </documentation></annotation>
+ </element>
+ <element ref="tns:timer">
+ <annotation><documentation>Creates a timer.
+ </documentation></annotation>
+ </element>
+ </choice>
+ </group>
+
+ <!-- ### ACTIVITIES ##################################################### -->
+
+ <group name="activityGroup">
+ <choice>
+ <!-- ~~~ CONTROL FLOW ACTIVITIES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="state">
+ <annotation><documentation>A wait state. When an execution arrives in this
+ activity, the execution will wait until an external trigger is received
+ with execution.signal() or execution.getActivityInstance().signal()
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ </element>
+ <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attributeGroup ref="tns:nodeAttributes" />
+ </complexType>
+ </element>
+
+ <element name="decision">
+ <annotation><documentation>Selects one path out of many alternatives.
+ When an execution comes in, exactly one outgoing transition is
+ taken.
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="tns:nodeAttributes" />
+ </complexType>
+ </element>
+
+ <element name="fork">
+ <annotation><documentation>Spawns multiple concurrent paths of
+ execution.
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="tns:nodeAttributes" />
+ </complexType>
+ </element>
+
+ <element name="join">
+ <annotation><documentation>Spawns multiple concurrent paths of
+ execution.
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="tns:nodeAttributes" />
+ </complexType>
+ </element>
+
+ <element name="process-state">
+ <annotation><documentation>Waits while a sub process instance is
+ being executed and continues when the sub process instance ends.
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ </element>
+ <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attributeGroup ref="tns:nodeAttributes" />
+ </complexType>
+ </element>
+
+ <element name="super-state">
+ <annotation><documentation>Scope enclosing a number of nodes.
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <group ref="tns:activityGroup" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ </element>
+ <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attributeGroup ref="tns:nodeAttributes" />
+ </complexType>
+ </element>
+
+ <element name="end-state">
+ <annotation><documentation>Ends the process instance.
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="tns:nodeAttributes" />
+ <attribute name="ends" default="process-instance">
+ <simpleType>
+ <restriction base="string">
+ <enumeration value="execution"/>
+ <enumeration value="process-instance"/>
+ </restriction>
+ </simpleType>
+ </attribute>
+ </complexType>
+ </element>
+
+ <!-- ~~~ FUNCTIONAL ACTIVITIES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="activity">
+ <annotation><documentation>Executes an activity implementation.
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <group ref="tns:delegationGroup"/>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="tns:nodeAttributes" />
+ </complexType>
+ </element>
+
+ <element name="invoke">
+ <annotation><documentation>Invokes a method on a java object
+ </documentation></annotation>
+ <complexType>
+ <complexContent>
+ <extension base="tns:invokeType">
+ <sequence>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="tns:nodeAttributes" />
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+
+ <element name="script">
+ <annotation><documentation>Evaluates a piece of text as a script
+ </documentation></annotation>
+ <complexType>
+ <complexContent>
+ <extension base="tns:scriptType">
+ <sequence>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="tns:nodeAttributes" />
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+
+ <element name="email">
+ <annotation><documentation>Sends an email
+ </documentation></annotation>
+ <complexType>
+ <complexContent>
+ <extension base="tns:emailType">
+ <sequence>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="tns:nodeAttributes" />
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+
+ <element name="task">
+ <annotation><documentation>Creates a human task
+ </documentation></annotation>
+ <complexType>
+ <complexContent>
+ <extension base="tns:taskType">
+ <sequence>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ </element>
+ <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attributeGroup ref="tns:nodeAttributes" />
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ </choice>
+ </group>
+
+ <!-- ### TASK STUFF ##################################################### -->
+
+ <complexType name="taskType">
+ <sequence>
+ <element ref="tns:assignment" />
+ <element name="reminder">
+ <complexType>
+ <attribute name="duedate" type="string" use="required" />
+ <attribute name="repeat" type="string" />
+ </complexType>
+ </element>
+ <element ref="tns:subtask" />
+ </sequence>
+ <attribute name="title" type="string">
+ </attribute>
+ <attribute name="form" type="string">
+ </attribute>
+ <attribute name="swimlane" type="string">
+ </attribute>
+ <attribute name="description" type="string" />
+ <attribute name="duedate" type="string" />
+ <attribute name="priority" type="tns:priorityType" default="normal" />
+ <attribute name="notify" type="boolean" default="false"/>
+ <attribute name="dynamic" type="boolean" default="true">
+ <annotation><documentation>Is dynamic creation of subtasks
+ allowed ?</documentation></annotation>
+ </attribute>
+ <attribute name="subtasksync">
+ <simpleType>
+ <union>
+ <simpleType>
+ <restriction base="string">
+ <enumeration value="last">
+ <annotation><documentation>When the last subtask completes,
+ this task is completed.</documentation></annotation>
+ </enumeration>
+ <enumeration value="first">
+ <annotation><documentation>When the first subtask completes,
+ this task is completed.</documentation></annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType>
+ <restriction base="int">
+ <annotation><documentation>The number of subtasks that
+ have to complete before this task is considered
+ completed.</documentation></annotation>
+ </restriction>
+ </simpleType>
+ </union>
+ </simpleType>
+ </attribute>
+ </complexType>
+
+ <simpleType name="priorityType">
+ <restriction base="string">
+ <enumeration value="highest"/>
+ <enumeration value="high"/>
+ <enumeration value="normal"/>
+ <enumeration value="low"/>
+ <enumeration value="lowest"/>
+ </restriction>
+ </simpleType>
+
+ <element name="subtask" type="tns:taskType">
+ <annotation><documentation>Subtask in a task activity.</documentation></annotation>
+ </element>
+
+ <element name="swimlane">
+ <annotation><documentation>A process role.</documentation></annotation>
+ <complexType>
+ <sequence>
+ <element ref="tns:assignment"/>
+ </sequence>
+ <attribute name="name" type="string" use="required" />
+ </complexType>
+ </element>
+
+ <element name="assignment">
+ <annotation><documentation>Specifies how a task or a swimlane should be assigned
+ to a specific user or who will be identified as a candidate for it.</documentation></annotation>
+ <complexType>
+ <sequence minOccurs="0">
+ <group ref="tns:delegationGroup">
+ <annotation><documentation>An object that implements the
+ Assigner interface.
+ </documentation></annotation>
+ </group>
+ </sequence>
+ <attribute name="assignee" type="string">
+ <annotation><documentation>User ID of the person to which the task
+ or swimlane will be assigned.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="assignee-expr" type="string">
+ <annotation><documentation>Expression that resolves to a
+ User ID to which the task or swimlane will be assigned.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="candidates" type="string">
+ <annotation><documentation>Comma separated list of User ID's
+ or Group ID's. All the referred people will be candidates to
+ take the task or swimlane.</documentation></annotation>
+ </attribute>
+ <attribute name="candidate-expr" type="string">
+ <annotation><documentation>Expression that resolves to a
+ comma separated list of User ID's or Group ID's. All the
+ referred people will be candidates to
+ take the task or swimlane.</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <!-- ### PROCESS DEFINITION ############################################# -->
+
+ <element name="process">
+ <annotation><documentation>A jPDL process definition description; This
+ is the top level element in a jPDL process file.</documentation></annotation>
+ <complexType>
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <group ref="tns:activityGroup" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ </element>
+ <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="name" use="required">
+ <annotation><documentation>The process name. Multiple processes can
+ be deployed with the same name, as long as they have a different
+ version.</documentation></annotation>
+ </attribute>
+ <attribute name="version" type="int">
+ <annotation><documentation>Indicates the sequence number of this
+ version for all processes with the same name. By specifying a version
+ automatic deployment can figure out if this process is already deployed
+ or not.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="initial" type="string">
+ <annotation><documentation>Refers to the name of the initial node.
+ When a new execution is started for a process definition, it is
+ positioned in the initial node and that initial node is executed.
+ </documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <attributeGroup name="nodeAttributes">
+ <attribute name="name">
+ <annotation><documentation>The id of this activity. The name should be unique
+ in the complete scope of the process.</documentation></annotation>
+ </attribute>
+ </attributeGroup>
+
+ <complexType name="transitionType">
+ <annotation><documentation>The outgoing transitions. The first in the list
+ will be the default outgoing transition.
+ </documentation></annotation>
+ <sequence>
+ <group ref="tns:eventListenerGroup" />
+ <element name="graph">
+ <complexType>
+ <attribute name="bendpoints">
+ <annotation><documentation>List of points that indicate the
+ bendpoints of the transition. E.g.
+ bendpoints="[10,200;38,89;5,10]"</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+ </sequence>
+ <attribute name="name">
+ <annotation><documentation>Name of this outgoing transition</documentation></annotation>
+ </attribute>
+ <attribute name="to">
+ <annotation><documentation>Name of the destination node of this transition.
+ </documentation></annotation>
+ </attribute>
+ </complexType>
+
+ <element name="transition" type="tns:transitionType">
+ <annotation><documentation>A transition from one node to another.</documentation></annotation>
+ </element>
+
+ <element name="on">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ <complexType>
+ <sequence>
+ <group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>A list of event listeners that will
+ be notified when the event is fired</documentation></annotation>
+ </group>
+ </sequence>
+ <attribute name="event" type="string">
+ <annotation><documentation>The event identification
+ </documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="graph">
+ <annotation><documentation>Graphical attributes for a node in the process graph
+ </documentation></annotation>
+ <complexType>
+ <attribute name="x">
+ <annotation><documentation>X coordinate of the node</documentation></annotation>
+ </attribute>
+ <attribute name="y">
+ <annotation><documentation>Y coordinate of the node</documentation></annotation>
+ </attribute>
+ <attribute name="w">
+ <annotation><documentation>Width of the node</documentation></annotation>
+ </attribute>
+ <attribute name="h">
+ <annotation><documentation>Height of the node</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+</schema>
Property changes on: jbpm4/jpdl/trunk/modules/core/src/main/resources/org/jbpm/jpdl/jpdl.xsd
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Added: jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/CheckInTests.java
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/CheckInTests.java (rev 0)
+++ jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/CheckInTests.java 2008-08-07 11:24:56 UTC (rev 1847)
@@ -0,0 +1,45 @@
+/*
+ * 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.jpdl;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jbpm.jpdl.controlflow.ControlFlowTests;
+import org.jbpm.jpdl.parsing.ParsingTests;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class CheckInTests {
+
+ public static Test suite() {
+ TestSuite suite = new TestSuite("org.jbpm.jpdl");
+ //$JUnit-BEGIN$
+ suite.addTest(ControlFlowTests.suite());
+ suite.addTest(ParsingTests.suite());
+ //$JUnit-END$
+ return suite;
+ }
+
+}
Copied: jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/JpdlTestCase.java (from rev 1844, jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/test/JpdlTestCase.java)
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/JpdlTestCase.java (rev 0)
+++ jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/JpdlTestCase.java 2008-08-07 11:24:56 UTC (rev 1847)
@@ -0,0 +1,78 @@
+/*
+ * 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.jpdl;
+
+import junit.framework.AssertionFailedError;
+import junit.framework.TestCase;
+
+import org.jbpm.jpdl.xml.JpdlParser;
+import org.jbpm.pvm.client.ClientProcessDefinition;
+import org.jbpm.pvm.internal.log.Log;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class JpdlTestCase extends TestCase {
+
+ static protected Log log = Log.getLog(JpdlTestCase.class.getName());
+
+ public void setUp() throws Exception {
+ log.info("=== starting "+getName()+" =============================");
+ }
+
+ public void tearDown() throws Exception {
+ log.info("=== ending "+getName()+" =============================\n");
+ }
+
+ public void assertTextPresent(String expected, String value) {
+ if ( (value==null)
+ || (value.indexOf(expected)==-1)
+ ) {
+ throw new AssertionFailedError("expected presence of '"+expected+"' but was '"+value+"'");
+ }
+ }
+
+ protected void runTest() throws Throwable {
+ try {
+ super.runTest();
+ } catch (AssertionFailedError e) {
+ log.error("");
+ log.error("ASSERTION FAILURE: "+e.getMessage());
+ log.error("");
+ throw e;
+ } catch (Throwable t) {
+ t.printStackTrace();
+ throw t;
+ }
+ }
+
+ public ClientProcessDefinition parseProcess(String xmlString) {
+ JpdlParser jpdlParser = new JpdlParser();
+ return (ClientProcessDefinition) jpdlParser.createParse()
+ .setString(xmlString)
+ .execute()
+ .checkProblems("process definition xml string")
+ .getDocumentObject();
+ }
+
+}
Property changes on: jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/JpdlTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Added: jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/controlflow/ControlFlowTests.java
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/controlflow/ControlFlowTests.java (rev 0)
+++ jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/controlflow/ControlFlowTests.java 2008-08-07 11:24:56 UTC (rev 1847)
@@ -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.jpdl.controlflow;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class ControlFlowTests {
+
+ public static Test suite() {
+ TestSuite suite = new TestSuite("Test for org.jbpm.jpdl.controlflow");
+ //$JUnit-BEGIN$
+ suite.addTestSuite(DecisionTest.class);
+ suite.addTestSuite(StateTest.class);
+ //$JUnit-END$
+ return suite;
+ }
+
+}
Modified: jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/controlflow/DecisionTest.java
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/controlflow/DecisionTest.java 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/controlflow/DecisionTest.java 2008-08-07 11:24:56 UTC (rev 1847)
@@ -21,9 +21,9 @@
*/
package org.jbpm.jpdl.controlflow;
-import org.jbpm.jpdl.test.JpdlTestCase;
-import org.jbpm.pvm.Execution;
-import org.jbpm.pvm.ProcessDefinition;
+import org.jbpm.jpdl.JpdlTestCase;
+import org.jbpm.pvm.client.ClientExecution;
+import org.jbpm.pvm.client.ClientProcessDefinition;
/**
@@ -32,7 +32,7 @@
public class DecisionTest extends JpdlTestCase {
public void testDecisionOutgoingTransitionExpression() {
- ProcessDefinition processDefinition = parseProcess(
+ ClientProcessDefinition processDefinition = parseProcess(
"<process initial='a' name='p'>" +
" <state name='a'>" +
" <transition to='b' />" +
@@ -46,21 +46,21 @@
"</process>"
);
- Execution execution = processDefinition.startExecution();
+ ClientExecution execution = processDefinition.beginProcessInstance();
execution.setVariable("theWayToGo", "left");
execution.signal();
assertEquals("c", execution.getNode().getName());
- execution = processDefinition.startExecution();
+ execution = processDefinition.beginProcessInstance();
execution.setVariable("theWayToGo", "right");
execution.signal();
assertEquals("d", execution.getNode().getName());
- execution = processDefinition.startExecution();
+ execution = processDefinition.beginProcessInstance();
execution.setVariable("theWayToGo", null);
execution.signal();
- execution = processDefinition.startExecution();
+ execution = processDefinition.beginProcessInstance();
execution.setVariable("theWayToGo", "up");
execution.signal();
}
Modified: jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/controlflow/StateTest.java
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/controlflow/StateTest.java 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/controlflow/StateTest.java 2008-08-07 11:24:56 UTC (rev 1847)
@@ -21,10 +21,12 @@
*/
package org.jbpm.jpdl.controlflow;
-import org.jbpm.jpdl.test.JpdlTestCase;
+import org.jbpm.jpdl.JpdlTestCase;
import org.jbpm.pvm.Execution;
-import org.jbpm.pvm.ProcessDefinition;
import org.jbpm.pvm.PvmException;
+import org.jbpm.pvm.client.ClientExecution;
+import org.jbpm.pvm.client.ClientProcessDefinition;
+import org.jbpm.pvm.model.ProcessDefinition;
/**
@@ -33,7 +35,7 @@
public class StateTest extends JpdlTestCase {
public void testWaitStatesSequence() {
- ProcessDefinition processDefinition = parseProcess(
+ ClientProcessDefinition processDefinition = parseProcess(
"<process initial='a' name='p'>" +
" <state name='a'>" +
" <transition to='b' />" +
@@ -48,7 +50,7 @@
"</process>"
);
- Execution execution = processDefinition.startExecution();
+ ClientExecution execution = processDefinition.beginProcessInstance();
assertEquals("a", execution.getNode().getName());
execution.signal();
assertEquals("b", execution.getNode().getName());
@@ -59,7 +61,7 @@
}
public void testExternalDecision() {
- ProcessDefinition processDefinition = parseProcess(
+ ClientProcessDefinition processDefinition = parseProcess(
"<process initial='a' name='p'>" +
" <state name='a'>" +
" <transition name='left' to='b' />" +
@@ -72,21 +74,21 @@
"</process>"
);
- Execution execution = processDefinition.startExecution();
+ ClientExecution execution = processDefinition.beginProcessInstance();
execution.signal("left");
assertEquals("b", execution.getNode().getName());
- execution = processDefinition.startExecution();
+ execution = processDefinition.beginProcessInstance();
execution.signal("middle");
assertEquals("c", execution.getNode().getName());
- execution = processDefinition.startExecution();
+ execution = processDefinition.beginProcessInstance();
execution.signal("right");
assertEquals("d", execution.getNode().getName());
}
public void testDefaultSignalWithNamedTransitions() {
- ProcessDefinition processDefinition = parseProcess(
+ ClientProcessDefinition processDefinition = parseProcess(
"<process initial='a' name='p'>" +
" <state name='a'>" +
" <transition name='left' to='b' />" +
@@ -99,7 +101,7 @@
"</process>"
);
- Execution execution = processDefinition.startExecution();
+ ClientExecution execution = processDefinition.beginProcessInstance();
try {
execution.signal();
} catch (PvmException e) {
@@ -108,7 +110,7 @@
}
public void testNamedSignalWithoutMatchingTransition() {
- ProcessDefinition processDefinition = parseProcess(
+ ClientProcessDefinition processDefinition = parseProcess(
"<process initial='a' name='p'>" +
" <state name='a'>" +
" <transition name='left' to='b' />" +
@@ -121,7 +123,7 @@
"</process>"
);
- Execution execution = processDefinition.startExecution();
+ ClientExecution execution = processDefinition.beginProcessInstance();
try {
execution.signal("up");
} catch (PvmException e) {
@@ -130,13 +132,13 @@
}
public void testDefaultSignalWithoutTransitions() {
- ProcessDefinition processDefinition = parseProcess(
+ ClientProcessDefinition processDefinition = parseProcess(
"<process initial='a' name='p'>" +
" <state name='a' />" +
"</process>"
);
- Execution execution = processDefinition.startExecution();
+ ClientExecution execution = processDefinition.beginProcessInstance();
try {
execution.signal();
} catch (PvmException e) {
Modified: jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/ParsingTestCase.java
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/ParsingTestCase.java 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/ParsingTestCase.java 2008-08-07 11:24:56 UTC (rev 1847)
@@ -23,14 +23,12 @@
import java.util.List;
-import org.jbpm.base.JbpmTestCase;
import org.jbpm.jpdl.xml.JpdlParser;
-import org.jbpm.pvm.ProcessDefinition;
+import org.jbpm.pvm.client.ClientProcessDefinition;
import org.jbpm.pvm.internal.xml.Problem;
+import org.jbpm.pvm.test.base.JbpmTestCase;
-import junit.framework.TestCase;
-
/**
* @author Tom Baeyens
*/
@@ -50,9 +48,9 @@
return problems;
}
- public ProcessDefinition parse(String xmlString) {
+ public ClientProcessDefinition parse(String xmlString) {
JpdlParser jpdlParser = new JpdlParser();
- return (ProcessDefinition) jpdlParser.createParse()
+ return (ClientProcessDefinition) jpdlParser.createParse()
.setString(xmlString)
.execute()
.checkProblems("process definition xml string")
Added: jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/ParsingTests.java
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/ParsingTests.java (rev 0)
+++ jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/ParsingTests.java 2008-08-07 11:24:56 UTC (rev 1847)
@@ -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.jpdl.parsing;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class ParsingTests {
+
+ public static Test suite() {
+ TestSuite suite = new TestSuite("Test for org.jbpm.jpdl.parsing");
+ //$JUnit-BEGIN$
+ suite.addTestSuite(ProcessParsingTest.class);
+ suite.addTestSuite(NodeParsingTest.class);
+ suite.addTestSuite(JpdlSchemaTest.class);
+ suite.addTestSuite(TransitionParsingTest.class);
+ //$JUnit-END$
+ return suite;
+ }
+
+}
Modified: jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/ProcessParsingTest.java
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/ProcessParsingTest.java 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/ProcessParsingTest.java 2008-08-07 11:24:56 UTC (rev 1847)
@@ -23,9 +23,7 @@
import java.util.List;
-import org.jbpm.pvm.Node;
-import org.jbpm.pvm.ProcessDefinition;
-import org.jbpm.pvm.Transition;
+import org.jbpm.pvm.client.ClientProcessDefinition;
import org.jbpm.pvm.internal.xml.Problem;
/**
@@ -34,7 +32,7 @@
public class ProcessParsingTest extends ParsingTestCase {
public void testSimplestValidProcess() {
- ProcessDefinition processDefinition = parse(
+ ClientProcessDefinition processDefinition = parse(
"<process name='p' initial='n'>" +
" <state name='n' />" +
"</process>"
Modified: jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/TransitionParsingTest.java
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/TransitionParsingTest.java 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/modules/core/src/test/java/org/jbpm/jpdl/parsing/TransitionParsingTest.java 2008-08-07 11:24:56 UTC (rev 1847)
@@ -23,10 +23,10 @@
import java.util.List;
-import org.jbpm.pvm.Node;
-import org.jbpm.pvm.ProcessDefinition;
-import org.jbpm.pvm.Transition;
+import org.jbpm.pvm.client.ClientProcessDefinition;
import org.jbpm.pvm.internal.xml.Problem;
+import org.jbpm.pvm.model.Node;
+import org.jbpm.pvm.model.Transition;
/**
@@ -35,7 +35,7 @@
public class TransitionParsingTest extends ParsingTestCase {
public void testTransition() {
- ProcessDefinition processDefinition = parse(
+ ClientProcessDefinition processDefinition = parse(
"<process name='p' initial='a'>" +
" <state name='a'>" +
" <transition to='b' />" +
@@ -53,7 +53,7 @@
}
public void testSelfTransition() {
- ProcessDefinition processDefinition = parse(
+ ClientProcessDefinition processDefinition = parse(
"<process name='p' initial='a'>" +
" <state name='a'>" +
" <transition to='a' />" +
@@ -101,7 +101,7 @@
}
public void testMultipleOutgoingTransitions() {
- ProcessDefinition processDefinition = parse(
+ ClientProcessDefinition processDefinition = parse(
"<process name='p' initial='a'>" +
" <state name='a'>" +
" <transition to='b' />" +
@@ -122,7 +122,7 @@
}
public void testMultipleIncomingTransitions() {
- ProcessDefinition processDefinition = parse(
+ ClientProcessDefinition processDefinition = parse(
"<process name='p' initial='a'>" +
" <state name='a'>" +
" <transition to='c' />" +
Deleted: jbpm4/jpdl/trunk/modules/core/src/test/resources/logging.properties
===================================================================
--- jbpm4/jpdl/trunk/modules/core/src/test/resources/logging.properties 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/modules/core/src/test/resources/logging.properties 2008-08-07 11:24:56 UTC (rev 1847)
@@ -1,17 +0,0 @@
-handlers= java.util.logging.ConsoleHandler
-.level= SEVERE
-java.util.logging.ConsoleHandler.level = FINEST
-java.util.logging.ConsoleHandler.formatter = org.jbpm.util.JbpmFormatter
-
-# For example, set the com.xyz.foo logger to only log SEVERE messages:
-# com.xyz.foo.level = SEVERE
-
-org.jbpm.level=FINEST
-org.jbpm.tx.level=FINE
-org.jbpm.wire.level=FINE
-org.jbpm.util.level=FINE
-# org.hibernate.level=SEVERE
-# org.hibernate.SQL.level=FINEST
-# org.hibernate.type.level=FINEST
-# org.hibernate.tool.hbm2ddl.SchemaExport.level=FINEST
-# org.hibernate.transaction.level=FINEST
Modified: jbpm4/jpdl/trunk/pom.xml
===================================================================
--- jbpm4/jpdl/trunk/pom.xml 2008-08-07 11:19:13 UTC (rev 1846)
+++ jbpm4/jpdl/trunk/pom.xml 2008-08-07 11:24:56 UTC (rev 1847)
@@ -11,152 +11,295 @@
<!-- $Id$ -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<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>
+
+ <modelVersion>4.0.0</modelVersion>
- <name>JBoss jBPM 4 - jPDL</name>
- <groupId>org.jboss.jbpm</groupId>
- <artifactId>jdpl</artifactId>
- <packaging>pom</packaging>
-
- <version>4.0.0-SNAPSHOT</version>
-
- <!-- Parent -->
- <parent>
- <groupId>org.jboss.jbpm</groupId>
- <artifactId>jbpm-parent</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </parent>
-
- <!-- Modules -->
- <modules>
- <module>modules/core</module>
- </modules>
-
- <!-- Properties -->
- <properties>
- <pvm.version>1.0.0-SNAPSHOT</pvm.version>
- <jboss.jbpm.api.version>1.0.0-SNAPSHOT</jboss.jbpm.api.version>
- <junit.version>3.8.2</junit.version>
- <log4j.version>1.2.14</log4j.version>
- </properties>
-
- <!-- DependencyManagement -->
- <dependencyManagement>
- <dependencies>
- <!-- jBPM Dependencies -->
- <dependency>
- <groupId>org.jboss.jbpm.pvm</groupId>
- <artifactId>pvm-core</artifactId>
- <version>${pvm.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.jbpm</groupId>
- <artifactId>jbpm-api</artifactId>
- <version>${jboss.jbpm.api.version}</version>
- </dependency>
-
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>${log4j.version}</version>
- </dependency>
-
- <!-- Compile Dependencies -->
- <!--dependency>
- <groupId>bsh</groupId>
- <artifactId>bsh</artifactId>
- </dependency-->
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>${junit.version}</version>
- </dependency>
-
- </dependencies>
- </dependencyManagement>
- <!-- Plugins -->
- <build>
+ <!-- ### GENERAL PROJECT INFO ########################################### -->
+ <name>JBoss jBPM 4 - jPDL Parent</name>
+ <groupId>org.jbpm</groupId>
+ <artifactId>jpdl-parent</artifactId>
+ <packaging>pom</packaging>
+ <version>4.0.0-SNAPSHOT</version>
+ <organization>
+ <name>JBoss, a division of Red Hat</name>
+ <url>http://www.jboss.org</url>
+ </organization>
+ <url>http://jbpm.org/</url>
+
+ <!-- ### MODULES ######################################################## -->
+ <modules>
+ <module>modules/core</module>
+ </modules>
+
+ <!-- ### PROPERTIES ##################################################### -->
+ <properties>
+ <pvm.version>1.0.0-SNAPSHOT</pvm.version>
+ <junit.version>3.8.2</junit.version>
+ </properties>
+
+ <!-- ### DEPENDENCY MANAGEMENT ########################################## -->
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.jbpm</groupId>
+ <artifactId>pvm</artifactId>
+ <version>${pvm.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <!-- ### SOURCE CONTROL MANAGEMENT ###################################### -->
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/jbpm/jbpm4</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/jbpm/jbpm4</developerConnection>
+ <url>http://fisheye.jboss.com/browse/JbpmSvn/jbpm4</url>
+ </scm>
+ <prerequisites>
+ <maven>2.0.9</maven>
+ </prerequisites>
+
+ <!-- ### ISSUE MANAGEMENT ############################################### -->
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.jboss.org/jira/browse/JBPM</url>
+ </issueManagement>
+
+ <!-- ### LICENSES ####################################################### -->
+ <licenses>
+ <license>
+ <name>lgpl</name>
+ <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+ </license>
+ </licenses>
+
+ <build>
+ <!-- ### PLUGINS ###################################################### -->
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ <showDeprecation>true</showDeprecation>
+ <showWarnings>true</showWarnings>
+ <optimize>true</optimize>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifest>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <failIfNoTests>false</failIfNoTests>
+ <systemProperties>
+ <property>
+ <name>log4j.output.dir</name>
+ <value>${project.build.directory}</value>
+ </property>
+ </systemProperties>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-2</version>
+ <configuration>
+ <finalName>pvm-${version}</finalName>
+ <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
+ <appendAssemblyId>false</appendAssemblyId>
+ <descriptors>
+ <descriptor>assembly.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </plugin>
+ </plugins>
+
+ <!-- ### PLUGIN MANAGEMENT ############################################## -->
+ <pluginManagement>
<plugins>
- <plugin>
- <artifactId>maven-javadoc-plugin</artifactId>
- </plugin>
+ <plugin>
+ <groupId>com.sun.tools.jxc.maven2</groupId>
+ <artifactId>maven-jaxb-schemagen-plugin</artifactId>
+ <version>1.2</version>
+ <dependencies>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-impl</artifactId>
+ <version>2.1.7</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-xjc</artifactId>
+ <version>2.1.7</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2.SP1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>1.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>buildnumber-maven-plugin</artifactId>
+ <version>1.0-beta-1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>docbook-maven-plugin</artifactId>
+ <version>1.0.0-alpha-1</version>
+ </plugin>
+ <plugin>
+ <groupId>net.sourceforge.maven-taglib</groupId>
+ <artifactId>maven-taglib-plugin</artifactId>
+ <version>2.3</version>
+ </plugin>
</plugins>
- </build>
+ </pluginManagement>
+ </build>
+
+ <!-- ### DISTRIBUTION MANAGEMENT ######################################## -->
+ <distributionManagement>
+ <site>
+ <id>local.site</id>
+ <url>file:///${publications}/pvm/site</url>
+ </site>
+ <repository>
+ <id>repository.jboss.org</id>
+ <url>file:///${publications}/repository.jboss.org</url>
+ </repository>
+ </distributionManagement>
- <!-- DistributionManagement -->
- <distributionManagement>
- <site>
- <id>jbws.dyndns.org</id>
- <url>file:///home/tdiesler/workspace/jbpm-site</url>
- </site>
- </distributionManagement>
-
- <!-- Profiles -->
- <profiles>
-
- <!--
- Name: skiptests
- Desc: Skips the tests
- -->
- <profile>
- <id>skiptests</id>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <skipTests>true</skipTests>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
+ <!-- ### PROFILES ####################################################### -->
+ <profiles>
+ <profile>
+ <id>skiptests</id>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
<configuration>
- <quiet>true</quiet>
- <source>1.5</source>
- <verbose>false</verbose>
- <excludePackageNames>*.internal:*.test</excludePackageNames>
+ <skipTests>true</skipTests>
</configuration>
- </plugin>
- </plugins>
- </reporting>
-
- <repositories>
- <repository>
- <id>maven2.java.net</id>
- <name>Java.net Repository for Maven 2</name>
- <url>http://download.java.net/maven/2/</url>
- </repository>
- <repository>
- <id>java.net</id>
- <url>http://download.java.net/maven/1/</url>
- <layout>legacy</layout>
- </repository>
- <repository>
- <id>repository.jboss.org</id>
- <url>http://repository.jboss.org/maven2</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>snapshots.jboss.org</id>
- <url>http://snapshots.jboss.org/maven2</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- </repositories>
-
-</project>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+ <!-- ### REPORTING ###################################################### -->
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <quiet>true</quiet>
+ <source>1.5</source>
+ <verbose>false</verbose>
+ <excludePackageNames>*.internal:*.test</excludePackageNames>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ <version>2.4.3</version>
+ </plugin>
+ </plugins>
+ </reporting>
+
+ <!-- ### REPOSITORIES ################################################### -->
+ <repositories>
+ <repository>
+ <id>maven2.java.net</id>
+ <name>Java.net Repository for Maven 2</name>
+ <url>http://download.java.net/maven/2/</url>
+ </repository>
+ <repository>
+ <id>java.net</id>
+ <url>http://download.java.net/maven/1/</url>
+ <layout>legacy</layout>
+ </repository>
+ <repository>
+ <id>repository.jboss.org</id>
+ <url>http://repository.jboss.org/maven2</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>snapshots.jboss.org</id>
+ <url>http://snapshots.jboss.org/maven2</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+
+ <!-- ### PLUGIN REPOSITORIES ############################################ -->
+ <pluginRepositories>
+ <pluginRepository>
+ <id>maven2.java.net</id>
+ <name>Java.net Repository for Maven 2</name>
+ <url>http://download.java.net/maven/2/</url>
+ </pluginRepository>
+ <pluginRepository>
+ <id>repository.jboss.org</id>
+ <url>http://repository.jboss.org/maven2</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </pluginRepository>
+ <pluginRepository>
+ <id>snapshots.jboss.org</id>
+ <url>http://snapshots.jboss.org/maven2</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </pluginRepository>
+ </pluginRepositories>
+
+</project>
\ No newline at end of file
17 years, 8 months
JBoss JBPM SVN: r1846 - in jbpm4/pvm/trunk: modules/minimal and 1 other directory.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2008-08-07 07:19:13 -0400 (Thu, 07 Aug 2008)
New Revision: 1846
Modified:
jbpm4/pvm/trunk/modules/minimal/pom.xml
jbpm4/pvm/trunk/pom.xml
Log:
groupId updated to org.jbpm
Modified: jbpm4/pvm/trunk/modules/minimal/pom.xml
===================================================================
--- jbpm4/pvm/trunk/modules/minimal/pom.xml 2008-08-07 11:12:10 UTC (rev 1845)
+++ jbpm4/pvm/trunk/modules/minimal/pom.xml 2008-08-07 11:19:13 UTC (rev 1846)
@@ -11,33 +11,35 @@
<!-- $Id$ -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<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>
- <name>JBoss jBPM - PVM Minimal Dependencies</name>
- <groupId>org.jboss.jbpm.pvm</groupId>
+ <name>JBoss jBPM 4 - PVM Minimal Dependencies Test</name>
+ <groupId>org.jbpm</groupId>
<artifactId>pvm-minimal</artifactId>
<packaging>pom</packaging>
<!-- Parent -->
<parent>
- <groupId>org.jboss.jbpm.pvm</groupId>
+ <groupId>org.jbpm</groupId>
<artifactId>pvm-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
- <dependencies>
- <dependency>
- <groupId>org.jboss.jbpm.pvm</groupId>
- <artifactId>pvm</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <exclusions>
- <exclusion>
- <groupId>juel</groupId>
- <artifactId>juel</artifactId>
- </exclusion>
- <exclusion>
+ <dependencies>
+ <dependency>
+ <groupId>org.jbpm</groupId>
+ <artifactId>pvm</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <exclusions>
+ <exclusion>
+ <groupId>juel</groupId>
+ <artifactId>juel</artifactId>
+ </exclusion>
+ <exclusion>
<groupId>juel</groupId>
<artifactId>juel-engine</artifactId>
</exclusion>
@@ -45,7 +47,7 @@
<groupId>juel</groupId>
<artifactId>juel-impl</artifactId>
</exclusion>
- <exclusion>
+ <exclusion>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
</exclusion>
@@ -77,10 +79,10 @@
<groupId>org.livetribe</groupId>
<artifactId>livetribe-jsr223</artifactId>
</exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.jboss.jbpm.pvm</groupId>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm</groupId>
<artifactId>pvm</artifactId>
<version>1.0.0-SNAPSHOT</version>
<classifier>tests</classifier>
@@ -132,12 +134,12 @@
</exclusion>
</exclusions>
</dependency>
- </dependencies>
-
- <build>
- <testSourceDirectory>${basedir}/../core/src/test/java</testSourceDirectory>
- <plugins>
- <plugin>
+ </dependencies>
+
+ <build>
+ <testSourceDirectory>${basedir}/../core/src/test/java</testSourceDirectory>
+ <plugins>
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
@@ -152,7 +154,7 @@
</testIncludes>
</configuration>
</plugin>
- <plugin>
+ <plugin>
<artifactId>maven-surefire-plugin</artifactId>
<executions>
<execution>
@@ -167,6 +169,6 @@
<testSourceDirectory>${basedir}/../core/src/test/java</testSourceDirectory>
</configuration>
</plugin>
- </plugins>
- </build>
+ </plugins>
+ </build>
</project>
\ No newline at end of file
Modified: jbpm4/pvm/trunk/pom.xml
===================================================================
--- jbpm4/pvm/trunk/pom.xml 2008-08-07 11:12:10 UTC (rev 1845)
+++ jbpm4/pvm/trunk/pom.xml 2008-08-07 11:19:13 UTC (rev 1846)
@@ -32,6 +32,7 @@
<!-- ### MODULES ######################################################## -->
<modules>
<module>modules/core</module>
+ <module>modules/minimal</module>
</modules>
<!-- ### PROPERTIES ##################################################### -->
17 years, 8 months
JBoss JBPM SVN: r1845 - in jbpm4/pvm/trunk: modules/core and 2 other directories.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2008-08-07 07:12:10 -0400 (Thu, 07 Aug 2008)
New Revision: 1845
Modified:
jbpm4/pvm/trunk/.classpath
jbpm4/pvm/trunk/modules/core/pom.xml
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/embedded/EmbeddedPersistenceTest.java
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/embedded/Order.java
jbpm4/pvm/trunk/modules/core/src/test/resources/org/jbpm/pvm/api/db/embedded/Order.hbm.xml
jbpm4/pvm/trunk/pom.xml
Log:
pom cleanup
Modified: jbpm4/pvm/trunk/.classpath
===================================================================
--- jbpm4/pvm/trunk/.classpath 2008-08-07 07:55:35 UTC (rev 1844)
+++ jbpm4/pvm/trunk/.classpath 2008-08-07 11:12:10 UTC (rev 1845)
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="modules/core/target/classes" path="modules/core/src/main/java"/>
+ <classpathentry kind="src" output="modules/core/target/classes" path="modules/core/src/main/resources"/>
<classpathentry kind="src" output="modules/core/target/test-classes" path="modules/core/src/test/java"/>
- <classpathentry kind="src" output="modules/core/target/classes" path="modules/core/src/main/resources"/>
<classpathentry kind="src" output="modules/core/target/test-classes" path="modules/core/src/test/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER/modules"/>
Modified: jbpm4/pvm/trunk/modules/core/pom.xml
===================================================================
--- jbpm4/pvm/trunk/modules/core/pom.xml 2008-08-07 07:55:35 UTC (rev 1844)
+++ jbpm4/pvm/trunk/modules/core/pom.xml 2008-08-07 11:12:10 UTC (rev 1845)
@@ -11,301 +11,281 @@
<!-- $Id$ -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<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>
-
- <name>JBoss jBPM - PVM Core</name>
- <groupId>org.jboss.jbpm.pvm</groupId>
- <artifactId>pvm</artifactId>
- <packaging>jar</packaging>
-
- <!-- Parent -->
- <parent>
- <groupId>org.jboss.jbpm.pvm</groupId>
- <artifactId>pvm-parent</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </parent>
-
- <!-- Properties -->
- <properties>
- <table.prefix>JBPM_</table.prefix>
- <surefire.gc.args>-XX:MaxPermSize=128m</surefire.gc.args>
- <surefire.jdwp.args>-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005</surefire.jdwp.args>
- <test.resources.directory>${project.build.directory}/test-resources</test.resources.directory>
- </properties>
-
- <!-- Dependencies -->
- <dependencies>
- <!-- jBPM Dependencies -->
-
- <!-- Compile Dependencies -->
-
- <dependency>
- <groupId>juel</groupId>
- <artifactId>juel</artifactId>
- </dependency>
-
- <dependency>
- <groupId>juel</groupId>
- <artifactId>juel-engine</artifactId>
- </dependency>
-
- <dependency>
- <groupId>juel</groupId>
- <artifactId>juel-impl</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate</artifactId>
- </dependency>
-
- <dependency>
- <groupId>hsqldb</groupId>
- <artifactId>hsqldb</artifactId>
- </dependency>
-
- <dependency>
- <groupId>com.cenqua.clover</groupId>
- <artifactId>clover</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
-<!--
- Not in scope test because org.jbpm.pvm.test.base package is in main source: see JBPM-1416
- <scope>test</scope>
--->
- </dependency>
-
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.livetribe</groupId>
- <artifactId>livetribe-jsr223</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.seam</groupId>
- <artifactId>jboss-seam</artifactId>
- <exclusions>
- <exclusion>
- <groupId>javassist</groupId>
- <artifactId>javassist</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.jboss.el</groupId>
- <artifactId>jboss-el</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring</artifactId>
- </dependency>
-
- <dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-j2ee</artifactId>
- </dependency>
-
- <dependency>
- <groupId>cactus</groupId>
- <artifactId>cactus</artifactId>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <!-- Plugins -->
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- ### GENERAL PROJECT INFO ########################################### -->
+ <name>JBoss jBPM 4 - PVM</name>
+ <groupId>org.jbpm</groupId>
+ <artifactId>pvm</artifactId>
+ <packaging>jar</packaging>
+
+ <!-- ### PARENT ######################################################### -->
+ <parent>
+ <groupId>org.jbpm</groupId>
+ <artifactId>pvm-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <!-- ### PROPERTIES ##################################################### -->
+ <properties>
+ <table.prefix>JBPM_</table.prefix>
+ <surefire.gc.args>-XX:MaxPermSize=128m</surefire.gc.args>
+ <surefire.jdwp.args>-Xdebug -Xnoagent -Djava.compiler=NONE
+ -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005</surefire.jdwp.args>
+ <test.resources.directory>${project.build.directory}/test-resources</test.resources.directory>
+ </properties>
+
+ <!-- ### DEPENDENCIES ################################################### -->
+ <dependencies>
+ <dependency>
+ <groupId>juel</groupId>
+ <artifactId>juel</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>juel</groupId>
+ <artifactId>juel-engine</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>juel</groupId>
+ <artifactId>juel-impl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.cenqua.clover</groupId>
+ <artifactId>clover</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <!-- Not in scope test because org.jbpm.pvm.test.base package is in main source: see JBPM-1416 -->
+ <!-- <scope>test</scope> -->
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.livetribe</groupId>
+ <artifactId>livetribe-jsr223</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.seam</groupId>
+ <artifactId>jboss-seam</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>javassist</groupId>
+ <artifactId>javassist</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.el</groupId>
+ <artifactId>jboss-el</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-j2ee</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>cactus</groupId>
+ <artifactId>cactus</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <!-- ### PLUGINS ###################################################### -->
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <showDeprecation>false</showDeprecation>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>hibernate.cfg.xml</exclude>
+ <exclude>jbpm.cfg.xml</exclude>
+ <exclude>jbpm.mail.templates.xml</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-ear-plugin</artifactId>
+ <configuration>
+ <applicationXml>${basedir}/src/main/etc/ear/META-INF/application.xml</applicationXml>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <argLine>${surefire.jvm.args}</argLine>
+ <includes>
+ <include>org/jbpm/pvm/CheckInTests.java</include>
+ </includes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>build-jars</id>
+ <phase>test-compile</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
<configuration>
- <showDeprecation>false</showDeprecation>
-
+ <tasks>
+ <property name="tests.output.dir" value="${project.build.directory}" />
+ <property name="tests.resources.dir" value="${basedir}/src/test/resources" />
+ <ant antfile="scripts/build-jars-pvm.xml" target="build-jars-pvm" />
+ </tasks>
</configuration>
- </plugin>
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
+ </execution>
+ <execution>
+ <id>rename-tables</id>
+ <phase>compile</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
<configuration>
- <excludes>
- <exclude>hibernate.cfg.xml</exclude>
- <exclude>jbpm.cfg.xml</exclude>
- <exclude>jbpm.mail.templates.xml</exclude>
- </excludes>
+ <tasks>
+ <replace dir="target/classes" includes="**/hibernate.*.hbm.xml"
+ token="table="JBPM_" value="table="${table.prefix}" />
+ </tasks>
</configuration>
- </plugin>
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-ear-plugin</artifactId>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>com.agilejava.docbkx</groupId>
+ <artifactId>docbkx-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>doc-reference html</id>
+ <goals>
+ <goal>generate-html</goal>
+ </goals>
+ <phase>package</phase>
<configuration>
- <applicationXml>${basedir}/src/main/etc/ear/META-INF/application.xml</applicationXml>
+ <sourceDirectory>${basedir}/src/docbook/doc-reference/en</sourceDirectory>
+ <targetDirectory>${basedir}/target/manual/html_single/reference</targetDirectory>
+ <postProcess>
+ <copy
+ todir="${basedir}/target/manual/html_single/reference/images">
+ <fileset
+ dir="${basedir}/src/docbook/doc-reference/en/images">
+ <include name="**/*.png" />
+ <include name="**/*.gif" />
+ <include name="**/*.jpg" />
+ </fileset>
+ </copy>
+ </postProcess>
</configuration>
- </plugin>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
+ </execution>
+ <execution>
+ <id>doc-reference chunk html</id>
+ <goals>
+ <goal>generate-html</goal>
+ </goals>
+ <phase>package</phase>
<configuration>
- <argLine>${surefire.jvm.args}</argLine>
- <includes>
- <include>org/jbpm/pvm/CheckInTests.java</include>
- </includes>
+ <sourceDirectory>${basedir}/src/docbook/doc-reference/en</sourceDirectory>
+ <targetDirectory>${basedir}/target/manual/html/reference</targetDirectory>
+ <chunkedOutput>true</chunkedOutput>
+ <postProcess>
+ <copy todir="${basedir}/target/manual/html/reference/images">
+ <fileset
+ dir="${basedir}/src/docbook/doc-reference/en/images">
+ <include name="**/*.png" />
+ <include name="**/*.gif" />
+ <include name="**/*.jpg" />
+ </fileset>
+ </copy>
+ </postProcess>
</configuration>
- </plugin>
-
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>build-jars</id>
- <phase>test-compile</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <tasks>
- <property name="tests.output.dir" value="${project.build.directory}"/>
- <property name="tests.resources.dir" value="${basedir}/src/test/resources"/>
- <ant antfile="scripts/build-jars-pvm.xml" target="build-jars-pvm"/>
- </tasks>
- </configuration>
- </execution>
- <execution>
- <id>rename-tables</id>
- <phase>compile</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <tasks>
- <replace dir="target/classes" includes="**/hibernate.*.hbm.xml" token="table="JBPM_" value="table="${table.prefix}" />
- </tasks>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>com.agilejava.docbkx</groupId>
- <artifactId>docbkx-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>doc-reference html</id>
- <goals>
- <goal>generate-html</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <sourceDirectory>${basedir}/src/docbook/doc-reference/en</sourceDirectory>
- <targetDirectory>${basedir}/target/manual/html_single/reference</targetDirectory>
- <postProcess>
- <copy todir="${basedir}/target/manual/html_single/reference/images">
- <fileset dir="${basedir}/src/docbook/doc-reference/en/images">
- <include name="**/*.png"/>
- <include name="**/*.gif"/>
- <include name="**/*.jpg"/>
- </fileset>
- </copy>
- </postProcess>
- </configuration>
- </execution>
- <execution>
- <id>doc-reference chunk html</id>
- <goals>
- <goal>generate-html</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <sourceDirectory>${basedir}/src/docbook/doc-reference/en</sourceDirectory>
- <targetDirectory>${basedir}/target/manual/html/reference</targetDirectory>
- <chunkedOutput>true</chunkedOutput>
- <postProcess>
- <copy todir="${basedir}/target/manual/html/reference/images">
- <fileset dir="${basedir}/src/docbook/doc-reference/en/images">
- <include name="**/*.png"/>
- <include name="**/*.gif"/>
- <include name="**/*.jpg"/>
- </fileset>
- </copy>
- </postProcess>
- </configuration>
- </execution>
- <execution>
- <id>doc-reference pdf</id>
- <goals>
- <goal>generate-pdf</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <sourceDirectory>${basedir}/src/docbook/doc-reference/en</sourceDirectory>
- <targetDirectory>${basedir}/target/manual/pdf/reference</targetDirectory>
- <imgSrcPath>${basedir}/src/docbook/doc-reference/en/</imgSrcPath>
- </configuration>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>org.docbook</groupId>
- <artifactId>docbook-xml</artifactId>
- <version>4.4</version>
- <scope>runtime</scope>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </build>
-
- <!-- Profiles -->
- <profiles>
-
- <!--
- Name: debug
- Descr: Enable remote debuging for tests
- -->
- <profile>
- <id>debug</id>
- <activation>
- <property>
- <name>debug</name>
- </property>
- </activation>
- <properties>
- <surefire.jvm.args>${surefire.jdwp.args} ${surefire.gc.args}</surefire.jvm.args>
- </properties>
- </profile>
- <profile>
- <id>no-debug</id>
- <activation>
- <property>
- <name>!debug</name>
- </property>
- </activation>
- <properties>
- <surefire.jvm.args>${surefire.gc.args}</surefire.jvm.args>
- </properties>
- </profile>
-
- </profiles>
-
-</project>
+ </execution>
+ <execution>
+ <id>doc-reference pdf</id>
+ <goals>
+ <goal>generate-pdf</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <sourceDirectory>${basedir}/src/docbook/doc-reference/en</sourceDirectory>
+ <targetDirectory>${basedir}/target/manual/pdf/reference</targetDirectory>
+ <imgSrcPath>${basedir}/src/docbook/doc-reference/en/</imgSrcPath>
+ </configuration>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>org.docbook</groupId>
+ <artifactId>docbook-xml</artifactId>
+ <version>4.4</version>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+
+ <!-- ### PROFILES ####################################################### -->
+ <profiles>
+ <profile>
+ <id>debug</id>
+ <activation>
+ <property>
+ <name>debug</name>
+ </property>
+ </activation>
+ <properties>
+ <surefire.jvm.args>${surefire.jdwp.args} ${surefire.gc.args}</surefire.jvm.args>
+ </properties>
+ </profile>
+ <profile>
+ <id>no-debug</id>
+ <activation>
+ <property>
+ <name>!debug</name>
+ </property>
+ </activation>
+ <properties>
+ <surefire.jvm.args>${surefire.gc.args}</surefire.jvm.args>
+ </properties>
+ </profile>
+ </profiles>
+
+</project>
\ No newline at end of file
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/embedded/EmbeddedPersistenceTest.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/embedded/EmbeddedPersistenceTest.java 2008-08-07 07:55:35 UTC (rev 1844)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/embedded/EmbeddedPersistenceTest.java 2008-08-07 11:12:10 UTC (rev 1845)
@@ -32,41 +32,64 @@
*/
public class EmbeddedPersistenceTest extends JbpmTestCase {
+ SessionFactory sessionFactory;
+ Session session;
+ Transaction transaction;
+
public void testOrder() {
Configuration configuration = new Configuration();
configuration.configure("org/jbpm/pvm/api/db/embedded/hibernate.cfg.xml");
- SessionFactory sessionFactory = configuration.buildSessionFactory();
+ sessionFactory = configuration.buildSessionFactory();
- // start transaction
- Session session = sessionFactory.openSession();
- Transaction transaction = session.beginTransaction();
+ startTransaction();
Order order = new Order();
session.save(order);
- assertEquals("child", order.getState().getNode().getName());
+ assertEquals("arrived", order.getState());
- // new transaction
- transaction.commit();
- session.close();
- session = sessionFactory.openSession();
- transaction = session.beginTransaction();
+ newTransaction();
order = (Order) session.get(Order.class, order.getDbid());
- assertEquals("child", order.getState().getNode().getName());
- order.growUp();
- assertEquals("adult", order.getState().getNode().getName());
+ assertEquals("arrived", order.getState());
+ order.receive();
+ assertEquals("validate", order.getState());
- // new transaction
- transaction.commit();
- session.close();
- session = sessionFactory.openSession();
- transaction = session.beginTransaction();
+ newTransaction();
order = (Order) session.get(Order.class, order.getDbid());
- assertEquals("adult", order.getState().getNode().getName());
+ assertEquals("validate", order.getState());
+ order.approve();
+ assertEquals("ship goods", order.getState());
+ newTransaction();
+
+ order = (Order) session.get(Order.class, order.getDbid());
+ assertEquals("ship goods", order.getState());
+ order.paymentReceived();
+ assertEquals("archive", order.getState());
+
+ newTransaction();
+
+ order = (Order) session.get(Order.class, order.getDbid());
+ assertEquals("archive", order.getState());
+ order.archived();
+ assertEquals("end", order.getState());
+
+ commitTransaction();
+ }
+
+ void newTransaction() {
+ commitTransaction();
+ startTransaction();
+ }
+
+ void startTransaction() {
+ session = sessionFactory.openSession();
+ transaction = session.beginTransaction();
+ }
+
+ void commitTransaction() {
transaction.commit();
session.close();
}
-
}
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/embedded/Order.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/embedded/Order.java 2008-08-07 07:55:35 UTC (rev 1844)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/embedded/Order.java 2008-08-07 11:12:10 UTC (rev 1845)
@@ -22,72 +22,87 @@
package org.jbpm.pvm.api.db.embedded;
+import java.util.Map;
+
+import org.jbpm.pvm.activity.ActivityExecution;
+import org.jbpm.pvm.activity.ExternalActivity;
import org.jbpm.pvm.client.ClientProcessDefinition;
import org.jbpm.pvm.client.ClientProcessInstance;
-import org.jbpm.pvm.model.OpenExecution;
import org.jbpm.pvm.model.ProcessFactory;
-import org.jbpm.pvm.activity.ExternalActivity;
-import org.jbpm.pvm.activity.ActivityExecution;
-import java.util.Map;
-
/**
* @author Tom Baeyens
*/
public class Order {
- private static final ClientProcessDefinition processDefinition = createProcessDefinition();
+ private static final ClientProcessDefinition processDefinition = createProcessDefinition();
- long dbid;
- ClientProcessInstance state;
+ long dbid;
+ ClientProcessInstance processInstance;
- public Order() {
- state = getProcessDefinition().beginProcessInstance();
- }
+ public Order() {
+ processInstance = getProcessDefinition().beginProcessInstance();
+ }
- public static ClientProcessDefinition getProcessDefinition() {
- return processDefinition;
- }
+ public static ClientProcessDefinition getProcessDefinition() {
+ return processDefinition;
+ }
- private static ClientProcessDefinition createProcessDefinition() {
- ClientProcessDefinition processDefinition = ProcessFactory.build("the meaning of life")
- .node("child").initial().behaviour(WaitState.class)
- .transition("grow up").to("adult")
- .node("adult").behaviour(new WaitState())
- .transition("find a jobImpl").to("employee")
- .node("employee").behaviour(new WaitState())
- .transition("wrinkles").to("retired")
- .node("retired").behaviour(new WaitState())
- .transition("had enough").to("dead")
- .node("dead")
- .done();
+ private static ClientProcessDefinition createProcessDefinition() {
+ ClientProcessDefinition processDefinition = ProcessFactory.build("order")
+ .node("arrived").initial().behaviour(WaitState.class)
+ .transition("receive").to("validate")
+ .node("validate").behaviour(new WaitState())
+ .transition("approve").to("ship goods")
+ .transition("reject").to("end")
+ .node("ship goods").behaviour(new WaitState())
+ .transition("payment received").to("archive")
+ .node("archive").behaviour(new WaitState())
+ .transition("archived").to("end")
+ .node("end").behaviour(new WaitState())
+ .done();
- return processDefinition;
- }
+ return processDefinition;
+ }
- public long getDbid() {
- return dbid;
- }
+ public long getDbid() {
+ return dbid;
+ }
- public void setDbid(long dbid) {
- this.dbid = dbid;
- }
+ public void setDbid(long dbid) {
+ this.dbid = dbid;
+ }
+
+ public void receive() {
+ processInstance.signal("receive");
+ }
- public void growUp() {
- state.signal("grow up");
- }
+ public void approve() {
+ processInstance.signal("approve");
+ }
- public OpenExecution getState() {
- return state;
- }
+ public void reject() {
+ processInstance.signal("reject");
+ }
- public static class WaitState implements ExternalActivity
- {
- private static final long serialVersionUID = 1L;
- public void execute(ActivityExecution execution) {
- execution.waitForSignal();
- }
- public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters){
- }
- }
+ public void paymentReceived() {
+ processInstance.signal("payment received");
+ }
+
+ public void archived() {
+ processInstance.signal("archived");
+ }
+
+ public String getState() {
+ return processInstance.getNode().getName();
+ }
+
+ public static class WaitState implements ExternalActivity {
+ private static final long serialVersionUID = 1L;
+ public void execute(ActivityExecution execution) {
+ execution.waitForSignal();
+ }
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters){
+ }
+ }
}
Modified: jbpm4/pvm/trunk/modules/core/src/test/resources/org/jbpm/pvm/api/db/embedded/Order.hbm.xml
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/resources/org/jbpm/pvm/api/db/embedded/Order.hbm.xml 2008-08-07 07:55:35 UTC (rev 1844)
+++ jbpm4/pvm/trunk/modules/core/src/test/resources/org/jbpm/pvm/api/db/embedded/Order.hbm.xml 2008-08-07 11:12:10 UTC (rev 1845)
@@ -11,7 +11,7 @@
<generator class="sequence"/>
</id>
- <property name="state" type="execution" />
+ <property name="processInstance" type="execution" />
</class>
Modified: jbpm4/pvm/trunk/pom.xml
===================================================================
--- jbpm4/pvm/trunk/pom.xml 2008-08-07 07:55:35 UTC (rev 1844)
+++ jbpm4/pvm/trunk/pom.xml 2008-08-07 11:12:10 UTC (rev 1845)
@@ -1,12 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ======================================================================
- JBoss, the OpenSource J2EE webOS
- Distributable under LGPL license.
- See terms of license at http://www.gnu.org.
- ======================================================================
--->
+<!-- ====================================================================== -->
+<!-- -->
+<!-- JBoss, the OpenSource J2EE webOS -->
+<!-- -->
+<!-- Distributable under LGPL license. -->
+<!-- See terms of license at http://www.gnu.org. -->
+<!-- -->
+<!-- ====================================================================== -->
<!-- $Id$ -->
@@ -15,10 +16,10 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
-
+
<!-- ### GENERAL PROJECT INFO ########################################### -->
- <name>JBoss jBPM</name>
- <groupId>org.jboss.jbpm.pvm</groupId>
+ <name>JBoss jBPM 4 - PVM Parent</name>
+ <groupId>org.jbpm</groupId>
<artifactId>pvm-parent</artifactId>
<packaging>pom</packaging>
<version>1.0.0-SNAPSHOT</version>
@@ -27,13 +28,12 @@
<url>http://www.jboss.org</url>
</organization>
<url>http://jbpm.org/</url>
-
+
<!-- ### MODULES ######################################################## -->
<modules>
<module>modules/core</module>
- <module>modules/minimal</module>
</modules>
-
+
<!-- ### PROPERTIES ##################################################### -->
<properties>
<junit.version>3.8.1</junit.version>
@@ -51,7 +51,7 @@
<cactus.version>13-1.7.1</cactus.version>
<juel.version>2.1.0</juel.version>
</properties>
-
+
<!-- ### DEPENDENCY MANAGEMENT ########################################## -->
<dependencyManagement>
<dependencies>
@@ -127,7 +127,7 @@
</dependency>
</dependencies>
</dependencyManagement>
-
+
<!-- ### SOURCE CONTROL MANAGEMENT ###################################### -->
<scm>
<connection>scm:svn:http://anonsvn.jboss.org/repos/jbpm/jbpm4</connection>
@@ -137,7 +137,7 @@
<prerequisites>
<maven>2.0.9</maven>
</prerequisites>
-
+
<!-- ### ISSUE MANAGEMENT ############################################### -->
<issueManagement>
<system>jira</system>
@@ -223,7 +223,7 @@
</configuration>
</plugin>
</plugins>
-
+
<!-- ### PLUGIN MANAGEMENT ############################################## -->
<pluginManagement>
<plugins>
@@ -272,7 +272,7 @@
</plugins>
</pluginManagement>
</build>
-
+
<!-- ### DISTRIBUTION MANAGEMENT ######################################## -->
<distributionManagement>
<site>
@@ -285,7 +285,7 @@
</repository>
</distributionManagement>
- <!-- Profiles -->
+ <!-- ### PROFILES ####################################################### -->
<profiles>
<profile>
<id>skiptests</id>
@@ -350,7 +350,7 @@
</snapshots>
</repository>
</repositories>
-
+
<!-- ### PLUGIN REPOSITORIES ############################################ -->
<pluginRepositories>
<pluginRepository>
17 years, 8 months
JBoss JBPM SVN: r1844 - jbpm3/trunk/modules/console/src/main/webapp/WEB-INF.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-08-07 03:55:35 -0400 (Thu, 07 Aug 2008)
New Revision: 1844
Modified:
jbpm3/trunk/modules/console/src/main/webapp/WEB-INF/jboss-web.xml
jbpm3/trunk/modules/console/src/main/webapp/WEB-INF/web.xml
Log:
specified a fixed context root to avoid having the version number in the console url
registered a servlet context listener that closes the jbpm configuration for releasing application resources
JBPM-1446
Modified: jbpm3/trunk/modules/console/src/main/webapp/WEB-INF/jboss-web.xml
===================================================================
--- jbpm3/trunk/modules/console/src/main/webapp/WEB-INF/jboss-web.xml 2008-08-07 07:50:46 UTC (rev 1843)
+++ jbpm3/trunk/modules/console/src/main/webapp/WEB-INF/jboss-web.xml 2008-08-07 07:55:35 UTC (rev 1844)
@@ -9,6 +9,7 @@
<name> is one of the names configured in your login-config.xml.
-->
<security-domain>java:/jaas/jbpm-console</security-domain>
+ <context-root>jbpm-console</context-root>
<resource-ref>
<res-ref-name>jdbc/JbpmDataSource</res-ref-name>
Modified: jbpm3/trunk/modules/console/src/main/webapp/WEB-INF/web.xml
===================================================================
--- jbpm3/trunk/modules/console/src/main/webapp/WEB-INF/web.xml 2008-08-07 07:50:46 UTC (rev 1843)
+++ jbpm3/trunk/modules/console/src/main/webapp/WEB-INF/web.xml 2008-08-07 07:55:35 UTC (rev 1844)
@@ -120,6 +120,15 @@
</listener>
<!-- Job executor launcher (end) -->
+ <listener>
+ <description>
+ Closes the jBPM configuration on servlet context destruction, releasing
+ application resources. This listener should appear after the job executor
+ launcher to avoid reopening the configuration.
+ </description>
+ <listener-class>org.jbpm.web.JbpmConfigurationCloser</listener-class>
+ </listener>
+
<!-- Job executor servlet (begin) ===
<servlet>
<description>
17 years, 8 months
JBoss JBPM SVN: r1843 - in jbpm3/trunk/modules: jbpm4jsf/src/main/java/org/jbpm/jsf/core and 1 other directory.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-08-07 03:50:46 -0400 (Thu, 07 Aug 2008)
New Revision: 1843
Modified:
jbpm3/trunk/modules/console/src/main/webapp/sa/procins.xhtml
jbpm3/trunk/modules/jbpm4jsf/src/main/java/org/jbpm/jsf/core/CoreLibrary.java
Log:
registered getServerTimeZone function in jbpm4jsf core library, called it from process instance page
Modified: jbpm3/trunk/modules/console/src/main/webapp/sa/procins.xhtml
===================================================================
--- jbpm3/trunk/modules/console/src/main/webapp/sa/procins.xhtml 2008-08-07 07:48:41 UTC (rev 1842)
+++ jbpm3/trunk/modules/console/src/main/webapp/sa/procins.xhtml 2008-08-07 07:50:46 UTC (rev 1843)
@@ -97,7 +97,7 @@
<th>Start Date</th>
<td>
<h:outputText value="#{pi.start}">
- <f:convertDateTime type="both" timeZone="#{java.util.TimeZone.getDefault()}"/>
+ <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
</h:outputText>
</td>
</tr>
@@ -105,7 +105,7 @@
<th>End Date</th>
<td>
<h:outputText value="#{pi.end}">
- <f:convertDateTime type="both" timeZone="#{java.util.TimeZone.getDefault()}"/>
+ <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
</h:outputText>
</td>
</tr>
Modified: jbpm3/trunk/modules/jbpm4jsf/src/main/java/org/jbpm/jsf/core/CoreLibrary.java
===================================================================
--- jbpm3/trunk/modules/jbpm4jsf/src/main/java/org/jbpm/jsf/core/CoreLibrary.java 2008-08-07 07:48:41 UTC (rev 1842)
+++ jbpm3/trunk/modules/jbpm4jsf/src/main/java/org/jbpm/jsf/core/CoreLibrary.java 2008-08-07 07:50:46 UTC (rev 1843)
@@ -1,5 +1,7 @@
package org.jbpm.jsf.core;
+import java.util.TimeZone;
+
import org.jbpm.jsf.core.handler.AddCommentHandler;
import org.jbpm.jsf.core.handler.AssignTaskHandler;
import org.jbpm.jsf.core.handler.CancelHandler;
@@ -107,5 +109,11 @@
application.addComponent(UITaskForm.COMPONENT_TYPE, UITaskForm.class.getName());
addComponent("taskForm", UITaskForm.COMPONENT_TYPE, UITaskForm.RENDERER_TYPE, TaskFormHandler.class);
+
+ try {
+ addFunction("getServerTimeZone", TimeZone.class.getMethod("getDefault"));
+ } catch (NoSuchMethodException e) {
+ throw new AssertionError(e);
+ }
}
}
17 years, 8 months
JBoss JBPM SVN: r1842 - jbpm3/trunk/modules/console.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-08-07 03:48:41 -0400 (Thu, 07 Aug 2008)
New Revision: 1842
Modified:
jbpm3/trunk/modules/console/pom.xml
Log:
re-added commons-io dependency
Modified: jbpm3/trunk/modules/console/pom.xml
===================================================================
--- jbpm3/trunk/modules/console/pom.xml 2008-08-07 06:42:26 UTC (rev 1841)
+++ jbpm3/trunk/modules/console/pom.xml 2008-08-07 07:48:41 UTC (rev 1842)
@@ -99,6 +99,10 @@
<artifactId>commons-logging</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
</dependencies>
<!-- Plugins -->
17 years, 8 months