From a2e375e4135c9a4f2f79d20e12ed0dd8a361da2d Mon Sep 17 00:00:00 2001 From: zsmyt Date: Mon, 21 Nov 2016 15:33:19 +0100 Subject: [PATCH] Add setParameterValues(ActivityProps) to Query to be used by Job - resolve #119 --- .../org/cristalise/kernel/entity/agent/Job.java | 13 ++++++------- .../java/org/cristalise/kernel/querying/Query.java | 10 ++++++++-- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/cristalise/kernel/entity/agent/Job.java b/src/main/java/org/cristalise/kernel/entity/agent/Job.java index 10732fe..2ce2f79 100644 --- a/src/main/java/org/cristalise/kernel/entity/agent/Job.java +++ b/src/main/java/org/cristalise/kernel/entity/agent/Job.java @@ -21,16 +21,12 @@ package org.cristalise.kernel.entity.agent; import static org.cristalise.kernel.graph.model.BuiltInVertexProperties.OUTCOME_INIT; -import static org.cristalise.kernel.graph.model.BuiltInVertexProperties.VIEW_POINT; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import lombok.Getter; -import lombok.Setter; - import org.cristalise.kernel.common.GTimeStamp; import org.cristalise.kernel.common.InvalidDataException; import org.cristalise.kernel.common.ObjectNotFoundException; @@ -60,6 +56,9 @@ import org.cristalise.kernel.utils.LocalObjectLoader; import org.cristalise.kernel.utils.Logger; +import lombok.Getter; +import lombok.Setter; + /** * */ @@ -88,7 +87,6 @@ public class Job implements C2KLocalObject { private boolean transitionResolved = false; private Outcome outcome = null;; - private Query query = null;; /** * OutcomeInitiator cache @@ -266,9 +264,10 @@ public Script getScript() throws ObjectNotFoundException, InvalidDataException { } public Query getQuery() throws ObjectNotFoundException, InvalidDataException { - if (query == null && hasQuery()) { + Query query = null; + if (hasQuery()) { query = getTransition().getQuery(actProps); - query.setMandatoryParemeters(itemPath.getUUID().toString(), getSchemaName(), getActProp(VIEW_POINT)); + query.setParemeterValues(itemPath.getUUID().toString(), getSchemaName(), actProps); } return query; } diff --git a/src/main/java/org/cristalise/kernel/querying/Query.java b/src/main/java/org/cristalise/kernel/querying/Query.java index 8bfcd42..a85e8a0 100644 --- a/src/main/java/org/cristalise/kernel/querying/Query.java +++ b/src/main/java/org/cristalise/kernel/querying/Query.java @@ -44,6 +44,7 @@ import org.cristalise.kernel.process.Gateway; import org.cristalise.kernel.scripting.ParameterException; import org.cristalise.kernel.scripting.ScriptParsingException; +import org.cristalise.kernel.utils.CastorHashMap; import org.cristalise.kernel.utils.DescriptionObject; import org.cristalise.kernel.utils.FileStringUtility; import org.cristalise.kernel.utils.LocalObjectLoader; @@ -114,10 +115,15 @@ public void setStringParameter(String name, Object value) { else p.setValue(value); } - public void setMandatoryParemeters(String uuid, Object schemaName, Object viewPoint) { + public void setParemeterValues(String itemUUID, Object schemaName, CastorHashMap actProps) { + for(Parameter p : parameters) p.setValue(actProps.get(p.getName())); + + setMandatoryParemeters(itemUUID, schemaName); + } + + public void setMandatoryParemeters(String uuid, Object schemaName) { setStringParameter("itemUUID", uuid); setStringParameter("schemaName", schemaName); - setStringParameter("viewPoint", viewPoint); } public void validateXML(String xml) throws InvalidDataException, ObjectNotFoundException {