Skip to content

Commit

Permalink
writing goals
Browse files Browse the repository at this point in the history
  • Loading branch information
hvarg committed Feb 12, 2024
1 parent 156a267 commit c5fc81e
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -158,15 +158,15 @@ public Goal updateGoal(
}

@DELETE
@Path("goal/{id}")
@Path("goals/{id}")
@Override
public void deleteGoal(
@PathParam("id") String id) {
this.repo.removeGoal(id);
}

@GET
@Path("goal/{id}/query")
@Path("goals/{id}/query")
@Override
public List<TriggeredLOI> queryGoal(
@PathParam("id") String id) {
Expand Down
18 changes: 8 additions & 10 deletions server/src/main/java/org/diskproject/server/db/DiskDB.java
Original file line number Diff line number Diff line change
Expand Up @@ -370,10 +370,9 @@ public boolean writeGoal(Goal goal) {
domainKB.createLiteral(questionId));
List<VariableBinding> questionBindings = goal.getQuestionBindings();
if (questionBindings != null && questionBindings.size() > 0) {
String prefix = fullId + "/bindings/";
for (VariableBinding vb : questionBindings) {
domainKB.addPropertyValue(goalItem, DISKOnt.getProperty(DISK.HAS_QUESTION_BINDINGS),
writeVariableBinding(vb, prefix));
writeVariableBinding(vb, fullId));
}
}

Expand Down Expand Up @@ -937,7 +936,7 @@ private KBObject createLiteralFromBindingValue (VariableBinding binding) {
}
return domainKB.createLiteral("[" + str + "]");
}
return domainKB.createLiteral(binding.getBinding());
return domainKB.createLiteral(binding.getSingleBinding());
}

private void readLiteralAsBindingValue (String rawValue, VariableBinding vb) {
Expand All @@ -957,7 +956,7 @@ private void readLiteralAsBindingValue (String rawValue, VariableBinding vb) {
vb.setBindings(list);
} else {
vb.setIsArray(false);
vb.setBinding(rawValue);
vb.setSingleBinding(rawValue);
}
}

Expand All @@ -969,14 +968,13 @@ private KBObject writeVariableBinding (VariableBinding vBinding, String prefix)
}
KBObject vBindingObj = domainKB.createObjectOfClass(id, DISKOnt.getClass(DISK.VARIABLE_BINDING));
if (vBinding.getVariable() != null)
domainKB.setPropertyValue(vBindingObj, DISKOnt.getClass(DISK.HAS_BINDING_VARIABLE), domainKB.createLiteral(vBinding.getVariable()));
domainKB.setPropertyValue(vBindingObj, DISKOnt.getProperty(DISK.HAS_BINDING_VARIABLE), domainKB.createLiteral(vBinding.getVariable()));
if (vBinding.getDatatype() != null)
domainKB.setPropertyValue(vBindingObj, DISKOnt.getClass(DISK.HAS_DATATYPE), domainKB.createLiteral(vBinding.getDatatype()));
domainKB.setPropertyValue(vBindingObj, DISKOnt.getProperty(DISK.HAS_DATATYPE), domainKB.createLiteral(vBinding.getDatatype()));
if (vBinding.getType() != null)
domainKB.setPropertyValue(vBindingObj, DISKOnt.getClass(DISK.HAS_TYPE), domainKB.createLiteral(vBinding.getType()));
if (vBinding.getBinding() != null) {
domainKB.setPropertyValue(vBindingObj, DISKOnt.getClass(DISK.HAS_BINDING_VALUE), createLiteralFromBindingValue(vBinding));
}
domainKB.setPropertyValue(vBindingObj, DISKOnt.getProperty(DISK.HAS_TYPE), domainKB.createLiteral(vBinding.getType()));
if (vBinding.getBinding() != null)
domainKB.setPropertyValue(vBindingObj, DISKOnt.getProperty(DISK.HAS_BINDING_VALUE), createLiteralFromBindingValue(vBinding));
return vBindingObj;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1014,7 +1014,7 @@ public void processWorkflowOutputs (TriggeredLOI tloi, LineOfInquiry loi, Workfl
for (VariableBinding b: wb.getParameters()) { //FIXME: missing binding data here
String varName = b.getVariable();
if (outputAssignations.containsKey(varName)) {
outputAssignations.put(varName, b.getBinding());
outputAssignations.put(varName, b.getSingleBinding());
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -587,7 +587,7 @@ private String getWorkflowRunWithSameBindings(String templateId, List<VariableBi
break;
}
String[] tempValues = value.split(",");
String[] vBindingValues = vBinding.getBinding().split(",");
String[] vBindingValues = vBinding.getSingleBinding().split(",");
for (int i = 0; i < vBindingValues.length; i++) {
boolean singleMatch = false;
for (int j = 0; j < tempValues.length; j++) {
Expand Down Expand Up @@ -1263,7 +1263,7 @@ private String toPlanAcceptableFormat(String wfName, List<VariableBinding> vbl,
VariableBinding vb = vbl.get(i);
if (vb.getVariable().equals(v.getName())) {
String curBinding = "\"" + wfName + v.getName() + "\":[";
String bindingValue = vb.getBinding();
String bindingValue = vb.getSingleBinding();

if (v.getDimensionality() == 0) { // && !bindingValue.startsWith("[")) { FIXME!
curBinding += "\"" + (v.isParam() ? "" : dataID) + bindingValue + "\"";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import java.util.ArrayList;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnore;

public class VariableBinding implements Serializable, Comparable<VariableBinding> {
private static final long serialVersionUID = -847994634505985728L;

Expand Down Expand Up @@ -65,21 +67,33 @@ public void setIsArray (boolean b) {
this.isArray = b;
}

public String getBinding () {
public List<String> getBinding () {
return this.binding;
}

public void setBinding (List<String> bindings) {
this.binding = bindings;
}

@JsonIgnore
public String getSingleBinding () {
return isArray || binding.size() == 0 ? null : binding.get(0);
}

public void setBinding (String binding) {
@JsonIgnore
public void setSingleBinding (String binding) {
if (!isArray) {
this.binding = new ArrayList<String>();
this.binding.add(binding);
}
}

@JsonIgnore
public List<String> getBindings () {
return isArray ? this.binding : null;
}

@JsonIgnore
public void setBindings (List<String> bindings) {
if (isArray) {
this.binding = bindings;
Expand Down Expand Up @@ -116,7 +130,8 @@ public void setType (String t) {
}

public String toString () {
return variable+" = "+binding;
return "[" + variable + "|" + type + "|" + datatype + "]" + " = "
+ (isArray && binding!=null ? String.join(",", binding) : (binding != null && binding.size() == 1 ? binding.get(0) : "null"));
}

public int compareTo (VariableBinding o) {
Expand Down

0 comments on commit c5fc81e

Please sign in to comment.