From 0dcebedb03dfda98389001cf4bca633f3c95c6c6 Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Wed, 6 Sep 2017 15:52:50 +0000 Subject: [PATCH] Added jackson support for json marshalling/unmarshalling refs #5109 git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/vre-management/smart-executor-api@152809 82a268e6-3cf1-43bd-a215-b396298e98cf --- distro/changelog.xml | 2 +- .../vremanagement/executor/api/types/Scheduling.java | 8 ++++++++ .../java/org/gcube/vremanagement/executor/plugin/Ref.java | 4 ++++ .../org/gcube/vremanagement/executor/plugin/RunOn.java | 3 +++ 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/distro/changelog.xml b/distro/changelog.xml index b33f21d..4437a1b 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -2,7 +2,7 @@ - + Added jackson support for json marshalling/unmarshalling Provided access to UUID and iteration number fro a plugin (refs #6733) diff --git a/src/main/java/org/gcube/vremanagement/executor/api/types/Scheduling.java b/src/main/java/org/gcube/vremanagement/executor/api/types/Scheduling.java index 0864d3c..0cbff4c 100644 --- a/src/main/java/org/gcube/vremanagement/executor/api/types/Scheduling.java +++ b/src/main/java/org/gcube/vremanagement/executor/api/types/Scheduling.java @@ -13,6 +13,7 @@ import javax.xml.bind.annotation.XmlRootElement; import org.gcube.vremanagement.executor.utils.ObjectCompare; import org.quartz.CronExpression; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeInfo; /** @@ -30,6 +31,7 @@ public class Scheduling implements Comparable { * This field is not valid when using delay */ @XmlElement + @JsonProperty protected String cronExpression; /** @@ -37,6 +39,7 @@ public class Scheduling implements Comparable { * This field is not valid when using cronExpression */ @XmlElement + @JsonProperty protected Integer delay; /** @@ -44,12 +47,14 @@ public class Scheduling implements Comparable { * 0 means indefinitely. */ @XmlElement + @JsonProperty protected int schedulingTimes; /** * The first instant when the scheduling can start */ @XmlElement + @JsonProperty protected Long firstStartTime; // O or null means immediately /** @@ -57,6 +62,7 @@ public class Scheduling implements Comparable { * has remaining repeats. */ @XmlElement + @JsonProperty protected Long endTime; // O or null means never /** @@ -67,6 +73,7 @@ public class Scheduling implements Comparable { * happened. */ @XmlElement + @JsonProperty protected boolean previuosExecutionsMustBeCompleted; /** @@ -74,6 +81,7 @@ public class Scheduling implements Comparable { * SmartExecutor instance if the initial one die. */ @XmlElement + @JsonProperty protected boolean global; diff --git a/src/main/java/org/gcube/vremanagement/executor/plugin/Ref.java b/src/main/java/org/gcube/vremanagement/executor/plugin/Ref.java index 9eea08e..f4b700d 100644 --- a/src/main/java/org/gcube/vremanagement/executor/plugin/Ref.java +++ b/src/main/java/org/gcube/vremanagement/executor/plugin/Ref.java @@ -5,6 +5,7 @@ package org.gcube.vremanagement.executor.plugin; import org.gcube.vremanagement.executor.api.types.Scheduling; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; @@ -12,7 +13,10 @@ import com.fasterxml.jackson.annotation.JsonTypeName; @JsonTypeName(value="Ref") public class Ref { + @JsonProperty protected String id; + + @JsonProperty protected String address; protected Ref() {} diff --git a/src/main/java/org/gcube/vremanagement/executor/plugin/RunOn.java b/src/main/java/org/gcube/vremanagement/executor/plugin/RunOn.java index 6f36993..7a3357b 100644 --- a/src/main/java/org/gcube/vremanagement/executor/plugin/RunOn.java +++ b/src/main/java/org/gcube/vremanagement/executor/plugin/RunOn.java @@ -5,6 +5,7 @@ package org.gcube.vremanagement.executor.plugin; import org.gcube.vremanagement.executor.api.types.Scheduling; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; @@ -48,6 +49,7 @@ public class RunOn { /** * @return the eServiceID */ + @JsonIgnore public Ref getEService() { return eService; } @@ -55,6 +57,7 @@ public class RunOn { /** * @param eServiceID the eServiceID to set */ + @JsonIgnore public void setEService(Ref eService) { this.eService = eService; }