You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2022/07/22 15:15:03 UTC
[isis] branch ISIS-3091 updated: ISIS-3091: renames audittrail and sessionlog under 'extensions' subpackage; fleshes out integ tests
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-3091
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/ISIS-3091 by this push:
new 614033b1fd ISIS-3091: renames audittrail and sessionlog under 'extensions' subpackage; fleshes out integ tests
614033b1fd is described below
commit 614033b1fd8061cf861c37607dfcf5f99c70ad88
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Jul 22 16:14:54 2022 +0100
ISIS-3091: renames audittrail and sessionlog under 'extensions' subpackage; fleshes out integ tests
---
.../integtest/CommandLog_IntegTestAbstract.java | 1 -
.../applib/IsisModuleExtAuditTrailApplib.java | 6 +-
.../audittrail/applib/app/AuditTrailMenu.java | 8 +-
.../HasInteractionId_auditTrailEntries.java | 12 +--
.../Object_recentAuditTrailEntries.java | 9 +-
.../audittrail/applib/dom/AuditTrailEntry.java | 4 +-
.../applib/dom/AuditTrailEntry.layout.fallback.xml | 0
.../audittrail/applib/dom/AuditTrailEntry.png | Bin
.../applib/dom/AuditTrailEntryRepository.java | 28 ++++--
...ntityPropertyChangeSubscriberForAuditTrail.java | 10 +--
.../applib/AuditTrailIntegTestAbstract.java | 50 -----------
.../integtests/AuditTrail_IntegTestAbstract.java | 97 +++++++++++++++++++++
.../model/AuditTrailTestDomainModel.java} | 11 +--
.../applib/integtests/model/Counter.java | 76 ++++++++++++++++
.../applib/integtests/model/CounterRepository.java | 56 ++++++++++++
.../integtests/model/Counter_bumpUsingMixin.java} | 19 ++--
...mpUsingMixinWithCommandPublishingDisabled.java} | 19 ++--
.../security/audittrail/persistence-jdo/pom.xml | 2 +
.../jdo/IsisModuleExtAuditTrailPersistenceJdo.java | 2 +-
.../isis/audittrail/jdo/dom/AuditTrailEntry.java | 4 +-
.../jdo/dom/AuditTrailEntryRepository.java | 4 +-
.../jdo/integtests}/AuditTrail_IntegTest.java | 13 ++-
.../audittrail/jdo/integtests/model/Counter.java | 64 ++++++++++++++
.../jdo/integtests/model/CounterRepository.java} | 13 +--
.../jpa/IsisModuleExtAuditTrailPersistenceJpa.java | 9 +-
.../audittrail/jpa/dom/AuditTrailEntry.java | 8 +-
.../jpa/dom/AuditTrailEntryRepository.java | 6 +-
.../jpa/integtests}/AuditTrail_IntegTest.java | 26 +++++-
.../audittrail/jpa/integtests/model/Counter.java | 70 +++++++++++++++
.../jpa/integtests/model/CounterRepository.java} | 14 +--
.../applib/IsisModuleExtSessionLogApplib.java | 8 +-
.../sessionlog/applib/app/SessionLogMenu.java | 8 +-
.../HasUsername_recentSessionsForUser.java | 8 +-
.../applib/dom/SessionLogEntry-expired.png | Bin
.../applib/dom/SessionLogEntry-login.png | Bin
.../applib/dom/SessionLogEntry-logout.png | Bin
.../sessionlog/applib/dom/SessionLogEntry.java | 7 +-
.../applib/dom/SessionLogEntry.layout.fallback.xml | 0
.../applib/dom/SessionLogEntryRepository.java | 2 +-
.../spiimpl/SessionLogServiceInitializer.java | 6 +-
.../spiimpl/SessionSubscriberForSessionLog.java | 8 +-
.../integtests}/SessionLogIntegTestAbstract.java | 6 +-
.../jdo/IsisModuleExtSessionLogPersistenceJdo.java | 8 +-
.../sessionlog/jdo/dom/SessionLogEntry.java | 8 +-
.../jdo}/dom/SessionLogEntryRepository.java | 4 +-
.../jdo/{ => integtests}/SessionLog_IntegTest.java | 12 +--
.../jpa/IsisModuleExtSessionLogPersistenceJpa.java | 11 ++-
.../sessionlog/jpa/dom/SessionLogEntry.java | 7 +-
.../sessionlog/jpa/dom/SessionLogEntryPK.java | 4 +-
.../jpa}/dom/SessionLogEntryRepository.java | 4 +-
.../jpa/integtests}/SessionLog_IntegTest.java | 10 +--
51 files changed, 551 insertions(+), 211 deletions(-)
diff --git a/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/CommandLog_IntegTestAbstract.java b/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/CommandLog_IntegTestAbstract.java
index 62bf04e301..b158206b6d 100644
--- a/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/CommandLog_IntegTestAbstract.java
+++ b/extensions/core/commandlog/applib/src/test/java/org/apache/isis/extensions/commandlog/applib/integtest/CommandLog_IntegTestAbstract.java
@@ -492,7 +492,6 @@ public abstract class CommandLog_IntegTestAbstract extends IsisIntegrationTestAb
@Inject CounterRepository counterRepository;
@Inject WrapperFactory wrapperFactory;
@Inject BookmarkService bookmarkService;
- @Inject TransactionService transactionService;
@Inject IsisBeanTypeRegistry isisBeanTypeRegistry;
}
diff --git a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/IsisModuleExtAuditTrailApplib.java b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/IsisModuleExtAuditTrailApplib.java
similarity index 90%
rename from extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/IsisModuleExtAuditTrailApplib.java
rename to extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/IsisModuleExtAuditTrailApplib.java
index c037cdbcf5..81ab68a2fa 100644
--- a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/IsisModuleExtAuditTrailApplib.java
+++ b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/IsisModuleExtAuditTrailApplib.java
@@ -18,13 +18,13 @@
*
*/
-package org.apache.isis.audittrail.applib;
+package org.apache.isis.extensions.audittrail.applib;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
-import org.apache.isis.audittrail.applib.app.AuditTrailMenu;
-import org.apache.isis.audittrail.applib.spiimpl.EntityPropertyChangeSubscriberForAuditTrail;
+import org.apache.isis.extensions.audittrail.applib.app.AuditTrailMenu;
+import org.apache.isis.extensions.audittrail.applib.spiimpl.EntityPropertyChangeSubscriberForAuditTrail;
@Configuration
@Import({
diff --git a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/app/AuditTrailMenu.java b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/app/AuditTrailMenu.java
similarity index 91%
rename from extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/app/AuditTrailMenu.java
rename to extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/app/AuditTrailMenu.java
index 52cf1bf081..a7c5f9ac80 100644
--- a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/app/AuditTrailMenu.java
+++ b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/app/AuditTrailMenu.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.isis.audittrail.applib.app;
+package org.apache.isis.extensions.audittrail.applib.app;
import java.time.LocalDate;
import java.util.List;
@@ -35,9 +35,9 @@ import org.apache.isis.applib.annotation.MemberSupport;
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.applib.services.clock.ClockService;
-import org.apache.isis.audittrail.applib.IsisModuleExtAuditTrailApplib;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntry;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntryRepository;
+import org.apache.isis.extensions.audittrail.applib.IsisModuleExtAuditTrailApplib;
+import org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntry;
+import org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntryRepository;
import lombok.RequiredArgsConstructor;
diff --git a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/contributions/HasInteractionId_auditTrailEntries.java b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/contributions/HasInteractionId_auditTrailEntries.java
similarity index 78%
rename from extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/contributions/HasInteractionId_auditTrailEntries.java
rename to extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/contributions/HasInteractionId_auditTrailEntries.java
index 236d0aff89..e41c2450aa 100644
--- a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/contributions/HasInteractionId_auditTrailEntries.java
+++ b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/contributions/HasInteractionId_auditTrailEntries.java
@@ -17,22 +17,18 @@
* under the License.
*
*/
-package org.apache.isis.audittrail.applib.contributions;
+package org.apache.isis.extensions.audittrail.applib.contributions;
import java.util.List;
import javax.inject.Inject;
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.Collection;
-import org.apache.isis.applib.annotation.CollectionLayout;
import org.apache.isis.applib.annotation.MemberSupport;
-import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.applib.mixins.system.HasInteractionId;
-import org.apache.isis.audittrail.applib.IsisModuleExtAuditTrailApplib;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntry;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntryRepository;
+import org.apache.isis.extensions.audittrail.applib.IsisModuleExtAuditTrailApplib;
+import org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntry;
+import org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntryRepository;
import lombok.RequiredArgsConstructor;
diff --git a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/contributions/Object_recentAuditTrailEntries.java b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/contributions/Object_recentAuditTrailEntries.java
similarity index 91%
rename from extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/contributions/Object_recentAuditTrailEntries.java
rename to extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/contributions/Object_recentAuditTrailEntries.java
index f8fa039e89..5938c24871 100644
--- a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/contributions/Object_recentAuditTrailEntries.java
+++ b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/contributions/Object_recentAuditTrailEntries.java
@@ -17,11 +17,10 @@
* under the License.
*
*/
-package org.apache.isis.audittrail.applib.contributions;
+package org.apache.isis.extensions.audittrail.applib.contributions;
import java.util.Collections;
import java.util.List;
-import java.util.SortedSet;
import java.util.stream.Collectors;
import javax.inject.Inject;
@@ -34,9 +33,9 @@ import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
import org.apache.isis.applib.services.appfeat.ApplicationFeatureRepository;
import org.apache.isis.applib.services.bookmark.BookmarkService;
import org.apache.isis.applib.services.metamodel.MetaModelService;
-import org.apache.isis.audittrail.applib.IsisModuleExtAuditTrailApplib;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntry;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntryRepository;
+import org.apache.isis.extensions.audittrail.applib.IsisModuleExtAuditTrailApplib;
+import org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntry;
+import org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntryRepository;
import lombok.RequiredArgsConstructor;
import lombok.val;
diff --git a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/dom/AuditTrailEntry.java b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/dom/AuditTrailEntry.java
similarity index 98%
rename from extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/dom/AuditTrailEntry.java
rename to extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/dom/AuditTrailEntry.java
index 5c2db0da51..de98813d5d 100644
--- a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/dom/AuditTrailEntry.java
+++ b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/dom/AuditTrailEntry.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.isis.audittrail.applib.dom;
+package org.apache.isis.extensions.audittrail.applib.dom;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -42,7 +42,7 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.publishing.spi.EntityPropertyChange;
import org.apache.isis.applib.util.ObjectContracts;
import org.apache.isis.applib.util.TitleBuffer;
-import org.apache.isis.audittrail.applib.IsisModuleExtAuditTrailApplib;
+import org.apache.isis.extensions.audittrail.applib.IsisModuleExtAuditTrailApplib;
import org.apache.isis.commons.internal.base._Strings;
import lombok.val;
diff --git a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/dom/AuditTrailEntry.layout.fallback.xml b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/dom/AuditTrailEntry.layout.fallback.xml
similarity index 100%
rename from extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/dom/AuditTrailEntry.layout.fallback.xml
rename to extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/dom/AuditTrailEntry.layout.fallback.xml
diff --git a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/dom/AuditTrailEntry.png b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/dom/AuditTrailEntry.png
similarity index 100%
rename from extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/dom/AuditTrailEntry.png
rename to extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/dom/AuditTrailEntry.png
diff --git a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/dom/AuditTrailEntryRepository.java b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/dom/AuditTrailEntryRepository.java
similarity index 90%
rename from extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/dom/AuditTrailEntryRepository.java
rename to extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/dom/AuditTrailEntryRepository.java
index 20cd9d5f9a..fcbe0de134 100644
--- a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/dom/AuditTrailEntryRepository.java
+++ b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/dom/AuditTrailEntryRepository.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.isis.audittrail.applib.dom;
+package org.apache.isis.extensions.audittrail.applib.dom;
import java.sql.Timestamp;
import java.time.LocalDate;
@@ -34,12 +34,15 @@ import org.apache.isis.applib.services.factory.FactoryService;
import org.apache.isis.applib.services.publishing.spi.EntityPropertyChange;
import org.apache.isis.applib.services.repository.RepositoryService;
+import lombok.AccessLevel;
import lombok.NonNull;
+import lombok.RequiredArgsConstructor;
import lombok.val;
/**
* Provides supporting functionality for querying {@link AuditTrailEntry audit trail entry} entities.
*/
+@RequiredArgsConstructor(access = AccessLevel.PROTECTED)
public abstract class AuditTrailEntryRepository<E extends AuditTrailEntry> {
@Inject RepositoryService repositoryService;
@@ -47,11 +50,6 @@ public abstract class AuditTrailEntryRepository<E extends AuditTrailEntry> {
private final Class<E> auditTrailEntryClass;
- protected AuditTrailEntryRepository(@NonNull Class<E> auditTrailEntryClass) {
- this.auditTrailEntryClass = auditTrailEntryClass;
- }
-
-
public AuditTrailEntry createFor(final EntityPropertyChange change) {
E entry = factoryService.detachedEntity(auditTrailEntryClass);
entry.init(change);
@@ -69,6 +67,7 @@ public abstract class AuditTrailEntryRepository<E extends AuditTrailEntry> {
return repositoryService.allMatches(
Query.named(auditTrailEntryClass, AuditTrailEntry.Nq.FIND_RECENT_BY_TARGET)
.withParameter("target", target)
+ .withLimit(100)
);
}
@@ -80,6 +79,7 @@ public abstract class AuditTrailEntryRepository<E extends AuditTrailEntry> {
Query.named(auditTrailEntryClass, AuditTrailEntry.Nq.FIND_RECENT_BY_TARGET_AND_PROPERTY_ID)
.withParameter("target", target)
.withParameter("propertyId", propertyId)
+ .withLimit(30)
);
}
@@ -151,6 +151,15 @@ public abstract class AuditTrailEntryRepository<E extends AuditTrailEntry> {
return repositoryService.allMatches(query);
}
+ /**
+ * intended for testing only
+ */
+ public List<? extends AuditTrailEntry> findAll() {
+ return repositoryService.allMatches(
+ Query.named(auditTrailEntryClass, AuditTrailEntry.Nq.FIND)
+ );
+ }
+
private static Timestamp toTimestampStartOfDayWithOffset(final LocalDate dt, final int daysOffset) {
return dt!=null
? Timestamp.valueOf(dt.atStartOfDay().plusDays(daysOffset))
@@ -158,4 +167,11 @@ public abstract class AuditTrailEntryRepository<E extends AuditTrailEntry> {
}
+ /**
+ * intended for testing only
+ */
+ public void removeAll() {
+ repositoryService.removeAll(auditTrailEntryClass);
+ }
+
}
diff --git a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/spiimpl/EntityPropertyChangeSubscriberForAuditTrail.java b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/spiimpl/EntityPropertyChangeSubscriberForAuditTrail.java
similarity index 85%
rename from extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/spiimpl/EntityPropertyChangeSubscriberForAuditTrail.java
rename to extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/spiimpl/EntityPropertyChangeSubscriberForAuditTrail.java
index 2e53bcee78..25b42fc48e 100644
--- a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/audittrail/applib/spiimpl/EntityPropertyChangeSubscriberForAuditTrail.java
+++ b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/spiimpl/EntityPropertyChangeSubscriberForAuditTrail.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.isis.audittrail.applib.spiimpl;
+package org.apache.isis.extensions.audittrail.applib.spiimpl;
import javax.annotation.Priority;
import javax.inject.Inject;
@@ -30,16 +30,16 @@ import org.springframework.stereotype.Service;
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.services.publishing.spi.EntityPropertyChange;
import org.apache.isis.applib.services.publishing.spi.EntityPropertyChangeSubscriber;
-import org.apache.isis.audittrail.applib.IsisModuleExtAuditTrailApplib;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntry;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntryRepository;
+import org.apache.isis.extensions.audittrail.applib.IsisModuleExtAuditTrailApplib;
+import org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntry;
+import org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntryRepository;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
/**
* Implementation of the Isis {@link EntityPropertyChangeSubscriber} creates a log
- * entry to the database (the {@link org.apache.isis.audittrail.applib.dom.AuditTrailEntry} entity) each time a
+ * entry to the database (the {@link AuditTrailEntry} entity) each time a
* user either logs on or logs out, or if their session expires.
*/
@Service
diff --git a/extensions/security/audittrail/applib/src/test/java/org/apache/isis/audittrail/applib/AuditTrailIntegTestAbstract.java b/extensions/security/audittrail/applib/src/test/java/org/apache/isis/audittrail/applib/AuditTrailIntegTestAbstract.java
deleted file mode 100644
index b0f9ebddaf..0000000000
--- a/extensions/security/audittrail/applib/src/test/java/org/apache/isis/audittrail/applib/AuditTrailIntegTestAbstract.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.audittrail.applib;
-
-import java.time.Instant;
-import java.util.Date;
-import java.util.UUID;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import javax.inject.Inject;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.springframework.beans.factory.annotation.Qualifier;
-
-import org.apache.isis.applib.annotation.Value;
-import org.apache.isis.applib.services.publishing.spi.EntityPropertyChangeSubscriber;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntry;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntryRepository;
-import org.apache.isis.testing.integtestsupport.applib.IsisIntegrationTestAbstract;
-
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-
-public abstract class AuditTrailIntegTestAbstract extends IsisIntegrationTestAbstract {
-
- @BeforeEach
- void setUp() {
- }
-
-
- @Inject @Qualifier("audittrail") EntityPropertyChangeSubscriber entityPropertyChangeSubscriber;
- @Inject AuditTrailEntryRepository<? extends AuditTrailEntry> auditTrailEntryRepository;
-
-}
diff --git a/extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/AuditTrail_IntegTestAbstract.java b/extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/AuditTrail_IntegTestAbstract.java
new file mode 100644
index 0000000000..56dc65ee48
--- /dev/null
+++ b/extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/AuditTrail_IntegTestAbstract.java
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.extensions.audittrail.applib.integtests;
+
+import java.util.List;
+
+import javax.inject.Inject;
+
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.apache.isis.applib.services.bookmark.Bookmark;
+import org.apache.isis.applib.services.bookmark.BookmarkService;
+import org.apache.isis.applib.services.iactnlayer.InteractionService;
+import org.apache.isis.applib.services.wrapper.WrapperFactory;
+import org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntry;
+import org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntryRepository;
+import org.apache.isis.extensions.audittrail.applib.integtests.model.Counter;
+import org.apache.isis.extensions.audittrail.applib.integtests.model.CounterRepository;
+import org.apache.isis.extensions.audittrail.applib.integtests.model.Counter_bumpUsingMixin;
+import org.apache.isis.core.config.presets.IsisPresets;
+import org.apache.isis.testing.integtestsupport.applib.IsisIntegrationTestAbstract;
+
+public abstract class AuditTrail_IntegTestAbstract extends IsisIntegrationTestAbstract {
+
+ @BeforeAll
+ static void beforeAll() {
+ IsisPresets.forcePrototyping();
+ }
+
+ Counter counter1;
+ Counter counter2;
+
+ @BeforeEach
+ void setUp() {
+ counterRepository.removeAll();
+ auditTrailEntryRepository.removeAll();
+
+ assertThat(counterRepository.find()).isEmpty();
+
+ counter1 = counterRepository.persist(newCounter("counter-1"));
+ counter2 = counterRepository.persist(newCounter("counter-2"));
+
+ assertThat(counterRepository.find()).hasSize(2);
+
+ List<? extends AuditTrailEntry> mostRecentCompleted = auditTrailEntryRepository.findAll();
+ assertThat(mostRecentCompleted).isEmpty();
+ }
+
+ protected abstract Counter newCounter(String name);
+
+ @Test
+ void mixin() {
+
+ // when
+ wrapperFactory.wrapMixin(Counter_bumpUsingMixin.class, counter1).act();
+ interactionService.closeInteractionLayers(); // to flush
+
+ interactionService.openInteraction();
+
+ // then
+ List<? extends AuditTrailEntry> entries = auditTrailEntryRepository.findAll();
+ assertThat(entries).hasSize(4); // Counter has four properties
+
+ Bookmark target = bookmarkService.bookmarkFor(counter1).orElseThrow();
+
+ auditTrailEntryRepository.findRecentByTarget()
+ }
+
+
+ @Inject InteractionService interactionService;
+ @Inject CounterRepository counterRepository;
+ @Inject WrapperFactory wrapperFactory;
+ @Inject BookmarkService bookmarkService;
+ @Inject AuditTrailEntryRepository<? extends AuditTrailEntry> auditTrailEntryRepository;
+
+
+}
diff --git a/extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/sessionlog/jdo/dom/SessionLogEntryRepository.java b/extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/model/AuditTrailTestDomainModel.java
similarity index 72%
copy from extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/sessionlog/jdo/dom/SessionLogEntryRepository.java
copy to extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/model/AuditTrailTestDomainModel.java
index d13bcb502a..cbdc99fbf0 100644
--- a/extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/sessionlog/jdo/dom/SessionLogEntryRepository.java
+++ b/extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/model/AuditTrailTestDomainModel.java
@@ -18,14 +18,7 @@
*
*/
-package org.apache.isis.sessionlog.jdo.dom;
+package org.apache.isis.extensions.audittrail.applib.integtests.model;
-import org.springframework.stereotype.Service;
-
-@Service
-public class SessionLogEntryRepository extends org.apache.isis.sessionlog.applib.dom.SessionLogEntryRepository<SessionLogEntry> {
-
- public SessionLogEntryRepository() {
- super(SessionLogEntry.class);
- }
+public class AuditTrailTestDomainModel {
}
diff --git a/extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/model/Counter.java b/extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/model/Counter.java
new file mode 100644
index 0000000000..751e97ce43
--- /dev/null
+++ b/extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/model/Counter.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.isis.extensions.audittrail.applib.integtests.model;
+
+import javax.inject.Named;
+
+import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.applib.annotation.Editing;
+import org.apache.isis.applib.annotation.Nature;
+import org.apache.isis.applib.annotation.Property;
+import org.apache.isis.applib.annotation.Publishing;
+
+@Named("audittrail.test.Counter")
+@DomainObject(nature = Nature.ENTITY)
+public abstract class Counter implements Comparable<Counter> {
+
+ @Property(
+ editing = Editing.ENABLED,
+ commandPublishing = Publishing.ENABLED
+ )
+ public abstract Long getNum();
+ public abstract void setNum(Long num);
+
+ @Property(
+ editing = Editing.ENABLED,
+ commandPublishing = Publishing.DISABLED
+ )
+ public abstract Long getNum2();
+ public abstract void setNum2(Long num2);
+
+ public abstract String getName();
+ public abstract void setName(String name);
+
+ @Action(commandPublishing = Publishing.ENABLED)
+ public Counter bumpUsingDeclaredAction() {
+ return doBump();
+ }
+
+ @Action(commandPublishing = Publishing.DISABLED)
+ public Counter bumpUsingDeclaredActionWithCommandPublishingDisabled() {
+ return doBump();
+ }
+
+ Counter doBump() {
+ if (getNum() == null) {
+ setNum(1L);
+ } else {
+ setNum(getNum() + 1);
+ }
+ return this;
+ }
+
+ @Override
+ public int compareTo(final Counter o) {
+ return this.getName().compareTo(o.getName());
+ }
+}
diff --git a/extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/model/CounterRepository.java b/extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/model/CounterRepository.java
new file mode 100644
index 0000000000..3bcbd40938
--- /dev/null
+++ b/extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/model/CounterRepository.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.isis.extensions.audittrail.applib.integtests.model;
+
+import java.util.List;
+import java.util.Objects;
+
+import javax.inject.Inject;
+
+import org.apache.isis.applib.services.repository.RepositoryService;
+
+public abstract class CounterRepository<X extends Counter> {
+
+ 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;
+
+ public Counter findByName(String name) {
+ List<X> xes = find();
+ return xes.stream().filter(x -> Objects.equals(x.getName(), name)).findFirst().orElseThrow();
+ }
+}
diff --git a/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/dom/AuditTrailEntryRepository.java b/extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/model/Counter_bumpUsingMixin.java
similarity index 66%
copy from extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/dom/AuditTrailEntryRepository.java
copy to extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/model/Counter_bumpUsingMixin.java
index 55e16bd6e3..5b214c049d 100644
--- a/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/dom/AuditTrailEntryRepository.java
+++ b/extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/model/Counter_bumpUsingMixin.java
@@ -17,16 +17,21 @@
* under the License.
*
*/
-package org.apache.isis.audittrail.jdo.dom;
-import org.springframework.stereotype.Service;
+package org.apache.isis.extensions.audittrail.applib.integtests.model;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntry;
+import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.Publishing;
-@Service
-public class AuditTrailEntryRepository extends org.apache.isis.audittrail.applib.dom.AuditTrailEntryRepository<AuditTrailEntry> {
+import lombok.RequiredArgsConstructor;
- public AuditTrailEntryRepository() {
- super(AuditTrailEntry.class);
+@Action(commandPublishing = Publishing.ENABLED)
+@RequiredArgsConstructor
+public class Counter_bumpUsingMixin {
+
+ private final Counter counter;
+
+ public Counter act() {
+ return counter.doBump();
}
}
diff --git a/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/dom/AuditTrailEntryRepository.java b/extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/model/Counter_bumpUsingMixinWithCommandPublishingDisabled.java
similarity index 64%
copy from extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/dom/AuditTrailEntryRepository.java
copy to extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/model/Counter_bumpUsingMixinWithCommandPublishingDisabled.java
index 55e16bd6e3..fbb3e98f99 100644
--- a/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/dom/AuditTrailEntryRepository.java
+++ b/extensions/security/audittrail/applib/src/test/java/org/apache/isis/extensions/audittrail/applib/integtests/model/Counter_bumpUsingMixinWithCommandPublishingDisabled.java
@@ -17,16 +17,21 @@
* under the License.
*
*/
-package org.apache.isis.audittrail.jdo.dom;
-import org.springframework.stereotype.Service;
+package org.apache.isis.extensions.audittrail.applib.integtests.model;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntry;
+import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.Publishing;
-@Service
-public class AuditTrailEntryRepository extends org.apache.isis.audittrail.applib.dom.AuditTrailEntryRepository<AuditTrailEntry> {
+import lombok.RequiredArgsConstructor;
- public AuditTrailEntryRepository() {
- super(AuditTrailEntry.class);
+@Action(commandPublishing = Publishing.DISABLED)
+@RequiredArgsConstructor
+public class Counter_bumpUsingMixinWithCommandPublishingDisabled {
+
+ private final Counter counter;
+
+ public Counter act() {
+ return counter.doBump();
}
}
diff --git a/extensions/security/audittrail/persistence-jdo/pom.xml b/extensions/security/audittrail/persistence-jdo/pom.xml
index 8bd78c7c09..90a69cff6a 100644
--- a/extensions/security/audittrail/persistence-jdo/pom.xml
+++ b/extensions/security/audittrail/persistence-jdo/pom.xml
@@ -58,6 +58,8 @@
<scope>provided</scope>
</dependency>
+ <!-- testing -->
+
<dependency>
<groupId>org.apache.isis.extensions</groupId>
<artifactId>isis-extensions-audittrail-applib</artifactId>
diff --git a/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/IsisModuleExtAuditTrailPersistenceJdo.java b/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/IsisModuleExtAuditTrailPersistenceJdo.java
index ee75372760..3e77926c9b 100644
--- a/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/IsisModuleExtAuditTrailPersistenceJdo.java
+++ b/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/IsisModuleExtAuditTrailPersistenceJdo.java
@@ -23,7 +23,7 @@ package org.apache.isis.audittrail.jdo;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
-import org.apache.isis.audittrail.applib.IsisModuleExtAuditTrailApplib;
+import org.apache.isis.extensions.audittrail.applib.IsisModuleExtAuditTrailApplib;
import org.apache.isis.audittrail.jdo.dom.AuditTrailEntry;
import org.apache.isis.audittrail.jdo.dom.AuditTrailEntryRepository;
import org.apache.isis.persistence.jdo.datanucleus.IsisModulePersistenceJdoDatanucleus;
diff --git a/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/dom/AuditTrailEntry.java b/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/dom/AuditTrailEntry.java
index b3a95053f2..81ec27d41b 100644
--- a/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/dom/AuditTrailEntry.java
+++ b/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/dom/AuditTrailEntry.java
@@ -42,7 +42,7 @@ import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Editing;
import org.apache.isis.applib.jaxb.PersistentEntityAdapter;
import org.apache.isis.applib.services.bookmark.Bookmark;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntry.Nq;
+import org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntry.Nq;
import lombok.Getter;
import lombok.Setter;
@@ -145,7 +145,7 @@ import lombok.Setter;
editing = Editing.DISABLED
)
public class AuditTrailEntry
-extends org.apache.isis.audittrail.applib.dom.AuditTrailEntry {
+extends org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntry {
static final String FQCN = "org.apache.isis.audittrail.jdo.dom.AuditTrailEntry";
diff --git a/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/dom/AuditTrailEntryRepository.java b/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/dom/AuditTrailEntryRepository.java
index 55e16bd6e3..3fcc3bb3ed 100644
--- a/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/dom/AuditTrailEntryRepository.java
+++ b/extensions/security/audittrail/persistence-jdo/src/main/java/org/apache/isis/audittrail/jdo/dom/AuditTrailEntryRepository.java
@@ -21,10 +21,10 @@ package org.apache.isis.audittrail.jdo.dom;
import org.springframework.stereotype.Service;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntry;
+import org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntry;
@Service
-public class AuditTrailEntryRepository extends org.apache.isis.audittrail.applib.dom.AuditTrailEntryRepository<AuditTrailEntry> {
+public class AuditTrailEntryRepository extends org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntryRepository<AuditTrailEntry> {
public AuditTrailEntryRepository() {
super(AuditTrailEntry.class);
diff --git a/extensions/security/audittrail/persistence-jdo/src/test/java/org/apache/isis/audittrail/jdo/AuditTrail_IntegTest.java b/extensions/security/audittrail/persistence-jdo/src/test/java/org/apache/isis/extensions/audittrail/jdo/integtests/AuditTrail_IntegTest.java
similarity index 77%
rename from extensions/security/audittrail/persistence-jdo/src/test/java/org/apache/isis/audittrail/jdo/AuditTrail_IntegTest.java
rename to extensions/security/audittrail/persistence-jdo/src/test/java/org/apache/isis/extensions/audittrail/jdo/integtests/AuditTrail_IntegTest.java
index 6536dd103a..f4629b8d03 100644
--- a/extensions/security/audittrail/persistence-jdo/src/test/java/org/apache/isis/audittrail/jdo/AuditTrail_IntegTest.java
+++ b/extensions/security/audittrail/persistence-jdo/src/test/java/org/apache/isis/extensions/audittrail/jdo/integtests/AuditTrail_IntegTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.audittrail.jdo;
+package org.apache.isis.extensions.audittrail.jdo.integtests;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -26,18 +26,25 @@ import org.springframework.context.annotation.PropertySource;
import org.springframework.context.annotation.PropertySources;
import org.springframework.test.context.ActiveProfiles;
+import org.apache.isis.extensions.audittrail.applib.integtests.AuditTrail_IntegTestAbstract;
+import org.apache.isis.audittrail.jdo.IsisModuleExtAuditTrailPersistenceJdo;
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
+import org.apache.isis.extensions.audittrail.jdo.integtests.model.Counter;
import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
-import org.apache.isis.sessionlog.applib.AuditTrailIntegTestAbstract;
@SpringBootTest(
classes = AuditTrail_IntegTest.AppManifest.class
)
@ActiveProfiles("test")
-public class AuditTrail_IntegTest extends AuditTrailIntegTestAbstract {
+public class AuditTrail_IntegTest extends AuditTrail_IntegTestAbstract {
+ @Override
+ protected org.apache.isis.extensions.audittrail.applib.integtests.model.Counter newCounter(String name) {
+ return Counter.builder().name(name).build();
+ }
+
@SpringBootConfiguration
@EnableAutoConfiguration
@Import({
diff --git a/extensions/security/audittrail/persistence-jdo/src/test/java/org/apache/isis/extensions/audittrail/jdo/integtests/model/Counter.java b/extensions/security/audittrail/persistence-jdo/src/test/java/org/apache/isis/extensions/audittrail/jdo/integtests/model/Counter.java
new file mode 100644
index 0000000000..d0775f9b29
--- /dev/null
+++ b/extensions/security/audittrail/persistence-jdo/src/test/java/org/apache/isis/extensions/audittrail/jdo/integtests/model/Counter.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.isis.extensions.audittrail.jdo.integtests.model;
+
+import javax.inject.Named;
+import javax.jdo.annotations.Column;
+import javax.jdo.annotations.DatastoreIdentity;
+import javax.jdo.annotations.IdGeneratorStrategy;
+import javax.jdo.annotations.PersistenceCapable;
+
+import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.applib.annotation.Nature;
+
+import lombok.AccessLevel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+@PersistenceCapable(
+ schema = "public",
+ table = "Counter"
+)
+@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
+@Named("audittrail.test.Counter")
+@DomainObject(nature = Nature.ENTITY)
+@NoArgsConstructor
+@Builder
+@AllArgsConstructor(access = AccessLevel.PRIVATE)
+public class Counter extends org.apache.isis.extensions.audittrail.applib.integtests.model.Counter {
+
+ @Column(allowsNull = "false")
+ @Getter @Setter
+ private String name;
+
+ @Column(allowsNull = "true")
+ @Getter @Setter
+ private Long num;
+
+ @Column(allowsNull = "true")
+ @Getter @Setter
+ private Long num2;
+
+
+}
diff --git a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/dom/SessionLogEntryRepository.java b/extensions/security/audittrail/persistence-jdo/src/test/java/org/apache/isis/extensions/audittrail/jdo/integtests/model/CounterRepository.java
similarity index 71%
copy from extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/dom/SessionLogEntryRepository.java
copy to extensions/security/audittrail/persistence-jdo/src/test/java/org/apache/isis/extensions/audittrail/jdo/integtests/model/CounterRepository.java
index fc0609083a..0ccf52308a 100644
--- a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/dom/SessionLogEntryRepository.java
+++ b/extensions/security/audittrail/persistence-jdo/src/test/java/org/apache/isis/extensions/audittrail/jdo/integtests/model/CounterRepository.java
@@ -18,14 +18,15 @@
*
*/
-package org.apache.isis.sessionlog.jpa.dom;
+package org.apache.isis.extensions.audittrail.jdo.integtests.model;
-import org.springframework.stereotype.Service;
+import org.springframework.stereotype.Repository;
-@Service
-public class SessionLogEntryRepository extends org.apache.isis.sessionlog.applib.dom.SessionLogEntryRepository<SessionLogEntry> {
+@Repository
+public class CounterRepository
+ extends org.apache.isis.extensions.audittrail.applib.integtests.model.CounterRepository<Counter> {
- public SessionLogEntryRepository() {
- super(SessionLogEntry.class);
+ public CounterRepository() {
+ super(Counter.class);
}
}
diff --git a/extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/audittrail/jpa/IsisModuleExtAuditTrailPersistenceJpa.java b/extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/extensions/audittrail/jpa/IsisModuleExtAuditTrailPersistenceJpa.java
similarity index 86%
rename from extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/audittrail/jpa/IsisModuleExtAuditTrailPersistenceJpa.java
rename to extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/extensions/audittrail/jpa/IsisModuleExtAuditTrailPersistenceJpa.java
index 44eec06f3b..b597434e6e 100644
--- a/extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/audittrail/jpa/IsisModuleExtAuditTrailPersistenceJpa.java
+++ b/extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/extensions/audittrail/jpa/IsisModuleExtAuditTrailPersistenceJpa.java
@@ -18,20 +18,19 @@
*
*/
-package org.apache.isis.audittrail.jpa;
+package org.apache.isis.extensions.audittrail.jpa;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
-import org.apache.isis.audittrail.applib.IsisModuleExtAuditTrailApplib;
-import org.apache.isis.audittrail.jpa.dom.AuditTrailEntry;
-import org.apache.isis.audittrail.jpa.dom.AuditTrailEntryRepository;
+import org.apache.isis.extensions.audittrail.applib.IsisModuleExtAuditTrailApplib;
+import org.apache.isis.extensions.audittrail.jpa.dom.AuditTrailEntry;
+import org.apache.isis.extensions.audittrail.jpa.dom.AuditTrailEntryRepository;
import org.apache.isis.persistence.jpa.eclipselink.IsisModulePersistenceJpaEclipselink;
import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
import org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
-import org.apache.isis.testing.fixtures.applib.teardown.jdo.TeardownFixtureJdoAbstract;
import org.apache.isis.testing.fixtures.applib.teardown.jpa.TeardownFixtureJpaAbstract;
diff --git a/extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/audittrail/jpa/dom/AuditTrailEntry.java b/extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/extensions/audittrail/jpa/dom/AuditTrailEntry.java
similarity index 96%
rename from extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/audittrail/jpa/dom/AuditTrailEntry.java
rename to extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/extensions/audittrail/jpa/dom/AuditTrailEntry.java
index bdc2ec9efb..d9045f906b 100644
--- a/extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/audittrail/jpa/dom/AuditTrailEntry.java
+++ b/extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/extensions/audittrail/jpa/dom/AuditTrailEntry.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.isis.audittrail.jpa.dom;
+package org.apache.isis.extensions.audittrail.jpa.dom;
import java.util.UUID;
@@ -33,7 +33,6 @@ import javax.persistence.Index;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
-import javax.persistence.UniqueConstraint;
import javax.persistence.Version;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
@@ -41,13 +40,12 @@ import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Editing;
import org.apache.isis.applib.jaxb.PersistentEntityAdapter;
import org.apache.isis.applib.services.bookmark.Bookmark;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntry.Nq;
+import org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntry.Nq;
import org.apache.isis.persistence.jpa.applib.integration.IsisEntityListener;
import org.apache.isis.persistence.jpa.integration.typeconverters.applib.IsisBookmarkConverter;
import org.apache.isis.persistence.jpa.integration.typeconverters.java.util.JavaUtilUuidConverter;
import lombok.Getter;
-import lombok.NoArgsConstructor;
import lombok.Setter;
@Entity
@Table(
@@ -145,7 +143,7 @@ import lombok.Setter;
editing = Editing.DISABLED
)
public class AuditTrailEntry
-extends org.apache.isis.audittrail.applib.dom.AuditTrailEntry {
+extends org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntry {
static final String FQCN = "org.apache.isis.audittrail.jdo.dom.AuditTrailEntry";
diff --git a/extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/audittrail/jpa/dom/AuditTrailEntryRepository.java b/extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/extensions/audittrail/jpa/dom/AuditTrailEntryRepository.java
similarity index 78%
rename from extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/audittrail/jpa/dom/AuditTrailEntryRepository.java
rename to extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/extensions/audittrail/jpa/dom/AuditTrailEntryRepository.java
index fdb7284daf..597d0cf08a 100644
--- a/extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/audittrail/jpa/dom/AuditTrailEntryRepository.java
+++ b/extensions/security/audittrail/persistence-jpa/src/main/java/org/apache/isis/extensions/audittrail/jpa/dom/AuditTrailEntryRepository.java
@@ -17,14 +17,14 @@
* under the License.
*
*/
-package org.apache.isis.audittrail.jpa.dom;
+package org.apache.isis.extensions.audittrail.jpa.dom;
import org.springframework.stereotype.Service;
-import org.apache.isis.audittrail.applib.dom.AuditTrailEntry;
+import org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntry;
@Service
-public class AuditTrailEntryRepository extends org.apache.isis.audittrail.applib.dom.AuditTrailEntryRepository<AuditTrailEntry> {
+public class AuditTrailEntryRepository extends org.apache.isis.extensions.audittrail.applib.dom.AuditTrailEntryRepository<AuditTrailEntry> {
public AuditTrailEntryRepository() {
super(AuditTrailEntry.class);
diff --git a/extensions/security/audittrail/persistence-jpa/src/test/java/org/apache/isis/audittrail/jpa/AuditTrail_IntegTest.java b/extensions/security/audittrail/persistence-jpa/src/test/java/org/apache/isis/extensions/audittrail/jpa/integtests/AuditTrail_IntegTest.java
similarity index 63%
rename from extensions/security/audittrail/persistence-jpa/src/test/java/org/apache/isis/audittrail/jpa/AuditTrail_IntegTest.java
rename to extensions/security/audittrail/persistence-jpa/src/test/java/org/apache/isis/extensions/audittrail/jpa/integtests/AuditTrail_IntegTest.java
index 089e6b04f8..1c16f421c3 100644
--- a/extensions/security/audittrail/persistence-jpa/src/test/java/org/apache/isis/audittrail/jpa/AuditTrail_IntegTest.java
+++ b/extensions/security/audittrail/persistence-jpa/src/test/java/org/apache/isis/extensions/audittrail/jpa/integtests/AuditTrail_IntegTest.java
@@ -16,8 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.audittrail.jpa;
+package org.apache.isis.extensions.audittrail.jpa.integtests;
+import javax.inject.Inject;
+
+import org.assertj.core.api.Assumptions;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
@@ -26,16 +31,25 @@ import org.springframework.context.annotation.PropertySource;
import org.springframework.context.annotation.PropertySources;
import org.springframework.test.context.ActiveProfiles;
-import org.apache.isis.audittrail.applib.AuditTrailIntegTestAbstract;
+import org.apache.isis.core.config.beans.IsisBeanTypeRegistry;
+import org.apache.isis.extensions.audittrail.applib.integtests.AuditTrail_IntegTestAbstract;
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
+import org.apache.isis.extensions.audittrail.jpa.IsisModuleExtAuditTrailPersistenceJpa;
+import org.apache.isis.extensions.audittrail.jpa.integtests.model.Counter;
import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
@SpringBootTest(
classes = AuditTrail_IntegTest.AppManifest.class
)
@ActiveProfiles("test")
-public class AuditTrail_IntegTest extends AuditTrailIntegTestAbstract {
+public class AuditTrail_IntegTest extends AuditTrail_IntegTestAbstract {
+
+
+ @Override
+ protected org.apache.isis.extensions.audittrail.applib.integtests.model.Counter newCounter(String name) {
+ return Counter.builder().name(name).build();
+ }
@SpringBootConfiguration
@@ -51,5 +65,11 @@ public class AuditTrail_IntegTest extends AuditTrailIntegTestAbstract {
public static class AppManifest {
}
+ @BeforeEach()
+ void checkStack() {
+ // currently disabled for JPA, since EntityPropertyChangePublisher still to be implemented.
+ Assumptions.assumeThat(isisBeanTypeRegistry.determineCurrentPersistenceStack().isJpa()).isFalse();
+ }
+ @Inject IsisBeanTypeRegistry isisBeanTypeRegistry;
}
diff --git a/extensions/security/audittrail/persistence-jpa/src/test/java/org/apache/isis/extensions/audittrail/jpa/integtests/model/Counter.java b/extensions/security/audittrail/persistence-jpa/src/test/java/org/apache/isis/extensions/audittrail/jpa/integtests/model/Counter.java
new file mode 100644
index 0000000000..f477634eb2
--- /dev/null
+++ b/extensions/security/audittrail/persistence-jpa/src/test/java/org/apache/isis/extensions/audittrail/jpa/integtests/model/Counter.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.isis.extensions.audittrail.jpa.integtests.model;
+
+import javax.inject.Named;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.applib.annotation.Nature;
+
+import lombok.AccessLevel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+@Entity
+@Table(
+ schema = "public",
+ name = "Counter"
+)
+@Named("audittrail.test.Counter")
+@DomainObject(nature = Nature.ENTITY)
+@NoArgsConstructor
+@Builder
+@AllArgsConstructor(access = AccessLevel.PRIVATE)
+public class Counter extends org.apache.isis.extensions.audittrail.applib.integtests.model.Counter {
+
+ @Id
+ @GeneratedValue
+ @Getter @Setter
+ private Long id;
+
+ @Column(nullable = false)
+ @Getter @Setter
+ private String name;
+
+ @Column(nullable = true)
+ @Getter @Setter
+ private Long num;
+
+ @Column(nullable = true)
+ @Getter @Setter
+ private Long num2;
+
+
+}
diff --git a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/dom/SessionLogEntryRepository.java b/extensions/security/audittrail/persistence-jpa/src/test/java/org/apache/isis/extensions/audittrail/jpa/integtests/model/CounterRepository.java
similarity index 71%
copy from extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/dom/SessionLogEntryRepository.java
copy to extensions/security/audittrail/persistence-jpa/src/test/java/org/apache/isis/extensions/audittrail/jpa/integtests/model/CounterRepository.java
index fc0609083a..e50a02554a 100644
--- a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/dom/SessionLogEntryRepository.java
+++ b/extensions/security/audittrail/persistence-jpa/src/test/java/org/apache/isis/extensions/audittrail/jpa/integtests/model/CounterRepository.java
@@ -18,14 +18,16 @@
*
*/
-package org.apache.isis.sessionlog.jpa.dom;
+package org.apache.isis.extensions.audittrail.jpa.integtests.model;
-import org.springframework.stereotype.Service;
+import org.springframework.stereotype.Repository;
-@Service
-public class SessionLogEntryRepository extends org.apache.isis.sessionlog.applib.dom.SessionLogEntryRepository<SessionLogEntry> {
+@Repository
+public class CounterRepository
+ extends org.apache.isis.extensions.commandlog.applib.integtest.model.CounterRepository<Counter> {
- public SessionLogEntryRepository() {
- super(SessionLogEntry.class);
+ public CounterRepository() {
+ super(Counter.class);
}
+
}
diff --git a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/IsisModuleExtSessionLogApplib.java b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/IsisModuleExtSessionLogApplib.java
similarity index 87%
rename from extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/IsisModuleExtSessionLogApplib.java
rename to extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/IsisModuleExtSessionLogApplib.java
index 1cfa3b478d..270dcfbcd9 100644
--- a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/IsisModuleExtSessionLogApplib.java
+++ b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/IsisModuleExtSessionLogApplib.java
@@ -18,14 +18,14 @@
*
*/
-package org.apache.isis.sessionlog.applib;
+package org.apache.isis.extensions.sessionlog.applib;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
-import org.apache.isis.sessionlog.applib.app.SessionLogMenu;
-import org.apache.isis.sessionlog.applib.spiimpl.SessionSubscriberForSessionLog;
-import org.apache.isis.sessionlog.applib.spiimpl.SessionLogServiceInitializer;
+import org.apache.isis.extensions.sessionlog.applib.app.SessionLogMenu;
+import org.apache.isis.extensions.sessionlog.applib.spiimpl.SessionSubscriberForSessionLog;
+import org.apache.isis.extensions.sessionlog.applib.spiimpl.SessionLogServiceInitializer;
@Configuration
diff --git a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/app/SessionLogMenu.java b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/app/SessionLogMenu.java
similarity index 92%
rename from extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/app/SessionLogMenu.java
rename to extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/app/SessionLogMenu.java
index 5a3e0be002..a126a31655 100644
--- a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/app/SessionLogMenu.java
+++ b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/app/SessionLogMenu.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.isis.sessionlog.applib.app;
+package org.apache.isis.extensions.sessionlog.applib.app;
import java.time.LocalDate;
import java.util.List;
@@ -35,9 +35,9 @@ import org.apache.isis.applib.annotation.DomainServiceLayout;
import org.apache.isis.applib.annotation.MemberSupport;
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.sessionlog.applib.IsisModuleExtSessionLogApplib;
-import org.apache.isis.sessionlog.applib.dom.SessionLogEntry;
-import org.apache.isis.sessionlog.applib.dom.SessionLogEntryRepository;
+import org.apache.isis.extensions.sessionlog.applib.IsisModuleExtSessionLogApplib;
+import org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntry;
+import org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntryRepository;
import lombok.RequiredArgsConstructor;
diff --git a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/contributions/HasUsername_recentSessionsForUser.java b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/contributions/HasUsername_recentSessionsForUser.java
similarity index 87%
rename from extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/contributions/HasUsername_recentSessionsForUser.java
rename to extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/contributions/HasUsername_recentSessionsForUser.java
index 025b1158a3..93fb4ea29e 100644
--- a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/contributions/HasUsername_recentSessionsForUser.java
+++ b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/contributions/HasUsername_recentSessionsForUser.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.isis.sessionlog.applib.contributions;
+package org.apache.isis.extensions.sessionlog.applib.contributions;
import java.util.Collections;
import java.util.List;
@@ -30,9 +30,9 @@ import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.MemberSupport;
import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.applib.mixins.security.HasUsername;
-import org.apache.isis.sessionlog.applib.IsisModuleExtSessionLogApplib;
-import org.apache.isis.sessionlog.applib.dom.SessionLogEntry;
-import org.apache.isis.sessionlog.applib.dom.SessionLogEntryRepository;
+import org.apache.isis.extensions.sessionlog.applib.IsisModuleExtSessionLogApplib;
+import org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntry;
+import org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntryRepository;
import lombok.RequiredArgsConstructor;
diff --git a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/dom/SessionLogEntry-expired.png b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/dom/SessionLogEntry-expired.png
similarity index 100%
rename from extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/dom/SessionLogEntry-expired.png
rename to extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/dom/SessionLogEntry-expired.png
diff --git a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/dom/SessionLogEntry-login.png b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/dom/SessionLogEntry-login.png
similarity index 100%
rename from extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/dom/SessionLogEntry-login.png
rename to extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/dom/SessionLogEntry-login.png
diff --git a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/dom/SessionLogEntry-logout.png b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/dom/SessionLogEntry-logout.png
similarity index 100%
rename from extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/dom/SessionLogEntry-logout.png
rename to extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/dom/SessionLogEntry-logout.png
diff --git a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/dom/SessionLogEntry.java b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/dom/SessionLogEntry.java
similarity index 98%
rename from extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/dom/SessionLogEntry.java
rename to extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/dom/SessionLogEntry.java
index e648816e91..df740afc52 100644
--- a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/dom/SessionLogEntry.java
+++ b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/dom/SessionLogEntry.java
@@ -18,14 +18,13 @@
*
*/
-package org.apache.isis.sessionlog.applib.dom;
+package org.apache.isis.extensions.sessionlog.applib.dom;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.sql.Timestamp;
-import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.UUID;
@@ -48,11 +47,9 @@ import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.layout.component.CssClassFaPosition;
import org.apache.isis.applib.mixins.security.HasUsername;
-import org.apache.isis.applib.mixins.system.DomainChangeRecord;
-import org.apache.isis.applib.mixins.system.HasInteractionId;
import org.apache.isis.applib.services.session.SessionSubscriber;
import org.apache.isis.applib.util.ObjectContracts;
-import org.apache.isis.sessionlog.applib.IsisModuleExtSessionLogApplib;
+import org.apache.isis.extensions.sessionlog.applib.IsisModuleExtSessionLogApplib;
import lombok.experimental.UtilityClass;
diff --git a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/dom/SessionLogEntry.layout.fallback.xml b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/dom/SessionLogEntry.layout.fallback.xml
similarity index 100%
rename from extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/dom/SessionLogEntry.layout.fallback.xml
rename to extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/dom/SessionLogEntry.layout.fallback.xml
diff --git a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/dom/SessionLogEntryRepository.java b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/dom/SessionLogEntryRepository.java
similarity index 99%
rename from extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/dom/SessionLogEntryRepository.java
rename to extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/dom/SessionLogEntryRepository.java
index 1c3ebbdf1f..4d1c703815 100644
--- a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/dom/SessionLogEntryRepository.java
+++ b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/dom/SessionLogEntryRepository.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.isis.sessionlog.applib.dom;
+package org.apache.isis.extensions.sessionlog.applib.dom;
import java.sql.Timestamp;
import java.time.LocalDate;
diff --git a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/spiimpl/SessionLogServiceInitializer.java b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/spiimpl/SessionLogServiceInitializer.java
similarity index 89%
rename from extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/spiimpl/SessionLogServiceInitializer.java
rename to extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/spiimpl/SessionLogServiceInitializer.java
index e39197bfc1..ebd74e812a 100644
--- a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/spiimpl/SessionLogServiceInitializer.java
+++ b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/spiimpl/SessionLogServiceInitializer.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.isis.sessionlog.applib.spiimpl;
+package org.apache.isis.extensions.sessionlog.applib.spiimpl;
import javax.inject.Inject;
@@ -28,8 +28,8 @@ import org.apache.isis.applib.events.metamodel.MetamodelListener;
import org.apache.isis.applib.services.clock.ClockService;
import org.apache.isis.applib.services.iactnlayer.InteractionService;
import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.sessionlog.applib.dom.SessionLogEntry;
-import org.apache.isis.sessionlog.applib.dom.SessionLogEntryRepository;
+import org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntry;
+import org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntryRepository;
import lombok.RequiredArgsConstructor;
import lombok.val;
diff --git a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/spiimpl/SessionSubscriberForSessionLog.java b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/spiimpl/SessionSubscriberForSessionLog.java
similarity index 90%
rename from extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/spiimpl/SessionSubscriberForSessionLog.java
rename to extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/spiimpl/SessionSubscriberForSessionLog.java
index 3104ad34f7..34e8c131ca 100644
--- a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/sessionlog/applib/spiimpl/SessionSubscriberForSessionLog.java
+++ b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/spiimpl/SessionSubscriberForSessionLog.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.isis.sessionlog.applib.spiimpl;
+package org.apache.isis.extensions.sessionlog.applib.spiimpl;
import java.sql.Timestamp;
import java.util.Date;
@@ -34,9 +34,9 @@ import org.springframework.stereotype.Service;
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.services.clock.ClockService;
import org.apache.isis.applib.services.session.SessionSubscriber;
-import org.apache.isis.sessionlog.applib.IsisModuleExtSessionLogApplib;
-import org.apache.isis.sessionlog.applib.dom.SessionLogEntry;
-import org.apache.isis.sessionlog.applib.dom.SessionLogEntryRepository;
+import org.apache.isis.extensions.sessionlog.applib.IsisModuleExtSessionLogApplib;
+import org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntry;
+import org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntryRepository;
import lombok.RequiredArgsConstructor;
import lombok.val;
diff --git a/extensions/security/sessionlog/applib/src/test/java/org/apache/isis/sessionlog/applib/SessionLogIntegTestAbstract.java b/extensions/security/sessionlog/applib/src/test/java/org/apache/isis/extensions/sessionlog/applib/integtests/SessionLogIntegTestAbstract.java
similarity index 96%
rename from extensions/security/sessionlog/applib/src/test/java/org/apache/isis/sessionlog/applib/SessionLogIntegTestAbstract.java
rename to extensions/security/sessionlog/applib/src/test/java/org/apache/isis/extensions/sessionlog/applib/integtests/SessionLogIntegTestAbstract.java
index 10963f788f..fab72f52e6 100644
--- a/extensions/security/sessionlog/applib/src/test/java/org/apache/isis/sessionlog/applib/SessionLogIntegTestAbstract.java
+++ b/extensions/security/sessionlog/applib/src/test/java/org/apache/isis/extensions/sessionlog/applib/integtests/SessionLogIntegTestAbstract.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.sessionlog.applib;
+package org.apache.isis.extensions.sessionlog.applib.integtests;
import java.sql.Timestamp;
import java.time.Duration;
@@ -36,8 +36,8 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.apache.isis.applib.annotation.Value;
import org.apache.isis.applib.services.session.SessionSubscriber;
-import org.apache.isis.sessionlog.applib.dom.SessionLogEntry;
-import org.apache.isis.sessionlog.applib.dom.SessionLogEntryRepository;
+import org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntry;
+import org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntryRepository;
import org.apache.isis.testing.integtestsupport.applib.IsisIntegrationTestAbstract;
import lombok.Getter;
diff --git a/extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/sessionlog/jdo/IsisModuleExtSessionLogPersistenceJdo.java b/extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/extensions/sessionlog/jdo/IsisModuleExtSessionLogPersistenceJdo.java
similarity index 87%
rename from extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/sessionlog/jdo/IsisModuleExtSessionLogPersistenceJdo.java
rename to extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/extensions/sessionlog/jdo/IsisModuleExtSessionLogPersistenceJdo.java
index c53ae226ea..ccc3c24e45 100644
--- a/extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/sessionlog/jdo/IsisModuleExtSessionLogPersistenceJdo.java
+++ b/extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/extensions/sessionlog/jdo/IsisModuleExtSessionLogPersistenceJdo.java
@@ -18,15 +18,15 @@
*
*/
-package org.apache.isis.sessionlog.jdo;
+package org.apache.isis.extensions.sessionlog.jdo;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.apache.isis.persistence.jdo.datanucleus.IsisModulePersistenceJdoDatanucleus;
-import org.apache.isis.sessionlog.applib.IsisModuleExtSessionLogApplib;
-import org.apache.isis.sessionlog.jdo.dom.SessionLogEntry;
-import org.apache.isis.sessionlog.jdo.dom.SessionLogEntryRepository;
+import org.apache.isis.extensions.sessionlog.applib.IsisModuleExtSessionLogApplib;
+import org.apache.isis.extensions.sessionlog.jdo.dom.SessionLogEntry;
+import org.apache.isis.extensions.sessionlog.jdo.dom.SessionLogEntryRepository;
import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
import org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
diff --git a/extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/sessionlog/jdo/dom/SessionLogEntry.java b/extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/extensions/sessionlog/jdo/dom/SessionLogEntry.java
similarity index 95%
rename from extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/sessionlog/jdo/dom/SessionLogEntry.java
rename to extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/extensions/sessionlog/jdo/dom/SessionLogEntry.java
index 512dff9bc2..cc2b546a2f 100644
--- a/extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/sessionlog/jdo/dom/SessionLogEntry.java
+++ b/extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/extensions/sessionlog/jdo/dom/SessionLogEntry.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.isis.sessionlog.jdo.dom;
+package org.apache.isis.extensions.sessionlog.jdo.dom;
import java.sql.Timestamp;
import java.util.UUID;
@@ -34,7 +34,7 @@ import javax.jdo.annotations.Query;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Editing;
import org.apache.isis.applib.services.session.SessionSubscriber;
-import org.apache.isis.sessionlog.applib.dom.SessionLogEntry.Nq;
+import org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntry.Nq;
import lombok.Getter;
import lombok.Setter;
@@ -138,9 +138,9 @@ import lombok.Setter;
@DomainObject(
editing = Editing.DISABLED
)
-public class SessionLogEntry extends org.apache.isis.sessionlog.applib.dom.SessionLogEntry {
+public class SessionLogEntry extends org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntry {
- public static final String FQCN = "org.apache.isis.sessionlog.jdo.dom.SessionLogEntry";
+ public static final String FQCN = "org.apache.isis.extensions.sessionlog.jdo.dom.SessionLogEntry";
public SessionLogEntry(
final UUID sessionGuid,
diff --git a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/dom/SessionLogEntryRepository.java b/extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/extensions/sessionlog/jdo/dom/SessionLogEntryRepository.java
similarity index 83%
rename from extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/dom/SessionLogEntryRepository.java
rename to extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/extensions/sessionlog/jdo/dom/SessionLogEntryRepository.java
index fc0609083a..56244fa413 100644
--- a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/dom/SessionLogEntryRepository.java
+++ b/extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/extensions/sessionlog/jdo/dom/SessionLogEntryRepository.java
@@ -18,12 +18,12 @@
*
*/
-package org.apache.isis.sessionlog.jpa.dom;
+package org.apache.isis.extensions.sessionlog.jdo.dom;
import org.springframework.stereotype.Service;
@Service
-public class SessionLogEntryRepository extends org.apache.isis.sessionlog.applib.dom.SessionLogEntryRepository<SessionLogEntry> {
+public class SessionLogEntryRepository extends org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntryRepository<SessionLogEntry> {
public SessionLogEntryRepository() {
super(SessionLogEntry.class);
diff --git a/extensions/security/sessionlog/persistence-jdo/src/test/java/org/apache/isis/sessionlog/jdo/SessionLog_IntegTest.java b/extensions/security/sessionlog/persistence-jdo/src/test/java/org/apache/isis/sessionlog/jdo/integtests/SessionLog_IntegTest.java
similarity index 86%
rename from extensions/security/sessionlog/persistence-jdo/src/test/java/org/apache/isis/sessionlog/jdo/SessionLog_IntegTest.java
rename to extensions/security/sessionlog/persistence-jdo/src/test/java/org/apache/isis/sessionlog/jdo/integtests/SessionLog_IntegTest.java
index 0ae5371dea..0d391005cc 100644
--- a/extensions/security/sessionlog/persistence-jdo/src/test/java/org/apache/isis/sessionlog/jdo/SessionLog_IntegTest.java
+++ b/extensions/security/sessionlog/persistence-jdo/src/test/java/org/apache/isis/sessionlog/jdo/integtests/SessionLog_IntegTest.java
@@ -16,12 +16,8 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.sessionlog.jdo;
+package org.apache.isis.sessionlog.jdo.integtests;
-import javax.inject.Inject;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
@@ -33,10 +29,8 @@ import org.springframework.test.context.ActiveProfiles;
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
-import org.apache.isis.sessionlog.applib.SessionLogIntegTestAbstract;
-import org.apache.isis.sessionlog.jdo.dom.SessionLogEntryRepository;
-
-import lombok.Getter;
+import org.apache.isis.extensions.sessionlog.applib.integtests.SessionLogIntegTestAbstract;
+import org.apache.isis.extensions.sessionlog.jdo.IsisModuleExtSessionLogPersistenceJdo;
@SpringBootTest(
classes = SessionLog_IntegTest.AppManifest.class
diff --git a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/IsisModuleExtSessionLogPersistenceJpa.java b/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/IsisModuleExtSessionLogPersistenceJpa.java
similarity index 85%
rename from extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/IsisModuleExtSessionLogPersistenceJpa.java
rename to extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/IsisModuleExtSessionLogPersistenceJpa.java
index 8c84444c62..49a4f22f8d 100644
--- a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/IsisModuleExtSessionLogPersistenceJpa.java
+++ b/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/IsisModuleExtSessionLogPersistenceJpa.java
@@ -18,21 +18,20 @@
*
*/
-package org.apache.isis.sessionlog.jpa;
+package org.apache.isis.extensions.sessionlog.jpa;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.apache.isis.persistence.jpa.eclipselink.IsisModulePersistenceJpaEclipselink;
-import org.apache.isis.sessionlog.applib.IsisModuleExtSessionLogApplib;
-import org.apache.isis.sessionlog.jpa.dom.SessionLogEntry;
-import org.apache.isis.sessionlog.jpa.dom.SessionLogEntryPK;
-import org.apache.isis.sessionlog.jpa.dom.SessionLogEntryRepository;
+import org.apache.isis.extensions.sessionlog.applib.IsisModuleExtSessionLogApplib;
+import org.apache.isis.extensions.sessionlog.jpa.dom.SessionLogEntry;
+import org.apache.isis.extensions.sessionlog.jpa.dom.SessionLogEntryPK;
+import org.apache.isis.extensions.sessionlog.jpa.dom.SessionLogEntryRepository;
import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
import org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
-import org.apache.isis.testing.fixtures.applib.teardown.jdo.TeardownFixtureJdoAbstract;
import org.apache.isis.testing.fixtures.applib.teardown.jpa.TeardownFixtureJpaAbstract;
diff --git a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/dom/SessionLogEntry.java b/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntry.java
similarity index 96%
rename from extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/dom/SessionLogEntry.java
rename to extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntry.java
index e83f639224..5172df323f 100644
--- a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/dom/SessionLogEntry.java
+++ b/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntry.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.isis.sessionlog.jpa.dom;
+package org.apache.isis.extensions.sessionlog.jpa.dom;
import java.sql.Timestamp;
import java.util.UUID;
@@ -28,7 +28,6 @@ import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
-import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
@@ -38,7 +37,7 @@ import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Editing;
import org.apache.isis.applib.services.session.SessionSubscriber;
import org.apache.isis.persistence.jpa.applib.integration.IsisEntityListener;
-import org.apache.isis.sessionlog.applib.dom.SessionLogEntry.Nq;
+import org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntry.Nq;
import lombok.Getter;
import lombok.Setter;
@@ -144,7 +143,7 @@ import lombok.Setter;
@DomainObject(
editing = Editing.DISABLED
)
-public class SessionLogEntry extends org.apache.isis.sessionlog.applib.dom.SessionLogEntry {
+public class SessionLogEntry extends org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntry {
public SessionLogEntry(
final UUID sessionGuid,
diff --git a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/dom/SessionLogEntryPK.java b/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntryPK.java
similarity index 95%
rename from extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/dom/SessionLogEntryPK.java
rename to extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntryPK.java
index 55f25d0d74..73dbe5d170 100644
--- a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/sessionlog/jpa/dom/SessionLogEntryPK.java
+++ b/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntryPK.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.isis.sessionlog.jpa.dom;
+package org.apache.isis.extensions.sessionlog.jpa.dom;
import java.io.Serializable;
import java.util.UUID;
@@ -31,7 +31,7 @@ import org.springframework.stereotype.Component;
import org.apache.isis.applib.services.bookmark.IdStringifier;
import org.apache.isis.persistence.jpa.integration.typeconverters.java.util.JavaUtilUuidConverter;
-import org.apache.isis.sessionlog.applib.dom.SessionLogEntry;
+import org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntry;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
diff --git a/extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/sessionlog/jdo/dom/SessionLogEntryRepository.java b/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntryRepository.java
similarity index 83%
rename from extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/sessionlog/jdo/dom/SessionLogEntryRepository.java
rename to extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntryRepository.java
index d13bcb502a..bfe9ea07d0 100644
--- a/extensions/security/sessionlog/persistence-jdo/src/main/java/org/apache/isis/sessionlog/jdo/dom/SessionLogEntryRepository.java
+++ b/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntryRepository.java
@@ -18,12 +18,12 @@
*
*/
-package org.apache.isis.sessionlog.jdo.dom;
+package org.apache.isis.extensions.sessionlog.jpa.dom;
import org.springframework.stereotype.Service;
@Service
-public class SessionLogEntryRepository extends org.apache.isis.sessionlog.applib.dom.SessionLogEntryRepository<SessionLogEntry> {
+public class SessionLogEntryRepository extends org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntryRepository<SessionLogEntry> {
public SessionLogEntryRepository() {
super(SessionLogEntry.class);
diff --git a/extensions/security/sessionlog/persistence-jpa/src/test/java/org/apache/isis/sessionlog/jpa/SessionLog_IntegTest.java b/extensions/security/sessionlog/persistence-jpa/src/test/java/org/apache/isis/extensions/sessionlog/jpa/integtests/SessionLog_IntegTest.java
similarity index 89%
rename from extensions/security/sessionlog/persistence-jpa/src/test/java/org/apache/isis/sessionlog/jpa/SessionLog_IntegTest.java
rename to extensions/security/sessionlog/persistence-jpa/src/test/java/org/apache/isis/extensions/sessionlog/jpa/integtests/SessionLog_IntegTest.java
index f10ee7b58f..08589a307d 100644
--- a/extensions/security/sessionlog/persistence-jpa/src/test/java/org/apache/isis/sessionlog/jpa/SessionLog_IntegTest.java
+++ b/extensions/security/sessionlog/persistence-jpa/src/test/java/org/apache/isis/extensions/sessionlog/jpa/integtests/SessionLog_IntegTest.java
@@ -16,9 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.sessionlog.jpa;
-
-import javax.inject.Inject;
+package org.apache.isis.extensions.sessionlog.jpa.integtests;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -31,10 +29,8 @@ import org.springframework.test.context.ActiveProfiles;
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
-import org.apache.isis.sessionlog.applib.SessionLogIntegTestAbstract;
-import org.apache.isis.sessionlog.jpa.dom.SessionLogEntryRepository;
-
-import lombok.Getter;
+import org.apache.isis.extensions.sessionlog.applib.integtests.SessionLogIntegTestAbstract;
+import org.apache.isis.extensions.sessionlog.jpa.IsisModuleExtSessionLogPersistenceJpa;
@SpringBootTest(
classes = SessionLog_IntegTest.AppManifest.class