Author: thomas.diesler(a)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)