JBoss JBPM SVN: r5623 - projects/jopr-integration/branch/4.1.
by do-not-reply@jboss.org
Author: jim.ma
Date: 2009-09-09 01:24:28 -0400 (Wed, 09 Sep 2009)
New Revision: 5623
Added:
projects/jopr-integration/branch/4.1/trunk/
Log:
create branch 4.1
Copied: projects/jopr-integration/branch/4.1/trunk (from rev 5622, projects/jopr-integration/trunk)
14 years, 7 months
JBoss JBPM SVN: r5621 - projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/connector.
by do-not-reply@jboss.org
Author: jim.ma
Date: 2009-09-09 01:13:44 -0400 (Wed, 09 Sep 2009)
New Revision: 5621
Added:
projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/connector/TaskQueryCondition.java
Log:
Added the missing file for last commit
Added: projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/connector/TaskQueryCondition.java
===================================================================
--- projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/connector/TaskQueryCondition.java (rev 0)
+++ projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/connector/TaskQueryCondition.java 2009-09-09 05:13:44 UTC (rev 5621)
@@ -0,0 +1,106 @@
+ /* JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the import org.jbpm.api.history.HistoryTaskQuery;
+
+@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.rhq.plugins.jbpm4.connector;
+
+import org.jbpm.pvm.internal.query.Page;
+/**
+ * @author <a href mailto="ema(a)redhat.com">Jim Ma</a>
+ *
+ */
+
+public class TaskQueryCondition {
+
+ private String activityName = null;
+ private String candidate = null;
+ private String assignee = null;
+
+ private String processInstanceId = null;
+ private String definitionId = null;
+ private Boolean unassigneed = null;
+ private Boolean suspended = null;
+ private Page page = null;
+
+ public String getActivityName() {
+ return activityName;
+ }
+
+ public String getAssignee() {
+ return this.assignee;
+ }
+
+ public String getCandidate() {
+ return this.candidate;
+ }
+
+ public String getProcessInsatnceId() {
+ return processInstanceId;
+ }
+
+ public String getDefinitionId() {
+ return this.definitionId;
+ }
+
+ public Boolean getUnAssigneed() {
+ return this.unassigneed;
+ }
+
+ public Boolean getSuspended() {
+ return this.suspended;
+ }
+
+ public Page getPage() {
+ return this.page;
+ }
+
+ public void setActivityName(String activity) {
+ this.activityName = activity;
+ }
+
+ public void setAssignee(String assignee) {
+ this.assignee = assignee;
+ }
+
+ public void setCandidate(String candidate) {
+ this.candidate = candidate;
+ }
+
+ public void setProcessInstanceId(String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ }
+
+ public void setDefinitionId(String defId) {
+ this.definitionId = defId;
+ }
+
+ public void setUnAssigneed(boolean unassigneed) {
+ this.unassigneed = unassigneed;
+ }
+
+ public void setSuspended(boolean suspended) {
+ this.suspended = suspended;
+ }
+
+ public void setPage(Page page) {
+ this.page = page;
+ }
+}
14 years, 7 months
JBoss JBPM SVN: r5614 - in jbpm3/branches/jbpm-3.2-soa/modules/core/src: test/java/org/jbpm/jbpm983 and 2 other directories.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2009-09-04 22:42:08 -0400 (Fri, 04 Sep 2009)
New Revision: 5614
Modified:
jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/graph/node/Join.java
jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm983/JBPM983Test.java
jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm1755/parallelprocess.xml
jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm2489/processdefinition.xml
Log:
[SOA-1476] acquire non-versioned lock on parent token
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/graph/node/Join.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/graph/node/Join.java 2009-09-04 23:55:37 UTC (rev 5613)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/graph/node/Join.java 2009-09-05 02:42:08 UTC (rev 5614)
@@ -113,12 +113,12 @@
JbpmContext jbpmContext = executionContext.getJbpmContext();
Session session;
if (jbpmContext != null && (session = jbpmContext.getSession()) != null) {
- // obtain update lock by default (LockMode.UPGRADE)
+ // lock for update by default (LockMode.UPGRADE)
LockMode lockMode = parentLockMode != null ? LockMode.parse(parentLockMode)
: LockMode.UPGRADE;
- log.debug("acquiring " + lockMode + " lock on " + parentToken);
- // lock updates as appropriate, no need to flush here
- session.lock(parentToken, lockMode);
+ // load() hits the database as required, no need to flush() here
+ parentToken = (Token) session.load(Token.class, new Long(parentToken.getId()), lockMode);
+ log.debug("acquired " + lockMode + " lock on " + parentToken);
}
boolean reactivateParent;
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm983/JBPM983Test.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm983/JBPM983Test.java 2009-09-04 23:55:37 UTC (rev 5613)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm983/JBPM983Test.java 2009-09-05 02:42:08 UTC (rev 5614)
@@ -60,12 +60,12 @@
+ " <description>start of the process</description>"
+ " <transition name='start-to-check' to='fileCheck'/>"
+ "</start-state>"
- + "<node name='fileCheck' async='exclusive'>"
+ + "<node name='fileCheck' async='true'>"
+ " <action name='action_filecheck' class='" + TestAction.class.getName() + "'>"
+ " </action>"
+ " <transition name='check-to-do' to='doWhatever'/>"
+ "</node>"
- + "<node name='doWhatever' async='exclusive'>"
+ + "<node name='doWhatever' async='true'>"
+ " <action name='action_do' class='" + TestAction.class.getName() + "'/>"
+ " <transition name='check-to-end' to='end-state-success'/>"
+ "</node>"
@@ -88,11 +88,11 @@
+ " <transition name='toNode1' to='node1'/>"
+ " <transition name='toNode2' to='node2'/>"
+ "</fork>"
- + "<process-state name='node1' async='exclusive'>"
+ + "<process-state name='node1' async='true'>"
+ " <sub-process name='subprocess'/>"
+ " <transition name='node1toJoin1' to='join1'/>"
+ "</process-state>"
- + "<process-state name='node2' async='exclusive'>"
+ + "<process-state name='node2' async='true'>"
+ " <sub-process name='subprocess'/>"
+ " <transition name='node2toJoin1' to='join1'/>"
+ "</process-state>"
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm1755/parallelprocess.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm1755/parallelprocess.xml 2009-09-04 23:55:37 UTC (rev 5613)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm1755/parallelprocess.xml 2009-09-05 02:42:08 UTC (rev 5614)
@@ -11,7 +11,7 @@
<transition to="node1" name="1"></transition>
</fork>
- <join name="join1" async="exclusive">
+ <join name="join1">
<transition to="end"></transition>
</join>
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm2489/processdefinition.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm2489/processdefinition.xml 2009-09-04 23:55:37 UTC (rev 5613)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm2489/processdefinition.xml 2009-09-05 02:42:08 UTC (rev 5614)
@@ -74,7 +74,7 @@
<transition to="join1"/>
</node>
- <join name="join1" async="exclusive">
+ <join name="join1">
<transition to="Shipment Notice"/>
</join>
14 years, 8 months
JBoss JBPM SVN: r5613 - jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm2094.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2009-09-04 19:55:37 -0400 (Fri, 04 Sep 2009)
New Revision: 5613
Modified:
jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm2094/gpd.xml
jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm2094/processdefinition.xml
Log:
[JBPM-2094] restore original process definition
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm2094/gpd.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm2094/gpd.xml 2009-09-01 09:54:30 UTC (rev 5612)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm2094/gpd.xml 2009-09-04 23:55:37 UTC (rev 5613)
@@ -31,9 +31,6 @@
<edge>
<label x="5" y="-10"/>
</edge>
- <edge>
- <label x="-10" y="-33"/>
- </edge>
</node>
<node name="Dallas WHSE" x="13" y="299" width="132" height="36">
<edge>
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm2094/processdefinition.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm2094/processdefinition.xml 2009-09-01 09:54:30 UTC (rev 5612)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/org/jbpm/jbpm2094/processdefinition.xml 2009-09-04 23:55:37 UTC (rev 5613)
@@ -40,11 +40,19 @@
<transition name="Atlanta" to="Atlanta WHSE"/>
</fork>
- <state name="Los Angeles WHSE">
- <timer duedate="2 seconds" transition="Dallas"/>
- <transition name="OK" to="join1"/>
- <transition to="Dallas WHSE" name="Dallas"/>
- </state>
+ <node async="true" name="Los Angeles WHSE">
+ <action class="org.jbpm.jbpm2094.EsbActionHandler">
+ <esbCategoryName>BPM_Orchestration2_Service5</esbCategoryName>
+ <esbServiceName>Service5</esbServiceName>
+ <bpmToEsbVars>
+ <mapping bpm="theBody" esb="BODY_CONTENT" />
+ </bpmToEsbVars>
+ <esbToBpmVars>
+ <mapping bpm="la" esb="BODY_CONTENT" />
+ </esbToBpmVars>
+ </action>
+ <transition to="join1"/>
+ </node>
<node name="Dallas WHSE">
<action class="org.jbpm.jbpm2094.EsbActionHandler">
@@ -74,7 +82,7 @@
<transition to="join1"/>
</node>
- <join name="join1" async="exclusive">
+ <join name="join1">
<transition to="Shipment Notice"/>
</join>
14 years, 8 months
JBoss JBPM SVN: r5612 - jbpm3/tags.
by do-not-reply@jboss.org
Author: jcoleman(a)redhat.com
Date: 2009-09-01 05:54:30 -0400 (Tue, 01 Sep 2009)
New Revision: 5612
Added:
jbpm3/tags/jbpm-3.2.7.CR2/
Log:
Create 3.2.7 CR2 tag from jbpm-3.2-soa branch
Copied: jbpm3/tags/jbpm-3.2.7.CR2 (from rev 5611, jbpm3/branches/jbpm-3.2-soa)
14 years, 8 months
JBoss JBPM SVN: r5611 - in projects/jopr-integration/trunk: src/main/java/org/rhq/plugins/jbpm4 and 2 other directories.
by do-not-reply@jboss.org
Author: jim.ma
Date: 2009-09-01 05:02:39 -0400 (Tue, 01 Sep 2009)
New Revision: 5611
Modified:
projects/jopr-integration/trunk/pom.xml
projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessDefComponent.java
projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessEngineComponent.java
projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessInstanceComponent.java
projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessInstanceDiscoveryComponent.java
projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/TaskComponent.java
projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/connector/JBPMEngineConnection.java
projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/connector/LocalJBPMEngineConnector.java
projects/jopr-integration/trunk/src/main/resources/META-INF/rhq-plugin.xml
Log:
Added average instance duration for JBPM enginge component: Added the processInstancesSelector operation
Modified: projects/jopr-integration/trunk/pom.xml
===================================================================
--- projects/jopr-integration/trunk/pom.xml 2009-08-31 16:48:14 UTC (rev 5610)
+++ projects/jopr-integration/trunk/pom.xml 2009-09-01 09:02:39 UTC (rev 5611)
@@ -63,6 +63,12 @@
<artifactId>jbpm-jpdl</artifactId>
<version>4.0-SNAPSHOT</version>
<scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.integration</groupId>
+ <artifactId>jboss-integration</artifactId>
+ <version>5.0.3.GA</version>
+ <type>pom</type>
</dependency>
</dependencies>
Modified: projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessDefComponent.java
===================================================================
--- projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessDefComponent.java 2009-08-31 16:48:14 UTC (rev 5610)
+++ projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessDefComponent.java 2009-09-01 09:02:39 UTC (rev 5611)
@@ -93,13 +93,22 @@
report.addData(value);
}
- if (request.getName().equals("avgPerProcessInstanceDuration")) {
+ if (request.getName().equals("avgDuration")) {
String duration = StringUtil
.replaceNull(getAverageProcessInstanceDuration());
MeasurementDataTrait value = new MeasurementDataTrait(request,
duration);
report.addData(value);
}
+ if (request.getName().equals("processInstanceNum")) {
+ MeasurementDataTrait value = new MeasurementDataTrait(request, String.valueOf(getProcessInstanceNumber()));
+ report.addData(value);
+ }
+ if (request.getName().equals("endedProcessInstanceNum")) {
+ MeasurementDataTrait value = new MeasurementDataTrait(request, String.valueOf(getEndedProcessInstanceNumber()));
+ report.addData(value);
+ }
+
}
}
@@ -150,12 +159,28 @@
}
return null;
}
+
+ public int getProcessInstanceNumber() {
+ List<ProcessInstance> instances = this.jbpmConnection
+ .getProcessInstances(this.getResourceKey(), null, null, null);
+ return instances.size();
+ }
+
+ public int getEndedProcessInstanceNumber() {
+ List<HistoryProcessInstance> instances = this.jbpmConnection
+ .getHistoryProcessInstances(null, this.getResourceKey(), HistoryProcessInstance.STATE_ENDED, null);
+ return instances.size();
+ }
+
public OperationResult invokeOperation(String name, Configuration parameters) throws InterruptedException, Exception {
OperationResult result = null;
if (name.equals("historyProcessInstanceSelector")) {
result = queryHistoryProcessInstances(parameters);
}
+ if (name.equals("processInstanceSelector")) {
+ result = queryProcessInstances(parameters);
+ }
return result;
}
@@ -200,4 +225,53 @@
return result;
}
+ public OperationResult queryProcessInstances(Configuration parameters) {
+ OperationResult result = new OperationResult();
+ String instanceId = null;
+ String instanceState = null;
+ PropertySimple processInstanceIdProp = parameters.getSimple("processInstanceId");
+ if (processInstanceIdProp.getStringValue() != null) {
+ instanceId = processInstanceIdProp.getStringValue();
+ }
+
+
+ PropertySimple firstResult = parameters.getSimple("firstResult");
+ Page page = null;
+ if (firstResult.getIntegerValue() != null) {
+ PropertySimple maxResults = parameters.getSimple("maxResults");
+ int first = firstResult.getIntegerValue();
+ int max = maxResults.getIntegerValue() != null ? maxResults.getIntegerValue() : 50;
+ page = new Page(first, max);
+ }
+
+
+ PropertySimple state = parameters.getSimple("state");
+ if (state.getStringValue() != null) {
+ instanceState = state.getStringValue();
+ }
+
+ List<ProcessInstance> instances = jbpmConnection.getProcessInstances(this.getResourceKey(), instanceId, instanceState, page);
+ PropertyList resultInstances = new PropertyList("resultInstances");
+ result.getComplexResults().put(resultInstances);
+
+ for (ProcessInstance instance : instances) {
+
+ PropertyMap map = new PropertyMap("instance");
+ PropertySimple id = new PropertySimple("id", instance.getId());
+ PropertySimple name = new PropertySimple("name", StringUtil.replaceNull(instance.getName()));
+ PropertySimple definitionID = new PropertySimple("processDefinitionId", instance.getProcessDefinitionId());
+ PropertySimple stateProp = new PropertySimple("state", instance.getState());
+ PropertySimple priority = new PropertySimple("priority", StringUtil.replaceNull(instance.getPriority()));
+ map.put(id);
+ map.put(name);
+ map.put(definitionID);
+ map.put(stateProp);
+ map.put(priority);
+ resultInstances.add(map);
+
+ }
+ return result;
+ }
+
+
}
Modified: projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessEngineComponent.java
===================================================================
--- projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessEngineComponent.java 2009-08-31 16:48:14 UTC (rev 5610)
+++ projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessEngineComponent.java 2009-09-01 09:02:39 UTC (rev 5611)
@@ -4,9 +4,12 @@
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
+import java.util.List;
import java.util.Set;
+import org.jbpm.api.ProcessInstance;
+import org.jbpm.api.history.HistoryProcessInstance;
import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.domain.content.PackageDetailsKey;
import org.rhq.core.domain.content.transfer.ResourcePackageDetails;
@@ -39,6 +42,7 @@
private ResourceContext resourceContext = null;
private JBPMEngineConnection jbpmConnection = null;
private JBPMEngineConnector processEngineConnector = null;
+ private long instancesPerMin = 0l;
public void start(ResourceContext context) {
super.start(context);
resourceContext = context;
@@ -74,10 +78,37 @@
if (request.getName().equals("processInstancNumber")) {
MeasurementDataTrait value = new MeasurementDataTrait(request,
- StringUtil.replaceNull(this.jbpmConnection.getAllProcessInstance().size()));
+ StringUtil.replaceNull(this.jbpmConnection.getProcessInstances(null, null, null, null).size()));
report.addData(value);
}
+
+ if (request.getName().equals("endedProcessInstancNumber")) {
+
+ MeasurementDataTrait value = new MeasurementDataTrait(request,
+ StringUtil.replaceNull(this.jbpmConnection.getHistoryProcessInstances(null, null, HistoryProcessInstance.STATE_ENDED, null).size()));
+ report.addData(value);
+ }
+
+
+ if (request.getName().equals("avgProcessInstanceDuration")) {
+ long duration = this.getAverageProcessInstanceDuration();
+ instancesPerMin = 60 * 3600 / duration;
+ MeasurementDataTrait value = new MeasurementDataTrait(request, StringUtil.replaceNull(duration));
+ report.addData(value);
+ }
+
+ if (request.getName().equals("processInstancesPerMin")) {
+ String number = "--";
+ if (instancesPerMin != 0L) {
+ Long longNum = new Long(instancesPerMin);
+ number = String.valueOf(longNum.intValue());
+ }
+ MeasurementDataTrait value = new MeasurementDataTrait(request, number);
+ report.addData(value);
+ }
+
+
if (request.getName().equals("jobsNumber")) {
MeasurementDataTrait value = new MeasurementDataTrait(request,
@@ -171,4 +202,18 @@
}
+ private Long getAverageProcessInstanceDuration() {
+ List<HistoryProcessInstance> instances = this.jbpmConnection
+ .getHistoryProcessInstances(null, null,
+ ProcessInstance.STATE_ENDED, null);
+ Long sumDuration = 0L;
+ for (HistoryProcessInstance instance : instances) {
+ sumDuration = sumDuration + instance.getDuration();
+ }
+ if (sumDuration > 0) {
+ return sumDuration / instances.size();
+ }
+ return null;
+ }
+
}
\ No newline at end of file
Modified: projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessInstanceComponent.java
===================================================================
--- projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessInstanceComponent.java 2009-08-31 16:48:14 UTC (rev 5610)
+++ projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessInstanceComponent.java 2009-09-01 09:02:39 UTC (rev 5611)
@@ -21,6 +21,7 @@
*/
package org.rhq.plugins.jbpm4;
+import java.util.List;
import java.util.Set;
import org.apache.commons.logging.Log;
@@ -49,8 +50,10 @@
public void start(ResourceContext<ProcessDefComponent> resourceContext) {
instanceId = resourceContext.getResourceKey();
jbpmConnection = resourceContext.getParentResourceComponent().getJBPMConnection();
- instance = jbpmConnection.getProcessInstance(instanceId);
-
+ List<ProcessInstance> instances = jbpmConnection.getProcessInstances(null, instanceId, null, null);
+ if (instances.size() > 0) {
+ instance = instances.get(0);
+ }
}
public void stop() {
Modified: projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessInstanceDiscoveryComponent.java
===================================================================
--- projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessInstanceDiscoveryComponent.java 2009-08-31 16:48:14 UTC (rev 5610)
+++ projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/ProcessInstanceDiscoveryComponent.java 2009-09-01 09:02:39 UTC (rev 5611)
@@ -39,8 +39,8 @@
ResourceDiscoveryContext<ProcessDefComponent> context) {
Set<DiscoveredResourceDetails> jbpmDefs = new java.util.HashSet<DiscoveredResourceDetails>();
- ProcessDefComponent defComponent = context.getParentResourceComponent();
- List<ProcessInstance> instances = defComponent.getJBPMConnection().getProcessInstances(context.getParentResourceContext().getResourceKey());
+ ProcessDefComponent defComponent = context.getParentResourceComponent();
+ List<ProcessInstance> instances = defComponent.getJBPMConnection().getProcessInstances(context.getParentResourceContext().getResourceKey(), null, null, null);
for (ProcessInstance instance: instances) {
DiscoveredResourceDetails details = new DiscoveredResourceDetails(context.getResourceType(), String.valueOf(instance.getProcessInstance().getId()), instance.getId(), null, instance.getId(), null, null);
jbpmDefs.add(details);
Modified: projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/TaskComponent.java
===================================================================
--- projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/TaskComponent.java 2009-08-31 16:48:14 UTC (rev 5610)
+++ projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/TaskComponent.java 2009-09-01 09:02:39 UTC (rev 5611)
@@ -21,6 +21,7 @@
*/
package org.rhq.plugins.jbpm4;
+import java.util.List;
import java.util.Set;
import org.apache.commons.logging.Log;
@@ -111,8 +112,8 @@
public AvailabilityType getAvailability() {
- ProcessInstance processInstance = getJBPMConnection().getProcessInstance(this.resourceContext.getParentResourceComponent().getResourceKey());
- if (processInstance != null) {
+ List<ProcessInstance> processInstances = getJBPMConnection().getProcessInstances(null, this.resourceContext.getParentResourceComponent().getResourceKey(), null, null);
+ if (processInstances.size() > 0) {
return AvailabilityType.UP;
}
return AvailabilityType.DOWN;
Modified: projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/connector/JBPMEngineConnection.java
===================================================================
--- projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/connector/JBPMEngineConnection.java 2009-08-31 16:48:14 UTC (rev 5610)
+++ projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/connector/JBPMEngineConnection.java 2009-09-01 09:02:39 UTC (rev 5611)
@@ -38,23 +38,36 @@
*
*/
public interface JBPMEngineConnection {
+ //the deployment api
+ void deleteDeployment(String deploymentId);
+ List<Deployment> getDeployments();
+ Deployment getDeployment(String deploymentId);
+ void suspendDeployment(String deploymentId);
+ void resumeDeployment(String deploymentId);
+ String deployProcess(File processFile) throws Exception;
+
+ //definition api
List<ProcessDefinition> getProcessDefs();
ProcessDefinition getProcessDefById(String id);
- String deployProcess(File processFile) throws Exception;
- void deleteDeployment(String deploymentId);
- List<ProcessInstance> getAllProcessInstance();
- List<ProcessInstance> getProcessInstances(String defId);
- ProcessInstance getProcessInstance(String instanceId);
+
+
+ //process instance api
+ List<ProcessInstance> getProcessInstances(String defId, String processInstanceId, String state, Page page);
void deleteProcessInstance(String instanceId);
ProcessInstance startProcessInstance(String defId);
- List<Deployment> getDeployments();
- Deployment getDeployment(String deploymentId);
+
+ //Job api
public List<Job> queryJob(boolean timerOnly , boolean messageOnly, boolean exception, String processInstanceId);
Job getJob(String jobId);
+ Job executeJob(String jobDbid);
+
+ //Activity api
Map<String, Long> avgDurationPerActivity(String processDefinitionId);
- Job executeJob(String jobDbid);
+
+ //History process instance api
List<HistoryProcessInstance> getHistoryProcessInstances(String definitionId, String processInstanceId, String state, Page page);
+
+ //Task api
List<Task> getTasks(String definitionId, String processInstanceId);
- void suspendDeployment(String deploymentId);
- void resumeDeployment(String deploymentId);
+
}
Modified: projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/connector/LocalJBPMEngineConnector.java
===================================================================
--- projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/connector/LocalJBPMEngineConnector.java 2009-08-31 16:48:14 UTC (rev 5610)
+++ projects/jopr-integration/trunk/src/main/java/org/rhq/plugins/jbpm4/connector/LocalJBPMEngineConnector.java 2009-09-01 09:02:39 UTC (rev 5611)
@@ -40,6 +40,7 @@
import org.jbpm.api.ProcessDefinition;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.ProcessInstance;
+import org.jbpm.api.ProcessInstanceQuery;
import org.jbpm.api.TaskQuery;
import org.jbpm.api.history.HistoryProcessInstance;
import org.jbpm.api.history.HistoryProcessInstanceQuery;
@@ -170,8 +171,28 @@
return deployment.deploy();
}
- public List<ProcessInstance> getProcessInstances(String defId) {
- return processEngine.getExecutionService().createProcessInstanceQuery().processDefinitionId(defId).list();
+ public List<ProcessInstance> getProcessInstances(String defId, String processInstanceId, String state, Page page) {
+ ProcessInstanceQuery query = processEngine.getExecutionService().createProcessInstanceQuery();
+ if (defId != null) {
+ query.processDefinitionId(defId);
+ }
+ if (processInstanceId != null) {
+ query.processInstanceId(processInstanceId);
+ }
+ if (state != null && state.equals(ProcessInstance.STATE_SUSPENDED)) {
+ query.suspended();
+ }
+
+ if (state != null && (!state.equals(ProcessInstance.STATE_SUSPENDED))) {
+ query.notSuspended();
+ }
+
+ if (page != null) {
+ query.page(page.firstResult, page.maxResults);
+ }
+
+ return query.list();
+
}
public ProcessInstance getProcessInstance(String instanceId) {
return processEngine.getExecutionService().createProcessInstanceQuery().processInstanceId(instanceId).uniqueResult();
Modified: projects/jopr-integration/trunk/src/main/resources/META-INF/rhq-plugin.xml
===================================================================
--- projects/jopr-integration/trunk/src/main/resources/META-INF/rhq-plugin.xml 2009-08-31 16:48:14 UTC (rev 5610)
+++ projects/jopr-integration/trunk/src/main/resources/META-INF/rhq-plugin.xml 2009-09-01 09:02:39 UTC (rev 5611)
@@ -28,9 +28,22 @@
<metric property="deployedProcessNumber" dataType="measurement"
displayType="summary" defaultOn="true" description="Deployed process number" />
+
<metric property="processInstancNumber" dataType="measurement"
displayType="summary" defaultOn="true"
description="Process instances number includes started and suspended" />
+
+ <metric property="endedProcessInstancNumber" dataType="measurement"
+ displayType="summary" defaultOn="true"
+ description="The number of ended process instances" />
+
+ <metric property="avgProcessInstanceDuration" dataType="measurement"
+ displayType="summary" defaultOn="true"
+ description="The average duration of process instance" />
+
+ <metric property="processInstancesPerMin" dataType="measurement"
+ displayType="summary" defaultOn="true"
+ description="The number of process instances that JBPM engin processed" />
<metric property="jobsNumber" dataType="measurement"
displayType="summary" defaultOn="true" description="the number of normal jobs" />
@@ -139,17 +152,16 @@
</c:map-property>
</c:list-property>
</results>
- </operation>
-
- <operation name="processInstanceSelector" displayName="processInstanceSelector"
- description="lists the process instances">
+ </operation>
+ <operation name="processInstanceSelector" displayName="processInstanceSelector"
+ description="Lists the process instance for the given condition">
<parameters>
- <c:simple-property name="duration" displayName="durationLargeThan" type="long" required="false" description="the duration value large than this"/>
- <c:simple-property name="state" displayName="state" type="string" required="false" default="ended"
+ <c:simple-property name="processInstanceId" displayName="processInstanceId" type="string" required="false" description="process instance id"/>
+ <c:simple-property name="state" displayName="state" type="string" required="false" default="notsuspended"
description="the process instance state">
<c:property-options>
- <c:option value="ended" name="Ended" default="true"/>
- <c:option value="active" name="Active"/>
+ <c:option value="suspended" name="suspended" default="true"/>
+ <c:option value="notSuspended" name="notSuspended"/>
</c:property-options>
</c:simple-property>
<c:simple-property name="firstResult" displayName="firstResult" type="integer" required="false" description="the index of first result"/>
@@ -158,19 +170,17 @@
<results>
<c:list-property name="resultInstances" readOnly="true" required="false" displayName="Process Instances Result"
- description="In this list you can review the process instance which duration is large than the select value">
+ description="In this list you can review the process instance ">
<c:map-property name="instance" readOnly="true">
<c:simple-property readOnly="true" name="id" displayName="id" description="ID"/>
- <c:simple-property readOnly="true" name="definitionId" required="false" displayName="DefinitionId" description="Process DefinitionId"/>
- <c:simple-property readOnly="true" name="startTime" required="false" displayName="StartTime" description="Time of the process instance starts"/>
- <c:simple-property readOnly="true" name="endTime" required="false" displayName="EndTime" description="Time of the process instance ends"/>
- <c:simple-property readOnly="true" name="duration" required="false" displayName="Duration" description="Process instance duration"/>
- <c:simple-property readOnly="true" name="state" required="false" displayName="State" description="The process Instance State"/>
+ <c:simple-property readOnly="true" name="name" required="false" displayName="Name" description="Process instance name"/>
+ <c:simple-property readOnly="true" name="processDefinitionId" required="false" displayName="ProcessDefinitionId" description="Process definition id of this process"/>
+ <c:simple-property readOnly="true" name="state" required="false" displayName="State" description="Pocess instance state"/>
+ <c:simple-property readOnly="true" name="priority" required="false" displayName="Priority" description="Process instance priority"/>
</c:map-property>
</c:list-property>
</results>
- </operation>
-
+ </operation>
<metric property="version" displayName="version" dataType="trait"
displayType="summary" defaultOn="true" description="Process definition version" />
<metric property="id" displayName="id" dataType="trait"
@@ -178,11 +188,18 @@
<metric property="description" displayName="description"
dataType="trait" displayType="summary" defaultOn="true"
description="Process definition id" />
- <metric property="avgPerProcessInstanceDuration" displayName="avgPerProcessInstanceDuration"
+ <metric property="avgDuration" displayName="avgDuration"
dataType="measurement" displayType="summary" defaultOn="true"
- description="Average process instance duration" />
-
+ description="Average process instance duration" />
+ <metric property="processInstanceNum" displayName="processInstanceNum"
+ dataType="measurement" displayType="summary" defaultOn="true"
+ description="The number of process instance running " />
+
+ <metric property="endedProcessInstanceNum" displayName="endedProcessInstanceNum"
+ dataType="measurement" displayType="summary" defaultOn="true"
+ description="The number of ended process instance" />
+
<service name="Activies" discovery="ActivityDiscoveryComponent"
class="ActivityComponent" description="Process Activity">
@@ -195,7 +212,7 @@
<service name="Running Process Instances" discovery="ProcessInstanceDiscoveryComponent"
class="ProcessInstanceComponent" createDeletePolicy="both"
- creationDataType="configuration" description="Process Instance">
+ creationDataType="configuration" description="Process Instance" supportsManualAdd="true">
<metric property="id" displayName="id" dataType="trait"
displayType="summary" defaultOn="true" description="Process instance id" />
@@ -209,12 +226,13 @@
<metric property="priority" displayName="priority" dataType="trait"
displayType="summary" defaultOn="true" description="Process instance priority" />
- <metric property="definitionId" displayName="definitionId"
+ <metric property="definitionId" displayName="definitionId"
dataType="trait" displayType="summary" defaultOn="true"
description="Process definition id" />
<metric property="status" displayName="status" dataType="trait"
displayType="summary" defaultOn="true" description="Process instance status" />
+
<resource-configuration>
<c:simple-property name="start instance"
displayName="startInstance" type="boolean" required="true"
@@ -279,7 +297,7 @@
<metric property="processInstanceId" displayName="processInstanceId" dataType="trait"
displayType="summary" defaultOn="true" description="Process instance id" />
- <metric property="duration" displayName="duration" dataType="trait"
+ <metric property="duration" displayName="duration" dataType="measurement"
displayType="summary" defaultOn="true" description="Process instance duration" />
<metric property="startTime" displayName="startTime"
@@ -291,10 +309,7 @@
<metric property="state" displayName="state" dataType="trait"
displayType="summary" defaultOn="true" description="Process instance state" />
- </service>
-
-
-
+ </service>
</service>
</service>
</plugin>
14 years, 8 months