@Override public void release() { super.release(); ((VirtualCommonClassloader)getParent()).cleanCommonClassLoader(); }
private static Class< ? > lookIntoCommonClassLoader(final String className) { try { synchronized (CommonClassLoader.LOCK) { return load(CommonClassLoader.getCurrent(), className); } } catch (final ClassNotFoundException e) { return null; } }
public static void skip(final ActivityInstanceUUID taskUUID, final Map<String, Object> variablesToUpdate) throws TaskNotFoundException, IllegalTaskStateException { final TaskInstance task = getTask(taskUUID); final Execution internalExecution = getExecution(taskUUID); ActivityManager.skip(internalExecution, task, variablesToUpdate); }
@Override protected void end(XpdlExecution xpdlExecution) { xpdlExecution = (XpdlExecution) xpdlExecution.destroyScope(xpdlExecution.getNode()); xpdlExecution.end(); XpdlExecution parent = xpdlExecution.getParent(); if (parent != null) { parent.removeExecution(xpdlExecution); } } }
public TaskRunTime(final TaskUUID taskUUID, final String nodeName, final AbstractActivity abstractActivity, final XpdlExecution xpdlExecution) { this.taskUUID = taskUUID; this.activityDef = abstractActivity; this.activityId = nodeName; this.xpdlExecution = xpdlExecution; this.instanceUUID = xpdlExecution.getXpdlInstance().getUUID(); this.packageUUID = xpdlExecution.getProcessDefinition().getPackageDefinitionUUID(); this.iterationId = xpdlExecution.getIterationId(); this.activityInstanceId = xpdlExecution.getActivityInstanceId(); }
@Override protected XpdlExecution newChildExecution() { XpdlExecution child = new XpdlExecution(); child.xpdlInstance = this.getXpdlInstance(); child.iterationId = this.getIterationId(); return child; }
public void addTask(TaskRunTime task) { tasks.put(task.getUUID(), task); if (task.getXpdlExecution() != null) { instances.put(task.getInstanceUUID(), task.getXpdlExecution().getXpdlInstance()); } removedTasks.remove(task.getUUID()); } public void removeTask(TaskRunTime task) {
@Override protected ExecutionImpl newProcessInstance() { XpdlInstance xpdlInstance = new XpdlInstance(this); return xpdlInstance.getRootExecution(); }
public static void skip(final ActivityInstanceUUID activityInstanceUUID, Map<String, Object> variablesToUpdate) throws ActivityNotFoundException, IllegalTaskStateException { final ActivityInstance activityInstance = getActivity(activityInstanceUUID); final Execution internalExecution = getExecution(activityInstance); skip(internalExecution, activityInstance, variablesToUpdate); }
@Override public Class< ? > loadClass(String name) throws ClassNotFoundException { return CommonClassLoader.getCurrent().loadClass(name); } }
private synchronized void initCommonClassloader() { if (commonClassloader == null) { commonClassloader = new CommonClassLoader(); } } }
public void cleanCommonClassLoader() { if (commonClassloader != null) { commonClassloader.release(); commonClassloader = null; } }
private synchronized Class<?> lookIntoCommonClassLoader(final String className) { try { return virtualCommonClassloader.loadClass(className); } catch (final ClassNotFoundException e) { return null; } }
@Override protected synchronized Class< ? > loadClass(String name, boolean resolve) throws ClassNotFoundException { return current.loadClass(name, resolve); }
@Override protected void end(XpdlExecution xpdlExecution) { xpdlExecution = (XpdlExecution) xpdlExecution.destroyScope(xpdlExecution.getNode()); xpdlExecution.end(); final XpdlExecution parent = xpdlExecution.getParent(); if (parent != null) { parent.removeExecution(xpdlExecution); } } }
public TaskRunTime(TaskUUID taskUUID, String nodeName, AbstractActivity abstractActivity, XpdlExecution xpdlExecution) { this.taskUUID = taskUUID; this.activityDef = abstractActivity; this.activityId = nodeName; this.xpdlExecution = xpdlExecution; this.instanceUUID = xpdlExecution.getXpdlInstance().getUUID(); this.packageUUID = xpdlExecution.getProcessDefinition().getPackageDefinitionUUID(); this.iterationId = xpdlExecution.getIterationId(); this.activityInstanceId = xpdlExecution.getActivityInstanceId(); }
@Override protected XpdlExecution newChildExecution() { final XpdlExecution child = new XpdlExecution(); child.xpdlInstance = this.getXpdlInstance(); child.iterationId = this.getIterationId(); return child; }
@Override protected ExecutionImpl newProcessInstance() { XpdlInstance xpdlInstance = new XpdlInstance(this); return xpdlInstance.getRootExecution(); }
public static void reset() { synchronized (LOCK) { current = new CommonClassLoader(); } }