[jbpm-commits] JBoss JBPM SVN: r4859 - in jbpm4/trunk/modules: api/src/main/java/org/jbpm/api/model and 15 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed May 20 10:07:38 EDT 2009


Author: tom.baeyens at jboss.com
Date: 2009-05-20 10:07:38 -0400 (Wed, 20 May 2009)
New Revision: 4859

Added:
   jbpm4/trunk/modules/integration/form-plugin/.classpath
   jbpm4/trunk/modules/integration/form-plugin/.project
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/deploy/ImageTest.java
   jbpm4/trunk/modules/test-db/src/test/resources/org/jbpm/test/deploy/
   jbpm4/trunk/modules/test-db/src/test/resources/org/jbpm/test/deploy/ImageTest.jpdl.xml
   jbpm4/trunk/modules/test-db/src/test/resources/org/jbpm/test/deploy/ImageTest.png
Modified:
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessDefinition.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessDefinitionQuery.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/model/OpenProcessDefinition.java
   jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/test/deployer/DeployerTestServlet.java
   jbpm4/trunk/modules/integration/console/src/main/java/org/jbpm/integration/console/ProcessManagementImpl.java
   jbpm4/trunk/modules/integration/form-plugin/src/main/java/org/jbpm/integration/console/forms/TaskDispatcherPluginImpl.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/repository/JpdlDeployer.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/builder/ProcessDefinitionBuilder.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetResourceAsStreamCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessDefinitionImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessDefinitionQueryImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/RepositorySessionImpl.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ActivityCoordinatesTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/DeploymentResourcesTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessDefinitionQueryTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/RepositoryServiceTest.java
Log:
JBPM-2269 added image resource support for process definitions

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessDefinition.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessDefinition.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessDefinition.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -51,4 +51,8 @@
   /** references the deployment in which this process definition is
    * deployed. */
   long getDeploymentDbid();
+  
+  /** the name of the resource in the deployment which contains the image 
+   * file for this process */
+  String getImageResourceName();
 }

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessDefinitionQuery.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessDefinitionQuery.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessDefinitionQuery.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -34,10 +34,10 @@
   String PROPERTY_VERSION = "versionProperty.longValue";
   String PROPERTY_DEPLOYMENT_TIMESTAMP = "deployment.timestamp";
 
-  ProcessDefinitionQuery id(String id);
-  ProcessDefinitionQuery key(String key);
-  ProcessDefinitionQuery nameLike(String name);
-  ProcessDefinitionQuery name(String name);
+  ProcessDefinitionQuery processDefinitionId(String processDefinitionId);
+  ProcessDefinitionQuery processDefinitionKey(String key);
+  ProcessDefinitionQuery processDefinitionNameLike(String name);
+  ProcessDefinitionQuery processDefinitionName(String name);
   ProcessDefinitionQuery deploymentDbid(long deploymentDbid);
   ProcessDefinitionQuery suspended();
 

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/model/OpenProcessDefinition.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/model/OpenProcessDefinition.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/model/OpenProcessDefinition.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -56,6 +56,4 @@
   /** the initial activity of this process definition */
   Activity getInitial();
 
-  /** retrieves an attachment of a process definition */
-  byte[] getAttachment(String name);
 }
\ No newline at end of file

Modified: jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/test/deployer/DeployerTestServlet.java
===================================================================
--- jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/test/deployer/DeployerTestServlet.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/test/deployer/DeployerTestServlet.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -61,7 +61,7 @@
       RepositoryService repositoryService = processEngine.getRepositoryService();
 
       ProcessDefinition def = repositoryService.createProcessDefinitionQuery()
-        .key(JBPM_DEPLOYER_TEST_V5)
+        .processDefinitionKey(JBPM_DEPLOYER_TEST_V5)
         .orderDesc(ProcessDefinitionQuery.PROPERTY_VERSION)
         .uniqueResult();
 

Modified: jbpm4/trunk/modules/integration/console/src/main/java/org/jbpm/integration/console/ProcessManagementImpl.java
===================================================================
--- jbpm4/trunk/modules/integration/console/src/main/java/org/jbpm/integration/console/ProcessManagementImpl.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/integration/console/src/main/java/org/jbpm/integration/console/ProcessManagementImpl.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -78,7 +78,7 @@
     {
       RepositoryService repositoryService = this.processEngine.getRepositoryService();
       ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
-          .id(procDefId)
+          .processDefinitionId(procDefId)
           .uniqueResult();
       return ModelAdaptor.adoptDefinition(processDefinition);
 
@@ -98,7 +98,7 @@
 
       RepositoryService repositoryService = this.processEngine.getRepositoryService();
       ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
-          .id(procDefId)
+          .processDefinitionId(procDefId)
           .uniqueResult();
       if (processDefinition!=null) {
         repositoryService.deleteDeploymentCascade(processDefinition.getDeploymentDbid());

Added: jbpm4/trunk/modules/integration/form-plugin/.classpath
===================================================================
--- jbpm4/trunk/modules/integration/form-plugin/.classpath	                        (rev 0)
+++ jbpm4/trunk/modules/integration/form-plugin/.classpath	2009-05-20 14:07:38 UTC (rev 4859)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src/main/java"/>
+	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>


Property changes on: jbpm4/trunk/modules/integration/form-plugin/.classpath
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: jbpm4/trunk/modules/integration/form-plugin/.project
===================================================================
--- jbpm4/trunk/modules/integration/form-plugin/.project	                        (rev 0)
+++ jbpm4/trunk/modules/integration/form-plugin/.project	2009-05-20 14:07:38 UTC (rev 4859)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>integration-forms-plugin</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+	</natures>
+</projectDescription>


Property changes on: jbpm4/trunk/modules/integration/form-plugin/.project
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: jbpm4/trunk/modules/integration/form-plugin/src/main/java/org/jbpm/integration/console/forms/TaskDispatcherPluginImpl.java
===================================================================
--- jbpm4/trunk/modules/integration/form-plugin/src/main/java/org/jbpm/integration/console/forms/TaskDispatcherPluginImpl.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/integration/form-plugin/src/main/java/org/jbpm/integration/console/forms/TaskDispatcherPluginImpl.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -110,7 +110,7 @@
 
       RepositoryService repoService = processEngine.getRepositoryService();
       ProcessDefinitionQuery query = repoService.createProcessDefinitionQuery();
-      query.id(processId);
+      query.processDefinitionId(processId);
       ProcessDefinition procDef = query.uniqueResult();
 
       // check if a template exists

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/repository/JpdlDeployer.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/repository/JpdlDeployer.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/repository/JpdlDeployer.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -59,6 +59,11 @@
         JpdlProcessDefinition processDefinition = (JpdlProcessDefinition) parse.getDocumentObject();
         if ((processDefinition != null) && (processDefinition.getName() != null)) {
           String processDefinitionName = processDefinition.getName();
+          
+          String imageResourceName = resourceName.substring(0, resourceName.lastIndexOf(".jpdl.xml"))+".png";
+          if (deployment.getResourceNames().contains(imageResourceName)) {
+            processDefinition.setImageResourceName(imageResourceName);
+          }
 
           processDefinition.setDeploymentDbid(deployment.getDbid());
 
@@ -101,7 +106,7 @@
     RepositorySession repositorySession = Environment.getFromCurrent(RepositorySession.class);
 
     List<ProcessDefinition> existingProcesses = repositorySession.createProcessDefinitionQuery()
-        .name(processDefinitionName)
+        .processDefinitionName(processDefinitionName)
         .list();
     
     for (ProcessDefinition existingProcess: existingProcesses) {
@@ -111,7 +116,7 @@
     }
 
     existingProcesses = repositorySession.createProcessDefinitionQuery()
-        .key(processDefinitionKey)
+        .processDefinitionKey(processDefinitionKey)
         .list();
     
     for (ProcessDefinition existingProcess: existingProcesses) {
@@ -131,7 +136,7 @@
     
     RepositorySession repositorySession = Environment.getFromCurrent(RepositorySession.class);
     ProcessDefinition existingProcessDefinition = repositorySession.createProcessDefinitionQuery()
-        .id(id)
+        .processDefinitionId(id)
         .uniqueResult();
     if (existingProcessDefinition != null) {
       deployment.addProblem("process '" + id + "' already exists");
@@ -146,7 +151,7 @@
       
       ProcessDefinition latestDeployedVersion = repositorySession
           .createProcessDefinitionQuery()
-          .key(key)
+          .processDefinitionKey(key)
           .orderDesc(ProcessDefinitionQuery.PROPERTY_VERSION)
           .page(0, 1)
           .uniqueResult();

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -87,6 +87,8 @@
   }; 
 
   static BindingsParser bindingsParser = new BindingsParser();
+  static final String CATEGORY_ACTIVITY = "activity";
+  static final String CATEGORY_EVENT_LISTENER = "eventlistener";
 
   public JpdlParser() {
     initialize(); 
@@ -115,7 +117,7 @@
             .getDocumentObject();
           
           for (JpdlBinding binding: activityBindings) {
-            binding.setCategory("activity");
+            binding.setCategory(CATEGORY_ACTIVITY);
             bindings.addBinding(binding);
           }
           
@@ -138,7 +140,7 @@
             .getDocumentObject();
           
           for (JpdlBinding binding: activityBindings) {
-            binding.setCategory("eventlistener");
+            binding.setCategory(CATEGORY_EVENT_LISTENER);
             bindings.addBinding(binding);
           }
           
@@ -230,7 +232,7 @@
            && !"timer".equals(tagName)
            && !"swimlane".equals(tagName)
          ) {
-        JpdlBinding activityBinding = (JpdlBinding) getBinding(nestedElement, "activity");
+        JpdlBinding activityBinding = (JpdlBinding) getBinding(nestedElement, CATEGORY_ACTIVITY);
         if (activityBinding != null) {
           ActivityImpl activity = compositeElement.createActivity();
           parse.pushObject(activity);
@@ -343,7 +345,7 @@
       }
 
       for (Element eventListenerElement: XmlUtil.elements(element)) {
-        JpdlBinding eventBinding = (JpdlBinding) getBinding(eventListenerElement, "eventlistener");
+        JpdlBinding eventBinding = (JpdlBinding) getBinding(eventListenerElement, CATEGORY_EVENT_LISTENER);
         if (eventBinding!=null) {
           EventListener eventListener = (EventListener) eventBinding.parse(eventListenerElement, parse, this);
           EventListenerReference eventListenerReference = event.createEventListenerReference(eventListener);

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/builder/ProcessDefinitionBuilder.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/builder/ProcessDefinitionBuilder.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/builder/ProcessDefinitionBuilder.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -94,17 +94,6 @@
     return this;
   }
 
-  public ProcessDefinitionBuilder attachment(String name, InputStream inputStream) {
-    processDefinition.addAttachment(name, inputStream);
-    return this;
-  }
-
-  public ProcessDefinitionBuilder attachment(String name, byte[] bytes) {
-    processDefinition.addAttachment(name, bytes);
-    return this;
-  }
-
-
   protected void addUnresolvedFlow(UnresolvedFlow unresolvedFlow) {
     unresolvedFlows.add(unresolvedFlow);
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetResourceAsStreamCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetResourceAsStreamCmd.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetResourceAsStreamCmd.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -44,7 +44,6 @@
 
   public InputStream execute(Environment environment) {
     RepositorySession repositorySession = environment.get(RepositorySession.class);
-    InputStream resourceStream = repositorySession.getResourceAsStream(deploymentDbid, resourceName);
-    return resourceStream;
+    return repositorySession.getResourceAsStream(deploymentDbid, resourceName);
   }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessDefinitionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessDefinitionImpl.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessDefinitionImpl.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -21,8 +21,6 @@
  */
 package org.jbpm.pvm.internal.model;
 
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
@@ -33,9 +31,7 @@
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.model.OpenProcessDefinition;
 import org.jbpm.internal.log.Log;
-import org.jbpm.pvm.internal.lob.Lob;
 import org.jbpm.pvm.internal.task.TaskDefinitionImpl;
-import org.jbpm.pvm.internal.util.IoUtil;
 
 /**
  * @author Tom Baeyens
@@ -74,9 +70,9 @@
   
   protected Map<String, TaskDefinitionImpl> taskDefinitions;
   
-  /** the attachments */
-  protected Map<String, Lob> attachments;
+  protected String imageResourceName = null;
 
+  
   public ProcessDefinitionImpl() {
     this.processDefinition = this;
   }
@@ -146,40 +142,6 @@
     return null;
   }
 
-  // attachments //////////////////////////////////////////////////////////////
-  
-  public void addAttachment(String name, InputStream inputStream) {
-    byte[] bytes = IoUtil.readBytes(inputStream);
-    addAttachment(name, bytes);
-  }
-  
-  public void addAttachment(String name, byte[] bytes) {
-    Lob lob = new Lob(bytes);
-    if (attachments==null) {
-      attachments = new HashMap<String, Lob>();
-    }
-    attachments.put(name, lob);
-  }
-
-  public byte[] getAttachment(String name) {
-    if (attachments==null) {
-      return null;
-    }
-    Lob lob = attachments.get(name);
-    if (lob==null) {
-      return null;
-    }
-    return lob.extractBytes();
-  }
-
-  public InputStream getAttachmentInputStream(String name) {
-    byte[] bytes = getAttachment(name);
-    if (bytes==null) {
-      return null;
-    }
-    return new ByteArrayInputStream(bytes);
-  }
-
   // basic methods ////////////////////////////////////////////////////////////
 
   public String toString() {
@@ -230,4 +192,10 @@
   public void setDeploymentDbid(long deploymentDbid) {
     this.deploymentDbid = deploymentDbid;
   }
+  public String getImageResourceName() {
+    return imageResourceName;
+  }
+  public void setImageResourceName(String imageResourceName) {
+    this.imageResourceName = imageResourceName;
+  }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessDefinitionQueryImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessDefinitionQueryImpl.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessDefinitionQueryImpl.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -30,6 +30,7 @@
 import org.jbpm.api.ProcessDefinition;
 import org.jbpm.api.ProcessDefinitionQuery;
 import org.jbpm.api.cmd.CommandService;
+import org.jbpm.api.env.Environment;
 import org.jbpm.api.session.RepositorySession;
 import org.jbpm.pvm.internal.model.ProcessDefinitionImpl;
 import org.jbpm.pvm.internal.repository.DeploymentImpl;
@@ -73,14 +74,10 @@
     
     List<ProcessDefinition> processDefinitions = new ArrayList<ProcessDefinition>();
     for (Map<String, Object> properties: propertyMaps) {
-      ProcessDefinitionImpl processDefinition = new ProcessDefinitionImpl();
-      processDefinition.setName((String)properties.get("name"));
-      processDefinition.setKey((String)properties.get("key"));
-      processDefinition.setId((String)properties.get("id"));
-      processDefinition.setDeploymentDbid((Long)properties.get("deploymentDbid"));
-      Long versionLong = (Long)properties.get("version");
-      processDefinition.setVersion(versionLong.intValue());
-      
+      Long deploymentDbid = (Long)properties.get("deploymentDbid");
+      String objectName = (String)properties.get("objectName");
+      RepositorySession repositorySession = Environment.getFromCurrent(RepositorySession.class);
+      ProcessDefinitionImpl processDefinition = (ProcessDefinitionImpl) repositorySession.getObject(deploymentDbid, objectName);
       processDefinitions.add(processDefinition);
     }
     
@@ -89,11 +86,8 @@
 
   public String hql() {
     StringBuffer hql = new StringBuffer();
-    hql.append("select new map( idProperty.objectName as name, " +
-    		                   "idProperty.stringValue as id," +
-    		                   "idProperty.deployment.dbid as deploymentDbid, " +
-    		                   "keyProperty.stringValue as key, " +
-    		                   "versionProperty.longValue as version ) ");
+    hql.append("select new map( idProperty.objectName as objectName, " +
+    		                   "idProperty.deployment.dbid as deploymentDbid ) ");
     hql.append("from ");
     hql.append(DeploymentImpl.class.getName());
     hql.append(" as deployment, ");
@@ -157,12 +151,12 @@
     return (ProcessDefinition) untypedUniqueResult();
   }
 
-  public ProcessDefinitionQuery id(String id) {
+  public ProcessDefinitionQuery processDefinitionId(String id) {
     this.id = id;
     return this;
   }
 
-  public ProcessDefinitionQuery key(String key) {
+  public ProcessDefinitionQuery processDefinitionKey(String key) {
     this.key = key;
     return this;
   }
@@ -172,12 +166,12 @@
     return this;
   }
 
-  public ProcessDefinitionQuery nameLike(String name) {
+  public ProcessDefinitionQuery processDefinitionNameLike(String name) {
     this.nameLike = name;
     return this;
   }
 
-  public ProcessDefinitionQuery name(String name) {
+  public ProcessDefinitionQuery processDefinitionName(String name) {
     this.name = name;
     return this;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/RepositorySessionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/RepositorySessionImpl.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/RepositorySessionImpl.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -33,10 +33,10 @@
 import org.jbpm.api.Problem;
 import org.jbpm.api.ProcessDefinition;
 import org.jbpm.api.ProcessDefinitionQuery;
-import org.jbpm.api.client.ClientProcessDefinition;
 import org.jbpm.api.session.RepositorySession;
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
+import org.jbpm.pvm.internal.model.ProcessDefinitionImpl;
 import org.jbpm.pvm.internal.query.ProcessDefinitionQueryImpl;
 
 /**
@@ -142,7 +142,7 @@
   public InputStream getResourceAsStream(long deploymentDbid, String resourceName) {
     DeploymentImpl deployment = getDeployment(deploymentDbid);
     if (deployment==null) {
-      throw new JbpmException("deployment "+deploymentDbid+" doesn't exist");
+      return null;
     }
     return deployment.getResourceAsStream(resourceName);
   }
@@ -153,9 +153,9 @@
     return new ProcessDefinitionQueryImpl(session);
   }
   
-  public ClientProcessDefinition findProcessDefinitionByKey(String processDefinitionKey) {
+  public ProcessDefinitionImpl findProcessDefinitionByKey(String processDefinitionKey) {
     ProcessDefinition processDefinition = createProcessDefinitionQuery()
-      .key(processDefinitionKey)
+      .processDefinitionKey(processDefinitionKey)
       .orderDesc(ProcessDefinitionQuery.PROPERTY_VERSION)
       .page(0, 1)
       .uniqueResult();
@@ -167,21 +167,26 @@
     return null;
   }
 
-  public ClientProcessDefinition findProcessDefinitionById(String processDefinitionId) {
-    DeploymentProperty deploymentProperty = (DeploymentProperty) session.createQuery(
-      "select deploymentProperty " +
-      "from "+DeploymentProperty.class.getName()+" as deploymentProperty " +
-      "where deploymentProperty.key = '"+DeploymentImpl.KEY_PROCESS_DEFINITION_ID+"' " +
-      "  and deploymentProperty.stringValue = '"+processDefinitionId+"' "
-    ).setMaxResults(1).uniqueResult();
+  public ProcessDefinitionImpl findProcessDefinitionById(String processDefinitionId) {
+    DeploymentProperty deploymentProperty = findDeploymentPropertyByProcessDefinitionId(processDefinitionId);
     
     if (deploymentProperty!=null) {
       long deploymentDbid = deploymentProperty.getDeployment().getDbid();
       String objectName = deploymentProperty.getObjectName();
       
-      return (ClientProcessDefinition) getObject(deploymentDbid, objectName);
+      return (ProcessDefinitionImpl) getObject(deploymentDbid, objectName);
     }
 
     return null;
   }
+
+  public DeploymentProperty findDeploymentPropertyByProcessDefinitionId(String processDefinitionId) {
+    DeploymentProperty deploymentProperty = (DeploymentProperty) session.createQuery(
+      "select deploymentProperty " +
+      "from "+DeploymentProperty.class.getName()+" as deploymentProperty " +
+      "where deploymentProperty.key = '"+DeploymentImpl.KEY_PROCESS_DEFINITION_ID+"' " +
+      "  and deploymentProperty.stringValue = '"+processDefinitionId+"' "
+    ).setMaxResults(1).uniqueResult();
+    return deploymentProperty;
+  }
 }

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/deploy/ImageTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/deploy/ImageTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/deploy/ImageTest.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -0,0 +1,62 @@
+/*
+ * 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.test.deploy;
+
+import java.io.InputStream;
+import java.util.Arrays;
+
+import org.jbpm.api.ProcessDefinition;
+import org.jbpm.pvm.internal.util.IoUtil;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class ImageTest extends JbpmTestCase {
+
+  public void testImage() {
+    long deploymentDbid = repositoryService
+        .createDeployment()
+        .addResourceFromClasspath("org/jbpm/test/deploy/ImageTest.jpdl.xml")
+        .addResourceFromClasspath("org/jbpm/test/deploy/ImageTest.png")
+        .deploy();
+    
+    ProcessDefinition processDefinition = repositoryService
+        .createProcessDefinitionQuery()
+        .processDefinitionKey("ImageTest")
+        .uniqueResult();
+    
+    String imageResourceName = processDefinition.getImageResourceName();
+    assertEquals("org/jbpm/test/deploy/ImageTest.png", imageResourceName);
+    
+    InputStream inputStream = repositoryService.getResourceAsStream(processDefinition.getDeploymentDbid(), imageResourceName);
+    byte[] imageBytes = IoUtil.readBytes(inputStream);
+    
+    inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("org/jbpm/test/deploy/ImageTest.png");
+    byte[] expectedImageBytes = IoUtil.readBytes(inputStream);
+    
+    assertTrue(Arrays.equals(expectedImageBytes, imageBytes));
+    
+    repositoryService.deleteDeploymentCascade(deploymentDbid);
+  }
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/deploy/ImageTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ActivityCoordinatesTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ActivityCoordinatesTest.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ActivityCoordinatesTest.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -41,7 +41,7 @@
     );
     
     String processDefinitionId = repositoryService.createProcessDefinitionQuery()
-      .key("ActivityCoordinatesProcess")
+      .processDefinitionKey("ActivityCoordinatesProcess")
       .uniqueResult()
       .getId();
     
@@ -63,7 +63,7 @@
     );
     
     String processDefinitionId = repositoryService.createProcessDefinitionQuery()
-      .key("ActivityCoordinatesProcess")
+      .processDefinitionKey("ActivityCoordinatesProcess")
       .uniqueResult()
       .getId();
     

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/DeploymentResourcesTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/DeploymentResourcesTest.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/DeploymentResourcesTest.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -78,7 +78,7 @@
     registerDeployment(deploymentDbid);
 
     ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
-      .key("Resource")
+      .processDefinitionKey("Resource")
       .uniqueResult();
     
     assertNotNull(processDefinition);

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessDefinitionQueryTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessDefinitionQueryTest.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessDefinitionQueryTest.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -73,7 +73,7 @@
     );
 
     List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery()
-      .nameLike("%make%")
+      .processDefinitionNameLike("%make%")
       .orderAsc(ProcessDefinitionQuery.PROPERTY_NAME)
       .list();
 
@@ -126,7 +126,7 @@
     );
 
     List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery()
-      .nameLike("make%")
+      .processDefinitionNameLike("make%")
       .orderAsc(ProcessDefinitionQuery.PROPERTY_ID)
       .list();
 

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/RepositoryServiceTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/RepositoryServiceTest.java	2009-05-20 12:37:04 UTC (rev 4858)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/RepositoryServiceTest.java	2009-05-20 14:07:38 UTC (rev 4859)
@@ -43,7 +43,7 @@
     );
     
     ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
-        .key("Insurance_claim")
+        .processDefinitionKey("Insurance_claim")
         .orderDesc(ProcessDefinitionQuery.PROPERTY_VERSION)
         .page(0,1)
         .uniqueResult();
@@ -63,7 +63,7 @@
     );
 
     ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
-        .key("ICL")
+        .processDefinitionKey("ICL")
         .orderDesc(ProcessDefinitionQuery.PROPERTY_VERSION)
         .page(0,1)
         .uniqueResult();
@@ -85,7 +85,7 @@
     );
 
     ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
-        .key("Name_with_spaces")
+        .processDefinitionKey("Name_with_spaces")
         .orderDesc(ProcessDefinitionQuery.PROPERTY_VERSION)
         .page(0,1)
         .uniqueResult();
@@ -101,7 +101,7 @@
     deployMultipleVersionsOfProcesses();
 
     List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery()
-      .key("nuclear_fusion")
+      .processDefinitionKey("nuclear_fusion")
       .orderDesc(ProcessDefinitionQuery.PROPERTY_VERSION)
       .list();
     assertNotNull(processDefinitions);
@@ -121,7 +121,7 @@
     deployMultipleVersionsOfProcesses();
 
     ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
-        .key("nuclear_fusion")
+        .processDefinitionKey("nuclear_fusion")
         .orderDesc(ProcessDefinitionQuery.PROPERTY_VERSION)
         .page(0,1)
         .uniqueResult();
@@ -141,7 +141,7 @@
 
     // load it
     ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
-        .id("given-33")
+        .processDefinitionId("given-33")
         .uniqueResult();
 
     assertNotNull(processDefinition);
@@ -224,7 +224,7 @@
 
     // look it up again
     List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery()
-        .key("versionme")
+        .processDefinitionKey("versionme")
         .orderDesc(ProcessDefinitionQuery.PROPERTY_VERSION)
         .list();
     
@@ -243,7 +243,7 @@
 
     // look them up again
     processDefinitions = repositoryService.createProcessDefinitionQuery()
-        .key("versionme")
+        .processDefinitionKey("versionme")
         .orderDesc(ProcessDefinitionQuery.PROPERTY_VERSION)
         .list();
     
@@ -263,7 +263,7 @@
 
     // load it
     List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery()
-        .key("takethis")
+        .processDefinitionKey("takethis")
         .list();
     
     assertNotNull(processDefinitions);

Added: jbpm4/trunk/modules/test-db/src/test/resources/org/jbpm/test/deploy/ImageTest.jpdl.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/org/jbpm/test/deploy/ImageTest.jpdl.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/org/jbpm/test/deploy/ImageTest.jpdl.xml	2009-05-20 14:07:38 UTC (rev 4859)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process name="ImageTest" xmlns="http://jbpm.org/4.0/jpdl">
+
+  <start g="20,20,48,48">
+    <transition to="wait"/>
+  </start>
+
+  <state name="wait" g="115,17,88,52" />
+
+</process>


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/org/jbpm/test/deploy/ImageTest.jpdl.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: jbpm4/trunk/modules/test-db/src/test/resources/org/jbpm/test/deploy/ImageTest.png
===================================================================
(Binary files differ)


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/org/jbpm/test/deploy/ImageTest.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream




More information about the jbpm-commits mailing list