aboutsummaryrefslogtreecommitdiffstats
path: root/bpmn/MSOCoreBPMN/src
diff options
context:
space:
mode:
authorGary Wu <gary.i.wu@huawei.com>2017-05-09 14:08:07 -0700
committerGary Wu <gary.i.wu@huawei.com>2017-05-09 14:08:07 -0700
commitb3967539983771c335984d904c7e074dd1fc5a9b (patch)
tree1dc280e063a8aeb6e33854e349eb33a5af916750 /bpmn/MSOCoreBPMN/src
parentb1e5734ef566af5d49ba17d05ca0ab7b56d6666d (diff)
Simplify BaseTask and subclasses
Change-Id: If06c2be264003ab27090adf0a29804d961d28115 Signed-off-by: Gary Wu <gary.i.wu@huawei.com>
Diffstat (limited to 'bpmn/MSOCoreBPMN/src')
-rw-r--r--bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/BaseTask.java22
-rw-r--r--bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/ReadConfigTask.java27
-rw-r--r--bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/ReadFileTask.java36
-rw-r--r--bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/XQueryScriptTask.java31
4 files changed, 31 insertions, 85 deletions
diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/BaseTask.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/BaseTask.java
index 849c8ba4f8..5b43c3fc07 100644
--- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/BaseTask.java
+++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/BaseTask.java
@@ -20,6 +20,9 @@
package org.openecomp.mso.bpmn.core;
+import java.util.Objects;
+
+import org.camunda.bpm.engine.ProcessEngineException;
import org.camunda.bpm.engine.delegate.DelegateExecution;
import org.camunda.bpm.engine.delegate.Expression;
import org.camunda.bpm.engine.delegate.JavaDelegate;
@@ -185,13 +188,7 @@ public abstract class BaseTask implements JavaDelegate {
protected String getOptionalStringField(Expression expression,
DelegateExecution execution, String fieldName) {
Object o = getFieldImpl(expression, execution, fieldName, true);
- if (o instanceof String) {
- return (String) o;
- } else if (o == null) {
- return null;
- } else {
- return o.toString();
- }
+ return Objects.toString(o, null);
}
/**
@@ -526,4 +523,15 @@ public abstract class BaseTask implements JavaDelegate {
public String getTaskName() {
return getClass().getSimpleName();
}
+
+
+ /**
+ * Check if shouldFail variable is set to true.
+ * @param execution
+ * @return
+ */
+ protected boolean shouldFail(DelegateExecution execution) {
+ Boolean shouldFail = (Boolean) execution.getVariable("shouldFail");
+ return shouldFail != null && shouldFail;
+ }
}
diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/ReadConfigTask.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/ReadConfigTask.java
index b46ffcd7f7..09288f0cff 100644
--- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/ReadConfigTask.java
+++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/ReadConfigTask.java
@@ -27,7 +27,6 @@ import java.util.Properties;
import org.camunda.bpm.engine.ProcessEngineException;
import org.camunda.bpm.engine.delegate.DelegateExecution;
import org.camunda.bpm.engine.delegate.Expression;
-
import org.openecomp.mso.logger.MsoLogger;
/**
@@ -57,38 +56,20 @@ public class ReadConfigTask extends BaseTask {
msoLogger.debug("propertiesFile = " + thePropertiesFile);
}
- Boolean shouldFail = (Boolean) execution.getVariable("shouldFail");
-
- if (shouldFail != null && shouldFail) {
- throw new ProcessEngineException(getClass().getSimpleName() + " Failed");
- }
+ if (shouldFail(execution)) {
+ throw new ProcessEngineException(getTaskName() + " Failed");
+ }
synchronized (ReadConfigTask.class) {
if (properties == null) {
properties = new Properties();
- InputStream stream = null;
-
- try {
- stream = getClass().getResourceAsStream(thePropertiesFile);
-
+ try(InputStream stream = getClass().getResourceAsStream(thePropertiesFile)) {
if (stream == null) {
throw new IOException("Resource not found: " + thePropertiesFile);
}
properties.load(stream);
-
- stream.close();
- stream = null;
-
- } finally {
- if (stream != null) {
- try {
- stream.close();
- } catch (Exception e) {
- // Do nothing
- }
- }
}
}
}
diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/ReadFileTask.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/ReadFileTask.java
index 389fdc0518..3adba195ea 100644
--- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/ReadFileTask.java
+++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/ReadFileTask.java
@@ -24,11 +24,11 @@ import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.util.stream.Collectors;
import org.camunda.bpm.engine.ProcessEngineException;
import org.camunda.bpm.engine.delegate.DelegateExecution;
import org.camunda.bpm.engine.delegate.Expression;
-
import org.openecomp.mso.logger.MsoLogger;
/**
@@ -66,45 +66,21 @@ public class ReadFileTask extends BaseTask {
+ "file = " + theFile);
}
- Boolean shouldFail = (Boolean) execution.getVariable("shouldFail");
-
- if (shouldFail != null && shouldFail) {
- throw new ProcessEngineException(getClass().getSimpleName() + " Failed");
- }
+ if (shouldFail(execution)) {
+ throw new ProcessEngineException(getTaskName() + " Failed");
+ }
Object value = execution.getVariable(theInputVariable);
if (value == null) {
- InputStream xmlStream = null;
-
- try {
- xmlStream = getClass().getResourceAsStream(theFile);
+ try(InputStream xmlStream = getClass().getResourceAsStream(theFile)) {
if (xmlStream == null) {
throw new IOException("Resource not found: " + theFile);
}
BufferedReader reader = new BufferedReader(new InputStreamReader(xmlStream));
- StringBuilder output = new StringBuilder();
- String line;
-
- while ((line = reader.readLine()) != null) {
- output.append(line);
- }
-
- xmlStream.close();
- xmlStream = null;
-
- value = output.toString();
-
- } finally {
- if (xmlStream != null) {
- try {
- xmlStream.close();
- } catch (Exception e) {
- // Do nothing
- }
- }
+ value = reader.lines().collect(Collectors.joining());
}
}
execution.setVariable(theInputVariable, value);
diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/XQueryScriptTask.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/XQueryScriptTask.java
index 31da7376be..e42806e95e 100644
--- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/XQueryScriptTask.java
+++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/XQueryScriptTask.java
@@ -25,7 +25,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.net.URI;
-import java.util.Iterator;
import javax.xml.transform.stream.StreamSource;
@@ -33,7 +32,6 @@ import org.camunda.bpm.engine.ProcessEngineException;
import org.camunda.bpm.engine.delegate.DelegateExecution;
//import java.util.logging.Logger;
import org.camunda.bpm.engine.delegate.Expression;
-
import org.openecomp.mso.logger.MessageEnum;
import org.openecomp.mso.logger.MsoLogger;
@@ -97,11 +95,9 @@ public class XQueryScriptTask extends BaseTask {
String[] atomicInputVariableArray = (theAtomicInputVariables == null)
? new String[0] : theAtomicInputVariables.split(",[ ]*");
- Boolean shouldFail = (Boolean) execution.getVariable("shouldFail");
-
- if (shouldFail != null && shouldFail) {
- throw new ProcessEngineException(getClass().getSimpleName() + " Failed");
- }
+ if (shouldFail(execution)) {
+ throw new ProcessEngineException(getTaskName() + " Failed");
+ }
// The script could be compiled once and reused, but we are reading it
// and compiling it every time.
@@ -190,9 +186,7 @@ public class XQueryScriptTask extends BaseTask {
// Evaluate the query and collect the output.
StringBuilder output = new StringBuilder();
- Iterator<XdmItem> xdmItems = evaluator.iterator();
- while (xdmItems.hasNext()) {
- XdmItem item = xdmItems.next();
+ for(XdmItem item : evaluator) {
if (msoLogger.isDebugEnabled()) {
msoLogger.debug("XQuery result item = " + item);
@@ -218,26 +212,13 @@ public class XQueryScriptTask extends BaseTask {
*/
private XQueryExecutable compile(XQueryCompiler compiler, String resource)
throws Exception {
- InputStream xqStream = null;
- try {
- xqStream = getClass().getResourceAsStream(resource);
+ try(InputStream xqStream = getClass().getResourceAsStream(resource)) {
if (xqStream == null) {
throw new IOException("Resource not found: " + resource);
}
- XQueryExecutable executable = compiler.compile(xqStream);
- xqStream.close();
- xqStream = null;
- return executable;
- } finally {
- if (xqStream != null) {
- try {
- xqStream.close();
- } catch (Exception e) {
- // Do nothing
- }
- }
+ return compiler.compile(xqStream);
}
}
} \ No newline at end of file