diff options
author | Gary Wu <gary.i.wu@huawei.com> | 2017-05-09 14:08:07 -0700 |
---|---|---|
committer | Gary Wu <gary.i.wu@huawei.com> | 2017-05-09 14:08:07 -0700 |
commit | b3967539983771c335984d904c7e074dd1fc5a9b (patch) | |
tree | 1dc280e063a8aeb6e33854e349eb33a5af916750 /bpmn/MSOCoreBPMN | |
parent | b1e5734ef566af5d49ba17d05ca0ab7b56d6666d (diff) |
Simplify BaseTask and subclasses
Change-Id: If06c2be264003ab27090adf0a29804d961d28115
Signed-off-by: Gary Wu <gary.i.wu@huawei.com>
Diffstat (limited to 'bpmn/MSOCoreBPMN')
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 |