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 2020/01/19 13:54:29 UTC

[isis] 02/02: ISIS-2223: don't call Optional.get() (analyzer fails to detect guard)

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

commit ec17b2e492a3e73c63e3c1f1c32111fb51aabd04
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Jan 19 14:54:16 2020 +0100

    ISIS-2223: don't call Optional.get() (analyzer fails to detect guard)
    
    also renames the Can.getOrThrow() -> getElseFail()
---
 .../org/apache/isis/core/commons/collections/Can.java    |  2 +-
 .../postprocessors/param/DeriveFacetsPostProcessor.java  |  2 +-
 .../specloader/specimpl/ObjectActionContributee.java     |  2 +-
 .../specloader/specimpl/ObjectActionDefault.java         | 16 ++++++++--------
 .../specloader/specimpl/ObjectActionMixedIn.java         |  2 +-
 .../specimpl/dflt/ObjectSpecificationDefault.java        |  4 ++--
 .../command/CommandDtoServiceInternalDefault.java        |  2 +-
 .../domainobjects/ObjectActionReprRenderer.java          |  6 +++---
 .../ContentNegotiationServiceForRestfulObjectsV1_0.java  |  2 +-
 .../viewer/resources/ObjectActionArgHelper.java          |  4 ++--
 .../wicket/model/mementos/ActionParameterMemento.java    |  2 +-
 .../isis/viewer/wicket/model/models/ActionModel.java     |  6 +++---
 .../ui/components/scalars/ScalarPanelAbstract2.java      |  2 +-
 13 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/core/commons/src/main/java/org/apache/isis/core/commons/collections/Can.java b/core/commons/src/main/java/org/apache/isis/core/commons/collections/Can.java
index 687df33..d91e7ab 100644
--- a/core/commons/src/main/java/org/apache/isis/core/commons/collections/Can.java
+++ b/core/commons/src/main/java/org/apache/isis/core/commons/collections/Can.java
@@ -83,7 +83,7 @@ public interface Can<T> extends Iterable<T> {
      * @throws NoSuchElementException
      * @see {@link #get(int)} 
      */
-    default T getOrThrow(final int elementIndex) {
+    default T getElseFail(final int elementIndex) {
         return get(elementIndex)
                 .orElseThrow(()->new NoSuchElementException(
                         "no element with elementIndex = " + elementIndex));
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/DeriveFacetsPostProcessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/DeriveFacetsPostProcessor.java
index d69dd43..b68f724 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/DeriveFacetsPostProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/DeriveFacetsPostProcessor.java
@@ -409,7 +409,7 @@ implements ObjectSpecificationPostProcessor, MetaModelContextAware {
         final DefaultedFacet[] parameterTypeDefaultedFacets = new DefaultedFacet[parameterSpecs.size()];
         boolean hasAtLeastOneDefault = false;
         for (int i = 0; i < parameterSpecs.size(); i++) {
-            final ObjectSpecification parameterSpec = parameterSpecs.getOrThrow(i);
+            final ObjectSpecification parameterSpec = parameterSpecs.getElseFail(i);
             parameterTypeDefaultedFacets[i] = parameterSpec.getFacet(DefaultedFacet.class);
             hasAtLeastOneDefault = hasAtLeastOneDefault | (parameterTypeDefaultedFacets[i] != null);
         }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionContributee.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionContributee.java
index 499774a..ee78b89 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionContributee.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionContributee.java
@@ -114,7 +114,7 @@ public class ObjectActionContributee extends ObjectActionDefault implements Cont
             }
 
             final ObjectActionParameterAbstract serviceParameter =
-                    (ObjectActionParameterAbstract) serviceParameters.getOrThrow(serviceParamNum);
+                    (ObjectActionParameterAbstract) serviceParameters.getElseFail(serviceParamNum);
 
             final ObjectActionParameterContributee contributedParam =
                     serviceParameter.getPeer().getFeatureType() == FeatureType.ACTION_PARAMETER_SCALAR
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
index aeb3a74..0c9233d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
@@ -216,7 +216,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
             throw new IllegalArgumentException(
                     "getParameter(int): only " + parameters.size() + " parameters, position=" + position);
         }
-        return parameters.getOrThrow(position);
+        return parameters.getElseFail(position);
     }
 
 
@@ -304,7 +304,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
         val actionParameters = getParameters();
         if (proposedArguments != null) {
             for (int i = 0; i < proposedArguments.size(); i++) {
-                final ValidityContext<?> ic = actionParameters.getOrThrow(i)
+                final ValidityContext<?> ic = actionParameters.getElseFail(i)
                         .createProposedArgumentInteractionContext(
                                 objectAdapter, proposedArguments, i, interactionInitiatedBy);
                 
@@ -451,7 +451,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
             for (int i = 0; i < parameterCount; i++) {
                 if (parameterDefaultPojos[i] != null) {
                     final ObjectSpecification componentSpec = getSpecificationLoader().loadSpecification(parameterDefaultPojos[i].getClass());
-                    final ObjectSpecification parameterSpec = parameters.getOrThrow(i).getSpecification();
+                    final ObjectSpecification parameterSpec = parameters.getElseFail(i).getSpecification();
                     // TODO: should implement this instead as a MetaModelValidator
                     if (!componentSpec.isOfType(parameterSpec)) {
                         throw new DomainModelException("Defaults type incompatible with parameter " + (i + 1) + " type; expected " + parameterSpec.getFullIdentifier() + ", but was " + componentSpec.getFullIdentifier());
@@ -463,7 +463,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
             // (the reflector will have made sure both aren't installed).
             parameterDefaultPojos = new Object[parameterCount];
             for (int i = 0; i < parameterCount; i++) {
-                final ActionParameterDefaultsFacet paramFacet = parameters.getOrThrow(i)
+                final ActionParameterDefaultsFacet paramFacet = parameters.getElseFail(i)
                         .getFacet(ActionParameterDefaultsFacet.class);
                 if (paramFacet != null && !paramFacet.isFallback()) {
                     parameterDefaultPojos[i] = paramFacet
@@ -479,7 +479,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
 
         final ManagedObject[] parameterDefaultAdapters = new ManagedObject[parameterCount];
         for (int i = 0; i < parameterCount; i++) {
-            val paramSpec = parameters.getOrThrow(i).getSpecification();
+            val paramSpec = parameters.getElseFail(i).getSpecification();
             parameterDefaultAdapters[i] = ManagedObject.of(paramSpec, parameterDefaultPojos[i]);
         }
 
@@ -541,7 +541,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
 
             parameterChoicesPojos = new Object[parameterCount][];
             for (int i = 0; i < parameterCount; i++) {
-                final ActionParameterChoicesFacet paramFacet = parameters.getOrThrow(i).getFacet(ActionParameterChoicesFacet.class);
+                final ActionParameterChoicesFacet paramFacet = parameters.getElseFail(i).getFacet(ActionParameterChoicesFacet.class);
                 if (paramFacet != null && !paramFacet.isFallback()) {
                     parameterChoicesPojos[i] = paramFacet.getChoices(target, null,
                             interactionInitiatedBy);
@@ -556,7 +556,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
             
             ManagedObject[] choices;
             
-            final ObjectSpecification paramSpec = parameters.getOrThrow(i).getSpecification();
+            final ObjectSpecification paramSpec = parameters.getElseFail(i).getSpecification();
 
             if (parameterChoicesPojos[i] != null && parameterChoicesPojos[i].length > 0) {
                 ObjectActionParameterAbstract.checkChoicesOrAutoCompleteType(
@@ -673,7 +673,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
             if (i > 0) {
                 sb.append(",");
             }
-            sb.append(getParameters().getOrThrow(i).getSpecification().getShortIdentifier());
+            sb.append(getParameters().getElseFail(i).getSpecification().getShortIdentifier());
         }
         sb.append("}]");
         return sb.toString();
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionMixedIn.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionMixedIn.java
index 2059de9..f6126b6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionMixedIn.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionMixedIn.java
@@ -149,7 +149,7 @@ public class ObjectActionMixedIn extends ObjectActionDefault implements MixedInM
         for(int paramIndex = 0; paramIndex < mixinActionParameters.size(); paramIndex++) {
 
             val mixinParameter =
-                    (ObjectActionParameterAbstract) mixinActionParameters.getOrThrow(paramIndex);
+                    (ObjectActionParameterAbstract) mixinActionParameters.getElseFail(paramIndex);
 
             final TypedHolder paramPeer = paramPeers.get(paramIndex);
             getSpecificationLoader().loadSpecification(paramPeer.getType());
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
index 6cc0ba7..1f16d99 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
@@ -341,8 +341,8 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
         }
         for (int j = 0; j < a.size(); j++) {
             
-            val elementA = a.get(j).get(); 
-            val elementB = b.get(j).get();
+            val elementA = a.getElseFail(j); 
+            val elementB = b.getElseFail(j);
             
             if (!elementA.isOfType(elementB.getSpecification())) {
                 return false;
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandDtoServiceInternalDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandDtoServiceInternalDefault.java
index 73b5bf3..6b23b67 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandDtoServiceInternalDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandDtoServiceInternalDefault.java
@@ -140,7 +140,7 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
 
         val actionParameters = objectAction.getParameters();
         for (int paramNum = 0; paramNum < actionParameters.size(); paramNum++) {
-            final ObjectActionParameter actionParameter = actionParameters.getOrThrow(paramNum);
+            final ObjectActionParameter actionParameter = actionParameters.getElseFail(paramNum);
             final String parameterName = actionParameter.getName();
             final Class<?> paramType = actionParameter.getSpecification().getCorrespondingClass();
             final ManagedObject argAdapter = argAdapters.get(paramNum);
diff --git a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java
index 1dbeb8f..80aee16 100644
--- a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java
+++ b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java
@@ -125,7 +125,7 @@ public class ObjectActionReprRenderer extends AbstractObjectMemberReprRenderer<O
         final JsonRepresentation argMap = JsonRepresentation.newMap();
         val parameters = objectMember.getParameters();
         for (int i = 0; i < objectMember.getParameterCount(); i++) {
-            argMap.mapPut(parameters.getOrThrow(i).getId() + ".value", argValueFor(i));
+            argMap.mapPut(parameters.getElseFail(i).getId() + ".value", argValueFor(i));
         }
         return argMap;
     }
@@ -144,7 +144,7 @@ public class ObjectActionReprRenderer extends AbstractObjectMemberReprRenderer<O
         if(gsoc2013) {
             final List<Object> parameters = _Lists.newArrayList();
             for (int i = 0; i < objectMember.getParameterCount(); i++) {
-                final ObjectActionParameter param = objectMember.getParameters().getOrThrow(i);
+                final ObjectActionParameter param = objectMember.getParameters().getElseFail(i);
                 final Object paramDetails = paramDetails(param, getInteractionInitiatedBy());
                 parameters.add(paramDetails);
             }
@@ -152,7 +152,7 @@ public class ObjectActionReprRenderer extends AbstractObjectMemberReprRenderer<O
         } else {
             final Map<String,Object> parameters = _Maps.newLinkedHashMap();
             for (int i = 0; i < objectMember.getParameterCount(); i++) {
-                final ObjectActionParameter param = objectMember.getParameters().getOrThrow(i);
+                final ObjectActionParameter param = objectMember.getParameters().getElseFail(i);
                 final Object paramDetails = paramDetails(param, getInteractionInitiatedBy());
                 parameters.put(param.getId(), paramDetails);
             }
diff --git a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceForRestfulObjectsV1_0.java b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceForRestfulObjectsV1_0.java
index da24ca6..1430300 100644
--- a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceForRestfulObjectsV1_0.java
+++ b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceForRestfulObjectsV1_0.java
@@ -246,7 +246,7 @@ public class ContentNegotiationServiceForRestfulObjectsV1_0 implements ContentNe
             for (int i = 0; i < parameters.size(); i++) {
                 
                 val paramIndex = i;
-                val param = parameters.getOrThrow(paramIndex);
+                val param = parameters.getElseFail(paramIndex);
                 val argAdapter = argAdapters.get(paramIndex);
 
                 if(buf.length() > 0) {
diff --git a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ObjectActionArgHelper.java b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ObjectActionArgHelper.java
index 2e2b734..f0de770 100644
--- a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ObjectActionArgHelper.java
+++ b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ObjectActionArgHelper.java
@@ -62,13 +62,13 @@ public class ObjectActionArgHelper {
         boolean valid = true;
         for (int i = 0; i < argList.size(); i++) {
             final JsonRepresentation argRepr = argList.get(i);
-            final ObjectSpecification paramSpec = parameters.getOrThrow(i).getSpecification();
+            final ObjectSpecification paramSpec = parameters.getElseFail(i).getSpecification();
             try {
                 final ManagedObject argAdapter = new JsonParserHelper(resourceContext, paramSpec).objectAdapterFor(argRepr);
                 argAdapters.add(argAdapter);
 
                 // validate individual arg
-                final ObjectActionParameter parameter = parameters.getOrThrow(i);
+                final ObjectActionParameter parameter = parameters.getElseFail(i);
                 final Object argPojo = argAdapter!=null?argAdapter.getPojo():null;
                 final String reasonNotValid = parameter.isValid(objectAdapter, argPojo, InteractionInitiatedBy.USER);
                 if (reasonNotValid != null) {
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ActionParameterMemento.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ActionParameterMemento.java
index b9a5146..2ee8092 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ActionParameterMemento.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ActionParameterMemento.java
@@ -74,7 +74,7 @@ public class ActionParameterMemento implements Serializable {
             final int paramIndex,
             final SpecificationLoader specificationLoader) {
         final ObjectAction action = actionMemento.getAction(specificationLoader);
-        return action.getParameters().getOrThrow(paramIndex);
+        return action.getParameters().getElseFail(paramIndex);
     }
 
     /**
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
index fa5e5084..cadbc4a 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
@@ -319,7 +319,7 @@ public class ActionModel extends BookmarkableModel<ManagedObject> implements For
 
         for (int paramNum = 0; paramNum < args.size(); paramNum++) {
             final String encoded = args.get(paramNum);
-            setArgument(paramNum, parameterTypes.getOrThrow(paramNum), encoded);
+            setArgument(paramNum, parameterTypes.getElseFail(paramNum), encoded);
         }
     }
 
@@ -350,7 +350,7 @@ public class ActionModel extends BookmarkableModel<ManagedObject> implements For
         }
 
         final String encoded = mapEntry.getValue();
-        setArgument(paramNum, parameterTypes.getOrThrow(paramNum), encoded);
+        setArgument(paramNum, parameterTypes.getElseFail(paramNum), encoded);
 
         return true;
     }
@@ -395,7 +395,7 @@ public class ActionModel extends BookmarkableModel<ManagedObject> implements For
     private void setArgument(int paramNum, ManagedObject argumentAdapter) {
         
         final ObjectAction action = actionMemento.getAction(getSpecificationLoader());
-        final ObjectActionParameter actionParam = action.getParameters().getOrThrow(paramNum);
+        final ObjectActionParameter actionParam = action.getParameters().getElseFail(paramNum);
         final ActionParameterMemento apm = new ActionParameterMemento(actionParam);
         final ActionArgumentModel actionArgumentModel = getArgumentModel(apm);
         actionArgumentModel.setObject(argumentAdapter);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
index a2d87d2..fb79d08 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
@@ -137,7 +137,7 @@ implements ScalarModelSubscriber2 {
         final List<ManagedObject> pendingArguments = actionModel.getArgumentsAsImmutable();
 
         // could almost certainly simplify this... (used by visibility and usability checks)
-        final ObjectActionParameter actionParameter = action.getParameters().getOrThrow(paramNumToPossiblyUpdate);
+        final ObjectActionParameter actionParameter = action.getParameters().getElseFail(paramNumToPossiblyUpdate);
         val targetAdapter = actionModel.getTargetAdapter();
         val realTargetAdapter = action.realTargetAdapter(targetAdapter);