[jbpm-commits] JBoss JBPM SVN: r5237 - in projects/jopr-integration: src and 10 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Jul 6 03:20:36 EDT 2009
Author: jim.ma
Date: 2009-07-06 03:20:35 -0400 (Mon, 06 Jul 2009)
New Revision: 5237
Added:
projects/jopr-integration/pom.xml
projects/jopr-integration/src/
projects/jopr-integration/src/main/
projects/jopr-integration/src/main/java/
projects/jopr-integration/src/main/java/org/
projects/jopr-integration/src/main/java/org/jbosson/
projects/jopr-integration/src/main/java/org/jbosson/plugins/
projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/
projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmInstanceComponent.java
projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmInstanceDiscoveryComponent.java
projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmProcessDefComponent.java
projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmProcessDefDiscoveryComponent.java
projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmServiceComponent.java
projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmServiceDiscoveryComponent.java
projects/jopr-integration/src/main/resources/
projects/jopr-integration/src/main/resources/META-INF/
projects/jopr-integration/src/main/resources/META-INF/rhq-plugin.xml
projects/jopr-integration/src/main/resources/lib/
projects/jopr-integration/src/main/resources/lib/antlr.jar
projects/jopr-integration/src/main/resources/lib/asm.jar
projects/jopr-integration/src/main/resources/lib/bsh.jar
projects/jopr-integration/src/main/resources/lib/cglib.jar
projects/jopr-integration/src/main/resources/lib/commons-collections.jar
projects/jopr-integration/src/main/resources/lib/commons-logging.jar
projects/jopr-integration/src/main/resources/lib/dom4j.jar
projects/jopr-integration/src/main/resources/lib/hibernate.jar
projects/jopr-integration/src/main/resources/lib/hsqldb.jar
projects/jopr-integration/src/main/resources/lib/jbpm-identity.jar
projects/jopr-integration/src/main/resources/lib/jbpm-jpdl.jar
projects/jopr-integration/src/main/resources/lib/jsf-console.war
projects/jopr-integration/src/main/resources/lib/junit.jar
projects/jopr-integration/src/main/resources/lib/log4j.jar
projects/jopr-integration/src/test/
projects/jopr-integration/src/test/java/
projects/jopr-integration/src/test/resources/
Log:
initial commit for jbpm and jopr integration
Added: projects/jopr-integration/pom.xml
===================================================================
--- projects/jopr-integration/pom.xml (rev 0)
+++ projects/jopr-integration/pom.xml 2009-07-06 07:20:35 UTC (rev 5237)
@@ -0,0 +1,283 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.jboss.on</groupId>
+ <!-- Bypass the jon-plugins-parent which can not have children. It must build after the plugins in order to execute integration tests on them. -->
+ <artifactId>jon-parent</artifactId>
+ <version>2.1.2.GA</version>
+ </parent>
+
+ <groupId>org.jboss.on</groupId>
+ <artifactId>rhq-jbpm-plugin</artifactId>
+ <packaging>jar</packaging>
+
+ <name>JON JBossESB jbpm Plugin</name>
+ <description>A plugin for managing JBossESB jbpm process</description>
+
+ <scm>
+ <connection>scm:svn:http://svn.corp.jboss.com/repos/jon/trunk/jon/plugins/jbossesb/</connection>
+ <developerConnection>scm:svn:http://svn.corp.jboss.com/repos/jon/trunk/jon/plugins/jbossesb/</developerConnection>
+ </scm>
+
+ <properties>
+ <scm.module.path>jon/plugins/jbossesb/</scm.module.path>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.on</groupId>
+ <artifactId>rhq-jbossas-plugin</artifactId>
+ <version>2.1.2.GA</version>
+ <scope>provided</scope>
+ </dependency>
+</dependencies>
+
+
+
+
+ <build>
+ <plugins>
+
+ <!-- Used to add dependencies to the plugin lib
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>copy-postgres-jar</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ <version>8.1-407.jdbc3</version>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${project.build.outputDirectory}/lib</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>-->
+
+
+
+
+<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.3</version>
+ <executions>
+ <execution>
+ <id>copy-res</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${project.build.outputDirectory}/lib</outputDirectory>
+ <resources>
+ <resource>
+ <directory>resources/lib</directory>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+
+
+
+
+
+ <!--plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>copy-dependencies</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jbpm-jpdl</artifactId>
+ <version>3.2.5.GA</version>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${project.build.outputDirectory}/lib</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin-->
+
+
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>integration-tests</id>
+ <activation>
+ <property>
+ <name>maven.test.skip</name>
+ <value>!true</value>
+ </property>
+ </activation>
+
+ <build>
+ <plugins>
+ <!-- Integration testing voodoo to load and test this plugin with its plugin dependencies -->
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>pre-integration-test</phase>
+ <configuration>
+ <tasks>
+ <echo>Setting up plugin dependencies for ${project.artifactId}-${project.version}.jar...</echo>
+ <property name="settings.localRepository" location="${user.home}/.m2/repository" />
+ <mkdir dir="target/itest" />
+ <mkdir dir="target/itest/plugins" />
+ <mkdir dir="target/itest/lib" />
+ <copy toDir="target/itest/plugins" flatten="true">
+ <fileset dir="${settings.localRepository}/">
+ <include name="org/rhq/rhq-platform-plugin/${rhq.version}/rhq-platform-plugin-${rhq.version}.jar" />
+ <include name="org/rhq/rhq-jmx-plugin/${rhq.version}/rhq-jmx-plugin-${rhq.version}.jar" />
+ <include name="org/jboss/on/rhq-tomcat-plugin/${project.version}/rhq-tomcat-plugin-${project.version}.jar" />
+ <include name="org/jboss/on/rhq-jbossas-plugin/${project.version}/rhq-jbossas-plugin-${project.version}.jar" />
+ </fileset>
+ <fileset dir="${project.build.directory}">
+ <include name="${project.artifactId}-${project.version}.jar" />
+ </fileset>
+ </copy>
+ <unzip dest="target/itest/lib">
+ <fileset dir="${settings.localRepository}/org/hyperic/sigar-dist/${sigar.version}" includes="*.zip" />
+ <patternset>
+ <include name="**/lib/sigar.jar" />
+ <include name="**/lib/bcel*.jar" />
+ <include name="**/lib/*.so" />
+ <include name="**/lib/*.sl" />
+ <include name="**/lib/*.dll" />
+ <include name="**/lib/*.dylib" />
+ </patternset>
+ </unzip>
+ <move todir="target/itest/lib" flatten="true">
+ <fileset dir="target/itest/lib">
+ <include name="**/lib/*" />
+ </fileset>
+ </move>
+ <delete dir="target/itest/lib/hyperic-sigar-${sigar.version}" />
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ <executions>
+ <execution>
+ <id>surefire-it</id>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <skip>${maven.test.skip}</skip>
+ <excludedGroups>${rhq.testng.excludedGroups}</excludedGroups>
+ <useSystemClassLoader>false</useSystemClassLoader>
+ <argLine>-Dorg.hyperic.sigar.path=${basedir}/target/itest/lib</argLine>
+ <!--<argLine>-Dorg.hyperic.sigar.path=${basedir}/target/itest/lib -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y</argLine>-->
+ <systemProperties>
+ <property>
+ <name>project.artifactId</name>
+ <value>${project.artifactId}</value>
+ </property>
+ <property>
+ <name>project.version</name>
+ <value>${project.version}</value>
+ </property>
+ </systemProperties>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ </plugins>
+ </build>
+ </profile>
+
+ <profile>
+ <id>dev</id>
+
+ <properties>
+ <rhq.rootDir>../../..</rhq.rootDir>
+ <rhq.containerDir>${rhq.rootDir}/${rhq.defaultDevContainerPath}</rhq.containerDir>
+ <rhq.deploymentDir>${rhq.containerDir}/jbossas/server/default/deploy/${rhq.earName}/rhq-downloads/rhq-plugins</rhq.deploymentDir>
+ </properties>
+
+ <build>
+ <plugins>
+
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.1</version>
+ <executions>
+
+ <execution>
+ <id>deploy</id>
+ <phase>compile</phase>
+ <configuration>
+ <tasks>
+ <mkdir dir="${rhq.deploymentDir}" />
+ <property name="deployment.file" location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
+ <echo>*** Updating ${deployment.file}...</echo>
+ <jar destfile="${deployment.file}" basedir="${project.build.outputDirectory}" />
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+
+ <execution>
+ <id>undeploy</id>
+ <phase>clean</phase>
+ <configuration>
+ <tasks>
+ <property name="deployment.file" location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
+ <echo>*** Deleting ${deployment.file}...</echo>
+ <delete file="${deployment.file}" />
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+
+ </executions>
+ </plugin>
+
+ </plugins>
+ </build>
+ </profile>
+
+ </profiles>
+
+</project>
Added: projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmInstanceComponent.java
===================================================================
--- projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmInstanceComponent.java (rev 0)
+++ projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmInstanceComponent.java 2009-07-06 07:20:35 UTC (rev 5237)
@@ -0,0 +1,191 @@
+package org.jbosson.plugins.jbpm;
+
+import java.lang.reflect.Method;
+import java.util.Set;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.mc4j.ems.connection.EmsConnection;
+import org.mc4j.ems.connection.bean.EmsBean;
+import org.mc4j.ems.connection.bean.operation.EmsOperation;
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.measurement.AvailabilityType;
+import org.rhq.core.domain.measurement.MeasurementDataTrait;
+import org.rhq.core.domain.measurement.MeasurementReport;
+import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
+import org.rhq.core.pluginapi.inventory.DeleteResourceFacet;
+import org.rhq.core.pluginapi.inventory.ResourceComponent;
+import org.rhq.core.pluginapi.inventory.ResourceContext;
+import org.rhq.core.pluginapi.measurement.MeasurementFacet;
+import org.rhq.core.pluginapi.operation.OperationFacet;
+import org.rhq.core.pluginapi.operation.OperationResult;
+
+public class JbpmInstanceComponent implements ResourceComponent<JbpmProcessDefComponent>, MeasurementFacet, DeleteResourceFacet,OperationFacet {
+ public static final String JBPM_SERVICE = "jboss.esb:service=JbpmService";
+ private ResourceContext<JbpmProcessDefComponent> resourceContext;
+ private Log log = LogFactory.getLog(JbpmProcessDefComponent.class);
+ private EmsConnection newConnection = null;
+ private EmsOperation getInsOperation = null;
+ private String instanceId = "";
+ private Class processInsClass = null;
+
+ public void start(ResourceContext<JbpmProcessDefComponent> resourceContext) {
+ this.resourceContext = resourceContext;
+ instanceId = resourceContext.getResourceKey();
+ newConnection = resourceContext.getParentResourceComponent().getNewConnection();
+ EmsBean bean = newConnection.getBean(JBPM_SERVICE);
+ getInsOperation = bean.getOperation("getProcessInstance");
+ try {
+ processInsClass = newConnection.getClass().getClassLoader().loadClass("org.jbpm.graph.exe.ProcessInstance");
+ } catch(ClassNotFoundException e) {
+ log.error("Failed to load class [org.jbpm.graph.exe.ProcessInstance],please check the jbpm plugin configuration");
+ }
+ }
+
+ public void stop() {
+ }
+
+ public AvailabilityType getAvailability() {
+ return AvailabilityType.UP;
+ }
+
+ public void getValues(MeasurementReport report, Set<MeasurementScheduleRequest> metrics) {
+ for (MeasurementScheduleRequest request : metrics) {
+ if (request.getName().equals("version")) {
+ MeasurementDataTrait value = new MeasurementDataTrait(request,
+ String.valueOf(getObjectValue("getVersion")));
+ report.addData(value);
+ }
+ if (request.getName().equals("id")) {
+
+ MeasurementDataTrait value = new MeasurementDataTrait(request,
+ String.valueOf(getObjectValue("getId")));
+ report.addData(value);
+ }
+
+ if (request.getName().equals("start")) {
+
+ MeasurementDataTrait value = new MeasurementDataTrait(request,
+ String.valueOf(getObjectValue("getStart")));
+ report.addData(value);
+ }
+
+ if (request.getName().equals("end")) {
+ Object obj = getObjectValue("getEnd");
+ Object endData = obj != null ? obj : "";
+ MeasurementDataTrait value = new MeasurementDataTrait(request, String.valueOf(endData));
+ report.addData(value);
+ }
+
+
+ if (request.getName().equals("status")) {
+ String status = "Running";
+ boolean wasSuspended = (Boolean)getObjectValue("isSuspended");
+ status = wasSuspended ? "wasSuspended" : status;
+ status = getObjectValue("getEnd") != null ? "Ended" : status;
+ MeasurementDataTrait value = new MeasurementDataTrait(request, status);
+ report.addData(value);
+ }
+ }
+ }
+
+ public OperationResult invokeOperation(String name, Configuration configuration) throws InterruptedException {
+ String operataion = name.toUpperCase();
+ String message = "";
+ if ("SUSPEND".equals(operataion)) {
+ message = suspendInstance();
+ }
+
+ if ("END".equals(operataion)) {
+ message = endInstance();
+ }
+
+ if ("DELETE".equals(operataion)) {
+ message = deleteInstance();
+ }
+
+ if ("RESUME".equals(operataion)) {
+ message = resumeInstance();
+ }
+
+
+ OperationResult result = new OperationResult(message);
+ return result;
+
+ }
+
+ public String suspendInstance() {
+ EmsConnection connection = getNewConnection();
+ EmsBean bean = connection.getBean(this.JBPM_SERVICE);
+ EmsOperation operation = bean.getOperation("suspendProcessInstance");
+ operation.invoke(Long.parseLong(resourceContext.getResourceKey()));
+ return "Sucess";
+ }
+
+ public String endInstance() {
+ EmsConnection connection = getNewConnection();
+ EmsBean bean = connection.getBean(this.JBPM_SERVICE);
+ EmsOperation operation = bean.getOperation("endProcessInstance");
+ operation.invoke(Long.parseLong(resourceContext.getResourceKey()));
+ return "Sucess";
+ }
+
+ public String resumeInstance() {
+ EmsConnection connection = getNewConnection();
+ EmsBean bean = connection.getBean(this.JBPM_SERVICE);
+ EmsOperation operation = bean.getOperation("resumeProcessInstance");
+ operation.invoke(Long.parseLong(resourceContext.getResourceKey()));
+ return "Sucess";
+ }
+
+ public String deleteInstance() {
+ EmsConnection connection = getNewConnection();
+ EmsBean bean = connection.getBean(this.JBPM_SERVICE);
+ EmsOperation operation = bean.getOperation("deleteProcessInstance");
+ operation.invoke(Long.parseLong(resourceContext.getResourceKey()));
+ return "Sucess";
+ }
+
+
+ /* implement the DeleteResourceFacet */
+ public void deleteResource() throws Exception {
+ EmsConnection connection = getNewConnection();
+ EmsBean bean = connection.getBean(this.JBPM_SERVICE);
+ EmsOperation operation = bean.getOperation("deleteProcessInstance");
+ operation.invoke(Long.parseLong(resourceContext.getResourceKey()));
+ }
+
+
+ public Object getObjectValue(String getMethodName) {
+ Object obj = null;
+ Object res = "";
+ try {
+ obj = getInsOperation.invoke(Long.parseLong(instanceId));
+ Method jmxMethod = processInsClass.getSuperclass()
+ .getDeclaredMethod(getMethodName, new Class[] {});
+ res = jmxMethod.invoke(obj, new Object[] {});
+
+ } catch (NoSuchMethodException e) {
+ try {
+ Method method = processInsClass.getDeclaredMethod(getMethodName, new Class[] {});
+ res = method.invoke(obj, new Object[] {});
+ } catch (Exception e1) {
+ // do nothing
+ }
+ } catch (Exception e) {
+ log.error("Failed to invoke method [" + getMethodName + "] aginst this processIntance[" + resourceContext.getResourceKey() + "]");
+ }
+ return res;
+
+ }
+
+ public EmsConnection getNewConnection() {
+ return newConnection;
+ }
+
+ public String getId() {
+ return resourceContext.getResourceKey();
+ }
+
+
+}
Added: projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmInstanceDiscoveryComponent.java
===================================================================
--- projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmInstanceDiscoveryComponent.java (rev 0)
+++ projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmInstanceDiscoveryComponent.java 2009-07-06 07:20:35 UTC (rev 5237)
@@ -0,0 +1,54 @@
+package org.jbosson.plugins.jbpm;
+
+import java.lang.reflect.Method;
+import java.util.List;
+import java.util.Set;
+
+import org.jbpm.graph.exe.ProcessInstance;
+import org.mc4j.ems.connection.EmsConnection;
+import org.mc4j.ems.connection.bean.EmsBean;
+import org.mc4j.ems.connection.bean.operation.EmsOperation;
+import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
+
+public class JbpmInstanceDiscoveryComponent implements ResourceDiscoveryComponent<JbpmProcessDefComponent> {
+ public static final String JBPM_SERVICE = "jboss.esb:service=JbpmService";
+ EmsConnection newConnection = null;
+
+ public Set<DiscoveredResourceDetails> discoverResources(
+ ResourceDiscoveryContext<JbpmProcessDefComponent> context) {
+
+ System.out.println("Discover jbpm instance definition");
+ Set<DiscoveredResourceDetails> jbpmDefs = new java.util.HashSet<DiscoveredResourceDetails>();
+
+ try {
+ newConnection = context.getParentResourceComponent().getNewConnection();
+ EmsBean bean = newConnection.getBean(JBPM_SERVICE);
+ EmsOperation operation = bean.getOperation("getProcessInstances");
+ Object obj = operation.invoke(Long.valueOf(context.getParentResourceComponent().getId()));
+ Class processInsClass = newConnection.getClass().getClassLoader().loadClass("org.jbpm.graph.exe.ProcessInstance");
+ Method idMethod = processInsClass.getDeclaredMethod("getId", new Class[]{});
+ if (obj != null) {
+ List<ProcessInstance> instances = (List<ProcessInstance>)obj;
+ for (int i = 0; i < instances.size(); i++) {
+ Object tmp = instances.get(i);
+ Method method = processInsClass.getDeclaredMethod("getId", new Class[]{});
+ Long insId = (Long)method.invoke(tmp, new Object[]{});
+ String insName = "Process Instances " + insId;
+ DiscoveredResourceDetails details = new DiscoveredResourceDetails(context
+ .getResourceType(), String.valueOf(insId), insName, null, insName, null, null);
+ jbpmDefs.add(details);
+ }
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+
+ } finally {
+
+ }
+ return jbpmDefs;
+ }
+
+}
Added: projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmProcessDefComponent.java
===================================================================
--- projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmProcessDefComponent.java (rev 0)
+++ projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmProcessDefComponent.java 2009-07-06 07:20:35 UTC (rev 5237)
@@ -0,0 +1,160 @@
+package org.jbosson.plugins.jbpm;
+
+import static java.lang.Long.parseLong;
+
+import java.lang.reflect.Method;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.mc4j.ems.connection.EmsConnection;
+import org.mc4j.ems.connection.bean.EmsBean;
+import org.mc4j.ems.connection.bean.operation.EmsOperation;
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.measurement.AvailabilityType;
+import org.rhq.core.domain.measurement.MeasurementDataTrait;
+import org.rhq.core.domain.measurement.MeasurementReport;
+import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
+import org.rhq.core.domain.resource.CreateResourceStatus;
+import org.rhq.core.pluginapi.inventory.CreateChildResourceFacet;
+import org.rhq.core.pluginapi.inventory.CreateResourceReport;
+import org.rhq.core.pluginapi.inventory.DeleteResourceFacet;
+import org.rhq.core.pluginapi.inventory.ResourceComponent;
+import org.rhq.core.pluginapi.inventory.ResourceContext;
+import org.rhq.core.pluginapi.measurement.MeasurementFacet;
+import org.rhq.core.pluginapi.operation.OperationFacet;
+import org.rhq.core.pluginapi.operation.OperationResult;
+
+public class JbpmProcessDefComponent implements
+ ResourceComponent<JbpmServiceComponent>, MeasurementFacet, DeleteResourceFacet, OperationFacet, CreateChildResourceFacet {
+ public static final String JBPM_SERVICE = "jboss.esb:service=JbpmService";
+ private ResourceContext<JbpmServiceComponent> resourceContext;
+ private Log log = LogFactory.getLog(JbpmProcessDefComponent.class);
+ private EmsConnection newConnection = null;
+ private Object jbpmProcessDef = null;
+ private Class processDefClass = null;
+ private String id = null;
+
+ public void start(ResourceContext<JbpmServiceComponent> resourceContext) {
+ this.resourceContext = resourceContext;
+ newConnection = resourceContext.getParentResourceComponent()
+ .getRebuildConnection();
+ EmsBean bean = newConnection.getBean(JBPM_SERVICE);
+ Object obj = bean.getAttribute("DeployedProcessDefinitions").refresh();
+ id = resourceContext.getResourceKey();
+ //TODO: Check if we should refresh the jbpmProcessDef when collect metric value
+ try {
+ processDefClass = newConnection.getClass().getClassLoader()
+ .loadClass("org.jbpm.graph.def.ProcessDefinition");
+ List<ProcessDefinition> processList = (List<ProcessDefinition>) obj;
+ for (int i = 0; i < processList.size(); i++) {
+ Object processDef = processList.get(i);
+ String id = String.valueOf(getObjectValue(processDef, "getId"));
+ if (resourceContext.getResourceKey().equals(id)) {
+ jbpmProcessDef = processDef;
+ break;
+ }
+
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ public void stop() {
+ }
+
+ public AvailabilityType getAvailability() {
+ return AvailabilityType.UP;
+ }
+
+ public void getValues(MeasurementReport report, Set<MeasurementScheduleRequest> metrics) {
+ for (MeasurementScheduleRequest request : metrics) {
+ if (request.getName().equals("version")) {
+ MeasurementDataTrait value = new MeasurementDataTrait(request,
+ String.valueOf(getObjectValue(jbpmProcessDef,
+ "getVersion")));
+ report.addData(value);
+ }
+ if (request.getName().equals("id")) {
+
+ MeasurementDataTrait value = new MeasurementDataTrait(request,
+ String.valueOf(getObjectValue(jbpmProcessDef, "getId")));
+ report.addData(value);
+ }
+
+ }
+
+ }
+
+ /* implement the DeleteResourceFacet */
+ public void deleteResource() throws Exception {
+ EmsConnection connection = this.getNewConnection();
+ EmsBean bean = connection.getBean(JBPM_SERVICE);
+ EmsOperation emsOp = bean.getOperation("deleteProcess");
+ emsOp.invoke(parseLong(id));
+ }
+
+ public CreateResourceReport createResource(CreateResourceReport report) {
+ String resourceTypeName = report.getResourceType().getName();
+ report.setResourceKey(resourceTypeName);
+ report.setResourceName(resourceTypeName);
+ try {
+ EmsConnection connection = this.getNewConnection();
+ EmsBean bean = connection.getBean(JBPM_SERVICE);
+ EmsOperation emsOp = bean.getOperation("startProcessInstance");
+ emsOp.invoke(parseLong(id));
+ } catch (Exception e) {
+ report.setStatus(CreateResourceStatus.FAILURE);
+ report.setErrorMessage(e.getMessage());
+ report.setException(e);
+ }
+ report.setStatus(CreateResourceStatus.SUCCESS);
+ return report;
+ }
+
+
+
+ public OperationResult invokeOperation(String name, Configuration configuration) throws InterruptedException {
+ if ("startinstance".equals(name.toLowerCase())) {
+ EmsConnection connection = this.getNewConnection();
+ EmsBean bean = connection.getBean(JBPM_SERVICE);
+ EmsOperation emsOp = bean.getOperation("startProcessInstance");
+ emsOp.invoke(parseLong(id));
+ }
+ return new OperationResult("Sucess to create process instance");
+ }
+
+
+
+ public Object getObjectValue(Object obj, String getMethodName) {
+ Object res = "";
+ try {
+ Method jmxMethod = processDefClass.getSuperclass()
+ .getDeclaredMethod(getMethodName, new Class[] {});
+ res = jmxMethod.invoke(obj, new Object[] {});
+ } catch (Exception e) {
+ //e.printStackTrace();
+ try {
+ Method method = processDefClass.getDeclaredMethod(getMethodName, new Class[] {});
+ res = method.invoke(obj, new Object[] {});
+ } catch (Exception e1) {
+ //do nothing
+ }
+ }
+ return res;
+
+ }
+
+ public EmsConnection getNewConnection() {
+ return newConnection;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+}
Added: projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmProcessDefDiscoveryComponent.java
===================================================================
--- projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmProcessDefDiscoveryComponent.java (rev 0)
+++ projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmProcessDefDiscoveryComponent.java 2009-07-06 07:20:35 UTC (rev 5237)
@@ -0,0 +1,59 @@
+package org.jbosson.plugins.jbpm;
+
+import java.lang.reflect.Method;
+import java.util.List;
+import java.util.Set;
+
+import org.jbpm.graph.def.ProcessDefinition;
+import org.mc4j.ems.connection.EmsConnection;
+import org.mc4j.ems.connection.bean.EmsBean;
+import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
+
+/**
+ *
+ *
+ */
+public class JbpmProcessDefDiscoveryComponent implements
+ ResourceDiscoveryComponent<JbpmServiceComponent> {
+ public static final String JBPM_SERVICE = "jboss.esb:service=JbpmService";
+ EmsConnection newConnection = null;
+
+ public Set<DiscoveredResourceDetails> discoverResources(
+ ResourceDiscoveryContext<JbpmServiceComponent> context) {
+
+ System.out.println("Discover jbpm process definition");
+ Set<DiscoveredResourceDetails> jbpmDefs = new java.util.HashSet<DiscoveredResourceDetails>();
+
+ try {
+ newConnection = context.getParentResourceComponent().getRebuildConnection();
+ EmsBean bean = newConnection.getBean(JBPM_SERVICE);
+ Object obj = bean.getAttribute("DeployedProcessDefinitions").refresh();
+ Class processDefClass = newConnection.getClass().getClassLoader().loadClass("org.jbpm.graph.def.ProcessDefinition");
+
+ List<ProcessDefinition> processList = (List<ProcessDefinition>)obj;
+ Method getIdMethod = processDefClass.getSuperclass().getDeclaredMethod("getId", new Class[]{});
+ Method getNameMethod = processDefClass.getSuperclass().getDeclaredMethod("getName", new Class[]{});
+ Method getVersionMethod = processDefClass.getDeclaredMethod("getVersion", new Class[]{});
+ for (int i =0 ; i < processList.size(); i++) {
+ Object processDef = processList.get(i);
+ Long defId = (Long)getIdMethod.invoke(processDef, new Object[]{});
+
+ String defName = (String) getNameMethod.invoke(processDef, new Object[]{});
+ String version = String.valueOf(getVersionMethod.invoke(processDef, new Object[]{}));
+ defName = defName + "-V" + version;
+ DiscoveredResourceDetails details = new DiscoveredResourceDetails(context
+ .getResourceType(), String.valueOf(defId), defName, null, defName, null, null);
+ jbpmDefs.add(details);
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+
+ } finally {
+
+ }
+ return jbpmDefs;
+ }
+}
\ No newline at end of file
Added: projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmServiceComponent.java
===================================================================
--- projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmServiceComponent.java (rev 0)
+++ projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmServiceComponent.java 2009-07-06 07:20:35 UTC (rev 5237)
@@ -0,0 +1,220 @@
+package org.jbosson.plugins.jbpm;
+
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FilenameFilter;
+import java.io.OutputStream;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.mc4j.ems.connection.ConnectionFactory;
+import org.mc4j.ems.connection.EmsConnection;
+import org.mc4j.ems.connection.bean.EmsBean;
+import org.mc4j.ems.connection.bean.operation.EmsOperation;
+import org.mc4j.ems.connection.settings.ConnectionSettings;
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.configuration.PropertySimple;
+import org.rhq.core.domain.content.PackageDetailsKey;
+import org.rhq.core.domain.content.transfer.ResourcePackageDetails;
+import org.rhq.core.domain.measurement.AvailabilityType;
+import org.rhq.core.domain.resource.CreateResourceStatus;
+import org.rhq.core.pluginapi.content.ContentContext;
+import org.rhq.core.pluginapi.content.ContentServices;
+import org.rhq.core.pluginapi.inventory.CreateChildResourceFacet;
+import org.rhq.core.pluginapi.inventory.CreateResourceReport;
+import org.rhq.core.pluginapi.inventory.ResourceContext;
+import org.rhq.plugins.jmx.MBeanResourceComponent;
+
+public class JbpmServiceComponent extends MBeanResourceComponent implements
+ CreateChildResourceFacet {
+ public static final String JBPM_SERVICE = "jboss.esb:service=JbpmService";
+ private static final String RESOURCE_TYPE_JBPM_PROCESS = "Process Definitions";
+ private static final String RESOURCE_TYPE_PAR = "par";
+ EmsConnection newConnection = null;
+ ContentContext contentContext = null;
+
+ public EmsConnection getRebuildConnection() {
+ if (this.newConnection == null) {
+ ConnectionSettings settings = this.getEmsConnection()
+ .getConnectionProvider().getConnectionSettings();
+ addAdditionalJarsToConnectionSettings(settings,
+ this.resourceContext);
+ ConnectionFactory cf = new ConnectionFactory();
+ cf.discoverServerClasses(settings);
+ newConnection = cf.getConnectionProvider(settings).connect();
+ newConnection.loadSynchronous(false);
+ }
+ return newConnection;
+
+ }
+
+ public void start(ResourceContext context) {
+ super.start(context);
+ contentContext = context.getContentContext();
+ }
+
+ private void addAdditionalJarsToConnectionSettings(
+ ConnectionSettings settings, ResourceContext context) {
+ // get the plugin config setting that contains comma-separated list of
+ // files/dirs to additional jars
+ // if no additional classpath entries are specified, we'll return
+ // immediately and not do anything to settings
+
+ List<File> entries = settings.getClassPathEntries();
+ if (entries == null) {
+ entries = new ArrayList<File>();
+ }
+
+ Configuration pc = context.getPluginConfiguration();
+ PropertySimple prop = pc.getSimple("additionalClassPathEntries");
+ if (prop == null || prop.getStringValue() == null
+ || prop.getStringValue().trim().length() == 0) {
+ ClassLoader loader = getClass().getClassLoader();
+ if (loader instanceof URLClassLoader) {
+ URLClassLoader urlClassLoader = (URLClassLoader) loader;
+ for (URL url : urlClassLoader.getURLs()) {
+ entries.add(new File(url.getFile()));
+ }
+ }
+ settings.setClassPathEntries(entries);
+ return;
+ }
+
+ String[] paths = prop.getStringValue().trim().split(",");
+ if (paths == null || paths.length == 0) {
+ return;
+ }
+
+ // get the current set of class path entries - we are going to add to
+ // these
+
+ // Get all additional classpath entries which can be listed as jar
+ // filenames or directories.
+ // If a directory has "/*.jar" at the end, all jar files found in that
+ // directory will be added
+ // as class path entries.
+ final class JarFilenameFilter implements FilenameFilter {
+ public boolean accept(File dir, String name) {
+ return name.endsWith(".jar");
+ }
+ }
+
+ for (String path : paths) {
+ path = path.trim();
+ if (path.length() > 0) {
+ if (path.endsWith("*.jar")) {
+ path = path.substring(0, path.length() - 5);
+ File dir = new File(path);
+ File[] jars = dir.listFiles(new JarFilenameFilter());
+ if (jars != null && jars.length > 0) {
+ entries.addAll(Arrays.asList(jars));
+ }
+ } else {
+ File pathFile = new File(path);
+ entries.add(pathFile);
+ }
+ }
+ }
+
+ // now that we've appended our additional jars, tell the connection
+ // settings about the new list
+ settings.setClassPathEntries(entries);
+
+ return;
+ }
+
+ @Override
+ public AvailabilityType getAvailability() {
+ AvailabilityType av = super.getAvailability();
+ return av;
+ }
+
+ public CreateResourceReport createResource(CreateResourceReport report) {
+ String resourceTypeName = report.getResourceType().getName();
+ try {
+ if (resourceTypeName.equals(RESOURCE_TYPE_JBPM_PROCESS)) {
+ jbpmProcessCreate(report);
+ } else {
+ throw new UnsupportedOperationException(
+ "Unknown Resource type: " + resourceTypeName);
+ }
+ } catch (Exception e) {
+ report.setErrorMessage(e.getMessage());
+ report.setException(e);
+ }
+ return report;
+ }
+
+ public void jbpmProcessCreate(CreateResourceReport report) {
+ ResourcePackageDetails details = report.getPackageDetails();
+ PackageDetailsKey key = details.getKey();
+ String resourceTypeName = report.getResourceType().getName();
+ String archiveName = key.getName();
+
+ report.setResourceName(archiveName);
+ report.setResourceKey(archiveName);
+
+ int lastPeriod = archiveName.lastIndexOf(".");
+ String extension = archiveName.substring(lastPeriod + 1);
+
+ Configuration deployTimeConfiguration = details.getDeploymentTimeConfiguration();
+
+ PropertySimple zipProperty = deployTimeConfiguration.getSimple("deployZipped");
+
+ if (zipProperty == null || zipProperty.getBooleanValue() == null) {
+ report.setErrorMessage("Zipped property is required.");
+ report.setStatus(CreateResourceStatus.FAILURE);
+ return;
+ }
+
+ boolean zip = zipProperty.getBooleanValue();
+
+ String expectedExtension = "xml";
+ if (zip) {
+ expectedExtension = "par";
+ }
+
+
+ if (lastPeriod == -1 || !expectedExtension.equals(extension) ) {
+ report.setErrorMessage("Incorrect extension specified on filename [" + archiveName + "]. Expected ["
+ + expectedExtension + "]");
+ report.setStatus(CreateResourceStatus.FAILURE);
+ return;
+ }
+
+
+ File tempDir = resourceContext.getTemporaryDirectory();
+ String filename = zip ? "process.par" : "process.xml";
+ File tempFile = new File(tempDir.getAbsolutePath(), filename);
+ try {
+ OutputStream osForTempDir = new BufferedOutputStream(
+ new FileOutputStream(tempFile));
+
+ ContentServices contentServices = contentContext
+ .getContentServices();
+ contentServices.downloadPackageBitsForChildResource(contentContext,
+ resourceTypeName, key, osForTempDir);
+
+ osForTempDir.close();
+ URL fileURL = tempFile.toURL();
+ deployFile(fileURL.toExternalForm());
+ report.setStatus(CreateResourceStatus.SUCCESS);
+ } catch (Exception e) {
+ report.setErrorMessage("Failed to deploy [" + archiveName + "]");
+ report.setException(e);
+ report.setStatus(CreateResourceStatus.FAILURE);
+ }
+
+ }
+
+ public void deployFile(String url) throws Exception {
+ newConnection = this.getRebuildConnection();
+ EmsBean bean = newConnection.getBean(JBPM_SERVICE);
+ EmsOperation operation = bean.getOperation("deploy");
+ operation.invoke(url);
+ }
+}
Added: projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmServiceDiscoveryComponent.java
===================================================================
--- projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmServiceDiscoveryComponent.java (rev 0)
+++ projects/jopr-integration/src/main/java/org/jbosson/plugins/jbpm/JbpmServiceDiscoveryComponent.java 2009-07-06 07:20:35 UTC (rev 5237)
@@ -0,0 +1,18 @@
+package org.jbosson.plugins.jbpm;
+
+import java.util.Set;
+
+import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
+import org.rhq.plugins.jmx.JMXComponent;
+import org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent;
+
+public class JbpmServiceDiscoveryComponent extends MBeanResourceDiscoveryComponent {
+ @Override
+ public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext<JMXComponent> context) {
+ Set<DiscoveredResourceDetails> jmxResources = super.discoverResources(context);
+
+
+ return jmxResources;
+ }
+}
\ No newline at end of file
Added: projects/jopr-integration/src/main/resources/META-INF/rhq-plugin.xml
===================================================================
--- projects/jopr-integration/src/main/resources/META-INF/rhq-plugin.xml (rev 0)
+++ projects/jopr-integration/src/main/resources/META-INF/rhq-plugin.xml 2009-07-06 07:20:35 UTC (rev 5237)
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<plugin name="JBossESB-JBPM" displayName="JBossESB-JBPM"
+ package="org.jbosson.plugins.jbpm"
+ description="Provides monitoring of JBoss JBPM" version="2.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="urn:xmlns:rhq-plugin" xmlns:c="urn:xmlns:rhq-configuration">
+
+ <depends plugin="JMX" />
+ <depends plugin="Tomcat" />
+ <depends plugin="JBossAS" useClasses="true" />
+ <service name="JBPM Service"
+ discovery="org.jbosson.plugins.jbpm.JbpmServiceDiscoveryComponent"
+ class="org.jbosson.plugins.jbpm.JbpmServiceComponent"
+ description="JBPM Service" singleton="true">
+ <runs-inside>
+ <parent-resource-type name="JBossAS Server"
+ plugin="JBossAS" />
+ </runs-inside>
+
+ <plugin-configuration>
+ <c:simple-property name="objectName" readOnly="true"
+ default="jboss.esb:service=JbpmService" />
+ <c:simple-property name="nameTemplate"
+ default="JBPM Service" />
+ <c:simple-property name="DescriptionTemplate"
+ default="JBoss Service." />
+ <!--c:simple-property name="additionalClassPathEntries" default="/x1/jbossON/jbpm-lib/*.jar"/-->
+ </plugin-configuration>
+ <operation name="start" displayName="Start JBPM Service"
+ description="Start the JBPM Service" />
+ <operation name="stop" displayName="Stop JBPM Service"
+ description="Stop the JBPM Service" />
+ <metric property="Name" displayName="Service Name"
+ dataType="trait" displayType="summary" defaultOn="true"
+ description="JBPM ServiceName" />
+ <metric property="StateString" displayName="jbpm State String"
+ dataType="trait" displayType="summary" defaultOn="true"
+ description="Current state of JBPM Service" />
+ <metric property="State" displayName="jbpm State"
+ dataType="trait" displayType="summary" defaultOn="true"
+ description="Numeric value of the state of the jbpm service" />
+ <help>
+ <![CDATA[
+ JBoss JBPM Service
+ ]]>
+ </help>
+
+ <service name="Process Definitions"
+ discovery="org.jbosson.plugins.jbpm.JbpmProcessDefDiscoveryComponent"
+ class="org.jbosson.plugins.jbpm.JbpmProcessDefComponent"
+ creationDataType="content"
+ createDeletePolicy="both"
+ description="JBPM Process Definitions">
+
+
+ <metric property="version" displayName="Version"
+ dataType="trait" displayType="summary" defaultOn="true"
+ description="Process definition version" />
+ <metric property="id" displayName="Id" dataType="trait"
+ displayType="summary" defaultOn="true"
+ description="Process definition id" />
+ <content name="file" displayName="jBPM Process"
+ category="deployable" isCreationType="true">
+ <configuration>
+ <c:group name="deployment"
+ displayName="Deployment Options">
+ <c:simple-property name="deployZipped"
+ displayName="Deploy Zipped" type="boolean" default="false"
+ required="true"
+ description="Indicates jBPM process artifacts either par file or xml file" />
+ </c:group>
+ </configuration>
+ </content>
+ <service name="Process Instances"
+ discovery="org.jbosson.plugins.jbpm.JbpmInstanceDiscoveryComponent"
+ class="org.jbosson.plugins.jbpm.JbpmInstanceComponent"
+ createDeletePolicy="both"
+ creationDataType="configuration"
+ description="Process Instances">
+
+
+ <operation name="suspend" displayName="suspend"
+ description="Suspend this process instance"/>
+
+ <operation name="resume" displayName="resume"
+ description="Resume this process instance"/>
+
+ <operation name="end" displayName="end"
+ description="End this process instance"/>
+
+ <metric property="version" displayName="Version"
+ dataType="trait" displayType="summary" defaultOn="true"
+ description="Process Instance version" />
+
+ <metric property="id" displayName="Id" dataType="trait"
+ displayType="summary" defaultOn="true"
+ description="Process Instance Id" />
+
+ <metric property="start" displayName="StartData"
+ dataType="trait" displayType="summary" defaultOn="true"
+ description="Process Instance StartData" />
+
+ <metric property="status" displayName="Status"
+ dataType="trait" displayType="summary" defaultOn="true"
+ description="Process Instance Satus" />
+
+ <metric property="end" displayName="EndData"
+ dataType="trait" displayType="summary" defaultOn="true"
+ description="Process Instance EndData" />
+
+ <help>
+ <![CDATA[
+ JBoss Process Instances
+ ]]>
+ </help>
+
+
+ </service>
+
+ </service>
+ </service>
+</plugin>
Added: projects/jopr-integration/src/main/resources/lib/antlr.jar
===================================================================
(Binary files differ)
Property changes on: projects/jopr-integration/src/main/resources/lib/antlr.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/jopr-integration/src/main/resources/lib/asm.jar
===================================================================
(Binary files differ)
Property changes on: projects/jopr-integration/src/main/resources/lib/asm.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/jopr-integration/src/main/resources/lib/bsh.jar
===================================================================
(Binary files differ)
Property changes on: projects/jopr-integration/src/main/resources/lib/bsh.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/jopr-integration/src/main/resources/lib/cglib.jar
===================================================================
(Binary files differ)
Property changes on: projects/jopr-integration/src/main/resources/lib/cglib.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/jopr-integration/src/main/resources/lib/commons-collections.jar
===================================================================
(Binary files differ)
Property changes on: projects/jopr-integration/src/main/resources/lib/commons-collections.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/jopr-integration/src/main/resources/lib/commons-logging.jar
===================================================================
(Binary files differ)
Property changes on: projects/jopr-integration/src/main/resources/lib/commons-logging.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/jopr-integration/src/main/resources/lib/dom4j.jar
===================================================================
(Binary files differ)
Property changes on: projects/jopr-integration/src/main/resources/lib/dom4j.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/jopr-integration/src/main/resources/lib/hibernate.jar
===================================================================
(Binary files differ)
Property changes on: projects/jopr-integration/src/main/resources/lib/hibernate.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/jopr-integration/src/main/resources/lib/hsqldb.jar
===================================================================
(Binary files differ)
Property changes on: projects/jopr-integration/src/main/resources/lib/hsqldb.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/jopr-integration/src/main/resources/lib/jbpm-identity.jar
===================================================================
(Binary files differ)
Property changes on: projects/jopr-integration/src/main/resources/lib/jbpm-identity.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/jopr-integration/src/main/resources/lib/jbpm-jpdl.jar
===================================================================
(Binary files differ)
Property changes on: projects/jopr-integration/src/main/resources/lib/jbpm-jpdl.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/jopr-integration/src/main/resources/lib/jsf-console.war
===================================================================
(Binary files differ)
Property changes on: projects/jopr-integration/src/main/resources/lib/jsf-console.war
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/jopr-integration/src/main/resources/lib/junit.jar
===================================================================
(Binary files differ)
Property changes on: projects/jopr-integration/src/main/resources/lib/junit.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/jopr-integration/src/main/resources/lib/log4j.jar
===================================================================
(Binary files differ)
Property changes on: projects/jopr-integration/src/main/resources/lib/log4j.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
More information about the jbpm-commits
mailing list