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);
-    }
 }

Reply via email to