JBoss JBPM SVN: r1554 - jbpm4/trunk.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-07-08 20:43:45 -0400 (Tue, 08 Jul 2008)
New Revision: 1554
Added:
jbpm4/trunk/.classpath
jbpm4/trunk/.project
Log:
created eclipse project files for jbpm 4
Added: jbpm4/trunk/.classpath
===================================================================
--- jbpm4/trunk/.classpath (rev 0)
+++ jbpm4/trunk/.classpath 2008-07-09 00:43:45 UTC (rev 1554)
@@ -0,0 +1,18 @@
+<?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="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"/>
+</classpath>
Added: jbpm4/trunk/.project
===================================================================
--- jbpm4/trunk/.project (rev 0)
+++ jbpm4/trunk/.project 2008-07-09 00:43:45 UTC (rev 1554)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>jbpm</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ </natures>
+</projectDescription>
15 years, 10 months
JBoss JBPM SVN: r1553 - in api/trunk/modules: api/src/main/java/org/jboss/bpm/client and 8 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-07-08 11:45:10 -0400 (Tue, 08 Jul 2008)
New Revision: 1553
Added:
api/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/client/SignalListener.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/client/SignalManager.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Activity.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ComplexGateway.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ErrorResult.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Event.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ExclusiveGateway.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Flow.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/FlowObject.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/InclusiveGateway.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ItermediateEvent.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MessageFlow.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MessageResult.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ParallelGateway.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Process.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Result.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SequenceFlow.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/StartEvent.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SubProcess.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Task.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/EndSignal.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/ExecutionContext.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Signal.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/StartSignal.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Token.java
Removed:
api/trunk/modules/api/src/main/java/org/jboss/bpm/process/ExecutionContext.java
Modified:
api/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessEngine.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/client/internal/AbstractExecution.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/process/Execution.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Activity.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/test/DefaultEngineTestCase.java
api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/activity/BasicActivity.java
api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/basic/BasicSequenceTest.java
api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/context/ContextActivity.java
Log:
Align API with BPMN (WIP)
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessEngine.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessEngine.java 2008-07-08 15:44:39 UTC (rev 1552)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessEngine.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -39,9 +39,13 @@
// Injected through the MC
protected ProcessDefinitionManager processDefinitionManager;
// Injected through the MC
+ protected ProcessManager processManager;
+ // Injected through the MC
protected ProcessInstanceManager processInstanceManager;
// Injected through the MC
protected ExecutionManager executionManager;
+ // Injected through the MC
+ protected SignalManager signalManager;
// Flag to indicate that the Engine is shutting down
private boolean prepareForShutdown;
@@ -88,6 +92,19 @@
}
/**
+ * Get the configured instance of the process definition manager
+ *
+ * @return The process definition manager
+ */
+ public ProcessManager getProcessManager()
+ {
+ if (processManager == null)
+ throw new IllegalStateException("ProcessManager not available through kernel configuration");
+
+ return processManager;
+ }
+
+ /**
* Get the configured instance of the process instance manager
*
* @return The process instance manager
@@ -112,4 +129,12 @@
return executionManager;
}
+
+ public SignalManager getSignalManager()
+ {
+ if (signalManager == null)
+ throw new IllegalStateException("SignalManager not available through kernel configuration");
+
+ return signalManager;
+ }
}
\ No newline at end of file
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,146 @@
+/*
+ * 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.jboss.bpm.client;
+
+// $Id$
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.jboss.bpm.EngineShutdownException;
+import org.jboss.bpm.model.Process;
+
+/**
+ * The process manager is the entry point to create, find and otherwise manage processes.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 18-Jun-2008
+ */
+public abstract class ProcessManager
+{
+ // Injected through the MC
+ protected ProcessEngine engine;
+ // The set of process definitions
+ private Set<Process> procs = new HashSet<Process>();
+
+ // Hide public constructor
+ protected ProcessManager()
+ {
+ }
+
+ /* Get the associated process engine */
+ public ProcessEngine getProcessEngine()
+ {
+ if (engine == null)
+ throw new IllegalStateException("ProcessEngine not available through kernel configuration");
+
+ return engine;
+ }
+
+ /* Locate the process definition manager */
+ public static ProcessManager locateProcessManager()
+ {
+ ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
+ return engine.getProcessManager();
+ }
+
+ /*
+ * Create a process defintion from a XML string in one of the supported formats
+ */
+ public final Process createProcess(String procDescriptor)
+ {
+ // TODO: test this
+ if (engine.isPrepareForShutdown())
+ throw new EngineShutdownException("Cannot create new Process while engine is shutting down");
+
+ Process pd = createProcessOverride(procDescriptor);
+ return pd;
+ }
+
+ /*
+ * Override to implement process definition creation
+ */
+ protected abstract Process createProcessOverride(String procDescriptor);
+
+ /*
+ * Create a process defintion from an URL to a XML descritor in one of the supported formats
+ */
+ public final Process createProcess(URL procURL) throws IOException
+ {
+ // TODO: test this
+ if (engine.isPrepareForShutdown())
+ throw new EngineShutdownException("Cannot create new Process while engine is shutting down");
+
+ Process pd = createProcessOverride(procURL);
+ return pd;
+ }
+
+ /*
+ * Override to implement process definition creation
+ */
+ protected abstract Process createProcessOverride(URL pdURL) throws IOException;
+
+ /*
+ * Get the set of registered process definitions
+ */
+ public Set<Process> getProcesss()
+ {
+ return Collections.unmodifiableSet(procs);
+ }
+
+ /*
+ * Find a process definition for a given name
+ *
+ * @return null if the process definition is not defined
+ */
+ public Process findProcess(String name)
+ {
+ Process proc = null;
+ for (Process aux : procs)
+ {
+ if (aux.getName().equals(name))
+ {
+ proc = aux;
+ break;
+ }
+ }
+ return proc;
+ }
+
+ /*
+ * Remove a process definition and all its associated process instances
+ */
+ public void removeProcess(Process proc)
+ {
+ // Remove the preocess definition
+ procs.remove(proc.getName());
+ }
+
+ // Add a process definition
+ protected void addProcess(Process proc)
+ {
+ procs.add(proc);
+ }
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/client/SignalListener.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/client/SignalListener.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/client/SignalListener.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.client;
+
+//$Id$
+
+import org.jboss.bpm.runtime.Signal;
+
+/**
+ * A signal listener that can be registered with the ProcessEngine
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface SignalListener
+{
+ /** Catch a signal from the process that this listener is registered with */
+ void catchSignal(Signal signal);
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/client/SignalListener.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/client/SignalManager.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/client/SignalManager.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/client/SignalManager.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,112 @@
+/*
+ * 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.jboss.bpm.client;
+
+//$Id$
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.bpm.runtime.Signal;
+
+/**
+ * The signal manager is the entry point for signal processing
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public abstract class SignalManager
+{
+ // Injected through the MC
+ protected ProcessEngine engine;
+ // The map of registered signal listeners
+ private Map<String,Set<SignalListener>> listeners = new HashMap<String,Set<SignalListener>>();
+
+ // Hide public constructor
+ protected SignalManager()
+ {
+ }
+
+ /**
+ * Get the associated process engine
+ */
+ public ProcessEngine getProcessEngine()
+ {
+ if (engine == null)
+ throw new IllegalStateException("ProcessEngine not available through kernel configuration");
+
+ return engine;
+ }
+
+ /**
+ * Locate the signal manager
+ */
+ public static SignalManager locateSignalManager()
+ {
+ ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
+ return engine.getSignalManager();
+ }
+
+ /** Add a signal listener for a given process */
+ public void addListener(String procName, SignalListener listener)
+ {
+ Set<SignalListener> set = listeners.get(procName);
+ if (set == null)
+ {
+ set = new HashSet<SignalListener>();
+ listeners.put(procName, set);
+ }
+ set.add(listener);
+ }
+
+ /** Remove an signal listener for a given process */
+ public void removeListener(String procName, SignalListener listener)
+ {
+ Set<SignalListener> set = listeners.get(procName);
+ if (set != null)
+ {
+ set.remove(listener);
+ }
+ }
+
+ /** Remove all signal listeners for a given process */
+ public void removeListeners(String procName)
+ {
+ listeners.remove(procName);
+ }
+
+ /** Throw a signal to all registered listeners */
+ public void throwSignal(Signal signal)
+ {
+ String procName = signal.getProcessName();
+ Set<SignalListener> set = listeners.get(procName);
+ if (set != null)
+ {
+ for (SignalListener listener : set)
+ {
+ listener.catchSignal(signal);
+ }
+ }
+ }
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/client/SignalManager.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/client/internal/AbstractExecution.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/client/internal/AbstractExecution.java 2008-07-08 15:44:39 UTC (rev 1552)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/client/internal/AbstractExecution.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -25,8 +25,8 @@
import org.jboss.bpm.client.ProcessInstance;
import org.jboss.bpm.process.Execution;
-import org.jboss.bpm.process.ExecutionContext;
import org.jboss.bpm.process.Node;
+import org.jboss.bpm.runtime.Token;
/**
* Represents an execution of a process instance.
@@ -85,7 +85,7 @@
/**
* Get the context for this execution
*/
- public abstract ExecutionContext getContext();
+ public abstract Token getContext();
// Set the name for the execution
protected abstract void setName(String name);
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Activity.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Activity.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Activity.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * An activity is a generic term for work that a company or organization performs via business processes.
+ * An activity can be atomic or non-atomic (compound).
+ * The types of activities that are a part of a Process Model are: Process, Sub-Process, and Task.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface Activity extends FlowObject
+{
+ /** Get the name */
+ String getName();
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Activity.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ComplexGateway.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ComplexGateway.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ComplexGateway.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * A Complex Gateway handles situations that are not easily handled through the other types of Gateways.
+ *
+ * Complex Gateways can also be used to combine a set of linked simple Gateways into a single,
+ * more compact situation. Modelers can provide complex expressions that determine the merging and/or
+ * splitting behavior of the Gateway.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface ComplexGateway extends Gateway
+{
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ComplexGateway.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,41 @@
+/*
+ * 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.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * As the name implies, the End Event indicates where a Process will end.
+ *
+ * In terms of Sequence Flow, the End Event ends the flow of the Process, and thus, will not have any outgoing Sequence Flow.
+ * An End Event can have a specific Result that will appear as a marker within the center of the End Event shape.
+ * End Event Results are Message, Error, Compensation, Link, and Multiple.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface EndEvent extends Event
+{
+ /** Get the result */
+ Result getResult();
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ErrorResult.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ErrorResult.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ErrorResult.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * Represents the result of an End event as an Error.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface ErrorResult extends Result
+{
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ErrorResult.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Event.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Event.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Event.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -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.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * An Event is something that “happens” during the course of a business process.
+ * These Events affect the flow of the Process and usually have a cause or an impact.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface Event extends FlowObject
+{
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Event.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ExclusiveGateway.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ExclusiveGateway.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ExclusiveGateway.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * A point in the workflow process where, based on a decision or workflow control data, one of several branches is chosen.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface ExclusiveGateway extends Gateway
+{
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ExclusiveGateway.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Flow.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Flow.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Flow.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * A Flow is a graphical line connecting two objects in a BPD.
+ *
+ * There are two types of Flow: Sequence Flow and Message Flow, each with their own line style.
+ * Flow is also used in a generic sense (and lowercase) to describe how Tokens will traverse
+ * Sequence Flow from the Start Event to an End Event.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface Flow
+{
+ /** Get the name */
+ String getName();
+
+ /** Get the source of this Flow */
+ FlowObject getSource();
+
+ /** Get the target for this Flow */
+ FlowObject getTarget();
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Flow.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/FlowObject.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/FlowObject.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/FlowObject.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * A Flow Object is one of the set of following graphical objects: Event, Activity, and Gateway.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface FlowObject
+{
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/FlowObject.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -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.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * Gateways are modelling elements that are used to control how Sequence Flow interact as they converge and diverge within a Process.
+ * If the flow does not need to be controlled, then a Gateway is not needed.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface Gateway extends FlowObject
+{
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/InclusiveGateway.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/InclusiveGateway.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/InclusiveGateway.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,37 @@
+/*
+ * 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.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * This Decision represents a branching point where Alternatives are based on conditional expressions contained within outgoing Sequence Flow.
+ * However, in this case, the True evaluation of one condition expression does not exclude the evaluation of other condition expressions.
+ * All Sequence Flow with a True evaluation will be traversed by a Token.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface InclusiveGateway extends Gateway
+{
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/InclusiveGateway.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ItermediateEvent.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ItermediateEvent.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ItermediateEvent.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * An Intermediate Event is an Event that occurs after a Process has been started.
+ *
+ * It will affect the Flow of the Process, but will not start or (directly) terminate the Process.
+ * An Intermediate Event will show where messages or delays are expected within the Process,
+ * disrupt the Normal Flow through exception handling, or show the extra flow required for compensating a transaction.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface ItermediateEvent extends Event
+{
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ItermediateEvent.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MessageFlow.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MessageFlow.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MessageFlow.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -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.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * A Message Flow is a dashed line that is used to show the flow of messages between two entities that are prepared to send and receive them.
+ * In BPMN, two separate Pools in the Diagram will represent the two entities.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface MessageFlow extends Flow
+{
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MessageFlow.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MessageResult.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MessageResult.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MessageResult.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * Represents the result of an End event as a Message.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface MessageResult extends Result
+{
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MessageResult.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ParallelGateway.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ParallelGateway.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ParallelGateway.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * Parallel Gateway is required when two or more Activities need to be executed in parallel.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface ParallelGateway extends Gateway
+{
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ParallelGateway.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Process.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Process.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Process.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,37 @@
+/*
+ * 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.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * A Process is any Activity performed within a company or organization.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface Process extends Activity
+{
+ /** Get the start event */
+ StartEvent getStartEvent();
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Process.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Result.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Result.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Result.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model;
+
+//$Id$
+
+import org.jboss.bpm.client.Attachments;
+
+/**
+ * A Result is consequence of reaching an End Event.
+ *
+ * Results can be of different types, including: Message, Error, Compensation, Link, and Multiple.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface Result extends Attachments
+{
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Result.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SequenceFlow.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SequenceFlow.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SequenceFlow.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -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.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * A Sequence Flow is a solid graphical line that is used to show the order that Activities will be performed in a Process.
+ * Each Flow has only one source and only one target.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface SequenceFlow extends Flow
+{
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SequenceFlow.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/StartEvent.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/StartEvent.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/StartEvent.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -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.jboss.bpm.model;
+
+//$Id$
+
+import org.jboss.bpm.runtime.ExecutionContext;
+
+/**
+ * A Start Event indicates where a particular Process will start.
+ *
+ * In terms of Sequence Flow, the Start Event starts the Flow of the Process, and thus, will not have any incoming Sequence Flow.
+ * A Start Event can have a Trigger that indicates how the Process starts: Message, Timer, Rule, Link, or Multiple.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface StartEvent extends Event
+{
+ /** Start the flow of the process */
+ void execute();
+
+ /** Start the flow of the process, with a given execution context */
+ void execute(ExecutionContext ctx);
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/StartEvent.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SubProcess.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SubProcess.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SubProcess.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,37 @@
+/*
+ * 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.jboss.bpm.model;
+
+
+// $Id$
+
+/**
+ * A Sub-Process is Process that is included within another Process.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface SubProcess extends Process
+{
+ /** Get the parent process */
+ Process getParentProcess();
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SubProcess.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Task.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Task.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Task.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,41 @@
+/*
+ * 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.jboss.bpm.model;
+
+//$Id$
+
+import org.jboss.bpm.runtime.ExecutionContext;
+
+/**
+ * A Task is an Atomic Activity that is included within a Process.
+ *
+ * A Task is used when the work in the Process is not broken down to a finer level of Process Model detail.
+ * Generally, an end-user and/or an application are used to perform the Task when it is executed.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface Task extends Activity
+{
+ /** Execute the task */
+ void execute(ExecutionContext ctx);
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Task.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/process/Execution.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/process/Execution.java 2008-07-08 15:44:39 UTC (rev 1552)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/process/Execution.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -24,6 +24,7 @@
//$Id$
import org.jboss.bpm.client.ProcessInstance;
+import org.jboss.bpm.runtime.Token;
/**
* Represents an execution of a process instance.
@@ -49,7 +50,7 @@
/**
* Get the context for this execution
*/
- ExecutionContext getContext();
+ Token getContext();
/**
* Get the current node for this execution
Deleted: api/trunk/modules/api/src/main/java/org/jboss/bpm/process/ExecutionContext.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/process/ExecutionContext.java 2008-07-08 15:44:39 UTC (rev 1552)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/process/ExecutionContext.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -1,40 +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.jboss.bpm.process;
-
-import org.jboss.bpm.client.Attachments;
-
-//$Id$
-
-/**
- * An execution context that can take attachments.
- *
- * @author Thomas.Diesler(a)jboss.com
- * @since 20-Apr-2007
- */
-public abstract class ExecutionContext implements Attachments
-{
- // Hide public constructor
- protected ExecutionContext()
- {
- }
-}
\ No newline at end of file
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Activity.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Activity.java 2008-07-08 15:44:39 UTC (rev 1552)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Activity.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -23,7 +23,6 @@
//$Id$
-import org.jboss.bpm.process.ExecutionContext;
import org.jboss.bpm.process.Node;
/**
@@ -43,5 +42,5 @@
* @param node The node this activity is associated with
* @param ctx The execution context
*/
- void execute(Node node, ExecutionContext ctx);
+ void execute(Node node, Token ctx);
}
\ No newline at end of file
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/EndSignal.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/EndSignal.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/EndSignal.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.runtime;
+
+//$Id$
+
+import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.Result;
+
+/**
+ * A Signal thrown when the Process ends
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public class EndSignal extends Signal
+{
+ private Result result;
+
+ /** Create the signal for a given process */
+ public EndSignal(Process proc, Result result)
+ {
+ super(proc);
+ this.result = result;
+ }
+
+ /** Get the result */
+ public Result getResult()
+ {
+ return result;
+ }
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/EndSignal.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Copied: api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/ExecutionContext.java (from rev 1541, api/trunk/modules/api/src/main/java/org/jboss/bpm/process/ExecutionContext.java)
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/ExecutionContext.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/ExecutionContext.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,40 @@
+/*
+ * 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.jboss.bpm.runtime;
+
+import org.jboss.bpm.client.Attachments;
+
+//$Id$
+
+/**
+ * An execution context that can take attachments.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public abstract class ExecutionContext implements Attachments
+{
+ // Hide public constructor
+ protected ExecutionContext()
+ {
+ }
+}
\ No newline at end of file
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Signal.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Signal.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Signal.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,64 @@
+/*
+ * 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.jboss.bpm.runtime;
+
+//$Id$
+
+import org.jboss.bpm.model.Process;
+
+/**
+ * A Signal thrown by the ProcessEngine
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public abstract class Signal
+{
+ private String shortName;
+ private String procName;
+
+ /** Create the signal for a given process */
+ public Signal(Process proc)
+ {
+ this.procName = proc.getName();
+
+ shortName = getClass().getName();
+ shortName = shortName.substring(shortName.lastIndexOf('.') + 1);
+ }
+
+ /** Get the short name for this signal */
+ public String getShortName()
+ {
+ return shortName;
+ }
+
+ /** Get the proccess name */
+ public String getProcessName()
+ {
+ return procName;
+ }
+
+ public String toString()
+ {
+ return shortName + "[" + procName + "]";
+ }
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Signal.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/StartSignal.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/StartSignal.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/StartSignal.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -0,0 +1,41 @@
+/*
+ * 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.jboss.bpm.runtime;
+
+//$Id$
+
+import org.jboss.bpm.model.Process;
+
+/**
+ * A signal thrown by the Process starts
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public class StartSignal extends Signal
+{
+ /** Create the signal for a given process */
+ public StartSignal(Process proc)
+ {
+ super(proc);
+ }
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/StartSignal.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Token.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Token.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Token.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -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.jboss.bpm.runtime;
+
+//$Id$
+
+import org.jboss.bpm.client.Attachments;
+
+/**
+ * A Token is a descriptive construct used to describe how the flow of a Process will proceed at runtime.
+ *
+ * By tracking how the Token traverses the Flow Objects, gets diverted through alternative paths, and gets split into parallel paths,
+ * the normal Sequence Flow should be completely definable.
+ *
+ * A Token will have a unique identity that can be used to separate multiple Tokens that may exist because
+ * of concurrent process instances or the splitting of the Token for parallel processing within a single process instance.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public abstract class Token implements Attachments
+{
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Token.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/test/DefaultEngineTestCase.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/test/DefaultEngineTestCase.java 2008-07-08 15:44:39 UTC (rev 1552)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/test/DefaultEngineTestCase.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -23,13 +23,44 @@
// $Id$
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jboss.bpm.client.SignalListener;
import org.jboss.bpm.client.ProcessEngine;
+import org.jboss.bpm.runtime.Signal;
-public abstract class DefaultEngineTestCase extends AbstractAPITestCase
+public abstract class DefaultEngineTestCase extends AbstractAPITestCase implements SignalListener
{
+ // provide logging
+ private static final Log log = LogFactory.getLog(DefaultEngineTestCase.class);
+
+ private List<Signal> signals = new ArrayList<Signal>();
+
@Override
protected String getBeansConfig()
{
return ProcessEngine.JBPM_ENGINE_CONFIG;
}
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ signals.clear();
+ }
+
+ public void catchSignal(Signal signal)
+ {
+ signals.add(signal);
+ log.debug(signal);
+ }
+
+ public List<Signal> getCaughtSignals()
+ {
+ return Collections.unmodifiableList(signals);
+ }
}
Modified: api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/activity/BasicActivity.java
===================================================================
--- api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/activity/BasicActivity.java 2008-07-08 15:44:39 UTC (rev 1552)
+++ api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/activity/BasicActivity.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -23,9 +23,9 @@
// $Id$
-import org.jboss.bpm.process.ExecutionContext;
import org.jboss.bpm.process.Node;
import org.jboss.bpm.runtime.Activity;
+import org.jboss.bpm.runtime.Token;
/**
* An Activity that adds an attachment to the execution context
@@ -35,7 +35,7 @@
*/
public class BasicActivity implements Activity
{
- public void execute(Node node, ExecutionContext ctx)
+ public void execute(Node node, Token ctx)
{
String name = node.getName();
ctx.addAttachment(String.class, "Activity on: " + name);
Modified: api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/basic/BasicSequenceTest.java
===================================================================
--- api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/basic/BasicSequenceTest.java 2008-07-08 15:44:39 UTC (rev 1552)
+++ api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/basic/BasicSequenceTest.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -106,4 +106,26 @@
assertEquals(pd.findNode("end"), ex.getNode());
assertEquals(pd.getEndNodes().iterator().next(), ex.getNode());
}
+
+ /*
+ public void testBasicSequence() throws Exception
+ {
+ // Create a Process through the ProcessManager
+ ProcessManager pm = ProcessManager.locateProcessManager();
+ Process proc = pm.createProcess(jpdl);
+
+ // Add an event listener through the EventManager
+ SignalManager em = SignalManager.locateSignalManager();
+ em.addListener(proc.getName(), this);
+
+ // Get the start event of this Process
+ StartEvent start = proc.getStartEvent();
+
+ // Signal the execution
+ start.execute();
+
+ // Validate received events
+ assertEquals("xxx", getCaughtSignals());
+ }
+ */
}
Modified: api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/context/ContextActivity.java
===================================================================
--- api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/context/ContextActivity.java 2008-07-08 15:44:39 UTC (rev 1552)
+++ api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/context/ContextActivity.java 2008-07-08 15:45:10 UTC (rev 1553)
@@ -23,13 +23,13 @@
// $Id$
-import org.jboss.bpm.process.ExecutionContext;
import org.jboss.bpm.process.Node;
import org.jboss.bpm.runtime.Activity;
+import org.jboss.bpm.runtime.Token;
public class ContextActivity implements Activity
{
- public void execute(Node node, ExecutionContext ctx)
+ public void execute(Node node, Token ctx)
{
String name = node.getName();
ctx.addAttachment(String.class, "ActivityMessage", "Activity on '" + name + "' has: " + ctx.getAttachmentKeys());
15 years, 10 months
JBoss JBPM SVN: r1552 - jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/client.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-07-08 11:44:39 -0400 (Tue, 08 Jul 2008)
New Revision: 1552
Modified:
jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/client/ExecutionImpl.java
Log:
Align API with BPMN (WIP)
Modified: jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/client/ExecutionImpl.java
===================================================================
--- jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/client/ExecutionImpl.java 2008-07-08 14:41:49 UTC (rev 1551)
+++ jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/client/ExecutionImpl.java 2008-07-08 15:44:39 UTC (rev 1552)
@@ -31,8 +31,8 @@
import org.jboss.bpm.client.ProcessInstance;
import org.jboss.bpm.client.internal.AbstractExecution;
import org.jboss.bpm.process.Execution;
-import org.jboss.bpm.process.ExecutionContext;
import org.jboss.bpm.process.Node;
+import org.jboss.bpm.runtime.Token;
/**
* Represents an execution of a process instance.
@@ -43,7 +43,7 @@
public class ExecutionImpl extends AbstractExecution
{
private org.jbpm.graph.exe.Execution oldEx;
- private ExecutionContext context = new ContextImpl();
+ private Token context = new ContextImpl();
ExecutionImpl(ProcessInstance pi, org.jbpm.graph.exe.Execution oldEx)
{
@@ -80,12 +80,12 @@
}
@Override
- public ExecutionContext getContext()
+ public Token getContext()
{
return context;
}
- private class ContextImpl extends ExecutionContext
+ private class ContextImpl extends Token
{
@SuppressWarnings("unchecked")
public <T> T addAttachment(Class<T> clazz, Object value)
15 years, 10 months
JBoss JBPM SVN: r1551 - pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/cal.
by do-not-reply@jboss.org
Author: porcherg
Date: 2008-07-08 10:41:49 -0400 (Tue, 08 Jul 2008)
New Revision: 1551
Removed:
pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/cal/jbpm.business.calendar.properties
Log:
remove duplicated file
Deleted: pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/cal/jbpm.business.calendar.properties
===================================================================
--- pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/cal/jbpm.business.calendar.properties 2008-07-08 14:38:05 UTC (rev 1550)
+++ pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/cal/jbpm.business.calendar.properties 2008-07-08 14:41:49 UTC (rev 1551)
@@ -1,36 +0,0 @@
-hour.format=HH:mm
-#weekday ::= [<daypart> [& <daypart>]*]
-#daypart ::= <start-hour>-<to-hour>
-#start-hour and to-hour must be in the hour.format
-#dayparts have to be ordered
-weekday.monday= 9:00-12:00 & 12:30-17:00
-weekday.thuesday= 9:00-12:00 & 12:30-17:00
-weekday.wednesday= 9:00-12:00 & 12:30-17:00
-weekday.thursday= 9:00-12:00 & 12:30-17:00
-weekday.friday= 9:00-12:00 & 12:30-17:00
-weekday.saturday=
-weekday.sunday=
-
-day.format=dd/MM/yyyy
-# holiday syntax: <holiday>
-# holiday period syntax: <start-day>-<end-day>
-# below are the belgian official holidays
-holiday.1= 01/01/2005 # nieuwjaar
-holiday.2= 27/3/2005 # pasen
-holiday.3= 28/3/2005 # paasmaandag
-holiday.4= 1/5/2005 # feest van de arbeid
-holiday.5= 5/5/2005 # hemelvaart
-holiday.6= 15/5/2005 # pinksteren
-holiday.7= 16/5/2005 # pinkstermaandag
-holiday.8= 21/7/2005 # my birthday
-holiday.9= 15/8/2005 # moederkesdag
-holiday.10= 1/11/2005 # allerheiligen
-holiday.11= 11/11/2005 # wapenstilstand
-holiday.12= 25/12/2005 # kerstmis
-
-
-business.day.expressed.in.hours= 8
-business.week.expressed.in.hours= 40
-business.month.expressed.in.business.days= 21
-business.year.expressed.in.business.days= 220
-
15 years, 10 months
JBoss JBPM SVN: r1550 - pvm/trunk/modules/core/src/main/java/org/jbpm/pvm.
by do-not-reply@jboss.org
Author: porcherg
Date: 2008-07-08 10:38:05 -0400 (Tue, 08 Jul 2008)
New Revision: 1550
Removed:
pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.definition.hbm.xml
pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.execution.hbm.xml
pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.job.hbm.xml
pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.typedefs.hbm.xml
pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.variable.hbm.xml
pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.wire.hbm.xml
pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.cache.xml
pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.hibernate.mappings.xml
pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.types.xml
pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.wire.bindings.xml
pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/wire.xsd
Log:
remove duplicated files
Deleted: pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.definition.hbm.xml
===================================================================
--- pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.definition.hbm.xml 2008-07-08 13:37:25 UTC (rev 1549)
+++ pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.definition.hbm.xml 2008-07-08 14:38:05 UTC (rev 1550)
@@ -1,418 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping package="org.jbpm.pvm.internal.model" default-access="field">
-
- <!-- ### PROCESS DEFINITION ############################################# -->
- <class name="ProcessDefinitionImpl" table="JBPM_PROCESS">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_PROCDEF_PROPS"
- index="IDX_PROCDEF_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_PROCESS">
- <column name="PROCESS_" index="IDX_EXHDLR_PROCESS"/>
- </key>
- <index column="PROCESS_IDX_" />
- <one-to-many class="ExceptionHandlerImpl"/>
- </list>
-
- <!-- ObservableElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_" />
- <property name="description" column="DESCR_" />
- <map name="events" cascade="all-delete-orphan">
- <key foreign-key="FK_EVENT_PROCESS">
- <column name="PROCESS_" index="IDX_EVENT_PROCESS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.model.EventImpl"/>
- </map>
-
- <!-- CompositeElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <list name="nodes" cascade="all" inverse="false">
- <key foreign-key="FK_NODES_PROCESS">
- <column name="NODESPROCESS_" index="IDX_NODES_PROCESS"/>
- </key>
- <list-index column="NODESPROCESS_IDX_" />
- <one-to-many class="NodeImpl" />
- </list>
- <property name="hasVariableDefinitions" column="HAS_VAR_DEF_" />
- <list name="variableDefinitions" cascade="all">
- <key foreign-key="FK_VARDEF_PROCESS">
- <column name="PROCESS_" index="IDX_VARDEF_PROCESS"/>
- </key>
- <index column="PROCESS_IDX_" />
- <one-to-many class="VariableDefinitionImpl" />
- </list>
- <property name="hasTimerDefinitions" column="HAS_TIMER_DEF_" />
- <set name="timerDefinitions" cascade="all">
- <key foreign-key="FK_TMRDEF_PROCESS">
- <column name="PROCESS_" index="IDX_TMRDEF_PROCESS"/>
- </key>
- <one-to-many class="TimerDefinitionImpl" />
- </set>
-
- <!-- ProcessDefinitionImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="packageName" column="PACKAGE_" />
- <property name="version" column="VERSION_" />
- <property name="deploymentTime" column="DEPLOYED_" />
- <many-to-one name="initial"
- column="INITIAL_"
- class="NodeImpl"
- cascade="all"
- foreign-key="FK_PROCDEF_INITIAL"
- index="IDX_PROCDEF_INIT"
- fetch="select" />
- </class>
-
- <!-- ### Node ############################################################## -->
- <class name="NodeImpl" table="JBPM_NODE">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="processDefinition"
- class="ProcessDefinitionImpl"
- column="PROCESS_"
- foreign-key="FK_NODE_PROCESS"
- index="IDX_NODE_PROCESS" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_NODE_PROPS"
- index="IDX_NODE_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_NODE">
- <column name="NODE_" index="IDX_EXHDLR_NODE"/>
- </key>
- <index column="NODE_IDX_" />
- <one-to-many class="ExceptionHandlerImpl" />
- </list>
-
- <!-- ObservableElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_"/>
- <property name="description" column="DESCR_"/>
- <map name="events" cascade="all-delete-orphan">
- <key foreign-key="FK_EVENT_NODE">
- <column name="NODE_" index="IDX_EVENT_NODE" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.model.EventImpl" />
- </map>
-
- <!-- CompositeElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <list name="nodes" cascade="all" inverse="false">
- <key column="PARENT_" foreign-key="none" />
- <list-index column="PARENT_IDX_" />
- <one-to-many class="NodeImpl" />
- </list>
- <property name="hasVariableDefinitions" column="HAS_VAR_DEF_" />
- <list name="variableDefinitions" cascade="all">
- <key foreign-key="FK_VARDEF_NODE">
- <column name="NODE_" index="IDX_VARDEF_NODE"/>
- </key>
- <index column="NODE_IDX_" />
- <one-to-many class="VariableDefinitionImpl" />
- </list>
- <property name="hasTimerDefinitions" column="HAS_TIMER_DEF_" />
- <set name="timerDefinitions" cascade="all">
- <key foreign-key="FK_TMRDEF_NODE">
- <column name="NODE_" index="IDX_TMRDEF_NODE"/>
- </key>
- <one-to-many class="TimerDefinitionImpl" />
- </set>
-
- <!-- NodeImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="isLocalScope" column="LOCAL_SCOPE_" />
- <property name="isExecutionAsync" column="EXEC_ASYNC_" />
- <property name="isSignalAsync" column="SIGNAL_ASYNC_" />
- <property name="isPreviousNeeded" column="PREV_NEEDED_" />
-
- <many-to-one name="parentNode"
- column="PARENT_"
- class="NodeImpl"
- cascade="all"
- foreign-key="FK_NODE_PARENT"
- index="IDX_NODE_PARENT" />
-
- <many-to-one name="defaultTransition"
- column="DEFTRANS_"
- class="TransitionImpl"
- fetch="select"
- foreign-key="FK_NODE_DEFTRANS"
- index="IDX_NODE_DEFTRANS" />
-
- <list name="incomingTransitions" inverse="false">
- <key column="DESTINATION_" />
- <index column="IN_IDX_" />
- <one-to-many class="TransitionImpl" />
- </list>
-
- <list name="outgoingTransitions" inverse="false" cascade="all">
- <key column="SOURCE_" />
- <index column="OUT_IDX_" />
- <one-to-many class="TransitionImpl" />
- </list>
-
- <component name="behaviourReference" class="ObjectReference">
- <many-to-one name="descriptor"
- column="BEHAV_DESCR_"
- cascade="all"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- foreign-key="FK_NODE_BEHAV_DESCR"
- index="IDX_NODE_BEHAV_DESCR" />
- <any name="object" id-type="long" cascade="all">
- <!-- TODO: Specify names for classes -->
- <!-- <meta-value value="bpel::activity" class="org.jbpm.pvm.bpel.BpelActivity"/> -->
- <column name="BEHAV_CLASS_" />
- <column name="BEHAV_ID_" />
- </any>
- </component>
- </class>
-
- <!-- ### TRANSITION ##################################################### -->
- <class name="TransitionImpl" table="JBPM_TRANSITION">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="processDefinition"
- class="ProcessDefinitionImpl"
- column="PROCESS_"
- foreign-key="FK_TRANS_PROCDEF"
- index="IDX_TRANS_PROCDEF" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_TRANS_PROPS"
- index="IDX_TRANS_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_TRANS">
- <column name="TRANSITION_" index="IDX_EXHDLR_TRANS" />
- </key>
- <index column="TRANSITION_IDX_" />
- <one-to-many class="ExceptionHandlerImpl" />
- </list>
-
- <!-- ObservableElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_" />
- <property name="description" column="DESCR_" />
- <map name="events" cascade="all-delete-orphan">
- <key foreign-key="FK_EVENT_TRANS">
- <column name="TRANSITION_" index="IDX_EVENT_TRANS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.model.EventImpl" />
- </map>
-
- <!-- TransitionImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <many-to-one name="source"
- column="SRC_"
- class="NodeImpl"
- fetch="select"
- foreign-key="FK_TRANS_SRC"
- index="IDX_TRANS_SRC" />
-
- <many-to-one name="destination"
- column="DEST_"
- class="NodeImpl"
- fetch="select"
- cascade="all"
- foreign-key="FK_TRANS_DST"
- index="IDX_TRANS_DST" />
-
- <component name="guardConditionReference">
- <many-to-one name="descriptor"
- column="GUARD_DESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_TRANS_GUARD"
- index="IDX_TRANS_GUARD" />
- <any name="object" id-type="long" cascade="all">
- <!-- TODO: Specify names for classes -->
- <column name="GUARD_CLASS_" />
- <column name="GUARD_ID_" />
- </any>
- </component>
- <component name="waitConditionReference">
- <many-to-one name="descriptor"
- column="WAIT_DESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_TRANS_WAIT_DESCR"
- index="IDX_TRANS_WAIT_DESCR" />
- <any name="object" id-type="long" cascade="all">
- <!-- TODO: Specify names for classes -->
- <column name="WAIT_CLASS_" />
- <column name="WAIT_ID_" />
- </any>
- </component>
- <property name="isTakeAsync" column="TAKEASYNC_" />
- </class>
-
- <!-- ### EVENT ########################################################## -->
- <class name="EventImpl" table="JBPM_EVENT">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="processDefinition"
- class="ProcessDefinitionImpl"
- column="PROCESSDEF_"
- foreign-key="FK_EVENT_PROCDEF"
- index="IDX_EVENT_PROCDEF" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_EVENT_PROPS"
- index="IDX_EVENT_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_EVENT">
- <column name="EVENT_" index="IDX_EXHDLR_EVENT"/>
- </key>
- <index column="EVENT_IDX_" />
- <one-to-many class="ExceptionHandlerImpl" />
- </list>
-
- <!-- EventImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_" />
- <list name="listenerReferences" table="JBPM_OBJECTREFERENCES" cascade="all-delete-orphan">
- <key foreign-key="FK_OBJECTREF_EVENT">
- <column name="EVENT_" index="IDX_OBJREF_EVENT"/>
- </key>
- <list-index column="EVENT_IDX_" />
- <one-to-many class="EventListenerReference" />
- </list>
- </class>
-
- <!-- ### EXCEPTION HANDLER ############################################## -->
- <class name="ExceptionHandlerImpl" table="JBPM_EXCEPTHNDLR">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="exceptionClassName" column="EXCEPT_CLASS_" />
- <property name="isTransactional" column="TRANSACT_" />
- <property name="isRethrowMasked" column="RETHROW_MASKED_"/>
- <property name="transitionName" column="TRANSITIONNAME_" />
- <property name="nodeName" column="NODENAME_" />
- <list name="eventListenerReferences"
- inverse="false"
- cascade="all-delete-orphan"
- table="JBPM_OBJECTREFERENCES">
- <key foreign-key="FK_OBJREF_EXHNDLR" not-null="false">
- <column name="EXHNDLR_" index="IDX_OBJREF_EXHNDLR" />
- </key>
- <list-index column="EXHNDLR_IDX_" />
- <one-to-many class="ObjectReference" />
- </list>
- </class>
-
- <!-- ### OBJECT REFERENCE ############################################### -->
- <class name="ObjectReference" discriminator-value="objref" table="JBPM_OBJECTREF">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_" />
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="descriptor"
- column="OBJ_DESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_OBJREF_EVENT"
- index="IDX_OBJREF_EVENT"/>
- <any name="object" id-type="long" cascade="all">
- <!-- TODO: Specify names for classes -->
- <column name="OBJ_CLASS_" />
- <column name="OBJ_ID_" />
- </any>
- <property name="expression" column="OBJ_EXPRESSION_"/>
-
- <subclass name="EventListenerReference" discriminator-value="evtlis">
- <property name="isPropagationEnabled" column="PROPAGATE_" />
- </subclass>
-
- </class>
-
- <!-- ### VARIABLE DEFINITION ############################################ -->
- <class name="VariableDefinitionImpl" table="JBPM_VARIABLEDEF">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="key" column="KEY_"/>
- <property name="description" column="DESCR_"/>
-
- <property name="source" column="SRC_" />
- <property name="sourceExpression" column="SRCEXPR_" />
- <many-to-one name="sourceDescriptor"
- column="SRCDESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_VARDEF_SRCDES"
- index="IDX_VARDEF_SRCDES"/>
- <property name="destination" column="DEST_" />
- <property name="destinationExpression" column="DESTEXPR_" />
- <component name="type" class="org.jbpm.pvm.internal.type.Type">
- <property name="variableClass" type="class" column="TYPE_VARCLASS_" />
- <property name="converter" type="converter" column="TYPE_CONVERTER_" />
- </component>
- </class>
-
- <!-- ### TIMER DEFINITION ############################################### -->
- <class name="TimerDefinitionImpl" table="JBPM_TIMERDEF">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="dueDateDescription" column="DUEDATEDESCR_"/>
- <property name="repeat" column="REPEAT_"/>
- <property name="isExclusive" column="ISEXCL_"/>
- <property name="retries" column="RETRIES_"/>
- <property name="eventName" column="EVENT_"/>
- <property name="signalName" column="SIGNAL_"/>
- <property name="dueDate" column="DUEDATE_" type="timestamp"/>
- </class>
-
- <!-- ### QUERIES ######################################################## -->
-
- <query name="findProcessDefinitionNames">
- <![CDATA[
- select distinct process.name
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- order by process.name asc
- ]]>
- </query>
-
- <query name="findProcessDefinitionsByName">
- <![CDATA[
- select process
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.name = :name
- order by process.version desc
- ]]>
- </query>
-
- <query name="findProcessDefinitionByNameAndVersion">
- <![CDATA[
- select process
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.name = :name
- and process.version = :version
- ]]>
- </query>
-
-</hibernate-mapping>
\ No newline at end of file
Deleted: pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.execution.hbm.xml
===================================================================
--- pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.execution.hbm.xml 2008-07-08 13:37:25 UTC (rev 1549)
+++ pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.execution.hbm.xml 2008-07-08 14:38:05 UTC (rev 1550)
@@ -1,126 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping package="org.jbpm.pvm.internal.model" default-access="field">
-
- <!-- ### PROCESS DEFINITION ############################################# -->
- <class name="ExecutionImpl" table="JBPM_EXECUTION">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
-
- <many-to-one name="node"
- class="org.jbpm.pvm.internal.model.NodeImpl"
- column="NODE_"
- foreign-key="FK_EXEC_NODE"
- index="IDX_EXEC_NODE" />
-
- <property name="hasVariables" column="HASVARS_" />
- <map name="variables"
- cascade="all-delete-orphan"
- table="JBPM_VARIABLE">
- <key foreign-key="FK_VAR_EXECUTION">
- <column name="EXECUTION_" index="IDX_VAR_EXECUTION"/>
- </key>
- <map-key type="string" column="KEY_" />
- <one-to-many class="org.jbpm.pvm.internal.type.Variable" />
- </map>
-
- <property name="hasTimers" column="HASTIMERS_" />
- <set name="timers"
- cascade="all-delete-orphan"
- table="JBPM_TIMER">
- <key foreign-key="FK_TMR_EXECUTION">
- <column name="EXECUTION_" index="IDX_TMR_EXECUTION"/>
- </key>
- <one-to-many class="org.jbpm.pvm.internal.job.TimerImpl" />
- </set>
-
- <property name="key" column="KEY_" />
- <property name="name" column="NAME_" />
- <property name="state" column="STATE_" />
-
- <property name="priority" column="PRIORITY_" />
- <property name="nextLogIndex" column="NEXTLOGIDX_" />
-
- <many-to-one name="processDefinition"
- class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl"
- column="PROCESS_"
- foreign-key="FK_EXEC_PROCESS"
- index="IDX_EXEC_PROCESS" />
-
- <many-to-one name="transition" column="TRANSITION_" class="TransitionImpl" />
-
- <many-to-one name="transitionOrigin"
- class="org.jbpm.pvm.internal.model.NodeImpl"
- column="TRANSORIG_"
- foreign-key="FK_EXEC_TRANSORIG"
- index="IDX_EXEC_TRANSORIG" />
-
- <list name="executions"
- cascade="all-delete-orphan"
- inverse="false">
- <key column="PARENT_" foreign-key="FK_EXEC_PARENT" />
- <list-index column="PARENT_IDX_" />
- <one-to-many class="ExecutionImpl" />
- </list>
-
- <many-to-one name="parent"
- column="PARENT_"
- class="ExecutionImpl"
- foreign-key="FK_EXEC_PARENT"
- index="IDX_EXEC_PARENT" />
-
- <many-to-one name="processInstance"
- class="ExecutionImpl"
- column="INSTANCE_"
- foreign-key="FK_EXEC_INSTANCE"
- index="IDX_EXEC_INSTANCE" />
-
- <many-to-one name="superProcessExecution"
- column="SUPEREXEC_"
- class="ExecutionImpl"
- foreign-key="FK_EXEC_SUPEREXEC"
- index="IDX_EXEC_SUPEREXEC" />
- </class>
-
- <!-- ### COMMENTS ####################################################### -->
- <class name="CommentImpl" table="JBPM_COMMENT">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_" />
- <version name="dbversion" column="DBVERSION_" />
-
- <property name="userId" column="USERID_" />
- <property name="time" column="TIME_" />
- <property name="message" column="MESSAGE_" />
-
- <many-to-one name="parent"
- column="PARENT_"
- class="CommentImpl"
- foreign-key="FK_COMMENT_PARENT"
- index="IDX_COMMENT_PARENT" />
-
- <list name="comments"
- cascade="all-delete-orphan"
- inverse="false">
- <key column="PARENT_" foreign-key="none" />
- <list-index column="PARENT_IDX_" />
- <one-to-many class="CommentImpl" />
- </list>
- </class>
-
- <!-- ### QUERIES ######################################################## -->
-
- <query name="findExecutionByProcessDefinitionNameAndKey">
- <![CDATA[
- select execution
- from org.jbpm.pvm.internal.model.ExecutionImpl as execution
- where execution.processDefinition.name = :name
- and execution.key = :key
- ]]>
- </query>
-
-</hibernate-mapping>
\ No newline at end of file
Deleted: pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.job.hbm.xml
===================================================================
--- pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.job.hbm.xml 2008-07-08 13:37:25 UTC (rev 1549)
+++ pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.job.hbm.xml 2008-07-08 14:38:05 UTC (rev 1550)
@@ -1,120 +0,0 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE hibernate-mapping PUBLIC
- "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping package="org.jbpm.pvm.internal.job" default-access="field">
-
- <class name="JobImpl" table="JBPM_JOB" discriminator-value="Job">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_" />
- <version name="dbversion" column="DBVERSION_" />
-
- <property name="dueDate" column="DUEDATE_" type="timestamp" />
- <property name="isSuspended" column="ISSUSPENDED_" />
- <property name="isExclusive" column="ISEXCLUSIVE_" />
- <property name="lockOwner" column="LOCKOWNER_" />
- <property name="lockExpirationTime" column="LOCKEXPTIME_" />
- <property name="exception" column="EXCEPTION_" length="4000" />
- <property name="retries" column="RETRIES_" />
-
- <many-to-one name="processInstance"
- column="PROCESSINSTANCE_"
- cascade="none"
- foreign-key="FK_JOB_PRINST"
- index="IDX_JOB_PRINST"/>
- <many-to-one name="execution"
- column="EXECUTION_"
- cascade="none"
- foreign-key="FK_JOB_EXE"
- index="IDX_JOB_EXE"/>
-
- <subclass name="MessageImpl" discriminator-value="Msg">
- <subclass name="org.jbpm.pvm.internal.model.op.ExecuteNodeMessage" discriminator-value="ExeNodeMsg" />
- <subclass name="org.jbpm.pvm.internal.model.op.SignalMessage" discriminator-value="SignalMsg">
- <property name="signalName" column="SIGNAL_" />
- <many-to-one name="node"
- column="NODE_"
- cascade="none"
- foreign-key="FK_JOB_NODE"/>
- </subclass>
- <subclass name="org.jbpm.pvm.internal.model.op.TakeTransitionMessage" discriminator-value="TakeTrMsg" />
- <subclass name="org.jbpm.pvm.internal.model.op.ProceedToDestinationMessage" discriminator-value="ProceedDestMsg" />
- </subclass>
-
- <subclass name="TimerImpl" discriminator-value="Timer">
- <property name="signalName" column="SIGNAL_" />
- <property name="eventName" column="EVENT_" />
- <property name="repeat" column="REPEAT_" />
- </subclass>
-
- </class>
-
- <!-- ### HibernatePvmDbSession QUERIES ################################## -->
-
- <query name="findAllJobs">
- <![CDATA[
- select job
- from org.jbpm.pvm.internal.job.JobImpl as job
- order by dueDate asc
- ]]>
- </query>
-
- <query name="findDeadJobs">
- <![CDATA[
- select job
- from org.jbpm.pvm.internal.job.JobImpl as job
- where job.retries = 0
- order by dueDate asc
- ]]>
- </query>
-
- <!-- ### HibernateJobDbSession QUERIES ################################## -->
-
- <query name="findFirstAcquirableJob">
- <![CDATA[
- select job
- from org.jbpm.pvm.internal.job.JobImpl as job
- where ( ( (job.lockExpirationTime is null)
- or (job.lockExpirationTime <= :now)
- )
- and
- ( (job.dueDate is null)
- or (job.dueDate <= :now)
- )
- and
- ( job.retries > 0 )
- )
- order by job.dueDate asc
- ]]>
- </query>
-
- <query name="findExclusiveJobs">
- <![CDATA[
- select job
- from org.jbpm.pvm.internal.job.JobImpl as job
- where job.lockOwner is null
- and job.processInstance = :processInstance
- and job.isExclusive = true
- and job.retries > 0
- and ( (job.dueDate is null)
- or (job.dueDate <= :now)
- )
- order by job.dueDate asc
- ]]>
- </query>
-
- <query name="findFirstDueJob">
- <![CDATA[
- select job
- from org.jbpm.pvm.internal.job.JobImpl as job
- where job.lockOwner is null
- and job.retries > 0
- order by job.dueDate asc
- ]]>
- </query>
-
-</hibernate-mapping>
\ No newline at end of file
Deleted: pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.typedefs.hbm.xml
===================================================================
--- pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.typedefs.hbm.xml 2008-07-08 13:37:25 UTC (rev 1549)
+++ pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.typedefs.hbm.xml 2008-07-08 14:38:05 UTC (rev 1550)
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping>
-
- <typedef name="converter" class="org.jbpm.pvm.internal.hibernate.ConverterType">
- <param name="org.jbpm.pvm.internal.type.converter.BooleanToStringConverter" >bool-str</param>
- <param name="org.jbpm.pvm.internal.type.converter.ByteToLongConverter" >byte-long</param>
- <param name="org.jbpm.pvm.internal.type.converter.CharacterToStringConverter" >char-str</param>
- <param name="org.jbpm.pvm.internal.type.converter.DateToLongConverter" >date-long</param>
- <param name="org.jbpm.pvm.internal.type.converter.DateToStringConverter" >date-str</param>
- <param name="org.jbpm.pvm.internal.type.converter.DoubleToStringConverter" >double-str</param>
- <param name="org.jbpm.pvm.internal.type.converter.FloatToDoubleConverter" >float-double</param>
- <param name="org.jbpm.pvm.internal.type.converter.FloatToStringConverter" >float-str</param>
- <param name="org.jbpm.pvm.internal.type.converter.IntegerToLongConverter" >int-long</param>
- <param name="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter">ser-bytes</param>
- <param name="org.jbpm.pvm.internal.type.converter.ShortToLongConverter" >short-long</param>
- </typedef>
-
-</hibernate-mapping>
\ No newline at end of file
Deleted: pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.variable.hbm.xml
===================================================================
--- pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.variable.hbm.xml 2008-07-08 13:37:25 UTC (rev 1549)
+++ pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.variable.hbm.xml 2008-07-08 14:38:05 UTC (rev 1550)
@@ -1,92 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping package="org.jbpm.pvm.internal.type.variable" default-access="field">
-
- <!-- ### VARIABLE ####################################################### -->
- <class name="org.jbpm.pvm.internal.type.Variable" abstract="true" discriminator-value=" " table="JBPM_VARIABLE">
- <!-- discriminator values:
- date : org.jbpm.pvm.internal.type.variable.DateVariable
- double : org.jbpm.pvm.internal.type.variable.DoubleVariable
- hibl : org.jbpm.pvm.internal.type.variable.HibernateLongVariable
- long : org.jbpm.pvm.internal.type.variable.LongVariable
- hibs : org.jbpm.pvm.internal.type.variable.HibernateStringVariable
- string : org.jbpm.pvm.internal.type.variable.StringVariable
- null : org.jbpm.pvm.internal.type.variable.NullVariable
- blob : org.jbpm.pvm.internal.type.variable.BlobVariable
- clob : org.jbpm.pvm.internal.type.variable.ClobVariable
- -->
-
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_"/>
- <version name="dbversion" column="DBVERSION_" />
-
- <property name="key" column="KEY_"/>
- <property name="queryText" column="QUERYTEXT_" />
- <property name="converter" type="converter" column="CONVERTER_" />
- <many-to-one name="processInstance"
- column="PROCINST_"
- class="org.jbpm.pvm.internal.model.ExecutionImpl"
- foreign-key="FK_VAR_PROCINST"
- index="IDX_VAR_PROCINST"/>
- </class>
-
- <subclass name="DateVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="T">
- <property name="date" column="DATE_VALUE_" type="date"/>
- </subclass>
-
- <subclass name="DoubleVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="D">
- <property name="d" column="DOUBLE_VALUE_" type="double"/>
- </subclass>
-
- <subclass name="HibernateLongVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="l">
- <property name="hibernatable" column="LONG_VALUE_" type="long"/>
- </subclass>
-
- <subclass name="LongVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="L">
- <property name="l" column="LONG_VALUE_" type="long"/>
- </subclass>
-
- <subclass name="HibernateStringVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="s">
- <property name="hibernatable" column="STRING_VALUE_" type="string"/>
- </subclass>
-
- <subclass name="StringVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="S">
- <property name="string" column="STRING_VALUE_" type="string"/>
- </subclass>
-
- <subclass name="NullVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="N">
- </subclass>
-
- <subclass name="BlobVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="B">
- <component name="blob" class="org.jbpm.pvm.internal.lob.Blob">
- <property name="blob" type="blob" column="BLOB_VALUE_" />
- <property name="bytes" type="binary" column="BINARY_VALUE_"/>
- <property name="fileName" type="string" column="STRING_VALUE_"/>
- <list name="chops" table="JBPM_BLOB_CHOPS">
- <key foreign-key="FK_BLOB_CHOP_OWN">
- <column name="BLOB_ID_" index="IDX_BLOB_CHOP_OWN"/>
- </key>
- <list-index column="CHOP_INDEX_"/>
- <element type="binary" column="CHOP_VALUE_"/>
- </list>
- </component>
- </subclass>
-
- <subclass name="ClobVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="C">
- <component name="clob" class="org.jbpm.pvm.internal.lob.Clob">
- <property name="clob" type="clob" column="CLOB_VALUE_" />
- <property name="text" type="text" column="TEXT_VALUE_"/>
- <list name="chops" table="JBPM_CLOB_CHOPS">
- <key foreign-key="FK_CLOB_CHOP_OWN">
- <column name="CLOB_ID_" index="IDX_CLOB_CHOP_OWN"></column>
- </key>
- <list-index column="CHOP_INDEX_"/>
- <element type="string" column="CHOP_VALUE_"/>
- </list>
- </component>
- </subclass>
-
-</hibernate-mapping>
\ No newline at end of file
Deleted: pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.wire.hbm.xml
===================================================================
--- pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.wire.hbm.xml 2008-07-08 13:37:25 UTC (rev 1549)
+++ pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/hibernate.wire.hbm.xml 2008-07-08 14:38:05 UTC (rev 1550)
@@ -1,198 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC
- "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-<hibernate-mapping package="org.jbpm.pvm.internal.wire.descriptor" default-access="field">
-
- <!-- ### DESCRIPTORS #################################################### -->
- <class name="AbstractDescriptor" table="JBPM_DESCRIPTOR" abstract="true" discriminator-value="abstract">
- <!--
- byte : ByteDescriptor
- string : StringDescriptor
- char : CharacterDescriptor
- class : ClassDescriptor
- double : DoubleDescriptor
- float : FloatDescriptor
- long : LongDescriptor
- int : IntegerDescriptor
- short : ShortDescriptor
- coll : CollectionDescriptor
- map : MapDescriptor
- list : ListDescriptor
- set : SetDescriptor
- object : ObjectDescriptor
- ref : ReferenceDescriptor
- null : NullDescriptor
- true : TrueDescriptor
- false : FalseDescriptor
- -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_"/>
- <version name="dbversion" column="DBVERSION_" />
-
- <property name="name" column="NAME_" />
- <property name="init" column="INIT_" />
-
- <subclass name="NullDescriptor" discriminator-value="null_"/>
- <subclass name="TrueDescriptor" discriminator-value="true" />
- <subclass name="FalseDescriptor" discriminator-value="false" />
-
- <subclass name="StringDescriptor" discriminator-value="string">
- <property name="text" column="TEXT_" />
- </subclass>
-
- <subclass name="CharacterDescriptor" discriminator-value="char">
- <property name="text" column="TEXT_" />
- </subclass>
- <subclass name="ClassDescriptor" discriminator-value="class">
- <property name="text" column="TEXT_" />
- </subclass>
- <subclass name="ReferenceDescriptor" discriminator-value="ref">
- <property name="text" column="TEXT_" />
- </subclass>
-
-
- <subclass name="DoubleDescriptor" discriminator-value="double">
- <property name="doubleVal" column="DOUBLEVAL_" />
- </subclass>
- <subclass name="FloatDescriptor" discriminator-value="float">
- <property name="doubleVal" column="DOUBLEVAL_" />
- </subclass>
-
-
- <subclass name="LongDescriptor" discriminator-value="long">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
- <subclass name="IntegerDescriptor" discriminator-value="int">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
- <subclass name="ShortDescriptor" discriminator-value="short">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
- <subclass name="ByteDescriptor" discriminator-value="byte">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
-
-
- <subclass name="CollectionDescriptor" discriminator-value="coll">
- <property name="className" column="CLASSNAME_" />
- <list name="valueDescriptors" cascade="all-delete-orphan">
- <key column="VALUEDESCR_" foreign-key="FK_DESCR_VALDESCR"/>
- <list-index column="VALUEDESCR_IDX_" />
- <one-to-many class="AbstractDescriptor" />
- </list>
-
- <subclass name="MapDescriptor" discriminator-value="map">
- <list name="keyDescriptors" cascade="all-delete-orphan">
- <key column="KEYDESCR_" foreign-key="FK_DESCR_KEYDESCR"/>
- <list-index column="KEYDESCR_IDX_" />
- <one-to-many class="AbstractDescriptor" />
- </list>
- </subclass>
-
- <subclass name="ListDescriptor" discriminator-value="list" />
- <subclass name="SetDescriptor" discriminator-value="set" />
- </subclass>
-
-
- <subclass name="ObjectDescriptor" discriminator-value="object">
- <property name="className" column="TEXT_" />
- <property name="methodName" column="METHOD_" />
- <property name="isAutoWireEnabled" column="AUTOWIRE_" />
- <property name="factoryObjectName" column="FACTORYNAME_" />
-
- <many-to-one name="factoryDescriptor"
- class="AbstractDescriptor"
- column="FACTORYDESCR_"
- foreign-key="DESCR_ARG_REF_FK"
- cascade="all"/>
-
- <list name="argDescriptors" cascade="all-delete-orphan" >
- <key column="OBJDESCR_" foreign-key="FK_OBJDESCR_ARGS"/>
- <list-index column="OBJDESCR_IDX_" />
- <one-to-many class="ArgDescriptor" />
- </list>
-
- <list name="operations" cascade="all-delete-orphan">
- <key column="OBJDESCR_" foreign-key="FK_OPER_OBJDESCR"/>
- <list-index column="OBJDESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.operation.AbstractOperation"/>
- </list>
- </subclass>
- </class>
-
- <!-- ### OPERATIONS ##################################################### -->
- <class name="org.jbpm.pvm.internal.wire.operation.AbstractOperation"
- abstract="true"
- table="JBPM_OPERATION"
- discriminator-value="oper">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_"/>
- <version name="dbversion" column="DBVERSION_" />
-
- <subclass name="org.jbpm.pvm.internal.wire.operation.FieldOperation" discriminator-value="field">
- <property name="fieldName" column="TEXT_" />
- <many-to-one name="descriptor"
- column="FIELDDESCR_"
- cascade="all"
- class="AbstractDescriptor"
- foreign-key="FK_OPER_FIELDDESC"/>
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.operation.PropertyOperation" discriminator-value="prop">
- <property name="setterName" column="TEXT_" />
- <many-to-one name="descriptor"
- column="PROPDESCR_"
- cascade="all"
- class="AbstractDescriptor"
- foreign-key="FK_OPER_PROPDESC" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.operation.InvokeOperation" discriminator-value="invoke">
- <property name="methodName" column="TEXT_" />
- <list name="argDescriptors" cascade="all-delete-orphan">
- <key column="OPER_" foreign-key="FK_OPER_ARGS"/>
- <list-index column="OPER_IDX_" />
- <one-to-many class="ArgDescriptor" />
- </list>
- </subclass>
- </class>
-
- <!-- ### ARG DESCRIPTOR ################################################# -->
- <class name="ArgDescriptor" table="JBPM_ARGDESCRIPTOR">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="typeName" column="TYPENAME_" />
- <many-to-one name="descriptor"
- column="DESCRIPTOR_"
- class="AbstractDescriptor"
- foreign-key="FK_ARGDESCR_DESCR"
- cascade="all"/>
- </class>
-
- <!-- ### PROPERTIES ##################################################### -->
- <class name="org.jbpm.pvm.internal.model.WireProperties" table="JBPM_WIREPROPS">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <component name="wireContext" class="org.jbpm.pvm.internal.wire.WireContext">
- <component name="wireDefinition" class="org.jbpm.pvm.internal.wire.WireDefinition">
- <map name="descriptors" cascade="all-delete-orphan" lazy="false">
- <key foreign-key="FK_DESCR_PROPS">
- <column name="PROPS_" index="IDX_DESCR_PROPS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </map>
- </component>
- </component>
- </class>
-
-</hibernate-mapping>
\ No newline at end of file
Deleted: pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.cache.xml
===================================================================
--- pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.cache.xml 2008-07-08 13:37:25 UTC (rev 1549)
+++ pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.cache.xml 2008-07-08 14:38:05 UTC (rev 1550)
@@ -1,34 +0,0 @@
-<hibernate-cache>
-
- <class-cache class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.NodeImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.TransitionImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.EventImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.ExceptionHandlerImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.ObjectReference" />
- <class-cache class="org.jbpm.pvm.internal.model.VariableDefinitionImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.TimerDefinitionImpl" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.events" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.nodes" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.variableDefinitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.timerDefinitions" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.NodeImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.NodeImpl.events" />
- <collection-cache collection="org.jbpm.pvm.internal.model.NodeImpl.nodes" />
- <collection-cache collection="org.jbpm.pvm.internal.model.NodeImpl.variableDefinitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.NodeImpl.timerDefinitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.NodeImpl.incomingTransitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.NodeImpl.outgoingTransitions" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.TransitionImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.TransitionImpl.events" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.EventImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.EventImpl.listenerReferences" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.ExceptionHandlerImpl.eventListenerReferences" />
-
-</hibernate-cache>
Deleted: pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.hibernate.mappings.xml
===================================================================
--- pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.hibernate.mappings.xml 2008-07-08 13:37:25 UTC (rev 1549)
+++ pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.hibernate.mappings.xml 2008-07-08 14:38:05 UTC (rev 1550)
@@ -1,8 +0,0 @@
-<mappings>
- <mapping resource="org/jbpm/pvm/hibernate.typedefs.hbm.xml" />
- <mapping resource="org/jbpm/pvm/hibernate.wire.hbm.xml" />
- <mapping resource="org/jbpm/pvm/hibernate.definition.hbm.xml" />
- <mapping resource="org/jbpm/pvm/hibernate.execution.hbm.xml" />
- <mapping resource="org/jbpm/pvm/hibernate.variable.hbm.xml" />
- <mapping resource="org/jbpm/pvm/hibernate.job.hbm.xml" />
-</mappings>
Deleted: pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.types.xml
===================================================================
--- pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.types.xml 2008-07-08 13:37:25 UTC (rev 1549)
+++ pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.types.xml 2008-07-08 14:38:05 UTC (rev 1550)
@@ -1,34 +0,0 @@
-<variable-types>
-
- <!-- types stored in a native column -->
- <type name="string" class="java.lang.String" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
- <type name="long" class="java.lang.Long" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
- <type name="double" class="java.lang.Double" variable-class="org.jbpm.pvm.internal.type.variable.DoubleVariable" />
-
- <!-- types converted to a string -->
- <type name="date" class="java.util.Date" converter="org.jbpm.pvm.internal.type.converter.DateToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
- <type name="boolean" class="java.lang.Boolean" converter="org.jbpm.pvm.internal.type.converter.BooleanToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
- <type name="char" class="java.lang.Character" converter="org.jbpm.pvm.internal.type.converter.CharacterToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
-
- <!-- types converted to a long -->
- <type name="byte" class="java.lang.Byte" converter="org.jbpm.pvm.internal.type.converter.ByteToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
- <type name="short" class="java.lang.Short" converter="org.jbpm.pvm.internal.type.converter.ShortToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
- <type name="integer" class="java.lang.Integer" converter="org.jbpm.pvm.internal.type.converter.IntegerToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
-
- <!-- types converted to a double -->
- <type name="float" class="java.lang.Float" converter="org.jbpm.pvm.internal.type.converter.FloatToDoubleConverter" variable-class="org.jbpm.pvm.internal.type.variable.DoubleVariable" />
-
- <!-- byte[] and char[] -->
- <type name="byte[]" class="[B" variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
- <type name="char[]" class="[C" variable-class="org.jbpm.pvm.internal.type.variable.ClobVariable" />
-
- <type name="hibernate-long-id" class="hibernate" id-type="long" variable-class="org.jbpm.pvm.internal.type.variable.HibernateLongVariable" />
- <type name="hibernate-string-id" class="hibernate" id-type="string" variable-class="org.jbpm.pvm.internal.type.variable.HibernateStringVariable" />
-
- <type name="serializable" class="serializable" converter="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter" variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
-
- <!-- TODO: add ejb3 entity bean support -->
- <!-- TODO: add JCR node support -->
- <!-- TODO: add collection support -->
-
-</variable-types>
Deleted: pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.wire.bindings.xml
===================================================================
--- pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.wire.bindings.xml 2008-07-08 13:37:25 UTC (rev 1549)
+++ pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/pvm.wire.bindings.xml 2008-07-08 14:38:05 UTC (rev 1550)
@@ -1,79 +0,0 @@
-<wire-bindings>
-
- <!-- ########################### -->
- <!-- ### Descriptor bindings ### -->
- <!-- ########################### -->
- <!-- basic types -->
- <binding class="org.jbpm.pvm.internal.wire.binding.TrueBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.FalseBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.CharBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.DoubleBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.FloatBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.IntBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.ShortBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.ByteBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.LongBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.StringBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.NullBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.ClassBinding" />
- <!-- object and ref -->
- <binding class="org.jbpm.pvm.internal.wire.binding.ObjectBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.RefBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.JndiBinding" />
- <!-- collections -->
- <binding class="org.jbpm.pvm.internal.wire.binding.ListBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.SetBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.MapBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.PropertiesBinding" />
- <!-- environment refs -->
- <binding class="org.jbpm.pvm.internal.wire.binding.EnvironmentFactoryRefBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.EnvironmentRefBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.ContextRefBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.TransactionRefBinding" />
- <!-- various specials -->
- <binding class="org.jbpm.pvm.internal.wire.binding.TransactionBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.JobExecutorBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.JobTestHelperBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.ScriptManagerBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.BusinessCalendarBinding" />
- <!-- hibernate bindings -->
- <binding class="org.jbpm.pvm.internal.wire.binding.HibernateConfigurationBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.SeamHibernateSessionBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.HibernateSessionBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.HibernateSessionFactoryBinding" />
- <!-- sessions -->
- <binding class="org.jbpm.pvm.internal.wire.binding.MessageSessionBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.TimerSessionBinding" />
- <!-- db sessions -->
- <binding class="org.jbpm.pvm.internal.wire.binding.PvmDbSessionBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.JobDbSessionBinding" />
- <!-- dynamic type mapping configuration -->
- <binding class="org.jbpm.pvm.internal.wire.binding.VariableTypesBinding" />
- <!-- services -->
- <binding class="org.jbpm.pvm.internal.wire.binding.StandardCommandServiceBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.AsyncCommandServiceBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.ProcessServiceBinding" />
- <!-- deployers -->
- <binding class="org.jbpm.pvm.internal.wire.binding.DeployerManagerBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.CreateProcessBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.VerifyVersionBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.SaveProcessBinding" />
-
- <!-- ############################ -->
- <!-- ### Interceptor bindings ### -->
- <!-- ############################ -->
- <binding class="org.jbpm.pvm.internal.wire.binding.EnvironmentInterceptorBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.AuthorizationInterceptorBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.RetryInterceptorBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.TransactionInterceptorBinding" />
-
- <!-- ########################## -->
- <!-- ### Operation bindings ### -->
- <!-- ########################## -->
- <binding class="org.jbpm.pvm.internal.wire.binding.PropertyBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.FieldBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.InvokeBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.SubscribeBinding" />
- <binding class="org.jbpm.pvm.internal.wire.binding.EnlistBinding" />
-
-</wire-bindings>
Deleted: pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/wire.xsd
===================================================================
--- pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/wire.xsd 2008-07-08 13:37:25 UTC (rev 1549)
+++ pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/wire.xsd 2008-07-08 14:38:05 UTC (rev 1550)
@@ -1,1331 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://jbpm.org/pvm/1.0/wire"
- xmlns:tns="http://jbpm.org/pvm/1.0/wire"
- elementFormDefault="qualified">
-
- <annotation>
- <documentation>XML schema to express how java objects can be
- created and wired together. aka IoC.
- </documentation>
- </annotation>
-
- <!-- ### ELEMENTS ######################################################## -->
-
- <element name="business-calendar">
- <annotation><documentation>A BusinessCalendar that knows about working hours</documentation></annotation>
- <complexType>
- <sequence>
- <element name="monday" type="tns:businessCalendarDayType" minOccurs="0"/>
- <element name="tuesday" type="tns:businessCalendarDayType" minOccurs="0"/>
- <element name="wednesday" type="tns:businessCalendarDayType" minOccurs="0"/>
- <element name="thursday" type="tns:businessCalendarDayType" minOccurs="0"/>
- <element name="friday" type="tns:businessCalendarDayType" minOccurs="0"/>
- <element name="saturday" type="tns:businessCalendarDayType" minOccurs="0"/>
- <element name="sunday" type="tns:businessCalendarDayType" minOccurs="0"/>
- <element name="holiday" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <attribute name="period">
- <annotation><documentation>Two dates in date-format, separated by
- a dash that specify a holiday period. If it's just one day, a single day
- is also valid.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- </sequence>
- <attribute name="timezone" type="string">
- <annotation><documentation>Optional specification of the timezone as specified by
- java.util.TimeZone.getTimeZone(String)</documentation></annotation>
- </attribute>
- <attribute name="hour-format" type="string" default="HH:mm">
- <annotation><documentation>Indicates how to interpret the hour specifications
- in this business calendar in java.text.SimpleDateFormat(String)</documentation></annotation>
- </attribute>
- <attribute name="date-format" type="string" default="dd/MM/yyyy">
- <annotation><documentation>Indicates how to interpret the date specifications
- in this business calendar in java.text.SimpleDateFormat(String)</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="byte">
- <annotation><documentation>A java.lang.Byte</documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="value" type="byte" use="required" />
- </complexType>
- </element>
-
- <element name="char">
- <annotation><documentation>A java.lang.Character</documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="value" use="required">
- <simpleType>
- <restriction base="string">
- <maxLength value="1" />
- </restriction>
- </simpleType>
- </attribute>
- </complexType>
- </element>
-
- <element name="class">
- <annotation><documentation>A java.lang.Class</documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="init" type="tns:initType" default="lazy">
- <annotation><documentation>Specifies when and how this object should be
- created and initialized. Default is lazy.</documentation></annotation>
- </attribute>
- <attribute name="class-name" use="required" type="string">
- <annotation><documentation>A fully qualified name of a
- class that can be found on the wire context classpath or
- (if that is not specified) on the current thread's context
- classpath.
- </documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="context-ref">
- <annotation><documentation>The context. This refers to
- the environment, environment-factory or the wire context.
- </documentation></annotation>
- <complexType>
- <attribute name="context-name" type="string">
- <annotation><documentation>The name of the context in the current
- environment. If this attribute is omitted, the enclosing
- context will be given.
- </documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="contexts">
- <annotation><documentation>Defines an environment factory and
- an environment.
- </documentation></annotation>
- <complexType>
- <sequence>
- <element ref="tns:environment-factory" />
- <element ref="tns:environment" />
- </sequence>
- </complexType>
- </element>
-
- <element name="environment-factory" type="tns:contextType">
- <annotation><documentation>Defines the environment factory
- context. (Aka application context)
- </documentation></annotation>
- </element>
-
- <element name="environment" type="tns:contextType">
- <annotation><documentation>Defines the environment
- context. This context exists stretches for the duration of
- an Environment try-finally block.
- </documentation></annotation>
- </element>
-
- <element name="deployer-manager">
- <annotation><documentation>Has a list of deployers (org.jbpm.deploy.Deployer)
- for each process language for handling deployments.
- </documentation></annotation>
- <complexType>
- <choice maxOccurs="unbounded">
- <element name="language">
- <annotation><documentation>A process language that contains
- a list of deployers</documentation></annotation>
- <complexType>
- <choice maxOccurs="unbounded">
- <group ref="tns:deployers" />
- </choice>
- <attribute name="name" type="string" use="required" />
- <attribute name="extension" type="string" />
- </complexType>
- </element>
- </choice>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="init" type="tns:initType" default="lazy">
- <annotation><documentation>Specifies when and how this object should be
- created and initialized. Default is lazy.</documentation></annotation>
- </attribute>
- <attribute name="resource" type="string">
- <annotation><documentation>Imports contents of the document element
- of all resource files (using deep scan ClassLoader.getResources(String))
- as content into this element.
- </documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="double">
- <annotation><documentation>A java.lang.Double</documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="value" type="double" use="required" />
- </complexType>
- </element>
-
- <element name="environment-ref">
- <annotation><documentation>Obtains the current environment. The environment
- is only available in objects declared inside the environment context. So it
- can't be used inside the session-factory context.
- </documentation></annotation>
- </element>
-
- <element name="environment-factory-ref">
- <annotation><documentation>Obtains the current environment. The environment
- is only available in objects declared inside the environment context. So it
- can't be used inside the session-factory context.
- </documentation></annotation>
- </element>
-
- <element name="false">
- <annotation><documentation>java.lang.Boolean.FALSE
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="float">
- <annotation><documentation>A java.lang.Float
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="value" type="float" use="required" />
- </complexType>
- </element>
-
- <element name="hibernate-configuration" type="tns:hibernateConfigurationType">
- <annotation><documentation>A hibernate Configuration to be used in the
- environment-factory context</documentation></annotation>
- </element>
-
- <element name="hibernate-session">
- <annotation><documentation>A hibernate Session to be used in the
- environment context</documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>Optional name of this hibernate session.
- Typically a session is looked up by type. Only if multiple sessions
- are declared, a name can be used to distinct them.
- </documentation></annotation>
- </attribute>
- <attribute name="init" type="tns:initType" default="lazy">
- <annotation><documentation>Specifies when and how this object should be
- initialized. Default is lazy.</documentation></annotation>
- </attribute>
- <attribute name="factory" type="string">
- <annotation><documentation>Optional name referring to the session-factory.
- If no factory name is provided, the SessionFactory is looked up by type.
- </documentation></annotation>
- </attribute>
- <attribute name="tx" type="tns:booleanValueType">
- <annotation><documentation>Indicates if a hibernate transaction should
- be started and ended in this environment. Default is true.
- </documentation></annotation>
- </attribute>
- <attribute name="current" type="tns:booleanValueType">
- <annotation><documentation>Indicates if the SessionFactory.getCurrentSession()
- should be used instead of opening and closing a new session. Default is false.
- If 'current' is set to true, then the default of 'close' will be set to false.
- </documentation></annotation>
- </attribute>
- <attribute name="close" type="tns:booleanValueType">
- <annotation><documentation>Indicates if the session should be closed when the
- environment closes. The default is true (unless 'current' is set to true)
- </documentation></annotation>
- </attribute>
- <attribute name="standard-transaction" type="string">
- <annotation><documentation>Optional name of the standard transaction.
- If 'tx' is set to true, a StandardTransaction needs to be found to enlist
- this hibernate session. By default, the lookup of the StandardTransaction
- is done by type. But this attribute allows to refer to the standard
- transaction by name.
- </documentation></annotation>
- </attribute>
- <attribute name="connection" type="string">
- <annotation><documentation>Optional name of the JDBC connection to use
- when creating this hibernate session. If no connection name is specified,
- the creation of the connection is left to the hibernate session.
- </documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="hibernate-session-factory">
- <annotation><documentation>A hibernate SessionFactory to be used in the
- environment-factory context. The hibernate Configuration can be inlined in this
- 'session-factory', it can be refered by type or referred by name.
- </documentation></annotation>
- <complexType>
- <complexContent>
- <extension base="tns:hibernateConfigurationType">
- <attribute name="configuration" type="string">
- <annotation><documentation>The name of the configuration to use to build
- this hibernate SessionFactory. This is optional as the alternative methods
- to specify a configuration are just inlining it here in this hibernate
- session-factory element or looking up the hibernate Configuration by type.
- </documentation></annotation>
- </attribute>
- </extension>
- </complexContent>
- </complexType>
- </element>
-
- <element name="int">
- <annotation><documentation>A java.lang.Integer
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="value" type="int" use="required"/>
- </complexType>
- </element>
-
- <element name="jndi">
- <annotation><documentation>A lookup from JNDI through the InitialContext
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="jndi-name" type="string" use="required" />
- </complexType>
- </element>
-
- <element name="job-db-session">
- <annotation><documentation>A hibernate based JobDbSession</documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="init" type="tns:initType" default="lazy">
- <annotation><documentation>Specifies when and how this object should be
- initialized. Default is lazy.</documentation></annotation>
- </attribute>
- <attribute name="session" type="string" />
- </complexType>
- </element>
-
- <element name="job-executor">
- <annotation><documentation>The default component for executing timers and messages.
- A job-executor requires a CommandService.
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>Optional name of this object used to look up
- this object from the environment. This name (along with ip-address) is
- used as the basis for the names of the threads in the job executor's thread
- pool. So when you're running more then one job-executor on the same
- machine, you should be specifying custom job executor names.</documentation></annotation>
- </attribute>
- <attribute name="init" type="tns:initType" default="lazy">
- <annotation><documentation>Specifies when and how this object should be
- initialized. Default is lazy.</documentation></annotation>
- </attribute>
- <attribute name="command-service" type="string">
- <annotation><documentation>Optional name of the command service to use. If
- this attribute is not present, the command service will be looked up
- by type.</documentation></annotation>
- </attribute>
- <attribute name="threads" type="int">
- <annotation><documentation>Number of worker threads. One extra thread will
- be created for scanning and acquisition of jobs (DispatcherThread).</documentation></annotation>
- </attribute>
- <attribute name="idle" type="int">
- <annotation><documentation>Number of milliseconds the dispatcher thread
- will normally wait inbetween checks for new jobs. Each time an exception
- occurs, the idle period will be doubled until the 'idle-max' is reached.
- This is a back-off mechanism in case the job executor can't access the
- database.
- </documentation></annotation>
- </attribute>
- <attribute name="idle-max" type="int">
- <annotation><documentation>Maxumum number of milliseconds the dispatcher thread
- will wait inbetween checks for new jobs.
- </documentation></annotation>
- </attribute>
- <attribute name="history" type="int">
- <annotation><documentation>Number of history records of job executions that will be
- kept in memory.</documentation></annotation>
- </attribute>
- <attribute name="lock" type="int">
- <annotation><documentation>Number of milliseconds that a job will be locked at
- acquisition time. When a job is acquired, the job executor will write it's name
- in the lock owner field of the job and the lockExpirationTime
- will be set to the current time plus 'lock' milliseconds. The lock by that thread should
- be considered as released if the lockExpirationTime has passed. This prevents starvation
- in case one of more JobExecutors in a cluster would die.</documentation></annotation>
- </attribute>
- <attribute name="auto-start" type="tns:booleanValueType">
- <annotation><documentation>Indicates if the job-executor should be started when it
- is created. Default is true. If the job-executor is not auto-started, it can be
- started programmatically with the start method on the JobExecutor.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="job-test-helper">
- <annotation><documentation>A test helper for controlling job executions</documentation></annotation>
- </element>
-
- <element name="list">
- <annotation><documentation>A java.util.List</documentation></annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <group ref="tns:persistableDescriptors" />
- </choice>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="init" type="tns:initType" default="lazy">
- <annotation><documentation>Specifies when and how this object should be
- created and initialized. Default is lazy.</documentation></annotation>
- </attribute>
- <attribute name="class" type="string" default="java.util.ArrayList">
- <annotation><documentation>Implementation class for this list.
- </documentation></annotation>
- </attribute>
- <attribute name="synchronized" type="tns:booleanValueType" default="false">
- <annotation><documentation>Indicates if this collection should be synchronized
- with Collections.synchronizedList(List)</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="long">
- <annotation><documentation>A java.lang.Long</documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="value" type="long" use="required"/>
- </complexType>
- </element>
-
- <element name="map">
- <annotation><documentation>A java.util.Map</documentation></annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <element name="entry">
- <complexType>
- <choice minOccurs="0">
- <element name="key" minOccurs="0">
- <complexType>
- <group ref="tns:persistableDescriptors" />
- </complexType>
- </element>
- <element name="value" minOccurs="0">
- <complexType>
- <group ref="tns:persistableDescriptors" />
- </complexType>
- </element>
- </choice>
- </complexType>
- </element>
- </choice>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="init" type="tns:initType" default="lazy">
- <annotation><documentation>Specifies when and how this object should be
- created and initialized. Default is lazy.</documentation></annotation>
- </attribute>
- <attribute name="class" type="string" default="java.util.HashMap">
- <annotation><documentation>Implementation class for this map.
- </documentation></annotation>
- </attribute>
- <attribute name="synchronized" type="tns:booleanValueType" default="false">
- <annotation><documentation>Indicates if this collection should be synchronized
- with Collections.synchronizedMap(Map)</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="message-session">
- <annotation><documentation>Specifies an implementation of the MessageSession
- interface that sends messages to the JobExecutor. The main usage of MessageSession
- is by the PVM implementation for asynchronous continuations. The PVM will look
- up the message session by type. All message-session implementations depend on a
- DbSession like e.g. the 'pvm-db-session'. A DbSession will be looked up by type.
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="target" type="tns:messageSessionTargetType" default="job-executor">
- <annotation><documentation>
- <p>Specifies the implementation of the message session.
- </p>
- <p><code><b>job-executor</b></code>: Is the default and sends to messages to the
- job-executor. In this case the message session has a dependency on
- a DbSession (like the PvmDbSession) and a Transaction to which the
- message session will register a listener to notify the job executor upon
- successfull completion.
- </p>
- <p><code><b>jms</b></code>: Sends the messages over JMS and a JMS listener is assumed
- (like the command executor MDB) that executes the message. If 'jms' is specified,
- attributes 'session-jndi' and 'destination-jndi' become required.
- </p>
- </documentation></annotation>
- </attribute>
- <attribute name="session-jndi" type="string" use="optional">
- <annotation><documentation>The JNDI name of the JMS Session. Only used in case of
- target <b>jms</b>. </documentation></annotation>
- </attribute>
- <attribute name="destination-jndi" type="string" use="optional">
- <annotation><documentation>The JNDI name of the Queue destination to use. Only used
- in case of target <b>jms</b>.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="null">
- <annotation><documentation>the null value
- </documentation></annotation>
- </element>
-
- <element name="object">
- <annotation><documentation>Any java object that will be created by reflection. .
- <p>There are three main ways to create an object: by constructor or by a factory
- object or a static factory method.</p>
- <p><b>Using the constructor</b>: Then the <code>class</code> attribute must provide the
- fully qualified class name. In case another constructor then the default is
- targetted, a <code>constructor</code> child element can be provided.
- The <code>factory</code> attribute should not be provided for using a constructor.
- </p>
- <p><b>Using a factory</b>: Then the <code>factory</code> attribute or one
- <code>factory</code> element must be provided along with the attribute
- <code>method</code>.
- </p>
- <p><b>Using a static factory method</b>: Then the <code>class</code> and
- <code>method</code> attributes should be specified. There should be no
- reference to a <code>factory</code> attribute of element.
- </p>
- <p><b>Construction and initialization</b>: all objects (constructor and factory)
- are build in two phases: construction and initialisation phase. During construction
- all is done until a pointer is obtained to the object. In initialisation, operations
- are applied to the object until it is ready to be used. The separation between
- construction and initialisation is made to allow for bidirectional references. In
- that case, at least one of both ends can not be fully initialised before it is injected
- into the other end.
- </p>
- <p><b>Operations</b>: after construction, various operations can be applied to objects
- like e.g. direct field injection, injection through setters, method invocation,
- enlist with the standard transaction, subscribe the object as a listener to an observable
- </p>
- <p><b>Arguments</b>: There are two different places for arguments. The <code>arg</code>
- elements for the factory method invocation should be placed as child elements under the
- <code>object</code> element. The <code>arg</code> elements for the constructor should be
- placed as child elements under the <code>constructor</code> element.
- </p>
- </documentation></annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <element name="factory">
- <annotation><documentation>Contains one element that describes the factory object.</documentation></annotation>
- <complexType>
- <group ref="tns:persistableDescriptors" />
- </complexType>
- </element>
- <element name="constructor">
- <annotation><documentation>Specifies the arguments to use for a non-default constructor.</documentation></annotation>
- <complexType>
- <choice maxOccurs="unbounded">
- <element name="arg" type="tns:argType" />
- </choice>
- </complexType>
- </element>
- <element name="arg" type="tns:argType">
- <annotation><documentation>The factory method arguments.</documentation></annotation>
- </element>
- <group ref="tns:operations" />
- </choice>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="init" type="tns:initType" default="lazy">
- <annotation><documentation>Specifies when and how this object should be
- initialized. Default is lazy.</documentation></annotation>
- </attribute>
- <attribute name="class" type="string">
- <annotation><documentation>The fully qualified class name</documentation></annotation>
- </attribute>
- <attribute name="factory" type="string">
- <annotation><documentation>The name of the factory object</documentation></annotation>
- </attribute>
- <attribute name="method" type="string">
- <annotation><documentation>The factory method name</documentation></annotation>
- </attribute>
- <attribute name="auto-wire" type="string">
- <annotation><documentation>Indicates if the member fields and setter properties
- should be automatically wired based on matching the property names and types with the
- object names and types</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="process-service">
- <annotation><documentation>The default process service implementation
- that delegates method implementations to a CommandService. process-service
- depends on a command service.
- </documentation></annotation>
- </element>
-
- <element name="properties">
- <annotation><documentation>A java.util.Properties</documentation></annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <element name="property">
- <complexType>
- <attribute name="name" type="string" use="required" />
- <attribute name="value" type="string" use="required" />
- </complexType>
- </element>
- </choice>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="file" type="string">
- <annotation><documentation>A file on the file system</documentation></annotation>
- </attribute>
- <attribute name="resource" type="string">
- <annotation><documentation>A file as a resource in the classpath</documentation></annotation>
- </attribute>
- <attribute name="url" type="string">
- <annotation><documentation>the contents is fetched by loading a url</documentation></annotation>
- </attribute>
- <attribute name="is-xml" type="tns:booleanValueType">
- <annotation><documentation>optionally indicates if the content of referenced file in attributes
- 'file', 'resource' or 'url' is XML. The default is the
- plain properties format with a space or the equals character (=) separating key and value on
- each line.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="pvm-db-session">
- <annotation><documentation>A hibernate based PvmDbSession</documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="init" type="tns:initType" default="lazy">
- <annotation><documentation>Specifies when and how this object should be
- initialized. Default is lazy.</documentation></annotation>
- </attribute>
- <attribute name="session" type="string" />
- </complexType>
- </element>
-
- <element name="ref">
- <annotation><documentation>A reference to another object by name</documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="object" type="string" use="required">
- <annotation><documentation>The name of the referred object</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="set">
- <annotation><documentation>A java.util.Set
- </documentation></annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <group ref="tns:persistableDescriptors" />
- </choice>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="init" type="tns:initType" default="lazy">
- <annotation><documentation>Specifies when and how this object should be
- initialized. Default is lazy.</documentation></annotation>
- </attribute>
- <attribute name="class" type="string" default="java.util.HashList">
- <annotation><documentation>Implementation class for this set.
- </documentation></annotation>
- </attribute>
- <attribute name="synchronized" type="tns:booleanValueType" default="false">
- <annotation><documentation>Indicates if this collection should be synchronized
- with Collections.synchronizedSet(Set)</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="short">
- <annotation><documentation>a java.lang.Short
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="value" type="short" use="required"/>
- </complexType>
- </element>
-
- <element name="command-service">
- <annotation><documentation>The command service for usage in standard
- Java environments.
- </documentation></annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <group ref="tns:interceptors" />
- </choice>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="init" type="tns:initType" default="lazy">
- <annotation><documentation>Specifies when and how this object should be
- initialized. Default is lazy.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="string">
- <annotation><documentation>a java.lang.String
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="value" type="string" use="required"/>
- </complexType>
- </element>
-
- <element name="timer-session">
- <annotation><documentation>A timer session is used during process execution to create
- timers. Different implementations of the timer service make the process portable
- over different environments.
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="init" type="tns:initType" default="lazy">
- <annotation><documentation>Specifies when and how this object should be
- initialized. Default is lazy.</documentation></annotation>
- </attribute>
- <attribute name="target" default="job-executor">
- <annotation><documentation>Specifies the target implementation. Use
- <code>job-executor</code> when the job executor is responsible for executing the
- timers (default). Use <code>ejb</code> in case the EJB Timer Service should be used.
- If the target is job-executor, there is a dependency on the transaction, the job-executor
- and a job-db-session.
- </documentation></annotation>
- <simpleType>
- <restriction base="string">
- <enumeration value="job-executor" />
- <enumeration value="ejb" />
- <enumeration value="test" />
- </restriction>
- </simpleType>
- </attribute>
- </complexType>
- </element>
-
- <element name="transaction">
- <annotation><documentation>The transaction binding. Specifies how the transaction in the
- pvm environment gets bound to the actual transaction in the real environment.
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="target" default="standard">
- <annotation><documentation>The real transaction to be wrapped. Use <code>standard</code>
- in standard environments and enterprise in enterprise environments. In case of the
- <code>enterprise</code> target, the <code>jndi</code> name of the user transaction and
- the <code>manage</code> attribute can optionally be specified.
- </documentation></annotation>
- <simpleType>
- <restriction base="string">
- <enumeration value="standard" />
- <enumeration value="enterprise" />
- </restriction>
- </simpleType>
- </attribute>
- <attribute name="jndi" type="string" default="java:comp/UserTransaction">
- <annotation><documentation>The jndi name of the user transaction
- </documentation></annotation>
- </attribute>
- <attribute name="manage" type="tns:booleanValueType" default="false">
- <annotation><documentation>Indicates if the user transaction be controlled (=managed)
- by the environment.
- </documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="transaction-ref">
- <annotation><documentation>Reference to the org.jbpm.env.tx.Transaction in the
- current environment.
- </documentation></annotation>
- </element>
-
- <element name="true">
- <annotation><documentation>java.lang.Boolean.TRUE
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="variable-types">
- <annotation><documentation>Specifies automatic variable type resolution, transforming
- variable values of any java class into their persistable format. When the
- type of a variable needs to be automatically detected. Each of the type elements will
- be scanned in order. When the type matches, it is used to store the value.
- </documentation></annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <element name="type">
- <complexType>
- <choice>
- <element name="matcher">
- <annotation><documentation>Alternative to the <code>class</code> attribute to
- specify the matcher for this type.</documentation></annotation>
- <complexType>
- <group ref="tns:allDescriptors" />
- </complexType>
- </element>
- </choice>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the type is optional. It's used when
- users declare variables in the process.</documentation></annotation>
- </attribute>
- <attribute name="class" type="string">
- <annotation><documentation>Specifies a matcher based on the class of the
- object. The java class name of the values that will be
- stored in this type. Apart from Java class names following literals can be
- used as well:
- <p><b><code>persistable</code></b>: Matches when the class of the object is
- known by the hibernate-session-factory so that a generic reference (any-mapping)
- can be created to the persistable object. If <code>class="persistable"</code>
- the attribute <code>id-type</code> becomes required.
- </p>
- <p><b><code>serializable</code></b>: Matches if the object implements the
- java.io.Serializable interface.
- </p>
- <p>If no <code>class</code> is provided, a matcher can also be specified
- as a separate child element.</p>
- </documentation></annotation>
- </attribute>
- <attribute name="hibernate-session-factory" type="string">
- <annotation><documentation>The name of the hibernate-session-factory. Only
- required if <code>class="persistable"</code> is used and if there is more then
- one hibernate session factory specified in the environment.
- </documentation></annotation>
- </attribute>
- <attribute name="id-type">
- <annotation><documentation>The type of the id property in the persistable object.
- </documentation></annotation>
- <simpleType>
- <restriction base="string">
- <enumeration value="long" />
- <enumeration value="string" />
- </restriction>
- </simpleType>
- </attribute>
- <attribute name="converter" type="string">
- <annotation><documentation>The class name of the converter. The converter must implement
- the Converter interface and have a default constructor</documentation></annotation>
- </attribute>
- <attribute name="variable-class" type="string" use="required">
- <annotation><documentation>The class name of the variable class. The variable class must be
- a sub class of Variable and must have a default constructor.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- </choice>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="init" type="tns:initType" default="lazy">
- <annotation><documentation>Specifies when and how this object should be
- initialized. Default is lazy.</documentation></annotation>
- </attribute>
- <attribute name="file" type="string">
- <annotation><documentation>Imports variable types from a file. All the
- top level elements of the root document element are imported.</documentation></annotation>
- </attribute>
- <attribute name="url" type="string">
- <annotation><documentation>Imports variable types from a URL. All the
- top level elements of the root document element are imported.</documentation></annotation>
- </attribute>
- <attribute name="resource" type="string">
- <annotation><documentation>Imports variable types from a resource. All the
- top level elements of the root document element are imported.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <!-- ### COMPLEX TYPES ################################################### -->
-
- <complexType name="argType">
- <annotation><documentation>The method arguments.
- Each 'arg' element should have exactly one child element
- that represents the value of the argument.
- </documentation></annotation>
- <attribute name="type" type="string">
- <annotation><documentation>The java class name representing
- the type of the method. This is optional and can be used to
- indicate the appropriate method in case of method overloading.
- </documentation></annotation>
- </attribute>
- </complexType>
-
- <complexType name="contextType">
- <annotation><documentation>A context is a set of object
- descriptions.
- </documentation></annotation>
- <choice minOccurs="0" maxOccurs="unbounded">
- <group ref="tns:allDescriptors" />
- </choice>
- </complexType>
-
- <complexType name="hibernateConfigurationType">
- <choice minOccurs="0" maxOccurs="unbounded">
- <element name="mappings">
- <annotation><documentation>Imports mapping file references from the
- referenced resource files</documentation></annotation>
- <complexType>
- <attribute name="resource" type="string">
- <annotation><documentation>Import mapping references from a resource file.
- The full classpath is scanned for all the resource
- files of the given name. All mapping elements that are found as the content in
- the top level document element will be imported for all of the resource files
- found on the classpath with that name. </documentation></annotation>
- </attribute>
- </complexType>
- </element>
- <element name="mapping">
- <annotation><documentation>Imports a hibernate mapping file</documentation></annotation>
- <complexType>
- <attribute name="resource" type="string">
- <annotation><documentation>Adds the referenced resource file as a mapping
- file to the hibernate configuration</documentation></annotation>
- </attribute>
- <attribute name="file" type="string">
- <annotation><documentation>Adds the referenced file as a mapping
- file to the hibernate configuration</documentation></annotation>
- </attribute>
- <attribute name="class" type="string">
- <annotation><documentation>Adds the resource file that matches the given class
- name as a mapping file to the hibernate configuration. Matching means
- .hbm.xml instead of .java</documentation></annotation>
- </attribute>
- <attribute name="url" type="string">
- <annotation><documentation>Adds file supplied by the URL as a mapping
- file to the hibernate configuration</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- <element ref="tns:properties" />
- <element name="cache-configuration">
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <element name="class-cache">
- <annotation><documentation>Persistent class for which hibernate should
- activate its second level cache</documentation></annotation>
- <complexType>
- <attribute name="class">
- <annotation><documentation>Fully qualified classname</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- <element name="collection-cache">
- <annotation><documentation>Persistent collection for which hibernate should
- activate its second level cache</documentation></annotation>
- <complexType>
- <attribute name="collection">
- <annotation><documentation>Fully qualified classname, a dot (.) and
- then the property name of the collection</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- </choice>
- <attribute name="usage" type="tns:hibernateCacheUsageType">
- <annotation><documentation>The caching strategy. see hibernate
- docs for more info.</documentation></annotation>
- </attribute>
- <attribute name="file" type="string">
- <annotation><documentation>Import source for class-cache elements</documentation></annotation>
- </attribute>
- <attribute name="resource" type="string">
- <annotation><documentation>Import source for class-cache elements</documentation></annotation>
- </attribute>
- <attribute name="url" type="string">
- <annotation><documentation>Import source for class-cache elements</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- </choice>
- <attribute name="name" type="string">
- <annotation><documentation>Optional name of this hibernate session factory.
- Typically a session factory is looked up by type. Only if multiple sessions
- are declared, a name can be used to distinct them.
- </documentation></annotation>
- </attribute>
- <attribute name="init" type="tns:initType" default="lazy">
- <annotation><documentation>Specifies when and how this object should be
- initialized. Default is lazy.</documentation></annotation>
- </attribute>
- <attribute name="class" type="string">
- <annotation><documentation>Optional class of the hibernate configuration.
- By default org.hibernate.cfg.Configuration will be used. This can be used
- to specify e.g. an AnnotationConfiguration.</documentation></annotation>
- </attribute>
- <attribute name="schema-operation" type="tns:hibernateSchemaOperationType">
- <annotation><documentation>Optional schema operation to be applied when
- this configuration has been created. By default, no schema operation will
- be applied.</documentation></annotation>
- </attribute>
- </complexType>
-
- <complexType name="businessCalendarDayType">
- <attribute name="hours" type="string">
- <annotation><documentation>The working hours of this day. Day parts are separated
- with 'and'. Begin and end hours are separated by '-'. E.g:
- 9:00-12:00 and 12:30-17:00
- </documentation></annotation>
- </attribute>
- </complexType>
-
-
-
- <!-- ### SIMPLE VALUE TYPES ############################################## -->
-
- <simpleType name="booleanValueType">
- <restriction base="string">
- <enumeration value="true" />
- <enumeration value="on" />
- <enumeration value="enabled" />
- <enumeration value="false" />
- <enumeration value="off" />
- <enumeration value="disabled" />
- </restriction>
- </simpleType>
-
- <simpleType name="hibernateSchemaOperationType">
- <restriction base="string">
- <enumeration value="update" />
- <enumeration value="create" />
- </restriction>
- </simpleType>
-
- <simpleType name="hibernateCacheUsageType">
- <restriction base="string">
- <enumeration value="read-only" />
- <enumeration value="nonstrict-read-write" />
- <enumeration value="read-write" />
- <enumeration value="transactional" />
- </restriction>
- </simpleType>
-
- <simpleType name="initType">
- <annotation><documentation>Specifies when and how this object should be
- initialized. Default is lazy.
-
- <p><code><b>lazy</b></code>: The object is only created when it is asked for.
- In case of transitive dependencies, the object might not yet be initialized.
- </p>
-
- <p><code><b>eager</b></code>: The object is created when the context is created.
- In case of transitive dependencies, the object might not yet be initialized.
- </p>
-
- <p><code><b>eager</b></code>: The object is created when the context is created.
- In case of transitive dependencies, the initialization is also mandatory.
- </p>
-
- <p><code><b>eager</b></code>: The object is only created when it is asked for.
- In case of transitive dependencies, initialization is mandatory.
- </p>
- </documentation></annotation>
- <restriction base="string">
- <enumeration value="lazy" />
- <enumeration value="eager" />
- <enumeration value="immediate" />
- <enumeration value="required" />
- </restriction>
- </simpleType>
-
- <simpleType name="messageSessionTargetType">
- <restriction base="string">
- <enumeration value="job-executor" />
- <enumeration value="jms" />
- <enumeration value="test" />
- </restriction>
- </simpleType>
-
-
- <!-- ### GROUPS ########################################################## -->
-
- <group name="persistableDescriptors">
- <choice>
- <element ref="tns:false" />
- <element ref="tns:byte" />
- <element ref="tns:char" />
- <element ref="tns:class" />
- <element ref="tns:context-ref" />
- <element ref="tns:double" />
- <element ref="tns:environment-ref" />
- <element ref="tns:environment-factory-ref" />
- <element ref="tns:false" />
- <element ref="tns:float" />
- <element ref="tns:int" />
- <element ref="tns:jndi" />
- <element ref="tns:list" />
- <element ref="tns:long" />
- <element ref="tns:map" />
- <element ref="tns:message-session" />
- <element ref="tns:null" />
- <element ref="tns:object" />
- <element ref="tns:pvm-db-session" />
- <element ref="tns:properties" />
- <element ref="tns:ref" />
- <element ref="tns:set" />
- <element ref="tns:short" />
- <element ref="tns:string" />
- <element ref="tns:timer-session" />
- <element ref="tns:transaction-ref" />
- <element ref="tns:true" />
- </choice>
- </group>
-
- <group name="allDescriptors">
- <choice>
- <group ref="tns:persistableDescriptors" />
- <element ref="tns:business-calendar" />
- <element ref="tns:process-service" />
- <element ref="tns:deployer-manager" />
- <element ref="tns:hibernate-configuration" />
- <element ref="tns:hibernate-session-factory" />
- <element ref="tns:hibernate-session" />
- <element ref="tns:job-executor" />
- <element ref="tns:job-test-helper" />
- <element ref="tns:command-service" />
- <element ref="tns:transaction" />
- <element ref="tns:variable-types" />
- </choice>
- </group>
-
- <group name="interceptors">
- <choice>
- <element name="environment-interceptor">
- <annotation><documentation>Interceptor that can be used as part of declaring
- a command service.
- </documentation></annotation>
- </element>
- <element name="retry-interceptor">
- <annotation><documentation>Interceptor that retries the method invocation in
- case of exceptions.
- </documentation></annotation>
- <complexType>
- <attribute name="retries" default="3">
- <annotation><documentation>Max number of attempts before giving up</documentation></annotation>
- </attribute>
- <attribute name="delay" default="50">
- <annotation><documentation>Delay in milliseconds after the first exception</documentation></annotation>
- </attribute>
- <attribute name="delay-factor" default="4">
- <annotation><documentation>Factor with which the delay is multiplied after subsequent
- failed attempts. This enables back-off to reduce load in case of repetitive failures.
- </documentation></annotation>
- </attribute>
- </complexType>
- </element>
- <element name="transaction-interceptor">
- <annotation><documentation>Interceptor that will make sure the transaction is initialized before each
- invocation and it will issue a setRollbackOnly on the transaction in case an exception occors.
- </documentation></annotation>
- </element>
- </choice>
- </group>
-
- <group name="deployers">
- <choice>
- <element name="create-process">
- <annotation><documentation>Deployer that can instantiate the
- process definition of a given type.
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string" />
- <attribute name="class" type="string" use="required"/>
- </complexType>
- </element>
- <element name="save-process">
- <annotation><documentation>Deployer that saves the process with
- the PvmDbSession.
- </documentation></annotation>
- </element>
- <element name="verify-version">
- <annotation><documentation>Deployer verifies if the version of the
- deployed process is exactly 1 more then the last version of the same
- process.
- </documentation></annotation>
- </element>
- </choice>
- </group>
-
- <group name="operations">
- <choice>
- <element name="enlist">
- <annotation><documentation>Enlists this object (assumes a org.jbpm.tx.Resource) with the current org.jbpm.tx.StandardTransaction</documentation></annotation>
- <complexType>
- <attribute name="transaction" type="string">
- <annotation><documentation>Optional reference to the name of the
- standard transaction. If no transaction name is specified, the transaction
- is looked up by type in the environment.
- </documentation></annotation>
- </attribute>
- </complexType>
- </element>
- <element name="field">
- <annotation><documentation>Injects a value into a member field of this object.
- Exactly one child element must specify the value.
- </documentation></annotation>
- <complexType>
- <group ref="tns:persistableDescriptors" />
- <attribute name="name">
- <annotation><documentation>The member field name</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- <element name="invoke">
- <annotation><documentation>Invokes a method</documentation></annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <element name="arg" type="tns:argType" />
- </choice>
- <attribute name="method" type="string" use="required">
- <annotation><documentation>the method name</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- <element name="subscribe">
- <annotation><documentation>Subscribes this object to an observable</documentation></annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <element name="arg" type="tns:argType" />
- </choice>
- <attribute name="context" type="string">
- <annotation><documentation>The context in which to find the observable. If not specified,
- the context of this object will be taken. If no observable object names are specified, the
- context object itself will be used as the observable.</documentation></annotation>
- </attribute>
- <attribute name="to" default="object-events">
- <annotation><documentation>Indicates if this object is interested in the events fired by
- the object itself (object-events) or in the wire events fired by the wire context
- (wire-events).</documentation></annotation>
- <simpleType>
- <restriction base="string">
- <enumeration value="wire-events" />
- <enumeration value="object-events" />
- </restriction>
- </simpleType>
- </attribute>
- <attribute name="event" type="string">
- <annotation><documentation>A single event. See 'events' for more information.</documentation></annotation>
- </attribute>
- <attribute name="events" type="string">
- <annotation><documentation>Comma separated list of events to listen to, filtering out all other events.
- If no events are specified or if the '*' wildcard is specified, the object will be notified of all events.
- </documentation></annotation>
- </attribute>
- <attribute name="object" type="string">
- <annotation><documentation>A single object name. See 'objects' for more information.</documentation></annotation>
- </attribute>
- <attribute name="objects" type="string">
- <annotation><documentation>Comma separated list of object names to listen to.
- If no objects are specified the specified context will be used as the observable.
- </documentation></annotation>
- </attribute>
- <attribute name="method" type="string">
- <annotation><documentation>Name of the method to invoke. If no method is specified, it is assumed that the
- object implements the Listener interface. Nested 'arg' elements can be used to provide arguments
- in the method invocation.
- </documentation></annotation>
- </attribute>
- </complexType>
- </element>
- </choice>
- </group>
-
-</schema>
\ No newline at end of file
15 years, 10 months
JBoss JBPM SVN: r1549 - pvm/trunk/modules/core/src/main/resources/org/jbpm/pvm.
by do-not-reply@jboss.org
Author: porcherg
Date: 2008-07-08 09:37:25 -0400 (Tue, 08 Jul 2008)
New Revision: 1549
Modified:
pvm/trunk/modules/core/src/main/resources/org/jbpm/pvm/wire.xsd
Log:
remove duplicate entry
Modified: pvm/trunk/modules/core/src/main/resources/org/jbpm/pvm/wire.xsd
===================================================================
--- pvm/trunk/modules/core/src/main/resources/org/jbpm/pvm/wire.xsd 2008-07-08 13:29:27 UTC (rev 1548)
+++ pvm/trunk/modules/core/src/main/resources/org/jbpm/pvm/wire.xsd 2008-07-08 13:37:25 UTC (rev 1549)
@@ -1139,7 +1139,6 @@
<group name="persistableDescriptors">
<choice>
- <element ref="tns:false" />
<element ref="tns:byte" />
<element ref="tns:char" />
<element ref="tns:class" />
15 years, 10 months
JBoss JBPM SVN: r1548 - pvm/trunk/modules/core/src/test/java/org/jbpm/jobexecutor.
by do-not-reply@jboss.org
Author: porcherg
Date: 2008-07-08 09:29:27 -0400 (Tue, 08 Jul 2008)
New Revision: 1548
Removed:
pvm/trunk/modules/core/src/test/java/org/jbpm/jobexecutor/mappings.hbm.xml
Modified:
pvm/trunk/modules/core/src/test/java/org/jbpm/jobexecutor/JobExecutorTimerSessionTest.java
Log:
fix test
Modified: pvm/trunk/modules/core/src/test/java/org/jbpm/jobexecutor/JobExecutorTimerSessionTest.java
===================================================================
--- pvm/trunk/modules/core/src/test/java/org/jbpm/jobexecutor/JobExecutorTimerSessionTest.java 2008-07-08 13:28:39 UTC (rev 1547)
+++ pvm/trunk/modules/core/src/test/java/org/jbpm/jobexecutor/JobExecutorTimerSessionTest.java 2008-07-08 13:29:27 UTC (rev 1548)
@@ -25,6 +25,7 @@
import org.jbpm.pvm.internal.job.TimerImpl;
import org.jbpm.pvm.internal.jobexecutor.JobDbSession;
import org.jbpm.pvm.internal.jobexecutor.JobExecutor;
+import org.jbpm.pvm.internal.model.ExecutionImpl;
import org.jbpm.pvm.job.Job;
import org.jbpm.pvm.session.PvmDbSession;
import org.jbpm.pvm.session.TimerSession;
@@ -181,9 +182,23 @@
assertTextPresent("null timer", e.getMessage());
}
+ // no execution
+ try {
+ timerImpl = new TimerImpl();
+ timerSession.schedule(timerImpl);
+ // clean before failure
+ timerSession.cancel(timerImpl);
+ fail("Should not happen");
+ } catch (PvmException e) {
+ assertTextPresent("no execution", e.getMessage());
+ }
+
+ ExecutionImpl execution = new ExecutionImpl();
+
// no signal or event
try {
timerImpl = new TimerImpl();
+ timerImpl.setExecution(execution);
timerSession.schedule(timerImpl);
// clean before failure
timerSession.cancel(timerImpl);
@@ -197,6 +212,8 @@
// null dueDate
try {
timerImpl = createTimer("schedule error 1", null);
+ timerImpl.setExecution(execution);
+
timerImpl.setSignalName("timeout");
timerSession.schedule(timerImpl);
// clean before failure
@@ -209,6 +226,8 @@
// date.getTime() negative
try {
timerImpl = createTimer("schedule error 2", new Date(-10));
+ timerImpl.setExecution(execution);
+
timerImpl.setSignalName("timeout");
timerSession.schedule(timerImpl);
// clean before failure
@@ -239,17 +258,26 @@
assertNbTimersEquals(0);
// scheduled non-executed jobImpl
+ ExecutionImpl execution = new ExecutionImpl();
+ getPvmDbSession().save(execution);
+
timerSession = getTimerSession();
timerImpl = createForbiddenTimer("cancel 2", 500);
timerImpl.setSignalName("timeout");
+ timerImpl.setExecution(execution);
+
timerSession.schedule(timerImpl);
newTransaction();
assertNbTimersEquals(1);
timerSession = getTimerSession();
timerSession.cancel(findFirstDueTimer());
+
newTransaction();
assertNbTimersEquals(0);
+ execution = getPvmDbSession().get(ExecutionImpl.class, execution.getDbid());
+ getPvmDbSession().delete(execution);
+
/*
* scheduled jobImpl with repeat
* This is not necessary because in the test, a timer scheduled with
@@ -260,32 +288,59 @@
/** Schedule a jobImpl in the past */
public void testSchedulePastJob() {
- TimerImpl timerImpl = createTimer("schedule past jobImpl", -500);
- timerImpl.setSignalName("timeout");
- getTimerSession().schedule(timerImpl);
- assertNbTimersEquals(1);
- newTransaction();
- waitUntilNbTimerEquals(0);
+ ExecutionImpl execution = new ExecutionImpl();
+ execution = reload(execution);
+ try {
+ TimerImpl timerImpl = createTimer("schedule past jobImpl", -500);
+ timerImpl.setExecution(execution);
+ timerImpl.setEventName("timeout");
+ getTimerSession().schedule(timerImpl);
+ assertNbTimersEquals(1);
+ newTransaction();
+ waitUntilNbTimerEquals(0);
+ } finally {
+ execution = getPvmDbSession().get(ExecutionImpl.class, execution.getDbid());
+ getPvmDbSession().delete(execution);
+ newTransaction();
+ }
}
/** Schedule a jobImpl in the future */
public void testScheduleFutureJob() {
- TimerImpl timerImpl = createTimer("schedule future jobImpl", 500);
- timerImpl.setSignalName("timeout");
- getTimerSession().schedule(timerImpl);
- newTransaction();
- assertNbTimersEquals(1);
- waitUntilNbTimerEquals(0);
+ ExecutionImpl execution = new ExecutionImpl();
+ execution = reload(execution);
+ try {
+ TimerImpl timerImpl = createTimer("schedule future jobImpl", 500);
+ timerImpl.setExecution(execution);
+ timerImpl.setEventName("timeout");
+ getTimerSession().schedule(timerImpl);
+ assertNbTimersEquals(1);
+ newTransaction();
+ waitUntilNbTimerEquals(0);
+ } finally {
+ execution = getPvmDbSession().get(ExecutionImpl.class, execution.getDbid());
+ getPvmDbSession().delete(execution);
+ newTransaction();
+ }
}
/** Test the method schedule with a repeated jobImpl */
public void testScheduleRepeatDelay() {
- TimerImpl timerImpl = createTimer("schedule repeat delay", 200, 400, 3);
- timerImpl.setSignalName("timeout");
- getTimerSession().schedule(timerImpl);
- newTransaction();
- assertNbTimersEquals(1);
- waitUntilNbTimerEquals(0);
+ ExecutionImpl execution = new ExecutionImpl();
+ execution = reload(execution);
+ try {
+ TimerImpl timerImpl = createTimer("schedule repeat delay", 200, 400, 3);
+ timerImpl.setExecution(execution);
+ timerImpl.setEventName("timeout");
+ getTimerSession().schedule(timerImpl);
+ assertNbTimersEquals(1);
+ newTransaction();
+ waitUntilNbTimerEquals(0);
+ } finally {
+ execution = getPvmDbSession().get(ExecutionImpl.class, execution.getDbid());
+ getPvmDbSession().delete(execution);
+ newTransaction();
+ }
}
@@ -295,31 +350,40 @@
private TimerImpl createIncrementingTimer(String name, Date dueDate, String variable) {
TestTimer timer = new TestTimer(name, dueDate, 1);
timer.setVariableName(variable);
- timer.setSignalName("incrementation");
+ timer.setEventName("incrementation");
return timer;
}
private void testManyTimers(int nbTimer, long delayBetweenTimers) {
- long startTime = System.currentTimeMillis();
- for (int i=0; i<nbTimer; i++) {
- Date dueDate = new Date(startTime + 1000 + i*delayBetweenTimers);
- String name = "timer " + i;
- TimerImpl timerImpl = createIncrementingTimer(name, dueDate, name);
- getTimerSession().schedule(timerImpl);
- }
-
- newTransaction();
- assertNbTimersEquals(nbTimer);
- waitUntilNbTimerEquals(0);
- int sum = 0;
- Map<String, Integer> variables = getVariables();
- if (variables != null) {
- for (Entry<String, Integer> variable : variables.entrySet()) {
- assertEquals(variable.getKey(), 1, (int)variable.getValue());
- sum += variable.getValue();
+ ExecutionImpl execution = new ExecutionImpl();
+ execution = reload(execution);
+ try {
+ long startTime = System.currentTimeMillis();
+ for (int i=0; i<nbTimer; i++) {
+ Date dueDate = new Date(startTime + 1000 + i*delayBetweenTimers);
+ String name = "timer " + i;
+ TimerImpl timerImpl = createIncrementingTimer(name, dueDate, name);
+ timerImpl.setExecution(execution);
+ getTimerSession().schedule(timerImpl);
}
- }
- assertEquals(nbTimer, sum);
+
+ newTransaction();
+ assertNbTimersEquals(nbTimer);
+ waitUntilNbTimerEquals(0);
+ int sum = 0;
+ Map<String, Integer> variables = getVariables();
+ if (variables != null) {
+ for (Entry<String, Integer> variable : variables.entrySet()) {
+ assertEquals(variable.getKey(), 1, (int)variable.getValue());
+ sum += variable.getValue();
+ }
+ }
+ assertEquals(nbTimer, sum);
+ } finally {
+ execution = getPvmDbSession().get(ExecutionImpl.class, execution.getDbid());
+ getPvmDbSession().delete(execution);
+ newTransaction();
+ }
}
public void testSeveralTimer() {
Deleted: pvm/trunk/modules/core/src/test/java/org/jbpm/jobexecutor/mappings.hbm.xml
===================================================================
--- pvm/trunk/modules/core/src/test/java/org/jbpm/jobexecutor/mappings.hbm.xml 2008-07-08 13:28:39 UTC (rev 1547)
+++ pvm/trunk/modules/core/src/test/java/org/jbpm/jobexecutor/mappings.hbm.xml 2008-07-08 13:29:27 UTC (rev 1548)
@@ -1,30 +0,0 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE hibernate-mapping PUBLIC
- "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping package="org.jbpm.jobexecutor" default-access="field">
-
- <subclass name="TestMessage" extends="org.jbpm.pvm.internal.job.MessageImpl" discriminator-value="T">
- <property name="messageId" />
- </subclass>
-
- <subclass name="FailingTestMessage" extends="org.jbpm.pvm.internal.job.MessageImpl" discriminator-value="F">
- </subclass>
-
- <subclass name="ExclusiveTestMessage" extends="org.jbpm.pvm.internal.job.MessageImpl" discriminator-value="E">
- </subclass>
-
- <subclass name="FailOnceTestMessage" extends="org.jbpm.pvm.internal.job.MessageImpl" discriminator-value="O">
- <property name="messageId" />
- </subclass>
-
- <subclass name="TestTimer" extends="org.jbpm.pvm.internal.job.TimerImpl" discriminator-value="TestTimer">
- <property name="name" />
- <property name="nbMaxExecution" />
- <property name="nbExecution" />
- <property name="variableName" />
- </subclass>
-
-</hibernate-mapping>
\ No newline at end of file
15 years, 10 months
JBoss JBPM SVN: r1547 - pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/jobexecutor.
by do-not-reply@jboss.org
Author: porcherg
Date: 2008-07-08 09:28:39 -0400 (Tue, 08 Jul 2008)
New Revision: 1547
Modified:
pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTimerSession.java
Log:
check that timer has an execution (otherwise execution of the timer creates a NullPointerException)
Modified: pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTimerSession.java
===================================================================
--- pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTimerSession.java 2008-07-08 13:23:59 UTC (rev 1546)
+++ pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTimerSession.java 2008-07-08 13:28:39 UTC (rev 1547)
@@ -55,6 +55,9 @@
protected void validate(Timer timer) {
if (timer == null)
throw new PvmException("null timer scheduled");
+ if (timer.getExecution() == null) {
+ throw new PvmException("timer has no execution specified");
+ }
if ( (timer.getSignalName() == null)
&& (timer.getEventName() == null)
)
15 years, 10 months
JBoss JBPM SVN: r1546 - pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/job.
by do-not-reply@jboss.org
Author: porcherg
Date: 2008-07-08 09:23:59 -0400 (Tue, 08 Jul 2008)
New Revision: 1546
Modified:
pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java
Log:
fix bug in repeat
Modified: pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java
===================================================================
--- pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java 2008-07-08 13:08:29 UTC (rev 1545)
+++ pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java 2008-07-08 13:23:59 UTC (rev 1546)
@@ -101,7 +101,7 @@
environment.addContext(jobContext);
try {
if (signalName!=null) {
- if (log.isDebugEnabled()) log.debug("feeding rimer signal "+signalName+" into "+execution);
+ if (log.isDebugEnabled()) log.debug("feeding timer signal "+signalName+" into "+execution);
execution.signal(signalName);
}
@@ -144,7 +144,7 @@
JobExecutor jobExecutor = environment.get(JobExecutor.class);
if (jobExecutor!=null) {
Transaction transaction = environment.get(Transaction.class);
- if (transaction!=null) {
+ if (transaction==null) {
throw new PvmException("no transaction in environment");
}
Listener jobNotificator = new JobAddedNotification(jobExecutor);
15 years, 10 months
JBoss JBPM SVN: r1545 - pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model.
by do-not-reply@jboss.org
Author: porcherg
Date: 2008-07-08 09:08:29 -0400 (Tue, 08 Jul 2008)
New Revision: 1545
Modified:
pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
Log:
set hasTimers to true when creating a new timer
Modified: pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
===================================================================
--- pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java 2008-07-08 12:08:07 UTC (rev 1544)
+++ pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java 2008-07-08 13:08:29 UTC (rev 1545)
@@ -829,6 +829,7 @@
TimerImpl timerImpl = instantiateTimer();
// create the bidirectional reference
timers.add(timerImpl);
+ hasTimers = true;
// setInverseReference(timerImpl);
// initialise all the timer properties
15 years, 10 months