This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-3110
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/ISIS-3110 by this push:
new 6680a8c735 ISIS-3110: more polishing
6680a8c735 is described below
commit 6680a8c7356909e6330ef02eb559a69a3170af4c
Author: Dan Haywood <[email protected]>
AuthorDate: Thu Aug 4 20:38:54 2022 +0100
ISIS-3110: more polishing
---
.../applib/services/commanddto/HasCommandDto.java | 4 +-
.../applib/services/iactn/HasInteractionDto.java | 4 +-
.../applib/IsisModuleExtCommandLogApplib.java | 6 ++
.../HasInteractionId_commandLogEntry.java | 5 ++
.../contributions/Object_recentCommands.java | 3 +-
.../commandlog/applib/dom/CommandLogEntry.java | 5 +-
.../applib/IsisModuleExtExecutionLogApplib.java | 4 ++
.../executionlog/applib/app/ExecutionLogMenu.java | 20 ++++++
.../contributions/Object_recentExecutions.java | 3 +-
.../executionlog/applib/dom/ExecutionLogEntry.java | 3 -
.../dom/ExecutionLogEntry.layout.fallback.xml | 30 +++++---
.../ExecutionLogEntry_siblingExecutions.java | 4 +-
.../applib/IsisModuleExtExecutionOutboxApplib.java | 3 +
.../applib/app/ExecutionOutboxMenu.java} | 35 +++++++---
.../dom/ExecutionOutboxEntry.layout.fallback.xml | 81 ++++++++++++----------
.../applib/IsisModuleExtAuditTrailApplib.java | 7 +-
.../audittrail/applib/dom/AuditTrailEntry.java | 3 -
.../applib/dom/AuditTrailEntry.layout.fallback.xml | 60 ++++++++++------
18 files changed, 184 insertions(+), 96 deletions(-)
diff --git
a/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/HasCommandDto.java
b/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/HasCommandDto.java
index 1fb1617079..be5855aa4f 100644
---
a/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/HasCommandDto.java
+++
b/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/HasCommandDto.java
@@ -24,6 +24,7 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.apache.isis.applib.annotation.Editing;
+import org.apache.isis.applib.annotation.LabelPosition;
import org.apache.isis.applib.annotation.Property;
import org.apache.isis.applib.annotation.PropertyLayout;
import org.apache.isis.applib.annotation.ValueSemantics;
@@ -39,7 +40,8 @@ public interface HasCommandDto {
editing = Editing.DISABLED
)
@PropertyLayout(
- multiLine = 9
+ multiLine = 15,
+ labelPosition = LabelPosition.NONE
)
@ValueSemantics(provider = "pretty-render")
@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER,
ElementType.ANNOTATION_TYPE })
diff --git
a/api/applib/src/main/java/org/apache/isis/applib/services/iactn/HasInteractionDto.java
b/api/applib/src/main/java/org/apache/isis/applib/services/iactn/HasInteractionDto.java
index 4d22248081..910e734c53 100644
---
a/api/applib/src/main/java/org/apache/isis/applib/services/iactn/HasInteractionDto.java
+++
b/api/applib/src/main/java/org/apache/isis/applib/services/iactn/HasInteractionDto.java
@@ -24,6 +24,7 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.apache.isis.applib.annotation.Editing;
+import org.apache.isis.applib.annotation.LabelPosition;
import org.apache.isis.applib.annotation.Property;
import org.apache.isis.applib.annotation.PropertyLayout;
import org.apache.isis.applib.annotation.ValueSemantics;
@@ -34,7 +35,8 @@ public interface HasInteractionDto {
editing = Editing.DISABLED
)
@PropertyLayout(
- multiLine = 9
+ multiLine = 15,
+ labelPosition = LabelPosition.NONE
)
@ValueSemantics(provider = "pretty-render")
@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER,
ElementType.ANNOTATION_TYPE })
diff --git
a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/IsisModuleExtCommandLogApplib.java
b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/IsisModuleExtCommandLogApplib.java
index a0745cbe3a..90431a5a10 100644
---
a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/IsisModuleExtCommandLogApplib.java
+++
b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/IsisModuleExtCommandLogApplib.java
@@ -28,6 +28,9 @@ import
org.apache.isis.extensions.commandlog.applib.contributions.HasInteraction
import
org.apache.isis.extensions.commandlog.applib.contributions.HasUsername_recentCommandsByUser;
import
org.apache.isis.extensions.commandlog.applib.contributions.Object_recentCommands;
import org.apache.isis.extensions.commandlog.applib.dom.CommandLogEntry;
+import
org.apache.isis.extensions.commandlog.applib.dom.mixins.CommandLogEntry_childCommands;
+import
org.apache.isis.extensions.commandlog.applib.dom.mixins.CommandLogEntry_openResultObject;
+import
org.apache.isis.extensions.commandlog.applib.dom.mixins.CommandLogEntry_siblingCommands;
import
org.apache.isis.extensions.commandlog.applib.subscriber.CommandSubscriberForCommandLog;
import org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
@@ -40,6 +43,9 @@ import
org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
HasInteractionId_commandLogEntry.class,
HasUsername_recentCommandsByUser.class,
Object_recentCommands.class,
+ CommandLogEntry_childCommands.class,
+ CommandLogEntry_openResultObject.class,
+ CommandLogEntry_siblingCommands.class,
// @Service's
CommandSubscriberForCommandLog.class,
diff --git
a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/contributions/HasInteractionId_commandLogEntry.java
b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/contributions/HasInteractionId_commandLogEntry.java
index 646a02e90c..7df0cdee83 100644
---
a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/contributions/HasInteractionId_commandLogEntry.java
+++
b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/contributions/HasInteractionId_commandLogEntry.java
@@ -25,6 +25,8 @@ import javax.inject.Provider;
import org.apache.isis.applib.annotation.MemberSupport;
import org.apache.isis.applib.annotation.Property;
+import org.apache.isis.applib.annotation.PropertyLayout;
+import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.mixins.system.HasInteractionId;
import org.apache.isis.applib.services.command.Command;
import org.apache.isis.applib.services.queryresultscache.QueryResultsCache;
@@ -40,6 +42,9 @@ import lombok.RequiredArgsConstructor;
@Property(
domainEvent =
HasInteractionId_commandLogEntry.PropertyDomainEvent.class
)
+@PropertyLayout(
+ hidden = Where.ALL_TABLES
+)
@RequiredArgsConstructor
public class HasInteractionId_commandLogEntry {
diff --git
a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/contributions/Object_recentCommands.java
b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/contributions/Object_recentCommands.java
index ba1dea549d..a6353ae813 100644
---
a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/contributions/Object_recentCommands.java
+++
b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/contributions/Object_recentCommands.java
@@ -48,8 +48,7 @@ import lombok.RequiredArgsConstructor;
domainEvent = Object_recentCommands.ActionDomainEvent.class,
semantics = SemanticsOf.SAFE,
commandPublishing = Publishing.DISABLED,
- executionPublishing = Publishing.DISABLED,
- restrictTo = RestrictTo.PROTOTYPING
+ executionPublishing = Publishing.DISABLED
)
@ActionLayout(
cssClassFa = "fa-bolt",
diff --git
a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/CommandLogEntry.java
b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/CommandLogEntry.java
index a52aaea8d2..bb3d61ef19 100644
---
a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/CommandLogEntry.java
+++
b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/CommandLogEntry.java
@@ -326,9 +326,6 @@ implements Comparable<CommandLogEntry>, DomainChangeRecord,
HasCommandDto {
domainEvent = LogicalMemberIdentifier.DomainEvent.class,
editing = Editing.DISABLED
)
- @PropertyLayout(
- hidden = Where.ALL_TABLES
- )
@DomainChangeRecord.LogicalMemberIdentifier
@java.lang.annotation.Target({ ElementType.METHOD, ElementType.FIELD,
ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@@ -481,7 +478,7 @@ implements Comparable<CommandLogEntry>, DomainChangeRecord,
HasCommandDto {
)
@PropertyLayout(
hidden = Where.ALL_TABLES,
- multiLine = 5,
+ multiLine = 3,
named = "Exception (if any)"
)
@java.lang.annotation.Target({ ElementType.METHOD, ElementType.FIELD,
ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
diff --git
a/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/IsisModuleExtExecutionLogApplib.java
b/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/IsisModuleExtExecutionLogApplib.java
index 19dc0473d3..726888a8ec 100644
---
a/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/IsisModuleExtExecutionLogApplib.java
+++
b/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/IsisModuleExtExecutionLogApplib.java
@@ -23,8 +23,10 @@ import org.springframework.context.annotation.Import;
import org.apache.isis.extensions.executionlog.applib.app.ExecutionLogMenu;
import
org.apache.isis.extensions.executionlog.applib.contributions.HasInteractionId_executionLogEntries;
+import
org.apache.isis.extensions.executionlog.applib.contributions.HasUsername_recentExecutionsByUser;
import
org.apache.isis.extensions.executionlog.applib.contributions.Object_recentExecutions;
import org.apache.isis.extensions.executionlog.applib.dom.ExecutionLogEntry;
+import
org.apache.isis.extensions.executionlog.applib.dom.mixins.ExecutionLogEntry_siblingExecutions;
import
org.apache.isis.extensions.executionlog.applib.spiimpl.ExecutionSubscriberForExecutionLog;
import org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
@@ -35,7 +37,9 @@ import
org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
// mixins
HasInteractionId_executionLogEntries.class,
+ HasUsername_recentExecutionsByUser.class,
Object_recentExecutions.class,
+ ExecutionLogEntry_siblingExecutions.class,
// @Service's
ExecutionSubscriberForExecutionLog.class,
diff --git
a/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/app/ExecutionLogMenu.java
b/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/app/ExecutionLogMenu.java
index 646ef37dc1..b96d40e5c7 100644
---
a/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/app/ExecutionLogMenu.java
+++
b/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/app/ExecutionLogMenu.java
@@ -20,14 +20,19 @@ package org.apache.isis.extensions.executionlog.applib.app;
import java.time.LocalDate;
import java.time.ZoneId;
+import java.util.List;
import javax.inject.Inject;
import javax.inject.Named;
+import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.DomainServiceLayout;
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.annotation.PriorityPrecedence;
+import org.apache.isis.applib.annotation.RestrictTo;
+import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.applib.services.clock.ClockService;
import
org.apache.isis.extensions.executionlog.applib.IsisModuleExtExecutionLogApplib;
import org.apache.isis.extensions.executionlog.applib.dom.ExecutionLogEntry;
@@ -57,6 +62,21 @@ public class ExecutionLogMenu {
extends
IsisModuleExtExecutionLogApplib.ActionDomainEvent<ExecutionLogMenu> { }
+
+ @Action(semantics = SemanticsOf.SAFE)
+ @ActionLayout(describedAs = "Returns the most recent execution entries")
+ public List<? extends ExecutionLogEntry> findMostRecent() {
+ return executionLogEntryRepository.findMostRecent();
+ }
+
+
+ @Action(semantics = SemanticsOf.SAFE, restrictTo = RestrictTo.PROTOTYPING)
+ @ActionLayout(describedAs = "Returns all entries (still to be processed)
in the outbox")
+ public List<? extends ExecutionLogEntry> findAll() {
+ return executionLogEntryRepository.findAll();
+ }
+
+
final ExecutionLogEntryRepository<? extends ExecutionLogEntry>
executionLogEntryRepository;
final ClockService clockService;
diff --git
a/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/contributions/Object_recentExecutions.java
b/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/contributions/Object_recentExecutions.java
index 00eada1788..e47e16c754 100644
---
a/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/contributions/Object_recentExecutions.java
+++
b/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/contributions/Object_recentExecutions.java
@@ -48,8 +48,7 @@ import lombok.RequiredArgsConstructor;
domainEvent = Object_recentExecutions.ActionDomainEvent.class,
semantics = SemanticsOf.SAFE,
commandPublishing = Publishing.DISABLED,
- executionPublishing = Publishing.DISABLED,
- restrictTo = RestrictTo.PROTOTYPING
+ executionPublishing = Publishing.DISABLED
)
@ActionLayout(
cssClassFa = "fa-bolt",
diff --git
a/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/dom/ExecutionLogEntry.java
b/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/dom/ExecutionLogEntry.java
index 94e4abe8fc..346fbbd485 100644
---
a/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/dom/ExecutionLogEntry.java
+++
b/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/dom/ExecutionLogEntry.java
@@ -325,9 +325,6 @@ implements Comparable<ExecutionLogEntry>,
DomainChangeRecord, HasInteractionIdAn
domainEvent = LogicalMemberIdentifier.DomainEvent.class,
editing = Editing.DISABLED
)
- @PropertyLayout(
- hidden = Where.ALL_TABLES
- )
@java.lang.annotation.Target({ ElementType.METHOD, ElementType.FIELD,
ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface LogicalMemberIdentifier {
diff --git
a/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/dom/ExecutionLogEntry.layout.fallback.xml
b/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/dom/ExecutionLogEntry.layout.fallback.xml
index 50c5ff8819..901b6d356f 100644
---
a/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/dom/ExecutionLogEntry.layout.fallback.xml
+++
b/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/dom/ExecutionLogEntry.layout.fallback.xml
@@ -1,14 +1,24 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!-- 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. -->
+<!--
+ ~ 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.
+ ~
+ -->
+
<bs3:grid xsi:schemaLocation="http://isis.apache.org/applib/layout/component
http://isis.apache.org/applib/layout/component/component.xsd
http://isis.apache.org/applib/layout/links
http://isis.apache.org/applib/layout/links/links.xsd
http://isis.apache.org/applib/layout/grid/bootstrap3
http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"
xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"
xmlns:cpt="http://isis.apache.org/applib/layout/component" xmlns:lnk="h [...]
<bs3:row>
<bs3:col span="12" unreferencedActions="true">
diff --git
a/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/dom/mixins/ExecutionLogEntry_siblingExecutions.java
b/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/dom/mixins/ExecutionLogEntry_siblingExecutions.java
index 6f56d7211b..ba6e671483 100644
---
a/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/dom/mixins/ExecutionLogEntry_siblingExecutions.java
+++
b/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/dom/mixins/ExecutionLogEntry_siblingExecutions.java
@@ -44,12 +44,12 @@ public class ExecutionLogEntry_siblingExecutions {
extends
IsisModuleExtExecutionLogApplib.CollectionDomainEvent<ExecutionLogEntry_siblingExecutions,
ExecutionLogEntry> { }
- @MemberSupport public List<ExecutionLogEntry> coll() {
+ @MemberSupport public List<? extends ExecutionLogEntry> coll() {
val entries =
executionLogEntryRepository.findByInteractionId(executionLogEntry.getInteractionId());
entries.remove(executionLogEntry);
return entries;
}
- @Inject ExecutionLogEntryRepository<ExecutionLogEntry>
executionLogEntryRepository;
+ @Inject ExecutionLogEntryRepository<? extends ExecutionLogEntry>
executionLogEntryRepository;
}
diff --git
a/extensions/core/executionoutbox/applib/src/main/java/org/apache/isis/extensions/executionoutbox/applib/IsisModuleExtExecutionOutboxApplib.java
b/extensions/core/executionoutbox/applib/src/main/java/org/apache/isis/extensions/executionoutbox/applib/IsisModuleExtExecutionOutboxApplib.java
index 0782aa63c0..17a66bf40c 100644
---
a/extensions/core/executionoutbox/applib/src/main/java/org/apache/isis/extensions/executionoutbox/applib/IsisModuleExtExecutionOutboxApplib.java
+++
b/extensions/core/executionoutbox/applib/src/main/java/org/apache/isis/extensions/executionoutbox/applib/IsisModuleExtExecutionOutboxApplib.java
@@ -21,6 +21,7 @@ package org.apache.isis.extensions.executionoutbox.applib;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
+import
org.apache.isis.extensions.executionoutbox.applib.app.ExecutionOutboxMenu;
import
org.apache.isis.extensions.executionoutbox.applib.dom.ExecutionOutboxEntry;
import org.apache.isis.extensions.executionoutbox.applib.restapi.OutboxRestApi;
import
org.apache.isis.extensions.executionoutbox.applib.spiimpl.ContentMappingServiceForOutboxEvents;
@@ -33,6 +34,8 @@ import
org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
OutboxRestApi.class,
// @Service's
+ ExecutionOutboxMenu.class,
+
ExecutionSubscriberForExecutionOutbox.class,
ExecutionOutboxEntry.TableColumnOrderDefault.class,
ContentMappingServiceForOutboxEvents.class
diff --git
a/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/app/ExecutionLogMenu.java
b/extensions/core/executionoutbox/applib/src/main/java/org/apache/isis/extensions/executionoutbox/applib/app/ExecutionOutboxMenu.java
similarity index 54%
copy from
extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/app/ExecutionLogMenu.java
copy to
extensions/core/executionoutbox/applib/src/main/java/org/apache/isis/extensions/executionoutbox/applib/app/ExecutionOutboxMenu.java
index 646ef37dc1..45ae807a7d 100644
---
a/extensions/core/executionlog/applib/src/main/java/org/apache/isis/extensions/executionlog/applib/app/ExecutionLogMenu.java
+++
b/extensions/core/executionoutbox/applib/src/main/java/org/apache/isis/extensions/executionoutbox/applib/app/ExecutionOutboxMenu.java
@@ -16,29 +16,34 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.extensions.executionlog.applib.app;
+package org.apache.isis.extensions.executionoutbox.applib.app;
import java.time.LocalDate;
import java.time.ZoneId;
+import java.util.List;
import javax.inject.Inject;
import javax.inject.Named;
+import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.DomainServiceLayout;
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.annotation.PriorityPrecedence;
+import org.apache.isis.applib.annotation.RestrictTo;
+import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.applib.services.clock.ClockService;
-import
org.apache.isis.extensions.executionlog.applib.IsisModuleExtExecutionLogApplib;
-import org.apache.isis.extensions.executionlog.applib.dom.ExecutionLogEntry;
-import
org.apache.isis.extensions.executionlog.applib.dom.ExecutionLogEntryRepository;
+import
org.apache.isis.extensions.executionoutbox.applib.IsisModuleExtExecutionOutboxApplib;
+import
org.apache.isis.extensions.executionoutbox.applib.dom.ExecutionOutboxEntry;
+import
org.apache.isis.extensions.executionoutbox.applib.dom.ExecutionOutboxEntryRepository;
import lombok.RequiredArgsConstructor;
/**
* @since 2.0 {@index}
*/
-@Named(ExecutionLogMenu.LOGICAL_TYPE_NAME)
+@Named(ExecutionOutboxMenu.LOGICAL_TYPE_NAME)
@DomainService(
nature = NatureOfService.VIEW
)
@@ -48,16 +53,28 @@ import lombok.RequiredArgsConstructor;
)
@javax.annotation.Priority(PriorityPrecedence.EARLY)
@RequiredArgsConstructor(onConstructor_ = { @Inject })
-public class ExecutionLogMenu {
+public class ExecutionOutboxMenu {
public static final String LOGICAL_TYPE_NAME =
- IsisModuleExtExecutionLogApplib.NAMESPACE + ".ExecutionLogMenu";
+ IsisModuleExtExecutionOutboxApplib.NAMESPACE +
".ExecutionOutboxMenu";
public static abstract class ActionDomainEvent
- extends
IsisModuleExtExecutionLogApplib.ActionDomainEvent<ExecutionLogMenu> { }
+ extends
IsisModuleExtExecutionOutboxApplib.ActionDomainEvent<ExecutionOutboxMenu> { }
- final ExecutionLogEntryRepository<? extends ExecutionLogEntry>
executionLogEntryRepository;
+ @Action(semantics = SemanticsOf.SAFE)
+ @ActionLayout(describedAs = "Returns to oldest 100 entries (next to be
processed) in the outbox")
+ public List<? extends ExecutionOutboxEntry> findOldest() {
+ return executionOutboxEntryRepository.findOldest();
+ }
+
+ @Action(semantics = SemanticsOf.SAFE, restrictTo = RestrictTo.PROTOTYPING)
+ @ActionLayout(describedAs = "Returns all entries (still to be processed)
in the outbox")
+ public List<? extends ExecutionOutboxEntry> findAll() {
+ return executionOutboxEntryRepository.findAll();
+ }
+
+ final ExecutionOutboxEntryRepository<? extends ExecutionOutboxEntry>
executionOutboxEntryRepository;
final ClockService clockService;
diff --git
a/extensions/core/executionoutbox/applib/src/main/java/org/apache/isis/extensions/executionoutbox/applib/dom/ExecutionOutboxEntry.layout.fallback.xml
b/extensions/core/executionoutbox/applib/src/main/java/org/apache/isis/extensions/executionoutbox/applib/dom/ExecutionOutboxEntry.layout.fallback.xml
index a78501e460..d1bd51dce0 100644
---
a/extensions/core/executionoutbox/applib/src/main/java/org/apache/isis/extensions/executionoutbox/applib/dom/ExecutionOutboxEntry.layout.fallback.xml
+++
b/extensions/core/executionoutbox/applib/src/main/java/org/apache/isis/extensions/executionoutbox/applib/dom/ExecutionOutboxEntry.layout.fallback.xml
@@ -26,48 +26,55 @@
</bs3:col>
</bs3:row>
<bs3:row>
- <bs3:col span="4">
- <bs3:row>
- <bs3:col span="12">
- <cpt:fieldSet name="Identifiers" id="identifiers"
unreferencedProperties="true">
- <cpt:action id="clearHints" position="PANEL"/>
- <cpt:action id="rebuildMetamodel"
position="PANEL_DROPDOWN"/>
- <cpt:action id="inspectMetamodel"
position="PANEL_DROPDOWN"/>
- <cpt:action id="downloadMetamodelXml"
position="PANEL_DROPDOWN"/>
- <cpt:action id="downloadLayoutXml"
position="PANEL_DROPDOWN"/>
- <cpt:action id="downloadJdoMetadata"
position="PANEL_DROPDOWN"/>
- <cpt:action id="recentCommands"
position="PANEL_DROPDOWN"/>
- <cpt:action id="recentExecutions"
position="PANEL_DROPDOWN"/>
- <cpt:action id="recentAuditTrailEntries"
position="PANEL_DROPDOWN"/>
- <cpt:action id="openRestApi"
position="PANEL_DROPDOWN"/>
- <cpt:property id="interactionId"/>
- <cpt:property id="sequence"/>
- <cpt:property id="type"/>
- </cpt:fieldSet>
- <cpt:fieldSet name="Target" id="target">
- <cpt:property id="target"/>
- <cpt:property id="targetLogicalTypeName"/>
- <cpt:property id="logicalMemberIdentifier"/>
- <cpt:property id="executionType"/>
- </cpt:fieldSet>
- <cpt:fieldSet name="Who and When">
- <cpt:property id="username"/>
- <cpt:property id="timestamp"/>
- </cpt:fieldSet>
- <cpt:fieldSet name="Timings" id="timings">
- <cpt:property id="startedAt"/>
- <cpt:property id="completedAt"/>
- <cpt:property id="duration"/>
- </cpt:fieldSet>
- <cpt:fieldSet name="Other" id="other"
unreferencedProperties="true"/>
- </bs3:col>
- </bs3:row>
+ <bs3:col span="3">
+ <bs3:tabGroup>
+ <bs3:tab name="Identity">
+ <bs3:row>
+ <bs3:col span="12">
+ <cpt:fieldSet name="Identity" id="identity">
+ <cpt:property id="interactionId"/>
+ <cpt:property id="sequence"/>
+ <cpt:property id="type"/>
+ </cpt:fieldSet>
+ </bs3:col>
+ </bs3:row>
+ </bs3:tab>
+ <bs3:tab name="Metadata">
+ <bs3:row>
+ <bs3:col span="12">
+ <cpt:fieldSet name="Metadata" id="metadata"/>
+ </bs3:col>
+ </bs3:row>
+ </bs3:tab>
+ </bs3:tabGroup>
+ <cpt:fieldSet name="Target" id="target">
+ <cpt:property id="target"/>
+ <cpt:property id="targetLogicalTypeName">
+ <cpt:named>Logical Type Name</cpt:named>
+ </cpt:property>
+ <cpt:property id="logicalMemberIdentifier">
+ <cpt:named>member Identifier</cpt:named>
+ </cpt:property>
+ <cpt:property id="executionType"/>
+ </cpt:fieldSet>
+ <cpt:fieldSet name="Who and When">
+ <cpt:property id="username"/>
+ <cpt:property id="timestamp"/>
+ </cpt:fieldSet>
</bs3:col>
- <bs3:col span="8">
+ <bs3:col span="6">
<cpt:fieldSet name="Interaction DTO" id="interactionDto">
<cpt:property id="interactionDto" multiLine="30"
labelPosition="TOP"/>
</cpt:fieldSet>
</bs3:col>
+ <bs3:col span="3">
+ <cpt:fieldSet name="Timings" id="timings">
+ <cpt:property id="startedAt"/>
+ <cpt:property id="completedAt"/>
+ <cpt:property id="duration"/>
+ </cpt:fieldSet>
+ <cpt:fieldSet name="Other" id="other"
unreferencedProperties="true"/>
+ </bs3:col>
</bs3:row>
<bs3:row>
<bs3:col span="12">
diff --git
a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/IsisModuleExtAuditTrailApplib.java
b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/IsisModuleExtAuditTrailApplib.java
index 81ab68a2fa..a516561e70 100644
---
a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/IsisModuleExtAuditTrailApplib.java
+++
b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/IsisModuleExtAuditTrailApplib.java
@@ -24,12 +24,17 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.apache.isis.extensions.audittrail.applib.app.AuditTrailMenu;
+import
org.apache.isis.extensions.audittrail.applib.contributions.HasInteractionId_auditTrailEntries;
+import
org.apache.isis.extensions.audittrail.applib.contributions.Object_recentAuditTrailEntries;
import
org.apache.isis.extensions.audittrail.applib.spiimpl.EntityPropertyChangeSubscriberForAuditTrail;
@Configuration
@Import({
AuditTrailMenu.class,
- EntityPropertyChangeSubscriberForAuditTrail.class
+ EntityPropertyChangeSubscriberForAuditTrail.class,
+
+ HasInteractionId_auditTrailEntries.class,
+ Object_recentAuditTrailEntries.class
})
public class IsisModuleExtAuditTrailApplib {
diff --git
a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/dom/AuditTrailEntry.java
b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/dom/AuditTrailEntry.java
index 87c9404fe7..8c8fdbc9e6 100644
---
a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/dom/AuditTrailEntry.java
+++
b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/dom/AuditTrailEntry.java
@@ -250,9 +250,6 @@ public abstract class AuditTrailEntry implements
DomainChangeRecord, Comparable<
domainEvent = PropertyId.DomainEvent.class,
optionality = Optionality.MANDATORY
)
- @PropertyLayout(
- hidden = Where.ALL_TABLES
- )
@DomainChangeRecord.PropertyId
@java.lang.annotation.Target({ ElementType.METHOD, ElementType.FIELD,
ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
diff --git
a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/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
index eb74adc3e2..68f0f20818 100644
---
a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/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
@@ -27,31 +27,40 @@
</bs3:row>
<bs3:row>
<bs3:col span="4">
- <cpt:fieldSet name="Identifiers" id="identifiers">
- <cpt:action id="clearHints" position="PANEL"/>
- <cpt:action id="rebuildMetamodel" position="PANEL_DROPDOWN"/>
- <cpt:action id="inspectMetamodel" position="PANEL_DROPDOWN"/>
- <cpt:action id="downloadMetamodelXml"
position="PANEL_DROPDOWN"/>
- <cpt:action id="downloadLayoutXml" position="PANEL_DROPDOWN"/>
- <cpt:action id="downloadJdoMetadata"
position="PANEL_DROPDOWN"/>
- <cpt:action id="recentCommands" position="PANEL_DROPDOWN"/>
- <cpt:action id="recentExecutions" position="PANEL_DROPDOWN"/>
- <cpt:action id="recentAuditTrailEntries"
position="PANEL_DROPDOWN"/>
- <cpt:property id="interactionId"/>
- <cpt:property id="sequence"/>
- <cpt:property id="type"/>
- </cpt:fieldSet>
+ <bs3:tabGroup>
+ <bs3:tab name="Identity">
+ <bs3:row>
+ <bs3:col span="12">
+ <cpt:fieldSet name="Identity" id="identity">
+ <cpt:property id="interactionId"/>
+ <cpt:property id="sequence"/>
+ <cpt:property id="type"/>
+ </cpt:fieldSet>
+ </bs3:col>
+ </bs3:row>
+ </bs3:tab>
+ <bs3:tab name="Metadata">
+ <bs3:row>
+ <bs3:col span="12">
+ <cpt:fieldSet name="Metadata" id="metadata"/>
+ </bs3:col>
+ </bs3:row>
+ </bs3:tab>
+ </bs3:tabGroup>
<cpt:fieldSet name="Target" id="target">
<cpt:property id="target"/>
- <cpt:property id="targetLogicalTypeName"/>
- <cpt:property id="logicalMemberIdentifier"/>
+ <cpt:property id="targetLogicalTypeName">
+ <cpt:named>Logical Type Name</cpt:named>
+ </cpt:property>
+ <cpt:property id="logicalMemberIdentifier">
+ <cpt:named>member Identifier</cpt:named>
+ </cpt:property>
<cpt:property id="propertyId"/>
</cpt:fieldSet>
<cpt:fieldSet name="Who and When">
<cpt:property id="username"/>
<cpt:property id="timestamp"/>
</cpt:fieldSet>
- <cpt:fieldSet name="Other" id="other"
unreferencedProperties="true"/>
</bs3:col>
<bs3:col span="4">
<cpt:fieldSet name="Change" id="change">
@@ -60,10 +69,19 @@
</cpt:fieldSet>
</bs3:col>
<bs3:col span="4">
- <!-- we provide this collection twice, for convenience -->
- <cpt:collection id="auditTrailEntries">
- <cpt:named>All changes</cpt:named>
- </cpt:collection>
+ <bs3:row>
+ <bs3:col span="12">
+ <!-- we provide this collection twice, for convenience -->
+ <cpt:collection id="auditTrailEntries">
+ <cpt:named>All changes</cpt:named>
+ </cpt:collection>
+ </bs3:col>
+ </bs3:row>
+ <bs3:row>
+ <bs3:col span="12">
+ <cpt:fieldSet name="Other" id="other"
unreferencedProperties="true"/>
+ </bs3:col>
+ </bs3:row>
</bs3:col>
</bs3:row>
<bs3:row>