[jbpm-commits] JBoss JBPM SVN: r3233 - in jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec: model and 4 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Dec 5 12:05:07 EST 2008


Author: thomas.diesler at jboss.com
Date: 2008-12-05 12:05:07 -0500 (Fri, 05 Dec 2008)
New Revision: 3233

Modified:
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/jpdl32/DialectHandlerImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ExclusiveGatewayImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessDefinitionImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/builder/ProcessBuilderImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/TokenImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessDefinitionServiceImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessServiceImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/TaskServiceImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/task/TaskImpl.java
Log:
Hide proxy generation in factory method

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/jpdl32/DialectHandlerImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/jpdl32/DialectHandlerImpl.java	2008-12-05 15:45:43 UTC (rev 3232)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/jpdl32/DialectHandlerImpl.java	2008-12-05 17:05:07 UTC (rev 3233)
@@ -52,14 +52,14 @@
   {
     InputStream inStream = pdXML.openStream();
     org.jbpm.graph.def.ProcessDefinition oldProcDef = org.jbpm.graph.def.ProcessDefinition.parseXmlInputStream(inStream);
-    ProcessDefinition procDef = new ProcessDefinitionImpl(getProcessEngine(), oldProcDef);
+    ProcessDefinition procDef = ProcessDefinitionImpl.newInstance(getProcessEngine(), oldProcDef, false);
     return procDef;
   }
 
   public ProcessDefinition parseProcessDefinition(String pdXML)
   {
     org.jbpm.graph.def.ProcessDefinition oldProcDef = org.jbpm.graph.def.ProcessDefinition.parseXmlString(pdXML);
-    ProcessDefinition procDef = new ProcessDefinitionImpl(getProcessEngine(), oldProcDef);
+    ProcessDefinition procDef = ProcessDefinitionImpl.newInstance(getProcessEngine(), oldProcDef, false);
     return procDef;
   }
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ExclusiveGatewayImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ExclusiveGatewayImpl.java	2008-12-05 15:45:43 UTC (rev 3232)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ExclusiveGatewayImpl.java	2008-12-05 17:05:07 UTC (rev 3233)
@@ -75,7 +75,7 @@
     public String decide(ExecutionContext execContext) throws Exception
     {
       ProcessEngine engine = getProcessDefinition().getProcessEngine();
-      Token token = new TokenImpl(engine, execContext.getToken());
+      Token token = TokenImpl.newInstance(engine, execContext.getToken());
       
       SequenceFlow selectedGate = null;
       for (SequenceFlow auxGate : getGates())

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessDefinitionImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessDefinitionImpl.java	2008-12-05 15:45:43 UTC (rev 3232)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessDefinitionImpl.java	2008-12-05 17:05:07 UTC (rev 3233)
@@ -60,8 +60,18 @@
   private ObjectName keyCache;
   private List<Node> nodes;
 
-  public ProcessDefinitionImpl(ProcessEngine engine, org.jbpm.graph.def.ProcessDefinition tmpProcDef)
+  public static ProcessDefinition newInstance(ProcessEngine engine, org.jbpm.graph.def.ProcessDefinition tmpProcDef, boolean proxy)
   {
+    ProcessDefinition procDef = new ProcessDefinitionImpl(engine, tmpProcDef);
+    if (proxy == true)
+    {
+      procDef = InvocationProxy.newInstance((ProcessDefinitionImpl)procDef, ProcessDefinition.class);
+    }
+    return procDef;
+  }
+  
+  private ProcessDefinitionImpl(ProcessEngine engine, org.jbpm.graph.def.ProcessDefinition tmpProcDef)
+  {
     super(engine, tmpProcDef, org.jbpm.graph.def.ProcessDefinition.class);
 
     if (tmpProcDef.getName() == null)
@@ -112,10 +122,7 @@
     ProcessInstance oldProc = new ProcessInstance();
     oldProc.setProcessDefinition(getDelegate());
     oldProc.addInitialModuleDefinitions(getDelegate());
-
-    Process proc = new ProcessImpl(getProcessEngine(), oldProc);
-    proc = InvocationProxy.newInstance((ProcessImpl)proc, Process.class);
-    return proc;
+    return ProcessImpl.newInstance(getProcessEngine(), oldProc, true);
   }
 
   public void addNode(NodeImpl<?> nodeImpl)

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessImpl.java	2008-12-05 15:45:43 UTC (rev 3232)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessImpl.java	2008-12-05 17:05:07 UTC (rev 3233)
@@ -62,8 +62,18 @@
   // [TODO] delegate this property
   private ProcessStatus status = ProcessStatus.None;
 
-  public ProcessImpl(ProcessEngine engine, ProcessInstance tmpProc)
+  public static Process newInstance(ProcessEngine engine, ProcessInstance tmpProc, boolean proxy)
   {
+    Process proc = new ProcessImpl(engine, tmpProc);
+    if (proxy == true)
+    {
+      proc = InvocationProxy.newInstance((ProcessImpl)proc, Process.class);
+    }
+    return proc;
+  }
+  
+  private ProcessImpl(ProcessEngine engine, ProcessInstance tmpProc)
+  {
     super(engine, tmpProc, ProcessInstance.class);
     
     if (tmpProc.getId() > 0)
@@ -93,8 +103,8 @@
   // @Override
   public ProcessDefinition getProcessDefinition()
   {
-    ProcessDefinitionImpl procDef = new ProcessDefinitionImpl(getProcessEngine(), getDelegate().getProcessDefinition());
-    return InvocationProxy.newInstance(procDef, ProcessDefinition.class);
+    org.jbpm.graph.def.ProcessDefinition oldProcDef = getDelegate().getProcessDefinition();
+    return ProcessDefinitionImpl.newInstance(getProcessEngine(), oldProcDef, true);
   }
 
   // @Override
@@ -125,8 +135,7 @@
     Token token = null;
     if (getDelegate().getRootToken() != null)
     {
-      TokenImpl tokenImpl = new TokenImpl(getProcessEngine(), getDelegate().getRootToken());
-      token = InvocationProxy.newInstance(tokenImpl, Token.class);
+      token = TokenImpl.newInstance(getProcessEngine(), getDelegate().getRootToken());
     }
     return token;
   }
@@ -197,7 +206,7 @@
       procInst.setRootToken(rootToken);
 
       // Create the root token
-      Token token = new TokenImpl(getProcessEngine(), rootToken);
+      Token token = TokenImpl.newInstance(getProcessEngine(), rootToken);
       
       // Save the root token
       JbpmContext jbpmContext = bpmContext.getAttachment(JbpmContext.class);
@@ -223,7 +232,7 @@
       // Signal the root token
       token.signal();
 
-      return InvocationProxy.newInstance((TokenImpl)token, Token.class);
+      return token;
     }
     catch (RuntimeException rte)
     {

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/builder/ProcessBuilderImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/builder/ProcessBuilderImpl.java	2008-12-05 15:45:43 UTC (rev 3232)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/builder/ProcessBuilderImpl.java	2008-12-05 17:05:07 UTC (rev 3233)
@@ -88,7 +88,7 @@
     org.jbpm.graph.def.ProcessDefinition oldProcDef = org.jbpm.graph.def.ProcessDefinition.createNewProcessDefinition();
     oldProcDef.setName(name);
     
-    procDefImpl = new ProcessDefinitionImpl(engine, oldProcDef);
+    procDefImpl = (ProcessDefinitionImpl)ProcessDefinitionImpl.newInstance(engine, oldProcDef, false);
     return this;
   }
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/TokenImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/TokenImpl.java	2008-12-05 15:45:43 UTC (rev 3232)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/TokenImpl.java	2008-12-05 17:05:07 UTC (rev 3233)
@@ -59,8 +59,13 @@
   private SequenceFlow lastFlow;
   private Attachments att;
 
-  public TokenImpl(ProcessEngine engine, org.jbpm.graph.exe.Token tmpToken)
+  public static Token newInstance(ProcessEngine engine, org.jbpm.graph.exe.Token tmpToken)
   {
+    return InvocationProxy.newInstance(new TokenImpl(engine, tmpToken), Token.class);
+  }
+  
+  private TokenImpl(ProcessEngine engine, org.jbpm.graph.exe.Token tmpToken)
+  {
     super(engine, tmpToken, org.jbpm.graph.exe.Token.class);
 
     ContextInstance context = tmpToken.getProcessInstance().getContextInstance();
@@ -90,9 +95,7 @@
 
   public Process getProcess()
   {
-    Process proc = new ProcessImpl(getProcessEngine(), getDelegate().getProcessInstance());
-    proc = InvocationProxy.newInstance((ProcessImpl)proc, Process.class);
-    return proc;
+    return ProcessImpl.newInstance(getProcessEngine(), getDelegate().getProcessInstance(), true);
   }
 
   // @Override
@@ -123,8 +126,8 @@
       {
         if (oldChildToken.hasEnded() == false)
         {
-          Token childToken = new TokenImpl(getProcessEngine(), oldChildToken);
-          childTokens.add(InvocationProxy.newInstance((TokenImpl)childToken, Token.class));
+          Token childToken = TokenImpl.newInstance(getProcessEngine(), oldChildToken);
+          childTokens.add(childToken);
         }
       }
     }
@@ -150,8 +153,7 @@
     Token token = null;
     if (getDelegate().getParent() != null)
     {
-      token = new TokenImpl(getProcessEngine(), getDelegate().getParent());
-      token = InvocationProxy.newInstance((TokenImpl)token, Token.class);
+      token = TokenImpl.newInstance(getProcessEngine(), getDelegate().getParent());
     }
     return token;
   }
@@ -163,9 +165,7 @@
     while (root.getParent() != null)
       root = root.getParent();
 
-    Token token = new TokenImpl(getProcessEngine(), root);
-    token = InvocationProxy.newInstance((TokenImpl)token, Token.class);
-    
+    Token token = TokenImpl.newInstance(getProcessEngine(), root);
     return token;
   }
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessDefinitionServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessDefinitionServiceImpl.java	2008-12-05 15:45:43 UTC (rev 3232)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessDefinitionServiceImpl.java	2008-12-05 17:05:07 UTC (rev 3233)
@@ -62,48 +62,48 @@
 
   public ProcessDefinition getProcessDefinition(ObjectName procDefID)
   {
-    ProcessDefinition procDef = null;
-    
     ExecutionContextService ctxService = getProcessEngine().getService(ExecutionContextService.class);
     ExecutionContext bpmContext = ctxService.getExecutionContext(true);
     try
     {
-      Long id = adaptKey(procDefID);
+      ProcessDefinition procDef = null;
+      
       GraphSession graphSession = bpmContext.getAttachment(JbpmContext.class).getGraphSession();
-      org.jbpm.graph.def.ProcessDefinition oldProcDef = graphSession.getProcessDefinition(id);
+      org.jbpm.graph.def.ProcessDefinition oldProcDef = graphSession.getProcessDefinition(adaptKey(procDefID));
       if (oldProcDef != null)
       {
-        procDef = new ProcessDefinitionImpl(getProcessEngine(), oldProcDef);
-        procDef = InvocationProxy.newInstance((ProcessDefinitionImpl)procDef, ProcessDefinition.class);
+        procDef = ProcessDefinitionImpl.newInstance(getProcessEngine(), oldProcDef, true);
       }
+      
+      return procDef;
     }
     finally
     {
       bpmContext.close();
     }
-    return procDef;
   }
 
   public Set<ObjectName> getProcessDefinitions()
   {
-    Set<ObjectName> procDefs = new HashSet<ObjectName>();
-    
     ExecutionContextService ctxService = getProcessEngine().getService(ExecutionContextService.class);
     ExecutionContext bpmContext = ctxService.getExecutionContext(true);
     try
     {
+      Set<ObjectName> procDefs = new HashSet<ObjectName>();
+      
       GraphSession graphSession = bpmContext.getAttachment(JbpmContext.class).getGraphSession();
       for (Object item : graphSession.findAllProcessDefinitions())
       {
         org.jbpm.graph.def.ProcessDefinition oldProcDef = (org.jbpm.graph.def.ProcessDefinition)item;
         procDefs.add(ProcessDefinitionImpl.getKey(oldProcDef));
       }
+      
+      return Collections.unmodifiableSet(procDefs);
     }
     finally
     {
       bpmContext.close();
     }
-    return Collections.unmodifiableSet(procDefs);
   }
 
   public ProcessDefinition registerProcessDefinition(ProcessDefinition procDef)

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessServiceImpl.java	2008-12-05 15:45:43 UTC (rev 3232)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessServiceImpl.java	2008-12-05 17:05:07 UTC (rev 3233)
@@ -89,26 +89,25 @@
   // @Override
   public Process getProcess(ObjectName procID)
   {
-    Process proc = null;
-
     ExecutionContextService ctxService = getProcessEngine().getService(ExecutionContextService.class);
     ExecutionContext bpmContext = ctxService.getExecutionContext(true);
     try
     {
-      Long id = adaptKey(procID);
+      Process proc = null;
+      
       GraphSession graphSession = bpmContext.getAttachment(JbpmContext.class).getGraphSession();
-      ProcessInstance oldProc = graphSession.getProcessInstance(id);
+      ProcessInstance oldProc = graphSession.getProcessInstance(adaptKey(procID));
       if (oldProc != null)
       {
-        proc = new ProcessImpl(getProcessEngine(), oldProc);
-        proc = InvocationProxy.newInstance((ProcessImpl)proc, Process.class);
+        proc = ProcessImpl.newInstance(getProcessEngine(), oldProc, true);
       }
+      
+      return proc;
     }
     finally
     {
       bpmContext.close();
     }
-    return proc;
   }
 
   /**
@@ -163,7 +162,7 @@
       for (Object item : graphSession.findProcessInstances(id))
       {
         ProcessInstance oldProc = (ProcessInstance)item;
-        ProcessImpl auxProc = new ProcessImpl(getProcessEngine(), oldProc);
+        Process auxProc = ProcessImpl.newInstance(getProcessEngine(), oldProc, true);
         if (status == null || auxProc.getProcessStatus() == status)
           procs.add(auxProc.getKey());
       }

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/TaskServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/TaskServiceImpl.java	2008-12-05 15:45:43 UTC (rev 3232)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/TaskServiceImpl.java	2008-12-05 17:05:07 UTC (rev 3233)
@@ -77,8 +77,7 @@
       Collection<TaskInstance> taskInstances = procImpl.getDelegate().getTaskMgmtInstance().getTaskInstances();
       for (TaskInstance taskInst : taskInstances)
       {
-        Task task = new TaskImpl(getProcessEngine(), taskInst);
-        task = InvocationProxy.newInstance((TaskImpl)task, Task.class);
+        Task task = TaskImpl.newInstance(getProcessEngine(), taskInst);
         tasks.add(task);
       }
 
@@ -102,8 +101,7 @@
     {
       JbpmContext jbpmContext = bpmContext.getAttachment(JbpmContext.class);
       TaskInstance taskInst = jbpmContext.getTaskInstance(adaptKey(taskID));
-      Task task = new TaskImpl(getProcessEngine(), taskInst);
-      return InvocationProxy.newInstance((TaskImpl)task, Task.class);
+      return TaskImpl.newInstance(getProcessEngine(), taskInst);
     }
     catch (RuntimeException rte)
     {
@@ -124,10 +122,10 @@
     {
       List<Task> tasks = new ArrayList<Task>();
       JbpmContext jbpmContext = bpmContext.getAttachment(JbpmContext.class);
-      for (TaskInstance oldTask : (List<TaskInstance>)jbpmContext.getTaskList(actor))
+      for (TaskInstance taskInst : (List<TaskInstance>)jbpmContext.getTaskList(actor))
       {
-        TaskImpl taskImpl = new TaskImpl(getProcessEngine(), oldTask);
-        tasks.add(InvocationProxy.newInstance(taskImpl, Task.class));
+        Task task = TaskImpl.newInstance(getProcessEngine(), taskInst);
+        tasks.add(task);
       }
       return tasks;
     }

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/task/TaskImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/task/TaskImpl.java	2008-12-05 15:45:43 UTC (rev 3232)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/task/TaskImpl.java	2008-12-05 17:05:07 UTC (rev 3233)
@@ -56,8 +56,13 @@
 
   private ObjectName keyCache;
   
-  public TaskImpl(ProcessEngine engine, TaskInstance tmpTask)
+  public static Task newInstance(ProcessEngine engine, TaskInstance tmpTask)
   {
+    return InvocationProxy.newInstance(new TaskImpl(engine, tmpTask), Task.class);
+  }
+  
+  private TaskImpl(ProcessEngine engine, TaskInstance tmpTask)
+  {
     super(engine, tmpTask, TaskInstance.class);
     
     if (tmpTask.getId() > 0)




More information about the jbpm-commits mailing list