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/01/28 16:45:46 UTC

[isis] branch master updated: ISIS-2297: fixes potential NPE in Oid_Marshaller (sonar)

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 248022f  ISIS-2297: fixes potential NPE in Oid_Marshaller (sonar)
248022f is described below

commit 248022f2c0612b011be50e8dfa89b3e5462dbb9f
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Jan 28 17:45:34 2021 +0100

    ISIS-2297: fixes potential NPE in Oid_Marshaller (sonar)
---
 .../apache/isis/core/metamodel/adapter/oid/Oid_Marshaller.java   | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Marshaller.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Marshaller.java
index 3f4ad97..3ce264d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Marshaller.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Marshaller.java
@@ -20,6 +20,7 @@ package org.apache.isis.core.metamodel.adapter.oid;
 
 import java.util.Iterator;
 import java.util.List;
+import java.util.Objects;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.stream.Stream;
@@ -145,6 +146,10 @@ final class Oid_Marshaller implements Oid.Marshaller, Oid.Unmarshaller {
         final String isTransientOrViewModelStr = getGroup(matcher, 3); // deprecated
 
         final String rootObjectType = getGroup(matcher, 4);
+        if(_Strings.isEmpty(rootObjectType)) {
+            throw _Exceptions.illegalArgument("cannot parse OID, must have an 'ObjectType'");
+        }
+        
         final String rootIdentifier = getGroup(matcher, 5);
 
         final String aggregateOidPart = getGroup(matcher, 6);
@@ -173,10 +178,10 @@ final class Oid_Marshaller implements Oid.Marshaller, Oid.Unmarshaller {
                 return _Casts.uncheckedCast(
                         Oid_Root.of(ObjectSpecId.of(rootObjectType), rootIdentifier));
             } else {
-                throw _Exceptions.illegalArgument("Aggregated Oids are no longer supported");
+                throw _Exceptions.illegalArgument("Aggregated OIDs are no longer supported");
             }
         } else {
-            throw _Exceptions.illegalArgument("Parented Oids are no longer supported.");
+            throw _Exceptions.illegalArgument("Parented OIDs are no longer supported.");
         }
     }