diff --git a/s-pipes-core/src/main/java/cz/cvut/spipes/logging/AdvancedLoggingProgressListener.java b/s-pipes-core/src/main/java/cz/cvut/spipes/logging/AdvancedLoggingProgressListener.java index d539a4d7..2c945d2b 100644 --- a/s-pipes-core/src/main/java/cz/cvut/spipes/logging/AdvancedLoggingProgressListener.java +++ b/s-pipes-core/src/main/java/cz/cvut/spipes/logging/AdvancedLoggingProgressListener.java @@ -12,6 +12,7 @@ import cz.cvut.spipes.model.Thing; import cz.cvut.spipes.model.Transformation; import cz.cvut.spipes.modules.Module; +import cz.cvut.spipes.util.DateUtils; import cz.cvut.spipes.util.Rdf4jUtils; import cz.cvut.spipes.util.TempFileUtils; import org.apache.jena.rdf.model.Model; @@ -182,7 +183,7 @@ private void persistPipelineExecutionFinished(final EntityManager em, final long em.find(Transformation.class, pipelineExecutionIri, pd); // new - Date startDate = (Date) getSingletonPropertyValue(pipelineExecution, SPIPES.has_pipeline_execution_start_date); + Date startDate = DateUtils.toDate(getSingletonPropertyValue(pipelineExecution, SPIPES.has_pipeline_execution_start_date)); addProperty(pipelineExecution, SPIPES.has_pipeline_execution_finish_date, finishDate); addProperty(pipelineExecution, SPIPES.has_pipeline_execution_finish_date_unix, finishDate.getTime()); addProperty(pipelineExecution, SPIPES.has_pipeline_execution_duration, computeDuration(startDate, finishDate)); diff --git a/s-pipes-core/src/main/java/cz/cvut/spipes/util/DateUtils.java b/s-pipes-core/src/main/java/cz/cvut/spipes/util/DateUtils.java new file mode 100644 index 00000000..58620848 --- /dev/null +++ b/s-pipes-core/src/main/java/cz/cvut/spipes/util/DateUtils.java @@ -0,0 +1,22 @@ +package cz.cvut.spipes.util; + +import java.time.OffsetDateTime; +import java.util.Date; +import java.util.Objects; + +public class DateUtils { + + public static Date toDate(Object objectDate){ + Objects.requireNonNull(objectDate); + + if(objectDate instanceof OffsetDateTime) + return toDate((OffsetDateTime)objectDate); + return (Date)objectDate; + + } + + public static Date toDate(OffsetDateTime objectDate) { + Objects.requireNonNull(objectDate); + return Date.from(objectDate.toInstant()); + } +}