You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2021/08/18 04:05:42 UTC

[isis] branch master updated: ISIS-2841: applib: fixes some warnings

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new 6d03acf  ISIS-2841: applib: fixes some warnings
6d03acf is described below

commit 6d03acf71b65ee912735baf38270364ac257544e
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Aug 18 06:05:33 2021 +0200

    ISIS-2841: applib: fixes some warnings
---
 .../apache/isis/applib/graph/tree/TreeNode.java    | 26 +++++++--------
 .../applib/layout/grid/bootstrap3/BS3ClearFix.java | 16 ++++-----
 .../layout/grid/bootstrap3/BS3ClearFixVisible.java |  4 +--
 .../mixins/metamodel/Object_logicalTypeName.java   |  3 +-
 .../applib/mixins/system/DomainChangeRecord.java   | 12 ++++---
 .../services/appfeat/ApplicationFeatureSort.java   |  1 -
 .../services/bookmark/BookmarkHolder_lookup.java   |  1 -
 .../services/bookmark/BookmarkHolder_object.java   |  1 -
 .../services/command/CommandExecutorService.java   |  5 ++-
 .../isis/applib/services/error/SimpleTicket.java   |  6 ++--
 .../applib/services/i18n/TranslationService.java   |  8 ++---
 .../services/iactnlayer/InteractionContext.java    |  7 ++--
 .../isis/applib/services/jaxb/IsisSchemas.java     |  1 -
 .../isis/applib/services/swagger/Format.java       |  1 -
 .../isis/applib/services/user/ImpersonateMenu.java |  1 -
 .../isis/applib/services/user/RoleMemento.java     |  3 +-
 .../services/wrapper/control/ExecutionMode.java    |  5 ++-
 .../apache/isis/applib/types/TargetActionType.java |  2 +-
 .../apache/isis/applib/types/TargetClassType.java  |  2 +-
 .../org/apache/isis/applib/util/ReasonBuffer2.java | 16 ++++-----
 .../applib/util/schema/InteractionDtoUtils.java    |  6 ++--
 .../java/org/apache/isis/applib/value/Blob.java    | 39 +++++++++++-----------
 22 files changed, 74 insertions(+), 92 deletions(-)

diff --git a/api/applib/src/main/java/org/apache/isis/applib/graph/tree/TreeNode.java b/api/applib/src/main/java/org/apache/isis/applib/graph/tree/TreeNode.java
index 1cc2b6d..d388cc3 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/graph/tree/TreeNode.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/graph/tree/TreeNode.java
@@ -39,6 +39,8 @@ import org.apache.isis.commons.internal.base._Lazy;
 import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 
+import lombok.SneakyThrows;
+
 /**
  * Fundamental building block of Tree structures.
  *
@@ -57,11 +59,11 @@ public class TreeNode<T> implements Vertex<T> {
     private final _Lazy<TreeAdapter<T>> treeAdapter = _Lazy.of(this::newTreeAdapter);
     private final _Lazy<TreePath> treePath = _Lazy.of(this::resolveTreePath);
 
-    public static <T> TreeNode<T> of(T value, Class<? extends TreeAdapter<T>> treeAdapterClass, TreeState sharedState) {
+    public static <T> TreeNode<T> of(final T value, final Class<? extends TreeAdapter<T>> treeAdapterClass, final TreeState sharedState) {
         return new TreeNode<T>(value, treeAdapterClass, sharedState);
     }
 
-    protected TreeNode(T value, Class<? extends TreeAdapter<T>> treeAdapterClass, TreeState sharedState) {
+    protected TreeNode(final T value, final Class<? extends TreeAdapter<T>> treeAdapterClass, final TreeState sharedState) {
         this.value = Objects.requireNonNull(value);
         this.treeAdapterClass = Objects.requireNonNull(treeAdapterClass);
         this.sharedState = sharedState;
@@ -149,7 +151,7 @@ public class TreeNode<T> implements Vertex<T> {
     }
 
 
-    public boolean isExpanded(TreePath treePath) {
+    public boolean isExpanded(final TreePath treePath) {
         final Set<TreePath> expandedPaths = getTreeState().getExpandedNodePaths();
         return expandedPaths.contains(treePath);
     }
@@ -159,7 +161,7 @@ public class TreeNode<T> implements Vertex<T> {
      * @param treePaths
      */
     @Programmatic
-    public void expand(TreePath ... treePaths) {
+    public void expand(final TreePath ... treePaths) {
         final Set<TreePath> expandedPaths = getTreeState().getExpandedNodePaths();
         _NullSafe.stream(treePaths).forEach(expandedPaths::add);
     }
@@ -180,7 +182,7 @@ public class TreeNode<T> implements Vertex<T> {
      * @param treePaths
      */
     @Programmatic
-    public void collapse(TreePath ... treePaths) {
+    public void collapse(final TreePath ... treePaths) {
         final Set<TreePath> expandedPaths = getTreeState().getExpandedNodePaths();
         _NullSafe.stream(treePaths).forEach(expandedPaths::remove);
     }
@@ -193,7 +195,7 @@ public class TreeNode<T> implements Vertex<T> {
      * @param treeAdapterClass
      * @return new LazyTreeNode
      */
-    public static <T> TreeNode<T> lazy(T node, Class<? extends TreeAdapter<T>> treeAdapterClass) {
+    public static <T> TreeNode<T> lazy(final T node, final Class<? extends TreeAdapter<T>> treeAdapterClass) {
         return TreeNode.of(node, treeAdapterClass, TreeState.rootCollapsed());
     }
 
@@ -245,14 +247,12 @@ public class TreeNode<T> implements Vertex<T> {
         return treeAdapterClass;
     }
 
-
-
-
     // -- HELPER
 
+    @SneakyThrows
     private TreeAdapter<T> newTreeAdapter() {
         try {
-            return treeAdapterClass.newInstance();
+            return treeAdapterClass.getDeclaredConstructor().newInstance();
         } catch (InstantiationException | IllegalAccessException e) {
             throw new IllegalArgumentException(
                     String.format("failed to instantiate TreeAdapter '%s'", treeAdapterClass.getName()), e);
@@ -263,7 +263,7 @@ public class TreeNode<T> implements Vertex<T> {
         return treeAdapter.get();
     }
 
-    private TreeNode<T> toTreeNode(T value){
+    private TreeNode<T> toTreeNode(final T value){
         return of(value, getTreeAdapterClass(), sharedState);
     }
 
@@ -278,7 +278,7 @@ public class TreeNode<T> implements Vertex<T> {
     /*
      * @return zero based index
      */
-    private int indexWithinSiblings(TreeNode<T> parent) {
+    private int indexWithinSiblings(final TreeNode<T> parent) {
         final LongAdder indexOneBased = new LongAdder();
 
         boolean found = parent.streamChildren()
@@ -292,7 +292,7 @@ public class TreeNode<T> implements Vertex<T> {
         return indexOneBased.intValue()-1;
     }
 
-    private boolean isEqualTo(TreeNode<T> other) {
+    private boolean isEqualTo(final TreeNode<T> other) {
         if(other==null) {
             return false;
         }
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFix.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFix.java
index 0015536..2d35a56 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFix.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFix.java
@@ -18,15 +18,13 @@
  */
 package org.apache.isis.applib.layout.grid.bootstrap3;
 
-import org.apache.isis.applib.layout.grid.bootstrap3.BS3ClearFix.CssDisplay;
-
 /**
  * @since 1.x {@index}
  */
 public abstract class BS3ClearFix extends BS3RowContent {
-	
+
     private static final long serialVersionUID = 1L;
-    
+
     public enum CssDisplay {
     	NONE,
         BLOCK,
@@ -42,16 +40,16 @@ public abstract class BS3ClearFix extends BS3RowContent {
         public String toCssClassFragment() {
             return name().toLowerCase().replace('_', '-');
         }
-    }    
+    }
 
-	protected String getDisplayFragment(CssDisplay displayValue, Size breakpoint) {
+	protected String getDisplayFragment(final CssDisplay displayValue, final Size breakpoint) {
 		switch(breakpoint) {
 		case XS:
 			return String.format("d-%s", displayValue.toCssClassFragment());
 		default:
-			return String.format("d-%s-%s", breakpoint.toCssClassFragment(), displayValue.toCssClassFragment());		
+			return String.format("d-%s-%s", breakpoint.toCssClassFragment(), displayValue.toCssClassFragment());
 		}
-	}    
-    
+	}
+
     public abstract String toCssClass();
 }
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixVisible.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixVisible.java
index c2df7ef..0c5a4da 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixVisible.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixVisible.java
@@ -22,8 +22,6 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
-import org.apache.isis.applib.layout.grid.bootstrap3.BS3ClearFix.CssDisplay;
-
 /**
  * One of the <a href="http://getbootstrap.com/css/#responsive-utilities">Responsive utility classes</a>.
  *
@@ -60,7 +58,7 @@ public class BS3ClearFixVisible extends BS3ClearFix {
     @Override
     public String toCssClass() {
         return "clearfix "
-        		+ getDisplayFragment(getCssDisplay(), getSize())                
+        		+ getDisplayFragment(getCssDisplay(), getSize())
                 + (getCssClass() != null? " " + getCssClass(): "");
     }
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_logicalTypeName.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_logicalTypeName.java
index e75db1d..432c178 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_logicalTypeName.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_logicalTypeName.java
@@ -28,7 +28,6 @@ import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.mixins.layout.LayoutMixinConstants;
 import org.apache.isis.applib.services.bookmark.BookmarkService;
-import org.apache.isis.applib.services.metamodel.BeanSort;
 import org.apache.isis.applib.services.metamodel.MetaModelService;
 
 import lombok.RequiredArgsConstructor;
@@ -74,7 +73,7 @@ public class Object_logicalTypeName {
     )
     public String prop() {
         val bookmark = bookmarkService.bookmarkForElseFail(this.holder);
-        return bookmark.getObjectType();
+        return bookmark.getLogicalTypeName();
     }
 
     @MemberSupport public boolean hideProp() {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/system/DomainChangeRecord.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/system/DomainChangeRecord.java
index 0997f3e..944b004 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/system/DomainChangeRecord.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/system/DomainChangeRecord.java
@@ -59,7 +59,7 @@ public interface DomainChangeRecord extends HasInteractionId, HasUsername {
     @Property
     @PropertyLayout(
             hidden = Where.ALL_EXCEPT_STANDALONE_TABLES,
-            fieldSetId="Identifiers", 
+            fieldSetId="Identifiers",
             sequence = "1")
     ChangeType getType();
 
@@ -69,6 +69,7 @@ public interface DomainChangeRecord extends HasInteractionId, HasUsername {
      * {@link org.apache.isis.applib.services.iactn.Interaction} within which
      * this change occurred.
      */
+    @Override
     @Property
     @PropertyLayout(fieldSetId="Identifiers",sequence = "50")
     UUID getInteractionId();
@@ -77,6 +78,7 @@ public interface DomainChangeRecord extends HasInteractionId, HasUsername {
     /**
      * The user that caused the change.
      */
+    @Override
     @Property
     @PropertyLayout(fieldSetId="Identifiers", sequence = "10")
     String getUsername();
@@ -96,10 +98,10 @@ public interface DomainChangeRecord extends HasInteractionId, HasUsername {
     @Property
     @PropertyLayout(
             named="Object Type",
-            fieldSetId="Target", 
+            fieldSetId="Target",
             sequence = "10")
     default String getTargetObjectType() {
-        return getTarget().getObjectType();
+        return getTarget().getLogicalTypeName();
     }
 
 
@@ -110,7 +112,7 @@ public interface DomainChangeRecord extends HasInteractionId, HasUsername {
     @Property
     @PropertyLayout(
             named="Object",
-            fieldSetId="Target", 
+            fieldSetId="Target",
             sequence="30")
     Bookmark getTarget();
 
@@ -147,7 +149,7 @@ public interface DomainChangeRecord extends HasInteractionId, HasUsername {
      * </p>
      */
     @Property(optionality = Optionality.MANDATORY)
-    @PropertyLayout(hidden = Where.ALL_EXCEPT_STANDALONE_TABLES, fieldSetId="Detail", 
+    @PropertyLayout(hidden = Where.ALL_EXCEPT_STANDALONE_TABLES, fieldSetId="Detail",
     sequence = "7")
     String getPostValue();
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/appfeat/ApplicationFeatureSort.java b/api/applib/src/main/java/org/apache/isis/applib/services/appfeat/ApplicationFeatureSort.java
index 21c78b2..bc6bea0 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/appfeat/ApplicationFeatureSort.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/appfeat/ApplicationFeatureSort.java
@@ -19,7 +19,6 @@
 package org.apache.isis.applib.services.appfeat;
 
 import org.apache.isis.applib.IsisModuleApplib;
-import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.Value;
 
 /**
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java
index 8a3aa4d..be454b4 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java
@@ -23,7 +23,6 @@ import javax.inject.Inject;
 import org.apache.isis.applib.IsisModuleApplib;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java
index edd5644..901ee3f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java
@@ -21,7 +21,6 @@ package org.apache.isis.applib.services.bookmark;
 import javax.inject.Inject;
 
 import org.apache.isis.applib.IsisModuleApplib;
-import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.Property;
 
 import lombok.RequiredArgsConstructor;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/command/CommandExecutorService.java b/api/applib/src/main/java/org/apache/isis/applib/services/command/CommandExecutorService.java
index bae583d..d6a46c2 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/command/CommandExecutorService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/command/CommandExecutorService.java
@@ -81,7 +81,7 @@ public interface CommandExecutorService {
         }),
         ;
 
-        private static Instant timestampOf(CommandDto commandDto) {
+        private static Instant timestampOf(final CommandDto commandDto) {
             val timestampGc = commandDto.getTimestamp();
             val javaSqlTimestamp = JavaSqlXMLGregorianCalendarMarshalling.toTimestamp(timestampGc);
             return javaSqlTimestamp.toInstant();
@@ -89,7 +89,7 @@ public interface CommandExecutorService {
 
         public final BiFunction<InteractionContext, CommandDto, InteractionContext> mapper;
 
-        private InteractionContextPolicy(BiFunction<InteractionContext, CommandDto, InteractionContext> mapper) {
+        private InteractionContextPolicy(final BiFunction<InteractionContext, CommandDto, InteractionContext> mapper) {
             this.mapper = mapper;
         }
     }
@@ -157,7 +157,6 @@ public interface CommandExecutorService {
      *
      * @param commandDto
      * @param outcomeHandler
-     * @return
      */
     Bookmark executeCommand(
             CommandDto commandDto,
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/error/SimpleTicket.java b/api/applib/src/main/java/org/apache/isis/applib/services/error/SimpleTicket.java
index 542e926..24e34f9 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/error/SimpleTicket.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/error/SimpleTicket.java
@@ -21,8 +21,6 @@ package org.apache.isis.applib.services.error;
 import java.io.Serializable;
 import java.util.function.UnaryOperator;
 
-import org.apache.isis.applib.services.error.ErrorReportingService;
-import org.apache.isis.applib.services.error.Ticket;
 import org.apache.isis.commons.internal.base._Strings;
 
 import static org.apache.isis.commons.internal.base._NullSafe.isEmpty;
@@ -126,11 +124,11 @@ public class SimpleTicket implements Ticket {
                 ;
     }
 
-    protected static String ifPresentMap(String x, UnaryOperator<String> operator) {
+    protected static String ifPresentMap(final String x, final UnaryOperator<String> operator) {
         return isEmpty(x) ? "" : operator.apply(x);
     }
 
-    protected static String htmlEscape(String source) {
+    protected static String htmlEscape(final String source) {
         return _Strings.htmlEscape(source);
     }
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationService.java b/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationService.java
index 60a345b..9763aae 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationService.java
@@ -72,16 +72,16 @@ public interface TranslationService {
      *
      * <p>
      *     If in read mode, then the translations are expected to be present.  In such cases, the
-     *     {@link #translate(String, String) translate}
-     *     {@link #translate(String, String, String, int) method}s should be <i>lazily</i> called,
+     *     {@link #translate(TranslationContext, String) translate}
+     *     {@link #translate(TranslationContext, String, String, int) method}s should be <i>lazily</i> called,
      *     if only because there will (most likely) need to be a session in progress (such that the locale of the
      *     current user can be determined).
      * </p>
      *
      * <p>
      *     If in write mode, then the implementation is saving translation keys, and will
-     *     always return the untranslated translation.  In such cases, the {@link #translate(String, String) translate}
-     *     {@link #translate(String, String, String, int) method}s should be <i>eagerly</i> called
+     *     always return the untranslated translation.  In such cases, the {@link #translate(TranslationContext, String) translate}
+     *     {@link #translate(TranslationContext, String, String, int) method}s should be <i>eagerly</i> called
      *     such that all pathways are exercised..
      * </p>
      */
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/iactnlayer/InteractionContext.java b/api/applib/src/main/java/org/apache/isis/applib/services/iactnlayer/InteractionContext.java
index 966a293..9279a2c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/iactnlayer/InteractionContext.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/iactnlayer/InteractionContext.java
@@ -139,7 +139,8 @@ public class InteractionContext implements Serializable {
      *
      * @see #combine(Stream)
      */
-    public static <T> UnaryOperator<T> combine(UnaryOperator<T>... mappers) {
+    @SafeVarargs
+    public static <T> UnaryOperator<T> combine(final UnaryOperator<T>... mappers) {
         return combine(Stream.of(mappers));
     }
 
@@ -148,7 +149,7 @@ public class InteractionContext implements Serializable {
      *
      * credit: https://stackoverflow.com/a/51065029/56880
      */
-    public static <T> UnaryOperator<T> combine(Stream<UnaryOperator<T>> mappers) {
+    public static <T> UnaryOperator<T> combine(final Stream<UnaryOperator<T>> mappers) {
         return mappers.reduce(t -> t, (a,b) -> a.andThen(b)::apply);
     }
 
@@ -161,7 +162,7 @@ public class InteractionContext implements Serializable {
      *
      * @param user
      */
-    void replaceUser(UserMemento user) {
+    void replaceUser(final UserMemento user) {
         this.user = user;
     }
 }
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/jaxb/IsisSchemas.java b/api/applib/src/main/java/org/apache/isis/applib/services/jaxb/IsisSchemas.java
index d0070f2..38df18d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/jaxb/IsisSchemas.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/jaxb/IsisSchemas.java
@@ -19,7 +19,6 @@
 package org.apache.isis.applib.services.jaxb;
 
 import org.apache.isis.applib.IsisModuleApplib;
-import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.Value;
 import org.apache.isis.applib.mixins.dto.Dto_downloadXsd;
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/swagger/Format.java b/api/applib/src/main/java/org/apache/isis/applib/services/swagger/Format.java
index b118204..19c90b0 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/swagger/Format.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/swagger/Format.java
@@ -19,7 +19,6 @@
 package org.apache.isis.applib.services.swagger;
 
 import org.apache.isis.applib.IsisModuleApplib;
-import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.Value;
 
 /**
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/user/ImpersonateMenu.java b/api/applib/src/main/java/org/apache/isis/applib/services/user/ImpersonateMenu.java
index 52e0044..d4c69f0 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/user/ImpersonateMenu.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/user/ImpersonateMenu.java
@@ -85,7 +85,6 @@ public class ImpersonateMenu {
      * Simple implementation that is surfaced if there is no advisor.
      *
      * @param userName
-     * @return
      */
     @Action(
             domainEvent = ImpersonateDomainEvent.class,
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/user/RoleMemento.java b/api/applib/src/main/java/org/apache/isis/applib/services/user/RoleMemento.java
index fee9183..dc8ab32 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/user/RoleMemento.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/user/RoleMemento.java
@@ -19,7 +19,6 @@
 package org.apache.isis.applib.services.user;
 
 import java.io.Serializable;
-import java.util.Objects;
 
 import org.springframework.context.event.EventListener;
 import org.springframework.core.annotation.Order;
@@ -77,7 +76,7 @@ public class RoleMemento implements Serializable {
     public static class UiSubscriber {
         @Order(PriorityPrecedence.LATE)
         @EventListener(RoleMemento.TitleUiEvent.class)
-        public void on(RoleMemento.TitleUiEvent ev) {
+        public void on(final RoleMemento.TitleUiEvent ev) {
             val roleMemento = ev.getSource();
             assert roleMemento != null;
             ev.setTitle(roleMemento.getName());
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/control/ExecutionMode.java b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/control/ExecutionMode.java
index 6289ed6..7d83945 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/control/ExecutionMode.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/control/ExecutionMode.java
@@ -19,14 +19,13 @@
 package org.apache.isis.applib.services.wrapper.control;
 
 import org.apache.isis.applib.services.wrapper.WrapperFactory;
-import org.apache.isis.commons.collections.ImmutableEnumSet;
 
 /**
  * Whether interactions with the wrapper are actually passed onto the
  * underlying domain object.
  *
  * @see WrapperFactory#wrap(Object, org.apache.isis.applib.services.wrapper.control.SyncControl)
- * 
+ *
  * @since 2.0 {@index}
  */
 public enum ExecutionMode {
@@ -38,7 +37,7 @@ public enum ExecutionMode {
      * Skip actual execution.
      *
      * <p>
-     * This is not supported for {@link WrapperFactory#asyncWrap(Object, AsyncControl)}; 
+     * This is not supported for {@link WrapperFactory#asyncWrap(Object, AsyncControl)};
      * instead just invoke {@link WrapperFactory#wrap(Object, SyncControl)}.
      */
     SKIP_EXECUTION,
diff --git a/api/applib/src/main/java/org/apache/isis/applib/types/TargetActionType.java b/api/applib/src/main/java/org/apache/isis/applib/types/TargetActionType.java
index 0680208..d7450b6 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/types/TargetActionType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/types/TargetActionType.java
@@ -23,7 +23,7 @@ import org.apache.isis.applib.services.command.Command;
 import lombok.experimental.UtilityClass;
 
 /**
- * A user-friendly name of an action, as per {@link Command#getTargetAction()}, 
+ * A user-friendly name of an action, as per {@link Command#getLogicalMemberIdentifier()},
  * {@link org.apache.isis.applib.services.publishing.spi.EntityPropertyChangeSubscriber#onChanging(org.apache.isis.applib.services.publishing.spi.EntityPropertyChange)}.
  *
  * @since 2.0 {@index}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/types/TargetClassType.java b/api/applib/src/main/java/org/apache/isis/applib/types/TargetClassType.java
index 71a7165..d81aa02 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/types/TargetClassType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/types/TargetClassType.java
@@ -23,7 +23,7 @@ import org.apache.isis.applib.services.command.Command;
 import lombok.experimental.UtilityClass;
 
 /**
- * A user-friendly name of a class, as per {@link Command#getTargetClass()}, 
+ * A user-friendly name of a class, as per {@link Command#getTarget()},
  * {@link org.apache.isis.applib.services.publishing.spi.EntityPropertyChangeSubscriber#onChanging(org.apache.isis.applib.services.publishing.spi.EntityPropertyChange)}.
  *
  * @since 2.0 {@index}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/ReasonBuffer2.java b/api/applib/src/main/java/org/apache/isis/applib/util/ReasonBuffer2.java
index 72481ca..b1787b1 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/ReasonBuffer2.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/ReasonBuffer2.java
@@ -25,6 +25,8 @@ import java.util.stream.Collectors;
 
 import org.apache.isis.commons.internal.collections._Lists;
 
+import lombok.Getter;
+
 /**
  * Helper class to construct reason strings, with support for evaluating the
  * condition.
@@ -69,6 +71,7 @@ public class ReasonBuffer2 {
         public String evaluate();
     }
 
+    @Getter
     private static class ConditionAndReason implements LazyReason {
         private final Condition condition;
         private final String reason;
@@ -76,7 +79,7 @@ public class ReasonBuffer2 {
         public static ConditionAndReason create(final Condition condition, final String reason) {
             return reason != null
                     ? new ConditionAndReason(condition, reason)
-                            : null;
+                    : null;
         }
 
         private ConditionAndReason(final Condition condition, final String reason) {
@@ -89,13 +92,6 @@ public class ReasonBuffer2 {
             return condition.evaluate() ? reason : null;
         }
 
-        public Condition getCondition() {
-            return this.condition;
-        }
-
-        public String getReason() {
-            return this.reason;
-        }
     }
 
     public enum Mode {
@@ -216,12 +212,12 @@ public class ReasonBuffer2 {
         Builder() {
         }
 
-        public Builder mode(Mode mode) {
+        public Builder mode(final Mode mode) {
             this.mode = mode;
             return this;
         }
 
-        public Builder prefix(String prefix) {
+        public Builder prefix(final String prefix) {
             this.prefix = prefix;
             return this;
         }
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/schema/InteractionDtoUtils.java b/api/applib/src/main/java/org/apache/isis/applib/util/schema/InteractionDtoUtils.java
index 2571887..8e136ee 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/schema/InteractionDtoUtils.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/schema/InteractionDtoUtils.java
@@ -298,7 +298,7 @@ public final class InteractionDtoUtils {
     }
 
     static String deriveLogicalMemberId(final Bookmark bookmark, final String memberId) {
-        String logicalTypeName = bookmark.getObjectType();
+        String logicalTypeName = bookmark.getLogicalTypeName();
         int hashAt = memberId.lastIndexOf("#");
         String localMemberId = hashAt >= 0 && hashAt < memberId.length() ? memberId.substring(hashAt + 1) : memberId;
         return logicalTypeName + "#" + localMemberId;
@@ -429,7 +429,7 @@ public final class InteractionDtoUtils {
         final ParamDto paramDto = getParameter(ai, paramNum);
         return paramDto.getType();
     }
-    public static boolean isNull(final ActionInvocationDto ai, int paramNum) {
+    public static boolean isNull(final ActionInvocationDto ai, final int paramNum) {
         final ParamDto paramDto = getParameter(ai, paramNum);
         return paramDto.isNull();
     }
@@ -437,7 +437,7 @@ public final class InteractionDtoUtils {
 
     // -- getParameterArgValue
 
-    public static <T> T getParameterArgValue(final ActionInvocationDto ai, int paramNum) {
+    public static <T> T getParameterArgValue(final ActionInvocationDto ai, final int paramNum) {
         final ParamDto paramDto = getParameter(ai, paramNum);
         return CommonDtoUtils.getValue(paramDto);
     }
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java b/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java
index c51a892..790e8c6 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java
@@ -109,7 +109,7 @@ public final class Blob implements NamedWithMimeType {
      * @param content - bytes
      * @return new {@link Blob}
      */
-    public static Blob of(String name, CommonMimeType mimeType, byte[] content) {
+    public static Blob of(final String name, final CommonMimeType mimeType, final byte[] content) {
         val proposedFileExtension = mimeType.getProposedFileExtensions().getFirst().orElse("");
         val fileName = _Strings.asFileNameWithExtension(name, proposedFileExtension);
         return new Blob(fileName, mimeType.getMimeType(), content);
@@ -121,15 +121,15 @@ public final class Blob implements NamedWithMimeType {
     private final byte[] bytes;
     private final String name;
 
-    public Blob(String name, String primaryType, String subtype, byte[] bytes) {
+    public Blob(final String name, final String primaryType, final String subtype, final byte[] bytes) {
         this(name, CommonMimeType.newMimeType(primaryType, subtype), bytes);
     }
 
-    public Blob(String name, String mimeTypeBase, byte[] bytes) {
+    public Blob(final String name, final String mimeTypeBase, final byte[] bytes) {
         this(name, CommonMimeType.newMimeType(mimeTypeBase), bytes);
     }
 
-    public Blob(String name, MimeType mimeType, byte[] bytes) {
+    public Blob(final String name, final MimeType mimeType, final byte[] bytes) {
         if(name == null) {
             throw new IllegalArgumentException("Name cannot be null");
         }
@@ -162,11 +162,11 @@ public final class Blob implements NamedWithMimeType {
     }
 
     // -- UTILITIES
-    
+
     public Clob toClob(final @NonNull Charset charset) {
         return new Clob(getName(), getMimeType(), _Strings.ofBytes(getBytes(), charset));
     }
-    
+
     /**
      * Does not close the OutputStream.
      * @param os
@@ -180,26 +180,25 @@ public final class Blob implements NamedWithMimeType {
             os.write(bytes);
         }
     }
-    
+
     /**
      * The {@link InputStream} involved is closed after consumption.
      * @param consumer
      * @throws IOException
      */
-    public void consume(Consumer<InputStream> consumer) throws IOException {
+    public void consume(final Consumer<InputStream> consumer) throws IOException {
      // null to empty
         val bytes = Optional.ofNullable(getBytes())
                 .orElse(new byte[0]);
         try(val bis = new ByteArrayInputStream(bytes)) {
-            consumer.accept(bis);    
+            consumer.accept(bis);
         }
     }
-    
+
     /**
      * The {@link InputStream} involved is closed after digestion.
      * @param <R>
-     * @param mapper
-     * @return
+     * @param digester
      * @throws IOException
      */
     public <R> R digest(final @NonNull Function<InputStream, R> digester) throws IOException {
@@ -207,19 +206,19 @@ public final class Blob implements NamedWithMimeType {
         val bytes = Optional.ofNullable(getBytes())
                 .orElse(new byte[0]);
         try(val bis = new ByteArrayInputStream(bytes)) {
-            return digester.apply(bis);    
+            return digester.apply(bis);
         }
     }
-    
+
     public Blob zip() {
         val zipWriter = ZipWriter.newInstance();
         zipWriter.nextEntry(getName(), outputStream->outputStream.writeBytes(getBytes()));
         return Blob.of(getName()+".zip", CommonMimeType.ZIP, zipWriter.toBytes());
     }
-    
+
     @SneakyThrows
     public Blob unZip(final @NonNull CommonMimeType resultingMimeType) {
-        
+
         return digest(is->
             ZipReader.digest(is, (zipEntry, zipInputStream)->{
                 if(zipEntry.isDirectory()) {
@@ -234,11 +233,11 @@ public final class Blob implements NamedWithMimeType {
                 }
                 return Blob.of(zipEntry.getName(), resultingMimeType, unzippedBytes);
             })
-                
+
         )
         .orElse(Blob.of("blob_unzip_failed", resultingMimeType, new byte[0]));
     }
-    
+
     // -- OBJECT CONTRACT
 
     @Override
@@ -274,7 +273,7 @@ public final class Blob implements NamedWithMimeType {
         private final PrimitiveJaxbAdapters.BytesAdapter bytesAdapter = new PrimitiveJaxbAdapters.BytesAdapter(); // thread-safe
 
         @Override
-        public Blob unmarshal(String data) throws Exception {
+        public Blob unmarshal(final String data) throws Exception {
             if(data==null) {
                 return null;
             }
@@ -292,7 +291,7 @@ public final class Blob implements NamedWithMimeType {
         }
 
         @Override
-        public String marshal(Blob blob) throws Exception {
+        public String marshal(final Blob blob) throws Exception {
             if(blob==null) {
                 return null;
             }