diff --git a/pom.xml b/pom.xml index 68004e3..f4afe1c 100644 --- a/pom.xml +++ b/pom.xml @@ -41,9 +41,17 @@ pom import + + org.gcube.distribution + gcube-bom + LATEST + pom + import + + ${project.basedir}/distro ${project.build.directory}/${project.build.finalName} @@ -75,7 +83,7 @@ org.glassfish javax.json 1.1.2 - provided + @@ -84,6 +92,11 @@ 2.7.3 + + com.fasterxml.jackson.core + jackson-annotations + + org.projectlombok lombok diff --git a/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerInputParams.java b/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerInputParams.java index 7e898ab..f792a19 100644 --- a/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerInputParams.java +++ b/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerInputParams.java @@ -17,6 +17,8 @@ import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; +import com.fasterxml.jackson.annotation.JsonProperty; + /** * The Class DataMinerInputParams. @@ -26,6 +28,7 @@ import lombok.ToString; */ @XmlRootElement(name = "dataminer-inputparams") @XmlAccessorType (XmlAccessType.FIELD) +//@JsonIgnoreProperties(ignoreUnknown=true) @NoArgsConstructor @AllArgsConstructor @Getter @@ -39,6 +42,7 @@ public class DataMinerInputParams implements Serializable{ private static final long serialVersionUID = -7241629940190729604L; @XmlElement(name = "param", required=true, nillable=false) + @JsonProperty(value="param", required=true) private List listParam; diff --git a/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerInvocation.java b/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerInvocation.java index aa9847a..561b142 100644 --- a/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerInvocation.java +++ b/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerInvocation.java @@ -18,6 +18,10 @@ import lombok.ToString; import org.gcube.data.analysis.dminvocation.ActionType; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonRootName; + /** * The Class DataMinerInvocation. * @@ -25,7 +29,9 @@ import org.gcube.data.analysis.dminvocation.ActionType; * Dec 4, 2018 */ @XmlRootElement(name = "dataminer-invocation") +@JsonRootName(value = "dataminer-invocation") @XmlAccessorType (XmlAccessType.FIELD) +@JsonIgnoreProperties(ignoreUnknown=true) @NoArgsConstructor @AllArgsConstructor @Getter @@ -40,12 +46,15 @@ public class DataMinerInvocation implements Serializable{ @XmlElement(name = "operator-id", required=true, nillable=false) + @JsonProperty(value="operator-id", required=true) private String operatorId; @XmlElement(name = "action", required=true, nillable=false) + @JsonProperty(value="action", required=true) private ActionType actionType = ActionType.RUN; @XmlElement(name = "parameters", required=false, nillable=true) + @JsonProperty(required=false) private DataMinerParameters parameters; } diff --git a/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerOutputParams.java b/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerOutputParams.java index 0b42890..e4b2d73 100644 --- a/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerOutputParams.java +++ b/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerOutputParams.java @@ -17,6 +17,8 @@ import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; +import com.fasterxml.jackson.annotation.JsonProperty; + /** * The Class DataMinerOutputParams. @@ -26,6 +28,7 @@ import lombok.ToString; */ @XmlRootElement(name = "dataminer-outputparams") @XmlAccessorType (XmlAccessType.FIELD) +//@JsonIgnoreProperties(ignoreUnknown=true) @NoArgsConstructor @AllArgsConstructor @Getter @@ -39,6 +42,7 @@ public class DataMinerOutputParams implements Serializable{ private static final long serialVersionUID = -683773454747370184L; @XmlElement(name = "param") + @JsonProperty(value="param", required=true) private List params; } diff --git a/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerParameters.java b/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerParameters.java index 6175839..829ba38 100644 --- a/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerParameters.java +++ b/src/main/java/org/gcube/data/analysis/dminvocation/model/DataMinerParameters.java @@ -16,6 +16,9 @@ import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; + /** @@ -26,6 +29,7 @@ import lombok.ToString; */ @XmlRootElement(name = "dataminer-parameters") @XmlAccessorType (XmlAccessType.FIELD) +@JsonIgnoreProperties(ignoreUnknown=true) @NoArgsConstructor @AllArgsConstructor @Getter @@ -38,8 +42,10 @@ public class DataMinerParameters implements Serializable{ */ private static final long serialVersionUID = 8298755690515099551L; @XmlElement(name = "input", required=true, nillable=false) + @JsonProperty(required=true) private DataMinerInputParams input; @XmlElement(name = "output", required=false, nillable=true) + @JsonProperty(required=false) private DataMinerOutputParams output; } diff --git a/src/test/java/DataMinerInvocationTest.java b/src/test/java/DataMinerInvocationTest.java index 5988cf8..e180335 100644 --- a/src/test/java/DataMinerInvocationTest.java +++ b/src/test/java/DataMinerInvocationTest.java @@ -67,7 +67,7 @@ public class DataMinerInvocationTest { System.out.println(new String(outStreamXML.toByteArray())); } - @Test + //@Test public void unmarshallingXMLTest() throws JAXBException, IOException, SAXException{ System.out.println(DataMinerInvocationTest.class.getMethods()[1].getName()+" called"); FileInputStream dmInvocationXMLFile = new FileInputStream(new File("./src/test/resources/DataMinerInvocation.xml")); @@ -90,8 +90,8 @@ public class DataMinerInvocationTest { DataMinerInvocation dmInvocation = dmMng.unmarshaling(dmInvocationJSONFile, MediaType.ApplicationJSON, true); System.out.println(dmInvocation); - ByteArrayOutputStream outStreamXML = dmMng.marshaling(dmInvocation, MediaType.ApplicationXML, true); - System.out.println(new String(outStreamXML.toByteArray())); +// ByteArrayOutputStream outStreamXML = dmMng.marshaling(dmInvocation, MediaType.ApplicationXML, true); +// System.out.println(new String(outStreamXML.toByteArray())); } diff --git a/src/test/resources/DataMinerInvocation.json b/src/test/resources/DataMinerInvocation.json index 28fa007..c8670b8 100644 --- a/src/test/resources/DataMinerInvocation.json +++ b/src/test/resources/DataMinerInvocation.json @@ -15,4 +15,4 @@ } } } -} \ No newline at end of file +}