catch up with development
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b9f0a46
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,37 @@
+**/bin/
+**/target/
+**._trace
+**git.properties
+**/target/
+**/.metadata/
+
+**/emf-gen/**/.gitignore
+**/src-gen/**/.gitignore
+**/git.properties
+**/*.java._trace
+**/*.log
+**/*.log.properties
+
+**/bin/
+**/build/
+*.class
+*.ctrl
+**/Debug/
+.DS_Store
+*.ear
+*.war
+
+**/*.actionbin
+**/*.blipbin
+**/*.chartbin
+**/*.cubebin
+**/*.datatypebin
+**/*.dtobin
+**/*.entitybin
+**/*.servicebin
+**/*.tablebin
+**/*.uibin
+**/*.uisemanticbin
+**/*.xtendbin
+**/*.xtextbin
+
diff --git a/jenkins.build.config.xml b/jenkins.build.config.xml
index 545c3ce..4611cbd 100644
--- a/jenkins.build.config.xml
+++ b/jenkins.build.config.xml
@@ -15,8 +15,8 @@
<jenkins>
<!-- DO NOT EDIT BELOW THIS LINE -->
<jenkins.build.dependencies>
+ <jenkins.build.dependency>org.eclipse.osbp.core.api</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.dsl</jenkins.build.dependency>
- <jenkins.build.dependency>org.eclipse.osbp.persistence</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.ui.api</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.utils</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.vaaclipse</jenkins.build.dependency>
diff --git a/org.eclipse.osbp.bpm.api.feature/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.bpm.api.feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api.feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.bpm.api.feature/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.bpm.api.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.bpm.api.feature/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.bpm.api.feature/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..0933f8c
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api.feature/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.bpm.api.feature/feature.xml b/org.eclipse.osbp.bpm.api.feature/feature.xml
index 27f752e..bee42d2 100644
--- a/org.eclipse.osbp.bpm.api.feature/feature.xml
+++ b/org.eclipse.osbp.bpm.api.feature/feature.xml
@@ -14,7 +14,8 @@
id="org.eclipse.osbp.bpm.api.feature"
label="%featureName"
version="0.9.0.qualifier"
- provider-name="%providerName">
+ provider-name="%providerName"
+ plugin="org.eclipse.osbp.bpm.api">
<description>
%description
diff --git a/org.eclipse.osbp.bpm.api/.classpath b/org.eclipse.osbp.bpm.api/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.bpm.api/.project b/org.eclipse.osbp.bpm.api/.project
index d7b38fb..ac1fb95 100644
--- a/org.eclipse.osbp.bpm.api/.project
+++ b/org.eclipse.osbp.bpm.api/.project
@@ -6,11 +6,6 @@
</projects>
<buildSpec>
<buildCommand>
- <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
@@ -42,7 +37,6 @@
</buildCommand>
</buildSpec>
<natures>
- <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
diff --git a/org.eclipse.osbp.bpm.api/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.bpm.api/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.bpm.api/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.bpm.api/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.bpm.api/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.bpm.api/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.bpm.api/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.bpm.api/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..0933f8c
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.bpm.api/META-INF/MANIFEST.MF b/org.eclipse.osbp.bpm.api/META-INF/MANIFEST.MF
index 85c7e32..5c0e27d 100644
--- a/org.eclipse.osbp.bpm.api/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.bpm.api/META-INF/MANIFEST.MF
@@ -4,14 +4,14 @@
Bundle-SymbolicName: org.eclipse.osbp.bpm.api
Bundle-Version: 0.9.0.qualifier
Require-Bundle: org.eclipse.core.runtime,
- org.drools.api;bundle-version="5.5.1",
org.eclipse.osbp.vaaclipse.publicapi;bundle-version="[0.9.0,0.10.0)",
- org.slf4j.api;bundle-version="1.7.2"
+ org.slf4j.api;bundle-version="1.7.2",
+ org.eclipse.osbp.ui.api
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: javax.validation;version="1.1.0.Final",
javax.validation.constraints;version="1.1.0.Final",
+ org.eclipse.osbp.core.api.persistence;version="0.9.0",
org.eclipse.osbp.dsl.common.datatypes;version="0.9.0",
- org.eclipse.osbp.persistence;version="0.9.0",
org.eclipse.osbp.ui.api.user;version="0.9.0",
org.eclipse.osbp.utils.constants;version="0.9.0"
Export-Package: org.eclipse.osbp.bpm.api;version="0.9.0"
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/AbstractBPMEvent.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/AbstractBPMEvent.java
deleted file mode 100644
index f897436..0000000
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/AbstractBPMEvent.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-package org.eclipse.osbp.bpm.api;
-
-import java.util.List;
-
-import org.eclipse.osbp.dsl.common.datatypes.IDto;
-
-/**
- * API for a bpm event.
- * <ul>
- * <li>start events</li>
- * <li>gateways</i>
- * <li>end events</i>
- * </ul>
- * <i>Pure</i> events - excluding gateways -
- * <ul>
- * <li>must not perform any actions!</li>
- * <li>must not perform any persisting of dtos in the product persistence</li>
- * </ul>
- */
-public abstract class AbstractBPMEvent extends AbstractBlipBPMItem implements IBlipBPMWorkloadModifiableItem {
-
- /** see {@link org.eclipse.osbp.bpm.api.AbstractBlipBPMItem#AbstractBPMItem(String, String)} */
- protected AbstractBPMEvent(String blipId, String bpmId) {
- super(blipId, bpmId);
- }
-
- @Override
- @Deprecated
- public final Class<?> getOperativeDtoClass() {
- return null;
- }
-
- @Override
- @Deprecated
- public final void addOperativeDto(IDto workloadDto, IDto operativeDto) {
- }
-
- @Override
- @Deprecated
- public final void addOperativeDtos(IDto workloadDto, List<IDto> operativeDtos) {
- }
-
- @Override
- @Deprecated
- public final void removeAllOperativeDtos(IDto workloadDto) {
- }
-
- @Override
- @Deprecated
- public final void removeOperativeDto(IDto workloadDto, IDto operativeDto) {
- }
-
- @Override
- @Deprecated
- public final void removeOperativeDtos(IDto workloadDto, List<IDto> operativeDtos) {
- }
-
- @Override
- @Deprecated
- public final List<IDto> getOperativeDtos(IDto workloadDto) {
- return null;
- }
-}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/AbstractBPMServiceTask.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/AbstractBPMServiceTask.java
deleted file mode 100644
index fc42b8c..0000000
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/AbstractBPMServiceTask.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-package org.eclipse.osbp.bpm.api;
-
-import java.util.List;
-
-import org.eclipse.osbp.dsl.common.datatypes.IDto;
-
-/**
- * API for a bpm system task
- */
-public abstract class AbstractBPMServiceTask extends AbstractBlipBPMItem implements IBlipBPMUserTask {
-
- protected final String onEntryFunction;
- protected final String onExitFunction;
- protected final ServiceExecutionMode executionMode;
- protected final ServiceImplementation implementation;
- protected final int timeoutInSecs;
- protected final String classOrInterface;
- protected final String methodOrOperation;
-
- /** see {@link org.eclipse.osbp.bpm.api.AbstractBlipBPMItem#AbstractBPMItem(String, String)} */
- protected AbstractBPMServiceTask(String blipId, String bpmId, String onEntryFunction, String onExitFunction,
- ServiceExecutionMode executionMode, int timeoutInSecs,
- ServiceImplementation implementation, String classOrInterface, String methodOrOperation) {
- super(blipId, bpmId);
- this.onEntryFunction = onEntryFunction;
- this.onExitFunction = onExitFunction;
- this.executionMode = executionMode;
- this.timeoutInSecs = (timeoutInSecs > 0) ? timeoutInSecs : 10;
- this.implementation = implementation;
- this.classOrInterface = classOrInterface;
- this.methodOrOperation = methodOrOperation;
- }
-
- @Override
- public final String getOnEntryFunction() {
- return onEntryFunction;
- }
-
- @Override
- public final String getOnExitFunction() {
- return onExitFunction;
- }
-
- public ServiceExecutionMode getExecutionMode() {
- return executionMode;
- }
-
- public int getTimeoutInSecs() {
- return timeoutInSecs;
- }
-
- public ServiceImplementation getImplementation() {
- return implementation;
- }
-
- public String getFunctionLibraryClass() {
- if (implementation.equals(ServiceImplementation.FUNCTION_LIBRARY)) {
- return classOrInterface;
- }
- return null;
- }
-
- public String getFunctionLibraryMethod() {
- if (implementation.equals(ServiceImplementation.FUNCTION_LIBRARY)) {
- return methodOrOperation;
- }
- return null;
- }
-
- public String getWebServiceInterface() {
- if (implementation.equals(ServiceImplementation.WEB_SERVICE)) {
- return classOrInterface;
- }
- return null;
- }
-
- public String getWebServiceOperation() {
- if (implementation.equals(ServiceImplementation.WEB_SERVICE)) {
- return methodOrOperation;
- }
- return null;
- }
-
- public String getJavaInterface() {
- if (implementation.equals(ServiceImplementation.JAVA_METHOD)) {
- return classOrInterface;
- }
- return null;
- }
-
- public String getJavaOperation() {
- if (implementation.equals(ServiceImplementation.JAVA_METHOD)) {
- return methodOrOperation;
- }
- return null;
- }
-
- public String getParameterType() {
- Class<?> clazz = getOperativeDtoClass();
- if (clazz == null) {
- return null;
- }
- else {
- return clazz.getCanonicalName();
- }
- }
-
-// @Override
-// @Deprecated
-// public final Class<?> getOperativeDtoClass() {
-// return null;
-// }
-
- @Override
- @Deprecated
- public final List<IDto> getOperativeDtos(IDto workloadDto) {
- return null;
- }
-}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/AbstractBlipBPMFunctionProvider.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/AbstractBlipBPMFunctionProvider.java
deleted file mode 100644
index 05082fb..0000000
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/AbstractBlipBPMFunctionProvider.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-package org.eclipse.osbp.bpm.api;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.inject.Inject;
-
-import org.eclipse.osbp.bpm.api.AbstractBlipBPMUserTask;
-import org.eclipse.osbp.bpm.api.AbstractBlipBPMItem;
-import org.eclipse.osbp.bpm.api.IBPMEngine;
-import org.eclipse.osbp.bpm.api.IBlipBPMFunctionProvider;
-import org.eclipse.osbp.bpm.api.IBlipBPMStartInfo;
-import org.eclipse.osbp.bpm.api.IBlipBPMWorkloadModifiableItem;
-import org.eclipse.osbp.dsl.common.datatypes.IDto;
-import org.osgi.framework.FrameworkUtil;
-
-@SuppressWarnings("all")
-public abstract class AbstractBlipBPMFunctionProvider implements IBlipBPMFunctionProvider {
-
- protected abstract IBPMEngine getBpmEngine();
-
- protected abstract IBPMTaskClient getTaskClient();
-
- protected Map<String, IBlipBPMStartInfo> startInfos;
-
- protected List<String> errors;
-
- protected abstract Map<String, IBlipBPMStartInfo> initializeStartInfos();
-
- protected abstract boolean initializeBpmEngine();
-
- @Override
- public IBlipBPMStartInfo getStartInfo(Object taskSummary) {
- IBlipBPMStartInfo startInfo = null;
- String processId = getProcessId(taskSummary);
- if (processId != null) {
- startInfo = startInfos.get(processId);
- }
- return startInfo;
- }
-
- protected String getProcessId(Object taskSummary) {
- if (getTaskClient() != null) {
- return getTaskClient().getProcessId(taskSummary);
- }
- return null;
- }
-
- @Override
- public final boolean initBlip() {
- startInfos = initializeStartInfos();
- errors = new ArrayList<String>();
- return initializeBpmEngine();
- }
-
- @Override
- public final void startProcess(final String processName) {
- if (getBpmEngine() != null) {
- IBlipBPMStartInfo bpm = startInfos.get(processName);
- Map<String,Object> metadata = new HashMap<String,Object>();
- metadata.put(VARIABLE_PROCESS_PROTOCOL, "");
- metadata.put(VARIABLE_PROCESS_WORKLOAD_DTO_FQN, bpm.getWorkloadDtoFqn());
- metadata.put(VARIABLE_PROCESS_WORKLOAD_DTO, bpm.createWorkloadDto());
- getBpmEngine().startProcess(bpm, metadata);
- }
- }
-
- @Override
- public final Map<String, IBlipBPMStartInfo> getBpmns() {
- return startInfos;
- }
-
- @Override
- public final List<String> getErrors() {
- return errors;
- }
-}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/AbstractBlipBPMItem.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/AbstractBlipBPMItem.java
deleted file mode 100644
index c778d2f..0000000
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/AbstractBlipBPMItem.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-package org.eclipse.osbp.bpm.api;
-
-import java.util.List;
-
-import org.eclipse.osbp.dsl.common.datatypes.IDto;
-
-
-/**
- * API for bpm items. See the <code><a href="../BlipDSL.xtext">blip grammar</a></code>
- * <ul>
- * <li>start events</li>
- * <li>human tasks</li>
- * <li>system tasks</li>
- * <li>persist tasks</li>
- * <li>gateways</li>
- * <li>end events</i>
- * </ul>
- * The API allows modifying the process workload dto.
- */
-public abstract class AbstractBlipBPMItem implements IBlipBPMItem {
-
- /** the process unique id inside the blip */
- private final String fBlipId;
- /** the process unique id inside the BPM definition */
- protected final String fBpmId;
-
- /**
- * @param blipId the process unique id inside the blip
- * @param bpmId the process unique id inside the BPM definition
- */
- protected AbstractBlipBPMItem(String blipId, String bpmId) {
- fBlipId = blipId;
- fBpmId = bpmId;
- }
-
- @Override
- abstract public Class<?> getOperativeDtoClass();
-
- @Override
- abstract public List<IDto> getOperativeDtos(IDto workloadDto);
-
- public String getBlipId() {
- return fBlipId;
- }
-}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/AbstractBlipBPMUserTask.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/AbstractBlipBPMUserTask.java
deleted file mode 100644
index ccdc30e..0000000
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/AbstractBlipBPMUserTask.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-package org.eclipse.osbp.bpm.api;
-
-
-/**
- * API for a bpm human task
- */
-public abstract class AbstractBlipBPMUserTask extends AbstractBlipBPMItem implements IBlipBPMUserTask {
-
- protected final String onEntryFunction;
- protected final String onExitFunction;
-
- /** see {@link org.eclipse.osbp.bpm.api.AbstractBlipBPMItem#AbstractBPMItem(String, String)} */
- protected AbstractBlipBPMUserTask(String blipId, String bpmId, String onEntryFunction, String onExitFunction) {
- super(blipId, bpmId);
- this.onEntryFunction = onEntryFunction;
- this.onExitFunction = onExitFunction;
- }
-
- @Override
- public final String getOnEntryFunction() {
- return onEntryFunction;
- }
-
- @Override
- public final String getOnExitFunction() {
- return onExitFunction;
- }
-}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMCallActivity.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMCallActivity.java
deleted file mode 100644
index 0c6683c..0000000
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMCallActivity.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-package org.eclipse.osbp.bpm.api;
-
-import java.util.List;
-
-import org.eclipse.osbp.dsl.common.datatypes.IDto;
-
-
-/**
- * API for a bpm sub process
- */
-public class BPMCallActivity extends AbstractBlipBPMItem implements IBlipBPMUserTask {
-
- protected final String onEntryFunction;
- protected final String onExitFunction;
-
- /** see {@link org.eclipse.osbp.bpm.api.AbstractBlipBPMItem#AbstractBPMItem(String, String)} */
- public BPMCallActivity(String blipId, String bpmId, String onEntryFunction, String onExitFunction) {
- super(blipId, bpmId);
- this.onEntryFunction = onEntryFunction;
- this.onExitFunction = onExitFunction;
- }
-
- @Override
- public final String getOnEntryFunction() {
- return onEntryFunction;
- }
-
- @Override
- public final String getOnExitFunction() {
- return onExitFunction;
- }
-
- @Override
- public Class<?> getOperativeDtoClass() {
- return null;
- }
-
- @Override
- public List<IDto> getOperativeDtos(IDto workloadDto) {
- return null;
- }
-}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMEndEvent.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMEndEvent.java
deleted file mode 100644
index d864288..0000000
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMEndEvent.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-package org.eclipse.osbp.bpm.api;
-
-/**
- * API for a bpm end event.
- */
-public final class BPMEndEvent extends AbstractBPMEvent {
-
- protected final boolean terminatesProcess;
-
- /** see {@link org.eclipse.osbp.bpm.api.AbstractBPMEvent#AbstractBPMEvent(String, String)} */
- public BPMEndEvent(String blipId, String bpmId, boolean terminatesProcess) {
- super(blipId, bpmId);
- this.terminatesProcess = terminatesProcess;
- }
-
- public boolean isTerminatesProcess() {
- return terminatesProcess;
- }
-}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMOperation.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMOperation.java
new file mode 100644
index 0000000..96cfee1
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMOperation.java
@@ -0,0 +1,19 @@
+package org.eclipse.osbp.bpm.api;
+
+public enum BPMOperation {
+ Claim,
+ Start,
+ Stop,
+ Release,
+ Suspend,
+ Resume,
+ Skip,
+ Delegate,
+ Forward,
+ Complete,
+ Fail,
+ Register,
+ Remove,
+ Activate,
+ Exit
+}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMPersistTask.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMPersistTask.java
deleted file mode 100644
index 7ef885c..0000000
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMPersistTask.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-package org.eclipse.osbp.bpm.api;
-
-
-/**
- * API for a bpm system persist task explicitly used to persist workload dtos back into the productive persistence
- */
-public class BPMPersistTask extends BPMScriptTask {
-
- /** see {@link org.eclipse.osbp.bpm.api.BPMScriptTask#AbstractBPMSystemTask(String, String)} */
- protected BPMPersistTask(String blipId, String bpmId, String function) {
- super(blipId, bpmId, function);
- }
-}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMPropertyUtils.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMPropertyUtils.java
new file mode 100644
index 0000000..64863ae
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMPropertyUtils.java
@@ -0,0 +1,5 @@
+package org.eclipse.osbp.bpm.api;
+
+public class BPMPropertyUtils {
+
+}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMScriptTask.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMScriptTask.java
deleted file mode 100644
index 767dc84..0000000
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMScriptTask.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-package org.eclipse.osbp.bpm.api;
-
-import java.util.List;
-
-import org.eclipse.osbp.dsl.common.datatypes.IDto;
-
-/**
- * API for a bpm system task
- */
-public class BPMScriptTask extends AbstractBlipBPMItem {
-
- protected final String function;
-
- /** see {@link org.eclipse.osbp.bpm.api.AbstractBlipBPMItem#AbstractBPMItem(String, String)} */
- public BPMScriptTask(String blipId, String bpmId, String function) {
- super(blipId, bpmId);
- this.function = function;
- }
-
- public String getFunction() {
- return function;
- }
-
- @Override
- @Deprecated
- public final Class<?> getOperativeDtoClass() {
- return null;
- }
-
- @Override
- @Deprecated
- public final List<IDto> getOperativeDtos(IDto workloadDto) {
- return null;
- }
-}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMSplitGateway.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMSplitGateway.java
deleted file mode 100644
index 9b12784..0000000
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMSplitGateway.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-package org.eclipse.osbp.bpm.api;
-
-
-/**
- * API for a bpm gateway.
- * <br>
- * Gateways
- * <ul>
- * <li>must not perform any actions!</li>
- * <li>must not perform any persisting of dtos in the product persistence</li>
- * <li>Gateways only have to evaluate the state of the bpm process - depending on the actual workload - , to define which outgoing path should be taken!</li>
- * </ul>
- */
-public class BPMSplitGateway extends AbstractBPMEvent {
-
- public enum GatewayMode {
- /** Split.TYPE_XOR */
- EXCLUSIVE,
- /** Split.TYPE_OR */
- INCLUSIVE,
- /** Split.TYPE_AND */
- PARALLEL,
- }
-
- private final GatewayMode gatewayMode;
- private final IBlipBPMOutgoing[] outgoings;
-
- /** see {@link org.eclipse.osbp.bpm.api.AbstractBPMEvent#AbstractBPMEvent(String, String)} */
- public BPMSplitGateway(String blipId, String bpmId, GatewayMode gatewayMode, IBlipBPMOutgoing... outgoings) {
- super(blipId, bpmId);
- this.gatewayMode = gatewayMode;
- this.outgoings = outgoings;
- }
-
- public GatewayMode getGatewayMode() {
- return gatewayMode;
- }
-
- public IBlipBPMOutgoing[] getOutgoings() {
- return outgoings;
- }
-}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMStartEvent.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMStartEvent.java
deleted file mode 100644
index b733373..0000000
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMStartEvent.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-package org.eclipse.osbp.bpm.api;
-
-/**
- * API for a bpm start event.
- */
-public final class BPMStartEvent extends AbstractBPMEvent {
-
- /** see {@link org.eclipse.osbp.bpm.api.AbstractBPMEvent#AbstractBPMEvent(String, String)} */
- protected BPMStartEvent(String blipId, String bpmId) {
- super(blipId, bpmId);
- }
-}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMStatus.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMStatus.java
new file mode 100644
index 0000000..8d1da0a
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMStatus.java
@@ -0,0 +1,5 @@
+package org.eclipse.osbp.bpm.api;
+
+public enum BPMStatus {
+ Created, Ready, Reserved, InProgress, Suspended, Completed, Failed, Error, Exited, Obsolete
+}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMTaskClientPerspectiveListener.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMTaskClientPerspectiveListener.java
new file mode 100644
index 0000000..7471fc7
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMTaskClientPerspectiveListener.java
@@ -0,0 +1,6 @@
+package org.eclipse.osbp.bpm.api;
+
+public interface BPMTaskClientPerspectiveListener {
+ void openPerspective(BPMTaskSummary taskSummary);
+ void closePerspective(BPMTaskSummary taskSummary);
+}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMTaskEventType.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMTaskEventType.java
new file mode 100644
index 0000000..9134997
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMTaskEventType.java
@@ -0,0 +1,93 @@
+package org.eclipse.osbp.bpm.api;
+
+public enum BPMTaskEventType {
+ Create("cr"), Claim("cl"), Stop("st"), Complete("co"), Fail("fa"), Forward("fo"), Release("re"), Skipped(
+ "sk"), Started("be"), // begun
+
+ Suspended("ss"), SuspendedUntil("su"), Resume("rs"), Removed("rm"), SetPriority("sp"),
+
+ AddedAttachment("aa"), DeletedAttachment("da"), AddedComment("ac"), UpdatedComment("uc"),
+
+ Delegated("de"), SetOutput("so"), DeleteOutput("do"), SetFault("sf"), DeleteFault("df"), Activate("at"), Nominate(
+ "no"), SetGenericHumanRole("sr"), Expire("ex"), Escalated("es"), Cancel("ca"),
+
+ UnknownUserEvent("us");
+
+ private String type;
+
+ private BPMTaskEventType(String t) {
+ type = t;
+ }
+
+ public String getValue() {
+ return type;
+ }
+
+ public static BPMTaskEventType getTypeFromValue(String type) {
+ int hashCode = type.hashCode();
+ switch (hashCode) {
+ case 3123:
+ return BPMTaskEventType.Activate;
+ case 3104:
+ return BPMTaskEventType.AddedAttachment;
+ case 3106:
+ return BPMTaskEventType.AddedComment;
+ case 3166:
+ return BPMTaskEventType.Cancel;
+ case 3177:
+ return BPMTaskEventType.Claim;
+ case 3180:
+ return BPMTaskEventType.Complete;
+ case 3183:
+ return BPMTaskEventType.Create;
+ case 3201:
+ return BPMTaskEventType.Delegated;
+ case 3202:
+ return BPMTaskEventType.DeleteFault;
+ case 3211:
+ return BPMTaskEventType.DeleteOutput;
+ case 3197:
+ return BPMTaskEventType.DeletedAttachment;
+ case 3246:
+ return BPMTaskEventType.Escalated;
+ case 3251:
+ return BPMTaskEventType.Expire;
+ case 3259:
+ return BPMTaskEventType.Fail;
+ case 3273:
+ return BPMTaskEventType.Forward;
+ case 3521:
+ return BPMTaskEventType.Nominate;
+ case 3635:
+ return BPMTaskEventType.Release;
+ case 3643:
+ return BPMTaskEventType.Removed;
+ case 3649:
+ return BPMTaskEventType.Resume;
+ case 3667:
+ return BPMTaskEventType.SetFault;
+ case 3679:
+ return BPMTaskEventType.SetGenericHumanRole;
+ case 3676:
+ return BPMTaskEventType.SetOutput;
+ case 3677:
+ return BPMTaskEventType.SetPriority;
+ case 3672:
+ return BPMTaskEventType.Skipped;
+ case 3139:
+ return BPMTaskEventType.Started;
+ case 3681:
+ return BPMTaskEventType.Stop;
+ case 3680:
+ return BPMTaskEventType.Suspended;
+ case 3682:
+ return BPMTaskEventType.SuspendedUntil;
+ case 3742:
+ return BPMTaskEventType.UnknownUserEvent;
+ case 3726:
+ return BPMTaskEventType.UpdatedComment;
+ default:
+ throw new IllegalStateException("Unknown type: " + type);
+ }
+ }
+}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMTaskSummary.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMTaskSummary.java
new file mode 100644
index 0000000..6045610
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMTaskSummary.java
@@ -0,0 +1,257 @@
+package org.eclipse.osbp.bpm.api;
+
+import java.util.Date;
+
+public class BPMTaskSummary {
+ private long id;
+
+ private String name;
+
+ private String subject;
+
+ private String description;
+
+ private BPMStatus status;
+
+ private int priority;
+
+ private boolean skipable;
+
+ private String actualOwner;
+
+ private String createdBy;
+
+ private Date createdOn;
+
+ private Date activationTime;
+
+ private Date expirationTime;
+
+ private long processInstanceId;
+
+ private String processId;
+
+ private int processSessionId;
+
+
+ public BPMTaskSummary(long id,
+ long processInstanceId,
+ String name,
+ String subject,
+ String description,
+ BPMStatus status,
+ int priority,
+ boolean skipable,
+ String actualOwner,
+ String createdBy,
+ Date createdOn,
+ Date activationTime,
+ Date expirationTime,
+ String processId,
+ int processSessionId) {
+ super();
+ this.id = id;
+ this.processInstanceId = processInstanceId;
+ this.name = name;
+ this.subject = subject;
+ this.description = description;
+ this.status = status;
+ this.priority = priority;
+ this.skipable = skipable;
+ this.actualOwner = actualOwner;
+ this.createdBy = createdBy;
+ this.createdOn = createdOn;
+ this.activationTime = activationTime;
+ this.expirationTime = expirationTime;
+ this.processId = processId;
+ this.processSessionId = processSessionId;
+ }
+
+ public BPMTaskSummary() {
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public long getProcessInstanceId() {
+ return processInstanceId;
+ }
+
+ public void setProcessInstanceId(long processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getSubject() {
+ return subject;
+ }
+
+ public void setSubject(String subject) {
+ this.subject = subject;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public BPMStatus getStatus() {
+ return status;
+ }
+
+ public void setStatus(BPMStatus status) {
+ this.status = status;
+ }
+
+ public int getPriority() {
+ return priority;
+ }
+
+ public void setPriority(int priority) {
+ this.priority = priority;
+ }
+
+ public boolean isSkipable() {
+ return skipable;
+ }
+
+ public void setSkipable(boolean skipable) {
+ this.skipable = skipable;
+ }
+
+ public String getActualOwner() {
+ return actualOwner;
+ }
+
+ public void setActualOwner(String actualOwner) {
+ this.actualOwner = actualOwner;
+ }
+
+ public String getCreatedBy() {
+ return createdBy;
+ }
+
+ public void setCreatedBy(String createdBy) {
+ this.createdBy = createdBy;
+ }
+
+ public Date getCreatedOn() {
+ return createdOn;
+ }
+
+ public void setCreatedOn(Date createdOn) {
+ this.createdOn = createdOn;
+ }
+
+ public Date getActivationTime() {
+ return activationTime;
+ }
+
+ public void setActivationTime(Date activationTime) {
+ this.activationTime = activationTime;
+ }
+
+ public Date getExpirationTime() {
+ return expirationTime;
+ }
+
+ public void setExpirationTime(Date expirationTime) {
+ this.expirationTime = expirationTime;
+ }
+
+ public String getProcessId() {
+ return processId;
+ }
+
+ public void setProcessId(String processId) {
+ this.processId = processId;
+ }
+
+ public int getProcessSessionId() {
+ return processSessionId;
+ }
+
+ public void setProcessSessionId(int processSessionId) {
+ this.processSessionId = processSessionId;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((activationTime == null) ? 0 : activationTime.hashCode());
+ result = prime * result + ((actualOwner == null) ? 0 : actualOwner.hashCode());
+ result = prime * result + ((createdBy == null) ? 0 : createdBy.hashCode());
+ result = prime * result + ((createdOn == null) ? 0 : createdOn.hashCode());
+ result = prime * result + ((description == null) ? 0 : description.hashCode());
+ result = prime * result + ((expirationTime == null) ? 0 : expirationTime.hashCode());
+ result = prime * result + (int) (id ^ (id >>> 32));
+ result = prime * result + (int) (processInstanceId ^ (processInstanceId >>> 32));
+ result = prime * result + ((name == null) ? 0 : name.hashCode());
+ result = prime * result + priority;
+ result = prime * result + (skipable ? 1231 : 1237);
+ result = prime * result + ((status == null) ? 0 : status.hashCode());
+ result = prime * result + ((subject == null) ? 0 : subject.hashCode());
+ result = prime * result + ((processId == null) ? 0 : processId.hashCode());
+ result = prime * result + processSessionId;
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( obj == null ) return false;
+ if ( !(obj instanceof BPMTaskSummary) ) return false;
+ BPMTaskSummary other = (BPMTaskSummary) obj;
+ if ( processInstanceId != other.processInstanceId) return false;
+ if ( activationTime == null ) {
+ if ( other.activationTime != null ) return false;
+ } else if ( activationTime.getTime() != other.activationTime.getTime() ) return false;
+ if ( actualOwner == null ) {
+ if ( other.actualOwner != null ) return false;
+ } else if ( !actualOwner.equals( other.actualOwner ) ) return false;
+ if ( createdBy == null ) {
+ if ( other.createdBy != null ) return false;
+ } else if ( !createdBy.equals( other.createdBy ) ) return false;
+ if ( createdOn == null ) {
+ if ( other.createdOn != null ) return false;
+ } else if ( createdOn.getTime() != other.createdOn.getTime() ) return false;
+ if ( description == null ) {
+ if ( other.description != null ) return false;
+ } else if ( !description.equals( other.description ) ) return false;
+ if ( expirationTime == null ) {
+ if ( other.expirationTime != null ) return false;
+ } else if ( expirationTime.getTime() != other.expirationTime.getTime() ) return false;
+ if ( name == null ) {
+ if ( other.name != null ) return false;
+ } else if ( !name.equals( other.name ) ) return false;
+ if ( priority != other.priority ) return false;
+ if ( skipable != other.skipable ) return false;
+ if ( status == null ) {
+ if ( other.status != null ) return false;
+ } else if ( !status.equals( other.status ) ) return false;
+ if ( subject == null ) {
+ if ( other.subject != null ) return false;
+ } else if ( !subject.equals( other.subject ) ) return false;
+ if ( processId == null ) {
+ if ( other.processId != null ) return false;
+ } else if ( !processId.equals( other.processId ) ) return false;
+ if ( processSessionId != other.processSessionId ) return false;
+ return true;
+ }
+}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMTaskUserEvent.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMTaskUserEvent.java
new file mode 100644
index 0000000..5cf7e87
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMTaskUserEvent.java
@@ -0,0 +1,55 @@
+package org.eclipse.osbp.bpm.api;
+
+import java.util.Date;
+
+public class BPMTaskUserEvent {
+ private String type;
+ private Long id;
+ protected Long taskId;
+ protected Date eventTime = new Date();
+ protected String userId;
+ protected int sessionId;
+
+ public BPMTaskUserEvent() {
+ }
+
+ public BPMTaskUserEvent(long taskId, String userId, int sessionId) {
+ this.taskId = taskId;
+ this.userId = userId;
+ this.sessionId = sessionId;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public long getTaskId() {
+ return taskId;
+ }
+
+ // no setter, automatically generated by db
+ public Long getId() {
+ return id;
+ }
+
+ // no setter,
+ public Date getEventTime() {
+ return eventTime;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public BPMTaskEventType getTaskEventType() {
+ return BPMTaskEventType.getTypeFromValue(type);
+ }
+
+ public int getSessionId() {
+ return sessionId;
+ }
+
+ public void setSessionId(int sessionId) {
+ this.sessionId = sessionId;
+ }
+}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMUser.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMUser.java
new file mode 100644
index 0000000..c355540
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BPMUser.java
@@ -0,0 +1,17 @@
+package org.eclipse.osbp.bpm.api;
+
+public class BPMUser {
+ private String id;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public BPMUser(String id) {
+ this.id = id;
+ }
+}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BlipBPMOutgoing.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BlipBPMOutgoing.java
deleted file mode 100644
index 49383af..0000000
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BlipBPMOutgoing.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-package org.eclipse.osbp.bpm.api;
-
-public class BlipBPMOutgoing implements IBlipBPMOutgoing {
-
- protected final String blipId;
- protected final String bpmId;
- protected final int priority;
- protected final boolean isDefault;
- protected final String testFunction;
-
- public BlipBPMOutgoing(String blipId, String bpmId, int priority) {
- this.blipId = blipId;
- this.bpmId = bpmId;
- this.priority = priority;
- this.isDefault = true;
- this.testFunction = BlipBaseFunctionGroup.DEFAULT_SEQUENCE_FLOW;
- }
-
- public BlipBPMOutgoing(String blipId, String bpmId, int priority, String testFunction) {
- this.blipId = blipId;
- this.bpmId = bpmId;
- this.priority = priority;
- this.isDefault = false;
- this.testFunction = testFunction;
- }
-
- @Override
- public String getBlipId() {
- return blipId;
- }
-
- @Override
- public String getBpmId() {
- return bpmId;
- }
-
- @Override
- public int getPriority() {
- return priority;
- }
-
- @Override
- public boolean isDefault() {
- return isDefault;
- }
-
- @Override
- public String getTestFunction() {
- return testFunction;
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BlipBPMProcessProtocol.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BlipBPMProcessProtocol.java
deleted file mode 100644
index e4366c5..0000000
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BlipBPMProcessProtocol.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-package org.eclipse.osbp.bpm.api;
-
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-import org.eclipse.osbp.utils.constants.ExtendedDate;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class BlipBPMProcessProtocol extends TreeMap<Long, String> implements IBlipBPMProcessProtocol {
-
- private static final long serialVersionUID = -5351403298895312061L;
- private final static Logger log = LoggerFactory.getLogger(BlipBPMProcessProtocol.class);
- private Set<Long> processIds = new TreeSet<>();
-
- protected BlipBPMProcessProtocol(long processId) {
- this.processIds.add(processId);
- }
-
- @Override
- public void addToProtocol(long actualProcessId, String line) {
- addToProtocol(actualProcessId, line, null);
- }
-
- /** TODO */
- @Override
- public void addToProtocol(long actualProcessId, String line, IBlipBPMProcessProtocol toBeMerged) {
- if ((toBeMerged != null) && !this.equals(toBeMerged)) {
-// if (!processIds.contains(toBeMerged.getProcessIds())) {
-// log.warn("Merging protocols for different process ids "+this.processId+" and "+toBeMerged.getProcessId());
-// }
- processIds.addAll(toBeMerged.getProcessIds());
- for (long millis : toBeMerged.keySet()) {
- String newLine = toBeMerged.get(millis);
- if (!containsKey(millis) || newLine.equals(get(millis))) {
- insertToProtocol(millis, newLine);
- }
- }
- }
- if ((line != null) && !line.isEmpty()) {
- insertToProtocol(System.currentTimeMillis(), "#"+actualProcessId+": "+line);
- }
- }
-
- static final int MAX_RETRIES = 50;
-
- @Override
- public String processIdsAsString() {
- String result = "";
- for (long id : processIds) {
- if (!result.isEmpty()) {
- result += "|";
- }
- result += id;
- }
- return result;
- }
-
- private void insertToProtocol(final long initialMillis, String line) {
- long millis = initialMillis;
- int retry = MAX_RETRIES+1;
- while ((retry > 0) && containsKey(millis)) {
- retry--;
- millis++;
- }
- if (retry > 0) {
- put(millis, line);
- }
- else {
- throw new IllegalArgumentException("Could not insert protocol line for "+processIdsAsString()+" between "+ExtendedDate.timeStampToString(initialMillis)+" and "+ExtendedDate.timeStampToString(millis));
- }
- }
-
- @Override
- public boolean containsProcessId(long searchProcessId) {
- return processIds.contains(searchProcessId);
- }
-
- @Override
- public Set<Long> getProcessIds() {
- return processIds;
- }
-
- @Override
- public void updateProcessId(long processId) {
- this.processIds.add(processId);
- }
-
- /** TODO */
- @Override
- public String toString() {
- StringBuffer output = new StringBuffer();
- output.append("Protocol - Process ID(s):"+processIdsAsString()+" - "+size()+" lines");
- int line = 0;
- Set<Long> keys = keySet();
- for (long millis : keys) {
- line++;
- output.append(System.lineSeparator()+"- #"+line+" - "+ExtendedDate.timeStampToString(millis)+" - "+get(millis));
- }
- return output.toString();
- }
-}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BlipBPMProcessProtocolCache.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BlipBPMProcessProtocolCache.java
deleted file mode 100644
index 0fecb2f..0000000
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BlipBPMProcessProtocolCache.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-package org.eclipse.osbp.bpm.api;
-
-import java.util.HashSet;
-
-import org.drools.runtime.process.ProcessContext;
-import org.drools.runtime.process.ProcessInstance;
-import org.jbpm.ruleflow.instance.RuleFlowProcessInstance;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class BlipBPMProcessProtocolCache extends HashSet<IBlipBPMProcessProtocol> implements IBlipBPMProcessProtocolCache {
-
- private static final long serialVersionUID = 73752867741992785L;
- private final static Logger log = LoggerFactory.getLogger(BlipBPMProcessProtocolCache.class);
-
- protected long getProcessId(Object context) {
- Exception e = null;
- try {
- if (context instanceof Long) {
- return (Long)context;
- }
- if (context instanceof Integer) {
- return (Long)context;
- }
- if (context instanceof ProcessInstance) {
- return ((ProcessInstance)context).getId();
- }
- if (context instanceof ProcessContext) {
- return (((ProcessContext) context).getNodeInstance().getProcessInstance().getId());
- }
- }
- catch (Exception e1) {
- e = e1;
- }
- String error = "Given context "+context.getClass().getCanonicalName()+" can't be inspected for the process instance id";
- if (e != null) {
- error += " "+e.getLocalizedMessage();
- }
- log.error(error);
- throw new IllegalArgumentException(error);
- }
-
- protected long getParentProcessId(Object context) {
- Exception e = null;
- try {
- if (context instanceof ProcessContext) {
- if (((ProcessContext) context).getNodeInstance().getNodeInstanceContainer() instanceof RuleFlowProcessInstance) {
- RuleFlowProcessInstance ruleFlowProcessInstance = (RuleFlowProcessInstance) ((ProcessContext) context).getNodeInstance().getNodeInstanceContainer();
- if (ruleFlowProcessInstance.getMetaData().containsKey("ParentProcessInstanceId")) {
- return (Long)ruleFlowProcessInstance.getMetaData().get("ParentProcessInstanceId");
- }
- }
- }
- }
- catch (Exception e1) {
- }
- return 0;
- }
-
- @Override
- public IBlipBPMProcessProtocol mergeToProtocol(Object context, IBlipBPMProcessProtocol toBeMerged) {
- return addToProtocol(context, null, toBeMerged);
- }
-
- @Override
- public IBlipBPMProcessProtocol addToProtocol(Object context, String line) {
- return addToProtocol(context, line, null);
- }
-
- @Override
- public IBlipBPMProcessProtocol addToProtocol(Object context, String line, IBlipBPMProcessProtocol toBeMerged) {
- IBlipBPMProcessProtocol protocol = getProtocol(context);
- protocol.addToProtocol(getProcessId(context), line, toBeMerged);
- return protocol;
- }
-
- @Override
- public IBlipBPMProcessProtocol getProtocol(Object context) {
- long processId = getProcessId(context);
- long parentProcessId = getParentProcessId(context);
- IBlipBPMProcessProtocol protocol = get(processId);
- if ((protocol == null) && (parentProcessId > 0)) {
- protocol = get(parentProcessId);
- if (protocol != null) {
- protocol.updateProcessId(processId);
- }
- }
- if (protocol == null) {
- protocol = new BlipBPMProcessProtocol(processId);
- add(protocol);
- }
-// else if (protocol.getProcessId() == 0) {
-// protocol.updateProcessId(processId);
-// }
- else if (!protocol.containsProcessId(processId)) {
- String error = "Wrong process id for context "+processId+" and protocol found "+protocol.processIdsAsString();
- log.error(error);
- throw new IllegalArgumentException(error);
- }
- return protocol;
- }
-
- private IBlipBPMProcessProtocol get(long searchProcessId) {
- for (IBlipBPMProcessProtocol protocol : this) {
- if (protocol.containsProcessId(searchProcessId)) {
- return protocol;
- }
- }
- return null;
- }
-
- @Override
- public void removeFromCache(Object context) {
- remove(getProcessId(context));
- }
-}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BlipBaseFunctionGroup.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BlipBaseFunctionGroup.java
deleted file mode 100644
index d55a169..0000000
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/BlipBaseFunctionGroup.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-package org.eclipse.osbp.bpm.api;
-
-import org.drools.runtime.process.ProcessContext;
-import org.eclipse.osbp.dsl.common.datatypes.IDto;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Base class for blip function groups. It provides basic functions to handle blips.
- */
-public abstract class BlipBaseFunctionGroup {
-
- private static IBlipBPMProcessProtocolCache protocolCache;
- private final static Logger log = LoggerFactory.getLogger(BlipBaseFunctionGroup.class);
-
- @Deprecated
- public final static void setProtocolCache(IBlipBPMProcessProtocolCache protocolCache) {
- if (BlipBaseFunctionGroup.protocolCache == null) {
- BlipBaseFunctionGroup.protocolCache = protocolCache;
- }
- else if (BlipBaseFunctionGroup.protocolCache != protocolCache) {
- BlipBaseFunctionGroup.protocolCache = protocolCache;
- }
- }
-
- /**
- * This method can be used as the default sequence flow on exclusive split gateways!
- * @param kcontext should be the {@link org.drools.runtime.process.ProcessContext} available in BPM (Java/mvel) scripts
- * @return <b>always</b> <code>true</code>
- */
- public final static boolean defaultSequenceFlow(Object kcontext) {
- return true;
- }
-
- /**
- * name of the function defaultSequenceFlow(kcontext) to be used in the blip grammar
- */
- protected final static String DEFAULT_SEQUENCE_FLOW = "defaultSequenceFlow";
-
- /**
- * @see hints in {@link #getVariable(Object, String)
- * @param kcontext should be the {@link org.drools.runtime.process.ProcessContext} available in BPM (Java/mvel) scripts
- * @return the protocol of this process instance, which can be generated with appendProcessProtocol()
- */
- public final static IBlipBPMProcessProtocol getProcessProtocol(Object kcontext) {
- return protocolCache.mergeToProtocol(kcontext, (IBlipBPMProcessProtocol)getVariable(kcontext, IBlipBPMConstants.VARIABLE_PROCESS_PROTOCOL));
- }
-
- /**
- * @see hints in {@link #getVariable(Object, String)
- * @param kcontext should be the {@link org.drools.runtime.process.ProcessContext} available in BPM (Java/mvel) scripts
- * @param line new line for the protocol
- * @return the new protocol of this process instance
- */
- public final static IBlipBPMProcessProtocol appendProcessProtocol(Object kcontext, String line) {
- IBlipBPMProcessProtocol protocol = protocolCache.addToProtocol(kcontext, line, getProcessProtocol(kcontext));
- setVariable(kcontext, IBlipBPMConstants.VARIABLE_PROCESS_PROTOCOL, protocol);
- return protocol;
- }
-
- /**
- * @see hints in {@link #getVariable(Object, String)
- * @param kcontext should be the {@link org.drools.runtime.process.ProcessContext} available in BPM (Java/mvel) scripts
- * @return the workload dto of this process instance
- */
- public final static Object getWorkloadDto(Object kcontext) {
- return getVariable(kcontext, IBlipBPMConstants.VARIABLE_PROCESS_WORKLOAD_DTO);
- }
-
- /**
- * @see hints in {@link #getVariable(Object, String)
- * @param kcontext should be the {@link org.drools.runtime.process.ProcessContext} available in BPM (Java/mvel) scripts
- * @param workloadDto the new/modified workload dto for this process instance
- */
- public final static void setWorkloadDto(Object kcontext, IDto workloadDto) {
- setVariable(kcontext, IBlipBPMConstants.VARIABLE_PROCESS_WORKLOAD_DTO, workloadDto);
- }
-
- /**
- * @see hints in {@link #getVariable(Object, String)
- * @param kcontext should be the {@link org.drools.runtime.process.ProcessContext} available in BPM (Java/mvel) scripts
- * @return the full qualified name for the workload dto used in this process instance
- */
- public final static Object getWorkloadDtoFQN(Object kcontext) {
- return getVariable(kcontext, IBlipBPMConstants.VARIABLE_PROCESS_WORKLOAD_DTO_FQN);
- }
-
- /**
- * Local process variables are available in
- * <ul>
- * <li>in <i>User Tasks</i> ony, if they are mapped from local process variables to task variables</li>
- * <li>in <i>Script Tasks</i>, <i>Gateways</i>, etc. via (Java/mvel) scripts</li>
- * </ul>
- * @param kcontext should be the {@link org.drools.runtime.process.ProcessContext} available in BPM (Java/mvel) scripts
- * @param variable name of the process instance variable
- * @return the value of the process instance variable or <code>null</code>
- */
- protected final static Object getVariable(Object kcontext, String variable) {
- return getVariable(kcontext, variable, null);
- }
-
- /**
- * Local process variables are available in
- * <ul>
- * <li>in <i>User Tasks</i> ony, if they are mapped from local process variables to task variables</li>
- * <li>in <i>Script Tasks</i>, <i>Gateways</i>, etc. via (Java/mvel) scripts</li>
- * </ul>
- * @param kcontext should be the {@link org.drools.runtime.process.ProcessContext} available in BPM (Java/mvel) scripts
- * @param variable name of the process instance variable
- * @param defaultValue default value, if the variable has not been set before
- * @return the value of the process instance variable or <code>defaultValue</code>
- */
- protected final static Object getVariable(Object kcontext, String variable, Object defaultValue) {
- Object value = defaultValue;
- if ((variable instanceof String) && (kcontext instanceof ProcessContext) && !variable.isEmpty()) {
- try {
- value = ((ProcessContext) kcontext).getVariable(variable);
- }
- catch (Exception e) {
- log.error("getVariable(\""+variable+"\"): ", e);
- }
- }
- else if (kcontext == null) {
- log.error("getVariable(\""+variable+"\"): kcontext must be instance of ProcessContext, but is <null>");
- }
- else if (!(kcontext instanceof ProcessContext)) {
- log.error("getVariable(\""+variable+"\"): kcontext must be instance of ProcessContext, but is "+kcontext.getClass().getCanonicalName());
- }
- return value;
- }
-
- /**
- * @see hints in {@link #getVariable(Object, String)
- * @param kcontext should be the {@link org.drools.runtime.process.ProcessContext} available in BPM (Java/mvel) scripts
- * @param variable name of the process instance variable to be set
- * @param value the new value of the process instance variable
- */
- protected final static void setVariable(Object kcontext, String variable, Object value) {
- if ((variable instanceof String) && (kcontext instanceof ProcessContext) && !variable.isEmpty()) {
- try {
- ((ProcessContext) kcontext).setVariable(variable, value);
- }
- catch (Exception e) {
- log.error("setVariable(\""+variable+"\",<value>): ", e);
- }
- }
- else if (kcontext == null) {
- log.error("getVariable(\""+variable+"\"): kcontext must be instance of ProcessContext, but is <null>");
- }
- else if (!(kcontext instanceof ProcessContext)) {
- log.error("getVariable(\""+variable+"\"): kcontext must be instance of ProcessContext, but is "+kcontext.getClass().getCanonicalName());
- }
- }
-}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBPMEngine.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBPMEngine.java
index bda9904..d696aa5 100644
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBPMEngine.java
+++ b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBPMEngine.java
@@ -12,39 +12,24 @@
*/
package org.eclipse.osbp.bpm.api;
-import java.util.ArrayList;
import java.util.Map;
+import java.util.Set;
-import org.drools.KnowledgeBase;
-import org.drools.builder.KnowledgeBuilder;
-import org.drools.event.process.ProcessEventListener;
-import org.drools.io.ResourceFactoryService;
-import org.eclipse.osbp.persistence.IPersistenceService;
-import org.jbpm.task.Group;
-import org.jbpm.task.User;
-import org.jbpm.task.event.TaskEventListener;
-import org.jbpm.task.service.TaskService;
+import org.eclipse.osbp.ui.api.useraccess.IBlipProcessPermissions;
public interface IBPMEngine {
- public Map<String, ArrayList<String>> getGroupsbyuser();
- public Map<String, ArrayList<String>> getUsersbygroup();
- public Map<String, User> getUsers();
- public Map<String, Group> getGroups();
- public KnowledgeBuilder getKnowledgeBuilder();
- public KnowledgeBase getKnowledgeBase();
- public ResourceFactoryService getResourceFactoryService();
- public TaskService getTaskService();
- public void startProcess(IBlipBPMStartInfo bpm, Map <String, Object> parameters);
- public IPersistenceService getPersistenceService();
- public void registerResource(String processId, String resourceName);
- public String getResourceName(String processId);
- public void initBPMUsers();
- public void addOrganizationalResource(String user, String group);
- public void addProcessEventListener(ProcessEventListener listener);
- public void removeProcessEventListener(ProcessEventListener listener);
- public void addTaskEventListener(TaskEventListener listener);
- public void removeTaskEventListener(TaskEventListener listener);
- public boolean addBpmn(String processId, String bundleResourceName, Class<?> clz);
+ void clearErrors();
+ String getErrors();
+ boolean registerProcess(IBlipBPMStartInfo startInfo, String resourceBundlePath, Class<?> bundleClass, IBlipProcessPermissions blipProcessPermissions);
+ void startProcess(IBlipBPMStartInfo bpm, Map <String, Object> parameters);
+ String getResourceName(String processId);
+ void initBPMUsers();
+ Set<String> getGroups();
+ Set<String> getUsers();
+ void addProcessEventListener(Object listener);
+ void removeProcessEventListener(Object listener);
+ void addTaskEventListener(Object listener);
+ void removeTaskEventListener(Object listener);
/**
* @param taskInformationObject object containing information about the task; it can be<ul>
* <li>process instance of type {@link org.drools.runtime.process.ProcessInstance}</li>
@@ -54,7 +39,7 @@
* </ul>
* @return map with String for key and Object for values
*/
- public Map<String,Object> getProcessVariables(Object taskInformationObject);
+ Map<String,Object> getProcessVariables(Object taskInformationObject);
/**
* @param taskInformationObject object containing information about the task; it can be<ul>
* <li>process instance of type {@link org.drools.runtime.process.ProcessInstance}</li>
@@ -65,7 +50,7 @@
* @param variable name of the requested variable
* @return value of the variable or null
*/
- public Object getProcessVariable(Object taskInformationObject, String variable);
+ Object getProcessVariable(Object taskInformationObject, String variable);
/**
* @param taskInformationObject object containing information about the task; it can be<ul>
* <li>process instance of type {@link org.drools.runtime.process.ProcessInstance}</li>
@@ -76,10 +61,12 @@
* @param variable name of the variable to be set
* @param value new values of the variable
*/
- public Object setProcessVariable(Object taskInformationObject, String variable, Object value);
- public void disposeKsession(Object ksession);
- public Object reCreateKnowledgeSession(Object taskInformationObject);
- public void beginTransaction();
- public void commitTransaction();
- public void rollbackTransaction();
+ Object setProcessVariable(Object taskInformationObject, String variable, Object value);
+ void disposeKsession(Object ksession);
+ Object reCreateKnowledgeSession(Object taskInformationObject);
+ void beginTransaction();
+ void commitTransaction();
+ void rollbackTransaction();
+ Object getVariable(Object kcontext, String variable, Object defaultValue);
+ void setVariable(Object kcontext, String variable, Object value);
}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBPMServiceTask.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBPMServiceTask.java
new file mode 100644
index 0000000..aefdc09
--- /dev/null
+++ b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBPMServiceTask.java
@@ -0,0 +1,14 @@
+package org.eclipse.osbp.bpm.api;
+
+public interface IBPMServiceTask extends IBlipBPMUserTask {
+ ServiceExecutionMode getExecutionMode();
+ int getTimeoutInSecs();
+ ServiceImplementation getImplementation();
+ String getFunctionLibraryClass();
+ String getFunctionLibraryMethod();
+ String getWebServiceInterface();
+ String getWebServiceOperation();
+ String getJavaInterface();
+ String getJavaOperation();
+ String getParameterType();
+}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBPMTaskClient.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBPMTaskClient.java
index a949366..a1dab84 100644
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBPMTaskClient.java
+++ b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBPMTaskClient.java
@@ -15,30 +15,27 @@
import java.util.List;
import java.util.Map;
-import org.jbpm.task.Task;
-import org.jbpm.task.event.entity.TaskEventType;
-import org.jbpm.task.query.TaskSummary;
-import org.jbpm.task.service.Operation;
import org.eclipse.osbp.dsl.common.datatypes.IDto;
import org.eclipse.osbp.ui.api.user.IUser;
public interface IBPMTaskClient extends IBlipBPMConstants {
- boolean operations(final long taskId, final IUser user, final IUser alternateUser, final Operation operation);
- Task getTask(final Long taskId);
- TaskSummary getUserTask(final Long taskId, final IUser user);
- List<TaskSummary> getUserTaskList(final IUser user, boolean owned);
+ boolean operations(final long taskId, final IUser user, final IUser alternateUser, final BPMOperation operation);
+ BPMTaskSummary getUserTask(final Long taskId, final IUser user);
+ List<BPMTaskSummary> getUserTaskList(final IUser user, boolean owned);
void subscribeProcessCompletedEventNotification(IBPMTaskEventNotification notification);
void unsubscribeProcessCompletedEventNotification(IBPMTaskEventNotification notification);
void subscribeTaskEventNotification(IBPMTaskEventNotification notification);
- void subscribeTaskEventNotification(TaskEventType type, IBPMTaskEventNotification notification);
+ void subscribeTaskEventNotification(BPMTaskEventType type, IBPMTaskEventNotification notification);
void unsubscribeTaskEventNotification(IBPMTaskEventNotification notification);
- void unsubscribeTaskEventNotification(TaskEventType type, IBPMTaskEventNotification notification);
- public IDto getWorkloadDto(Object processInstanceId);
- public String getWorkloadDtoFqn(Object taskSummary);
- public void setWorkloadDto(Object taskSummary, IDto workloadDto);
- public String getProcessId(Object taskSummary);
- public Map<String,Object> getProcessVariables(Object taskSummary);
- public Object getProcessVariable(Object taskSummary, String variable);
- public Object setProcessVariable(Object taskSummary, String variable, Object value);
+ void unsubscribeTaskEventNotification(BPMTaskEventType type, IBPMTaskEventNotification notification);
+ IDto getWorkloadDto(BPMTaskSummary taskSummary);
+ String getWorkloadDtoFqn(BPMTaskSummary taskSummary);
+ void setWorkloadDto(BPMTaskSummary taskSummary, IDto workloadDto);
+ String getProcessId(BPMTaskSummary taskSummary);
+ Map<String,Object> getProcessVariables(BPMTaskSummary taskSummary);
+ Object getProcessVariable(BPMTaskSummary taskSummary, String variable);
+ Object setProcessVariable(BPMTaskSummary taskSummary, String variable, Object value);
+ void registerPerspectiveListener(BPMTaskClientPerspectiveListener listener);
+ void unregisterPerspectiveListener(BPMTaskClientPerspectiveListener listener);
}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBPMTaskEventNotification.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBPMTaskEventNotification.java
index 2261904..94c1b4e 100644
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBPMTaskEventNotification.java
+++ b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBPMTaskEventNotification.java
@@ -12,12 +12,8 @@
*/
package org.eclipse.osbp.bpm.api;
-import org.drools.event.process.ProcessCompletedEvent;
-import org.jbpm.task.event.entity.TaskEventType;
-import org.jbpm.task.event.entity.TaskUserEvent;
-
//@FunctionalInterface
public interface IBPMTaskEventNotification {
- void notifyProcessCompletedEvent(ProcessCompletedEvent event);
- void notifyTaskEvent(TaskEventType type, TaskUserEvent event);
+ void notifyProcessCompletedEvent();
+ void notifyTaskEvent(BPMTaskEventType type, BPMTaskUserEvent event);
}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBlipBPMFunctionProvider.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBlipBPMFunctionProvider.java
index 63713b5..df02d7a 100644
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBlipBPMFunctionProvider.java
+++ b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBlipBPMFunctionProvider.java
@@ -16,12 +16,10 @@
import java.util.List;
import java.util.Map;
-import org.eclipse.osbp.dsl.common.datatypes.IDto;
-
public interface IBlipBPMFunctionProvider extends IBlipBPMConstants {
boolean initBlip();
Map<String, IBlipBPMStartInfo> getBpmns();
List<String> getErrors();
void startProcess(String processName);
- public IBlipBPMStartInfo getStartInfo(Object processInstanceId);
+ public IBlipBPMStartInfo getStartInfo(BPMTaskSummary taskSummary);
}
diff --git a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBlipBPMStartInfo.java b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBlipBPMStartInfo.java
index 8295ada..e0c86bb 100644
--- a/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBlipBPMStartInfo.java
+++ b/org.eclipse.osbp.bpm.api/src/org/eclipse/osbp/bpm/api/IBlipBPMStartInfo.java
@@ -80,5 +80,5 @@
/**
* @return the list of all BPM service tasks in this blip
*/
- public List<AbstractBPMServiceTask> getServiceTasks();
+ public List<IBPMServiceTask> getServiceTasks();
}