This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-3002
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/ISIS-3002 by this push:
new 4591198395 ISIS-3002: JDO command log integ tests almost there
4591198395 is described below
commit 4591198395523b072e4c6250a4fa5015178ca415
Author: Dan Haywood <[email protected]>
AuthorDate: Thu Jul 14 08:42:26 2022 +0100
ISIS-3002: JDO command log integ tests almost there
---
.../applib/mixins/system/DomainChangeRecord.java | 4 +-
enhance.sh | 77 ++++++++++++++++++++++
.../integtest/CommandLogIntegTestAbstract.java | 7 +-
.../commandlog/applib/integtest/model/Counter.java | 3 -
.../applib/integtest/model/CounterRepository.java | 28 ++++++--
.../commandlog/jdo/dom/CommandLogEntry.java | 2 +-
.../commandlog/jdo/CommandLog_IntegTest.java | 2 +-
.../extensions/commandlog/jdo/model/Counter.java | 6 +-
.../commandlog/jdo/model/CounterRepository.java | 30 +--------
.../src/test/resources/application-test.yml | 13 ++--
.../commandlog/jpa/CommandLog_IntegTest.java | 2 +-
.../commandlog/jpa/model/CounterRepository.java | 22 ++-----
12 files changed, 119 insertions(+), 77 deletions(-)
diff --git
a/api/applib/src/main/java/org/apache/isis/applib/mixins/system/DomainChangeRecord.java
b/api/applib/src/main/java/org/apache/isis/applib/mixins/system/DomainChangeRecord.java
index c32ae57861..66a8fdab47 100644
---
a/api/applib/src/main/java/org/apache/isis/applib/mixins/system/DomainChangeRecord.java
+++
b/api/applib/src/main/java/org/apache/isis/applib/mixins/system/DomainChangeRecord.java
@@ -197,11 +197,11 @@ public interface DomainChangeRecord extends
HasInteractionId, HasUsername, HasTa
*/
@Property(
editing = Editing.DISABLED,
- optionality = Optionality.OPTIONAL,
+ optionality = Optionality.MANDATORY,
maxLength = LogicalMemberIdentifier.MAX_LENGTH
)
@Parameter(
- optionality = Optionality.OPTIONAL,
+ optionality = Optionality.MANDATORY,
maxLength = LogicalMemberIdentifier.MAX_LENGTH
)
@java.lang.annotation.Target({ ElementType.METHOD, ElementType.FIELD,
ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
diff --git a/enhance.sh b/enhance.sh
new file mode 100644
index 0000000000..c01f7e8fbe
--- /dev/null
+++ b/enhance.sh
@@ -0,0 +1,77 @@
+#!/usr/bin/env bash
+usage() {
+ #echo "$(basename $0): [-a] [-c] [-e] [-m] [-o] [-s] " >&2
+ echo "$(basename $0): [-c] [-e] [-m] [-s] " >&2
+ #echo " -a : audit trail (extensions/security)" >&2
+ echo " -c : command log (extensions/core)" >&2
+ echo " -e : execution log (extensions/core)" >&2
+ echo " -m : secman (extensions/security)" >&2
+ #echo " -o : execution outbox (extensions/core)" >&2
+ echo " -s : session log (extensions/security)" >&2
+}
+
+
+
+AUDITTRAIL=""
+COMMANDLOG=""
+EXECUTIONLOG=""
+EXECUTIONOUTBOX=""
+SECMAN=""
+SESSIONLOG=""
+
+PATHS=()
+
+#while getopts ":acemosh" arg; do
+while getopts ":cemsh" arg; do
+ case $arg in
+ h)
+ usage
+ exit 0
+ ;;
+# a)
+# AUDITTRAIL="enhance"
+# PATHS+=( "extensions/security/audittrail/persistence-jdo" )
+# ;;
+ c)
+ COMMANDLOG="enhance"
+ PATHS+=( "extensions/core/commandlog/persistence-jdo" )
+ ;;
+ e)
+ EXECUTIONLOG="enhance"
+ PATHS+=( "extensions/core/executionlog/persistence-jdo" )
+ ;;
+ m)
+ SECMAN="enhance"
+ PATHS+=( "extensions/security/secman/persistence-jdo" )
+ ;;
+# o)
+# EXECUTIONOUTBOX="enhance"
+# PATHS+=( "extensions/core/executionoutbox/persistence-jdo" )
+# ;;
+ s)
+ SESSIONLOG="enhance"
+ PATHS+=( "extensions/security/sessionlog/persistence-jdo" )
+ ;;
+ *)
+ usage
+ exit 1
+ esac
+done
+
+shift $((OPTIND-1))
+
+
+echo "AUDITTRAIL : $AUDITTRAIL"
+echo "COMMANDLOG : $COMMANDLOG"
+echo "EXECUTIONLOG : $EXECUTIONLOG"
+echo "EXECUTIONOUTBOX : $EXECUTIONOUTBOX"
+echo "SECMAN : $SECMAN"
+echo "SESSIONLOG : $SESSIONLOG"
+
+
+printf -v PATHS_SPLATTED '%s,' "${PATHS[@]}"
+PL_ARG=$(echo "${PATHS_SPLATTED%,}")
+
+
+echo mvn install -DskipTests -o -T1C -am -pl $PL_ARG
+mvn install -DskipTests -o -T1C -am -pl $PL_ARG
diff --git
a/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/CommandLogIntegTestAbstract.java
b/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/CommandLogIntegTestAbstract.java
index e6c9195dab..d2b7d45ff5 100644
---
a/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/CommandLogIntegTestAbstract.java
+++
b/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/CommandLogIntegTestAbstract.java
@@ -64,6 +64,8 @@ public abstract class CommandLogIntegTestAbstract extends
IsisIntegrationTestAbs
@BeforeEach
void beforeEach() {
+ counterRepository.removeAll();
+ commandLogEntryRepository.removeAll();
counter = createE1();
@@ -85,11 +87,6 @@ public abstract class CommandLogIntegTestAbstract extends
IsisIntegrationTestAbs
protected abstract Counter newCounter();
- @AfterEach
- void afterEach() {
- counterRepository.remove(counter);
- commandLogEntryRepository.removeAll();
- }
@Test
void invoke_mixin() {
diff --git
a/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/model/Counter.java
b/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/model/Counter.java
index 71d445c456..9b1a8a3c29 100644
---
a/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/model/Counter.java
+++
b/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/model/Counter.java
@@ -13,9 +13,6 @@ import org.apache.isis.applib.annotation.Publishing;
@DomainObject(nature = Nature.ENTITY)
public abstract class Counter implements Comparable<Counter> {
- public abstract Long getId();
- public abstract void setId(Long id);
-
@Property(editing = Editing.ENABLED, commandPublishing =
Publishing.ENABLED)
public abstract Long getNum();
public abstract void setNum(Long num);
diff --git
a/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/model/CounterRepository.java
b/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/model/CounterRepository.java
index 08bb352664..528bcb3816 100644
---
a/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/model/CounterRepository.java
+++
b/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/model/CounterRepository.java
@@ -2,14 +2,30 @@ package
org.apache.isis.extensions.commandlog.applib.integtest.model;
import java.util.List;
-import org.springframework.stereotype.Repository;
+import javax.inject.Inject;
-@Repository
-public interface CounterRepository<X extends Counter> {
+import org.apache.isis.applib.services.repository.RepositoryService;
- List<X> find();
+public abstract class CounterRepository<X extends Counter> {
- X persist(X e1);
+ private final Class<X> counterClass;
+
+ public CounterRepository(Class<X> counterClass) {
+ this.counterClass = counterClass;
+ }
+
+ public List<X> find() {
+ return repositoryService.allInstances(counterClass);
+ }
+
+ public X persist(X counter) {
+ return repositoryService.persistAndFlush(counter);
+ }
+
+ public void removeAll() {
+ repositoryService.removeAll(counterClass);
+ }
+
+ @Inject RepositoryService repositoryService;
- void remove(X e1);
}
diff --git
a/extensions/core/commandlog/persistence-jdo/src/main/java/org/apache/isis/extensions/commandlog/jdo/dom/CommandLogEntry.java
b/extensions/core/commandlog/persistence-jdo/src/main/java/org/apache/isis/extensions/commandlog/jdo/dom/CommandLogEntry.java
index 156ad180d7..3fa51c2802 100644
---
a/extensions/core/commandlog/persistence-jdo/src/main/java/org/apache/isis/extensions/commandlog/jdo/dom/CommandLogEntry.java
+++
b/extensions/core/commandlog/persistence-jdo/src/main/java/org/apache/isis/extensions/commandlog/jdo/dom/CommandLogEntry.java
@@ -204,7 +204,7 @@ import lombok.Setter;
public class CommandLogEntry
extends org.apache.isis.extensions.commandlog.applib.dom.CommandLogEntry {
- protected final static String FQCN =
"org.apache.isis.extensions.commandlog.jdo.entities.CommandJdo";
+ protected final static String FQCN =
"org.apache.isis.extensions.commandlog.jdo.dom.CommandLogEntry";
/**
diff --git
a/extensions/core/commandlog/persistence-jdo/src/test/java/org/apache/isis/extensions/commandlog/jdo/CommandLog_IntegTest.java
b/extensions/core/commandlog/persistence-jdo/src/test/java/org/apache/isis/extensions/commandlog/jdo/CommandLog_IntegTest.java
index 6f3c43df5e..7bd3eca97d 100644
---
a/extensions/core/commandlog/persistence-jdo/src/test/java/org/apache/isis/extensions/commandlog/jdo/CommandLog_IntegTest.java
+++
b/extensions/core/commandlog/persistence-jdo/src/test/java/org/apache/isis/extensions/commandlog/jdo/CommandLog_IntegTest.java
@@ -58,7 +58,7 @@ public class CommandLog_IntegTest extends
CommandLogIntegTestAbstract {
protected
org.apache.isis.extensions.commandlog.applib.integtest.model.Counter
newCounter() {
- return Counter.builder().name("Fred").build();
+ return Counter.builder().name("bean-counter").build();
}
}
diff --git
a/extensions/core/commandlog/persistence-jdo/src/test/java/org/apache/isis/extensions/commandlog/jdo/model/Counter.java
b/extensions/core/commandlog/persistence-jdo/src/test/java/org/apache/isis/extensions/commandlog/jdo/model/Counter.java
index 6c503c1344..e25d980f47 100644
---
a/extensions/core/commandlog/persistence-jdo/src/test/java/org/apache/isis/extensions/commandlog/jdo/model/Counter.java
+++
b/extensions/core/commandlog/persistence-jdo/src/test/java/org/apache/isis/extensions/commandlog/jdo/model/Counter.java
@@ -24,7 +24,7 @@ import lombok.Setter;
schema = "public",
table = "Counter"
)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY)
+@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
@Named("commandlog.test.Counter")
@DomainObject(nature = Nature.ENTITY)
@NoArgsConstructor
@@ -32,10 +32,6 @@ import lombok.Setter;
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public class Counter extends
org.apache.isis.extensions.commandlog.applib.integtest.model.Counter {
- @PrimaryKey
- @Getter @Setter
- private Long id;
-
@Column(allowsNull = "false")
@Getter @Setter
private String name;
diff --git
a/extensions/core/commandlog/persistence-jdo/src/test/java/org/apache/isis/extensions/commandlog/jdo/model/CounterRepository.java
b/extensions/core/commandlog/persistence-jdo/src/test/java/org/apache/isis/extensions/commandlog/jdo/model/CounterRepository.java
index 5ceb2d7bd4..a007164d73 100644
---
a/extensions/core/commandlog/persistence-jdo/src/test/java/org/apache/isis/extensions/commandlog/jdo/model/CounterRepository.java
+++
b/extensions/core/commandlog/persistence-jdo/src/test/java/org/apache/isis/extensions/commandlog/jdo/model/CounterRepository.java
@@ -1,36 +1,12 @@
package org.apache.isis.extensions.commandlog.jdo.model;
-import java.util.List;
-
-import javax.inject.Inject;
-
import org.springframework.stereotype.Repository;
-import org.apache.isis.applib.services.repository.RepositoryService;
-
@Repository
public class CounterRepository
- implements
org.apache.isis.extensions.commandlog.applib.integtest.model.CounterRepository<Counter>
{
-
- final RepositoryService repositoryService;
-
- @Inject
- public CounterRepository( RepositoryService repositoryService) {
- this.repositoryService = repositoryService;
- }
-
- @Override
- public List<Counter> find() {
- return repositoryService.allInstances(Counter.class);
- }
-
- @Override
- public Counter persist(Counter counter) {
- return repositoryService.persist(counter);
- }
+ extends
org.apache.isis.extensions.commandlog.applib.integtest.model.CounterRepository<Counter>
{
- @Override
- public void remove(Counter counter) {
- repositoryService.remove(counter);
+ public CounterRepository() {
+ super(Counter.class);
}
}
diff --git
a/extensions/core/commandlog/persistence-jdo/src/test/resources/application-test.yml
b/extensions/core/commandlog/persistence-jdo/src/test/resources/application-test.yml
index 4edf0c2667..7300d77584 100644
---
a/extensions/core/commandlog/persistence-jdo/src/test/resources/application-test.yml
+++
b/extensions/core/commandlog/persistence-jdo/src/test/resources/application-test.yml
@@ -17,13 +17,10 @@
isis:
persistence:
schema:
- auto-create-schemas: "ISISEXTCOMMANDLOG"
+ auto-create-schemas: "ISISEXTSESSIONLOG"
- extensions:
- session-log:
- auto-logout-on-restart: false
-
-spring:
- jpa:
- show-sql: true
+datanucleus:
+ schema:
+ generate-database:
+ mode: "create"
diff --git
a/extensions/core/commandlog/persistence-jpa/src/test/java/org/apache/isis/extensions/commandlog/jpa/CommandLog_IntegTest.java
b/extensions/core/commandlog/persistence-jpa/src/test/java/org/apache/isis/extensions/commandlog/jpa/CommandLog_IntegTest.java
index 977e14212b..2c1c73304f 100644
---
a/extensions/core/commandlog/persistence-jpa/src/test/java/org/apache/isis/extensions/commandlog/jpa/CommandLog_IntegTest.java
+++
b/extensions/core/commandlog/persistence-jpa/src/test/java/org/apache/isis/extensions/commandlog/jpa/CommandLog_IntegTest.java
@@ -59,7 +59,7 @@ public class CommandLog_IntegTest extends
CommandLogIntegTestAbstract {
protected
org.apache.isis.extensions.commandlog.applib.integtest.model.Counter
newCounter() {
- return Counter.builder().name("Fred").build();
+ return Counter.builder().name("my-counter").build();
}
}
diff --git
a/extensions/core/commandlog/persistence-jpa/src/test/java/org/apache/isis/extensions/commandlog/jpa/model/CounterRepository.java
b/extensions/core/commandlog/persistence-jpa/src/test/java/org/apache/isis/extensions/commandlog/jpa/model/CounterRepository.java
index d01c157290..e6a59f95f1 100644
---
a/extensions/core/commandlog/persistence-jpa/src/test/java/org/apache/isis/extensions/commandlog/jpa/model/CounterRepository.java
+++
b/extensions/core/commandlog/persistence-jpa/src/test/java/org/apache/isis/extensions/commandlog/jpa/model/CounterRepository.java
@@ -1,27 +1,13 @@
package org.apache.isis.extensions.commandlog.jpa.model;
-import java.util.List;
-
-import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
-public interface CounterRepository
- extends JpaRepository<Counter, Integer>,
-
org.apache.isis.extensions.commandlog.applib.integtest.model.CounterRepository<Counter>
{
-
- @Override
- default List<Counter> find() {
- return findAll();
- }
+public class CounterRepository
+ extends
org.apache.isis.extensions.commandlog.applib.integtest.model.CounterRepository<Counter>
{
- @Override
- default Counter persist(Counter counter) {
- return save(counter);
+ public CounterRepository() {
+ super(Counter.class);
}
- @Override
- default void remove(Counter counter) {
- delete(counter);
- }
}