diff --git a/lib/taskana-cdi/src/test/java/pro/taskana/TaskanaProducersTest.java b/lib/taskana-cdi/src/test/java/pro/taskana/TaskanaProducersTest.java
index 8d9573d13..887f90d87 100644
--- a/lib/taskana-cdi/src/test/java/pro/taskana/TaskanaProducersTest.java
+++ b/lib/taskana-cdi/src/test/java/pro/taskana/TaskanaProducersTest.java
@@ -64,8 +64,7 @@ public class TaskanaProducersTest {
resultCount++;
}
}
-
- Assert.assertEquals(1, resultCount);
+ Assert.assertEquals(0, resultCount);
}
@Test
diff --git a/lib/taskana-core/pom.xml b/lib/taskana-core/pom.xml
index 21dca424c..a371b72f0 100644
--- a/lib/taskana-core/pom.xml
+++ b/lib/taskana-core/pom.xml
@@ -121,7 +121,7 @@
org.mybatis
mybatis
- 3.4.4
+ 3.4.5
org.slf4j
diff --git a/lib/taskana-core/src/main/java/pro/taskana/Attachment.java b/lib/taskana-core/src/main/java/pro/taskana/Attachment.java
index 3c5aa9b53..f60d3d096 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/Attachment.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/Attachment.java
@@ -1,6 +1,6 @@
package pro.taskana;
-import java.sql.Timestamp;
+import java.time.Instant;
import java.util.Map;
import pro.taskana.model.ObjectReference;
@@ -27,16 +27,16 @@ public interface Attachment {
/**
* Returns the time when the attachment was created.
*
- * @return the created time as {@link Timestamp}
+ * @return the created time as {@link Instant}
*/
- Timestamp getCreated();
+ Instant getCreated();
/**
* Returns the time when the attachment was last modified.
*
- * @return modified {@link Timestamp} of the attachment
+ * @return modified {@link Instant} of the attachment
*/
- Timestamp getModified();
+ Instant getModified();
/**
* Returns the classification summary of the attachment.
@@ -86,17 +86,17 @@ public interface Attachment {
/**
* Returns the time when this attachment was received.
*
- * @return received time as exact {@link Timestamp}
+ * @return received time as exact {@link Instant}
*/
- Timestamp getReceived();
+ Instant getReceived();
/**
* Sets the time when the attachment was received.
*
* @param received
- * the time as {@link Timestamp} when the attachment was received
+ * the time as {@link Instant} when the attachment was received
**/
- void setReceived(Timestamp received);
+ void setReceived(Instant received);
/**
* Returns the custom attributes of this attachment.
diff --git a/lib/taskana-core/src/main/java/pro/taskana/AttachmentSummary.java b/lib/taskana-core/src/main/java/pro/taskana/AttachmentSummary.java
index f72f110ff..0de9393bf 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/AttachmentSummary.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/AttachmentSummary.java
@@ -1,6 +1,6 @@
package pro.taskana;
-import java.sql.Timestamp;
+import java.time.Instant;
/**
* Interface for AttachmentSummaries. This is a specific short model-object which only contains the most important
@@ -25,16 +25,16 @@ public interface AttachmentSummary {
/**
* Gets the time when the attachment was created.
*
- * @return the created timestamp
+ * @return the created Instant
*/
- Timestamp getCreated();
+ Instant getCreated();
/**
* Gets the time when the attachment was last modified.
*
- * @return the last modified timestamp
+ * @return the last modified Instant
*/
- Timestamp getModified();
+ Instant getModified();
/**
* Gets the classificationSummary of the attachment.
@@ -46,8 +46,7 @@ public interface AttachmentSummary {
/**
* Gets the time when the attachment was received.
*
- * @return received timestamp
+ * @return received Instant
*/
- Timestamp getReceived();
-
+ Instant getReceived();
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/Classification.java b/lib/taskana-core/src/main/java/pro/taskana/Classification.java
index a138484d0..5bf9fef3f 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/Classification.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/Classification.java
@@ -1,6 +1,6 @@
package pro.taskana;
-import java.sql.Date;
+import java.time.Instant;
/**
* Interface used to specify the Classification-Model.
@@ -79,9 +79,9 @@ public interface Classification {
/**
* Get the Date when this classification was as created.
*
- * @return created as date
+ * @return created as instant
*/
- Date getCreated();
+ Instant getCreated();
/**
* Get the classification name.
@@ -279,25 +279,10 @@ public interface Classification {
*/
void setCustom8(String custom8);
- /**
- * Get the sql-date since/when the classification is valid from.
- *
- * @return validFrom
- */
- Date getValidFrom();
-
- /**
- * Get the sql-date until the classification is valid.
- *
- * @return validUntil
- */
- Date getValidUntil();
-
/**
* Return a summary of the current Classification.
*
* @return the ClassificationSummary object for the current classification
*/
ClassificationSummary asSummary();
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/ClassificationQuery.java b/lib/taskana-core/src/main/java/pro/taskana/ClassificationQuery.java
index f86a0f6bc..7138c2241 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/ClassificationQuery.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/ClassificationQuery.java
@@ -1,6 +1,6 @@
package pro.taskana;
-import java.util.Date;
+import java.time.Instant;
/**
* ClassificationQuery for generating dynamic sql.
@@ -65,10 +65,10 @@ public interface ClassificationQuery extends BaseQuery {
* Add your created-Dates to your query.
*
* @param created
- * date of classification creation.
+ * date (as instant) of classification creation.
* @return the query
*/
- ClassificationQuery created(Date... created);
+ ClassificationQuery created(Instant... created);
/**
* Add your name to your query.
@@ -124,22 +124,4 @@ public interface ClassificationQuery extends BaseQuery {
* @return the query
*/
ClassificationQuery customFields(String... customFields);
-
- /**
- * Define after which date the classifications should be valid.
- *
- * @param validFrom
- * date when the classification was valid from
- * @return the query
- */
- ClassificationQuery validFrom(Date... validFrom);
-
- /**
- * Define until which date the classifications should be valid.
- *
- * @param validUntil
- * date until the classification will be or was valid
- * @return the query
- */
- ClassificationQuery validUntil(Date... validUntil);
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/ClassificationSummary.java b/lib/taskana-core/src/main/java/pro/taskana/ClassificationSummary.java
index 2b6b299ba..7f84046a5 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/ClassificationSummary.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/ClassificationSummary.java
@@ -1,7 +1,5 @@
package pro.taskana;
-import java.sql.Timestamp;
-
/**
* Interface for ClassificationSummaries. This is a specific short model-object which only requieres the most important
* informations. Specific ones can be load afterwards via ID.
@@ -49,11 +47,4 @@ public interface ClassificationSummary {
* @return classificationName
*/
String getName();
-
- /**
- * Gets the timestamp until the classification is/was valid.
- *
- * @return validUntil as timestamp
- */
- Timestamp getValidUntil();
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/Task.java b/lib/taskana-core/src/main/java/pro/taskana/Task.java
index 8bad5fe96..e1f558386 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/Task.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/Task.java
@@ -1,6 +1,6 @@
package pro.taskana;
-import java.sql.Timestamp;
+import java.time.Instant;
import java.util.List;
import java.util.Map;
@@ -22,52 +22,52 @@ public interface Task {
/**
* Returns the time when the task was {@link TaskState#READY}.
*
- * @return created as exact {@link Timestamp}
+ * @return created as exact {@link Instant}
*/
- Timestamp getCreated();
+ Instant getCreated();
/**
* Returns the time when the task was set to {@link TaskState#CLAIMED} by/to a user.
*
- * @return claimed as exact {@link Timestamp}
+ * @return claimed as exact {@link Instant}
*/
- Timestamp getClaimed();
+ Instant getClaimed();
/**
* Returns the time when the task was set into {@link TaskState#COMPLETED}.
*
- * @return completed as exact {@link Timestamp}
+ * @return completed as exact {@link Instant}
*/
- Timestamp getCompleted();
+ Instant getCompleted();
/**
* Returns the time when the task was modified the last time.
*
- * @return modified as exact {@link Timestamp}
+ * @return modified as exact {@link Instant}
*/
- Timestamp getModified();
+ Instant getModified();
/**
* Returns the time when the work on this task was planned to be started.
*
- * @return planned as exact {@link Timestamp}
+ * @return planned as exact {@link Instant}
*/
- Timestamp getPlanned();
+ Instant getPlanned();
/**
* Sets the time when the work on this task should be started.
*
* @param planned
- * as exact {@link Timestamp}
+ * as exact {@link Instant}
*/
- void setPlanned(Timestamp planned);
+ void setPlanned(Instant planned);
/**
* Returns the time when this task should be finished.
*
- * @return due as exact {@link Timestamp}
+ * @return due as exact {@link Instant}
*/
- Timestamp getDue();
+ Instant getDue();
/**
* Return the name of the current task.
diff --git a/lib/taskana-core/src/main/java/pro/taskana/TaskMonitorService.java b/lib/taskana-core/src/main/java/pro/taskana/TaskMonitorService.java
index 5332713f2..466108ee6 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/TaskMonitorService.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/TaskMonitorService.java
@@ -60,5 +60,4 @@ public interface TaskMonitorService {
* @return a {@link Report} object
*/
Report getWorkbasketLevelReport(List workbaskets, List states);
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/TaskQuery.java b/lib/taskana-core/src/main/java/pro/taskana/TaskQuery.java
index 51cbe32fb..7b64d30eb 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/TaskQuery.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/TaskQuery.java
@@ -221,5 +221,4 @@ public interface TaskQuery extends BaseQuery {
* @return a {@link ObjectReferenceQuery}
*/
ObjectReferenceQuery createObjectReferenceQuery();
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/TaskSummary.java b/lib/taskana-core/src/main/java/pro/taskana/TaskSummary.java
index 76b6e8cd7..6cb824635 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/TaskSummary.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/TaskSummary.java
@@ -1,6 +1,6 @@
package pro.taskana;
-import java.sql.Timestamp;
+import java.time.Instant;
import pro.taskana.model.ObjectReference;
import pro.taskana.model.TaskState;
@@ -20,44 +20,44 @@ public interface TaskSummary {
/**
* Gets the time when the task was created.
*
- * @return the created timestamp
+ * @return the created Instant
*/
- Timestamp getCreated();
+ Instant getCreated();
/**
* Gets the time when the task was claimed.
*
- * @return the claimed timestamp
+ * @return the claimed Instant
*/
- Timestamp getClaimed();
+ Instant getClaimed();
/**
* Gets the time when the task was completed.
*
- * @return the completed timestamp
+ * @return the completed Instant
*/
- Timestamp getCompleted();
+ Instant getCompleted();
/**
* Gets the time when the task was last modified.
*
- * @return the last modified timestamp
+ * @return the last modified Instant
*/
- Timestamp getModified();
+ Instant getModified();
/**
* Gets the time when the task is planned to be executed.
*
- * @return the planned timestamp
+ * @return the planned Instant
*/
- Timestamp getPlanned();
+ Instant getPlanned();
/**
* Gets the time when the task is due.
*
- * @return the due timestamp
+ * @return the due Instant
*/
- Timestamp getDue();
+ Instant getDue();
/**
* Gets the name of the task.
@@ -219,5 +219,4 @@ public interface TaskSummary {
* @return the task's custom10 property
*/
String getCustom10();
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/TaskanaEngine.java b/lib/taskana-core/src/main/java/pro/taskana/TaskanaEngine.java
index 607b1795b..0cc3c57bb 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/TaskanaEngine.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/TaskanaEngine.java
@@ -80,5 +80,4 @@ public interface TaskanaEngine {
AUTOCOMMIT,
EXPLICIT
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/Workbasket.java b/lib/taskana-core/src/main/java/pro/taskana/Workbasket.java
index 3914722f3..4aaf39e10 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/Workbasket.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/Workbasket.java
@@ -1,6 +1,6 @@
package pro.taskana;
-import java.sql.Timestamp;
+import java.time.Instant;
import java.util.List;
import pro.taskana.model.WorkbasketType;
@@ -18,11 +18,11 @@ public interface Workbasket {
String getId();
/**
- * Returns the timestamp when the workbasket was created.
+ * Returns the date when the workbasket was created.
*
- * @return created timestamp
+ * @return created as Instant
*/
- Timestamp getCreated();
+ Instant getCreated();
/**
* Returns the key of the workbasket.
@@ -70,19 +70,19 @@ public interface Workbasket {
void setType(WorkbasketType type);
/**
- * Returns the timestamp when the workbasket was modified the last time.
+ * Returns the date when the workbasket was modified the last time.
*
- * @return modified timestamp
+ * @return modified as Instant
*/
- Timestamp getModified();
+ Instant getModified();
/**
* Sets the time when the workbasket was modified the last time.
*
* @param modified
- * the timestamp when the workbasket was last modified
+ * as Instant
*/
- void setModified(Timestamp modified);
+ void setModified(Instant modified);
/**
* Returns the name of the workbasket.
diff --git a/lib/taskana-core/src/main/java/pro/taskana/WorkbasketQuery.java b/lib/taskana-core/src/main/java/pro/taskana/WorkbasketQuery.java
index 5088f66ba..f7fad13b3 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/WorkbasketQuery.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/WorkbasketQuery.java
@@ -1,6 +1,6 @@
package pro.taskana;
-import java.util.Date;
+import java.time.Instant;
import pro.taskana.exceptions.InvalidArgumentException;
import pro.taskana.model.WorkbasketAuthorization;
@@ -51,37 +51,37 @@ public interface WorkbasketQuery extends BaseQuery {
* Add your createdAfter-Date to your query.
*
* @param createdAfter
- * the date after which the searched Workbaskets are created
+ * as Instant
* @return the query
*/
- WorkbasketQuery createdAfter(Date createdAfter);
+ WorkbasketQuery createdAfter(Instant createdAfter);
/**
* Add your createdBefore-Date to your query.
*
* @param createdBefore
- * the date before which the searched Workbaskets are created
+ * as Instant
* @return the query
*/
- WorkbasketQuery createdBefore(Date createdBefore);
+ WorkbasketQuery createdBefore(Instant createdBefore);
/**
* Add your modifiedAfter-Date to your query.
*
* @param modifiedAfter
- * the date after which the searched Workbaskets are modified
+ * as Instant
* @return the query
*/
- WorkbasketQuery modifiedAfter(Date modifiedAfter);
+ WorkbasketQuery modifiedAfter(Instant modifiedAfter);
/**
* Add your modifiedBefore-Date to your query.
*
* @param modifiedBefore
- * the date before which the searched Workbaskets are modified
+ * as Instant
* @return the query
*/
- WorkbasketQuery modifiedBefore(Date modifiedBefore);
+ WorkbasketQuery modifiedBefore(Instant modifiedBefore);
/**
* Add your description to your query. It will be compared in SQL with an LIKE. If you use a wildcard like % tehn it
diff --git a/lib/taskana-core/src/main/java/pro/taskana/configuration/DbSchemaCreator.java b/lib/taskana-core/src/main/java/pro/taskana/configuration/DbSchemaCreator.java
index a4854e898..8f64a515c 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/configuration/DbSchemaCreator.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/configuration/DbSchemaCreator.java
@@ -18,13 +18,10 @@ import org.slf4j.LoggerFactory;
public class DbSchemaCreator {
private static final Logger LOGGER = LoggerFactory.getLogger(DbSchemaCreator.class);
-
private static final String SQL = "/sql";
private static final String DB_SCHEMA = SQL + "/taskana-schema.sql";
private static final String DB_SCHEMA_DETECTION = SQL + "/schema-detection.sql";
-
private DataSource dataSource;
-
private StringWriter outWriter = new StringWriter();
private PrintWriter logWriter = new PrintWriter(outWriter);
private StringWriter errorWriter = new StringWriter();
@@ -37,7 +34,9 @@ public class DbSchemaCreator {
/**
* Run all db scripts.
- * @throws SQLException TODO
+ *
+ * @throws SQLException
+ * TODO
*/
public void run() throws SQLException {
Connection connection = dataSource.getConnection();
diff --git a/lib/taskana-core/src/main/java/pro/taskana/configuration/TaskanaEngineConfiguration.java b/lib/taskana-core/src/main/java/pro/taskana/configuration/TaskanaEngineConfiguration.java
index b7e229b78..3c4e8ff66 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/configuration/TaskanaEngineConfiguration.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/configuration/TaskanaEngineConfiguration.java
@@ -22,7 +22,6 @@ public class TaskanaEngineConfiguration {
private static final String USER_PASSWORD = "sa";
private static final String JDBC_H2_MEM_TASKANA = "jdbc:h2:mem:taskana";
private static final String H2_DRIVER = "org.h2.Driver";
-
protected DataSource dataSource;
protected DbSchemaCreator dbScriptRunner;
@@ -107,5 +106,4 @@ public class TaskanaEngineConfiguration {
public static boolean shouldUseLowerCaseForAccessIds() {
return true;
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/exceptions/ConcurrencyException.java b/lib/taskana-core/src/main/java/pro/taskana/exceptions/ConcurrencyException.java
index 1fe5fe0e0..bdf14d731 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/exceptions/ConcurrencyException.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/exceptions/ConcurrencyException.java
@@ -12,5 +12,4 @@ public class ConcurrencyException extends TaskanaException {
}
private static final long serialVersionUID = 1L;
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/exceptions/InvalidWorkbasketException.java b/lib/taskana-core/src/main/java/pro/taskana/exceptions/InvalidWorkbasketException.java
index 112afadf0..a0555150c 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/exceptions/InvalidWorkbasketException.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/exceptions/InvalidWorkbasketException.java
@@ -13,5 +13,4 @@ public class InvalidWorkbasketException extends TaskanaException {
}
private static final long serialVersionUID = 1L;
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/exceptions/SystemException.java b/lib/taskana-core/src/main/java/pro/taskana/exceptions/SystemException.java
index c11540b1b..bb003cb0f 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/exceptions/SystemException.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/exceptions/SystemException.java
@@ -10,5 +10,4 @@ public class SystemException extends TaskanaRuntimeException {
}
private static final long serialVersionUID = 1L;
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/exceptions/TaskanaException.java b/lib/taskana-core/src/main/java/pro/taskana/exceptions/TaskanaException.java
index 34fcb4a96..53287a993 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/exceptions/TaskanaException.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/exceptions/TaskanaException.java
@@ -28,5 +28,4 @@ public class TaskanaException extends Exception {
public TaskanaException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace);
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/exceptions/TaskanaRuntimeException.java b/lib/taskana-core/src/main/java/pro/taskana/exceptions/TaskanaRuntimeException.java
index 07e765bdc..24b096eb8 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/exceptions/TaskanaRuntimeException.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/exceptions/TaskanaRuntimeException.java
@@ -29,5 +29,4 @@ public class TaskanaRuntimeException extends RuntimeException {
boolean writableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace);
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentImpl.java
index 329482bef..2ed950d32 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentImpl.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentImpl.java
@@ -1,6 +1,6 @@
package pro.taskana.impl;
-import java.sql.Timestamp;
+import java.time.Instant;
import java.util.Collections;
import java.util.Map;
@@ -18,13 +18,13 @@ public class AttachmentImpl implements Attachment {
private String id;
private String taskId;
- private Timestamp created;
- private Timestamp modified;
+ private Instant created;
+ private Instant modified;
private String classificationKey;
private ClassificationSummary classificationSummary;
private ObjectReference objectReference;
private String channel;
- private Timestamp received;
+ private Instant received;
private Map customAttributes = Collections.emptyMap();
AttachmentImpl() {
@@ -49,20 +49,20 @@ public class AttachmentImpl implements Attachment {
}
@Override
- public Timestamp getCreated() {
+ public Instant getCreated() {
return created;
}
- public void setCreated(Timestamp created) {
+ public void setCreated(Instant created) {
this.created = created;
}
@Override
- public Timestamp getModified() {
+ public Instant getModified() {
return modified;
}
- public void setModified(Timestamp modified) {
+ public void setModified(Instant modified) {
this.modified = modified;
}
@@ -107,12 +107,12 @@ public class AttachmentImpl implements Attachment {
}
@Override
- public Timestamp getReceived() {
+ public Instant getReceived() {
return received;
}
@Override
- public void setReceived(Timestamp received) {
+ public void setReceived(Instant received) {
this.received = received;
}
@@ -146,7 +146,7 @@ public class AttachmentImpl implements Attachment {
builder.append(", taskId=");
builder.append(taskId);
builder.append(", created=");
- builder.append(created);
+ builder.append(created.toString());
builder.append(", modified=");
builder.append(modified);
builder.append(", classificationKey=");
@@ -164,5 +164,4 @@ public class AttachmentImpl implements Attachment {
builder.append("]");
return builder.toString();
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentSummaryImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentSummaryImpl.java
index 9aa8e9b2b..8202c6845 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentSummaryImpl.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentSummaryImpl.java
@@ -1,6 +1,6 @@
package pro.taskana.impl;
-import java.sql.Timestamp;
+import java.time.Instant;
import pro.taskana.AttachmentSummary;
import pro.taskana.ClassificationSummary;
@@ -12,10 +12,10 @@ public class AttachmentSummaryImpl implements AttachmentSummary {
private String id;
private String taskId;
- private Timestamp created;
- private Timestamp modified;
+ private Instant created;
+ private Instant modified;
private ClassificationSummary classificationSummary;
- private Timestamp received;
+ private Instant received;
/*
* (non-Javadoc)
@@ -48,11 +48,11 @@ public class AttachmentSummaryImpl implements AttachmentSummary {
* @see pro.taskana.impl.AttachmentSummary#getCreated()
*/
@Override
- public Timestamp getCreated() {
+ public Instant getCreated() {
return created;
}
- public void setCreated(Timestamp created) {
+ public void setCreated(Instant created) {
this.created = created;
}
@@ -61,11 +61,11 @@ public class AttachmentSummaryImpl implements AttachmentSummary {
* @see pro.taskana.impl.AttachmentSummary#getModified()
*/
@Override
- public Timestamp getModified() {
+ public Instant getModified() {
return modified;
}
- public void setModified(Timestamp modified) {
+ public void setModified(Instant modified) {
this.modified = modified;
}
@@ -97,11 +97,11 @@ public class AttachmentSummaryImpl implements AttachmentSummary {
* @see pro.taskana.impl.AttachmentSummary#getReceived()
*/
@Override
- public Timestamp getReceived() {
+ public Instant getReceived() {
return received;
}
- public void setReceived(Timestamp received) {
+ public void setReceived(Instant received) {
this.received = received;
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationImpl.java
index 8abde3b9b..71829f893 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationImpl.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationImpl.java
@@ -1,8 +1,7 @@
package pro.taskana.impl;
-import java.sql.Date;
-import java.sql.Timestamp;
import java.time.Duration;
+import java.time.Instant;
import pro.taskana.Classification;
import pro.taskana.ClassificationSummary;
@@ -19,7 +18,7 @@ public class ClassificationImpl implements Classification {
private String type;
private String domain;
private Boolean isValidInDomain;
- private Date created;
+ private Instant created;
private String name;
private String description;
private int priority;
@@ -33,8 +32,6 @@ public class ClassificationImpl implements Classification {
private String custom6;
private String custom7;
private String custom8;
- private Date validFrom;
- private Date validUntil;
ClassificationImpl() {
}
@@ -106,11 +103,11 @@ public class ClassificationImpl implements Classification {
}
@Override
- public Date getCreated() {
+ public Instant getCreated() {
return created;
}
- public void setCreated(Date created) {
+ public void setCreated(Instant created) {
this.created = created;
}
@@ -249,24 +246,6 @@ public class ClassificationImpl implements Classification {
this.custom8 = custom8;
}
- @Override
- public Date getValidFrom() {
- return validFrom;
- }
-
- public void setValidFrom(Date validFrom) {
- this.validFrom = validFrom;
- }
-
- @Override
- public Date getValidUntil() {
- return validUntil;
- }
-
- public void setValidUntil(Date validUntil) {
- this.validUntil = validUntil;
- }
-
@Override
public ClassificationSummary asSummary() {
ClassificationSummaryImpl summary = new ClassificationSummaryImpl();
@@ -276,9 +255,6 @@ public class ClassificationImpl implements Classification {
summary.setKey(this.key);
summary.setName(this.name);
summary.setType(this.type);
- if (this.validUntil != null) {
- summary.setValidUntil(new Timestamp(this.validUntil.getTime()));
- }
return summary;
}
@@ -300,7 +276,7 @@ public class ClassificationImpl implements Classification {
builder.append(", isValidInDomain=");
builder.append(isValidInDomain);
builder.append(", created=");
- builder.append(created);
+ builder.append(created.toString());
builder.append(", name=");
builder.append(name);
builder.append(", description=");
@@ -327,10 +303,6 @@ public class ClassificationImpl implements Classification {
builder.append(custom7);
builder.append(", custom8=");
builder.append(custom8);
- builder.append(", validFrom=");
- builder.append(validFrom);
- builder.append(", validUntil=");
- builder.append(validUntil);
builder.append("]");
return builder.toString();
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationQueryImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationQueryImpl.java
index b7f6dc93e..767375b57 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationQueryImpl.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationQueryImpl.java
@@ -1,7 +1,7 @@
package pro.taskana.impl;
+import java.time.Instant;
import java.util.Arrays;
-import java.util.Date;
import java.util.List;
import org.apache.ibatis.session.RowBounds;
@@ -29,15 +29,12 @@ public class ClassificationQueryImpl implements ClassificationQuery {
private String[] type;
private String[] domain;
private Boolean validInDomain;
- private Date[] created;
+ private Instant[] created;
private String[] name;
private String description;
private int[] priority;
private String[] serviceLevel;
private String[] customFields;
- private Date[] validFrom;
- private Date[] validUntil;
-
private String[] applicationEntryPoint;
public ClassificationQueryImpl(TaskanaEngine taskanaEngine) {
@@ -81,7 +78,7 @@ public class ClassificationQueryImpl implements ClassificationQuery {
}
@Override
- public ClassificationQuery created(Date... created) {
+ public ClassificationQuery created(Instant... created) {
this.created = created;
return this;
}
@@ -122,18 +119,6 @@ public class ClassificationQueryImpl implements ClassificationQuery {
return this;
}
- @Override
- public ClassificationQuery validFrom(Date... validFrom) {
- this.validFrom = validFrom;
- return this;
- }
-
- @Override
- public ClassificationQuery validUntil(Date... validUntil) {
- this.validUntil = validUntil;
- return this;
- }
-
@Override
public List list() {
LOGGER.debug("entry to list(), this = {}", this);
@@ -265,11 +250,11 @@ public class ClassificationQueryImpl implements ClassificationQuery {
this.validInDomain = validInDomain;
}
- public Date[] getCreated() {
+ public Instant[] getCreated() {
return created;
}
- public void setCreated(Date[] created) {
+ public void setCreated(Instant[] created) {
this.created = created;
}
@@ -289,22 +274,6 @@ public class ClassificationQueryImpl implements ClassificationQuery {
this.customFields = customFields;
}
- public Date[] getValidFrom() {
- return validFrom;
- }
-
- public void setValidFrom(Date[] validFrom) {
- this.validFrom = validFrom;
- }
-
- public Date[] getValidUntil() {
- return validUntil;
- }
-
- public void setValidUntil(Date[] validUntil) {
- this.validUntil = validUntil;
- }
-
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
@@ -332,10 +301,6 @@ public class ClassificationQueryImpl implements ClassificationQuery {
builder.append(Arrays.toString(serviceLevel));
builder.append(", customFields=");
builder.append(Arrays.toString(customFields));
- builder.append(", validFrom=");
- builder.append(Arrays.toString(validFrom));
- builder.append(", validUntil=");
- builder.append(Arrays.toString(validUntil));
builder.append("]");
return builder.toString();
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationServiceImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationServiceImpl.java
index ccec1894e..74057ce3d 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationServiceImpl.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationServiceImpl.java
@@ -1,8 +1,7 @@
package pro.taskana.impl;
-import java.sql.Date;
import java.time.Duration;
-import java.time.LocalDate;
+import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
@@ -27,7 +26,6 @@ import pro.taskana.model.mappings.ClassificationMapper;
*/
public class ClassificationServiceImpl implements ClassificationService {
- public static final Date CURRENT_CLASSIFICATIONS_VALID_UNTIL = Date.valueOf("9999-12-31");
private static final String ID_PREFIX_CLASSIFICATION = "CLI";
private static final Logger LOGGER = LoggerFactory.getLogger(ClassificationServiceImpl.class);
private ClassificationMapper classificationMapper;
@@ -47,7 +45,6 @@ public class ClassificationServiceImpl implements ClassificationService {
taskanaEngineImpl.openConnection();
rootClassificationSumamries = this.createClassificationQuery()
.parentClassificationKey("")
- .validUntil(CURRENT_CLASSIFICATIONS_VALID_UNTIL)
.list();
rootClassificationSumamries = this.populateChildClassifications(rootClassificationSumamries);
return rootClassificationSumamries;
@@ -75,7 +72,6 @@ public class ClassificationServiceImpl implements ClassificationService {
for (ClassificationSummary classification : classificationSumamries) {
List childClassifications = this.createClassificationQuery()
.parentClassificationKey(classification.getKey())
- .validUntil(CURRENT_CLASSIFICATIONS_VALID_UNTIL)
.list();
children.addAll(populateChildClassifications(childClassifications));
}
@@ -154,24 +150,21 @@ public class ClassificationServiceImpl implements ClassificationService {
classificationImpl = (ClassificationImpl) classification;
this.initDefaultClassificationValues(classificationImpl);
- ClassificationImpl oldClassification = null;
+ // UPDATE/INSERT classification
try {
- oldClassification = (ClassificationImpl) this.getClassification(classificationImpl.getKey(),
- classificationImpl.getDomain());
- LOGGER.debug("Method updateClassification() inserted classification {}.", classificationImpl);
- // ! If you update an classification twice the same day,
- // the older version is valid from today until yesterday.
- if (!oldClassification.getDomain().equals(classificationImpl.getDomain())) {
- addClassificationToDomain(classificationImpl);
- } else {
- updateExistingClassification(oldClassification, classificationImpl);
- }
+ this.getClassification(classificationImpl.getKey(), classificationImpl.getDomain());
+ classificationMapper.update(classificationImpl);
+ LOGGER.debug("Method updateClassification() updated the classification {}.",
+ classificationImpl);
} catch (ClassificationNotFoundException e) {
- classificationImpl.setId(IdGenerator.generateWithPrefix(ID_PREFIX_CLASSIFICATION)); // TODO
- classificationImpl.setCreated(Date.valueOf(LocalDate.now()));
+ classificationImpl.setCreated(Instant.now());
classificationMapper.insert(classificationImpl);
- LOGGER.debug("Method updateClassification() inserted classification {}.", classificationImpl);
+ LOGGER.debug(
+ "Method updateClassification() inserted a unpersisted classification which was wanted to be updated {}.",
+ classificationImpl);
}
+
+ // CHECK if classification does exist now
try {
Classification updatedClassification = this.getClassification(classificationImpl.getKey(),
classificationImpl.getDomain());
@@ -194,13 +187,12 @@ public class ClassificationServiceImpl implements ClassificationService {
* @param classification
*/
private void initDefaultClassificationValues(ClassificationImpl classification) throws IllegalStateException {
- classification.setId(IdGenerator.generateWithPrefix(ID_PREFIX_CLASSIFICATION));
-
- classification.setValidFrom(Date.valueOf(LocalDate.now()));
- classification.setValidUntil(CURRENT_CLASSIFICATIONS_VALID_UNTIL);
+ if (classification.getId() == null) {
+ classification.setId(IdGenerator.generateWithPrefix(ID_PREFIX_CLASSIFICATION));
+ }
if (classification.getCreated() == null) {
- classification.setCreated(Date.valueOf(LocalDate.now()));
+ classification.setCreated(Instant.now());
}
if (classification.getIsValidInDomain() == null) {
@@ -228,33 +220,6 @@ public class ClassificationServiceImpl implements ClassificationService {
}
}
- /**
- * Add a new Classification if this Classification Key is not yet specified for this domain.
- *
- * @param classification
- */
- private void addClassificationToDomain(ClassificationImpl classification) {
- classification.setCreated(Date.valueOf(LocalDate.now()));
- classificationMapper.insert(classification);
- LOGGER.debug("Method updateClassification() inserted classification {}.", classification);
- }
-
- /**
- * Set the validUntil-Date of the oldClassification to yesterday and inserts the new Classification.
- *
- * @param oldClassification
- * @param newClassification
- */
- private Classification updateExistingClassification(ClassificationImpl oldClassification,
- ClassificationImpl newClassification) {
- oldClassification.setValidUntil(Date.valueOf(LocalDate.now().minusDays(1)));
- classificationMapper.update(oldClassification);
- classificationMapper.insert(newClassification);
- LOGGER.debug("Method updateClassification() updated old classification {} and inserted new {}.",
- oldClassification, newClassification);
- return newClassification;
- }
-
@Override
public List getAllClassifications(String key, String domain) {
LOGGER.debug("entry to getAllClassificationsWithKey(key = {}, domain = {})", key, domain);
@@ -285,9 +250,9 @@ public class ClassificationServiceImpl implements ClassificationService {
Classification result = null;
try {
taskanaEngineImpl.openConnection();
- result = classificationMapper.findByKeyAndDomain(key, domain, CURRENT_CLASSIFICATIONS_VALID_UNTIL);
+ result = classificationMapper.findByKeyAndDomain(key, domain);
if (result == null) {
- result = classificationMapper.findByKeyAndDomain(key, "", CURRENT_CLASSIFICATIONS_VALID_UNTIL);
+ result = classificationMapper.findByKeyAndDomain(key, "");
if (result == null) {
throw new ClassificationNotFoundException("Classification for key " + key + " was not found");
}
@@ -316,7 +281,7 @@ public class ClassificationServiceImpl implements ClassificationService {
private boolean doesClassificationExist(String key, String domain) {
boolean isExisting = false;
try {
- if (classificationMapper.findByKeyAndDomain(key, domain, CURRENT_CLASSIFICATIONS_VALID_UNTIL) != null) {
+ if (classificationMapper.findByKeyAndDomain(key, domain) != null) {
isExisting = true;
}
} catch (Exception ex) {
@@ -326,5 +291,4 @@ public class ClassificationServiceImpl implements ClassificationService {
}
return isExisting;
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationSummaryImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationSummaryImpl.java
index 44769a0c6..11df556e7 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationSummaryImpl.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/ClassificationSummaryImpl.java
@@ -1,7 +1,5 @@
package pro.taskana.impl;
-import java.sql.Timestamp;
-
import pro.taskana.ClassificationSummary;
/**
@@ -15,7 +13,6 @@ public class ClassificationSummaryImpl implements ClassificationSummary {
private String type;
private String domain;
private String name;
- private Timestamp validUntil;
@Override
public String getId() {
@@ -71,15 +68,6 @@ public class ClassificationSummaryImpl implements ClassificationSummary {
this.name = name;
}
- @Override
- public Timestamp getValidUntil() {
- return validUntil;
- }
-
- public void setValidUntil(Timestamp validUntil) {
- this.validUntil = validUntil;
- }
-
@Override
public int hashCode() {
final int prime = 31;
@@ -90,7 +78,6 @@ public class ClassificationSummaryImpl implements ClassificationSummary {
result = prime * result + ((key == null) ? 0 : key.hashCode());
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + ((type == null) ? 0 : type.hashCode());
- result = prime * result + ((validUntil == null) ? 0 : validUntil.hashCode());
return result;
}
@@ -148,13 +135,6 @@ public class ClassificationSummaryImpl implements ClassificationSummary {
} else if (!type.equals(other.type)) {
return false;
}
- if (validUntil == null) {
- if (other.validUntil != null) {
- return false;
- }
- } else if (!validUntil.equals(other.validUntil)) {
- return false;
- }
return true;
}
@@ -173,8 +153,6 @@ public class ClassificationSummaryImpl implements ClassificationSummary {
builder.append(domain);
builder.append(", name=");
builder.append(name);
- builder.append(", validUntil=");
- builder.append(validUntil);
builder.append("]");
return builder.toString();
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskImpl.java
index a1bc7e32a..3d80de6ce 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskImpl.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskImpl.java
@@ -1,6 +1,6 @@
package pro.taskana.impl;
-import java.sql.Timestamp;
+import java.time.Instant;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -21,12 +21,12 @@ import pro.taskana.model.TaskState;
public class TaskImpl implements Task {
private String id;
- private Timestamp created;
- private Timestamp claimed;
- private Timestamp completed;
- private Timestamp modified;
- private Timestamp planned;
- private Timestamp due;
+ private Instant created;
+ private Instant claimed;
+ private Instant completed;
+ private Instant modified;
+ private Instant planned;
+ private Instant due;
private String name;
private String description;
private String note;
@@ -70,57 +70,57 @@ public class TaskImpl implements Task {
}
@Override
- public Timestamp getCreated() {
+ public Instant getCreated() {
return created;
}
- public void setCreated(Timestamp created) {
+ public void setCreated(Instant created) {
this.created = created;
}
@Override
- public Timestamp getClaimed() {
+ public Instant getClaimed() {
return claimed;
}
- public void setClaimed(Timestamp claimed) {
+ public void setClaimed(Instant claimed) {
this.claimed = claimed;
}
@Override
- public Timestamp getCompleted() {
+ public Instant getCompleted() {
return completed;
}
- public void setCompleted(Timestamp completed) {
+ public void setCompleted(Instant completed) {
this.completed = completed;
}
@Override
- public Timestamp getModified() {
+ public Instant getModified() {
return modified;
}
- public void setModified(Timestamp modified) {
+ public void setModified(Instant modified) {
this.modified = modified;
}
@Override
- public Timestamp getPlanned() {
+ public Instant getPlanned() {
return planned;
}
@Override
- public void setPlanned(Timestamp planned) {
+ public void setPlanned(Instant planned) {
this.planned = planned;
}
@Override
- public Timestamp getDue() {
+ public Instant getDue() {
return due;
}
- public void setDue(Timestamp due) {
+ public void setDue(Instant due) {
this.due = due;
}
@@ -449,17 +449,17 @@ public class TaskImpl implements Task {
builder.append("TaskImpl [id=");
builder.append(id);
builder.append(", created=");
- builder.append(created);
+ builder.append(created.toString());
builder.append(", claimed=");
- builder.append(claimed);
+ builder.append(claimed.toString());
builder.append(", completed=");
- builder.append(completed);
+ builder.append(completed.toString());
builder.append(", modified=");
- builder.append(modified);
+ builder.append(modified.toString());
builder.append(", planned=");
- builder.append(planned);
+ builder.append(planned.toString());
builder.append(", due=");
- builder.append(due);
+ builder.append(due.toString());
builder.append(", name=");
builder.append(name);
builder.append(", description=");
@@ -519,5 +519,4 @@ public class TaskImpl implements Task {
builder.append("]");
return builder.toString();
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskMonitorServiceImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskMonitorServiceImpl.java
index 59868252d..fec8ed485 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskMonitorServiceImpl.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskMonitorServiceImpl.java
@@ -1,7 +1,7 @@
package pro.taskana.impl;
-import java.sql.Date;
-import java.time.LocalDate;
+import java.time.Duration;
+import java.time.Instant;
import java.util.List;
import org.slf4j.Logger;
@@ -64,9 +64,7 @@ public class TaskMonitorServiceImpl implements TaskMonitorService {
long result = -1;
try {
taskanaEngineImpl.openConnection();
- LocalDate time = LocalDate.now();
- time = time.minusDays(daysInPast);
- Date fromDate = Date.valueOf(time);
+ Instant fromDate = Instant.now().minus(Duration.ofDays(daysInPast));
result = taskMonitorMapper.getTaskCountForWorkbasketByDaysInPastAndState(workbasketId, fromDate, states);
return result;
} finally {
@@ -85,9 +83,7 @@ public class TaskMonitorServiceImpl implements TaskMonitorService {
List result = null;
try {
taskanaEngineImpl.openConnection();
- LocalDate time = LocalDate.now();
- time = time.minusDays(daysInPast);
- Date fromDate = Date.valueOf(time);
+ Instant fromDate = Instant.now().minus(Duration.ofDays(daysInPast));
result = taskMonitorMapper.getTaskCountByWorkbasketIdAndDaysInPastAndState(fromDate, states);
return result;
} finally {
@@ -127,5 +123,4 @@ public class TaskMonitorServiceImpl implements TaskMonitorService {
}
}
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskQueryImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskQueryImpl.java
index f931e532d..e28fa0ca9 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskQueryImpl.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskQueryImpl.java
@@ -367,6 +367,8 @@ public class TaskQueryImpl implements TaskQuery {
builder.append(Arrays.toString(name));
builder.append(", description=");
builder.append(description);
+ builder.append(", note=");
+ builder.append(note);
builder.append(", priority=");
builder.append(Arrays.toString(priority));
builder.append(", states=");
@@ -406,5 +408,4 @@ public class TaskQueryImpl implements TaskQuery {
builder.append("]");
return builder.toString();
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java
index 6e58f13a4..72ff1b4f9 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java
@@ -1,8 +1,7 @@
package pro.taskana.impl;
-import java.sql.Timestamp;
import java.time.Duration;
-import java.time.LocalDateTime;
+import java.time.Instant;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -98,7 +97,7 @@ public class TaskServiceImpl implements TaskService {
taskId, task.getOwner());
throw new InvalidOwnerException("Task is already claimed by user " + task.getOwner());
}
- Timestamp now = new Timestamp(System.currentTimeMillis());
+ Instant now = Instant.now();
task.setOwner(userId);
task.setModified(now);
task.setClaimed(now);
@@ -148,7 +147,7 @@ public class TaskServiceImpl implements TaskService {
task = (TaskImpl) this.claim(taskId, true);
}
}
- Timestamp now = new Timestamp(System.currentTimeMillis());
+ Instant now = Instant.now();
task.setCompleted(now);
task.setModified(now);
task.setState(TaskState.COMPLETED);
@@ -258,7 +257,7 @@ public class TaskServiceImpl implements TaskService {
task.setWorkbasketKey(destinationWorkbasketKey);
task.setWorkbasketSummary(destinationWorkbasket.asSummary());
task.setDomain(destinationWorkbasket.getDomain());
- task.setModified(Timestamp.valueOf(LocalDateTime.now()));
+ task.setModified(Instant.now());
taskMapper.update(task);
result = getTask(taskId);
@@ -280,7 +279,7 @@ public class TaskServiceImpl implements TaskService {
taskanaEngineImpl.openConnection();
TaskImpl task = (TaskImpl) getTask(taskId);
task.setRead(true);
- task.setModified(Timestamp.valueOf(LocalDateTime.now()));
+ task.setModified(Instant.now());
taskMapper.update(task);
result = getTask(taskId);
LOGGER.debug("Method setTaskRead() set read property of Task '{}' to {} ", result, isRead);
@@ -345,7 +344,7 @@ public class TaskServiceImpl implements TaskService {
}
private void standardSettings(TaskImpl task, Classification classification) {
- Timestamp now = new Timestamp(System.currentTimeMillis());
+ Instant now = Instant.now();
task.setId(IdGenerator.generateWithPrefix(ID_PREFIX_TASK));
task.setState(TaskState.READY);
task.setCreated(now);
@@ -367,8 +366,8 @@ public class TaskServiceImpl implements TaskService {
if (classification != null) {
if (classification.getServiceLevel() != null) {
Duration serviceLevel = Duration.parse(classification.getServiceLevel());
- LocalDateTime due = task.getPlanned().toLocalDateTime().plus(serviceLevel);
- task.setDue(Timestamp.valueOf(due));
+ Instant due = task.getPlanned().plus(serviceLevel);
+ task.setDue(due);
}
if (task.getName() == null) {
@@ -733,8 +732,8 @@ public class TaskServiceImpl implements TaskService {
if (newClassification != null) {
if (newClassification.getServiceLevel() != null) {
Duration serviceLevel = Duration.parse(newClassification.getServiceLevel());
- LocalDateTime due = newTaskImpl.getPlanned().toLocalDateTime().plus(serviceLevel);
- newTaskImpl.setDue(Timestamp.valueOf(due));
+ Instant due = newTaskImpl.getPlanned().plus(serviceLevel);
+ newTaskImpl.setDue(due);
}
if (newTaskImpl.getName() == null) {
@@ -749,9 +748,7 @@ public class TaskServiceImpl implements TaskService {
newTaskImpl.setPriority(newClassification.getPriority());
}
}
-
- Timestamp now = new Timestamp(System.currentTimeMillis());
- newTaskImpl.setModified(now);
+ newTaskImpl.setModified(Instant.now());
}
AttachmentMapper getAttachmentMapper() {
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskSummaryImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskSummaryImpl.java
index f61362c45..bb6d0b869 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskSummaryImpl.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskSummaryImpl.java
@@ -1,6 +1,6 @@
package pro.taskana.impl;
-import java.sql.Timestamp;
+import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
@@ -17,12 +17,12 @@ import pro.taskana.model.TaskState;
public class TaskSummaryImpl implements TaskSummary {
private String taskId;
- private Timestamp created;
- private Timestamp claimed;
- private Timestamp completed;
- private Timestamp modified;
- private Timestamp planned;
- private Timestamp due;
+ private Instant created;
+ private Instant claimed;
+ private Instant completed;
+ private Instant modified;
+ private Instant planned;
+ private Instant due;
private String name;
private String note;
private int priority;
@@ -67,11 +67,11 @@ public class TaskSummaryImpl implements TaskSummary {
* @see pro.taskana.impl.TaskSummary#getCreated()
*/
@Override
- public Timestamp getCreated() {
+ public Instant getCreated() {
return created;
}
- public void setCreated(Timestamp created) {
+ public void setCreated(Instant created) {
this.created = created;
}
@@ -80,11 +80,11 @@ public class TaskSummaryImpl implements TaskSummary {
* @see pro.taskana.impl.TaskSummary#getClaimed()
*/
@Override
- public Timestamp getClaimed() {
+ public Instant getClaimed() {
return claimed;
}
- public void setClaimed(Timestamp claimed) {
+ public void setClaimed(Instant claimed) {
this.claimed = claimed;
}
@@ -93,11 +93,11 @@ public class TaskSummaryImpl implements TaskSummary {
* @see pro.taskana.impl.TaskSummary#getCompleted()
*/
@Override
- public Timestamp getCompleted() {
+ public Instant getCompleted() {
return completed;
}
- public void setCompleted(Timestamp completed) {
+ public void setCompleted(Instant completed) {
this.completed = completed;
}
@@ -106,11 +106,11 @@ public class TaskSummaryImpl implements TaskSummary {
* @see pro.taskana.impl.TaskSummary#getModified()
*/
@Override
- public Timestamp getModified() {
+ public Instant getModified() {
return modified;
}
- public void setModified(Timestamp modified) {
+ public void setModified(Instant modified) {
this.modified = modified;
}
@@ -119,11 +119,11 @@ public class TaskSummaryImpl implements TaskSummary {
* @see pro.taskana.impl.TaskSummary#getPlanned()
*/
@Override
- public Timestamp getPlanned() {
+ public Instant getPlanned() {
return planned;
}
- public void setPlanned(Timestamp planned) {
+ public void setPlanned(Instant planned) {
this.planned = planned;
}
@@ -132,11 +132,11 @@ public class TaskSummaryImpl implements TaskSummary {
* @see pro.taskana.impl.TaskSummary#getDue()
*/
@Override
- public Timestamp getDue() {
+ public Instant getDue() {
return due;
}
- public void setDue(Timestamp due) {
+ public void setDue(Instant due) {
this.due = due;
}
@@ -796,5 +796,4 @@ public class TaskSummaryImpl implements TaskSummary {
builder.append("]");
return builder.toString();
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskanaEngineImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskanaEngineImpl.java
index 3f6387299..01d43d753 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskanaEngineImpl.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskanaEngineImpl.java
@@ -39,21 +39,13 @@ import pro.taskana.model.mappings.WorkbasketMapper;
public class TaskanaEngineImpl implements TaskanaEngine {
private static final String DEFAULT = "default";
-
private static final Logger LOGGER = LoggerFactory.getLogger(TaskanaEngineImpl.class);
-
protected static ThreadLocal> sessionStack = new ThreadLocal>();
-
protected TaskanaEngineConfiguration taskanaEngineConfiguration;
-
protected TransactionFactory transactionFactory;
-
protected SqlSessionManager sessionManager;
-
protected SqlSessionFactory sessionFactory;
-
protected ConnectionManagementMode mode = ConnectionManagementMode.PARTICIPATE;
-
protected java.sql.Connection connection = null;
public TaskanaEngineImpl(TaskanaEngineConfiguration taskanaEngineConfiguration) {
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketImpl.java
index b1b3668ea..19a0996ba 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketImpl.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketImpl.java
@@ -1,6 +1,6 @@
package pro.taskana.impl;
-import java.sql.Timestamp;
+import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
@@ -15,8 +15,8 @@ public class WorkbasketImpl implements Workbasket {
private String id;
private String key;
- private Timestamp created;
- private Timestamp modified;
+ private Instant created;
+ private Instant modified;
private String name;
private String description;
private String owner;
@@ -55,21 +55,21 @@ public class WorkbasketImpl implements Workbasket {
}
@Override
- public Timestamp getCreated() {
+ public Instant getCreated() {
return created;
}
- public void setCreated(Timestamp created) {
+ public void setCreated(Instant created) {
this.created = created;
}
@Override
- public Timestamp getModified() {
+ public Instant getModified() {
return modified;
}
@Override
- public void setModified(Timestamp modified) {
+ public void setModified(Instant modified) {
this.modified = modified;
}
@@ -237,9 +237,9 @@ public class WorkbasketImpl implements Workbasket {
builder.append(", key=");
builder.append(key);
builder.append(", created=");
- builder.append(created);
+ builder.append(created.toString());
builder.append(", modified=");
- builder.append(modified);
+ builder.append(modified.toString());
builder.append(", name=");
builder.append(name);
builder.append(", description=");
@@ -271,5 +271,4 @@ public class WorkbasketImpl implements Workbasket {
builder.append("]");
return builder.toString();
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketQueryImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketQueryImpl.java
index 3e18a4fe6..cf7e32333 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketQueryImpl.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketQueryImpl.java
@@ -1,7 +1,7 @@
package pro.taskana.impl;
+import java.time.Instant;
import java.util.Arrays;
-import java.util.Date;
import java.util.List;
import org.apache.ibatis.session.RowBounds;
@@ -34,10 +34,10 @@ public class WorkbasketQueryImpl implements WorkbasketQuery {
private String[] key;
private String[] domain;
private WorkbasketType[] type;
- private Date createdAfter;
- private Date createdBefore;
- private Date modifiedAfter;
- private Date modifiedBefore;
+ private Instant createdAfter;
+ private Instant createdBefore;
+ private Instant modifiedAfter;
+ private Instant modifiedBefore;
private String description;
private String[] owner;
private TaskanaEngineImpl taskanaEngineImpl;
@@ -71,25 +71,25 @@ public class WorkbasketQueryImpl implements WorkbasketQuery {
}
@Override
- public WorkbasketQuery createdAfter(Date createdAfter) {
+ public WorkbasketQuery createdAfter(Instant createdAfter) {
this.createdAfter = createdAfter;
return this;
}
@Override
- public WorkbasketQuery createdBefore(Date createdBefore) {
+ public WorkbasketQuery createdBefore(Instant createdBefore) {
this.createdBefore = createdBefore;
return this;
}
@Override
- public WorkbasketQuery modifiedAfter(Date modifiedAfter) {
+ public WorkbasketQuery modifiedAfter(Instant modifiedAfter) {
this.modifiedAfter = modifiedAfter;
return this;
}
@Override
- public WorkbasketQuery modifiedBefore(Date modifiedBefore) {
+ public WorkbasketQuery modifiedBefore(Instant modifiedBefore) {
this.modifiedBefore = modifiedBefore;
return this;
}
@@ -223,19 +223,19 @@ public class WorkbasketQueryImpl implements WorkbasketQuery {
return type;
}
- public Date getCreatedAfter() {
+ public Instant getCreatedAfter() {
return createdAfter;
}
- public Date getCreatedBefore() {
+ public Instant getCreatedBefore() {
return createdBefore;
}
- public Date getModifiedAfter() {
+ public Instant getModifiedAfter() {
return modifiedAfter;
}
- public Date getModifiedBefore() {
+ public Instant getModifiedBefore() {
return modifiedBefore;
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketServiceImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketServiceImpl.java
index 8bf4af93f..01c8ebba7 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketServiceImpl.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketServiceImpl.java
@@ -1,6 +1,6 @@
package pro.taskana.impl;
-import java.sql.Timestamp;
+import java.time.Instant;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -151,7 +151,7 @@ public class WorkbasketServiceImpl implements WorkbasketService {
WorkbasketImpl workbasket = (WorkbasketImpl) newWorkbasket;
try {
taskanaEngineImpl.openConnection();
- Timestamp now = new Timestamp(System.currentTimeMillis());
+ Instant now = Instant.now();
workbasket.setCreated(now);
workbasket.setModified(now);
if (workbasket.getId() == null || workbasket.getId().isEmpty()) {
@@ -187,7 +187,7 @@ public class WorkbasketServiceImpl implements WorkbasketService {
WorkbasketImpl workbasket = (WorkbasketImpl) workbasketToUpdate;
try {
taskanaEngineImpl.openConnection();
- workbasket.setModified(new Timestamp(System.currentTimeMillis()));
+ workbasket.setModified(Instant.now());
workbasketMapper.update(workbasket);
LOGGER.debug("Method updateWorkbasket() updated workbasket '{}'", workbasket.getId());
List oldDistributionTargets = distributionTargetMapper.findBySourceId(workbasket.getId());
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/persistence/MapTypeHandler.java b/lib/taskana-core/src/main/java/pro/taskana/impl/persistence/MapTypeHandler.java
index 06e3744a9..51ed0ef00 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/persistence/MapTypeHandler.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/persistence/MapTypeHandler.java
@@ -20,6 +20,7 @@ import org.slf4j.LoggerFactory;
/**
* This Typehandler will transfer a Map into an xml blob and back.
+ *
* @author EH
*/
@SuppressWarnings("rawtypes")
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/util/IdGenerator.java b/lib/taskana-core/src/main/java/pro/taskana/impl/util/IdGenerator.java
index 9d1f24042..21ae98317 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/util/IdGenerator.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/util/IdGenerator.java
@@ -25,5 +25,4 @@ public final class IdGenerator {
private IdGenerator() {
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/util/LoggerUtils.java b/lib/taskana-core/src/main/java/pro/taskana/impl/util/LoggerUtils.java
index 7152bcc86..df1881265 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/impl/util/LoggerUtils.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/impl/util/LoggerUtils.java
@@ -16,7 +16,8 @@ public final class LoggerUtils {
}
/**
- * make a String for logging from a list of objects.
+ * Creating an appended log-string of a list with generic type T. The logging does append informations using
+ * toString() on the entries.
*
* @param list
* the input list to be stringified
@@ -40,7 +41,8 @@ public final class LoggerUtils {
}
/**
- * make a String for logging from a map.
+ * Creating an appended log-string of a map with generic types K/V. The logging does append informations using
+ * toString() on the entries.
*
* @param map
* the map to be stringified
@@ -68,6 +70,5 @@ public final class LoggerUtils {
builder.append("]");
return builder.toString();
}
-
}
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/model/DueWorkbasketCounter.java b/lib/taskana-core/src/main/java/pro/taskana/model/DueWorkbasketCounter.java
index 2e12ed9ef..ed9ece0d4 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/model/DueWorkbasketCounter.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/model/DueWorkbasketCounter.java
@@ -1,21 +1,21 @@
package pro.taskana.model;
-import java.sql.Date;
+import java.time.Instant;
/**
* DueWorkbasketCounter entity.
*/
public class DueWorkbasketCounter {
- private Date due;
+ private Instant due;
private String workbasketId;
private long taskCounter;
- public Date getDue() {
+ public Instant getDue() {
return due;
}
- public void setDue(Date due) {
+ public void setDue(Instant due) {
this.due = due;
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/model/Report.java b/lib/taskana-core/src/main/java/pro/taskana/model/Report.java
index 356cea774..57deafe85 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/model/Report.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/model/Report.java
@@ -31,5 +31,4 @@ public class Report {
public void setSumLine(ReportLine sumLine) {
this.sumLine = sumLine;
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/model/ReportLine.java b/lib/taskana-core/src/main/java/pro/taskana/model/ReportLine.java
index 509df5846..0477dcbbe 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/model/ReportLine.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/model/ReportLine.java
@@ -40,5 +40,4 @@ public class ReportLine {
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/model/ReportLineItem.java b/lib/taskana-core/src/main/java/pro/taskana/model/ReportLineItem.java
index 038da8fc0..f5a30f918 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/model/ReportLineItem.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/model/ReportLineItem.java
@@ -24,5 +24,4 @@ public class ReportLineItem {
public void setCount(int count) {
this.count = count;
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/model/ReportLineItemDefinition.java b/lib/taskana-core/src/main/java/pro/taskana/model/ReportLineItemDefinition.java
index a314fb0f5..e74c1e349 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/model/ReportLineItemDefinition.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/model/ReportLineItemDefinition.java
@@ -24,5 +24,4 @@ public class ReportLineItemDefinition {
public void setUpperLimit(int upperLimit) {
this.upperLimit = upperLimit;
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/model/WorkbasketAccessItem.java b/lib/taskana-core/src/main/java/pro/taskana/model/WorkbasketAccessItem.java
index 1272f8448..9428ee47d 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/model/WorkbasketAccessItem.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/model/WorkbasketAccessItem.java
@@ -194,5 +194,4 @@ public class WorkbasketAccessItem {
builder.append("]");
return builder.toString();
}
-
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/model/WorkbasketSummary.java b/lib/taskana-core/src/main/java/pro/taskana/model/WorkbasketSummary.java
new file mode 100644
index 000000000..187d90445
--- /dev/null
+++ b/lib/taskana-core/src/main/java/pro/taskana/model/WorkbasketSummary.java
@@ -0,0 +1,138 @@
+package pro.taskana.model;
+
+/**
+ * This entity contains the most important information about a workbasket.
+ *
+ * @author bbr
+ */
+public class WorkbasketSummary {
+
+ private String id;
+ private String key;
+ private String name;
+ private String description;
+ private String owner;
+ private String domain;
+ private WorkbasketType type;
+ private String orgLevel1;
+ private String orgLevel2;
+ private String orgLevel3;
+ private String orgLevel4;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getOwner() {
+ return owner;
+ }
+
+ public void setOwner(String owner) {
+ this.owner = owner;
+ }
+
+ public String getDomain() {
+ return domain;
+ }
+
+ public void setDomain(String domain) {
+ this.domain = domain;
+ }
+
+ public WorkbasketType getType() {
+ return type;
+ }
+
+ public void setType(WorkbasketType type) {
+ this.type = type;
+ }
+
+ public String getOrgLevel1() {
+ return orgLevel1;
+ }
+
+ public void setOrgLevel1(String orgLevel1) {
+ this.orgLevel1 = orgLevel1;
+ }
+
+ public String getOrgLevel2() {
+ return orgLevel2;
+ }
+
+ public void setOrgLevel2(String orgLevel2) {
+ this.orgLevel2 = orgLevel2;
+ }
+
+ public String getOrgLevel3() {
+ return orgLevel3;
+ }
+
+ public void setOrgLevel3(String orgLevel3) {
+ this.orgLevel3 = orgLevel3;
+ }
+
+ public String getOrgLevel4() {
+ return orgLevel4;
+ }
+
+ public void setOrgLevel4(String orgLevel4) {
+ this.orgLevel4 = orgLevel4;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("WorkbasketSummary [id=");
+ builder.append(id);
+ builder.append(", key=");
+ builder.append(key);
+ builder.append(", name=");
+ builder.append(name);
+ builder.append(", description=");
+ builder.append(description);
+ builder.append(", owner=");
+ builder.append(owner);
+ builder.append(", domain=");
+ builder.append(domain);
+ builder.append(", type=");
+ builder.append(type);
+ builder.append(", orgLevel1=");
+ builder.append(orgLevel1);
+ builder.append(", orgLevel2=");
+ builder.append(orgLevel2);
+ builder.append(", orgLevel3=");
+ builder.append(orgLevel3);
+ builder.append(", orgLevel4=");
+ builder.append(orgLevel4);
+ builder.append("]");
+ return builder.toString();
+ }
+}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/model/mappings/ClassificationMapper.java b/lib/taskana-core/src/main/java/pro/taskana/model/mappings/ClassificationMapper.java
index 7ab63d856..ce87a751c 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/model/mappings/ClassificationMapper.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/model/mappings/ClassificationMapper.java
@@ -1,6 +1,5 @@
package pro.taskana.model.mappings;
-import java.sql.Date;
import java.util.List;
import org.apache.ibatis.annotations.Insert;
@@ -18,13 +17,10 @@ import pro.taskana.impl.ClassificationSummaryImpl;
*/
public interface ClassificationMapper {
- String VALID_UNTIL_MAX = "9999-12-31";
-
- @Select("SELECT ID, KEY, PARENT_CLASSIFICATION_KEY, CATEGORY, TYPE, DOMAIN, VALID_IN_DOMAIN, CREATED, NAME, DESCRIPTION, PRIORITY, SERVICE_LEVEL, APPLICATION_ENTRY_POINT, CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8, VALID_FROM, VALID_UNTIL "
+ @Select("SELECT ID, KEY, PARENT_CLASSIFICATION_KEY, CATEGORY, TYPE, DOMAIN, VALID_IN_DOMAIN, CREATED, NAME, DESCRIPTION, PRIORITY, SERVICE_LEVEL, APPLICATION_ENTRY_POINT, CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8 "
+ "FROM CLASSIFICATION "
+ "WHERE KEY = #{key}"
- + "AND DOMAIN = #{domain}"
- + "AND VALID_UNTIL = #{valid_until}")
+ + "AND DOMAIN = #{domain}")
@Results({ @Result(property = "id", column = "ID"),
@Result(property = "key", column = "KEY"),
@Result(property = "parentClassificationKey", column = "PARENT_CLASSIFICATION_KEY"),
@@ -45,42 +41,37 @@ public interface ClassificationMapper {
@Result(property = "custom5", column = "CUSTOM_5"),
@Result(property = "custom6", column = "CUSTOM_6"),
@Result(property = "custom7", column = "CUSTOM_7"),
- @Result(property = "custom8", column = "CUSTOM_8"),
- @Result(property = "validFrom", column = "VALID_FROM"),
- @Result(property = "validUntil", column = "VALID_UNTIL") })
- ClassificationImpl findByKeyAndDomain(@Param("key") String key, @Param("domain") String domain,
- @Param("valid_until") Date validUntil);
+ @Result(property = "custom8", column = "CUSTOM_8") })
+ ClassificationImpl findByKeyAndDomain(@Param("key") String key, @Param("domain") String domain);
- @Insert("INSERT INTO CLASSIFICATION (ID, KEY, PARENT_CLASSIFICATION_KEY, CATEGORY, TYPE, DOMAIN, VALID_IN_DOMAIN, CREATED, NAME, DESCRIPTION, PRIORITY, SERVICE_LEVEL, APPLICATION_ENTRY_POINT, CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8, VALID_FROM, VALID_UNTIL) VALUES (#{classification.id}, #{classification.key}, #{classification.parentClassificationKey}, #{classification.category}, #{classification.type}, #{classification.domain}, #{classification.isValidInDomain}, #{classification.created}, #{classification.name}, #{classification.description}, #{classification.priority}, #{classification.serviceLevel}, #{classification.applicationEntryPoint}, #{classification.custom1}, #{classification.custom2}, #{classification.custom3}, #{classification.custom4}, #{classification.custom5}, #{classification.custom6}, #{classification.custom7}, #{classification.custom8}, #{classification.validFrom}, #{classification.validUntil})")
+ @Insert("INSERT INTO CLASSIFICATION (ID, KEY, PARENT_CLASSIFICATION_KEY, CATEGORY, TYPE, DOMAIN, VALID_IN_DOMAIN, CREATED, NAME, DESCRIPTION, PRIORITY, SERVICE_LEVEL, APPLICATION_ENTRY_POINT, CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8) VALUES (#{classification.id}, #{classification.key}, #{classification.parentClassificationKey}, #{classification.category}, #{classification.type}, #{classification.domain}, #{classification.isValidInDomain}, #{classification.created}, #{classification.name}, #{classification.description}, #{classification.priority}, #{classification.serviceLevel}, #{classification.applicationEntryPoint}, #{classification.custom1}, #{classification.custom2}, #{classification.custom3}, #{classification.custom4}, #{classification.custom5}, #{classification.custom6}, #{classification.custom7}, #{classification.custom8})")
void insert(@Param("classification") ClassificationImpl classification);
@Update(
- value = "UPDATE CLASSIFICATION SET KEY = #{classification.key}, PARENT_CLASSIFICATION_KEY = #{classification.parentClassificationKey}, CATEGORY = #{classification.category}, TYPE = #{classification.type}, NAME = #{classification.name}, DESCRIPTION = #{classification.description}, PRIORITY = #{classification.priority}, SERVICE_LEVEL = #{classification.serviceLevel}, DOMAIN = #{classification.domain}, VALID_IN_DOMAIN = #{classification.isValidInDomain}, APPLICATION_ENTRY_POINT = #{classification.applicationEntryPoint}, CUSTOM_1 = #{classification.custom1}, CUSTOM_2 = #{classification.custom2}, CUSTOM_3 = #{classification.custom3}, CUSTOM_4 = #{classification.custom4}, CUSTOM_5 = #{classification.custom5}, CUSTOM_6 = #{classification.custom6}, CUSTOM_7 = #{classification.custom7}, CUSTOM_8 = #{classification.custom8}, VALID_FROM = #{classification.validFrom}, VALID_UNTIL = #{classification.validUntil} WHERE ID = #{classification.id}")
+ value = "UPDATE CLASSIFICATION SET KEY = #{classification.key}, PARENT_CLASSIFICATION_KEY = #{classification.parentClassificationKey}, CATEGORY = #{classification.category}, TYPE = #{classification.type}, NAME = #{classification.name}, DESCRIPTION = #{classification.description}, PRIORITY = #{classification.priority}, SERVICE_LEVEL = #{classification.serviceLevel}, DOMAIN = #{classification.domain}, VALID_IN_DOMAIN = #{classification.isValidInDomain}, APPLICATION_ENTRY_POINT = #{classification.applicationEntryPoint}, CUSTOM_1 = #{classification.custom1}, CUSTOM_2 = #{classification.custom2}, CUSTOM_3 = #{classification.custom3}, CUSTOM_4 = #{classification.custom4}, CUSTOM_5 = #{classification.custom5}, CUSTOM_6 = #{classification.custom6}, CUSTOM_7 = #{classification.custom7}, CUSTOM_8 = #{classification.custom8} WHERE ID = #{classification.id}")
void update(@Param("classification") ClassificationImpl classification);
@Select("")
@Results({ @Result(property = "id", column = "ID"),
@Result(property = "key", column = "KEY"),
@Result(property = "category", column = "CATEGORY"),
@Result(property = "type", column = "TYPE"),
@Result(property = "domain", column = "DOMAIN"),
- @Result(property = "name", column = "NAME"),
- @Result(property = "validUntil", column = "VALID_UNTIL") })
+ @Result(property = "name", column = "NAME") })
List getAllClassificationsWithKey(@Param("key") String key,
@Param("domain") String domain);
@Select("SELECT C.ID, C.KEY, C.PARENT_CLASSIFICATION_KEY, C.CATEGORY, C.TYPE, C.DOMAIN, C.VALID_IN_DOMAIN, C.CREATED, C.NAME, C.DESCRIPTION, C.PRIORITY, C.SERVICE_LEVEL, C.APPLICATION_ENTRY_POINT, "
- + "C.CUSTOM_1, C.CUSTOM_2, C.CUSTOM_3, C.CUSTOM_4, C.CUSTOM_5, C.CUSTOM_6, C.CUSTOM_7, C.CUSTOM_8, C.VALID_FROM, C.VALID_UNTIL "
+ + "C.CUSTOM_1, C.CUSTOM_2, C.CUSTOM_3, C.CUSTOM_4, C.CUSTOM_5, C.CUSTOM_6, C.CUSTOM_7, C.CUSTOM_8 "
+ "FROM CLASSIFICATION AS C LEFT JOIN WORKBASKET AS W ON C.DOMAIN = W.DOMAIN "
+ "WHERE c.KEY = #{classificationKey}"
- + "AND W.KEY = #{workbasketKey}"
- + "AND VALID_UNTIL = #{valid_until}")
+ + "AND W.KEY = #{workbasketKey}")
@Results({ @Result(property = "id", column = "ID"),
@Result(property = "key", column = "KEY"),
@Result(property = "parentClassificationKey", column = "PARENT_CLASSIFICATION_KEY"),
@@ -101,10 +92,7 @@ public interface ClassificationMapper {
@Result(property = "custom5", column = "CUSTOM_5"),
@Result(property = "custom6", column = "CUSTOM_6"),
@Result(property = "custom7", column = "CUSTOM_7"),
- @Result(property = "custom8", column = "CUSTOM_8"),
- @Result(property = "validFrom", column = "VALID_FROM"),
- @Result(property = "validUntil", column = "VALID_UNTIL") })
+ @Result(property = "custom8", column = "CUSTOM_8") })
ClassificationImpl findByTask(@Param("classificationKey") String classificationKey,
- @Param("workbasketKey") String workbasketKey,
- @Param("valid_until") Date validUntil);
+ @Param("workbasketKey") String workbasketKey);
}
diff --git a/lib/taskana-core/src/main/java/pro/taskana/model/mappings/QueryMapper.java b/lib/taskana-core/src/main/java/pro/taskana/model/mappings/QueryMapper.java
index bf6899bef..2c7be9ac7 100644
--- a/lib/taskana-core/src/main/java/pro/taskana/model/mappings/QueryMapper.java
+++ b/lib/taskana-core/src/main/java/pro/taskana/model/mappings/QueryMapper.java
@@ -52,7 +52,7 @@ public interface QueryMapper {
+ "AND (t.CUSTOM_1 IN(#{item}) OR t.CUSTOM_2 IN(#{item}) OR t.CUSTOM_3 IN(#{item}) OR t.CUSTOM_4 IN(#{item}) OR t.CUSTOM_5 IN(#{item}) OR t.CUSTOM_6 IN(#{item}) OR t.CUSTOM_7 IN(#{item}) OR t.CUSTOM_8 IN(#{item}) OR t.CUSTOM_9 IN(#{item}) OR t.CUSTOM_10 IN(#{item})) "
+ ""
+ "")
- @Results(value = {@Result(property = "taskId", column = "ID"),
+ @Results(value = { @Result(property = "taskId", column = "ID"),
@Result(property = "created", column = "CREATED"),
@Result(property = "claimed", column = "CLAIMED"),
@Result(property = "completed", column = "COMPLETED"),
@@ -86,10 +86,10 @@ public interface QueryMapper {
@Result(property = "custom7", column = "CUSTOM_7"),
@Result(property = "custom8", column = "CUSTOM_8"),
@Result(property = "custom9", column = "CUSTOM_9"),
- @Result(property = "custom10", column = "CUSTOM_10")})
+ @Result(property = "custom10", column = "CUSTOM_10") })
List queryTasks(TaskQueryImpl taskQuery);
- @Select("")
- @Results({@Result(property = "id", column = "ID"),
+ @Results({ @Result(property = "id", column = "ID"),
@Result(property = "key", column = "KEY"),
@Result(property = "category", column = "CATEGORY"),
@Result(property = "type", column = "TYPE"),
@Result(property = "domain", column = "DOMAIN"),
- @Result(property = "name", column = "NAME"),
- @Result(property = "validUntil", column = "VALID_UNTIL")})
+ @Result(property = "name", column = "NAME") })
List queryClassification(ClassificationQueryImpl classificationQuery);
@Select("")
long getTaskCountForWorkbasketByDaysInPastAndState(@Param("workbasketId") String workbasketId,
- @Param("fromDate") Date fromDate, @Param("status") List states);
+ @Param("fromDate") Instant fromDate, @Param("status") List states);
@Select("