diff --git a/history/pom.xml b/history/pom.xml index 9780f3d62..e4b71c0d7 100644 --- a/history/pom.xml +++ b/history/pom.xml @@ -1,8 +1,8 @@ 4.0.0 - pro.taskana.history - taskana-history-parent + pro.taskana.simplehistory + taskana-simplehistory-parent pom ${project.groupId}:${project.artifactId} diff --git a/history/taskana-loghistory-provider/pom.xml b/history/taskana-loghistory-provider/pom.xml index d9afac40c..17cb7e8de 100644 --- a/history/taskana-loghistory-provider/pom.xml +++ b/history/taskana-loghistory-provider/pom.xml @@ -4,8 +4,8 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - pro.taskana.history - taskana-history-parent + pro.taskana.simplehistory + taskana-simplehistory-parent 3.2.1-SNAPSHOT ../pom.xml diff --git a/history/taskana-loghistory-provider/src/main/java/pro/taskana/loghistory/impl/LogfileHistoryServiceImpl.java b/history/taskana-loghistory-provider/src/main/java/pro/taskana/loghistory/impl/LogfileHistoryServiceImpl.java index a1a68611e..edb0aa29b 100644 --- a/history/taskana-loghistory-provider/src/main/java/pro/taskana/loghistory/impl/LogfileHistoryServiceImpl.java +++ b/history/taskana-loghistory-provider/src/main/java/pro/taskana/loghistory/impl/LogfileHistoryServiceImpl.java @@ -18,7 +18,8 @@ import pro.taskana.TaskanaEngineConfiguration; import pro.taskana.common.api.TaskanaEngine; import pro.taskana.common.api.exceptions.SystemException; import pro.taskana.spi.history.api.TaskanaHistory; -import pro.taskana.spi.history.api.events.TaskanaHistoryEvent; +import pro.taskana.spi.history.api.events.task.TaskHistoryEvent; +import pro.taskana.spi.history.api.events.workbasket.WorkbasketHistoryEvent; public class LogfileHistoryServiceImpl implements TaskanaHistory { @@ -49,7 +50,19 @@ public class LogfileHistoryServiceImpl implements TaskanaHistory { } @Override - public void create(TaskanaHistoryEvent event) { + public void create(TaskHistoryEvent event) { + + try { + if (historyLogger.isInfoEnabled()) { + historyLogger.info(objectMapper.writeValueAsString(event)); + } + } catch (JsonProcessingException e) { + throw new SystemException("Caught exception while serializing history event to JSON ", e); + } + } + + @Override + public void create(WorkbasketHistoryEvent event) { try { if (historyLogger.isInfoEnabled()) { diff --git a/history/taskana-loghistory-provider/src/test/java/pro/taskana/loghistory/impl/LogfileHistoryServiceImplTest.java b/history/taskana-loghistory-provider/src/test/java/pro/taskana/loghistory/impl/LogfileHistoryServiceImplTest.java index 4a15ac84c..b5c22f03e 100644 --- a/history/taskana-loghistory-provider/src/test/java/pro/taskana/loghistory/impl/LogfileHistoryServiceImplTest.java +++ b/history/taskana-loghistory-provider/src/test/java/pro/taskana/loghistory/impl/LogfileHistoryServiceImplTest.java @@ -5,7 +5,7 @@ import static org.assertj.core.api.Assertions.assertThat; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import java.time.Instant; -import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.mockito.Mock; @@ -13,7 +13,8 @@ import uk.org.lidalia.slf4jtest.TestLogger; import uk.org.lidalia.slf4jtest.TestLoggerFactory; import pro.taskana.common.api.TaskanaEngine; -import pro.taskana.spi.history.api.events.TaskanaHistoryEvent; +import pro.taskana.spi.history.api.events.task.TaskHistoryEvent; +import pro.taskana.spi.history.api.events.workbasket.WorkbasketHistoryEvent; class LogfileHistoryServiceImplTest { @@ -22,8 +23,8 @@ class LogfileHistoryServiceImplTest { TestLogger logger = TestLoggerFactory.getTestLogger("AUDIT"); @Mock TaskanaEngine taskanaEngine; - @AfterAll - public static void clearLoggers() { + @AfterEach + public void clearLoggers() { TestLoggerFactory.clear(); } @@ -33,10 +34,10 @@ class LogfileHistoryServiceImplTest { } @Test - void should_LogEventAsJson_When_CreateIsCalled() throws Exception { + void should_LogTaskEventAsJson_When_CreateIsCalled() throws Exception { logfileHistoryServiceImpl.initialize(taskanaEngine); - TaskanaHistoryEvent eventToBeLogged = new TaskanaHistoryEvent(); + TaskHistoryEvent eventToBeLogged = new TaskHistoryEvent(); eventToBeLogged.setId("someId"); eventToBeLogged.setUserId("someUser"); eventToBeLogged.setEventType("TASK_CREATED"); @@ -54,8 +55,31 @@ class LogfileHistoryServiceImplTest { String logMessage = logger.getLoggingEvents().asList().get(0).getMessage(); - TaskanaHistoryEvent deserializedEventFromLogMessage = - objectMapper.readValue(logMessage, TaskanaHistoryEvent.class); + TaskHistoryEvent deserializedEventFromLogMessage = + objectMapper.readValue(logMessage, TaskHistoryEvent.class); + + assertThat(eventToBeLogged).isEqualTo(deserializedEventFromLogMessage); + } + + @Test + void should_LogWorkbasketEventAsJson_When_CreateIsCalled() throws Exception { + + logfileHistoryServiceImpl.initialize(taskanaEngine); + WorkbasketHistoryEvent eventToBeLogged = new WorkbasketHistoryEvent(); + eventToBeLogged.setId("someId"); + eventToBeLogged.setUserId("someUser"); + eventToBeLogged.setEventType("TASK_CREATED"); + eventToBeLogged.setDomain("DOMAIN_A"); + eventToBeLogged.setCreated(Instant.now()); + eventToBeLogged.setKey("someWorkbasketKey"); + eventToBeLogged.setDetails("someDetails"); + + logfileHistoryServiceImpl.create(eventToBeLogged); + + String logMessage = logger.getLoggingEvents().asList().get(0).getMessage(); + + WorkbasketHistoryEvent deserializedEventFromLogMessage = + objectMapper.readValue(logMessage, WorkbasketHistoryEvent.class); assertThat(eventToBeLogged).isEqualTo(deserializedEventFromLogMessage); } diff --git a/history/taskana-simplehistory-provider/pom.xml b/history/taskana-simplehistory-provider/pom.xml index 25d3bfa3a..676ef1e3b 100644 --- a/history/taskana-simplehistory-provider/pom.xml +++ b/history/taskana-simplehistory-provider/pom.xml @@ -9,8 +9,8 @@ The taskana history events plugin to include in your project. - pro.taskana.history - taskana-history-parent + pro.taskana.simplehistory + taskana-simplehistory-parent 3.2.1-SNAPSHOT ../pom.xml diff --git a/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/WorkbasketHistoryQueryImpl.java b/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/WorkbasketHistoryQueryImpl.java index 27e70070a..2e3bc5fa7 100644 --- a/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/WorkbasketHistoryQueryImpl.java +++ b/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/WorkbasketHistoryQueryImpl.java @@ -40,8 +40,8 @@ public class WorkbasketHistoryQueryImpl implements WorkbasketHistoryQuery { private TimeInterval[] createdIn; private String[] userIdIn; private String[] domainIn; - private String[] workbasketKeyIn; - private String[] workbasketTypeIn; + private String[] keyIn; + private String[] typeIn; private String[] ownerIn; private String[] custom1In; private String[] custom2In; @@ -56,8 +56,8 @@ public class WorkbasketHistoryQueryImpl implements WorkbasketHistoryQuery { private String[] eventTypeLike; private String[] userIdLike; private String[] domainLike; - private String[] workbasketKeyLike; - private String[] workbasketTypeLike; + private String[] keyLike; + private String[] typeLike; private String[] ownerLike; private String[] custom1Like; private String[] custom2Like; @@ -98,12 +98,12 @@ public class WorkbasketHistoryQueryImpl implements WorkbasketHistoryQuery { return domainIn; } - public String[] getWorkbasketKeyIn() { - return workbasketKeyIn; + public String[] getKeyIn() { + return keyIn; } - public String[] getWorkbasketTypeIn() { - return workbasketTypeIn; + public String[] getTypeIn() { + return typeIn; } public String[] getOwnerIn() { @@ -158,12 +158,12 @@ public class WorkbasketHistoryQueryImpl implements WorkbasketHistoryQuery { return domainLike; } - public String[] getWorkbasketKeyLike() { - return workbasketKeyLike; + public String[] getKeyLike() { + return keyLike; } - public String[] getWorkbasketTypeLike() { - return workbasketTypeLike; + public String[] getTypeLike() { + return typeLike; } public String[] getOwnerLike() { @@ -239,14 +239,14 @@ public class WorkbasketHistoryQueryImpl implements WorkbasketHistoryQuery { } @Override - public WorkbasketHistoryQuery workbasketKeyIn(String... workbasketKey) { - this.workbasketKeyIn = toUpperCopy(workbasketKey); + public WorkbasketHistoryQuery keyIn(String... workbasketKey) { + this.keyIn = toUpperCopy(workbasketKey); return this; } @Override - public WorkbasketHistoryQuery workbasketTypeIn(String... workbasketType) { - this.workbasketTypeIn = toUpperCopy(workbasketType); + public WorkbasketHistoryQuery typeIn(String... workbasketType) { + this.typeIn = toUpperCopy(workbasketType); return this; } @@ -330,13 +330,13 @@ public class WorkbasketHistoryQueryImpl implements WorkbasketHistoryQuery { @Override public WorkbasketHistoryQuery workbasketKeyLike(String... workbasketKey) { - this.workbasketKeyLike = toUpperCopy(workbasketKey); + this.keyLike = toUpperCopy(workbasketKey); return this; } @Override public WorkbasketHistoryQuery workbasketTypeLike(String... workbasketType) { - this.workbasketTypeLike = toUpperCopy(workbasketType); + this.typeLike = toUpperCopy(workbasketType); return this; } @@ -420,13 +420,13 @@ public class WorkbasketHistoryQueryImpl implements WorkbasketHistoryQuery { } @Override - public WorkbasketHistoryQuery orderByWorkbasketKey(SortDirection sortDirection) { - return addOrderCriteria("WORKBASKET_KEY", sortDirection); + public WorkbasketHistoryQuery orderByKey(SortDirection sortDirection) { + return addOrderCriteria("KEY", sortDirection); } @Override - public WorkbasketHistoryQuery orderByWorkbasketType(SortDirection sortDirection) { - return addOrderCriteria("WORKBASKET_TYPE", sortDirection); + public WorkbasketHistoryQuery orderByType(SortDirection sortDirection) { + return addOrderCriteria("TYPE", sortDirection); } @Override diff --git a/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/workbasket/WorkbasketHistoryEventMapper.java b/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/workbasket/WorkbasketHistoryEventMapper.java index 0d7ed5669..c28fedc5d 100644 --- a/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/workbasket/WorkbasketHistoryEventMapper.java +++ b/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/workbasket/WorkbasketHistoryEventMapper.java @@ -14,13 +14,13 @@ public interface WorkbasketHistoryEventMapper { @Insert( "