JBoss JBPM SVN: r3147 - in jbpm3/trunk/modules: integration/jboss42/src/main/etc and 4 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-11-28 08:54:21 -0500 (Fri, 28 Nov 2008)
New Revision: 3147
Added:
jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/
jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/AbstractDeployment.java
jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/PARDeployment.java
jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/XMLDeployment.java
jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/DeploymentServiceImpl.java
Modified:
jbpm3/trunk/modules/core/src/main/java/org/jbpm/jpdl/par/ProcessArchive.java
jbpm3/trunk/modules/integration/jboss42/src/main/etc/jboss-beans.xml
jbpm3/trunk/modules/integration/jboss42/src/main/java/org/jbpm/integration/jboss42/PARSubDeployer.java
Log:
Add deployment service
Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/jpdl/par/ProcessArchive.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/jpdl/par/ProcessArchive.java 2008-11-28 13:50:24 UTC (rev 3146)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/jpdl/par/ProcessArchive.java 2008-11-28 13:54:21 UTC (rev 3147)
@@ -44,100 +44,125 @@
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-public class ProcessArchive implements ProblemListener {
-
+public class ProcessArchive implements ProblemListener
+{
+
private static final long serialVersionUID = 1L;
static List processArchiveParsers = getProcessArchiveParsers();
-
+
// fields ///////////////////////////////////////////////////////////////////
String name = "";
// maps entry-names (String) to byte-arrays (byte[])
Map entries = new HashMap();
- List problems = new ArrayList();
+ List problems = new ArrayList();
// constructors /////////////////////////////////////////////////////////////
- public ProcessArchive(ZipInputStream zipInputStream) throws IOException {
+ public ProcessArchive(ZipInputStream zipInputStream) throws IOException
+ {
ZipEntry zipEntry = zipInputStream.getNextEntry();
- while(zipEntry!=null) {
+ while (zipEntry != null)
+ {
String entryName = zipEntry.getName();
byte[] bytes = IoUtil.readBytes(zipInputStream);
- if (bytes!=null) {
+ if (bytes != null)
+ {
entries.put(entryName, bytes);
}
zipEntry = zipInputStream.getNextEntry();
}
}
-
+
// parse the process definition from the contents ///////////////////////////
- public ProcessDefinition parseProcessDefinition() {
+ public ProcessDefinition parseProcessDefinition()
+ {
ProcessDefinition processDefinition = ProcessDefinition.createNewProcessDefinition();
Iterator iter = processArchiveParsers.iterator();
- while (iter.hasNext()) {
- ProcessArchiveParser processArchiveParser = (ProcessArchiveParser) iter.next();
+ while (iter.hasNext())
+ {
+ ProcessArchiveParser processArchiveParser = (ProcessArchiveParser)iter.next();
processDefinition = processArchiveParser.readFromArchive(this, processDefinition);
}
- if (Problem.containsProblemsOfLevel(problems, Problem.LEVEL_ERROR)) {
+ if (Problem.containsProblemsOfLevel(problems, Problem.LEVEL_ERROR))
+ {
throw new JpdlException(problems);
}
return processDefinition;
}
-
+
// methods for the process archive parsers //////////////////////////////////
- public String toString() {
- return "process-archive("+name+")";
+ public String toString()
+ {
+ return "process-archive(" + name + ")";
}
-
- public Map getEntries() {
+
+ public Map getEntries()
+ {
return entries;
}
-
- public byte[] getEntry(String entryName) {
- return (byte[]) entries.get(entryName);
+
+ public byte[] getEntry(String entryName)
+ {
+ return (byte[])entries.get(entryName);
}
- public InputStream getEntryInputStream(String entryName) {
+ public InputStream getEntryInputStream(String entryName)
+ {
return new ByteArrayInputStream(getEntry(entryName));
}
- public byte[] removeEntry(String entryName) {
- return (byte[]) entries.remove(entryName);
+ public byte[] removeEntry(String entryName)
+ {
+ return (byte[])entries.remove(entryName);
}
- public InputStream removeEntryInputStream(String entryName) {
+ public InputStream removeEntryInputStream(String entryName)
+ {
return new ByteArrayInputStream(removeEntry(entryName));
}
- public void addProblem(Problem problem) {
+
+ public void addProblem(Problem problem)
+ {
problems.add(problem);
}
- public List getProblems() {
+
+ public List getProblems()
+ {
return problems;
}
- public void resetProblems() {
+
+ public void resetProblems()
+ {
problems = new ArrayList();
}
- static List getProcessArchiveParsers() {
+ static List getProcessArchiveParsers()
+ {
List processArchiveParsers = new ArrayList();
- try {
+ try
+ {
String resource = JbpmConfiguration.Configs.getString("resource.parsers");
InputStream parsersStream = ClassLoaderUtil.getStream(resource);
Document document = XmlUtil.parseXmlInputStream(parsersStream);
Iterator iter = XmlUtil.elementIterator(document.getDocumentElement(), "parser");
- while (iter.hasNext()) {
- Element element = (Element) iter.next();
+ while (iter.hasNext())
+ {
+ Element element = (Element)iter.next();
String className = element.getAttribute("class");
- ProcessArchiveParser processArchiveParser= (ProcessArchiveParser) ClassLoaderUtil.loadClass(className).newInstance();
- if (processArchiveParser instanceof ConfigurableParser) {
+ ProcessArchiveParser processArchiveParser = (ProcessArchiveParser)ClassLoaderUtil.loadClass(className).newInstance();
+ if (processArchiveParser instanceof ConfigurableParser)
+ {
((ConfigurableParser)processArchiveParser).configure(element);
}
processArchiveParsers.add(processArchiveParser);
}
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
throw new JbpmException("couldn't parse process archive parsers (jbpm.parsers.xml)", e);
}
return processArchiveParsers;
Modified: jbpm3/trunk/modules/integration/jboss42/src/main/etc/jboss-beans.xml
===================================================================
--- jbpm3/trunk/modules/integration/jboss42/src/main/etc/jboss-beans.xml 2008-11-28 13:50:24 UTC (rev 3146)
+++ jbpm3/trunk/modules/integration/jboss42/src/main/etc/jboss-beans.xml 2008-11-28 13:54:21 UTC (rev 3147)
@@ -13,6 +13,7 @@
<bean name="BPMProcessEngine" class="org.jbpm.integration.client.ProcessEngineImpl">
<property name="services">
<set elementClass="org.jboss.bpm.api.service.Service">
+ <inject bean="BPMDeploymentService"/>
<inject bean="BPMDialectHandlerService"/>
<inject bean="BPMExecutionService"/>
<inject bean="BPMIdentityService"/>
@@ -49,6 +50,7 @@
<bean name="BPMDialectHandlerJPDL32" class="org.jbpm.integration.jpdl32.DialectHandlerImpl" />
<!-- Other Services -->
+ <bean name="BPMDeploymentService" class="org.jbpm.integration.service.DeploymentServiceImpl" />
<bean name="BPMExecutionService" class="org.jbpm.integration.service.ExecutionServiceImpl" />
<bean name="BPMIdentityService" class="org.jbpm.integration.service.IdentityServiceImpl" />
<bean name="BPMProcessBuilderService" class="org.jbpm.integration.service.ProcessBuilderServiceImpl" />
Modified: jbpm3/trunk/modules/integration/jboss42/src/main/java/org/jbpm/integration/jboss42/PARSubDeployer.java
===================================================================
--- jbpm3/trunk/modules/integration/jboss42/src/main/java/org/jbpm/integration/jboss42/PARSubDeployer.java 2008-11-28 13:50:24 UTC (rev 3146)
+++ jbpm3/trunk/modules/integration/jboss42/src/main/java/org/jbpm/integration/jboss42/PARSubDeployer.java 2008-11-28 13:54:21 UTC (rev 3147)
@@ -25,15 +25,13 @@
import java.net.URL;
-import javax.management.ObjectName;
-
+import org.jboss.bpm.api.client.Configuration;
+import org.jboss.bpm.api.client.ProcessEngine;
+import org.jboss.bpm.api.deployment.Deployment;
+import org.jboss.bpm.api.service.DeploymentService;
import org.jboss.deployment.DeploymentException;
import org.jboss.deployment.DeploymentInfo;
import org.jboss.deployment.SubDeployerSupport;
-import org.jboss.bpm.api.client.Configuration;
-import org.jboss.bpm.api.client.ProcessEngine;
-import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.service.ProcessDefinitionService;
/**
* A deployer service that manages jBPM Process Archive Deployments
@@ -44,9 +42,9 @@
public class PARSubDeployer extends SubDeployerSupport implements PARSubDeployerMBean
{
/** The suffixes we accept, along with their relative order */
- private static final String[] DEFAULT_ENHANCED_SUFFIXES = new String[] { "900:-process.xml" };
+ private static final String[] DEFAULT_ENHANCED_SUFFIXES = new String[] { "900:-process.xml", "900:.par" };
- private ProcessDefinitionService procDefService;
+ private DeploymentService depService;
public PARSubDeployer()
{
@@ -64,13 +62,12 @@
try
{
- // Parese and register the procdef
- ProcessDefinitionService pdService = getProcessDefinitionService();
- ProcessDefinition procDef = pdService.parseProcessDefinition(pdURL);
- pdService.registerProcessDefinition(procDef);
+ DeploymentService depService = getDeploymentService();
+ Deployment dep = depService.createDeployment(pdURL);
+ depService.deploy(dep);
// Remember the procDefID
- di.context.put(ProcessDefinition.class.getName(), procDef.getKey());
+ di.context.put(Deployment.class.getName(), dep);
}
catch (RuntimeException rte)
{
@@ -88,13 +85,13 @@
URL pdURL = getProcessDefinitionURL(di);
log.info("Undeploy ProcessDefinition: " + pdURL);
- ObjectName procDefID = (ObjectName)di.context.get(ProcessDefinition.class.getName());
- if (procDefID != null)
+ Deployment dep = (Deployment)di.context.get(Deployment.class.getName());
+ if (dep != null)
{
try
{
- ProcessDefinitionService pdService = getProcessDefinitionService();
- pdService.unregisterProcessDefinition(procDefID);
+ DeploymentService depService = getDeploymentService();
+ depService.undeploy(dep);
}
catch (RuntimeException rte)
{
@@ -117,14 +114,14 @@
return pdURL;
}
- private ProcessDefinitionService getProcessDefinitionService()
+ private DeploymentService getDeploymentService()
{
// This is done lazily because the deployers become available before MC beans
- if (procDefService == null)
+ if (depService == null)
{
ProcessEngine engine = Configuration.getProcessEngine();
- procDefService = engine.getService(ProcessDefinitionService.class);
+ depService = engine.getService(DeploymentService.class);
}
- return procDefService;
+ return depService;
}
}
\ No newline at end of file
Added: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/AbstractDeployment.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/AbstractDeployment.java (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/AbstractDeployment.java 2008-11-28 13:54:21 UTC (rev 3147)
@@ -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.jbpm.integration.deployment;
+
+// $Id$
+
+import org.jboss.bpm.api.deployment.Deployment;
+import org.jboss.bpm.api.runtime.BasicAttachments;
+
+/**
+ * An abstraction of a process deployment
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 17-Sep-2008
+ */
+public abstract class AbstractDeployment extends BasicAttachments implements Deployment
+{
+}
Property changes on: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/AbstractDeployment.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/PARDeployment.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/PARDeployment.java (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/PARDeployment.java 2008-11-28 13:54:21 UTC (rev 3147)
@@ -0,0 +1,83 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.integration.deployment;
+
+// $Id$
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
+
+/**
+ * An in-memory persistence service.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 17-Sep-2008
+ */
+public class PARDeployment extends AbstractDeployment
+{
+ private static final String PROCESSDEFINITION_ENTRY = "processdefinition.xml";
+ private URL pdURL;
+
+ public PARDeployment(URL pdURL)
+ {
+ this.pdURL = pdURL;
+ }
+
+ public String getProcessDefinitionXML() throws IOException
+ {
+ String pdXML = null;
+
+ ZipInputStream zip = new ZipInputStream(pdURL.openStream());
+ ZipEntry zipEntry = zip.getNextEntry();
+ String entryName = zipEntry.getName();
+ if (PROCESSDEFINITION_ENTRY.equals(entryName))
+ {
+ long size = zipEntry.getSize();
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+
+ byte[] bytes = new byte[4096];
+ int len = (int)Math.min(4096, size);
+ while (len > 0)
+ {
+ int read = zip.read(bytes, 0, len);
+ baos.write(bytes, 0, read);
+
+ size = size - read;
+ len = (int)Math.min(4096, size);
+ }
+
+ pdXML = new String(baos.toByteArray());
+ }
+ else
+ {
+ zip.skip(zipEntry.getSize());
+ }
+
+ if (pdXML == null)
+ throw new IllegalStateException("Cannot obtain '" + PROCESSDEFINITION_ENTRY + "' from: " + pdURL);
+
+ return pdXML;
+ }
+}
Property changes on: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/PARDeployment.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/XMLDeployment.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/XMLDeployment.java (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/XMLDeployment.java 2008-11-28 13:54:21 UTC (rev 3147)
@@ -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.jbpm.integration.deployment;
+
+// $Id$
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.net.URL;
+
+/**
+ * An abstraction of a process deployment
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 17-Sep-2008
+ */
+public class XMLDeployment extends AbstractDeployment
+{
+ private URL pdURL;
+
+ public XMLDeployment(URL pdURL)
+ {
+ this.pdURL = pdURL;
+ }
+
+ public String getProcessDefinitionXML() throws IOException
+ {
+ StringWriter sw = new StringWriter();
+ PrintWriter pr = new PrintWriter(sw);
+
+ BufferedReader br = new BufferedReader(new InputStreamReader(pdURL.openStream()));
+ String line = br.readLine();
+ while (line != null)
+ {
+ pr.println(line);
+ line = br.readLine();
+ }
+
+ String pdXML = sw.toString();
+ return pdXML;
+ }
+}
Property changes on: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/XMLDeployment.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/DeploymentServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/DeploymentServiceImpl.java (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/DeploymentServiceImpl.java 2008-11-28 13:54:21 UTC (rev 3147)
@@ -0,0 +1,107 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.integration.service;
+
+// $Id$
+
+import java.io.IOException;
+import java.net.URL;
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.api.client.ProcessEngine;
+import org.jboss.bpm.api.deployment.Deployment;
+import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jboss.bpm.api.service.DeploymentService;
+import org.jboss.bpm.api.service.ProcessDefinitionService;
+import org.jbpm.integration.deployment.PARDeployment;
+import org.jbpm.integration.deployment.XMLDeployment;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The DeploymentService is the entry point to deploy and undeploy ProcessDefinitions.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 28-Nov-2008
+ */
+public class DeploymentServiceImpl extends DeploymentService implements MutableService
+{
+ // Provide logging
+ final Logger log = LoggerFactory.getLogger(DeploymentServiceImpl.class);
+
+ //@Override
+ public void setProcessEngine(ProcessEngine engine)
+ {
+ super.setProcessEngine(engine);
+ }
+
+ @Override
+ public Deployment createDeployment(URL depURL)
+ {
+ Deployment dep;
+ if (depURL.toExternalForm().endsWith("xml"))
+ {
+ dep = new XMLDeployment(depURL);
+ }
+ else if (depURL.toExternalForm().endsWith("par"))
+ {
+ dep = new PARDeployment(depURL);
+ }
+ else
+ {
+ throw new IllegalArgumentException("Unsupported deployment URL: " + depURL);
+ }
+ return dep;
+ }
+
+ @Override
+ public ObjectName deploy(Deployment dep)
+ {
+ try
+ {
+ String pdXML = dep.getProcessDefinitionXML();
+
+ // Parse and register the ProcessDefinition
+ ProcessDefinitionService pdService = getProcessEngine().getService(ProcessDefinitionService.class);
+ ProcessDefinition procDef = pdService.parseProcessDefinition(pdXML);
+ pdService.registerProcessDefinition(procDef);
+
+ ObjectName key = procDef.getKey();
+ dep.addAttachment(ObjectName.class, "procDefKey", key);
+
+ return key;
+ }
+ catch (IOException ex)
+ {
+ throw new IllegalStateException("Cannot deploy: dep");
+ }
+ }
+
+ @Override
+ public void undeploy(Deployment dep)
+ {
+ ObjectName key = dep.getAttachment(ObjectName.class, "procDefKey");
+ ProcessDefinitionService pdService = getProcessEngine().getService(ProcessDefinitionService.class);
+ pdService.unregisterProcessDefinition(key);
+ }
+}
Property changes on: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/DeploymentServiceImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
17 years, 5 months
JBoss JBPM SVN: r3146 - in projects/spec/trunk/modules: api/src/main/java/org/jboss/bpm/api/deployment and 34 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-11-28 08:50:24 -0500 (Fri, 28 Nov 2008)
New Revision: 3146
Added:
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/deployment/
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/deployment/Deployment.java
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/DeploymentService.java
Modified:
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/PersistenceService.java
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessBuilderService.java
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessDefinitionService.java
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessService.java
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/APITestCase.java
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/CTSTestCase.java
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageService.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessBuilderTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessServiceTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/task/waitstate/WaitStateTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/endevent/EndEventMessageTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/exclusive/ExclusiveGatewayMergeTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewayMergeTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewaySplitTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewayMergeTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewaySplitTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeInputSetTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeOutputSetTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodePropertyTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/process/ProcessPropertyTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/startevent/StartEventSignalTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/java/JavaTaskTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/receive/ReceiveTaskTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/send/SendTaskTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskCallbackTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/transaction/TxRequiredTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/multichoice/MultiChoiceTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/parallelsplit/ParallelSplitTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/sequence/SequenceTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/simplemerge/SimpleMergeTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/synchronization/SynchronizationTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/casedata/CaseDataTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/taskdata/TaskDataTest.java
projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/DialectHandlerImpl.java
projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java
projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshallerExt.java
projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/DialectHandlerImpl.java
projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java
projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/DialectHandlerImpl.java
projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java
projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/DialectHandlerImpl.java
projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java
projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/dialect/stp/sequence/SequenceTest.java
projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/service/persistence/NodePersistenceTest.java
projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java
projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java
Log:
Remove static service locators
Added: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/deployment/Deployment.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/deployment/Deployment.java (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/deployment/Deployment.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.deployment;
+
+import java.io.IOException;
+
+import org.jboss.bpm.api.runtime.Attachments;
+
+//$Id$
+
+
+/**
+ * An abstraction of a process deployment
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 28-Nov-2008
+ */
+public interface Deployment extends Attachments
+{
+ /**
+ * Get the ProcessDefinition as XML string.
+ */
+ String getProcessDefinitionXML() throws IOException;
+}
\ No newline at end of file
Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/deployment/Deployment.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/DeploymentService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/DeploymentService.java (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/DeploymentService.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.service;
+
+//$Id$
+
+import java.net.URL;
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.api.deployment.Deployment;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The DeploymentService is the entry point to deploy and undeploy ProcessDefinitions.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 28-Nov-2008
+ */
+public abstract class DeploymentService extends AbstractService
+{
+ // Provide logging
+ final static Logger log = LoggerFactory.getLogger(DeploymentService.class);
+
+ // Hide public constructor
+ protected DeploymentService()
+ {
+ }
+
+ /**
+ * Creates a deployment from a URL
+ */
+ public abstract Deployment createDeployment(URL deploymentURL);
+
+
+ /**
+ * Deploy the Deployment to the engine.
+ */
+ public abstract ObjectName deploy(Deployment dep);
+
+ /**
+ * Undeploy the Deployment from the engine.
+ */
+ public abstract void undeploy(Deployment dep);
+}
\ No newline at end of file
Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/DeploymentService.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/PersistenceService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/PersistenceService.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/PersistenceService.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -26,8 +26,6 @@
import javax.management.ObjectName;
import org.hibernate.Session;
-import org.jboss.bpm.api.client.Configuration;
-import org.jboss.bpm.api.client.ProcessEngine;
import org.jboss.bpm.api.model.Node;
import org.jboss.bpm.api.model.Process;
import org.jboss.bpm.api.model.ProcessDefinition;
@@ -41,15 +39,6 @@
public abstract class PersistenceService extends AbstractService
{
/**
- * Locate the default PersistenceService
- */
- public static PersistenceService locatePersistenceService()
- {
- ProcessEngine engine = Configuration.getProcessEngine();
- return engine.getService(PersistenceService.class);
- }
-
- /**
* Create a new persistence session
*/
public abstract Session createSession();
Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessBuilderService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessBuilderService.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessBuilderService.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -23,8 +23,6 @@
//$Id$
-import org.jboss.bpm.api.client.Configuration;
-import org.jboss.bpm.api.client.ProcessEngine;
import org.jboss.bpm.api.model.Process;
import org.jboss.bpm.api.model.builder.ProcessBuilder;
@@ -37,16 +35,6 @@
public abstract class ProcessBuilderService extends AbstractService
{
/**
- * Locate the default ProcessBuilder
- */
- public static ProcessBuilder locateProcessBuilder()
- {
- ProcessEngine engine = Configuration.getProcessEngine();
- ProcessBuilderService builderService = engine.getService(ProcessBuilderService.class);
- return builderService.getProcessBuilder();
- }
-
- /**
* Get the ProcessBuilder
*/
public abstract ProcessBuilder getProcessBuilder();
Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessDefinitionService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessDefinitionService.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessDefinitionService.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -34,8 +34,6 @@
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
-import org.jboss.bpm.api.client.Configuration;
-import org.jboss.bpm.api.client.ProcessEngine;
import org.jboss.bpm.api.model.ProcessDefinition;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -59,15 +57,6 @@
}
/**
- * Locate the default ProcessDefinitionService
- */
- public static ProcessDefinitionService locateProcessDefinitionService()
- {
- ProcessEngine engine = Configuration.getProcessEngine();
- return engine.getService(ProcessDefinitionService.class);
- }
-
- /**
* Register a ProcessDefinition.
*/
public abstract ObjectName registerProcessDefinition(ProcessDefinition procDef);
Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessService.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessService.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -27,8 +27,6 @@
import javax.management.ObjectName;
-import org.jboss.bpm.api.client.Configuration;
-import org.jboss.bpm.api.client.ProcessEngine;
import org.jboss.bpm.api.model.Process;
import org.jboss.bpm.api.model.Process.ProcessStatus;
@@ -46,15 +44,6 @@
}
/**
- * Locate the default ProcessService
- */
- public static ProcessService locateProcessService()
- {
- ProcessEngine engine = Configuration.getProcessEngine();
- return engine.getService(ProcessService.class);
- }
-
- /**
* Register a Process.
*/
public abstract ObjectName registerProcess(Process proc);
Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/APITestCase.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/APITestCase.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/APITestCase.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -30,6 +30,8 @@
import junit.framework.TestCase;
import org.jboss.bpm.api.Constants;
+import org.jboss.bpm.api.client.Configuration;
+import org.jboss.bpm.api.client.ProcessEngine;
import org.jboss.bpm.api.model.builder.ObjectNameFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -90,4 +92,9 @@
shortName = shortName.replace("MarshallerTest", "Test");
return ObjectNameFactory.create(Constants.ID_DOMAIN, "test", shortName);
}
+
+ protected ProcessEngine getProcessEngine()
+ {
+ return Configuration.getProcessEngine();
+ }
}
Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/CTSTestCase.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/CTSTestCase.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/CTSTestCase.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -35,7 +35,6 @@
import javax.management.ObjectName;
import org.jboss.bpm.api.BPMException;
-import org.jboss.bpm.api.client.Configuration;
import org.jboss.bpm.api.client.ProcessEngine;
import org.jboss.bpm.api.model.ProcessDefinition;
import org.jboss.bpm.api.service.DialectHandler;
@@ -75,11 +74,6 @@
// Unregister this process definition on tearDown
private ProcessDefinition procDef;
- protected ProcessEngine getProcessEngine()
- {
- return Configuration.getProcessEngine();
- }
-
protected ProcessDefinition unregisterOnTearDown(ProcessDefinition procDef)
{
this.procDef = procDef;
@@ -120,7 +114,7 @@
ProcessEngine engine = getProcessEngine();
// Auto unregister
- ProcessDefinitionService procDefService = ProcessDefinitionService.locateProcessDefinitionService();
+ ProcessDefinitionService procDefService = engine.getService(ProcessDefinitionService.class);
if (procDef != null)
{
procDefService.unregisterProcessDefinition(procDef.getKey());
Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageService.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageService.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -136,7 +136,7 @@
*/
public void sendMessage(ObjectName procID, String targetName, Message msg)
{
- ProcessService procService = ProcessService.locateProcessService();
+ ProcessService procService = getProcessEngine().getService(ProcessService.class);
Process proc = procService.getProcess(procID);
if (proc == null)
throw new IllegalStateException("Cannot obtain registered process: " + procID);
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -102,7 +102,8 @@
protected ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilder procBuilder = pbService.getProcessBuilder();
procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Split");
GatewayBuilder gatewayBuilder = procBuilder.addGateway("Split", GatewayType.Exclusive);
gatewayBuilder.addConditionalGate("EndA", ExpressionLanguage.MVEL, "foo < 10");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessBuilderTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessBuilderTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessBuilderTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -48,10 +48,11 @@
{
try
{
- ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
- builder.addProcess(null).addStartEvent("Start").addSequenceFlow("Task");
- builder.addTask("Task").addSequenceFlow("End").addEndEvent("End");
- builder.getProcessDefinition();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilder procBuilder = pbService.getProcessBuilder();
+ procBuilder.addProcess(null).addStartEvent("Start").addSequenceFlow("Task");
+ procBuilder.addTask("Task").addSequenceFlow("End").addEndEvent("End");
+ procBuilder.getProcessDefinition();
fail("Process name required");
}
catch (InvalidProcessException e)
@@ -62,12 +63,13 @@
public void testNoStartName() throws Exception
{
- ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilder procBuilder = pbService.getProcessBuilder();
try
{
- builder.addProcess("Proc").addStartEvent(null).addSequenceFlow("Task");
- builder.addTask("Task").addSequenceFlow("End").addEndEvent("End");
- builder.getProcessDefinition();
+ procBuilder.addProcess("Proc").addStartEvent(null).addSequenceFlow("Task");
+ procBuilder.addTask("Task").addSequenceFlow("End").addEndEvent("End");
+ procBuilder.getProcessDefinition();
fail("StartEvent name required");
}
catch (InvalidProcessException e)
@@ -78,12 +80,13 @@
public void testNoTaskName() throws Exception
{
- ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilder procBuilder = pbService.getProcessBuilder();
try
{
- builder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
- builder.addTask(null).addSequenceFlow("End").addEndEvent("End");
- builder.getProcessDefinition();
+ procBuilder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
+ procBuilder.addTask(null).addSequenceFlow("End").addEndEvent("End");
+ procBuilder.getProcessDefinition();
fail("Task name required");
}
catch (InvalidProcessException e)
@@ -94,12 +97,13 @@
public void testNoEndName() throws Exception
{
- ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilder procBuilder = pbService.getProcessBuilder();
try
{
- builder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
- builder.addTask("Task").addSequenceFlow("End").addEndEvent(null);
- builder.getProcessDefinition();
+ procBuilder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
+ procBuilder.addTask("Task").addSequenceFlow("End").addEndEvent(null);
+ procBuilder.getProcessDefinition();
fail("EndEvent name required");
}
catch (InvalidProcessException e)
@@ -110,11 +114,12 @@
public void testNoStartEvent() throws Exception
{
- ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilder procBuilder = pbService.getProcessBuilder();
try
{
- builder.addProcess("Proc").addTask("Task").addSequenceFlow("End").addEndEvent("End");
- builder.getProcessDefinition();
+ procBuilder.addProcess("Proc").addTask("Task").addSequenceFlow("End").addEndEvent("End");
+ procBuilder.getProcessDefinition();
fail("StartEvent required");
}
catch (InvalidProcessException e)
@@ -125,12 +130,13 @@
public void testNoEndEvent() throws Exception
{
- ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilder procBuilder = pbService.getProcessBuilder();
try
{
- builder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
- builder.addTask("Task");
- builder.getProcessDefinition();
+ procBuilder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
+ procBuilder.addTask("Task");
+ procBuilder.getProcessDefinition();
fail("EndEvent required");
}
catch (InvalidProcessException e)
@@ -141,12 +147,13 @@
public void testUnreachableNode() throws Exception
{
- ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilder procBuilder = pbService.getProcessBuilder();
try
{
- builder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task1");
- builder.addTask("Task1").addSequenceFlow("End").addTask("Task2").addSequenceFlow("End").addEndEvent("End");
- builder.getProcessDefinition();
+ procBuilder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task1");
+ procBuilder.addTask("Task1").addSequenceFlow("End").addTask("Task2").addSequenceFlow("End").addEndEvent("End");
+ procBuilder.getProcessDefinition();
fail("Unreachable node Task2");
}
catch (InvalidProcessException e)
@@ -157,12 +164,13 @@
public void testDeadEndNode() throws Exception
{
- ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilder procBuilder = pbService.getProcessBuilder();
try
{
- builder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
- builder.addTask("Task").addEndEvent("End");
- builder.getProcessDefinition();
+ procBuilder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
+ procBuilder.addTask("Task").addEndEvent("End");
+ procBuilder.getProcessDefinition();
fail("Dead end Task");
}
catch (InvalidProcessException e)
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessServiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessServiceTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessServiceTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -43,8 +43,8 @@
{
public void testRegisterProcess() throws Exception
{
- ProcessDefinitionService procDefService = ProcessDefinitionService.locateProcessDefinitionService();
- ProcessService procService = ProcessService.locateProcessService();
+ ProcessDefinitionService procDefService = getProcessEngine().getService(ProcessDefinitionService.class);
+ ProcessService procService = getProcessEngine().getService(ProcessService.class);
ProcessDefinition procDef = getProcessDefinition();
Process proc = procDef.newInstance();
@@ -69,8 +69,9 @@
private ProcessDefinition getProcessDefinition()
{
- ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
- builder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Task");
- return builder.addTask("Task").addSequenceFlow("End").addEndEvent("End").getProcessDefinition();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilder procBuilder = pbService.getProcessBuilder();
+ procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Task");
+ return procBuilder.addTask("Task").addSequenceFlow("End").addEndEvent("End").getProcessDefinition();
}
}
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/task/waitstate/WaitStateTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/task/waitstate/WaitStateTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/task/waitstate/WaitStateTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -77,7 +77,8 @@
protected ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilder procBuilder = pbService.getProcessBuilder();
procBuilder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("TaskA");
procBuilder.addTask("TaskA", TaskType.Wait).addSequenceFlow("TaskB");
procBuilder.addTask("TaskB", TaskType.Wait).addSequenceFlow("TaskC");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/endevent/EndEventMessageTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/endevent/EndEventMessageTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/endevent/EndEventMessageTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -63,7 +63,8 @@
public ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("EndEventMessage").addStartEvent("Start");
procBuilder.addSequenceFlow("TaskA");
procBuilder.addTaskExt("TaskA").addSequenceFlow("End");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/exclusive/ExclusiveGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/exclusive/ExclusiveGatewayMergeTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/exclusive/ExclusiveGatewayMergeTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -62,7 +62,8 @@
public ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("ExclusiveGatewayMerge").addStartEvent("Start").addSequenceFlow("Split");
procBuilder.addGateway("Split", GatewayType.Inclusive).addSequenceFlow("TaskA").addSequenceFlow("TaskB");
procBuilder.addTaskExt("TaskA").addSequenceFlow("Merge");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewayMergeTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewayMergeTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -60,7 +60,8 @@
public ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("ParallelGatewayMerge").addStartEvent("Start").addSequenceFlow("Split");
procBuilder.addGateway("Split", GatewayType.Inclusive).addSequenceFlow("TaskA").addSequenceFlow("TaskB");
procBuilder.addTaskExt("TaskA").addSequenceFlow("Merge");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewaySplitTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewaySplitTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewaySplitTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -77,7 +77,8 @@
public ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("InclusiveGatewaySplitTest").addStartEvent("Start").addSequenceFlow("Split");
GatewayBuilder gatewayBuilder = procBuilder.addGateway("Split", GatewayType.Inclusive);
gatewayBuilder.addConditionalGate("EndA", ExpressionLanguage.MVEL, "foo < 10");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewayMergeTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewayMergeTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -66,7 +66,8 @@
public ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("ParallelGatewayMerge").addStartEvent("Start").addSequenceFlow("Split");
procBuilder.addGateway("Split", GatewayType.Parallel).addSequenceFlow("TaskA").addSequenceFlow("TaskB");
procBuilder.addTaskExt("TaskA").addNodeAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskA'", "taskValueA").addSequenceFlow("Merge");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewaySplitTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewaySplitTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewaySplitTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -66,7 +66,8 @@
public ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("ParallelGatewaySplit").addStartEvent("Start").addSequenceFlow("Split");
procBuilder.addGateway("Split", GatewayType.Parallel).addSequenceFlow("EndA").addSequenceFlow("EndB");
return procBuilder.addEndEventExt("EndA").addEndEventExt("EndB").getProcessDefinition();
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeInputSetTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeInputSetTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeInputSetTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -84,7 +84,8 @@
protected ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("ActivityInputSet").addStartEvent("Start").addSequenceFlow("TaskA");
TaskBuilder taskBuilder = procBuilder.addTaskExt("TaskA");
taskBuilder.addInputSet().addPropertyInput("frog").addSequenceFlow("End");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeOutputSetTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeOutputSetTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeOutputSetTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -63,7 +63,8 @@
protected ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("ActivityInputSet").addStartEvent("Start").addSequenceFlow("TaskA");
TaskBuilder taskBuilder = procBuilder.addTaskExt("TaskA");
taskBuilder.addOutputSet().addPropertyOutput("frog", "kermit").addSequenceFlow("End");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodePropertyTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodePropertyTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodePropertyTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -64,7 +64,8 @@
protected ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("ActivityProperties").addStartEvent("Start").addSequenceFlow("TaskA");
TaskBuilder taskBuilder = procBuilder.addTaskExt("TaskA");
taskBuilder.addNodeProperty("foo", "bar").addSequenceFlow("End");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/process/ProcessPropertyTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/process/ProcessPropertyTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/process/ProcessPropertyTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -69,7 +69,8 @@
protected ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("ProcessProperties").addStartEvent("Start").addSequenceFlow("TaskA");
procBuilder.addProcessAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "ProcessProperties_foo", "propValue");
procBuilder.addProcessProperty("foo", "bar");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/startevent/StartEventSignalTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/startevent/StartEventSignalTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/startevent/StartEventSignalTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -60,7 +60,7 @@
ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
// You need to register the process definition to activate the start trigger
- ProcessDefinitionService procDefService = ProcessDefinitionService.locateProcessDefinitionService();
+ ProcessDefinitionService procDefService = getProcessEngine().getService(ProcessDefinitionService.class);
procDefService.registerProcessDefinition(procDef);
ObjectName procDefID = procDef.getKey();
@@ -80,7 +80,7 @@
sigService.throwSignal(newSignal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Get the just started process
- ProcessService procService = ProcessService.locateProcessService();
+ ProcessService procService = getProcessEngine().getService(ProcessService.class);
Set<ObjectName> procIDs = procService.getProcesses(procDefID, null);
proc = (ProcessExt) procService.getProcess(procIDs.iterator().next());
@@ -95,7 +95,8 @@
public ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("StartEventSignal");
EventBuilder eventBuilder = procBuilder.addStartEventExt("StartA", EventDetailType.Signal);
eventBuilder.addSignalRef(SignalType.SYSTEM_START_TRIGGER, "A");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/java/JavaTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/java/JavaTaskTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/java/JavaTaskTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -62,7 +62,8 @@
protected ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("TaskExecutionHandlerTest");
procBuilder.addProcessProperty("procProp", "kermit");
procBuilder.addProcessAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "TaskExecutionHandlerTest_procProp == 'kermit'", "procAssign");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/receive/ReceiveTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/receive/ReceiveTaskTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/receive/ReceiveTaskTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -57,7 +57,8 @@
{
public void testReceiveTaskWithNoMessage() throws Exception
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("ReceiveTaskTest").addStartEvent("Start").addSequenceFlow("TaskA");
procBuilder.addTaskExt("TaskA", TaskType.Receive).addSequenceFlow("End").addEndEvent("End");
try
@@ -90,8 +91,8 @@
public void testSuspendedMessage() throws Exception
{
- ProcessDefinitionService procDefService = ProcessDefinitionService.locateProcessDefinitionService();
- ProcessService procService = ProcessService.locateProcessService();
+ ProcessDefinitionService procDefService = getProcessEngine().getService(ProcessDefinitionService.class);
+ ProcessService procService = getProcessEngine().getService(ProcessService.class);
ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
ProcessExt proc = (ProcessExt)procDef.newInstance();
@@ -167,7 +168,8 @@
protected ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("ReceiveTaskTest");
procBuilder.addProcessMessage("ReceiveTaskMessage").addProperty("foo", null, true);
procBuilder.addProcessMessage("EndEventMessage").addToRef(getTestID()).addProperty("foo", null, true);
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/send/SendTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/send/SendTaskTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/send/SendTaskTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -62,7 +62,8 @@
public void testSendTaskWithNoMessage() throws Exception
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("SendTaskTest").addStartEvent("Start").addSequenceFlow("TaskA");
procBuilder.addTaskExt("TaskA", TaskType.Send).addSequenceFlow("End").addEndEvent("End");
try
@@ -78,7 +79,8 @@
protected ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("SendTaskTest");
MessageBuilder msgBuilder = procBuilder.addProcessMessage("SendTaskMessage");
msgBuilder.addToRef(getTestID()).addProperty("foo", null, true);
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskCallbackTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskCallbackTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskCallbackTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -68,7 +68,8 @@
protected ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("UserTaskTest");
procBuilder.addProcessMessage("OutMessage").addProperty("foo", null, true);
procBuilder.addProcessMessage("InMessage").addProperty("bar", null, true);
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -33,8 +33,10 @@
import org.jboss.bpm.api.model.Event.EventDetailType;
import org.jboss.bpm.api.model.Task.TaskType;
import org.jboss.bpm.api.model.builder.ObjectNameFactory;
+import org.jboss.bpm.api.model.builder.ProcessBuilder;
import org.jboss.bpm.api.runtime.BasicAttachments;
import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.service.ProcessDefinitionService;
import org.jboss.bpm.api.service.ProcessService;
import org.jboss.bpm.api.test.CTSTestCase;
import org.jboss.bpm.incubator.client.MessageListener;
@@ -61,7 +63,7 @@
ProcessExt proc = (ProcessExt)procDef.newInstance();
// Register the process - this assigns the procID
- ProcessService procService = ProcessService.locateProcessService();
+ ProcessService procService = getProcessEngine().getService(ProcessService.class);
procService.registerProcess(proc);
// Add the user message listener
@@ -87,7 +89,8 @@
protected ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("UserTaskTest");
procBuilder.addProcessMessage("OutMessage").addToRef(MSG_LISTENER_ID).addProperty("foo", null, true);
procBuilder.addProcessMessage("InMessage").addProperty("bar", null, true);
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/transaction/TxRequiredTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/transaction/TxRequiredTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/transaction/TxRequiredTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -92,7 +92,8 @@
protected ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("RequiresTxTest");
procBuilder.addStartEvent("Start").addSequenceFlow("TaskA");
procBuilder.addTaskExt("TaskA", TaskType.Send).addOutMessageRef("TaskAMessage").addGroupRef("TxRequired").addSequenceFlow("TaskB");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -97,7 +97,8 @@
public ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Split");
GatewayBuilder gatewayBuilder = procBuilder.addGateway("Split", Gateway.GatewayType.Exclusive);
gatewayBuilder.addConditionalGate("EndA", ExpressionLanguage.MVEL, "foo < 10");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/multichoice/MultiChoiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/multichoice/MultiChoiceTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/multichoice/MultiChoiceTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -77,7 +77,8 @@
public ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("MultiChoiceTest").addStartEvent("Start").addSequenceFlow("Split");
GatewayBuilder gatewayBuilder = procBuilder.addGateway("Split", Gateway.GatewayType.Inclusive);
gatewayBuilder.addConditionalGate("EndA", ExpressionLanguage.MVEL, "foo < 10");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/parallelsplit/ParallelSplitTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/parallelsplit/ParallelSplitTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/parallelsplit/ParallelSplitTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -66,7 +66,8 @@
public ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Split").addGateway("Split", Gateway.GatewayType.Parallel).
addSequenceFlow("EndA").addSequenceFlow("EndB").addEndEvent("EndA").addEndEvent("EndB");
return procBuilder.getProcessDefinition();
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/sequence/SequenceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/sequence/SequenceTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/sequence/SequenceTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -66,9 +66,10 @@
public ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt builder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
- builder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
- builder.addTaskExt("Task").addSequenceFlow("End").addEndEvent("End");
- return builder.getProcessDefinition();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
+ procBuilder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
+ procBuilder.addTaskExt("Task").addSequenceFlow("End").addEndEvent("End");
+ return procBuilder.getProcessDefinition();
}
}
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/simplemerge/SimpleMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/simplemerge/SimpleMergeTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/simplemerge/SimpleMergeTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -60,7 +60,8 @@
public ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("ParallelGatewayMerge").addStartEvent("Start").addSequenceFlow("Split");
procBuilder.addGateway("Split", GatewayType.Inclusive).addSequenceFlow("TaskA").addSequenceFlow("TaskB");
procBuilder.addTaskExt("TaskA").addSequenceFlow("Merge");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/synchronization/SynchronizationTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/synchronization/SynchronizationTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/synchronization/SynchronizationTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -66,7 +66,8 @@
public ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("ParallelGatewayMerge").addStartEvent("Start").addSequenceFlow("Split");
procBuilder.addGateway("Split", GatewayType.Parallel).addSequenceFlow("TaskA").addSequenceFlow("TaskB");
procBuilder.addTaskExt("TaskA").addNodeAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskA'", "taskValueA").addSequenceFlow("Merge");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/casedata/CaseDataTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/casedata/CaseDataTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/casedata/CaseDataTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -62,7 +62,8 @@
protected ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("CaseData");
procBuilder.addProcessAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "CaseData_foo", "propValue");
procBuilder.addProcessProperty("foo", "bar").addStartEvent("Start").addSequenceFlow("TaskA");
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/taskdata/TaskDataTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/taskdata/TaskDataTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/taskdata/TaskDataTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -63,7 +63,8 @@
protected ProcessDefinition getProcessDefinition() throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess("TaskData").addStartEvent("Start").addSequenceFlow("TaskA");
TaskBuilder taskBuilder = procBuilder.addTaskExt("TaskA");
taskBuilder.addNodeProperty("foo", "bar").addSequenceFlow("End");
Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/DialectHandlerImpl.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/DialectHandlerImpl.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/DialectHandlerImpl.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -56,7 +56,7 @@
try
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
- ProcessDefinition procDef = unmarschaller.unmarshallProcess(new StringReader(pXML));
+ ProcessDefinition procDef = unmarschaller.unmarshallProcess(getProcessEngine(), new StringReader(pXML));
return procDef;
}
catch (JAXBException ex)
@@ -75,7 +75,7 @@
try
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
- ProcessDefinition procDef = unmarschaller.unmarshallProcess(new InputStreamReader(pURL.openStream()));
+ ProcessDefinition procDef = unmarschaller.unmarshallProcess(getProcessEngine(), new InputStreamReader(pURL.openStream()));
return procDef;
}
catch (JAXBException ex)
Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -31,6 +31,7 @@
import javax.xml.bind.Unmarshaller;
import org.jboss.bpm.api.NotImplementedException;
+import org.jboss.bpm.api.client.ProcessEngine;
import org.jboss.bpm.api.model.Gateway;
import org.jboss.bpm.api.model.ProcessDefinition;
import org.jboss.bpm.api.model.SequenceFlow.ConditionType;
@@ -78,19 +79,20 @@
// Provide logging
private static final Logger log = LoggerFactory.getLogger(ProcessUnmarshaller.class);
- public ProcessDefinition unmarshallProcess(Reader xml) throws JAXBException, IOException
+ public ProcessDefinition unmarshallProcess(ProcessEngine engine, Reader xml) throws JAXBException, IOException
{
JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
unmarshaller.setProperty("com.sun.xml.bind.ObjectFactory", new ObjectFactory());
JAXBProcess jaxbProc = (JAXBProcess)unmarshaller.unmarshal(xml);
- ProcessDefinition procDef = adaptProcess(jaxbProc);
+ ProcessDefinition procDef = adaptProcess(engine, jaxbProc);
return procDef;
}
- private ProcessDefinition adaptProcess(JAXBProcess jaxbProc) throws IOException
+ private ProcessDefinition adaptProcess(ProcessEngine engine, JAXBProcess jaxbProc) throws IOException
{
- ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = engine.getService(ProcessBuilderService.class);
+ ProcessBuilder procBuilder = pbService.getProcessBuilder();
procBuilder.addProcess(jaxbProc.getName());
// Process Nodes
Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshallerExt.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshallerExt.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshallerExt.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -32,6 +32,7 @@
import javax.xml.bind.Unmarshaller;
import org.jboss.bpm.api.NotImplementedException;
+import org.jboss.bpm.api.client.ProcessEngine;
import org.jboss.bpm.api.model.Gateway;
import org.jboss.bpm.api.model.ProcessDefinition;
import org.jboss.bpm.api.model.SequenceFlow.ConditionType;
@@ -92,19 +93,20 @@
*/
public class ProcessUnmarshallerExt
{
- public ProcessDefinition unmarshallProcess(Reader xml) throws JAXBException, IOException
+ public ProcessDefinition unmarshallProcess(ProcessEngine engine, Reader xml) throws JAXBException, IOException
{
JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
unmarshaller.setProperty("com.sun.xml.bind.ObjectFactory", new ObjectFactory());
JAXBProcess jaxbProc = (JAXBProcess)unmarshaller.unmarshal(xml);
- ProcessDefinition procDef = adaptProcess(jaxbProc);
+ ProcessDefinition procDef = adaptProcess(engine, jaxbProc);
return procDef;
}
- private ProcessDefinition adaptProcess(JAXBProcess jaxbProc) throws IOException
+ private ProcessDefinition adaptProcess(ProcessEngine engine, JAXBProcess jaxbProc) throws IOException
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = engine.getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess(jaxbProc.getName());
// Process Messages
Modified: projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/DialectHandlerImpl.java
===================================================================
--- projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/DialectHandlerImpl.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/DialectHandlerImpl.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -61,7 +61,7 @@
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
JPDL32ProcessDefinition jaxbProc = unmarschaller.unmarshallProcess(new StringReader(pXML));
- ProcessDefinition proc = new ProcessDefinitionAdapter().adaptProcessDefinition(jaxbProc);
+ ProcessDefinition proc = new ProcessDefinitionAdapter().adaptProcessDefinition(getProcessEngine(), jaxbProc);
return proc;
}
catch (JAXBException ex)
@@ -77,7 +77,7 @@
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
JPDL32ProcessDefinition jaxbProc = unmarschaller.unmarshallProcess(new InputStreamReader(pURL.openStream()));
- ProcessDefinition proc = new ProcessDefinitionAdapter().adaptProcessDefinition(jaxbProc);
+ ProcessDefinition proc = new ProcessDefinitionAdapter().adaptProcessDefinition(getProcessEngine(), jaxbProc);
return proc;
}
catch (JAXBException ex)
Modified: projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java
===================================================================
--- projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -26,6 +26,7 @@
import java.util.List;
import org.jboss.bpm.api.InvalidProcessException;
+import org.jboss.bpm.api.client.ProcessEngine;
import org.jboss.bpm.api.model.Gateway;
import org.jboss.bpm.api.model.ProcessDefinition;
import org.jboss.bpm.api.model.Task;
@@ -49,9 +50,10 @@
*/
public class ProcessDefinitionAdapter
{
- public ProcessDefinition adaptProcessDefinition(JPDL32ProcessDefinition jpdlProcDef)
+ public ProcessDefinition adaptProcessDefinition(ProcessEngine engine, JPDL32ProcessDefinition jpdlProcDef)
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = engine.getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess(jpdlProcDef.getName());
for (Object jpdlObj : jpdlProcDef.getDescriptionOrSwimlaneOrStartState())
Modified: projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/DialectHandlerImpl.java
===================================================================
--- projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/DialectHandlerImpl.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/DialectHandlerImpl.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -58,7 +58,7 @@
try
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
- ProcessDefinition procDef = unmarschaller.unmarshallProcess(new ByteArrayInputStream(pXML.getBytes()));
+ ProcessDefinition procDef = unmarschaller.unmarshallProcess(getProcessEngine(), new ByteArrayInputStream(pXML.getBytes()));
return procDef;
}
catch (JAXBException ex)
@@ -73,7 +73,7 @@
try
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
- ProcessDefinition procDef = unmarschaller.unmarshallProcess(pURL.openStream());
+ ProcessDefinition procDef = unmarschaller.unmarshallProcess(getProcessEngine(), pURL.openStream());
return procDef;
}
catch (JAXBException ex)
Modified: projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java
===================================================================
--- projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -36,6 +36,7 @@
import javax.xml.parsers.DocumentBuilderFactory;
import org.jboss.bpm.api.InvalidProcessException;
+import org.jboss.bpm.api.client.ProcessEngine;
import org.jboss.bpm.api.model.Gateway;
import org.jboss.bpm.api.model.ProcessDefinition;
import org.jboss.bpm.api.model.Task;
@@ -66,7 +67,7 @@
private List<Activity> activities = new ArrayList<Activity>();
@SuppressWarnings("unchecked")
- public ProcessDefinition unmarshallProcess(InputStream xml) throws JAXBException
+ public ProcessDefinition unmarshallProcess(ProcessEngine engine, InputStream xml) throws JAXBException
{
JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
@@ -90,7 +91,7 @@
Element root = doc.getDocumentElement();
diagram = unmarshaller.unmarshal(root, BpmnDiagram.class).getValue();
- ProcessBuilderExt procBuilder = adaptDiagram(diagram);
+ ProcessBuilderExt procBuilder = adaptDiagram(engine, diagram);
// Initialize the list of sequence edges
Element poolEl = (Element)DOMUtils.getChildElements(root, "pools").next();
@@ -137,7 +138,7 @@
return procDef;
}
- private ProcessBuilderExt adaptDiagram(BpmnDiagram bpmnDiagram)
+ private ProcessBuilderExt adaptDiagram(ProcessEngine engine, BpmnDiagram bpmnDiagram)
{
List<Pool> stpPools = bpmnDiagram.getPools();
if (stpPools == null || stpPools.size() == 0)
@@ -146,7 +147,8 @@
throw new IllegalStateException("Multiple Pools not supported");
Pool stpPool = stpPools.get(0);
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = engine.getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess(stpPool.getId());
return procBuilder;
Modified: projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/DialectHandlerImpl.java
===================================================================
--- projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/DialectHandlerImpl.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/DialectHandlerImpl.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -60,7 +60,7 @@
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
XPDLWorkflowProcess jaxbProc = unmarschaller.unmarshallProcess(new StringReader(pXML));
- ProcessDefinition proc = new WorkflowProcessAdapter().adaptWorkflowProcess(jaxbProc);
+ ProcessDefinition proc = new WorkflowProcessAdapter().adaptWorkflowProcess(getProcessEngine(), jaxbProc);
return proc;
}
catch (JAXBException ex)
@@ -76,7 +76,7 @@
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
XPDLWorkflowProcess jaxbProc = unmarschaller.unmarshallProcess(new InputStreamReader(pURL.openStream()));
- ProcessDefinition proc = new WorkflowProcessAdapter().adaptWorkflowProcess(jaxbProc);
+ ProcessDefinition proc = new WorkflowProcessAdapter().adaptWorkflowProcess(getProcessEngine(), jaxbProc);
return proc;
}
catch (JAXBException ex)
Modified: projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java
===================================================================
--- projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -24,6 +24,7 @@
// $Id$
import org.jboss.bpm.api.InvalidProcessException;
+import org.jboss.bpm.api.client.ProcessEngine;
import org.jboss.bpm.api.model.ProcessDefinition;
import org.jboss.bpm.api.service.ProcessBuilderService;
import org.jboss.bpm.dialect.xpdl21.model.XPDLActivities;
@@ -40,9 +41,10 @@
*/
public class WorkflowProcessAdapter
{
- public ProcessDefinition adaptWorkflowProcess(XPDLWorkflowProcess xpdlProc)
+ public ProcessDefinition adaptWorkflowProcess(ProcessEngine engine, XPDLWorkflowProcess xpdlProc)
{
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessBuilderService pbService = engine.getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess(xpdlProc.getName());
XPDLActivities xpdlActivities = xpdlProc.getActivities();
Modified: projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/dialect/stp/sequence/SequenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/dialect/stp/sequence/SequenceTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/dialect/stp/sequence/SequenceTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -44,7 +44,7 @@
{
URL procURL = getResourceURL("dialect/stp/sequence/basic-sequence.bpmn");
- ProcessDefinitionService pdService = ProcessDefinitionService.locateProcessDefinitionService();
+ ProcessDefinitionService pdService = getProcessEngine().getService(ProcessDefinitionService.class);
ProcessDefinition procDef = pdService.parseProcessDefinition(procURL);
assertNotNull(procDef);
Modified: projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/service/persistence/NodePersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/service/persistence/NodePersistenceTest.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/service/persistence/NodePersistenceTest.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -46,7 +46,7 @@
protected void setUp() throws Exception
{
super.setUp();
- service = (HibernatePersistenceServiceImpl)PersistenceService.locatePersistenceService();
+ service = (HibernatePersistenceServiceImpl)getProcessEngine().getService(PersistenceService.class);
session = service.createSession();
}
Modified: projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java
===================================================================
--- projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -25,6 +25,8 @@
import javax.management.ObjectName;
+import org.jboss.bpm.api.client.Configuration;
+import org.jboss.bpm.api.client.ProcessEngine;
import org.jboss.bpm.api.model.Expression;
import org.jboss.bpm.api.model.ProcessDefinition;
import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
@@ -94,7 +96,9 @@
public ProcessDefinition buildProcessDefinition()
{
// Create a Process through the ProcessBuilder
- ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+ ProcessEngine engine = Configuration.getProcessEngine();
+ ProcessBuilderService pbService = engine.getService(ProcessBuilderService.class);
+ ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
procBuilder.addProcess(PROCESS_NAME);
// Add Start Event
Modified: projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java
===================================================================
--- projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java 2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java 2008-11-28 13:50:24 UTC (rev 3146)
@@ -6,6 +6,8 @@
import javax.management.ObjectName;
import javax.servlet.http.HttpSession;
+import org.jboss.bpm.api.client.Configuration;
+import org.jboss.bpm.api.client.ProcessEngine;
import org.jboss.bpm.api.model.ProcessDefinition;
import org.jboss.bpm.api.model.builder.ObjectNameFactory;
import org.jboss.bpm.api.service.ProcessService;
@@ -37,7 +39,8 @@
public void sendMessage(GwtMessage gwtMsg)
{
- ProcessService procService = ProcessService.locateProcessService();
+ ProcessEngine engine = Configuration.getProcessEngine();
+ ProcessService procService = engine.getService(ProcessService.class);
MessageService mm = MessageService.locateMessageService();
SignalService sm = SignalService.locateSignalService();
17 years, 5 months
JBoss JBPM SVN: r3145 - projects/gwt-console/trunk/server/src/main/resources.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-11-28 08:22:03 -0500 (Fri, 28 Nov 2008)
New Revision: 3145
Added:
projects/gwt-console/trunk/server/src/main/resources/process_activity.rptdesign
Log:
Working draft for the process analysis
Added: projects/gwt-console/trunk/server/src/main/resources/process_activity.rptdesign
===================================================================
--- projects/gwt-console/trunk/server/src/main/resources/process_activity.rptdesign (rev 0)
+++ projects/gwt-console/trunk/server/src/main/resources/process_activity.rptdesign 2008-11-28 13:22:03 UTC (rev 3145)
@@ -0,0 +1,4570 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.15" id="1">
+ <property name="createdBy">Eclipse BIRT Designer Version 2.2.2.r222_v20071226 Build <2.2.2.v20080226-1155></property>
+ <property name="units">in</property>
+ <property name="comments">Copyright (c) 2007 <<Your Company Name here>></property>
+ <html-property name="description">Creates a blank report with no predefined content.</html-property>
+ <text-property name="displayName">Blank Report</text-property>
+ <property name="iconFile">/templates/blank_report.gif</property>
+ <property name="layoutPreference">fixed layout</property>
+ <data-sources>
+ <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="MySQL Local" id="6">
+ <property name="odaDriverClass">com.mysql.jdbc.Driver</property>
+ <property name="odaURL">jdbc:mysql://localhost:3306/jbpmtest</property>
+ <property name="odaUser">jbpmtest</property>
+ </oda-data-source>
+ <script-data-source name="ScriptedDS" id="51"/>
+ </data-sources>
+ <data-sets>
+ <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="AverageExecTime" id="7">
+ <list-property name="computedColumns">
+ <structure>
+ <property name="name">execSeconds</property>
+ <expression name="expression">DateTimeSpan.seconds(row["startDate"],row["endDate"])</expression>
+ <property name="dataType">integer</property>
+ </structure>
+ <structure>
+ <property name="name">q3</property>
+ <expression name="expression">row["execSeconds"]</expression>
+ <property name="dataType">any</property>
+ <property name="aggregateFunction">QUARTILE</property>
+ <list-property name="arguments">
+ <structure>
+ <property name="name">QUARTILE</property>
+ <expression name="value">3</expression>
+ </structure>
+ </list-property>
+ </structure>
+ </list-property>
+ <list-property name="columnHints">
+ <structure>
+ <property name="columnName">startDate</property>
+ <property name="displayName">startDate</property>
+ </structure>
+ <structure>
+ <property name="columnName">endDate</property>
+ <property name="displayName">endDate</property>
+ </structure>
+ <structure>
+ <property name="columnName">TOKEN_</property>
+ <property name="displayName">TOKEN_</property>
+ </structure>
+ <structure>
+ <property name="columnName">instanceID</property>
+ <property name="displayName">instanceID</property>
+ </structure>
+ <structure>
+ <property name="columnName">NAME_</property>
+ <property name="displayName">NAME_</property>
+ </structure>
+ </list-property>
+ <structure name="cachedMetaData">
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">startDate</property>
+ <property name="dataType">date-time</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">endDate</property>
+ <property name="dataType">date-time</property>
+ </structure>
+ <structure>
+ <property name="position">3</property>
+ <property name="name">TOKEN_</property>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="position">4</property>
+ <property name="name">instanceID</property>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="position">5</property>
+ <property name="name">NAME_</property>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="position">6</property>
+ <property name="name">execSeconds</property>
+ <property name="dataType">integer</property>
+ </structure>
+ <structure>
+ <property name="position">7</property>
+ <property name="name">q3</property>
+ <property name="dataType">any</property>
+ </structure>
+ </list-property>
+ </structure>
+ <property name="dataSource">MySQL Local</property>
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">startDate</property>
+ <property name="nativeName">startDate</property>
+ <property name="dataType">date-time</property>
+ <property name="nativeDataType">93</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">endDate</property>
+ <property name="nativeName">endDate</property>
+ <property name="dataType">date-time</property>
+ <property name="nativeDataType">93</property>
+ </structure>
+ <structure>
+ <property name="position">3</property>
+ <property name="name">TOKEN_</property>
+ <property name="nativeName">TOKEN_</property>
+ <property name="dataType">decimal</property>
+ <property name="nativeDataType">-5</property>
+ </structure>
+ <structure>
+ <property name="position">4</property>
+ <property name="name">instanceID</property>
+ <property name="nativeName">instanceID</property>
+ <property name="dataType">decimal</property>
+ <property name="nativeDataType">-5</property>
+ </structure>
+ <structure>
+ <property name="position">5</property>
+ <property name="name">NAME_</property>
+ <property name="nativeName">NAME_</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ </list-property>
+ <property name="queryText">SELECT l1.DATE_ as startDate, l2.DATE_ as endDate,
+l1.TOKEN_, i.ID_ as instanceID, p.NAME_
+ FROM JBPM_LOG l1, JBPM_LOG l2, JBPM_TOKEN t, JBPM_PROCESSINSTANCE i, JBPM_PROCESSDEFINITION p
+WHERE (l1.CLASS_='I' AND l2.CLASS_='X')
+AND (l1.TOKEN_=l2.TOKEN_)
+AND t.ID_=l1.TOKEN_
+AND t.PROCESSINSTANCE_=i.ID_
+AND i.PROCESSDEFINITION_=p.ID_
+GROUP BY instanceId
+ORDER BY l1.DATE_ ASC, l1.TOKEN_</property>
+ </oda-data-set>
+ <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="ProcessActivity" id="53">
+ <list-property name="columnHints">
+ <structure>
+ <property name="columnName">numberExec</property>
+ <property name="displayName">numberExec</property>
+ </structure>
+ <structure>
+ <property name="columnName">NAME_</property>
+ <property name="displayName">NAME_</property>
+ </structure>
+ </list-property>
+ <structure name="cachedMetaData">
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">numberExec</property>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">NAME_</property>
+ <property name="dataType">string</property>
+ </structure>
+ </list-property>
+ </structure>
+ <property name="dataSource">MySQL Local</property>
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">numberExec</property>
+ <property name="nativeName">numberExec</property>
+ <property name="dataType">decimal</property>
+ <property name="nativeDataType">-5</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">NAME_</property>
+ <property name="nativeName">NAME_</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ </list-property>
+ <property name="queryText">SELECT count(i.ID_) as numberExec, p.NAME_
+ FROM JBPM_LOG l1, JBPM_LOG l2, JBPM_TOKEN t, JBPM_PROCESSINSTANCE i, JBPM_PROCESSDEFINITION p
+WHERE (l1.CLASS_='I' AND l2.CLASS_='X')
+AND (l1.TOKEN_=l2.TOKEN_)
+AND t.ID_=l1.TOKEN_
+AND t.PROCESSINSTANCE_=i.ID_
+AND i.PROCESSDEFINITION_=p.ID_
+GROUP BY NAME_
+ORDER BY numberExec ASC LIMIT 15</property>
+ </oda-data-set>
+ <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="NumberOfAssignments" id="67">
+ <list-property name="columnHints">
+ <structure>
+ <property name="columnName">count(TASKINSTANCE_)</property>
+ <property name="displayName">count(TASKINSTANCE_)</property>
+ </structure>
+ <structure>
+ <property name="columnName">TASKACTORID_</property>
+ <property name="displayName">TASKACTORID_</property>
+ </structure>
+ </list-property>
+ <structure name="cachedMetaData">
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">count(TASKINSTANCE_)</property>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">TASKACTORID_</property>
+ <property name="dataType">string</property>
+ </structure>
+ </list-property>
+ </structure>
+ <property name="dataSource">MySQL Local</property>
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">count(TASKINSTANCE_)</property>
+ <property name="nativeName">count(TASKINSTANCE_)</property>
+ <property name="dataType">decimal</property>
+ <property name="nativeDataType">-5</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">TASKACTORID_</property>
+ <property name="nativeName">TASKACTORID_</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ </list-property>
+ <property name="queryText">select count(TASKINSTANCE_), TASKACTORID_ from JBPM_LOG where CLASS_='2'
+GROUP BY TASKACTORID_</property>
+ <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
+ <Version>1.0</Version>
+ <design:ResultSets derivedMetaData="true">
+ <design:resultSetDefinitions>
+ <design:resultSetColumns>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:name>count(TASKINSTANCE_)</design:name>
+ <design:position>1</design:position>
+ <design:nativeDataTypeCode>-5</design:nativeDataTypeCode>
+ <design:precision>21</design:precision>
+ <design:scale>0</design:scale>
+ <design:nullability>NotNullable</design:nullability>
+ <design:uiHints>
+ <design:displayName>count(TASKINSTANCE_)</design:displayName>
+ </design:uiHints>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>count(TASKINSTANCE_)</design:label>
+ <design:formattingHints>
+ <design:displaySize>21</design:displaySize>
+ </design:formattingHints>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:name>TASKACTORID_</design:name>
+ <design:position>2</design:position>
+ <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
+ <design:precision>255</design:precision>
+ <design:scale>0</design:scale>
+ <design:nullability>Nullable</design:nullability>
+ <design:uiHints>
+ <design:displayName>TASKACTORID_</design:displayName>
+ </design:uiHints>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>TASKACTORID_</design:label>
+ <design:formattingHints>
+ <design:displaySize>255</design:displaySize>
+ </design:formattingHints>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
+ </design:resultSetColumns>
+ </design:resultSetDefinitions>
+ </design:ResultSets>
+</model:DesignValues>]]></xml-property>
+ </oda-data-set>
+ <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="RunningInstances" id="90">
+ <list-property name="columnHints">
+ <structure>
+ <property name="columnName">total</property>
+ <property name="displayName">total</property>
+ </structure>
+ </list-property>
+ <structure name="cachedMetaData">
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">total</property>
+ <property name="dataType">decimal</property>
+ </structure>
+ </list-property>
+ </structure>
+ <property name="dataSource">MySQL Local</property>
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">total</property>
+ <property name="nativeName">total</property>
+ <property name="dataType">decimal</property>
+ <property name="nativeDataType">-5</property>
+ </structure>
+ </list-property>
+ <property name="queryText">SELECT count(ID_) as total
+ FROM JBPM_PROCESSINSTANCE i
+WHERE i.END_ IS NULL</property>
+ </oda-data-set>
+ <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="TotalDefinitions" id="171">
+ <list-property name="columnHints">
+ <structure>
+ <property name="columnName">count(ID_)</property>
+ <property name="displayName">count(ID_)</property>
+ </structure>
+ </list-property>
+ <structure name="cachedMetaData">
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">count(ID_)</property>
+ <property name="dataType">decimal</property>
+ </structure>
+ </list-property>
+ </structure>
+ <property name="dataSource">MySQL Local</property>
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">count(ID_)</property>
+ <property name="nativeName">count(ID_)</property>
+ <property name="dataType">decimal</property>
+ <property name="nativeDataType">-5</property>
+ </structure>
+ </list-property>
+ <property name="queryText">Select count(ID_) from JBPM_PROCESSDEFINITION</property>
+ <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
+ <Version>1.0</Version>
+ <design:ResultSets derivedMetaData="true">
+ <design:resultSetDefinitions>
+ <design:resultSetColumns>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:name>count(ID_)</design:name>
+ <design:position>1</design:position>
+ <design:nativeDataTypeCode>-5</design:nativeDataTypeCode>
+ <design:precision>21</design:precision>
+ <design:scale>0</design:scale>
+ <design:nullability>NotNullable</design:nullability>
+ <design:uiHints>
+ <design:displayName>count(ID_)</design:displayName>
+ </design:uiHints>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>count(ID_)</design:label>
+ <design:formattingHints>
+ <design:displaySize>21</design:displaySize>
+ </design:formattingHints>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
+ </design:resultSetColumns>
+ </design:resultSetDefinitions>
+ </design:ResultSets>
+</model:DesignValues>]]></xml-property>
+ </oda-data-set>
+ <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="CompletedInstances" id="190">
+ <list-property name="columnHints">
+ <structure>
+ <property name="columnName">total</property>
+ <property name="displayName">total</property>
+ </structure>
+ </list-property>
+ <structure name="cachedMetaData">
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">total</property>
+ <property name="dataType">decimal</property>
+ </structure>
+ </list-property>
+ </structure>
+ <property name="dataSource">MySQL Local</property>
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">total</property>
+ <property name="nativeName">total</property>
+ <property name="dataType">decimal</property>
+ <property name="nativeDataType">-5</property>
+ </structure>
+ </list-property>
+ <property name="queryText">SELECT count(ID_) as total
+ FROM JBPM_PROCESSINSTANCE i
+WHERE i.END_ IS NOT NULL</property>
+ <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
+ <Version>1.0</Version>
+ <design:ResultSets derivedMetaData="true">
+ <design:resultSetDefinitions>
+ <design:resultSetColumns>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:name>total</design:name>
+ <design:position>1</design:position>
+ <design:nativeDataTypeCode>-5</design:nativeDataTypeCode>
+ <design:precision>21</design:precision>
+ <design:scale>0</design:scale>
+ <design:nullability>NotNullable</design:nullability>
+ <design:uiHints>
+ <design:displayName>total</design:displayName>
+ </design:uiHints>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>total</design:label>
+ <design:formattingHints>
+ <design:displaySize>21</design:displaySize>
+ </design:formattingHints>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
+ </design:resultSetColumns>
+ </design:resultSetDefinitions>
+ </design:ResultSets>
+</model:DesignValues>]]></xml-property>
+ </oda-data-set>
+ <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="ProcessDefinitions" id="224">
+ <list-property name="columnHints">
+ <structure>
+ <property name="columnName">ID_</property>
+ <property name="displayName">ID_</property>
+ </structure>
+ <structure>
+ <property name="columnName">NAME_</property>
+ <property name="displayName">NAME_</property>
+ </structure>
+ </list-property>
+ <structure name="cachedMetaData">
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">ID_</property>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">NAME_</property>
+ <property name="dataType">string</property>
+ </structure>
+ </list-property>
+ </structure>
+ <property name="dataSource">MySQL Local</property>
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">ID_</property>
+ <property name="nativeName">ID_</property>
+ <property name="dataType">decimal</property>
+ <property name="nativeDataType">-5</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">NAME_</property>
+ <property name="nativeName">NAME_</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ </list-property>
+ <property name="queryText">select ID_, NAME_
+from JBPM_PROCESSDEFINITION
+</property>
+ </oda-data-set>
+ <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="QuantilTest" id="228">
+ <list-property name="computedColumns">
+ <structure>
+ <property name="name">exec</property>
+ <expression name="expression">DateTimeSpan.seconds(row["startDate"],row["endDate"])</expression>
+ <property name="dataType">any</property>
+ </structure>
+ <structure>
+ <property name="name">q3</property>
+ <expression name="expression">row["exec"]</expression>
+ <property name="dataType">any</property>
+ <property name="aggregateFunction">QUARTILE</property>
+ <list-property name="arguments">
+ <structure>
+ <property name="name">QUARTILE</property>
+ <expression name="value">3</expression>
+ </structure>
+ </list-property>
+ </structure>
+ </list-property>
+ <list-property name="columnHints">
+ <structure>
+ <property name="columnName">startDate</property>
+ <property name="displayName">startDate</property>
+ </structure>
+ <structure>
+ <property name="columnName">endDate</property>
+ <property name="displayName">endDate</property>
+ </structure>
+ <structure>
+ <property name="columnName">TOKEN_</property>
+ <property name="displayName">TOKEN_</property>
+ </structure>
+ <structure>
+ <property name="columnName">instanceID</property>
+ <property name="displayName">instanceID</property>
+ </structure>
+ <structure>
+ <property name="columnName">NAME_</property>
+ <property name="displayName">NAME_</property>
+ </structure>
+ </list-property>
+ <structure name="cachedMetaData">
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">startDate</property>
+ <property name="dataType">date-time</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">endDate</property>
+ <property name="dataType">date-time</property>
+ </structure>
+ <structure>
+ <property name="position">3</property>
+ <property name="name">TOKEN_</property>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="position">4</property>
+ <property name="name">instanceID</property>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="position">5</property>
+ <property name="name">NAME_</property>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="position">6</property>
+ <property name="name">exec</property>
+ <property name="dataType">any</property>
+ </structure>
+ <structure>
+ <property name="position">7</property>
+ <property name="name">q3</property>
+ <property name="dataType">any</property>
+ </structure>
+ </list-property>
+ </structure>
+ <property name="dataSource">MySQL Local</property>
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">startDate</property>
+ <property name="nativeName">startDate</property>
+ <property name="dataType">date-time</property>
+ <property name="nativeDataType">93</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">endDate</property>
+ <property name="nativeName">endDate</property>
+ <property name="dataType">date-time</property>
+ <property name="nativeDataType">93</property>
+ </structure>
+ <structure>
+ <property name="position">3</property>
+ <property name="name">TOKEN_</property>
+ <property name="nativeName">TOKEN_</property>
+ <property name="dataType">decimal</property>
+ <property name="nativeDataType">-5</property>
+ </structure>
+ <structure>
+ <property name="position">4</property>
+ <property name="name">instanceID</property>
+ <property name="nativeName">instanceID</property>
+ <property name="dataType">decimal</property>
+ <property name="nativeDataType">-5</property>
+ </structure>
+ <structure>
+ <property name="position">5</property>
+ <property name="name">NAME_</property>
+ <property name="nativeName">NAME_</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ </list-property>
+ <property name="queryText">SELECT l1.DATE_ as startDate, l2.DATE_ as endDate,
+l1.TOKEN_, i.ID_ as instanceID, p.NAME_
+ FROM JBPM_LOG l1, JBPM_LOG l2, JBPM_TOKEN t, JBPM_PROCESSINSTANCE i, JBPM_PROCESSDEFINITION p
+WHERE (l1.CLASS_='I' AND l2.CLASS_='X')
+AND (l1.TOKEN_=l2.TOKEN_)
+AND t.ID_=l1.TOKEN_
+AND t.PROCESSINSTANCE_=i.ID_
+AND i.PROCESSDEFINITION_=p.ID_
+AND p.NAME_="ForkJoinExample3"
+GROUP BY instanceId </property>
+ <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
+ <Version>1.0</Version>
+ <design:ResultSets derivedMetaData="true">
+ <design:resultSetDefinitions>
+ <design:resultSetColumns>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:name>startDate</design:name>
+ <design:position>1</design:position>
+ <design:nativeDataTypeCode>93</design:nativeDataTypeCode>
+ <design:precision>19</design:precision>
+ <design:scale>0</design:scale>
+ <design:nullability>Nullable</design:nullability>
+ <design:uiHints>
+ <design:displayName>startDate</design:displayName>
+ </design:uiHints>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>startDate</design:label>
+ <design:formattingHints>
+ <design:displaySize>19</design:displaySize>
+ </design:formattingHints>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:name>endDate</design:name>
+ <design:position>2</design:position>
+ <design:nativeDataTypeCode>93</design:nativeDataTypeCode>
+ <design:precision>19</design:precision>
+ <design:scale>0</design:scale>
+ <design:nullability>Nullable</design:nullability>
+ <design:uiHints>
+ <design:displayName>endDate</design:displayName>
+ </design:uiHints>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>endDate</design:label>
+ <design:formattingHints>
+ <design:displaySize>19</design:displaySize>
+ </design:formattingHints>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:name>TOKEN_</design:name>
+ <design:position>3</design:position>
+ <design:nativeDataTypeCode>-5</design:nativeDataTypeCode>
+ <design:precision>20</design:precision>
+ <design:scale>0</design:scale>
+ <design:nullability>Nullable</design:nullability>
+ <design:uiHints>
+ <design:displayName>TOKEN_</design:displayName>
+ </design:uiHints>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>TOKEN_</design:label>
+ <design:formattingHints>
+ <design:displaySize>20</design:displaySize>
+ </design:formattingHints>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:name>instanceID</design:name>
+ <design:position>4</design:position>
+ <design:nativeDataTypeCode>-5</design:nativeDataTypeCode>
+ <design:precision>20</design:precision>
+ <design:scale>0</design:scale>
+ <design:nullability>NotNullable</design:nullability>
+ <design:uiHints>
+ <design:displayName>instanceID</design:displayName>
+ </design:uiHints>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>instanceID</design:label>
+ <design:formattingHints>
+ <design:displaySize>20</design:displaySize>
+ </design:formattingHints>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:name>NAME_</design:name>
+ <design:position>5</design:position>
+ <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
+ <design:precision>255</design:precision>
+ <design:scale>0</design:scale>
+ <design:nullability>Nullable</design:nullability>
+ <design:uiHints>
+ <design:displayName>NAME_</design:displayName>
+ </design:uiHints>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>NAME_</design:label>
+ <design:formattingHints>
+ <design:displaySize>255</design:displaySize>
+ </design:formattingHints>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
+ </design:resultSetColumns>
+ </design:resultSetDefinitions>
+ </design:ResultSets>
+</model:DesignValues>]]></xml-property>
+ </oda-data-set>
+ </data-sets>
+ <styles>
+ <style name="crosstab" id="4">
+ <property name="borderBottomColor">#CCCCCC</property>
+ <property name="borderBottomStyle">solid</property>
+ <property name="borderBottomWidth">1pt</property>
+ <property name="borderLeftColor">#CCCCCC</property>
+ <property name="borderLeftStyle">solid</property>
+ <property name="borderLeftWidth">1pt</property>
+ <property name="borderRightColor">#CCCCCC</property>
+ <property name="borderRightStyle">solid</property>
+ <property name="borderRightWidth">1pt</property>
+ <property name="borderTopColor">#CCCCCC</property>
+ <property name="borderTopStyle">solid</property>
+ <property name="borderTopWidth">1pt</property>
+ </style>
+ <style name="crosstab-cell" id="5">
+ <property name="borderBottomColor">#CCCCCC</property>
+ <property name="borderBottomStyle">solid</property>
+ <property name="borderBottomWidth">1pt</property>
+ <property name="borderLeftColor">#CCCCCC</property>
+ <property name="borderLeftStyle">solid</property>
+ <property name="borderLeftWidth">1pt</property>
+ <property name="borderRightColor">#CCCCCC</property>
+ <property name="borderRightStyle">solid</property>
+ <property name="borderRightWidth">1pt</property>
+ <property name="borderTopColor">#CCCCCC</property>
+ <property name="borderTopStyle">solid</property>
+ <property name="borderTopWidth">1pt</property>
+ </style>
+ </styles>
+ <page-setup>
+ <simple-master-page name="‚Simple MasterPage" id="2">
+ <property name="type">a4</property>
+ <property name="orientation">portrait</property>
+ </simple-master-page>
+ </page-setup>
+ <body>
+ <table id="208">
+ <property name="width">620px</property>
+ <method name="onCreate"><![CDATA[reportContext.setPersistentGlobalVariable("hello","world");]]></method>
+ <column id="218"/>
+ <column id="219"/>
+ <header>
+ <row id="209">
+ <cell id="210"/>
+ <cell id="211"/>
+ </row>
+ </header>
+ <detail>
+ <row id="212">
+ <cell id="213">
+ <extended-item extensionName="Chart" name="MostActiveProcess" id="54">
+ <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:data="http://www.birt.eclipse.org/ChartModelData" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
+ <Type>Bar Chart</Type>
+ <SubType>Side-by-side</SubType>
+ <Block>
+ <Children xsi:type="layout:TitleBlock">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Anchor>North</Anchor>
+ <Stretch>Horizontal</Stretch>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Dotted</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value>Most active processes</Value>
+ <Font>
+ <Name>Helvetica</Name>
+ <Size>12.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <ShadowColor>
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </ShadowColor>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Label>
+ </Children>
+ <Children xsi:type="layout:Plot">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ <HorizontalSpacing>5</HorizontalSpacing>
+ <VerticalSpacing>5</VerticalSpacing>
+ <ClientArea>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>0</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>0.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>0.0</Right>
+ </Insets>
+ </ClientArea>
+ </Children>
+ <Children xsi:type="layout:Legend">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>false</Visible>
+ <ClientArea>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>0</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>2.0</Top>
+ <Left>2.0</Left>
+ <Bottom>2.0</Bottom>
+ <Right>2.0</Right>
+ </Insets>
+ </ClientArea>
+ <Text>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Text>
+ <Orientation>Vertical</Orientation>
+ <Direction>Top_Bottom</Direction>
+ <Separator>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </Separator>
+ <Position>Right</Position>
+ <ItemType>Series</ItemType>
+ <Title>
+ <Caption>
+ <Value>Name</Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Title>
+ <TitlePosition>Above</TitlePosition>
+ <ShowValue>false</ShowValue>
+ </Children>
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>220.0</Width>
+ <Height>120.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ </Block>
+ <Dimension>Two_Dimensional</Dimension>
+ <Units>Points</Units>
+ <SeriesThickness>10.0</SeriesThickness>
+ <SampleData>
+ <BaseSampleData>
+ <DataSetRepresentation>A, B, C</DataSetRepresentation>
+ </BaseSampleData>
+ <OrthogonalSampleData>
+ <DataSetRepresentation>5.0,4.0,12.0</DataSetRepresentation>
+ <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
+ </OrthogonalSampleData>
+ <AncillarySampleData>
+ <DataSetRepresentation>Series 1</DataSetRepresentation>
+ </AncillarySampleData>
+ </SampleData>
+ <Interactivity/>
+ <Axes>
+ <Type>Text</Type>
+ <Title>
+ <Caption>
+ <Value>X-Axis Title</Value>
+ <Font>
+ <Size>14.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Title>
+ <TitlePosition>Below</TitlePosition>
+ <AssociatedAxes>
+ <Type>Logarithmic</Type>
+ <Title>
+ <Caption>
+ <Value>Y-Axis Title</Value>
+ <Font>
+ <Size>14.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ <Rotation>90.0</Rotation>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Title>
+ <TitlePosition>Left</TitlePosition>
+ <SeriesDefinitions>
+ <Query>
+ <Definition></Definition>
+ </Query>
+ <SeriesPalette>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>166</Green>
+ <Blue>218</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>242</Red>
+ <Green>88</Green>
+ <Blue>106</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>232</Red>
+ <Green>172</Green>
+ <Blue>57</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>64</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>170</Red>
+ <Green>85</Green>
+ <Blue>85</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>192</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>7</Red>
+ <Green>146</Green>
+ <Blue>94</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>64</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>240</Green>
+ <Blue>120</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>0</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ </SeriesPalette>
+ <Series xsi:type="type:BarSeries">
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <DataDefinition>
+ <Definition>row["numberExec"]</Definition>
+ </DataDefinition>
+ <SeriesIdentifier></SeriesIdentifier>
+ <DataPoint>
+ <Components>
+ <Type>Orthogonal_Value</Type>
+ </Components>
+ <Separator>, </Separator>
+ </DataPoint>
+ <LabelPosition>Outside</LabelPosition>
+ <Stacked>false</Stacked>
+ <Riser>Rectangle</Riser>
+ </Series>
+ <Grouping>
+ <Enabled>false</Enabled>
+ <GroupingInterval>2</GroupingInterval>
+ <GroupType>Text</GroupType>
+ <AggregateExpression>Sum</AggregateExpression>
+ </Grouping>
+ <Sorting>Ascending</Sorting>
+ </SeriesDefinitions>
+ <Orientation>Vertical</Orientation>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </LineAttributes>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <LabelPosition>Left</LabelPosition>
+ <MajorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </TickAttributes>
+ </MajorGrid>
+ <MinorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </TickAttributes>
+ </MinorGrid>
+ <Scale>
+ <MinorGridsPerUnit>5</MinorGridsPerUnit>
+ <ShowOutside>false</ShowOutside>
+ </Scale>
+ <Origin>
+ <Type>Min</Type>
+ <Value xsi:type="data:NumberDataElement">
+ <Value>0.0</Value>
+ </Value>
+ </Origin>
+ <PrimaryAxis>true</PrimaryAxis>
+ <Percent>false</Percent>
+ </AssociatedAxes>
+ <AncillaryAxes>
+ <Type>Text</Type>
+ <Title>
+ <Caption>
+ <Value>Z-Axis Title</Value>
+ <Font>
+ <Size>14.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Title>
+ <TitlePosition>Below</TitlePosition>
+ <SeriesDefinitions>
+ <Query>
+ <Definition></Definition>
+ </Query>
+ <SeriesPalette>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>166</Green>
+ <Blue>218</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>242</Red>
+ <Green>88</Green>
+ <Blue>106</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>232</Red>
+ <Green>172</Green>
+ <Blue>57</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>64</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>170</Red>
+ <Green>85</Green>
+ <Blue>85</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>192</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>7</Red>
+ <Green>146</Green>
+ <Blue>94</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>64</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>240</Green>
+ <Blue>120</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>0</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ </SeriesPalette>
+ <Series>
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <SeriesIdentifier></SeriesIdentifier>
+ <DataPoint>
+ <Components>
+ <Type>Orthogonal_Value</Type>
+ </Components>
+ <Separator>, </Separator>
+ </DataPoint>
+ <LabelPosition>Outside</LabelPosition>
+ <Stacked>false</Stacked>
+ </Series>
+ <Grouping>
+ <Enabled>false</Enabled>
+ <GroupingInterval>2</GroupingInterval>
+ <GroupType>Text</GroupType>
+ <AggregateExpression>Sum</AggregateExpression>
+ </Grouping>
+ </SeriesDefinitions>
+ <Orientation>Horizontal</Orientation>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </LineAttributes>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Label>
+ <LabelPosition>Below</LabelPosition>
+ <MajorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </TickAttributes>
+ </MajorGrid>
+ <MinorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </TickAttributes>
+ </MinorGrid>
+ <Scale>
+ <MinorGridsPerUnit>5</MinorGridsPerUnit>
+ </Scale>
+ <Origin>
+ <Type>Min</Type>
+ <Value xsi:type="data:NumberDataElement">
+ <Value>0.0</Value>
+ </Value>
+ </Origin>
+ <PrimaryAxis>true</PrimaryAxis>
+ <Percent>false</Percent>
+ </AncillaryAxes>
+ <SeriesDefinitions>
+ <Query>
+ <Definition></Definition>
+ </Query>
+ <SeriesPalette>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>166</Green>
+ <Blue>218</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>242</Red>
+ <Green>88</Green>
+ <Blue>106</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>232</Red>
+ <Green>172</Green>
+ <Blue>57</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>64</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>170</Red>
+ <Green>85</Green>
+ <Blue>85</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>192</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>7</Red>
+ <Green>146</Green>
+ <Blue>94</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>64</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>240</Green>
+ <Blue>120</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>0</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ </SeriesPalette>
+ <Series>
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <DataDefinition>
+ <Definition>row["NAME_"]</Definition>
+ </DataDefinition>
+ <SeriesIdentifier></SeriesIdentifier>
+ <DataPoint>
+ <Components>
+ <Type>Orthogonal_Value</Type>
+ </Components>
+ <Separator>, </Separator>
+ </DataPoint>
+ <LabelPosition>Outside</LabelPosition>
+ <Stacked>false</Stacked>
+ </Series>
+ <Grouping>
+ <Enabled>false</Enabled>
+ <GroupingInterval>2</GroupingInterval>
+ <GroupType>Text</GroupType>
+ <AggregateExpression>Sum</AggregateExpression>
+ </Grouping>
+ </SeriesDefinitions>
+ <Orientation>Horizontal</Orientation>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </LineAttributes>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Name>Helvetica</Name>
+ <Size>8.0</Size>
+ <Alignment/>
+ <Rotation>0.0</Rotation>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Label>
+ <LabelPosition>Below</LabelPosition>
+ <Staggered>false</Staggered>
+ <MajorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </TickAttributes>
+ </MajorGrid>
+ <MinorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </TickAttributes>
+ </MinorGrid>
+ <Scale>
+ <MinorGridsPerUnit>5</MinorGridsPerUnit>
+ <ShowOutside>false</ShowOutside>
+ </Scale>
+ <Origin>
+ <Type>Min</Type>
+ <Value xsi:type="data:NumberDataElement">
+ <Value>0.0</Value>
+ </Value>
+ </Origin>
+ <PrimaryAxis>true</PrimaryAxis>
+ <CategoryAxis>true</CategoryAxis>
+ <Percent>false</Percent>
+ </Axes>
+ <Orientation>Horizontal</Orientation>
+ <UnitSpacing>50.0</UnitSpacing>
+ <Rotation>
+ <Angles>
+ <XAngle>-20.0</XAngle>
+ <YAngle>45.0</YAngle>
+ <ZAngle>0.0</ZAngle>
+ <Type>None</Type>
+ </Angles>
+ </Rotation>
+</model:ChartWithAxes>
+]]></xml-property>
+ <property name="outputFormat">JPG</property>
+ <property name="fontSize">smaller</property>
+ <property name="marginTop">10pt</property>
+ <property name="dataSet">ProcessActivity</property>
+ <property name="height">120px</property>
+ <property name="width">220px</property>
+ <list-property name="boundDataColumns">
+ <structure>
+ <property name="name">numberExec</property>
+ <expression name="expression">dataSetRow["numberExec"]</expression>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="name">NAME_</property>
+ <expression name="expression">dataSetRow["NAME_"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ </list-property>
+ </extended-item>
+ </cell>
+ <cell id="214">
+ <extended-item extensionName="Chart" name="CompletedAssignments" id="68">
+ <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:data="http://www.birt.eclipse.org/ChartModelData" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
+ <Type>Bar Chart</Type>
+ <SubType>Side-by-side</SubType>
+ <Block>
+ <Children xsi:type="layout:TitleBlock">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value>Current task assignments</Value>
+ <Font>
+ <Name>Helvetica</Name>
+ <Size>12.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Label>
+ </Children>
+ <Children xsi:type="layout:Plot">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ <HorizontalSpacing>5</HorizontalSpacing>
+ <VerticalSpacing>5</VerticalSpacing>
+ <ClientArea>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>0</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>0.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>0.0</Right>
+ </Insets>
+ </ClientArea>
+ </Children>
+ <Children xsi:type="layout:Legend">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>false</Visible>
+ <ClientArea>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>0</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>2.0</Top>
+ <Left>2.0</Left>
+ <Bottom>2.0</Bottom>
+ <Right>2.0</Right>
+ </Insets>
+ </ClientArea>
+ <Text>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Text>
+ <Orientation>Vertical</Orientation>
+ <Direction>Top_Bottom</Direction>
+ <Separator>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </Separator>
+ <Position>Right</Position>
+ <ItemType>Series</ItemType>
+ <Title>
+ <Caption>
+ <Value>Assigments</Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Title>
+ <TitlePosition>Above</TitlePosition>
+ <ShowValue>false</ShowValue>
+ </Children>
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>220.0</Width>
+ <Height>120.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ </Block>
+ <Dimension>Two_Dimensional</Dimension>
+ <Units>Points</Units>
+ <SeriesThickness>10.0</SeriesThickness>
+ <SampleData>
+ <BaseSampleData>
+ <DataSetRepresentation>A, B, C</DataSetRepresentation>
+ </BaseSampleData>
+ <OrthogonalSampleData>
+ <DataSetRepresentation>5.0,4.0,12.0</DataSetRepresentation>
+ <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
+ </OrthogonalSampleData>
+ </SampleData>
+ <Interactivity>
+ <LegendBehavior>None</LegendBehavior>
+ </Interactivity>
+ <Axes>
+ <Type>Text</Type>
+ <Title>
+ <Caption>
+ <Value>X-Axis Title</Value>
+ <Font>
+ <Size>14.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Title>
+ <TitlePosition>Below</TitlePosition>
+ <AssociatedAxes>
+ <Type>Logarithmic</Type>
+ <Title>
+ <Caption>
+ <Value>Y-Axis Title</Value>
+ <Font>
+ <Size>14.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ <Rotation>90.0</Rotation>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Title>
+ <TitlePosition>Left</TitlePosition>
+ <SeriesDefinitions>
+ <Query>
+ <Definition></Definition>
+ </Query>
+ <SeriesPalette>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>166</Green>
+ <Blue>218</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>242</Red>
+ <Green>88</Green>
+ <Blue>106</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>232</Red>
+ <Green>172</Green>
+ <Blue>57</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>64</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>170</Red>
+ <Green>85</Green>
+ <Blue>85</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>192</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>7</Red>
+ <Green>146</Green>
+ <Blue>94</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>64</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>240</Green>
+ <Blue>120</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>0</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ </SeriesPalette>
+ <Series xsi:type="type:BarSeries">
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <DataDefinition>
+ <Definition>row["count(TASKINSTANCE_)"]</Definition>
+ </DataDefinition>
+ <SeriesIdentifier></SeriesIdentifier>
+ <DataPoint>
+ <Components>
+ <Type>Orthogonal_Value</Type>
+ </Components>
+ <Separator>, </Separator>
+ </DataPoint>
+ <LabelPosition>Outside</LabelPosition>
+ <Stacked>false</Stacked>
+ <Riser>Rectangle</Riser>
+ </Series>
+ <Grouping>
+ <Enabled>false</Enabled>
+ <GroupingInterval>2</GroupingInterval>
+ <GroupType>Text</GroupType>
+ <AggregateExpression>Sum</AggregateExpression>
+ </Grouping>
+ <Sorting>Ascending</Sorting>
+ </SeriesDefinitions>
+ <Orientation>Vertical</Orientation>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </LineAttributes>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <LabelPosition>Left</LabelPosition>
+ <MajorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </TickAttributes>
+ </MajorGrid>
+ <MinorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </TickAttributes>
+ </MinorGrid>
+ <Scale>
+ <MinorGridsPerUnit>5</MinorGridsPerUnit>
+ </Scale>
+ <Origin>
+ <Type>Min</Type>
+ <Value xsi:type="data:NumberDataElement">
+ <Value>0.0</Value>
+ </Value>
+ </Origin>
+ <PrimaryAxis>true</PrimaryAxis>
+ <Percent>false</Percent>
+ </AssociatedAxes>
+ <SeriesDefinitions>
+ <Query>
+ <Definition></Definition>
+ </Query>
+ <SeriesPalette>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>166</Green>
+ <Blue>218</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>242</Red>
+ <Green>88</Green>
+ <Blue>106</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>232</Red>
+ <Green>172</Green>
+ <Blue>57</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>64</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>170</Red>
+ <Green>85</Green>
+ <Blue>85</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>192</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>7</Red>
+ <Green>146</Green>
+ <Blue>94</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>64</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>240</Green>
+ <Blue>120</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>0</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ </SeriesPalette>
+ <Series>
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <DataDefinition>
+ <Definition>row["TASKACTORID_"]</Definition>
+ </DataDefinition>
+ <SeriesIdentifier></SeriesIdentifier>
+ <DataPoint>
+ <Components>
+ <Type>Orthogonal_Value</Type>
+ </Components>
+ <Separator>, </Separator>
+ </DataPoint>
+ <LabelPosition>Outside</LabelPosition>
+ <Stacked>false</Stacked>
+ </Series>
+ <Grouping>
+ <Enabled>false</Enabled>
+ <GroupingInterval>2</GroupingInterval>
+ <GroupType>Text</GroupType>
+ <AggregateExpression>Sum</AggregateExpression>
+ </Grouping>
+ </SeriesDefinitions>
+ <Orientation>Horizontal</Orientation>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </LineAttributes>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Name>Helvetica</Name>
+ <Size>11.0</Size>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>254</Red>
+ <Green>254</Green>
+ <Blue>254</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Label>
+ <LabelPosition>Below</LabelPosition>
+ <MajorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </TickAttributes>
+ </MajorGrid>
+ <MinorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </TickAttributes>
+ </MinorGrid>
+ <Scale>
+ <MinorGridsPerUnit>5</MinorGridsPerUnit>
+ </Scale>
+ <Origin>
+ <Type>Min</Type>
+ <Value xsi:type="data:NumberDataElement">
+ <Value>0.0</Value>
+ </Value>
+ </Origin>
+ <PrimaryAxis>true</PrimaryAxis>
+ <CategoryAxis>true</CategoryAxis>
+ <Percent>false</Percent>
+ </Axes>
+ <Orientation>Horizontal</Orientation>
+ <UnitSpacing>50.0</UnitSpacing>
+ <Rotation/>
+</model:ChartWithAxes>
+]]></xml-property>
+ <property name="outputFormat">SVG</property>
+ <property name="fontSize">smaller</property>
+ <property name="marginTop">10pt</property>
+ <property name="dataSet">NumberOfAssignments</property>
+ <property name="height">120px</property>
+ <property name="width">220px</property>
+ <list-property name="boundDataColumns">
+ <structure>
+ <property name="name">count(TASKINSTANCE_)</property>
+ <expression name="expression">dataSetRow["count(TASKINSTANCE_)"]</expression>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="name">TASKACTORID_</property>
+ <expression name="expression">dataSetRow["TASKACTORID_"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ </list-property>
+ </extended-item>
+ </cell>
+ </row>
+ <row id="220">
+ <cell id="221">
+ <extended-item extensionName="Chart" name="ExecQuartiles" id="223">
+ <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:data="http://www.birt.eclipse.org/ChartModelData" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
+ <Type>Bar Chart</Type>
+ <SubType>Side-by-side</SubType>
+ <Block>
+ <Children xsi:type="layout:TitleBlock">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value>Execution time quartiles</Value>
+ <Font>
+ <Size>16.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Label>
+ </Children>
+ <Children xsi:type="layout:Plot">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ <HorizontalSpacing>5</HorizontalSpacing>
+ <VerticalSpacing>5</VerticalSpacing>
+ <ClientArea>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>0</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>0.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>0.0</Right>
+ </Insets>
+ </ClientArea>
+ </Children>
+ <Children xsi:type="layout:Legend">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>false</Visible>
+ <ClientArea>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>0</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>2.0</Top>
+ <Left>2.0</Left>
+ <Bottom>2.0</Bottom>
+ <Right>2.0</Right>
+ </Insets>
+ </ClientArea>
+ <Text>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Text>
+ <Orientation>Vertical</Orientation>
+ <Direction>Top_Bottom</Direction>
+ <Separator>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </Separator>
+ <Position>Right</Position>
+ <ItemType>Series</ItemType>
+ <Title>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Title>
+ <TitlePosition>Above</TitlePosition>
+ </Children>
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>212.0</Width>
+ <Height>130.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ </Block>
+ <Dimension>Two_Dimensional</Dimension>
+ <Script>/**
+ * Called before drawing each datapoint graphical representation or marker.
+ *
+ * @param dph
+ * DataPointHints
+ * @param fill
+ * Fill
+ * @param icsc
+ * IChartScriptContext
+ */
+
+function beforeDrawDataPoint(dataPointHints, fill, scriptContext )
+{
+ val = dataPointHints.getOrthogonalValue();
+ chart = scriptContext.getChartInstance();
+ //marker = chart.getAxes().get(0).getAssociatedAxes().get(0).getMarkerLines().get(0).getValue().getValue();
+ marker = 86400;
+ if (val > marker) //crosses marker?
+ fill.set(255, 0, 0); //yes - display in red
+ else
+ fill.set(0, 0, 255); //no - display in blue
+}
+
+
+/**
+ * Called before generation of chart model to GeneratedChartState.
+ *
+ * @param chart
+ * Chart
+ * @param icsc
+ * IChartScriptContext
+ */
+
+function beforeGeneration(chart, icsc){
+ importPackage(Packages.org.eclipse.birt.chart.model.component.impl);
+ importPackage(Packages.org.eclipse.birt.chart.model.data.impl);
+ importPackage(Packages.org.eclipse.birt.chart.model.attribute);
+ importPackage(Packages.org.eclipse.birt.chart.model.attribute.impl);
+
+ var chart = icsc.getChartInstance();
+ var yAxis = chart.getAxes().get(0).getAssociatedAxes().get(0);
+
+ var topValue = 86400;//icsc.getExternalContext().getScriptable().getParameterValue("topMarkerValue");
+ var bottomValue = 3600;//icsc.getExternalContext().getScriptable().getParameterValue("bottomMarkerValue");
+
+ top_ml = MarkerLineImpl.create(yAxis, NumberDataElementImpl.create(topValue));
+ top_ml.getLabel().getCaption().setValue("Top marker line set at " + topValue);
+ top_ml.getLineAttributes().getColor().set(0,200,0);
+ top_ml.getLineAttributes().setStyle(LineStyle.SOLID_LITERAL);
+ top_ml.getLineAttributes().setThickness(2);
+
+ bottom_ml = MarkerLineImpl.create(yAxis, NumberDataElementImpl.create(bottomValue));
+ bottom_ml.getLabel().getCaption().setValue("Bottom marker line set at " + bottomValue);
+ bottom_ml.getLineAttributes().getColor().set(255,0,0);
+ bottom_ml.getLineAttributes().setStyle(LineStyle.SOLID_LITERAL);
+ bottom_ml.getLineAttributes().setThickness(2);
+}</Script>
+ <Units>Points</Units>
+ <SeriesThickness>10.0</SeriesThickness>
+ <GridColumnCount>1</GridColumnCount>
+ <SampleData>
+ <BaseSampleData>
+ <DataSetRepresentation>5.0,4.0,12.0</DataSetRepresentation>
+ </BaseSampleData>
+ <OrthogonalSampleData>
+ <DataSetRepresentation>5.0,4.0,12.0</DataSetRepresentation>
+ <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
+ </OrthogonalSampleData>
+ </SampleData>
+ <Interactivity>
+ <Enable>true</Enable>
+ <LegendBehavior>None</LegendBehavior>
+ </Interactivity>
+ <Axes>
+ <Type>Linear</Type>
+ <Title>
+ <Caption>
+ <Value>X-Axis Title</Value>
+ <Font>
+ <Size>14.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Title>
+ <TitlePosition>Below</TitlePosition>
+ <AssociatedAxes>
+ <Type>Linear</Type>
+ <Title>
+ <Caption>
+ <Value>Exec time</Value>
+ <Font>
+ <Size>14.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ <Rotation>90.0</Rotation>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Title>
+ <TitlePosition>Left</TitlePosition>
+ <SeriesDefinitions>
+ <Query>
+ <Definition></Definition>
+ </Query>
+ <SeriesPalette>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>166</Green>
+ <Blue>218</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>242</Red>
+ <Green>88</Green>
+ <Blue>106</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>232</Red>
+ <Green>172</Green>
+ <Blue>57</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>64</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>170</Red>
+ <Green>85</Green>
+ <Blue>85</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>192</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>7</Red>
+ <Green>146</Green>
+ <Blue>94</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>64</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>240</Green>
+ <Blue>120</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>0</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ </SeriesPalette>
+ <Series xsi:type="type:BarSeries">
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <DataDefinition>
+ <Definition>row["execSeconds"]</Definition>
+ </DataDefinition>
+ <SeriesIdentifier></SeriesIdentifier>
+ <DataPoint>
+ <Components>
+ <Type>Orthogonal_Value</Type>
+ </Components>
+ <Separator>, </Separator>
+ </DataPoint>
+ <LabelPosition>Outside</LabelPosition>
+ <Stacked>false</Stacked>
+ <Riser>Rectangle</Riser>
+ </Series>
+ <Grouping>
+ <Enabled>false</Enabled>
+ <GroupingInterval>2</GroupingInterval>
+ <GroupType>Text</GroupType>
+ <AggregateExpression>Sum</AggregateExpression>
+ </Grouping>
+ <Sorting>Ascending</Sorting>
+ </SeriesDefinitions>
+ <Orientation>Vertical</Orientation>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <LabelPosition>Left</LabelPosition>
+ <MajorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </TickAttributes>
+ </MajorGrid>
+ <MinorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </TickAttributes>
+ </MinorGrid>
+ <Scale>
+ <MinorGridsPerUnit>5</MinorGridsPerUnit>
+ </Scale>
+ <Origin>
+ <Type>Min</Type>
+ <Value xsi:type="data:NumberDataElement">
+ <Value>0.0</Value>
+ </Value>
+ </Origin>
+ <PrimaryAxis>true</PrimaryAxis>
+ <Percent>false</Percent>
+ </AssociatedAxes>
+ <SeriesDefinitions>
+ <Query>
+ <Definition></Definition>
+ </Query>
+ <SeriesPalette>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>166</Green>
+ <Blue>218</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>242</Red>
+ <Green>88</Green>
+ <Blue>106</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>232</Red>
+ <Green>172</Green>
+ <Blue>57</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>64</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>170</Red>
+ <Green>85</Green>
+ <Blue>85</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>192</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>7</Red>
+ <Green>146</Green>
+ <Blue>94</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>64</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>240</Green>
+ <Blue>120</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>0</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ </SeriesPalette>
+ <Series>
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <DataDefinition>
+ <Definition>row["instanceID"]</Definition>
+ </DataDefinition>
+ <SeriesIdentifier></SeriesIdentifier>
+ <DataPoint>
+ <Components>
+ <Type>Orthogonal_Value</Type>
+ </Components>
+ <Separator>, </Separator>
+ </DataPoint>
+ <LabelPosition>Outside</LabelPosition>
+ <Stacked>false</Stacked>
+ </Series>
+ <Grouping>
+ <Enabled>false</Enabled>
+ <GroupingInterval>2</GroupingInterval>
+ <GroupType>Text</GroupType>
+ <AggregateExpression>Sum</AggregateExpression>
+ </Grouping>
+ </SeriesDefinitions>
+ <Orientation>Horizontal</Orientation>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </LineAttributes>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Label>
+ <LabelPosition>Below</LabelPosition>
+ <Staggered>false</Staggered>
+ <MajorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </TickAttributes>
+ </MajorGrid>
+ <MinorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </TickAttributes>
+ </MinorGrid>
+ <Scale>
+ <MinorGridsPerUnit>5</MinorGridsPerUnit>
+ </Scale>
+ <Origin>
+ <Type>Min</Type>
+ <Value xsi:type="data:NumberDataElement">
+ <Value>0.0</Value>
+ </Value>
+ </Origin>
+ <PrimaryAxis>true</PrimaryAxis>
+ <CategoryAxis>true</CategoryAxis>
+ <Percent>false</Percent>
+ </Axes>
+ <Orientation>Vertical</Orientation>
+ <Rotation/>
+</model:ChartWithAxes>
+]]></xml-property>
+ <property name="outputFormat">SVG</property>
+ <property name="dataSet">AverageExecTime</property>
+ <property name="height">130pt</property>
+ <property name="width">212pt</property>
+ <list-property name="boundDataColumns">
+ <structure>
+ <property name="name">startDate</property>
+ <expression name="expression">dataSetRow["startDate"]</expression>
+ <property name="dataType">date-time</property>
+ </structure>
+ <structure>
+ <property name="name">endDate</property>
+ <expression name="expression">dataSetRow["endDate"]</expression>
+ <property name="dataType">date-time</property>
+ </structure>
+ <structure>
+ <property name="name">TOKEN_</property>
+ <expression name="expression">dataSetRow["TOKEN_"]</expression>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="name">instanceID</property>
+ <expression name="expression">dataSetRow["instanceID"]</expression>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="name">NAME_</property>
+ <expression name="expression">dataSetRow["NAME_"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="name">execSeconds</property>
+ <expression name="expression">dataSetRow["execSeconds"]</expression>
+ <property name="dataType">integer</property>
+ </structure>
+ <structure>
+ <property name="name">q3</property>
+ <expression name="expression">dataSetRow["q3"]</expression>
+ <property name="dataType">any</property>
+ </structure>
+ </list-property>
+ </extended-item>
+ </cell>
+ <cell id="222"/>
+ </row>
+ </detail>
+ <footer>
+ <row id="215">
+ <cell id="216"/>
+ <cell id="217"/>
+ </row>
+ </footer>
+ </table>
+ </body>
+</report>
17 years, 5 months
JBoss JBPM SVN: r3144 - in jbpm4/trunk/modules: api and 26 other directories.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2008-11-28 06:20:28 -0500 (Fri, 28 Nov 2008)
New Revision: 3144
Added:
jbpm4/trunk/modules/distro/src/main/resources/readme.html
jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.activities.xml
jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.hbm.xml
jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.wire.bindings.xml
jbpm4/trunk/modules/pvm/src/main/resources/jbpm.business.calendar.properties
jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.cache.xml
jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.definition.hbm.xml
jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.execution.hbm.xml
jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.job.hbm.xml
jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.typedefs.hbm.xml
jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.types.xml
jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.variable.hbm.xml
jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.bindings.xml
jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.hbm.xml
jbpm4/trunk/modules/pvm/src/test/resources/jbpm.user.bindings.xml
Removed:
jbpm4/trunk/modules/distro/src/main/resources/release.notes.html
jbpm4/trunk/modules/jpdl/src/main/resources/org/
jbpm4/trunk/modules/manual/
jbpm4/trunk/modules/pvm/src/main/resources/org.jbpm.api.client.Configuration
jbpm4/trunk/modules/pvm/src/main/resources/org/
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/pvm.wire.bindings.xml
jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm.wire.bindings.xml
Modified:
jbpm4/trunk/modules/api/pom.xml
jbpm4/trunk/modules/api/src/main/resources/cfg.xsd
jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/ch02-ExecutionModes.xml
jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/chxx-Persistence.xml
jbpm4/trunk/modules/distro/assembly-distro-package.xml
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/xml/JpdlParser.java
jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cfg.xml
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateJobDbSession.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernatePvmDbSession.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DeployerManagerBinding.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/xml/WireParser.java
jbpm4/trunk/modules/pvm/src/test/resources/environment.cfg.xml
jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/continuation/ContinuationTest.cfg.xml
jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/svc/environment.cfg.xml
jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/spring/spring.beans.xml
jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/timer/environment.cfg.xml
jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/environment.cfg.xml
jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/langext/environment.cfg.xml
jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/model/environment.cfg.xml
jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/type/environmentCustomTypes.cfg.xml
jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/jobexecutor/environment.cfg.xml
jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/type/environment.cfg.xml
jbpm4/trunk/modules/task/src/test/resources/environment.cfg.xml
jbpm4/trunk/modules/task/src/test/resources/jbpm.cfg.xml
jbpm4/trunk/modules/task/src/test/resources/org.jbpm.task.cfg.xml
jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cfg.xml
Log:
JBPM-1893 : reorganised resources
Modified: jbpm4/trunk/modules/api/pom.xml
===================================================================
--- jbpm4/trunk/modules/api/pom.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/api/pom.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -87,9 +87,9 @@
<configuration>
<tasks>
<echo message="basedir: ${basedir}" />
- <mkdir dir="target/schemadoc" />
+ <mkdir dir="target/schemadocs" />
<taskdef name="xsddoc" classname="net.sf.xframe.xsddoc.Task" classpathref="maven.plugin.classpath" />
- <xsddoc out="${basedir}/target/schemadoc" title="jBPM 4 Schema's" verbose="false">
+ <xsddoc out="${basedir}/target/schemadocs" title="jBPM 4 Schema's" verbose="false">
<fileset dir="src/main/resources" />
</xsddoc>
</tasks>
Modified: jbpm4/trunk/modules/api/src/main/resources/cfg.xsd
===================================================================
--- jbpm4/trunk/modules/api/src/main/resources/cfg.xsd 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/api/src/main/resources/cfg.xsd 2008-11-28 11:20:28 UTC (rev 3144)
@@ -167,12 +167,6 @@
<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>
@@ -960,19 +954,6 @@
<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>
Modified: jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/ch02-ExecutionModes.xml
===================================================================
--- jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/ch02-ExecutionModes.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/ch02-ExecutionModes.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -126,15 +126,21 @@
<hibernate-configuration>
<properties resource="hibernate.properties" />
- <mappings resource="org/jbpm/pvm/pvm.hibernate.mappings.xml" />
- <cache-configuration resource="org/jbpm/pvm/pvm.cache.xml"
+ <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
+ <mapping resource="jbpm.pvm.wire.hbm.xml" />
+ <mapping resource="jbpm.pvm.definition.hbm.xml" />
+ <mapping resource="jbpm.pvm.execution.hbm.xml" />
+ <mapping resource="jbpm.pvm.variable.hbm.xml" />
+ <mapping resource="jbpm.pvm.job.hbm.xml" />
+ <mapping resource="jbpm.jpdl.hbm.xml" />
+ <cache-configuration resource="jbpm.pvm.cache.xml"
usage="nonstrict-read-write" />
</hibernate-configuration>
<hibernate-session-factory />
<id-generator />
- <variable-types resource="org/jbpm/pvm/pvm.types.xml" />
+ <variable-types resource="jbpm.pvm.types.xml" />
<job-executor auto-start="false" />
</process-engine>
Modified: jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/chxx-Persistence.xml
===================================================================
--- jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/chxx-Persistence.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/chxx-Persistence.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -11,21 +11,26 @@
03 | <process-engine>
04 |<emphasis role="bold"> <hibernate-session-factory /></emphasis>
05 |<emphasis role="bold"> <hibernate-configuration></emphasis>
-06 |<emphasis role="bold"> <properties resource="hibernate.properties" /></emphasis>
-07 |<emphasis role="bold"> <mappings resource="org/jbpm/pvm/pvm.hibernate.mappings.xml" /></emphasis>
-08 |<emphasis role="bold"> <cache-configuration </emphasis>
-09 |<emphasis role="bold"> resource="org/jbpm/pvm/pvm.cache.xml" </emphasis>
-10 |<emphasis role="bold"> usage="nonstrict-read-write" /></emphasis>
-11 |<emphasis role="bold"> </hibernate-configuration></emphasis>
-12 | </process-engine>
-13 |
-14 | <block>
-15 |<emphasis role="bold"> <standard-transaction /></emphasis>
-16 |<emphasis role="bold"> <hibernate-session /></emphasis>
-17 |<emphasis role="bold"> <pvm-db-session /></emphasis>
-18 | </block>
-19 |
-20 | </jbpm-configuration></programlisting>
+06 |<emphasis role="bold"> <properties resource="hibernate.properties" /></emphasis>
+07 |<emphasis role="bold"> <mapping resource="jbpm.pvm.typedefs.hbm.xml" /></emphasis>
+08 |<emphasis role="bold"> <mapping resource="jbpm.pvm.wire.hbm.xml" /></emphasis>
+09 |<emphasis role="bold"> <mapping resource="jbpm.pvm.definition.hbm.xml" /></emphasis>
+10 |<emphasis role="bold"> <mapping resource="jbpm.pvm.execution.hbm.xml" /></emphasis>
+11 |<emphasis role="bold"> <mapping resource="jbpm.pvm.variable.hbm.xml" /></emphasis>
+12 |<emphasis role="bold"> <mapping resource="jbpm.pvm.job.hbm.xml" /></emphasis>
+13 |<emphasis role="bold"> <mapping resource="jbpm.jpdl.hbm.xml" /></emphasis>
+14 |<emphasis role="bold"> <cache-configuration resource="jbpm.pvm.cache.xml"</emphasis>
+15 |<emphasis role="bold"> usage="nonstrict-read-write" /></emphasis>
+16 |<emphasis role="bold"> </hibernate-configuration></emphasis>
+17 | </process-engine>
+18 |
+19 | <environment>
+20 |<emphasis role="bold"> <standard-transaction /></emphasis>
+21 |<emphasis role="bold"> <hibernate-session /></emphasis>
+22 |<emphasis role="bold"> <pvm-db-session /></emphasis>
+23 | </environment>
+24 |
+25 | </jbpm-configuration></programlisting>
<para><literal>line 04</literal> specifies a hibernate session factory in the
process-engine context. This means that a hibernate session factory is lazy
created when it is first needed and cached in the
@@ -40,30 +45,20 @@
<para><literal>line 06</literal> specifies the that the resource file
<literal>hibernate.properties</literal> should be loaded into the configuration.
</para>
- <para><literal>line 07</literal> (note the plural form of mapping<emphasis role="bold">s</emphasis>)
- specifies that resources <literal>org/jbpm/pvm/pvm.hibernate.mappings.xml</literal> contain references
- to hibernate mapping files or resources that should be included into the
- configuration. Also note the plural form of <literal>resources</literal>.
- This means that not one, but all the resource files on the whole classpath will be found.
- This way new library components containing a <literal>org/jbpm/pvm/pvm.hibernate.mappings.xml</literal>
- resource can plug automatically into the same hibernate session by just being added to
- the classpath.
+ <para><literal>line 07 - 13</literal> specifies the mapping resources files.
</para>
- <para>Alternatively, individual hibernate mapping files can be referenced with the
- singular <literal>mapping</literal> element.
- </para>
- <para><literal>line 08 - 10</literal> provide a single place to specify the
+ <para><literal>line 14 - 15</literal> provide a single place to specify the
hibernate caching strategy for all the PVM classes and collections.
</para>
- <para><literal>line 15</literal> specifies a standard transaction. This is
+ <para><literal>line 20</literal> specifies a standard transaction. This is
a very simple global transaction strategy without recovery that can be used
in standard environments to get all-or-nothing semantics over multiple
transactional resources.
</para>
- <para><literal>line 16</literal> specifies the hibernate session that will
+ <para><literal>line 21</literal> specifies the hibernate session that will
automatically register itself with the standard transaction.
</para>
- <para><literal>line 17</literal> specifies a <literal>PvmDbSession</literal>.
+ <para><literal>line 22</literal> specifies a <literal>PvmDbSession</literal>.
That is a class that adds methods that bind to specific queries to be executed
on the hibernate session.
</para>
@@ -130,12 +125,18 @@
it and add it to the configuration like this:
</para>
<programlisting><hibernate-configuration>
- <properties resource="hibernate.properties" />
- <mappings resource="org/jbpm/pvm/pvm.hibernate.mappings.xml" />
+ <properties resource="hibernate.properties" />
+ <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
+ <mapping resource="jbpm.pvm.wire.hbm.xml" />
+ <mapping resource="jbpm.pvm.definition.hbm.xml" />
+ <mapping resource="jbpm.pvm.execution.hbm.xml" />
+ <mapping resource="jbpm.pvm.variable.hbm.xml" />
+ <mapping resource="jbpm.pvm.job.hbm.xml" />
+ <mapping resource="jbpm.jpdl.hbm.xml" />
<emphasis role="bold"><mapping resource="org/jbpm/examples/ch09/state.hbm.xml" /></emphasis>
- <cache-configuration
- resource="org/jbpm/pvm/pvm.cache.xml"
- usage="nonstrict-read-write" /></programlisting>
+ <cache-configuration resource="jbpm.pvm.cache.xml"
+ usage="nonstrict-read-write" />
+</hibernate-configuration></programlisting>
<para>The next code pieces show the contents of one unit test method. The method
will first create the environment factory. Then, in a first transaction, a process
definition will be created and saved into the database. Then the next transaction will
Modified: jbpm4/trunk/modules/distro/assembly-distro-package.xml
===================================================================
--- jbpm4/trunk/modules/distro/assembly-distro-package.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/distro/assembly-distro-package.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -67,35 +67,35 @@
</fileSet>
<fileSet>
<directory>../api/src/main/java</directory>
- <outputDirectory>src/api</outputDirectory>
+ <outputDirectory>src</outputDirectory>
</fileSet>
<fileSet>
<directory>../api/src/main/resources</directory>
- <outputDirectory>src/api</outputDirectory>
+ <outputDirectory>src</outputDirectory>
</fileSet>
<fileSet>
<directory>../log/src/main/java</directory>
- <outputDirectory>src/impl</outputDirectory>
+ <outputDirectory>src</outputDirectory>
</fileSet>
<fileSet>
<directory>../pvm/src/main/java</directory>
- <outputDirectory>src/impl</outputDirectory>
+ <outputDirectory>src</outputDirectory>
</fileSet>
<fileSet>
<directory>../pvm/src/main/resources</directory>
- <outputDirectory>src/impl</outputDirectory>
+ <outputDirectory>src</outputDirectory>
</fileSet>
<fileSet>
<directory>../jpdl/src/main/java</directory>
- <outputDirectory>src/impl</outputDirectory>
+ <outputDirectory>src</outputDirectory>
</fileSet>
<fileSet>
<directory>../jpdl/src/main/resources</directory>
- <outputDirectory>src/impl</outputDirectory>
+ <outputDirectory>src</outputDirectory>
</fileSet>
<fileSet>
<directory>../test-base/src/main/java</directory>
- <outputDirectory>src/impl</outputDirectory>
+ <outputDirectory>src</outputDirectory>
</fileSet>
<fileSet>
<directory>../test-db/src/test/resources</directory>
Copied: jbpm4/trunk/modules/distro/src/main/resources/readme.html (from rev 3138, jbpm4/trunk/modules/distro/src/main/resources/release.notes.html)
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/readme.html (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/readme.html 2008-11-28 11:20:28 UTC (rev 3144)
@@ -0,0 +1,36 @@
+<html>
+ <head>
+ <title>jBPM 4 readme</title>
+ </head>
+ <body>
+ <h1>Docs</h1>
+
+ <table>
+ <tr>
+ <th>Link</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td><a href="doc/userguide/html_single/index.html">User guide</a></td>
+ <td>Userguide docs describing the stable and supported ways of how to work with jBPM.</td>
+ </tr>
+ <tr>
+ <td><a href="doc/javadocs/index.html">Javadocs</a></td>
+ <td>Javadocs describing the stable and supported API</td>
+ </tr>
+ <tr>
+ <td><a href="doc/schemadocs/index.html">Schemadocs</a></td>
+ <td>Javadoc-like documentation of the jPDL XML schema and the jBPM configuration file XML schema</td>
+ </tr>
+ <tr>
+ <td><a href="doc/devguide/html_single/index.html">Developers guide</a></td>
+ <td>Describes more configuration, usage and tweaking options.
+ Unleash all the flexibility in jBPM. But beware, the parts documented in this dev
+ guide are not guaranteed to be forward compatible.</td>
+ </tr>
+ </table>
+
+ <h1>Release notes for jBPM 4.0.0.Alpha1</h1>
+ <p>Finally.. phew !</p>
+ </body>
+</html>
Property changes on: jbpm4/trunk/modules/distro/src/main/resources/readme.html
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: jbpm4/trunk/modules/distro/src/main/resources/release.notes.html
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/release.notes.html 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/distro/src/main/resources/release.notes.html 2008-11-28 11:20:28 UTC (rev 3144)
@@ -1,9 +0,0 @@
-<html>
- <head>
- <title>jBPM 4 release notes</title>
- </head>
- <body>
- <h1>jBPM 4.0.0.Alpha1</h1>
- <p>Finally.. phew !</p>
- </body>
-</html>
Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/xml/JpdlParser.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/xml/JpdlParser.java 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/xml/JpdlParser.java 2008-11-28 11:20:28 UTC (rev 3144)
@@ -21,6 +21,7 @@
*/
package org.jbpm.jpdl.xml;
+import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.Enumeration;
@@ -35,7 +36,6 @@
import org.jbpm.pvm.internal.util.ReflectUtil;
import org.jbpm.pvm.internal.util.UrlEntity;
import org.jbpm.pvm.internal.util.XmlUtil;
-import org.jbpm.pvm.internal.xml.Binding;
import org.jbpm.pvm.internal.xml.Bindings;
import org.jbpm.pvm.internal.xml.Parse;
import org.jbpm.pvm.internal.xml.Parser;
@@ -48,6 +48,12 @@
private static final Log log = Log.getLog(JpdlParser.class.getName());
+ public static final String[] DEFAULT_ACTIVITIES_RESOURCES = new String[]{
+ "jbpm.jpdl.activities.xml",
+ "jbpm.user.activities.xml"
+ };
+
+
private static Bindings defaultBindings; // initialized at the bottom of this file
public JpdlParser() {
@@ -176,18 +182,20 @@
ActivityParser activityParser = new ActivityParser();
- Enumeration<URL> enumeration = ReflectUtil.getResources(null, "org/jbpm/jpdl/jpdl.activities.xml");
- if (enumeration!=null) {
- while (enumeration.hasMoreElements()) {
- URL url = enumeration.nextElement();
- log.trace("parsing jpdl activities from resource url: "+url);
+ for (String activityResource: DEFAULT_ACTIVITIES_RESOURCES) {
+ InputStream inputStream = ReflectUtil.getResourceAsStream(null, activityResource);
+ if (inputStream!=null) {
+ log.trace("parsing jpdl activities from resource: "+activityResource);
activityParser.createParse()
- .setUrl(url)
+ .setInputStream(inputStream)
.pushObject(defaultBindings)
.execute()
- .checkProblems("default wire bindings");
+ .checkProblems("jpdl activities from resource "+activityResource);
+ } else {
+ log.trace("skipping unavailable jpdl activities resource: "+activityResource);
}
+
}
}
}
Copied: jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.activities.xml (from rev 3138, jbpm4/trunk/modules/jpdl/src/main/resources/org/jbpm/jpdl/jpdl.activities.xml)
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.activities.xml (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.activities.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -0,0 +1,6 @@
+<activities>
+ <activity binding="org.jbpm.jpdl.xml.StartBinding" />
+ <activity binding="org.jbpm.jpdl.xml.StateBinding" />
+ <activity binding="org.jbpm.jpdl.xml.ExclusiveBinding" />
+ <activity binding="org.jbpm.jpdl.xml.EndBinding" />
+</activities>
\ No newline at end of file
Copied: jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.hbm.xml (from rev 3138, jbpm4/trunk/modules/jpdl/src/main/resources/org/jbpm/jpdl/hibernate.jpdl.hbm.xml)
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.hbm.xml (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.hbm.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -0,0 +1,27 @@
+<?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 default-access="field">
+
+ <joined-subclass name="org.jbpm.jpdl.JpdlProcessDefinition" table="JBPM_JPDL_PROCDEF" extends="org.jbpm.pvm.internal.model.ProcessDefinitionImpl">
+ <key column="DBID_"/>
+ </joined-subclass>
+
+ <joined-subclass name="org.jbpm.jpdl.JpdlExecution" table="JBPM_JPDL_EXECUTION" extends="org.jbpm.pvm.internal.model.ExecutionImpl">
+ <key column="DBID_"/>
+ </joined-subclass>
+
+ <class name="org.jbpm.jpdl.activity.JpdlActivity" table="JBPM_JPDL_ACTIVITY" abstract="true" discriminator-value="X">
+ <id name="dbid" column="DBID_">
+ <generator class="native" />
+ </id>
+ <discriminator column="CLASS_" />
+ <subclass name="org.jbpm.jpdl.activity.StartActivity" discriminator-value="start" />
+ <subclass name="org.jbpm.jpdl.activity.ExclusiveConditionActivity" discriminator-value="excl-cond" />
+ <subclass name="org.jbpm.jpdl.activity.ExclusiveExpressionActivity" discriminator-value="excl-expr" />
+ <subclass name="org.jbpm.jpdl.activity.ExclusiveHandlerActivity" discriminator-value="excl-handler" />
+ <subclass name="org.jbpm.jpdl.activity.StateActivity" discriminator-value="state" />
+ <subclass name="org.jbpm.jpdl.activity.EndActivity" discriminator-value="end" />
+ </class>
+
+</hibernate-mapping>
\ No newline at end of file
Property changes on: jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.hbm.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Copied: jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.wire.bindings.xml (from rev 3138, jbpm4/trunk/modules/jpdl/src/main/resources/org/jbpm/pvm/pvm.wire.bindings.xml)
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.wire.bindings.xml (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.wire.bindings.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -0,0 +1,3 @@
+<wire-bindings>
+ <binding class="org.jbpm.jpdl.xml.ParseJpdlBinding" />
+</wire-bindings>
Property changes on: jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.wire.bindings.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Modified: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cfg.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cfg.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -25,8 +25,14 @@
<hibernate-configuration>
<properties resource="hibernate.properties" />
- <mappings resource="org/jbpm/pvm/pvm.hibernate.mappings.xml" />
- <cache-configuration resource="org/jbpm/pvm/pvm.cache.xml"
+ <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
+ <mapping resource="jbpm.pvm.wire.hbm.xml" />
+ <mapping resource="jbpm.pvm.definition.hbm.xml" />
+ <mapping resource="jbpm.pvm.execution.hbm.xml" />
+ <mapping resource="jbpm.pvm.variable.hbm.xml" />
+ <mapping resource="jbpm.pvm.job.hbm.xml" />
+ <mapping resource="jbpm.jpdl.hbm.xml" />
+ <cache-configuration resource="jbpm.pvm.cache.xml"
usage="nonstrict-read-write" />
</hibernate-configuration>
@@ -36,7 +42,7 @@
<job-test-helper />
<id-generator />
- <variable-types resource="org/jbpm/pvm/pvm.types.xml" />
+ <variable-types resource="jbpm.pvm.types.xml" />
<business-calendar>
<monday hours="9:00-12:00 and 12:30-17:00"/>
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateJobDbSession.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateJobDbSession.java 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateJobDbSession.java 2008-11-28 11:20:28 UTC (rev 3144)
@@ -35,7 +35,7 @@
public class HibernateJobDbSession extends HibernateDbSession implements JobDbSession {
public JobImpl<?> findFirstAcquirableJob() {
- // query definition can be found at the bottom of resource org/jbpm/pvm/hibernate.job.hbm.xml
+ // query definition can be found at the bottom of resource jbpm.pvm.job.hbm.xml
Query query = session.getNamedQuery("findFirstAcquirableJob");
query.setTimestamp("now", Clock.getCurrentTime());
query.setMaxResults(1);
@@ -43,7 +43,7 @@
}
public List<JobImpl<?>> findExclusiveJobs(Execution processInstance) {
- // query definition can be found at the bottom of resource org/jbpm/pvm/hibernate.job.hbm.xml
+ // query definition can be found at the bottom of resource jbpm.pvm.job.hbm.xml
Query query = session.getNamedQuery("findExclusiveJobs");
query.setTimestamp("now", Clock.getCurrentTime());
query.setEntity("processInstance", processInstance);
@@ -51,7 +51,7 @@
}
public JobImpl<?> findFirstDueJob() {
- // query definition can be found at the bottom of resource org/jbpm/pvm/hibernate.job.hbm.xml
+ // query definition can be found at the bottom of resource jbpm.pvm.job.hbm.xml
Query query = session.getNamedQuery("findFirstDueJob");
query.setMaxResults(1);
return (JobImpl<?>) query.uniqueResult();
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernatePvmDbSession.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernatePvmDbSession.java 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernatePvmDbSession.java 2008-11-28 11:20:28 UTC (rev 3144)
@@ -46,19 +46,19 @@
}
public List<String> findProcessDefinitionNames() {
- // query definition can be found at the bottom of resource org/jbpm/pvm/hibernate.definition.hbm.xml
+ // query definition can be found at the bottom of resource jbpm.pvm.definition.hbm.xml
return session.getNamedQuery("findProcessDefinitionNames").list();
}
public List<ClientProcessDefinition> findProcessDefinitionsByName(String name) {
- // query definition can be found at the bottom of resource org/jbpm/pvm/hibernate.definition.hbm.xml
+ // query definition can be found at the bottom of resource jbpm.pvm.definition.hbm.xml
Query query = session.getNamedQuery("findProcessDefinitionsByName");
query.setString("name", name);
return query.list();
}
public ClientProcessDefinition findProcessDefinitionByName(String name, int version) {
- // query definition can be found at the bottom of resource org/jbpm/pvm/hibernate.definition.hbm.xml
+ // query definition can be found at the bottom of resource jbpm.pvm.definition.hbm.xml
Query query = session.getNamedQuery("findProcessDefinitionByNameAndVersion");
query.setString("name", name);
query.setInteger("version", version);
@@ -67,7 +67,7 @@
}
public ClientProcessDefinition findLatestProcessDefinitionByName(String name) {
- // query definition can be found at the bottom of resource org/jbpm/pvm/hibernate.definition.hbm.xml
+ // query definition can be found at the bottom of resource jbpm.pvm.definition.hbm.xml
Query query = session.getNamedQuery("findProcessDefinitionsByName");
query.setString("name", name);
query.setMaxResults(1);
@@ -76,7 +76,7 @@
}
public ClientProcessDefinition findProcessDefinitionById(String processDefinitionId) {
- // query definition can be found at the bottom of resource org/jbpm/pvm/hibernate.definition.hbm.xml
+ // query definition can be found at the bottom of resource jbpm.pvm.definition.hbm.xml
Query query = session.getNamedQuery("findProcessDefinitionsById");
query.setString("id", processDefinitionId);
query.setMaxResults(1);
@@ -85,7 +85,7 @@
}
public ClientExecution findExecutionById(String executionId) {
- // query definition can be found at the bottom of resource org/jbpm/pvm/hibernate.execution.hbm.xml
+ // query definition can be found at the bottom of resource jbpm.pvm.execution.hbm.xml
Query query = session.getNamedQuery("findExecutionById");
query.setString("id", executionId);
query.setMaxResults(1);
@@ -93,7 +93,7 @@
}
public Execution findExecutionByKey(String processDefinitionName, String executionKey) {
- // query definition can be found at the bottom of resource org/jbpm/pvm/hibernate.execution.hbm.xml
+ // query definition can be found at the bottom of resource jbpm.pvm.execution.hbm.xml
Query query = session.getNamedQuery("findExecutionByKey");
query.setString("processDefinitionName", processDefinitionName);
query.setString("executionKey", executionKey);
@@ -102,7 +102,7 @@
}
public List<Timer> findTimers(int firstResult, int maxResults) {
- // query definition can be found at the bottom of resource org/jbpm/pvm/hibernate.job.hbm.xml
+ // query definition can be found at the bottom of resource jbpm.pvm.job.hbm.xml
Query query = session.getNamedQuery("findTimers");
query.setFirstResult(firstResult);
query.setMaxResults(maxResults);
@@ -110,7 +110,7 @@
}
public List<Message> findMessages(int firstResult, int maxResults) {
- // query definition can be found at the bottom of resource org/jbpm/pvm/hibernate.job.hbm.xml
+ // query definition can be found at the bottom of resource jbpm.pvm.job.hbm.xml
Query query = session.getNamedQuery("findMessages");
query.setFirstResult(firstResult);
query.setMaxResults(maxResults);
@@ -118,7 +118,7 @@
}
public List<Job> findJobsWithException(int firstResult, int maxResults) {
- // query definition can be found at the bottom of resource org/jbpm/pvm/hibernate.job.hbm.xml
+ // query definition can be found at the bottom of resource jbpm.pvm.job.hbm.xml
Query query = session.getNamedQuery("findJobsWithException");
query.setFirstResult(firstResult);
query.setMaxResults(maxResults);
@@ -126,7 +126,7 @@
}
public List<String> findProcessInstanceIds(String processDefinitionId) {
- // query definition can be found at the bottom of resource org/jbpm/pvm/hibernate.job.hbm.xml
+ // query definition can be found at the bottom of resource jbpm.pvm.job.hbm.xml
Query query = session.getNamedQuery("findProcessInstanceIds");
query.setString("processDefinitionId", processDefinitionId);
return query.list();
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DeployerManagerBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DeployerManagerBinding.java 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DeployerManagerBinding.java 2008-11-28 11:20:28 UTC (rev 3144)
@@ -56,22 +56,6 @@
public Object parse(Element element, Parse parse, Parser parser) {
DeployerManagerDescriptor descriptor = new DeployerManagerDescriptor();
- if (element.hasAttribute("resource")) {
- String resource = element.getAttribute("resource");
- try {
- Enumeration<URL> enumeration = ReflectUtil.getResources(parse.getClassLoader(), resource);
- if (enumeration!=null) {
- while (enumeration.hasMoreElements()) {
- URL url = enumeration.nextElement();
- log.trace("importing language deployers from "+url);
- parser.importStream(new UrlStreamSource(url), element, parse);
- }
- }
- } catch (Exception e) {
- parse.addProblem("couldn't parse language deployer resource '"+resource+"'", e);
- }
- }
-
List<Element> languageElements = XmlUtil.elements(element, "language");
if (languageElements!=null) {
for (Element languageElement: languageElements) {
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/xml/WireParser.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/xml/WireParser.java 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/xml/WireParser.java 2008-11-28 11:20:28 UTC (rev 3144)
@@ -1,5 +1,6 @@
package org.jbpm.pvm.internal.wire.xml;
+import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.Enumeration;
@@ -126,7 +127,11 @@
*/
public class WireParser extends Parser {
- public static final String PVM_WIRE_BINDINGS_RESOURCES = "org/jbpm/pvm/pvm.wire.bindings.xml";
+ public static final String[] DEFAULT_WIRE_BINDING_RESOURCES = new String[]{
+ "jbpm.pvm.wire.bindings.xml",
+ "jbpm.jpdl.wire.bindings.xml",
+ "jbpm.user.wire.bindings.xml"
+ };
private static final long serialVersionUID = 1L;
@@ -292,18 +297,18 @@
defaultBindings = new Bindings();
BindingParser bindingParser = new BindingParser();
-
- Enumeration<URL> enumeration = ReflectUtil.getResources(null, PVM_WIRE_BINDINGS_RESOURCES);
- if (enumeration!=null) {
- while (enumeration.hasMoreElements()) {
- URL url = enumeration.nextElement();
- log.trace("parsing bindings from resource url: "+url);
-
+
+ for (String wireResource: DEFAULT_WIRE_BINDING_RESOURCES) {
+ InputStream inputStream = ReflectUtil.getResourceAsStream(null, wireResource);
+ if (inputStream!=null) {
+ log.trace("loading wire bindings from resource: "+wireResource);
bindingParser.createParse()
- .setUrl(url)
- .pushObject(defaultBindings)
- .execute()
- .checkProblems("default wire bindings");
+ .setInputStream(inputStream)
+ .pushObject(defaultBindings)
+ .execute()
+ .checkProblems("default wire bindings");
+ } else {
+ log.trace("skipping unavailable wire bindings resource "+wireResource);
}
}
}
Copied: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.business.calendar.properties (from rev 3138, jbpm4/trunk/modules/pvm/src/main/resources/org/jbpm/pvm/internal/cal/jbpm.business.calendar.properties)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.business.calendar.properties (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.business.calendar.properties 2008-11-28 11:20:28 UTC (rev 3144)
@@ -0,0 +1,36 @@
+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
+
Property changes on: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.business.calendar.properties
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.cache.xml (from rev 3138, jbpm4/trunk/modules/pvm/src/main/resources/org/jbpm/pvm/pvm.cache.xml)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.cache.xml (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.cache.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -0,0 +1,38 @@
+<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" />
+ <class-cache class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
+
+ <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" />
+
+ <collection-cache collection="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.argDescriptors" />
+ <collection-cache collection="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.operations" />
+
+</hibernate-cache>
Property changes on: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.cache.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Copied: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.definition.hbm.xml (from rev 3138, jbpm4/trunk/modules/pvm/src/main/resources/org/jbpm/pvm/hibernate.definition.hbm.xml)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.definition.hbm.xml (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.definition.hbm.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -0,0 +1,422 @@
+<?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="key" column="KEY_" />
+ <property name="id" column="ID_" unique="true" />
+
+ <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" />
+
+ <many-to-one name="conditionDescriptor"
+ column="COND_DESCR_"
+ class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+ cascade="all"
+ foreign-key="FK_TRANS_COND"
+ index="IDX_TRANS_COND" />
+
+ <!--
+ <many-to-one name="waitConditionDescriptor"
+ column="WAIT_DESCR_"
+ class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+ cascade="all"
+ foreign-key="FK_TRANS_WAIT_DESCR"
+ index="IDX_TRANS_WAIT_DESCR" />
+ -->
+
+ <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_"/>
+ <property name="expressionLanguage" column="OBJ_EXPRLANG_"/>
+
+ <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>
+
+ <query name="findProcessDefinitionsById">
+ <![CDATA[
+ select process
+ from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
+ where process.id = :id
+ ]]>
+ </query>
+
+
+
+</hibernate-mapping>
\ No newline at end of file
Property changes on: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.definition.hbm.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Copied: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.execution.hbm.xml (from rev 3138, jbpm4/trunk/modules/pvm/src/main/resources/org/jbpm/pvm/hibernate.execution.hbm.xml)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.execution.hbm.xml (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.execution.hbm.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -0,0 +1,146 @@
+<?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="name" column="NAME_" />
+ <property name="key" column="KEY_" />
+ <property name="id" column="ID_" unique="true" />
+
+ <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="findExecutionById">
+ <![CDATA[
+ select execution
+ from org.jbpm.pvm.internal.model.ExecutionImpl as execution
+ where execution.id = :id
+ ]]>
+ </query>
+
+ <query name="findExecutionByKey">
+ <![CDATA[
+ select execution
+ from org.jbpm.pvm.internal.model.ExecutionImpl as execution
+ where execution.key = :executionKey
+ and execution.processDefinition.name = :processDefinitionName
+ ]]>
+ </query>
+
+ <query name="findProcessInstanceIds">
+ <![CDATA[
+ select processInstance.id
+ from org.jbpm.pvm.internal.model.ExecutionImpl as processInstance
+ where processInstance.processDefinition.id = :processDefinitionId
+ and processInstance.parent is null
+ ]]>
+ </query>
+
+
+</hibernate-mapping>
\ No newline at end of file
Property changes on: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.execution.hbm.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Copied: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.job.hbm.xml (from rev 3138, jbpm4/trunk/modules/pvm/src/main/resources/org/jbpm/pvm/hibernate.job.hbm.xml)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.job.hbm.xml (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.job.hbm.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -0,0 +1,136 @@
+<?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_" type="text" />
+ <property name="retries" column="RETRIES_" />
+
+ <many-to-one name="processInstance"
+ class="org.jbpm.pvm.internal.model.ExecutionImpl"
+ column="PROCESSINSTANCE_"
+ cascade="none"
+ foreign-key="FK_JOB_PRINST"
+ index="IDX_JOB_PRINST"/>
+ <many-to-one name="execution"
+ class="org.jbpm.pvm.internal.model.ExecutionImpl"
+ column="EXECUTION_"
+ cascade="none"
+ foreign-key="FK_JOB_EXE"
+ index="IDX_JOB_EXE"/>
+ <many-to-one name="commandDescriptor"
+ column="CMDDESCR_"
+ class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+ cascade="all"
+ foreign-key="FK_JOB_CMDDESCR"
+ index="IDX_JOB_CMDDESCR"/>
+
+ <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 name="org.jbpm.pvm.internal.job.CommandMessage" discriminator-value="CmdMsg" />
+ </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="findTimers">
+ <![CDATA[
+ select t
+ from org.jbpm.pvm.internal.job.TimerImpl as t
+ order by dueDate asc
+ ]]>
+ </query>
+
+ <query name="findMessages">
+ <![CDATA[
+ select m
+ from org.jbpm.pvm.internal.job.MessageImpl as m
+ ]]>
+ </query>
+
+ <query name="findJobsWithException">
+ <![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
Property changes on: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.job.hbm.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Copied: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.typedefs.hbm.xml (from rev 3138, jbpm4/trunk/modules/pvm/src/main/resources/org/jbpm/pvm/hibernate.typedefs.hbm.xml)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.typedefs.hbm.xml (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.typedefs.hbm.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -0,0 +1,20 @@
+<?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
Property changes on: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.typedefs.hbm.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Copied: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.types.xml (from rev 3138, jbpm4/trunk/modules/pvm/src/main/resources/org/jbpm/pvm/pvm.types.xml)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.types.xml (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.types.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -0,0 +1,34 @@
+<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>
Property changes on: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.types.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Copied: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.variable.hbm.xml (from rev 3138, jbpm4/trunk/modules/pvm/src/main/resources/org/jbpm/pvm/hibernate.variable.hbm.xml)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.variable.hbm.xml (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.variable.hbm.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -0,0 +1,92 @@
+<?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="timestamp"/>
+ </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
Property changes on: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.variable.hbm.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Copied: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.bindings.xml (from rev 3138, jbpm4/trunk/modules/pvm/src/main/resources/org/jbpm/pvm/pvm.wire.bindings.xml)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.bindings.xml (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.bindings.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -0,0 +1,84 @@
+<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" />
+ <binding class="org.jbpm.pvm.internal.wire.binding.IdGeneratorBinding" />
+ <!-- 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" />
+ <binding class="org.jbpm.pvm.internal.wire.binding.ExecutionServiceBinding" />
+ <binding class="org.jbpm.pvm.internal.wire.binding.ManagementServiceBinding" />
+ <!-- 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.CheckVersionBinding" />
+ <binding class="org.jbpm.pvm.internal.wire.binding.SaveProcessBinding" />
+ <binding class="org.jbpm.pvm.internal.wire.binding.CreateIdBinding" />
+ <binding class="org.jbpm.pvm.internal.wire.binding.CheckProblemsBinding" />
+
+ <!-- ############################ -->
+ <!-- ### 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.StandardTransactionInterceptorBinding" />
+ <binding class="org.jbpm.pvm.internal.wire.binding.EnlistBinding" />
+
+ <!-- ########################## -->
+ <!-- ### 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" />
+
+</wire-bindings>
Property changes on: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.bindings.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Copied: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.hbm.xml (from rev 3138, jbpm4/trunk/modules/pvm/src/main/resources/org/jbpm/pvm/hibernate.wire.hbm.xml)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.hbm.xml (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.hbm.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -0,0 +1,213 @@
+<?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
+ expr : ExpressionDescriptor
+ 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
+ provided : ProvidedObjectDescriptor
+ -->
+ <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="BOOLVAL_" />
+ <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>
+
+ <subclass name="ExpressionDescriptor" discriminator-value="expr">
+ <property name="expression" column="TEXT_" />
+ <property name="language" column="METHOD_" />
+ </subclass>
+
+ <subclass name="ProvidedObjectDescriptor" discriminator-value="provided">
+ <any name="providedObject" id-type="long" cascade="all">
+ <column name="TEXT_" />
+ <column name="LONGVAL_" />
+ </any>
+ <property name="exposeType" column="BOOLVAL_" />
+ </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
Property changes on: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.hbm.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Deleted: jbpm4/trunk/modules/pvm/src/main/resources/org.jbpm.api.client.Configuration
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/org.jbpm.api.client.Configuration 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/main/resources/org.jbpm.api.client.Configuration 2008-11-28 11:20:28 UTC (rev 3144)
@@ -1 +0,0 @@
-org.jbpm.pvm.MockProcessEngineConfiguration
\ No newline at end of file
Deleted: jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/pvm.wire.bindings.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/pvm.wire.bindings.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/pvm.wire.bindings.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -1,5 +0,0 @@
-<wire-bindings>
-
- <binding class="org.jbpm.pvm.api.timer.TestTimerSessionBinding" />
-
-</wire-bindings>
Modified: jbpm4/trunk/modules/pvm/src/test/resources/environment.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/environment.cfg.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/test/resources/environment.cfg.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -24,8 +24,13 @@
<hibernate-configuration>
<properties resource="hibernate.properties" />
- <mappings resource="org/jbpm/pvm/pvm.hibernate.mappings.xml" />
- <cache-configuration resource="org/jbpm/pvm/pvm.cache.xml"
+ <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
+ <mapping resource="jbpm.pvm.wire.hbm.xml" />
+ <mapping resource="jbpm.pvm.definition.hbm.xml" />
+ <mapping resource="jbpm.pvm.execution.hbm.xml" />
+ <mapping resource="jbpm.pvm.variable.hbm.xml" />
+ <mapping resource="jbpm.pvm.job.hbm.xml" />
+ <cache-configuration resource="jbpm.pvm.cache.xml"
usage="nonstrict-read-write" />
</hibernate-configuration>
@@ -35,7 +40,7 @@
<job-test-helper />
<id-generator />
- <variable-types resource="org/jbpm/pvm/pvm.types.xml" />
+ <variable-types resource="jbpm.pvm.types.xml" />
<business-calendar>
<monday hours="9:00-12:00 and 12:30-17:00"/>
Copied: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.user.bindings.xml (from rev 3138, jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm.wire.bindings.xml)
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.user.bindings.xml (rev 0)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.user.bindings.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -0,0 +1,5 @@
+<wire-bindings>
+
+ <binding class="org.jbpm.pvm.api.timer.TestTimerSessionBinding" />
+
+</wire-bindings>
Property changes on: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.user.bindings.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/continuation/ContinuationTest.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/continuation/ContinuationTest.cfg.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/continuation/ContinuationTest.cfg.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -8,8 +8,14 @@
<hibernate-configuration>
<properties resource="hibernate.properties" />
- <mappings resource="org/jbpm/pvm/pvm.hibernate.mappings.xml" />
- <cache-configuration resource="org/jbpm/pvm/pvm.cache.xml" usage="nonstrict-read-write" />
+ <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
+ <mapping resource="jbpm.pvm.wire.hbm.xml" />
+ <mapping resource="jbpm.pvm.definition.hbm.xml" />
+ <mapping resource="jbpm.pvm.execution.hbm.xml" />
+ <mapping resource="jbpm.pvm.variable.hbm.xml" />
+ <mapping resource="jbpm.pvm.job.hbm.xml" />
+ <cache-configuration resource="jbpm.pvm.cache.xml"
+ usage="nonstrict-read-write" />
</hibernate-configuration>
<hibernate-session-factory />
Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/svc/environment.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/svc/environment.cfg.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/svc/environment.cfg.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -24,11 +24,17 @@
<hibernate-configuration>
<properties resource="hibernate.properties" />
- <mappings resource="org/jbpm/pvm/pvm.hibernate.mappings.xml" />
- <cache-configuration resource="org/jbpm/pvm/pvm.cache.xml" usage="nonstrict-read-write" />
+ <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
+ <mapping resource="jbpm.pvm.wire.hbm.xml" />
+ <mapping resource="jbpm.pvm.definition.hbm.xml" />
+ <mapping resource="jbpm.pvm.execution.hbm.xml" />
+ <mapping resource="jbpm.pvm.variable.hbm.xml" />
+ <mapping resource="jbpm.pvm.job.hbm.xml" />
+ <cache-configuration resource="jbpm.pvm.cache.xml"
+ usage="nonstrict-read-write" />
</hibernate-configuration>
<hibernate-session-factory />
- <variable-types resource="org/jbpm/pvm/pvm.types.xml" />
+ <variable-types resource="jbpm.pvm.types.xml" />
</process-engine>
<environment>
Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/spring/spring.beans.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/spring/spring.beans.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/spring/spring.beans.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -36,12 +36,12 @@
scope="singleton">
<property name="mappingResources">
<list>
- <value>org/jbpm/pvm/hibernate.typedefs.hbm.xml</value>
- <value>org/jbpm/pvm/hibernate.wire.hbm.xml</value>
- <value>org/jbpm/pvm/hibernate.definition.hbm.xml</value>
- <value>org/jbpm/pvm/hibernate.execution.hbm.xml</value>
- <value>org/jbpm/pvm/hibernate.variable.hbm.xml</value>
- <value>org/jbpm/pvm/hibernate.job.hbm.xml</value>
+ <value>jbpm.pvm.typedefs.hbm.xml</value>
+ <value>jbpm.pvm.wire.hbm.xml</value>
+ <value>jbpm.pvm.definition.hbm.xml</value>
+ <value>jbpm.pvm.execution.hbm.xml</value>
+ <value>jbpm.pvm.variable.hbm.xml</value>
+ <value>jbpm.pvm.job.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties"><value>
Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/timer/environment.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/timer/environment.cfg.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/timer/environment.cfg.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -26,12 +26,18 @@
<hibernate-configuration>
<properties resource="hibernate.properties" />
- <mappings resource="org/jbpm/pvm/pvm.hibernate.mappings.xml" />
- <cache-configuration resource="org/jbpm/pvm/pvm.cache.xml" usage="nonstrict-read-write" />
+ <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
+ <mapping resource="jbpm.pvm.wire.hbm.xml" />
+ <mapping resource="jbpm.pvm.definition.hbm.xml" />
+ <mapping resource="jbpm.pvm.execution.hbm.xml" />
+ <mapping resource="jbpm.pvm.variable.hbm.xml" />
+ <mapping resource="jbpm.pvm.job.hbm.xml" />
+ <cache-configuration resource="jbpm.pvm.cache.xml"
+ usage="nonstrict-read-write" />
</hibernate-configuration>
<hibernate-session-factory />
- <variable-types resource="org/jbpm/pvm/pvm.types.xml" />
+ <variable-types resource="jbpm.pvm.types.xml" />
<business-calendar>
<monday hours="9:00-12:00 and 12:30-17:00"/>
Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/environment.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/environment.cfg.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/environment.cfg.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -1,7 +1,7 @@
<jbpm-configuration>
<process-engine>
- <variable-types resource="org/jbpm/pvm/pvm.types.xml" />
+ <variable-types resource="jbpm.pvm.types.xml" />
</process-engine>
<environment>
Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/langext/environment.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/langext/environment.cfg.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/langext/environment.cfg.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -24,14 +24,20 @@
<hibernate-configuration>
<properties resource="hibernate.properties" />
- <mappings resource="org/jbpm/pvm/pvm.hibernate.mappings.xml" />
- <cache-configuration resource="org/jbpm/pvm/pvm.cache.xml" usage="nonstrict-read-write" />
+ <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
+ <mapping resource="jbpm.pvm.wire.hbm.xml" />
+ <mapping resource="jbpm.pvm.definition.hbm.xml" />
+ <mapping resource="jbpm.pvm.execution.hbm.xml" />
+ <mapping resource="jbpm.pvm.variable.hbm.xml" />
+ <mapping resource="jbpm.pvm.job.hbm.xml" />
<mapping resource="org/jbpm/pvm/internal/db/langext/language.extensions.hbm.xml" />
+ <cache-configuration resource="jbpm.pvm.cache.xml"
+ usage="nonstrict-read-write" />
</hibernate-configuration>
<hibernate-session-factory />
- <variable-types resource="org/jbpm/pvm/pvm.types.xml" />
+ <variable-types resource="jbpm.pvm.types.xml" />
</process-engine>
Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/model/environment.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/model/environment.cfg.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/model/environment.cfg.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -4,12 +4,18 @@
<hibernate-configuration>
<properties resource="hibernate.properties" />
- <mappings resource="org/jbpm/pvm/pvm.hibernate.mappings.xml" />
- <cache-configuration resource="org/jbpm/pvm/pvm.cache.xml" usage="nonstrict-read-write" />
+ <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
+ <mapping resource="jbpm.pvm.wire.hbm.xml" />
+ <mapping resource="jbpm.pvm.definition.hbm.xml" />
+ <mapping resource="jbpm.pvm.execution.hbm.xml" />
+ <mapping resource="jbpm.pvm.variable.hbm.xml" />
+ <mapping resource="jbpm.pvm.job.hbm.xml" />
+ <cache-configuration resource="jbpm.pvm.cache.xml"
+ usage="nonstrict-read-write" />
</hibernate-configuration>
<hibernate-session-factory />
- <variable-types resource="org/jbpm/pvm/pvm.types.xml" />
+ <variable-types resource="jbpm.pvm.types.xml" />
</process-engine>
Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/type/environmentCustomTypes.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/type/environmentCustomTypes.cfg.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/type/environmentCustomTypes.cfg.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -4,8 +4,14 @@
<hibernate-configuration>
<properties resource="hibernate.properties" />
- <mappings resource="org/jbpm/pvm/pvm.hibernate.mappings.xml" />
- <cache-configuration resource="org/jbpm/pvm/pvm.cache.xml" usage="nonstrict-read-write" />
+ <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
+ <mapping resource="jbpm.pvm.wire.hbm.xml" />
+ <mapping resource="jbpm.pvm.definition.hbm.xml" />
+ <mapping resource="jbpm.pvm.execution.hbm.xml" />
+ <mapping resource="jbpm.pvm.variable.hbm.xml" />
+ <mapping resource="jbpm.pvm.job.hbm.xml" />
+ <cache-configuration resource="jbpm.pvm.cache.xml"
+ usage="nonstrict-read-write" />
</hibernate-configuration>
<hibernate-session-factory />
Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/jobexecutor/environment.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/jobexecutor/environment.cfg.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/jobexecutor/environment.cfg.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -11,14 +11,20 @@
<hibernate-configuration>
<properties resource="hibernate.properties" />
- <mappings resource="org/jbpm/pvm/pvm.hibernate.mappings.xml" />
+ <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
+ <mapping resource="jbpm.pvm.wire.hbm.xml" />
+ <mapping resource="jbpm.pvm.definition.hbm.xml" />
+ <mapping resource="jbpm.pvm.execution.hbm.xml" />
+ <mapping resource="jbpm.pvm.variable.hbm.xml" />
+ <mapping resource="jbpm.pvm.job.hbm.xml" />
<mapping resource="org/jbpm/pvm/internal/jobexecutor/mappings.hbm.xml" />
- <cache-configuration resource="org/jbpm/pvm/pvm.cache.xml" usage="nonstrict-read-write" />
+ <cache-configuration resource="jbpm.pvm.cache.xml"
+ usage="nonstrict-read-write" />
</hibernate-configuration>
<hibernate-session-factory />
- <variable-types resource="org/jbpm/pvm/pvm.types.xml" />
+ <variable-types resource="jbpm.pvm.types.xml" />
<!-- used in JobExecutorTest -->
<list name="processedMessageIds" synchronized="true" />
Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/type/environment.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/type/environment.cfg.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/type/environment.cfg.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -1,7 +1,7 @@
<jbpm-configuration>
<process-engine>
- <variable-types resource="org/jbpm/pvm/pvm.types.xml" />
+ <variable-types resource="jbpm.pvm.types.xml" />
</process-engine>
<environment>
Deleted: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm.wire.bindings.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm.wire.bindings.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm.wire.bindings.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -1,5 +0,0 @@
-<wire-bindings>
-
- <binding class="org.jbpm.pvm.api.timer.TestTimerSessionBinding" />
-
-</wire-bindings>
Modified: jbpm4/trunk/modules/task/src/test/resources/environment.cfg.xml
===================================================================
--- jbpm4/trunk/modules/task/src/test/resources/environment.cfg.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/task/src/test/resources/environment.cfg.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -24,8 +24,13 @@
<hibernate-configuration>
<properties resource="hibernate.properties" />
- <mappings resource="org/jbpm/pvm/pvm.hibernate.mappings.xml" />
- <cache-configuration resource="org/jbpm/pvm/pvm.cache.xml"
+ <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
+ <mapping resource="jbpm.pvm.wire.hbm.xml" />
+ <mapping resource="jbpm.pvm.definition.hbm.xml" />
+ <mapping resource="jbpm.pvm.execution.hbm.xml" />
+ <mapping resource="jbpm.pvm.variable.hbm.xml" />
+ <mapping resource="jbpm.pvm.job.hbm.xml" />
+ <cache-configuration resource="jbpm.pvm.cache.xml"
usage="nonstrict-read-write" />
</hibernate-configuration>
@@ -35,7 +40,7 @@
<job-test-helper />
<id-generator />
- <variable-types resource="org/jbpm/pvm/pvm.types.xml" />
+ <variable-types resource="jbpm.pvm.types.xml" />
<business-calendar>
<monday hours="9:00-12:00 and 12:30-17:00"/>
Modified: jbpm4/trunk/modules/task/src/test/resources/jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/task/src/test/resources/jbpm.cfg.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/task/src/test/resources/jbpm.cfg.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -24,8 +24,13 @@
<hibernate-configuration>
<properties resource="hibernate.properties" />
- <mappings resource="org/jbpm/pvm/pvm.hibernate.mappings.xml" />
- <cache-configuration resource="org/jbpm/pvm/pvm.cache.xml"
+ <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
+ <mapping resource="jbpm.pvm.wire.hbm.xml" />
+ <mapping resource="jbpm.pvm.definition.hbm.xml" />
+ <mapping resource="jbpm.pvm.execution.hbm.xml" />
+ <mapping resource="jbpm.pvm.variable.hbm.xml" />
+ <mapping resource="jbpm.pvm.job.hbm.xml" />
+ <cache-configuration resource="jbpm.pvm.cache.xml"
usage="nonstrict-read-write" />
</hibernate-configuration>
@@ -35,7 +40,7 @@
<job-test-helper />
<id-generator />
- <variable-types resource="org/jbpm/pvm/pvm.types.xml" />
+ <variable-types resource="jbpm.pvm.types.xml" />
<business-calendar>
<monday hours="9:00-12:00 and 12:30-17:00"/>
Modified: jbpm4/trunk/modules/task/src/test/resources/org.jbpm.task.cfg.xml
===================================================================
--- jbpm4/trunk/modules/task/src/test/resources/org.jbpm.task.cfg.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/task/src/test/resources/org.jbpm.task.cfg.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -13,8 +13,14 @@
<hibernate-configuration>
<properties resource="hibernate.properties" />
- <mappings resources="pvm.hibernate.mappings.xml" />
- <cache-configuration resource="pvm.definition.cache.xml" usage="nonstrict-read-write" />
+ <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
+ <mapping resource="jbpm.pvm.wire.hbm.xml" />
+ <mapping resource="jbpm.pvm.definition.hbm.xml" />
+ <mapping resource="jbpm.pvm.execution.hbm.xml" />
+ <mapping resource="jbpm.pvm.variable.hbm.xml" />
+ <mapping resource="jbpm.pvm.job.hbm.xml" />
+ <cache-configuration resource="jbpm.pvm.cache.xml"
+ usage="nonstrict-read-write" />
</hibernate-configuration>
<hibernate-session-factory />
<variable-types resource="pvm.variable.types.xml" />
Modified: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cfg.xml 2008-11-28 11:05:29 UTC (rev 3143)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cfg.xml 2008-11-28 11:20:28 UTC (rev 3144)
@@ -26,14 +26,14 @@
<hibernate-configuration>
<properties resource="hibernate.properties" />
- <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" />
- <mapping resource="org/jbpm/jpdl/hibernate.jpdl.hbm.xml" />
- <cache-configuration resource="org/jbpm/pvm/pvm.cache.xml"
+ <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
+ <mapping resource="jbpm.pvm.wire.hbm.xml" />
+ <mapping resource="jbpm.pvm.definition.hbm.xml" />
+ <mapping resource="jbpm.pvm.execution.hbm.xml" />
+ <mapping resource="jbpm.pvm.variable.hbm.xml" />
+ <mapping resource="jbpm.pvm.job.hbm.xml" />
+ <mapping resource="jbpm.jpdl.hbm.xml" />
+ <cache-configuration resource="jbpm.pvm.cache.xml"
usage="nonstrict-read-write" />
</hibernate-configuration>
@@ -43,7 +43,7 @@
<job-test-helper />
<id-generator />
- <variable-types resource="org/jbpm/pvm/pvm.types.xml" />
+ <variable-types resource="jbpm.pvm.types.xml" />
<business-calendar>
<monday hours="9:00-12:00 and 12:30-17:00"/>
17 years, 5 months
JBoss JBPM SVN: r3143 - in projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration: spec and 1 other directory.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-11-28 06:05:29 -0500 (Fri, 28 Nov 2008)
New Revision: 3143
Added:
projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/TaskManagementImpl.java
projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/UserManagementImpl.java
Modified:
projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ManagementFactory.java
projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ManagementFactoryImpl.java
projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ProcessManagementImpl.java
Log:
Add task & identity service
Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ManagementFactory.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ManagementFactory.java 2008-11-28 11:05:17 UTC (rev 3142)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ManagementFactory.java 2008-11-28 11:05:29 UTC (rev 3143)
@@ -23,7 +23,6 @@
// $Id: $
-import org.jboss.bpm.console.server.integration.jbpm3.JBPM3ManagementFactory;
import org.jboss.bpm.console.server.integration.spec.ManagementFactoryImpl;
/**
@@ -42,9 +41,9 @@
public abstract ProcessManagement createProcessManagement();
- public abstract ExtensionManagement createExtensionManagement();
-
public abstract TaskManagement createTaskManagement();
public abstract UserManagement createUserManagement();
+
+ public abstract ExtensionManagement createExtensionManagement();
}
Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ManagementFactoryImpl.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ManagementFactoryImpl.java 2008-11-28 11:05:17 UTC (rev 3142)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ManagementFactoryImpl.java 2008-11-28 11:05:29 UTC (rev 3143)
@@ -28,32 +28,29 @@
import org.jboss.bpm.console.server.integration.TaskManagement;
import org.jboss.bpm.console.server.integration.UserManagement;
import org.jboss.bpm.console.server.integration.jbpm3.JBPM3ManagementExtension;
-import org.jboss.bpm.console.server.integration.jbpm3.JBPM3TaskManagement;
-import org.jboss.bpm.console.server.integration.jbpm3.JBPM3UserManagement;
/**
- * Wraps management instances in {@link InvocationProxy}
* @author Thomas.Diesler(a)jboss.com
*/
public class ManagementFactoryImpl extends ManagementFactory
{
public ProcessManagement createProcessManagement()
{
- return (ProcessManagement) InvocationProxy.newInstance(new ProcessManagementImpl());
+ return new ProcessManagementImpl();
}
- public ExtensionManagement createExtensionManagement()
+ public TaskManagement createTaskManagement()
{
- return (ExtensionManagement) InvocationProxy.newInstance( new JBPM3ManagementExtension() );
+ return new TaskManagementImpl();
}
- public TaskManagement createTaskManagement()
+ public UserManagement createUserManagement()
{
- return (TaskManagement) InvocationProxy.newInstance( new JBPM3TaskManagement() );
+ return new UserManagementImpl();
}
- public UserManagement createUserManagement()
+ public ExtensionManagement createExtensionManagement()
{
- return (UserManagement) InvocationProxy.newInstance( new JBPM3UserManagement() );
+ return (ExtensionManagement) InvocationProxy.newInstance( new JBPM3ManagementExtension() );
}
}
Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ProcessManagementImpl.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ProcessManagementImpl.java 2008-11-28 11:05:17 UTC (rev 3142)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ProcessManagementImpl.java 2008-11-28 11:05:29 UTC (rev 3143)
@@ -49,7 +49,7 @@
import org.jboss.bpm.console.server.integration.ProcessManagement;
/**
- * An implementation that delegates to the jBPM API
+ * An implementation that delegates to a BPM Spec.
*
* @author Thomas.Diesler(a)jboss.com
* @since 25-Nov-2008
@@ -182,7 +182,7 @@
Process proc = procService.getProcess(procID);
for (Token aux : proc.getTokens())
{
- Long auxId = apaptKey(aux.getKey());
+ Long auxId = adaptKey(aux.getKey());
if (auxId == tokenId)
{
token = aux;
@@ -217,7 +217,7 @@
while (it.hasNext())
{
ObjectName auxKey = it.next();
- if (procDefID == apaptKey(auxKey))
+ if (procDefID == adaptKey(auxKey))
{
procDef = pdService.getProcessDefinition(auxKey);
break;
@@ -229,7 +229,7 @@
private ProcessDefinitionRef adaptProcessDefinition(ProcessDefinition procDef)
{
ObjectName procDefKey = procDef.getKey();
- Long procDefID = apaptKey(procDefKey);
+ Long procDefID = adaptKey(procDefKey);
return new ProcessDefinitionRef(procDefID, procDef.getName(), procDef.getVersion());
}
@@ -248,7 +248,7 @@
while (it.hasNext())
{
ObjectName auxKey = it.next();
- if (procID == apaptKey(auxKey))
+ if (procID == adaptKey(auxKey))
{
proc = procService.getProcess(auxKey);
break;
@@ -259,8 +259,8 @@
private ProcessInstanceRef adaptProcess(Process proc)
{
- Long procDefID = apaptKey(proc.getProcessDefinition().getKey());
- Long procID = apaptKey(proc.getKey());
+ Long procDefID = adaptKey(proc.getProcessDefinition().getKey());
+ Long procID = adaptKey(proc.getKey());
// The BPM Spec does not (yet) have the notion of a suspended Process
boolean suspended = false;
@@ -275,7 +275,7 @@
private TokenReference adaptToken(Token token)
{
- Long tokenId = apaptKey(token.getKey());
+ Long tokenId = adaptKey(token.getKey());
token.getKey();
Node currNode = token.getCurrentNode();
@@ -309,7 +309,7 @@
return tokenRef;
}
- private Long apaptKey(ObjectName key)
+ private Long adaptKey(ObjectName key)
{
String id = key.getKeyProperty("id");
if (id == null)
Added: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/TaskManagementImpl.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/TaskManagementImpl.java (rev 0)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/TaskManagementImpl.java 2008-11-28 11:05:29 UTC (rev 3143)
@@ -0,0 +1,162 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.console.server.integration.spec;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.management.ObjectName;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jboss.bpm.api.client.Configuration;
+import org.jboss.bpm.api.client.ProcessEngine;
+import org.jboss.bpm.api.model.Node;
+import org.jboss.bpm.api.model.Process;
+import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jboss.bpm.api.model.SingleOutFlowSupport;
+import org.jboss.bpm.api.model.builder.ObjectNameFactory;
+import org.jboss.bpm.api.runtime.Token;
+import org.jboss.bpm.api.service.ExecutionService;
+import org.jboss.bpm.api.service.TaskService;
+import org.jboss.bpm.api.task.Task;
+import org.jboss.bpm.console.client.model.TaskRef;
+import org.jboss.bpm.console.server.integration.TaskManagement;
+
+/**
+ * An implementation that delegates to a BPM Spec.
+ *
+ * https://jira.jboss.org/jira/browse/JBPM-1892
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 28-Nov-2008
+ */
+public class TaskManagementImpl implements TaskManagement
+{
+ private static final Log log = LogFactory.getLog(TaskManagementImpl.class);
+
+ public TaskRef getTaskById(long taskId)
+ {
+ log.info("getTaskById: " + taskId);
+
+ ObjectName taskKey = getTaskKey(taskId);
+ TaskService taskService = getTaskService();
+ Task task = taskService.getTask(taskKey);
+
+ return adaptTask(task);
+ }
+
+ public List<TaskRef> getTasksByActor(String actor)
+ {
+ log.info("getTasksByActor: " + actor);
+
+ List<TaskRef> taskRefs = new ArrayList<TaskRef>();
+ TaskService taskService = getTaskService();
+ for (Task task : taskService.getTasksByActor(actor))
+ {
+ log.info(task);
+ taskRefs.add(adaptTask(task));
+ }
+ return taskRefs;
+ }
+
+ public void closeTask(long taskId, String signalName)
+ {
+ log.info("closeTask: " + taskId + "," + signalName);
+
+ ObjectName taskKey = getTaskKey(taskId);
+ TaskService taskService = getTaskService();
+ taskService.closeTask(taskKey, signalName);
+ }
+
+ public void reassignTask(long taskId, String actor)
+ {
+ log.info("reassignTask: " + taskId + "," + actor);
+
+ ObjectName taskKey = getTaskKey(taskId);
+ TaskService taskService = getTaskService();
+ taskService.reassignTask(taskKey, actor);
+ }
+
+ private TaskRef adaptTask(Task task)
+ {
+ Long taskId = adaptKey(task.getKey());
+
+ ObjectName tokenKey = task.getCorrelationKey();
+ Token token = getExecutionService().getToken(tokenKey);
+ Long tokenId = adaptKey(tokenKey);
+
+ Process proc = token.getProcess();
+ Long procId = adaptKey(proc.getKey());
+
+ ProcessDefinition procDef = proc.getProcessDefinition();
+ Long procDefId = adaptKey(procDef.getKey());
+
+ TaskRef taskRef = new TaskRef(taskId, tokenId, procId, procDefId, task.getName(), task.getActor(), task.isBlocking(), task.isSignalling());
+
+ for (String pa : task.getPooledActors())
+ {
+ taskRef.addPooledActor(pa);
+ }
+
+ Node currentNode = token.getCurrentNode();
+ if (currentNode instanceof SingleOutFlowSupport)
+ {
+ SingleOutFlowSupport sofs = (SingleOutFlowSupport)currentNode;
+ String targetName = sofs.getOutFlow().getName();
+ if (targetName == null)
+ targetName = sofs.getOutFlow().getTargetRef();
+
+ taskRef.getTransitionNames().add(targetName);
+ }
+
+ return taskRef;
+ }
+
+ private Long adaptKey(ObjectName key)
+ {
+ String id = key.getKeyProperty("id");
+ if (id == null)
+ throw new IllegalStateException("Cannot obtain id property from: " + key);
+
+ return new Long(id);
+ }
+
+ private ObjectName getTaskKey(long taskId)
+ {
+ return ObjectNameFactory.create("Task:id= " + taskId);
+ }
+
+ private TaskService getTaskService()
+ {
+ ProcessEngine engine = Configuration.getProcessEngine();
+ TaskService taskService = engine.getService(TaskService.class);
+ return taskService;
+ }
+
+ private ExecutionService getExecutionService()
+ {
+ ProcessEngine engine = Configuration.getProcessEngine();
+ ExecutionService exService = engine.getService(ExecutionService.class);
+ return exService;
+ }
+}
Property changes on: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/TaskManagementImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/UserManagementImpl.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/UserManagementImpl.java (rev 0)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/UserManagementImpl.java 2008-11-28 11:05:29 UTC (rev 3143)
@@ -0,0 +1,73 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.console.server.integration.spec;
+
+import java.util.List;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jboss.bpm.api.client.Configuration;
+import org.jboss.bpm.api.client.ProcessEngine;
+import org.jboss.bpm.api.service.IdentityService;
+import org.jboss.bpm.console.server.integration.UserManagement;
+
+/**
+ * An implementation that delegates to a BPM Spec.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 28-Nov-2008
+ */
+public class UserManagementImpl implements UserManagement
+{
+ private static final Log log = LogFactory.getLog(UserManagementImpl.class);
+
+ public List<String> getGroupsForActor(String actor)
+ {
+ log.info("getGroupsForActor: " + actor);
+
+ IdentityService identService = getIdentityService();
+ List<String> groups = identService.getGroupsByActor(actor);
+
+ log.info(groups);
+
+ return groups;
+ }
+
+ public List<String> getActorsForGroup(String group)
+ {
+ log.info("getActorsForGroup: " + group);
+
+ IdentityService identService = getIdentityService();
+ List<String> actors = identService.getActorsByGroup(group);
+
+ log.info(actors);
+
+ return actors;
+ }
+
+ private IdentityService getIdentityService()
+ {
+ ProcessEngine engine = Configuration.getProcessEngine();
+ IdentityService identService = engine.getService(IdentityService.class);
+ return identService;
+ }
+}
Property changes on: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/UserManagementImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
17 years, 5 months
JBoss JBPM SVN: r3142 - in jbpm3/trunk/modules: integration/jboss42/src/main/etc and 6 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-11-28 06:05:17 -0500 (Fri, 28 Nov 2008)
New Revision: 3142
Added:
jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ExecutionServiceImpl.java
jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/IdentityServiceImpl.java
jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/TaskServiceImpl.java
jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/task/
jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/task/TaskImpl.java
Modified:
jbpm3/trunk/modules/core/src/main/java/org/jbpm/taskmgmt/exe/PooledActor.java
jbpm3/trunk/modules/core/src/main/java/org/jbpm/taskmgmt/exe/SwimlaneInstance.java
jbpm3/trunk/modules/core/src/main/java/org/jbpm/taskmgmt/exe/TaskInstance.java
jbpm3/trunk/modules/integration/jboss42/src/main/etc/jboss-beans.xml
jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/client/ProcessEngineImpl.java
jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/ProcessDefinitionImpl.java
jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ProcessDefinitionServiceImpl.java
jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ProcessServiceImpl.java
jbpm3/trunk/modules/integration/spec/src/main/resources/jbpm-cfg-beans.xml
Log:
Add task & identity service
Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/taskmgmt/exe/PooledActor.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/taskmgmt/exe/PooledActor.java 2008-11-28 11:04:14 UTC (rev 3141)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/taskmgmt/exe/PooledActor.java 2008-11-28 11:05:17 UTC (rev 3142)
@@ -38,8 +38,8 @@
protected Set taskInstances = null;
protected SwimlaneInstance swimlaneInstance = null;
- public static Set createPool(String[] actorIds, SwimlaneInstance swimlaneInstance, TaskInstance taskInstance) {
- Set pooledActors = new HashSet();
+ public static Set<PooledActor> createPool(String[] actorIds, SwimlaneInstance swimlaneInstance, TaskInstance taskInstance) {
+ Set<PooledActor> pooledActors = new HashSet<PooledActor>();
for (int i=0; i<actorIds.length; i++) {
PooledActor pooledActor = new PooledActor(actorIds[i]);
if (swimlaneInstance!=null) {
Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/taskmgmt/exe/SwimlaneInstance.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/taskmgmt/exe/SwimlaneInstance.java 2008-11-28 11:04:14 UTC (rev 3141)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/taskmgmt/exe/SwimlaneInstance.java 2008-11-28 11:05:17 UTC (rev 3142)
@@ -38,7 +38,7 @@
int version = 0;
protected String name = null;
protected String actorId = null;
- protected Set pooledActors = null;
+ protected Set<PooledActor> pooledActors = null;
protected Swimlane swimlane = null;
protected TaskMgmtInstance taskMgmtInstance = null;
@@ -84,10 +84,10 @@
public void setTaskMgmtInstance(TaskMgmtInstance taskMgmtInstance) {
this.taskMgmtInstance = taskMgmtInstance;
}
- public Set getPooledActors() {
+ public Set<PooledActor> getPooledActors() {
return pooledActors;
}
- public void setPooledActors(Set pooledActors) {
+ public void setPooledActors(Set<PooledActor> pooledActors) {
this.pooledActors = pooledActors;
}
}
Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/taskmgmt/exe/TaskInstance.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/taskmgmt/exe/TaskInstance.java 2008-11-28 11:04:14 UTC (rev 3141)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/taskmgmt/exe/TaskInstance.java 2008-11-28 11:05:17 UTC (rev 3142)
@@ -51,11 +51,11 @@
import org.jbpm.util.EqualsUtil;
/**
- * is one task instance that can be assigned to an actor (read: put in
- * someones task list) and that can trigger the coninuation of execution
- * of the token upon completion.
+ * is one task instance that can be assigned to an actor (read: put in someones task list) and that can trigger the
+ * coninuation of execution of the token upon completion.
*/
-public class TaskInstance extends VariableContainer implements Assignable {
+public class TaskInstance extends VariableContainer implements Assignable
+{
private static final long serialVersionUID = 1L;
@@ -79,24 +79,28 @@
protected SwimlaneInstance swimlaneInstance = null;
protected TaskMgmtInstance taskMgmtInstance = null;
protected ProcessInstance processInstance = null;
- protected Set pooledActors = null;
+ protected Set<PooledActor> pooledActors = null;
protected List comments = null;
- protected String previousActorId = null; // not persisted. just extra information for listeners of the assign-event
+ protected String previousActorId = null; // not persisted. just extra information for listeners of the assign-event
- public TaskInstance() {
+ public TaskInstance()
+ {
}
- public TaskInstance(String taskName) {
+ public TaskInstance(String taskName)
+ {
this.name = taskName;
}
- public TaskInstance(String taskName, String actorId) {
+ public TaskInstance(String taskName, String actorId)
+ {
this.name = taskName;
this.actorId = actorId;
}
- public void setTask(Task task) {
+ public void setTask(Task task)
+ {
this.name = task.getName();
this.description = task.getDescription();
this.task = task;
@@ -104,117 +108,129 @@
this.priority = task.getPriority();
this.isSignalling = task.isSignalling();
}
-
- void submitVariables() {
- TaskController taskController = (task!=null ? task.getTaskController() : null);
- // if there is a task controller,
- if (taskController!=null) {
+
+ void submitVariables()
+ {
+ TaskController taskController = (task != null ? task.getTaskController() : null);
+ // if there is a task controller,
+ if (taskController != null)
+ {
// the task controller is responsible for copying variables back into the process
taskController.submitParameters(this);
-
- // if there is no task controller
- } else if ( (token!=null)
- && (token.getProcessInstance()!=null)
- ) {
- // the default behaviour is that all task-local variables are flushed to the process
- if (variableInstances!=null) {
+
+ // if there is no task controller
+ }
+ else if ((token != null) && (token.getProcessInstance() != null))
+ {
+ // the default behaviour is that all task-local variables are flushed to the process
+ if (variableInstances != null)
+ {
ContextInstance contextInstance = token.getProcessInstance().getContextInstance();
Iterator iter = variableInstances.values().iterator();
- while(iter.hasNext()) {
- VariableInstance variableInstance = (VariableInstance) iter.next();
- log.debug("flushing variable '"+variableInstance.getName()+"' from task '"+name+"' to process variables");
+ while (iter.hasNext())
+ {
+ VariableInstance variableInstance = (VariableInstance)iter.next();
+ log.debug("flushing variable '" + variableInstance.getName() + "' from task '" + name + "' to process variables");
// This might be optimized, but this was the simplest way to make a clone of the variable instance.
contextInstance.setVariable(variableInstance.getName(), variableInstance.getValue(), token);
}
}
}
}
- void initializeVariables() {
- TaskController taskController = (task!=null ? task.getTaskController() : null);
- if (taskController!=null) {
+
+ void initializeVariables()
+ {
+ TaskController taskController = (task != null ? task.getTaskController() : null);
+ if (taskController != null)
+ {
taskController.initializeVariables(this);
}
}
- public void create() {
+ public void create()
+ {
create(null);
}
- public void create(ExecutionContext executionContext) {
- if (create!=null) {
- throw new IllegalStateException("task instance '"+id+"' was already created");
+ public void create(ExecutionContext executionContext)
+ {
+ if (create != null)
+ {
+ throw new IllegalStateException("task instance '" + id + "' was already created");
}
create = Clock.getCurrentTime();
-
+
// if this task instance is associated with a task...
- if ( (task!=null)
- && (executionContext!=null)
- ) {
+ if ((task != null) && (executionContext != null))
+ {
// the TASK_CREATE event is fired
executionContext.setTaskInstance(this);
executionContext.setTask(task);
task.fireEvent(Event.EVENTTYPE_TASK_CREATE, executionContext);
}
-
+
// WARNING: The events create and assign are fired in the right order, but
// the logs are still not ordered properly.
// See also: TaskMgmtInstance.createTaskInstance
}
- public void assign(ExecutionContext executionContext) {
+ public void assign(ExecutionContext executionContext)
+ {
TaskMgmtInstance taskMgmtInstance = executionContext.getTaskMgmtInstance();
-
+
Swimlane swimlane = task.getSwimlane();
// if this task is in a swimlane
- if (swimlane!=null) {
-
+ if (swimlane != null)
+ {
+
// if this is a task assignment for a start-state
- if (isStartTaskInstance()) {
+ if (isStartTaskInstance())
+ {
// initialize the swimlane
swimlaneInstance = new SwimlaneInstance(swimlane);
taskMgmtInstance.addSwimlaneInstance(swimlaneInstance);
// with the current authenticated actor
swimlaneInstance.setActorId(SecurityHelper.getAuthenticatedActorId());
-
- } else {
-
+
+ }
+ else
+ {
+
// lazy initialize the swimlane...
- // get the swimlane instance (if there is any)
+ // get the swimlane instance (if there is any)
swimlaneInstance = taskMgmtInstance.getInitializedSwimlaneInstance(executionContext, swimlane);
-
+
// copy the swimlaneInstance assignment into the taskInstance assignment
copySwimlaneInstanceAssignment(swimlaneInstance);
}
- } else { // this task is not in a swimlane
- taskMgmtInstance.performAssignment(task.getAssignmentDelegation(),
- task.getActorIdExpression(),
- task.getPooledActorsExpression(),
- this,
- executionContext);
}
-
+ else
+ { // this task is not in a swimlane
+ taskMgmtInstance.performAssignment(task.getAssignmentDelegation(), task.getActorIdExpression(), task.getPooledActorsExpression(), this, executionContext);
+ }
+
updatePooledActorsReferences(swimlaneInstance);
}
-
- public boolean isStartTaskInstance() {
+ public boolean isStartTaskInstance()
+ {
boolean isStartTaskInstance = false;
- if ( (taskMgmtInstance!=null)
- && (taskMgmtInstance.getTaskMgmtDefinition()!=null)
- ) {
- isStartTaskInstance = ( (task!=null)
- && (task.equals(taskMgmtInstance.getTaskMgmtDefinition().getStartTask()))
- );
+ if ((taskMgmtInstance != null) && (taskMgmtInstance.getTaskMgmtDefinition() != null))
+ {
+ isStartTaskInstance = ((task != null) && (task.equals(taskMgmtInstance.getTaskMgmtDefinition().getStartTask())));
}
return isStartTaskInstance;
}
- void updatePooledActorsReferences(SwimlaneInstance swimlaneInstance) {
- if (pooledActors!=null) {
+ void updatePooledActorsReferences(SwimlaneInstance swimlaneInstance)
+ {
+ if (pooledActors != null)
+ {
Iterator iter = pooledActors.iterator();
- while (iter.hasNext()) {
- PooledActor pooledActor = (PooledActor) iter.next();
+ while (iter.hasNext())
+ {
+ PooledActor pooledActor = (PooledActor)iter.next();
pooledActor.setSwimlaneInstance(swimlaneInstance);
pooledActor.addTaskInstance(this);
}
@@ -222,58 +238,58 @@
}
/**
- * copies the assignment (that includes both the swimlaneActorId and the set of pooledActors) of
- * the given swimlane into this taskInstance.
+ * copies the assignment (that includes both the swimlaneActorId and the set of pooledActors) of the given swimlane
+ * into this taskInstance.
*/
- public void copySwimlaneInstanceAssignment(SwimlaneInstance swimlaneInstance) {
+ public void copySwimlaneInstanceAssignment(SwimlaneInstance swimlaneInstance)
+ {
setSwimlaneInstance(swimlaneInstance);
setActorId(swimlaneInstance.getActorId());
setPooledActors(swimlaneInstance.getPooledActors());
}
/**
- * gets the pool of actors for this task instance. If this task has a simlaneInstance
- * and no pooled actors, the pooled actors of the swimlane instance are returned.
+ * gets the pool of actors for this task instance. If this task has a simlaneInstance and no pooled actors, the pooled
+ * actors of the swimlane instance are returned.
*/
- public Set getPooledActors() {
- if ( (swimlaneInstance!=null)
- && ( (pooledActors==null)
- || (pooledActors.isEmpty())
- )
- ){
- return swimlaneInstance.getPooledActors();
+ public Set<PooledActor> getPooledActors()
+ {
+ if ((swimlaneInstance != null) && ((pooledActors == null) || (pooledActors.isEmpty())))
+ {
+ return swimlaneInstance.getPooledActors();
}
return pooledActors;
}
/**
- * (re)assign this task to the given actor. If this task is related
- * to a swimlane instance, that swimlane instance will be updated as well.
+ * (re)assign this task to the given actor. If this task is related to a swimlane instance, that swimlane instance
+ * will be updated as well.
*/
- public void setActorId(String actorId) {
+ public void setActorId(String actorId)
+ {
setActorId(actorId, true);
}
/**
* (re)assign this task to the given actor.
+ *
* @param actorId is reference to the person that is assigned to this task.
- * @param overwriteSwimlane specifies if the related swimlane
- * should be overwritten with the given swimlaneActorId.
+ * @param overwriteSwimlane specifies if the related swimlane should be overwritten with the given swimlaneActorId.
*/
- public void setActorId(String actorId, boolean overwriteSwimlane){
+ public void setActorId(String actorId, boolean overwriteSwimlane)
+ {
// do the actual assignment
this.previousActorId = this.actorId;
this.actorId = actorId;
- if ( (swimlaneInstance!=null)
- && (overwriteSwimlane) ) {
- log.debug("assigning task '"+name+"' to '"+actorId+"'");
+ if ((swimlaneInstance != null) && (overwriteSwimlane))
+ {
+ log.debug("assigning task '" + name + "' to '" + actorId + "'");
swimlaneInstance.setActorId(actorId);
}
-
+
// fire the event
- if ( (task!=null)
- && (token!=null)
- ) {
+ if ((task != null) && (token != null))
+ {
ExecutionContext executionContext = new ExecutionContext(token);
executionContext.setTask(task);
executionContext.setTaskInstance(this);
@@ -283,32 +299,34 @@
// See also: TaskMgmtInstance.createTaskInstance
task.fireEvent(Event.EVENTTYPE_TASK_ASSIGN, executionContext);
}
-
+
// add the log
- if (token!=null) {
+ if (token != null)
+ {
// log this assignment
token.addLog(new TaskAssignLog(this, previousActorId, actorId));
}
}
/** takes a set of String's as the actorIds */
- public void setPooledActors(String[] actorIds) {
+ public void setPooledActors(String[] actorIds)
+ {
this.pooledActors = PooledActor.createPool(actorIds, null, this);
}
/**
- * can optionally be used to indicate that the actor is starting to
- * work on this task instance.
+ * can optionally be used to indicate that the actor is starting to work on this task instance.
*/
- public void start(){
- if (start!=null) {
- throw new IllegalStateException("task instance '"+id+"' is already started");
+ public void start()
+ {
+ if (start != null)
+ {
+ throw new IllegalStateException("task instance '" + id + "' is already started");
}
-
+
start = Clock.getCurrentTime();
- if ( (task!=null)
- && (token!=null)
- ) {
+ if ((task != null) && (token != null))
+ {
ExecutionContext executionContext = new ExecutionContext(token);
executionContext.setTask(task);
executionContext.setTaskInstance(this);
@@ -317,176 +335,181 @@
}
/**
- * convenience method that combines a {@link #setActorId(String)} and
- * a {@link #start()}.
+ * convenience method that combines a {@link #setActorId(String)} and a {@link #start()}.
*/
- public void start(String actorId){
+ public void start(String actorId)
+ {
start(actorId, true);
}
-
+
/**
- * convenience method that combines a {@link #setActorId(String,boolean)} and
- * a {@link #start()}.
+ * convenience method that combines a {@link #setActorId(String,boolean)} and a {@link #start()}.
*/
- public void start(String actorId, boolean overwriteSwimlane){
+ public void start(String actorId, boolean overwriteSwimlane)
+ {
setActorId(actorId, overwriteSwimlane);
start();
}
-
+
/**
* overwrite start date
*/
- public void setStart(Date date) {
- start = null;
+ public void setStart(Date date)
+ {
+ start = null;
}
-
- private void markAsCancelled() {
+
+ private void markAsCancelled()
+ {
this.isCancelled = true;
this.isOpen = false;
}
/**
- * cancels this task.
- * This task intance will be marked as cancelled and as ended. But cancellation
- * doesn't influence singalling and continuation of process execution.
+ * cancels this task. This task intance will be marked as cancelled and as ended. But cancellation doesn't influence
+ * singalling and continuation of process execution.
*/
- public void cancel() {
+ public void cancel()
+ {
markAsCancelled();
end();
}
/**
- * cancels this task, takes the specified transition.
- * This task intance will be marked as cancelled and as ended. But cancellation
- * doesn't influence singalling and continuation of process execution.
+ * cancels this task, takes the specified transition. This task intance will be marked as cancelled and as ended. But
+ * cancellation doesn't influence singalling and continuation of process execution.
*/
- public void cancel(Transition transition) {
+ public void cancel(Transition transition)
+ {
markAsCancelled();
end(transition);
}
-
/**
- * cancels this task, takes the specified transition.
- * This task intance will be marked as cancelled and as ended. But cancellation
- * doesn't influence singalling and continuation of process execution.
+ * cancels this task, takes the specified transition. This task intance will be marked as cancelled and as ended. But
+ * cancellation doesn't influence singalling and continuation of process execution.
*/
- public void cancel(String transitionName) {
+ public void cancel(String transitionName)
+ {
markAsCancelled();
end(transitionName);
}
-
+
/**
- * marks this task as done. If this task is related to a task node
- * this might trigger a signal on the token.
+ * marks this task as done. If this task is related to a task node this might trigger a signal on the token.
+ *
* @see #end(Transition)
*/
- public void end() {
+ public void end()
+ {
end((Transition)null);
}
/**
- * marks this task as done and specifies the name of a transition
- * leaving the task-node for the case that the completion of this
- * task instances triggers a signal on the token.
- * If this task leads to a signal on the token, the given transition
- * name will be used in the signal.
- * If this task completion does not trigger execution to move on,
+ * marks this task as done and specifies the name of a transition leaving the task-node for the case that the
+ * completion of this task instances triggers a signal on the token. If this task leads to a signal on the token, the
+ * given transition name will be used in the signal. If this task completion does not trigger execution to move on,
* the transitionName is ignored.
*/
- public void end(String transitionName) {
+ public void end(String transitionName)
+ {
Transition leavingTransition = null;
-
- if (task!=null) {
+
+ if (task != null)
+ {
Node node = task.getTaskNode();
- if (node==null) {
- node = (Node) task.getParent();
+ if (node == null)
+ {
+ node = (Node)task.getParent();
}
- if (node!=null) {
+ if (node != null)
+ {
leavingTransition = node.getLeavingTransition(transitionName);
}
}
- if (leavingTransition==null) {
- throw new JbpmException("task node does not have leaving transition '"+transitionName+"'");
+ if (leavingTransition == null)
+ {
+ throw new JbpmException("task node does not have leaving transition '" + transitionName + "'");
}
end(leavingTransition);
}
-
+
/**
- * marks this task as done and specifies a transition
- * leaving the task-node for the case that the completion of this
- * task instances triggers a signal on the token.
- * If this task leads to a signal on the token, the given transition
- * name will be used in the signal.
- * If this task completion does not trigger execution to move on,
- * the transition is ignored.
+ * marks this task as done and specifies a transition leaving the task-node for the case that the completion of this
+ * task instances triggers a signal on the token. If this task leads to a signal on the token, the given transition
+ * name will be used in the signal. If this task completion does not trigger execution to move on, the transition is
+ * ignored.
*/
- public void end(Transition transition) {
- if (this.end!=null){
- throw new IllegalStateException("task instance '"+id+"' is already ended");
+ public void end(Transition transition)
+ {
+ if (this.end != null)
+ {
+ throw new IllegalStateException("task instance '" + id + "' is already ended");
}
- if (this.isSuspended) {
- throw new JbpmException("task instance '"+id+"' is suspended");
+ if (this.isSuspended)
+ {
+ throw new JbpmException("task instance '" + id + "' is suspended");
}
-
+
// mark the end of this task instance
this.end = Clock.getCurrentTime();
this.isOpen = false;
// fire the task instance end event
- if ( (task!=null)
- && (token!=null)
- ) {
+ if ((task != null) && (token != null))
+ {
ExecutionContext executionContext = new ExecutionContext(token);
executionContext.setTask(task);
executionContext.setTaskInstance(this);
task.fireEvent(Event.EVENTTYPE_TASK_END, executionContext);
}
-
+
// log this assignment
- if (token!=null) {
+ if (token != null)
+ {
token.addLog(new TaskEndLog(this));
}
-
+
// submit the variables
submitVariables();
-
+
// verify if the end of this task triggers continuation of execution
- if (isSignalling) {
+ if (isSignalling)
+ {
this.isSignalling = false;
-
-
-
- if ( this.isStartTaskInstance() // ending start tasks always leads to a signal
- || ( (task!=null)
- && (token!=null)
- && (task.getTaskNode()!=null)
- && (task.getTaskNode().completionTriggersSignal(this))
- )
- ) {
-
- if (transition==null) {
- log.debug("completion of task '"+task.getName()+"' results in taking the default transition");
+
+ if (this.isStartTaskInstance() // ending start tasks always leads to a signal
+ || ((task != null) && (token != null) && (task.getTaskNode() != null) && (task.getTaskNode().completionTriggersSignal(this))))
+ {
+
+ if (transition == null)
+ {
+ log.debug("completion of task '" + task.getName() + "' results in taking the default transition");
token.signal();
- } else {
- log.debug("completion of task '"+task.getName()+"' results in taking transition '"+transition+"'");
+ }
+ else
+ {
+ log.debug("completion of task '" + task.getName() + "' results in taking transition '" + transition + "'");
token.signal(transition);
}
}
}
}
- public boolean hasEnded() {
- return (end!=null);
+ public boolean hasEnded()
+ {
+ return (end != null);
}
/**
* suspends a process execution.
*/
- public void suspend() {
- if (!isOpen) {
- throw new JbpmException("a task that is not open cannot be suspended: "+toString());
+ public void suspend()
+ {
+ if (!isOpen)
+ {
+ throw new JbpmException("a task that is not open cannot be suspended: " + toString());
}
isSuspended = true;
}
@@ -494,193 +517,272 @@
/**
* resumes a process execution.
*/
- public void resume() {
- if (!isOpen) {
- throw new JbpmException("a task that is not open cannot be resumed: "+toString());
+ public void resume()
+ {
+ if (!isOpen)
+ {
+ throw new JbpmException("a task that is not open cannot be resumed: " + toString());
}
isSuspended = false;
}
-
+
// comments /////////////////////////////////////////////////////////////////
- public void addComment(String message) {
+ public void addComment(String message)
+ {
addComment(new Comment(message));
}
- public void addComment(Comment comment) {
- if (comment!=null) {
- if (comments==null) comments = new ArrayList();
+ public void addComment(Comment comment)
+ {
+ if (comment != null)
+ {
+ if (comments == null)
+ comments = new ArrayList();
comments.add(comment);
comment.setTaskInstance(this);
- if (token!=null) {
+ if (token != null)
+ {
comment.setToken(token);
token.addComment(comment);
}
}
}
-
- public List getComments() {
+
+ public List getComments()
+ {
return comments;
}
-
+
// task form ////////////////////////////////////////////////////////////////
-
- public boolean isLast() {
- return ( (token!=null)
- && (taskMgmtInstance!=null)
- && (! taskMgmtInstance.hasUnfinishedTasks(token))
- );
+
+ public boolean isLast()
+ {
+ return ((token != null) && (taskMgmtInstance != null) && (!taskMgmtInstance.hasUnfinishedTasks(token)));
}
-
+
/**
- * is the list of transitions that can be used in the end method
- * and it is null in case this is not the last task instance.
+ * is the list of transitions that can be used in the end method and it is null in case this is not the last task
+ * instance.
*/
- public List getAvailableTransitions() {
+ public List getAvailableTransitions()
+ {
List transitions = null;
- if ( (! isLast())
- && (token!=null)
- ) {
+ if ((!isLast()) && (token != null))
+ {
transitions = new ArrayList(token.getAvailableTransitions());
}
return transitions;
}
-
+
// equals ///////////////////////////////////////////////////////////////////
// hack to support comparing hibernate proxies against the real objects
// since this always falls back to ==, we don't need to overwrite the hashcode
- public boolean equals(Object o) {
+ public boolean equals(Object o)
+ {
return EqualsUtil.equals(this, o);
}
-
- public String toString() {
- return "TaskInstance"+(name!=null ? "("+name+")" : "@"+Integer.toHexString(hashCode()));
+
+ public String toString()
+ {
+ return "TaskInstance" + (name != null ? "(" + name + ")" : "@" + Integer.toHexString(hashCode()));
}
// private //////////////////////////////////////////////////////////////////
/** takes a set of {@link PooledActor}s */
- public void setPooledActors(Set pooledActors) {
- if (pooledActors!=null) {
+ public void setPooledActors(Set pooledActors)
+ {
+ if (pooledActors != null)
+ {
this.pooledActors = new HashSet(pooledActors);
Iterator iter = pooledActors.iterator();
- while (iter.hasNext()) {
- PooledActor pooledActor = (PooledActor) iter.next();
+ while (iter.hasNext())
+ {
+ PooledActor pooledActor = (PooledActor)iter.next();
pooledActor.addTaskInstance(this);
}
- } else {
+ }
+ else
+ {
this.pooledActors = null;
}
}
-
+
// protected ////////////////////////////////////////////////////////////////
- protected VariableContainer getParentVariableContainer() {
+ protected VariableContainer getParentVariableContainer()
+ {
ContextInstance contextInstance = getContextInstance();
- return (contextInstance!=null ? contextInstance.getOrCreateTokenVariableMap(token) : null);
+ return (contextInstance != null ? contextInstance.getOrCreateTokenVariableMap(token) : null);
}
// getters and setters //////////////////////////////////////////////////////
-
- public String getActorId() {
+
+ public String getActorId()
+ {
return actorId;
}
- public Date getDueDate() {
+
+ public Date getDueDate()
+ {
return dueDate;
}
- public void setDueDate(Date dueDate) {
+
+ public void setDueDate(Date dueDate)
+ {
this.dueDate = dueDate;
}
- public Date getEnd() {
+
+ public Date getEnd()
+ {
return end;
}
- public void setEnd(Date end) {
+
+ public void setEnd(Date end)
+ {
this.end = end;
}
- public void setCreate(Date create) {
+
+ public void setCreate(Date create)
+ {
this.create = create;
}
- public long getId() {
+
+ public long getId()
+ {
return id;
}
- public void setId(long id) {
+
+ public void setId(long id)
+ {
this.id = id;
}
- public Date getStart() {
+
+ public Date getStart()
+ {
return start;
}
- public TaskMgmtInstance getTaskMgmtInstance() {
+
+ public TaskMgmtInstance getTaskMgmtInstance()
+ {
return taskMgmtInstance;
}
- public void setTaskMgmtInstance(TaskMgmtInstance taskMgmtInstance) {
+
+ public void setTaskMgmtInstance(TaskMgmtInstance taskMgmtInstance)
+ {
this.taskMgmtInstance = taskMgmtInstance;
}
- public Token getToken() {
+
+ public Token getToken()
+ {
return token;
}
- public void setToken(Token token) {
+
+ public void setToken(Token token)
+ {
this.token = token;
}
- public void setSignalling(boolean isSignalling) {
+
+ public void setSignalling(boolean isSignalling)
+ {
this.isSignalling = isSignalling;
}
- public boolean isSignalling() {
+
+ public boolean isSignalling()
+ {
return isSignalling;
}
- public boolean isCancelled() {
+
+ public boolean isCancelled()
+ {
return isCancelled;
}
- public String getName() {
+
+ public String getName()
+ {
return name;
}
- public void setName(String name) {
+
+ public void setName(String name)
+ {
this.name = name;
}
- public boolean isBlocking() {
+
+ public boolean isBlocking()
+ {
return isBlocking;
}
- public void setBlocking(boolean isBlocking) {
+
+ public void setBlocking(boolean isBlocking)
+ {
this.isBlocking = isBlocking;
}
- public Date getCreate() {
+
+ public Date getCreate()
+ {
return create;
}
- public Task getTask() {
+
+ public Task getTask()
+ {
return task;
}
- public SwimlaneInstance getSwimlaneInstance() {
+
+ public SwimlaneInstance getSwimlaneInstance()
+ {
return swimlaneInstance;
}
- public void setSwimlaneInstance(SwimlaneInstance swimlaneInstance) {
+
+ public void setSwimlaneInstance(SwimlaneInstance swimlaneInstance)
+ {
this.swimlaneInstance = swimlaneInstance;
}
- public String getPreviousActorId() {
+
+ public String getPreviousActorId()
+ {
return previousActorId;
}
- public int getPriority() {
+
+ public int getPriority()
+ {
return priority;
}
- public void setPriority(int priority) {
+
+ public void setPriority(int priority)
+ {
this.priority = priority;
}
- public boolean isOpen() {
+
+ public boolean isOpen()
+ {
return isOpen;
}
- public String getDescription() {
+
+ public String getDescription()
+ {
return description;
}
- public void setDescription(String description) {
+
+ public void setDescription(String description)
+ {
this.description = description;
}
- public boolean isSuspended() {
+
+ public boolean isSuspended()
+ {
return isSuspended;
}
- public ProcessInstance getProcessInstance() {
+
+ public ProcessInstance getProcessInstance()
+ {
return processInstance;
}
- public void setProcessInstance(ProcessInstance processInstance) {
+
+ public void setProcessInstance(ProcessInstance processInstance)
+ {
this.processInstance = processInstance;
}
-
+
private static final Log log = LogFactory.getLog(TaskInstance.class);
}
Modified: jbpm3/trunk/modules/integration/jboss42/src/main/etc/jboss-beans.xml
===================================================================
--- jbpm3/trunk/modules/integration/jboss42/src/main/etc/jboss-beans.xml 2008-11-28 11:04:14 UTC (rev 3141)
+++ jbpm3/trunk/modules/integration/jboss42/src/main/etc/jboss-beans.xml 2008-11-28 11:05:17 UTC (rev 3142)
@@ -14,9 +14,12 @@
<property name="services">
<set elementClass="org.jboss.bpm.api.service.Service">
<inject bean="BPMDialectHandlerService"/>
+ <inject bean="BPMExecutionService"/>
+ <inject bean="BPMIdentityService"/>
<inject bean="BPMProcessBuilderService"/>
<inject bean="BPMProcessDefinitionService"/>
<inject bean="BPMProcessService"/>
+ <inject bean="BPMTaskService"/>
</set>
</property>
</bean>
@@ -46,7 +49,10 @@
<bean name="BPMDialectHandlerJPDL32" class="org.jbpm.integration.jpdl32.DialectHandlerImpl" />
<!-- Other Services -->
+ <bean name="BPMExecutionService" class="org.jbpm.integration.service.ExecutionServiceImpl" />
+ <bean name="BPMIdentityService" class="org.jbpm.integration.service.IdentityServiceImpl" />
<bean name="BPMProcessBuilderService" class="org.jbpm.integration.service.ProcessBuilderServiceImpl" />
<bean name="BPMProcessDefinitionService" class="org.jbpm.integration.service.ProcessDefinitionServiceImpl" />
+ <bean name="BPMTaskService" class="org.jbpm.integration.service.TaskServiceImpl" />
</deployment>
Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/client/ProcessEngineImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/client/ProcessEngineImpl.java 2008-11-28 11:04:14 UTC (rev 3141)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/client/ProcessEngineImpl.java 2008-11-28 11:05:17 UTC (rev 3142)
@@ -27,6 +27,7 @@
import org.jboss.bpm.api.client.ProcessEngine;
import org.jboss.bpm.api.service.Service;
+import org.jbpm.JbpmConfiguration;
import org.jbpm.integration.service.MutableService;
/**
@@ -37,6 +38,8 @@
*/
public class ProcessEngineImpl extends ProcessEngine
{
+ private JbpmConfiguration jbpmConfig;
+
public void setServices(Set<Service> services)
{
this.services = services;
@@ -51,4 +54,13 @@
}
}
}
+
+ public JbpmConfiguration getJbpmConfiguration()
+ {
+ if (jbpmConfig == null)
+ {
+ jbpmConfig = JbpmConfiguration.getInstance();
+ }
+ return jbpmConfig;
+ }
}
Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/ProcessDefinitionImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/ProcessDefinitionImpl.java 2008-11-28 11:04:14 UTC (rev 3141)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/ProcessDefinitionImpl.java 2008-11-28 11:05:17 UTC (rev 3142)
@@ -37,7 +37,6 @@
import org.jboss.bpm.api.model.Process;
import org.jboss.bpm.api.model.ProcessDefinition;
import org.jboss.bpm.api.model.builder.ObjectNameFactory;
-import org.jbpm.JbpmConfiguration;
import org.jbpm.graph.def.Transition;
import org.jbpm.graph.node.EndState;
import org.jbpm.graph.node.StartState;
@@ -56,7 +55,6 @@
private org.jbpm.graph.def.ProcessDefinition oldProcDef;
private ProcessEngine engine;
private Map<String, Node> nodes = new LinkedHashMap<String, Node>();
- private JbpmConfiguration jbpmConfigCache;
public ProcessDefinitionImpl(ProcessEngine engine, String name)
{
@@ -83,15 +81,6 @@
return oldProcDef;
}
- public JbpmConfiguration getJbpmConfiguration()
- {
- if (jbpmConfigCache == null)
- {
- jbpmConfigCache = JbpmConfiguration.getInstance();
- }
- return jbpmConfigCache;
- }
-
public ProcessEngine getProcessEngine()
{
return engine;
Added: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ExecutionServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ExecutionServiceImpl.java (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ExecutionServiceImpl.java 2008-11-28 11:05:17 UTC (rev 3142)
@@ -0,0 +1,93 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.integration.service;
+
+// $Id$
+
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.api.client.ProcessEngine;
+import org.jboss.bpm.api.model.Process;
+import org.jboss.bpm.api.runtime.Token;
+import org.jboss.bpm.api.service.ExecutionService;
+import org.jboss.bpm.api.service.ProcessService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The ExecutionService manages Tokens
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 28-Nov-2008
+ */
+public class ExecutionServiceImpl extends ExecutionService implements MutableService
+{
+ // Provide logging
+ final Logger log = LoggerFactory.getLogger(ExecutionServiceImpl.class);
+
+ // @Override
+ public void setProcessEngine(ProcessEngine engine)
+ {
+ super.setProcessEngine(engine);
+ }
+
+ @Override
+ public Set<Token> getTokens()
+ {
+ Set<Token> tokens = new HashSet<Token>();
+ ProcessService procService = getProcessEngine().getService(ProcessService.class);
+ for (ObjectName procID : procService.getProcesses())
+ {
+ Process proc = procService.getProcess(procID);
+ for (Token aux : proc.getTokens())
+ {
+ tokens.add(aux);
+ }
+ }
+ return tokens;
+ }
+
+ @Override
+ public Token getToken(ObjectName tokenID)
+ {
+ Token token = null;
+
+ // [TODO] is there a better way than iterating over all processes and tokens?
+ ProcessService procService = getProcessEngine().getService(ProcessService.class);
+ for (ObjectName procID : procService.getProcesses())
+ {
+ Process proc = procService.getProcess(procID);
+ for (Token aux : proc.getTokens())
+ {
+ if (aux.getKey().equals(tokenID))
+ {
+ token = aux;
+ break;
+ }
+ }
+ }
+ return token;
+ }
+}
Property changes on: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ExecutionServiceImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/IdentityServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/IdentityServiceImpl.java (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/IdentityServiceImpl.java 2008-11-28 11:05:17 UTC (rev 3142)
@@ -0,0 +1,147 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.integration.service;
+
+// $Id$
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import org.jboss.bpm.api.NotImplementedException;
+import org.jboss.bpm.api.client.ProcessEngine;
+import org.jboss.bpm.api.service.IdentityService;
+import org.jbpm.JbpmConfiguration;
+import org.jbpm.JbpmContext;
+import org.jbpm.identity.Group;
+import org.jbpm.identity.User;
+import org.jbpm.identity.hibernate.IdentitySession;
+import org.jbpm.integration.client.ProcessEngineImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The IdentityService manages identities
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 28-Nov-2008
+ */
+public class IdentityServiceImpl extends IdentityService implements MutableService
+{
+ // Provide logging
+ final Logger log = LoggerFactory.getLogger(IdentityServiceImpl.class);
+
+ // @Override
+ public void setProcessEngine(ProcessEngine engine)
+ {
+ super.setProcessEngine(engine);
+ }
+
+ @Override
+ public List<String> getActors()
+ {
+ List<String> actors = new ArrayList<String>();
+
+ IdentitySession identSession = getIdentitySession();
+ try
+ {
+ actors.addAll(identSession.getUsers());
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ finally
+ {
+ identSession.close();
+ }
+
+ return actors;
+ }
+
+ @Override
+ public List<String> getActorsByGroup(String group)
+ {
+ List<String> actors = new ArrayList<String>();
+
+ IdentitySession identSession = getIdentitySession();
+ try
+ {
+ Group identGroup = identSession.getGroupByName(group);
+ for (User user : (Set<User>)identGroup.getUsers())
+ {
+ actors.add(user.getName());
+ }
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ finally
+ {
+ identSession.close();
+ }
+
+ return actors;
+ }
+
+ @Override
+ public List<String> getGroups()
+ {
+ throw new NotImplementedException();
+ }
+
+ @Override
+ public List<String> getGroupsByActor(String actor)
+ {
+ List<String> groups = new ArrayList<String>();
+
+ IdentitySession identSession = getIdentitySession();
+ try
+ {
+ User identUser = identSession.getUserByName(actor);
+ for (Group group : (Set<Group>)identUser.getGroupsForGroupType("organisation"))
+ {
+ groups.add(group.getName());
+ }
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ finally
+ {
+ identSession.close();
+ }
+
+ return groups;
+ }
+
+ private IdentitySession getIdentitySession()
+ {
+ ProcessEngineImpl engineImpl = (ProcessEngineImpl)getProcessEngine();
+ JbpmConfiguration jbpmConfig = engineImpl.getJbpmConfiguration();
+ JbpmContext jbpmContext = jbpmConfig.createJbpmContext();
+ IdentitySession identSession = new IdentitySession(jbpmContext.getSession());
+ return identSession;
+ }
+}
Property changes on: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/IdentityServiceImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ProcessDefinitionServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ProcessDefinitionServiceImpl.java 2008-11-28 11:04:14 UTC (rev 3141)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ProcessDefinitionServiceImpl.java 2008-11-28 11:05:17 UTC (rev 3142)
@@ -36,6 +36,7 @@
import org.jboss.bpm.api.service.ProcessService;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
+import org.jbpm.integration.client.ProcessEngineImpl;
import org.jbpm.integration.model.ProcessDefinitionImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -77,14 +78,12 @@
log.debug("registerProcessDefinition: " + procDef);
- // Works with the default configuration
- ProcessDefinitionImpl procDefImpl = (ProcessDefinitionImpl)procDef;
- JbpmConfiguration jbpmConfig = procDefImpl.getJbpmConfiguration();
- JbpmContext jbpmContext = jbpmConfig.createJbpmContext();
+ JbpmContext jbpmContext = getJbpmContext();
ObjectName procDefID;
try
{
+ ProcessDefinitionImpl procDefImpl = (ProcessDefinitionImpl)procDef;
jbpmContext.deployProcessDefinition(procDefImpl.getOldProcessDefinition());
procDefID = procDef.getKey();
@@ -117,11 +116,10 @@
procService.unregisterProcess(procID);
// Save the ProcessDefinition
- ProcessDefinitionImpl procDefImpl = (ProcessDefinitionImpl)procDef;
- JbpmConfiguration jbpmConfig = procDefImpl.getJbpmConfiguration();
- JbpmContext jbpmContext = jbpmConfig.createJbpmContext();
+ JbpmContext jbpmContext = getJbpmContext();
try
{
+ ProcessDefinitionImpl procDefImpl = (ProcessDefinitionImpl)procDef;
long oldID = procDefImpl.getOldProcessDefinition().getId();
jbpmContext.getGraphSession().deleteProcessDefinition(oldID);
@@ -140,4 +138,12 @@
return removed;
}
+
+ private JbpmContext getJbpmContext()
+ {
+ ProcessEngineImpl engineImpl = (ProcessEngineImpl)getProcessEngine();
+ JbpmConfiguration jbpmConfig = engineImpl.getJbpmConfiguration();
+ JbpmContext jbpmContext = jbpmConfig.createJbpmContext();
+ return jbpmContext;
+ }
}
\ No newline at end of file
Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ProcessServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ProcessServiceImpl.java 2008-11-28 11:04:14 UTC (rev 3141)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ProcessServiceImpl.java 2008-11-28 11:05:17 UTC (rev 3142)
@@ -41,7 +41,7 @@
import org.jboss.bpm.api.service.ProcessService;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
-import org.jbpm.integration.model.ProcessDefinitionImpl;
+import org.jbpm.integration.client.ProcessEngineImpl;
import org.jbpm.integration.model.ProcessImpl;
import org.jbpm.integration.runtime.NodeInterceptor;
import org.slf4j.Logger;
@@ -134,6 +134,7 @@
if (getProcess(procID) != null)
throw new IllegalStateException("Process already registered: " + proc);
+ ProcessImpl procImpl = (ProcessImpl)proc;
ProcessStatus procStatus = proc.getProcessStatus();
ProcessDefinition procDef = proc.getProcessDefinition();
ProcessEngine engine = getProcessEngine();
@@ -147,10 +148,7 @@
procDefService.registerProcessDefinition(procDef);
// Save the Process instance
- ProcessDefinitionImpl procDefImpl = (ProcessDefinitionImpl)procDef;
- JbpmConfiguration jbpmConfig = procDefImpl.getJbpmConfiguration();
- JbpmContext jbpmContext = jbpmConfig.createJbpmContext();
- ProcessImpl procImpl = (ProcessImpl)proc;
+ JbpmContext jbpmContext = getJbpmContext();
try
{
jbpmContext.save(procImpl.getOldProcessInstance());
@@ -184,12 +182,10 @@
log.debug("unregisterProcess: " + proc);
// Delete the Process instance
- ProcessDefinitionImpl procDefImpl = (ProcessDefinitionImpl)proc.getProcessDefinition();
- JbpmConfiguration jbpmConfig = procDefImpl.getJbpmConfiguration();
- JbpmContext jbpmContext = jbpmConfig.createJbpmContext();
- ProcessImpl procImpl = (ProcessImpl)proc;
+ JbpmContext jbpmContext = getJbpmContext();
try
{
+ ProcessImpl procImpl = (ProcessImpl)proc;
jbpmContext.getGraphSession().deleteProcessInstance(procImpl.getOldProcessInstance());
}
catch (RuntimeException rte)
@@ -224,4 +220,12 @@
}
return itor;
}
+
+ private JbpmContext getJbpmContext()
+ {
+ ProcessEngineImpl engineImpl = (ProcessEngineImpl)getProcessEngine();
+ JbpmConfiguration jbpmConfig = engineImpl.getJbpmConfiguration();
+ JbpmContext jbpmContext = jbpmConfig.createJbpmContext();
+ return jbpmContext;
+ }
}
\ No newline at end of file
Added: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/TaskServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/TaskServiceImpl.java (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/TaskServiceImpl.java 2008-11-28 11:05:17 UTC (rev 3142)
@@ -0,0 +1,150 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.integration.service;
+
+// $Id$
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.api.client.ProcessEngine;
+import org.jboss.bpm.api.service.TaskService;
+import org.jboss.bpm.api.task.Task;
+import org.jbpm.JbpmConfiguration;
+import org.jbpm.JbpmContext;
+import org.jbpm.integration.client.ProcessEngineImpl;
+import org.jbpm.integration.task.TaskImpl;
+import org.jbpm.taskmgmt.exe.TaskInstance;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The TaskService manages Tasks.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 28-Nov-2008
+ */
+public class TaskServiceImpl extends TaskService implements MutableService
+{
+ // Provide logging
+ final Logger log = LoggerFactory.getLogger(TaskServiceImpl.class);
+
+ // @Override
+ public void setProcessEngine(ProcessEngine engine)
+ {
+ super.setProcessEngine(engine);
+ }
+
+ @Override
+ public Task getTask(ObjectName taskID)
+ {
+ Task task = null;
+
+ JbpmContext jbpmContext = getJbpmContext();
+ try
+ {
+ TaskInstance oldTask = jbpmContext.getTaskInstance(adaptKey(taskID));
+ task = new TaskImpl(getProcessEngine(), oldTask);
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ finally
+ {
+ jbpmContext.close();
+ }
+
+ return task;
+ }
+
+ @Override
+ public List<Task> getTasksByActor(String actor)
+ {
+ List<Task> tasks = new ArrayList<Task>();
+
+ JbpmContext jbpmContext = getJbpmContext();
+ try
+ {
+ for (TaskInstance oldTask : (List<TaskInstance>)jbpmContext.getTaskList(actor))
+ {
+ tasks.add(new TaskImpl(getProcessEngine(), oldTask));
+ }
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ finally
+ {
+ jbpmContext.close();
+ }
+
+ return tasks;
+ }
+
+ @Override
+ public void closeTask(ObjectName taskID, String signalName)
+ {
+ TaskImpl taskImpl = (TaskImpl)getTask(taskID);
+ TaskInstance taskInstance = taskImpl.getOldTask();
+
+ if (signalName != null)
+ taskInstance.end(signalName);
+ else
+ taskInstance.end();
+ }
+
+ @Override
+ public void reassignTask(ObjectName taskID, String actor)
+ {
+ TaskImpl taskImpl = (TaskImpl)getTask(taskID);
+ TaskInstance taskInstance = taskImpl.getOldTask();
+
+ if (taskInstance.getStart() != null)
+ {
+ log.warn("Force stop on task " + taskInstance.getId() + ". Will be restarted.");
+ taskInstance.setStart(null); // strange, but means isNotStarted()
+ }
+
+ taskInstance.start(actor, true);
+ }
+
+ private Long adaptKey(ObjectName key)
+ {
+ String id = key.getKeyProperty("id");
+ if (id == null)
+ throw new IllegalStateException("Cannot obtain id property from: " + key);
+
+ return new Long(id);
+ }
+
+ private JbpmContext getJbpmContext()
+ {
+ ProcessEngineImpl engineImpl = (ProcessEngineImpl)getProcessEngine();
+ JbpmConfiguration jbpmConfig = engineImpl.getJbpmConfiguration();
+ JbpmContext jbpmContext = jbpmConfig.createJbpmContext();
+ return jbpmContext;
+ }
+}
Property changes on: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/TaskServiceImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/task/TaskImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/task/TaskImpl.java (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/task/TaskImpl.java 2008-11-28 11:05:17 UTC (rev 3142)
@@ -0,0 +1,126 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.integration.task;
+
+// $Id$
+
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.api.client.ProcessEngine;
+import org.jboss.bpm.api.model.builder.ObjectNameFactory;
+import org.jboss.bpm.api.runtime.Token;
+import org.jboss.bpm.api.service.ExecutionService;
+import org.jboss.bpm.api.task.Task;
+import org.jbpm.integration.runtime.TokenImpl;
+import org.jbpm.taskmgmt.exe.PooledActor;
+import org.jbpm.taskmgmt.exe.TaskInstance;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The TaskService manages Tasks.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 28-Nov-2008
+ */
+public class TaskImpl implements Task
+{
+ // Provide logging
+ final Logger log = LoggerFactory.getLogger(TaskImpl.class);
+
+ private ProcessEngine engine;
+ private TaskInstance oldTask;
+ private Token token;
+
+ public TaskImpl(ProcessEngine engine, TaskInstance oldTask)
+ {
+ this.engine = engine;
+ this.oldTask = oldTask;
+ }
+
+ public TaskInstance getOldTask()
+ {
+ return oldTask;
+ }
+
+ public ObjectName getKey()
+ {
+ return ObjectNameFactory.create("Task:id=" + oldTask.getId());
+ }
+
+ public String getActor()
+ {
+ return oldTask.getActorId();
+ }
+
+ public ObjectName getCorrelationKey()
+ {
+ if (token == null)
+ {
+ long tokenId = oldTask.getToken().getId();
+ ExecutionService exService = engine.getService(ExecutionService.class);
+ for (Token auxTok : exService.getTokens())
+ {
+ TokenImpl tokenImpl = (TokenImpl)auxTok;
+ if (tokenImpl.getOldToken().getId() == tokenId)
+ {
+ token = auxTok;
+ break;
+ }
+ }
+ }
+
+ if (token == null)
+ throw new IllegalStateException("Cannot obtain associated token");
+
+ return token.getKey();
+ }
+
+ public String getName()
+ {
+ return oldTask.getName();
+ }
+
+ public Set<String> getPooledActors()
+ {
+ Set<String> actors = new HashSet<String>();
+ for (PooledActor pa : oldTask.getPooledActors())
+ {
+ actors.add(pa.getActorId());
+ }
+ return actors;
+ }
+
+ public boolean isBlocking()
+ {
+ return oldTask.isBlocking();
+ }
+
+ public boolean isSignalling()
+ {
+ return oldTask.isSignalling();
+ }
+
+}
Property changes on: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/task/TaskImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: jbpm3/trunk/modules/integration/spec/src/main/resources/jbpm-cfg-beans.xml
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/resources/jbpm-cfg-beans.xml 2008-11-28 11:04:14 UTC (rev 3141)
+++ jbpm3/trunk/modules/integration/spec/src/main/resources/jbpm-cfg-beans.xml 2008-11-28 11:05:17 UTC (rev 3142)
@@ -13,6 +13,7 @@
<bean name="BPMProcessEngine" class="org.jbpm.integration.client.ProcessEngineImpl">
<property name="services">
<set elementClass="org.jboss.bpm.api.service.Service">
+ <inject bean="BPMIdentityService"/>
<inject bean="BPMDialectHandlerService"/>
<inject bean="BPMProcessBuilderService"/>
<inject bean="BPMProcessDefinitionService"/>
@@ -46,6 +47,7 @@
<bean name="BPMDialectHandlerJPDL32" class="org.jbpm.integration.jpdl32.DialectHandlerImpl" />
<!-- Other Services -->
+ <bean name="BPMIdentityService" class="org.jbpm.integration.service.IdentityServiceImpl" />
<bean name="BPMProcessBuilderService" class="org.jbpm.integration.service.ProcessBuilderServiceImpl" />
<bean name="BPMProcessDefinitionService" class="org.jbpm.integration.service.ProcessDefinitionServiceImpl" />
17 years, 5 months
JBoss JBPM SVN: r3141 - in projects/spec/trunk/modules/api/src/main/java/org: jboss/bpm/api and 2 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-11-28 06:04:14 -0500 (Fri, 28 Nov 2008)
New Revision: 3141
Added:
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ExecutionService.java
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/IdentityService.java
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/TaskService.java
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/task/
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/task/Task.java
Removed:
projects/spec/trunk/modules/api/src/main/java/org/jbpm/
Log:
Add task & identiy service
Added: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ExecutionService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ExecutionService.java (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ExecutionService.java 2008-11-28 11:04:14 UTC (rev 3141)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.service;
+
+// $Id$
+
+import java.util.Set;
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.api.runtime.Token;
+
+
+/**
+ * The ExecutionService manages Tokens
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 28-Nov-2008
+ */
+public abstract class ExecutionService extends AbstractService
+{
+ // Hide public constructor
+ protected ExecutionService()
+ {
+ }
+
+ /**
+ * Get the set of tokens.
+ */
+ public abstract Set<Token> getTokens();
+
+ /**
+ * Get a token by id.
+ */
+ public abstract Token getToken(ObjectName tokenID);
+}
Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ExecutionService.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/IdentityService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/IdentityService.java (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/IdentityService.java 2008-11-28 11:04:14 UTC (rev 3141)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.service;
+
+// $Id$
+
+import java.util.List;
+
+
+/**
+ * The IdentityService manages identities
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 28-Nov-2008
+ */
+public abstract class IdentityService extends AbstractService
+{
+ // Hide public constructor
+ protected IdentityService()
+ {
+ }
+
+ /**
+ * Get a list of groups.
+ */
+ public abstract List<String> getGroups();
+
+ /**
+ * Get a list of groups a given actor belongs to.
+ */
+ public abstract List<String> getGroupsByActor(String actor);
+
+ /**
+ * Get a list of groups.
+ */
+ public abstract List<String> getActors();
+
+ /**
+ * Get a list of actors that belong to a given group.
+ */
+ public abstract List<String> getActorsByGroup(String group);
+}
Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/IdentityService.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/TaskService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/TaskService.java (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/TaskService.java 2008-11-28 11:04:14 UTC (rev 3141)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.service;
+
+// $Id$
+
+import java.util.List;
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.api.task.Task;
+
+
+/**
+ * The TaskService manages Tasks.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 28-Nov-2008
+ */
+public abstract class TaskService extends AbstractService
+{
+ // Hide public constructor
+ protected TaskService()
+ {
+ }
+
+ public abstract Task getTask(ObjectName taskID);
+
+ public abstract List<Task> getTasksByActor(String actor);
+
+ public abstract void reassignTask(ObjectName taskID, String actor);
+
+ public abstract void closeTask(ObjectName taskID, String signalName);
+}
Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/TaskService.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/task/Task.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/task/Task.java (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/task/Task.java 2008-11-28 11:04:14 UTC (rev 3141)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.api.task;
+
+import java.util.Set;
+
+import javax.management.ObjectName;
+
+public interface Task
+{
+ ObjectName getKey();
+
+ ObjectName getCorrelationKey();
+
+ String getName();
+
+ String getActor();
+
+ Set<String> getPooledActors();
+
+ boolean isBlocking();
+
+ boolean isSignalling();
+}
+
Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/task/Task.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
17 years, 5 months
JBoss JBPM SVN: r3140 - projects/gwt-console/trunk/war/src/test/resources.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-11-28 05:56:04 -0500 (Fri, 28 Nov 2008)
New Revision: 3140
Added:
projects/gwt-console/trunk/war/src/test/resources/ForkJoinExample3.par
Log:
Task in combination with forks example process
Added: projects/gwt-console/trunk/war/src/test/resources/ForkJoinExample3.par
===================================================================
(Binary files differ)
Property changes on: projects/gwt-console/trunk/war/src/test/resources/ForkJoinExample3.par
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
17 years, 5 months
JBoss JBPM SVN: r3139 - in jbpm4/trunk: modules/distro and 1 other directory.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2008-11-28 03:50:11 -0500 (Fri, 28 Nov 2008)
New Revision: 3139
Added:
jbpm4/trunk/modules/distro/assembly-jbpm-single-jar.xml
Removed:
jbpm4/trunk/modules/distro/assembly-jbpm-impl-jar.xml
Modified:
jbpm4/trunk/modules/distro/
jbpm4/trunk/modules/distro/assembly-distro-package.xml
jbpm4/trunk/modules/distro/pom.xml
jbpm4/trunk/pom.xml
Log:
added gpd to distro and made single jbpm.jar
Property changes on: jbpm4/trunk/modules/distro
___________________________________________________________________
Name: svn:ignore
+ target
Modified: jbpm4/trunk/modules/distro/assembly-distro-package.xml
===================================================================
--- jbpm4/trunk/modules/distro/assembly-distro-package.xml 2008-11-27 21:15:35 UTC (rev 3138)
+++ jbpm4/trunk/modules/distro/assembly-distro-package.xml 2008-11-28 08:50:11 UTC (rev 3139)
@@ -10,10 +10,10 @@
<dependencySets>
<dependencySet>
<includes>
- <include>org.jbpm.jbpm4:jbpm-api</include>
+ <include>org.jbpm.jbpm4:jbpm-gpd:zip</include>
</includes>
- <outputFileNameMapping>jbpm-api.jar</outputFileNameMapping>
- <outputDirectory></outputDirectory>
+ <outputFileNameMapping>jbpm-gpd-site.zip</outputFileNameMapping>
+ <outputDirectory>gpd</outputDirectory>
</dependencySet>
<dependencySet>
<outputDirectory>lib</outputDirectory>
@@ -28,7 +28,7 @@
<fileSet>
<directory>target</directory>
<includes>
- <include>jbpm-impl.jar</include>
+ <include>jbpm.jar</include>
</includes>
<outputDirectory></outputDirectory>
</fileSet>
Deleted: jbpm4/trunk/modules/distro/assembly-jbpm-impl-jar.xml
===================================================================
--- jbpm4/trunk/modules/distro/assembly-jbpm-impl-jar.xml 2008-11-27 21:15:35 UTC (rev 3138)
+++ jbpm4/trunk/modules/distro/assembly-jbpm-impl-jar.xml 2008-11-28 08:50:11 UTC (rev 3139)
@@ -1,38 +0,0 @@
-<assembly>
- <id>package</id>
- <formats>
- <format>jar</format>
- </formats>
- <includeBaseDirectory>false</includeBaseDirectory>
- <dependencySets>
- <dependencySet>
- <includes>
- <include>org.jbpm.jbpm4:jbpm-log</include>
- </includes>
- <unpack>true</unpack>
- <outputFileNameMapping></outputFileNameMapping>
- <outputDirectory></outputDirectory>
- </dependencySet>
- <dependencySet>
- <includes>
- <include>org.jbpm.jbpm4:jbpm-pvm</include>
- </includes>
- <unpack>true</unpack>
- <outputDirectory></outputDirectory>
- </dependencySet>
- <dependencySet>
- <includes>
- <include>org.jbpm.jbpm4:jbpm-jpdl</include>
- </includes>
- <unpack>true</unpack>
- <outputDirectory></outputDirectory>
- </dependencySet>
- <dependencySet>
- <includes>
- <include>org.jbpm.jbpm4:jbpm-test-base</include>
- </includes>
- <unpack>true</unpack>
- <outputDirectory></outputDirectory>
- </dependencySet>
- </dependencySets>
-</assembly>
\ No newline at end of file
Copied: jbpm4/trunk/modules/distro/assembly-jbpm-single-jar.xml (from rev 3138, jbpm4/trunk/modules/distro/assembly-jbpm-impl-jar.xml)
===================================================================
--- jbpm4/trunk/modules/distro/assembly-jbpm-single-jar.xml (rev 0)
+++ jbpm4/trunk/modules/distro/assembly-jbpm-single-jar.xml 2008-11-28 08:50:11 UTC (rev 3139)
@@ -0,0 +1,46 @@
+<assembly>
+ <id>package</id>
+ <formats>
+ <format>jar</format>
+ </formats>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <dependencySets>
+ <dependencySet>
+ <includes>
+ <include>org.jbpm.jbpm4:jbpm-api</include>
+ </includes>
+ <unpack>true</unpack>
+ <outputFileNameMapping></outputFileNameMapping>
+ <outputDirectory></outputDirectory>
+ </dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.jbpm.jbpm4:jbpm-log</include>
+ </includes>
+ <unpack>true</unpack>
+ <outputFileNameMapping></outputFileNameMapping>
+ <outputDirectory></outputDirectory>
+ </dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.jbpm.jbpm4:jbpm-pvm</include>
+ </includes>
+ <unpack>true</unpack>
+ <outputDirectory></outputDirectory>
+ </dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.jbpm.jbpm4:jbpm-jpdl</include>
+ </includes>
+ <unpack>true</unpack>
+ <outputDirectory></outputDirectory>
+ </dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.jbpm.jbpm4:jbpm-test-base</include>
+ </includes>
+ <unpack>true</unpack>
+ <outputDirectory></outputDirectory>
+ </dependencySet>
+ </dependencySets>
+</assembly>
\ No newline at end of file
Property changes on: jbpm4/trunk/modules/distro/assembly-jbpm-single-jar.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Modified: jbpm4/trunk/modules/distro/pom.xml
===================================================================
--- jbpm4/trunk/modules/distro/pom.xml 2008-11-27 21:15:35 UTC (rev 3138)
+++ jbpm4/trunk/modules/distro/pom.xml 2008-11-28 08:50:11 UTC (rev 3139)
@@ -37,6 +37,12 @@
<dependencies>
<dependency>
<groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-gpd</artifactId>
+ <type>zip</type>
+ <version>4.0.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.jbpm4</groupId>
<artifactId>jbpm-api</artifactId>
<version>${version}</version>
</dependency>
@@ -76,11 +82,11 @@
<goal>assembly</goal>
</goals>
<configuration>
- <finalName>jbpm-impl</finalName>
+ <finalName>jbpm</finalName>
<ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
- <descriptor>assembly-jbpm-impl-jar.xml</descriptor>
+ <descriptor>assembly-jbpm-single-jar.xml</descriptor>
</descriptors>
</configuration>
</execution>
Modified: jbpm4/trunk/pom.xml
===================================================================
--- jbpm4/trunk/pom.xml 2008-11-27 21:15:35 UTC (rev 3138)
+++ jbpm4/trunk/pom.xml 2008-11-28 08:50:11 UTC (rev 3139)
@@ -304,6 +304,87 @@
</plugins>
</build>
</profile>
-
</profiles>
+
+
+ <!-- Repositories -->
+ <repositories>
+ <repository>
+ <id>maven1.java.net</id>
+ <url>http://download.java.net/maven/1/</url>
+ <layout>legacy</layout>
+ </repository>
+ <repository>
+ <id>repository.jboss.org</id>
+ <url>http://repository.jboss.com/maven2</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>snapshots.jboss.org</id>
+ <url>http://snapshots.jboss.com/maven2</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>repository.codehaus.org</id>
+ <url>http://repository.codehaus.org</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>maven2.java.net</id>
+ <name>Java.net Repository for Maven 2</name>
+ <url>http://download.java.net/maven/2/</url>
+ </repository>
+ <repository>
+ <id>gwt-maven</id>
+ <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo/</url>
+ </repository>
+ </repositories>
+
+ <!-- PluginRepositories -->
+ <pluginRepositories>
+ <pluginRepository>
+ <id>maven2.java.net</id>
+ <name>Java.net Repository for Maven 2</name>
+ <url>http://download.java.net/maven/2/</url>
+ </pluginRepository>
+ <pluginRepository>
+ <id>repository.jboss.com</id>
+ <url>http://repository.jboss.com/maven2</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </pluginRepository>
+ <pluginRepository>
+ <id>snapshots.jboss.com</id>
+ <url>http://snapshots.jboss.com/maven2</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </pluginRepository>
+ <pluginRepository>
+ <id>gwt-maven</id>
+ <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo/</url>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <!-- DistributionManagement -->
+ <distributionManagement>
+ <repository>
+ <id>repository.jboss.org</id>
+ <name>JBoss Maven Repository</name>
+ <url>file://${jboss.maven.repository}</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots.jboss.org</id>
+ <name>JBoss Snapshot Repository</name>
+ <url>dav:https://snapshots.jboss.org/maven2</url>
+ </snapshotRepository>
+ </distributionManagement>
+
</project>
\ No newline at end of file
17 years, 5 months
JBoss JBPM SVN: r3138 - jbpm4/trunk/modules/distro.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2008-11-27 16:15:35 -0500 (Thu, 27 Nov 2008)
New Revision: 3138
Modified:
jbpm4/trunk/modules/distro/assembly-jbpm-impl-jar.xml
Log:
fixed inclusion of jbpm-test-base
Modified: jbpm4/trunk/modules/distro/assembly-jbpm-impl-jar.xml
===================================================================
--- jbpm4/trunk/modules/distro/assembly-jbpm-impl-jar.xml 2008-11-27 20:54:40 UTC (rev 3137)
+++ jbpm4/trunk/modules/distro/assembly-jbpm-impl-jar.xml 2008-11-27 21:15:35 UTC (rev 3138)
@@ -29,7 +29,7 @@
</dependencySet>
<dependencySet>
<includes>
- <include>org.jbpm.jbpm4:jbpm-db-base</include>
+ <include>org.jbpm.jbpm4:jbpm-test-base</include>
</includes>
<unpack>true</unpack>
<outputDirectory></outputDirectory>
17 years, 5 months