Fixed java.time.Instant serialization
This commit is contained in:
parent
857ab34e64
commit
462a370f53
|
@ -65,25 +65,17 @@
|
|||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.glassfish.jersey.media</groupId>
|
||||
<artifactId>jersey-media-json-jackson</artifactId>
|
||||
<version>2.14</version>
|
||||
<groupId>org.glassfish.jersey.media</groupId>
|
||||
<artifactId>jersey-media-json-jackson</artifactId>
|
||||
<version>2.14</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- FORCE JACKSON 2.8
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-core</artifactId>
|
||||
<version>2.8.4</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
<version>2.8.4</version>
|
||||
<scope>compile</scope>
|
||||
</dependency> -->
|
||||
<!-- FORCE JACKSON 2.8 <dependency> <groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-core</artifactId> <version>2.8.4</version> <scope>compile</scope>
|
||||
</dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId> <version>2.8.4</version> <scope>compile</scope>
|
||||
</dependency> -->
|
||||
|
||||
|
||||
<!-- Persistence -->
|
||||
|
|
|
@ -4,6 +4,12 @@ import java.time.Instant;
|
|||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.gcube.data.publishing.gCatFeeder.service.model.serialization.DefaultInstantDeserializer;
|
||||
import org.gcube.data.publishing.gCatFeeder.service.model.serialization.DefaultInstantSerializer;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
|
||||
|
||||
public class ExecutionDescriptor {
|
||||
|
||||
|
@ -19,7 +25,12 @@ public class ExecutionDescriptor {
|
|||
private ExecutionStatus status;
|
||||
private String reportUrl;
|
||||
|
||||
@JsonSerialize(using = DefaultInstantSerializer.class)
|
||||
@JsonDeserialize(using = DefaultInstantDeserializer.class)
|
||||
private Instant startTime;
|
||||
|
||||
@JsonSerialize(using = DefaultInstantSerializer.class)
|
||||
@JsonDeserialize(using = DefaultInstantDeserializer.class)
|
||||
private Instant endTime;
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
package org.gcube.data.publishing.gCatFeeder.service.model.serialization;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.databind.JsonDeserializer;
|
||||
|
||||
public class DefaultInstantDeserializer extends JsonDeserializer<Instant>{
|
||||
|
||||
|
||||
@Override
|
||||
public Instant deserialize(JsonParser arg0, DeserializationContext arg1)
|
||||
throws IOException, JsonProcessingException {
|
||||
return Instant.parse(arg0.getText());
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package org.gcube.data.publishing.gCatFeeder.service.model.serialization;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonGenerator;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.JsonSerializer;
|
||||
import com.fasterxml.jackson.databind.SerializerProvider;
|
||||
|
||||
public class DefaultInstantSerializer extends JsonSerializer<Instant>{
|
||||
|
||||
@Override
|
||||
public void serialize(Instant arg0, JsonGenerator arg1, SerializerProvider arg2)
|
||||
throws IOException, JsonProcessingException {
|
||||
|
||||
arg1.writeString(arg0.toString());
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue