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/causeway.git


The following commit(s) were added to refs/heads/master by this push:
     new b6246514e0 CAUSEWAY-2297: fixing issues, flagged as 'bug' by sonarcloud
b6246514e0 is described below

commit b6246514e08f7e2a1e10c90d167bed094db0de41
Author: Andi Huber <[email protected]>
AuthorDate: Wed May 24 09:31:41 2023 +0200

    CAUSEWAY-2297: fixing issues, flagged as 'bug' by sonarcloud
---
 .../org/apache/causeway/commons/internal/base/_Strings.java   |  2 +-
 .../causeway/core/metamodel/execution/ActionExecutor.java     |  4 +++-
 .../facets/actions/action/ActionAnnotationFacetFactory.java   |  8 ++++++--
 .../actions/action/invocation/ActionDomainEventFacet.java     |  2 +-
 .../properties/property/modify/PropertyDomainEventFacet.java  |  2 +-
 .../specloader/validator/ValidationFailureUtils.java          | 11 +++++------
 6 files changed, 17 insertions(+), 12 deletions(-)

diff --git 
a/commons/src/main/java/org/apache/causeway/commons/internal/base/_Strings.java 
b/commons/src/main/java/org/apache/causeway/commons/internal/base/_Strings.java
index 2b8df46894..08dac54f82 100644
--- 
a/commons/src/main/java/org/apache/causeway/commons/internal/base/_Strings.java
+++ 
b/commons/src/main/java/org/apache/causeway/commons/internal/base/_Strings.java
@@ -883,7 +883,7 @@ public final class _Strings {
                 ? ofCodePoints(
                         methodName.codePoints()
                             .dropWhile(c->c != '_' && 
Character.isLowerCase(c)))
-                : methodName!=null ? "" : null;
+                : "";
         val baseName = asPrefixDropped.isEmpty()
                 ? methodName
                 : asPrefixDropped;
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/execution/ActionExecutor.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/execution/ActionExecutor.java
index b8d38cfcbe..833128001e 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/execution/ActionExecutor.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/execution/ActionExecutor.java
@@ -196,7 +196,9 @@ implements
                     throws IllegalAccessException, InvocationTargetException {
 
         final Object[] executionParameters = 
MmUnwrapUtils.multipleAsArray(arguments);
-        final Object targetPojo = MmUnwrapUtils.single(head.getTarget());
+        final Object targetPojo = Objects.requireNonNull(
+                MmUnwrapUtils.single(head.getTarget()),
+                ()->"Could not extract pojo, that this invocation is targeted 
at.");
 
         final ActionSemanticsFacet semanticsFacet = 
getFacetHolder().getFacet(ActionSemanticsFacet.class);
         final boolean cacheable = semanticsFacet != null && 
semanticsFacet.value().isSafeAndRequestCacheable();
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
index c38acdbc94..4b2946d2d3 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
@@ -104,14 +104,18 @@ extends FacetFactoryAbstract {
                 || actionIfAny.isPresent();
 
         try {
+
+            val typeSpec = 
getSpecificationLoader().loadSpecification(processMethodContext.getCls());
+            if(typeSpec==null) {
+                return;
+            }
+
             val returnType = actionMethod.getReturnType();
             val returnSpec = 
getSpecificationLoader().loadSpecification(returnType);
             if (returnSpec == null) {
                 return;
             }
 
-            val cls = processMethodContext.getCls();
-            val typeSpec = getSpecificationLoader().loadSpecification(cls);
             val holder = processMethodContext.getFacetHolder();
 
             //
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacet.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacet.java
index d235c12caa..700646bfa6 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacet.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacet.java
@@ -146,7 +146,7 @@ implements
 
     @Override
     public Optional<VetoReason> disables(final UsabilityContext ic) {
-        if(!isPostable()) return null; // bale out
+        if(!isPostable()) return Optional.empty(); // bale out
 
         final ActionDomainEvent<?> event =
                 domainEventHelper.postEventForAction(
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacet.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacet.java
index 154eb3d7a5..31b36eaf78 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacet.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacet.java
@@ -150,7 +150,7 @@ implements
 
     @Override
     public Optional<VetoReason> disables(final UsabilityContext ic) {
-        if(!isPostable()) return null; // bale out
+        if(!isPostable()) return Optional.empty(); // bale out
 
         final PropertyDomainEvent<?, ?> event =
                 domainEventHelper.postEventForProperty(
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/validator/ValidationFailureUtils.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/validator/ValidationFailureUtils.java
index 08dae39f03..b8fd417904 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/validator/ValidationFailureUtils.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/validator/ValidationFailureUtils.java
@@ -20,7 +20,6 @@ package 
org.apache.causeway.core.metamodel.specloader.validator;
 
 import java.lang.annotation.Annotation;
 
-import org.apache.causeway.commons.internal.assertions._Assert;
 import org.apache.causeway.core.config.progmodel.ProgrammingModelConstants;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
 import org.apache.causeway.core.metamodel.facets.FacetedMethod;
@@ -28,7 +27,6 @@ import 
org.apache.causeway.core.metamodel.facets.objectvalue.mandatory.Mandatory
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectMember;
 
-import lombok.val;
 import lombok.experimental.UtilityClass;
 
 @UtilityClass
@@ -79,15 +77,16 @@ public final class ValidationFailureUtils {
     @Deprecated // marked deprecated, because not implemented
     public void raiseIfConflictingOptionality(final MandatoryFacet 
mandatoryFacet, final String message) {
 
-        if(false && //FIXME yet has false positives
-
-                isConflictingOptionality(mandatoryFacet)) {
+        /* XXX yet has false positives
+        if(isConflictingOptionality(mandatoryFacet)) {
             addFailure(mandatoryFacet, message);
         }
+        */
     }
 
     // -- HELPER
 
+    /*
     private void addFailure(final MandatoryFacet mandatoryFacet, final String 
message) {
         if(mandatoryFacet != null) {
             val holder = mandatoryFacet.getFacetHolder();
@@ -125,6 +124,6 @@ public final class ValidationFailureUtils {
                         .anyMatch(firstOfTopRanking::semanticEquals)
                 : false; // not conflicting
 
-    }
+    }*/
 
 }

Reply via email to