tests
This commit is contained in:
parent
27aaab75b7
commit
4079bee3f4
|
@ -1,6 +1,7 @@
|
||||||
package eu.dnetlib.manager.wf.model;
|
package eu.dnetlib.manager.wf.model;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -15,8 +16,8 @@ public class WorkflowTemplate implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 5919290887480115842L;
|
private static final long serialVersionUID = 5919290887480115842L;
|
||||||
|
|
||||||
public List<WfParam> parameters;
|
private List<WfParam> parameters = new ArrayList<>();
|
||||||
public List<Node> graph;
|
private List<Node> graph = new ArrayList<>();
|
||||||
|
|
||||||
public List<Node> getGraph() {
|
public List<Node> getGraph() {
|
||||||
return graph;
|
return graph;
|
||||||
|
@ -34,15 +35,43 @@ public class WorkflowTemplate implements Serializable {
|
||||||
this.parameters = parameters;
|
this.parameters = parameters;
|
||||||
}
|
}
|
||||||
|
|
||||||
class WfParam implements Serializable {
|
public static enum WfParamType {
|
||||||
|
STRING,
|
||||||
|
NUMBER,
|
||||||
|
DATE,
|
||||||
|
BOOLEAN
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class WfParam implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 5885589803738655166L;
|
private static final long serialVersionUID = 5885589803738655166L;
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
private String description;
|
private String description;
|
||||||
private String type;
|
private WfParamType type = WfParamType.STRING;
|
||||||
private String defaultValue;
|
private String defaultValue;
|
||||||
private boolean required;
|
private boolean required = true;
|
||||||
|
|
||||||
|
public WfParam() {}
|
||||||
|
|
||||||
|
public WfParam(final String name) {
|
||||||
|
this.name = name;
|
||||||
|
this.description = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public WfParam(final String name, final WfParamType type) {
|
||||||
|
this.name = name;
|
||||||
|
this.description = name;
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public WfParam(final String name, final String description, final WfParamType type, final String defaultValue, final boolean required) {
|
||||||
|
this.name = name;
|
||||||
|
this.description = description;
|
||||||
|
this.type = type;
|
||||||
|
this.defaultValue = defaultValue;
|
||||||
|
this.required = required;
|
||||||
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
|
@ -60,11 +89,11 @@ public class WorkflowTemplate implements Serializable {
|
||||||
this.description = description;
|
this.description = description;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getType() {
|
public WfParamType getType() {
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setType(final String type) {
|
public void setType(final WfParamType type) {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,7 +115,7 @@ public class WorkflowTemplate implements Serializable {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Node implements Serializable {
|
public static class Node implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = -3695762832959801906L;
|
private static final long serialVersionUID = -3695762832959801906L;
|
||||||
|
|
||||||
|
@ -96,8 +125,24 @@ public class WorkflowTemplate implements Serializable {
|
||||||
private String type;
|
private String type;
|
||||||
private boolean isStart = false;
|
private boolean isStart = false;
|
||||||
private boolean isJoin = false;
|
private boolean isJoin = false;
|
||||||
private List<Arc> arcs;
|
private List<Arc> arcs = new ArrayList<>();
|
||||||
private List<NodeParam> input;
|
private List<NodeParam> input = new ArrayList<>();
|
||||||
|
|
||||||
|
public Node() {}
|
||||||
|
|
||||||
|
public Node(final String name, final boolean isStart) {
|
||||||
|
this.name = name;
|
||||||
|
this.isStart = isStart;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Node(final String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Node(final String name, final String type) {
|
||||||
|
this.name = name;
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
|
@ -185,18 +230,27 @@ public class WorkflowTemplate implements Serializable {
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
public static class Arc implements Serializable {
|
||||||
|
|
||||||
public class Arc implements Serializable {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 7866138976929522262L;
|
private static final long serialVersionUID = 7866138976929522262L;
|
||||||
|
|
||||||
private String to;
|
private String to;
|
||||||
private String condition;
|
private String condition;
|
||||||
|
|
||||||
|
public Arc() {}
|
||||||
|
|
||||||
|
public Arc(final String to) {
|
||||||
|
this.to = to;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Arc(final String to, final String condition) {
|
||||||
|
this.to = to;
|
||||||
|
this.condition = condition;
|
||||||
|
}
|
||||||
|
|
||||||
public String getTo() {
|
public String getTo() {
|
||||||
return to;
|
return to;
|
||||||
}
|
}
|
||||||
|
@ -214,7 +268,7 @@ public class WorkflowTemplate implements Serializable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class NodeParam implements Serializable {
|
public static class NodeParam implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 7815785723401725707L;
|
private static final long serialVersionUID = 7815785723401725707L;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,74 @@
|
||||||
|
package eu.dnetlib.manager.wf.model;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
|
||||||
|
import eu.dnetlib.manager.wf.model.WorkflowTemplate.Arc;
|
||||||
|
import eu.dnetlib.manager.wf.model.WorkflowTemplate.Node;
|
||||||
|
import eu.dnetlib.manager.wf.model.WorkflowTemplate.WfParam;
|
||||||
|
import eu.dnetlib.manager.wf.model.WorkflowTemplate.WfParamType;
|
||||||
|
|
||||||
|
class WorkflowTemplateTest {
|
||||||
|
|
||||||
|
private final ObjectMapper mapper = new ObjectMapper();
|
||||||
|
|
||||||
|
private WorkflowTemplate tmpl;
|
||||||
|
|
||||||
|
private WfParam p1;
|
||||||
|
private WfParam p2;
|
||||||
|
private WfParam p3;
|
||||||
|
|
||||||
|
private Node n1;
|
||||||
|
private Node n2;
|
||||||
|
private Node n3;
|
||||||
|
|
||||||
|
private Arc a12;
|
||||||
|
private Arc a13;
|
||||||
|
private Arc a23;
|
||||||
|
private Arc a3succ;
|
||||||
|
|
||||||
|
private @BeforeEach void setUp() throws Exception {
|
||||||
|
|
||||||
|
a12 = new Arc("N2");
|
||||||
|
a13 = new Arc("N3");
|
||||||
|
a23 = new Arc("N3");
|
||||||
|
a3succ = new Arc("success");
|
||||||
|
|
||||||
|
p1 = new WfParam("Name");
|
||||||
|
p2 = new WfParam("Age", WfParamType.NUMBER);
|
||||||
|
p3 = new WfParam("Birthday", "Your Birthday", WfParamType.DATE, "1900-01-01", false);
|
||||||
|
|
||||||
|
n1 = new Node("N1", true);
|
||||||
|
n1.setArcs(Arrays.asList(a12, a13));
|
||||||
|
|
||||||
|
n2 = new Node("N2", "T2");
|
||||||
|
n2.setArcs(Arrays.asList(a23));
|
||||||
|
|
||||||
|
n3 = new Node("N3");
|
||||||
|
n2.setArcs(Arrays.asList(a3succ));
|
||||||
|
|
||||||
|
tmpl = new WorkflowTemplate();
|
||||||
|
tmpl.setParameters(Arrays.asList(p1, p2, p3));
|
||||||
|
tmpl.setGraph(Arrays.asList(n1, n2, n3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
final void test() throws JsonProcessingException {
|
||||||
|
final String json = mapper.writeValueAsString(tmpl);
|
||||||
|
|
||||||
|
System.out.println(json);
|
||||||
|
|
||||||
|
final WorkflowTemplate tmpl2 = mapper.readValue(json, WorkflowTemplate.class);
|
||||||
|
|
||||||
|
assertEquals(tmpl.getGraph().size(), tmpl2.getGraph().size());
|
||||||
|
assertEquals(tmpl.getParameters().size(), tmpl2.getParameters().size());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue