You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2023/06/23 19:42:16 UTC

[commons-ognl] 01/02: [main] Throw a specialized RuntimeException instead of RuntimeException

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

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-ognl.git

commit 21e1c0411455652ad2fa72548df9c73eea77a49a
Author: Gary Gregory <gg...@rocketsoftware.com>
AuthorDate: Fri Jun 23 15:42:02 2023 -0400

    [main] Throw a specialized RuntimeException instead of
    RuntimeException
---
 src/main/java/org/apache/commons/ognl/ExpressionNode.java      |  2 +-
 src/main/java/org/apache/commons/ognl/MapPropertyAccessor.java | 10 ++++------
 src/main/java/org/apache/commons/ognl/OgnlOps.java             |  2 +-
 src/main/java/org/apache/commons/ognl/ToStringVisitor.java     |  2 +-
 .../org/apache/commons/ognl/enhance/ExpressionCompiler.java    |  2 +-
 5 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/src/main/java/org/apache/commons/ognl/ExpressionNode.java b/src/main/java/org/apache/commons/ognl/ExpressionNode.java
index 4fdf017..ce5b06d 100644
--- a/src/main/java/org/apache/commons/ognl/ExpressionNode.java
+++ b/src/main/java/org/apache/commons/ognl/ExpressionNode.java
@@ -73,7 +73,7 @@ public abstract class ExpressionNode
 
     public String getExpressionOperator( int index )
     {
-        throw new RuntimeException( "unknown operator for " + OgnlParserTreeConstants.jjtNodeName[id] );
+        throw new UnsupportedOperationException( "unknown operator for " + OgnlParserTreeConstants.jjtNodeName[id] );
     }
 
     @Override
diff --git a/src/main/java/org/apache/commons/ognl/MapPropertyAccessor.java b/src/main/java/org/apache/commons/ognl/MapPropertyAccessor.java
index 8c24f65..1c9077c 100644
--- a/src/main/java/org/apache/commons/ognl/MapPropertyAccessor.java
+++ b/src/main/java/org/apache/commons/ognl/MapPropertyAccessor.java
@@ -21,6 +21,7 @@ package org.apache.commons.ognl;
 
 import java.util.Collection;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 
 /**
@@ -93,14 +94,11 @@ public class MapPropertyAccessor
 
     public String getSourceAccessor( OgnlContext context, Object target, Object index )
     {
-        Node currentNode = context.getCurrentNode().jjtGetParent();
+        Objects.requireNonNull(context, "context");
+        Objects.requireNonNull(context.getCurrentNode(), "getCurrentNode()");
+        Node currentNode = Objects.requireNonNull(context.getCurrentNode().jjtGetParent(), "node is null for '" + index + "'" );
         boolean indexedAccess = false;
 
-        if ( currentNode == null )
-        {
-            throw new RuntimeException( "node is null for '" + index + "'" );
-        }
-
         if ( !( currentNode instanceof ASTProperty ) )
         {
             currentNode = currentNode.jjtGetParent();
diff --git a/src/main/java/org/apache/commons/ognl/OgnlOps.java b/src/main/java/org/apache/commons/ognl/OgnlOps.java
index 58fd1c7..88c4308 100644
--- a/src/main/java/org/apache/commons/ognl/OgnlOps.java
+++ b/src/main/java/org/apache/commons/ognl/OgnlOps.java
@@ -810,7 +810,7 @@ public abstract class OgnlOps
         }
         catch ( Throwable t )
         {
-            throw new RuntimeException( "Error converting " + value + " to integer:", t );
+            throw new IllegalArgumentException( "Error converting " + value + " to integer:", t );
         }
     }
 
diff --git a/src/main/java/org/apache/commons/ognl/ToStringVisitor.java b/src/main/java/org/apache/commons/ognl/ToStringVisitor.java
index 477c555..17a3ffa 100644
--- a/src/main/java/org/apache/commons/ognl/ToStringVisitor.java
+++ b/src/main/java/org/apache/commons/ognl/ToStringVisitor.java
@@ -455,7 +455,7 @@ public class ToStringVisitor
         catch ( OgnlException e )
         {
             // This should never happen, but delegate it on just in case.
-            throw new RuntimeException( e );
+            throw new IllegalArgumentException( e );
         }
     }
 
diff --git a/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java b/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java
index e75eadc..fa7b0ff 100644
--- a/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java
+++ b/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java
@@ -566,7 +566,7 @@ public class ExpressionCompiler
         }
         catch ( Throwable t )
         {
-            throw new RuntimeException( "Error compiling expression on object " + root + " with expression node "
+            throw new IllegalStateException( "Error compiling expression on object " + root + " with expression node "
                 + expression + " getter body: " + getBody + " setter body: " + setBody, t );
         }