[java-shib-shared] branch main updated: Fix null bugs and annotation mistakes.

Scott Cantor cantor.2 at osu.edu
Fri Nov 4 18:53:18 UTC 2022


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch main
in repository java-shib-shared.

View the commit online:
http://git.shibboleth.net/view/?p=java-shib-shared.git;a=commit;h=9016e64b3130959129ec7fa8f9ddfeabe604a466

The following commit(s) were added to refs/heads/main by this push:
     new 9016e64b Fix null bugs and annotation mistakes.
9016e64b is described below

commit 9016e64b3130959129ec7fa8f9ddfeabe604a466
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Fri Nov 4 14:53:15 2022 -0400

    Fix null bugs and annotation mistakes.
---
 .../shared/logic/PredicateDrivenFunction.java      |  4 +--
 .../shared/logic/ScriptedBiConsumer.java           | 19 +++++-----
 .../shared/logic/ScriptedBiFunction.java           | 19 +++++-----
 .../shared/logic/ScriptedBiPredicate.java          | 42 +++++++++++++++-------
 .../shibboleth/shared/logic/ScriptedConsumer.java  | 10 +++---
 .../shibboleth/shared/logic/ScriptedFunction.java  | 10 +++---
 .../shibboleth/shared/logic/ScriptedPredicate.java | 29 ++++++++++++---
 .../shared/scripting/AbstractScriptEvaluator.java  |  4 +--
 .../shared/scripting/EvaluableScript.java          |  4 +--
 .../shibboleth/shared/xml/AttributeSupport.java    |  3 +-
 .../net/shibboleth/shared/xml/DOMTypeSupport.java  |  2 +-
 .../net/shibboleth/shared/logic/ScriptedTest.java  |  8 ++---
 .../shared/primitive/ObjectSupportTest.java        |  1 +
 13 files changed, 100 insertions(+), 55 deletions(-)

diff --git a/shib-support/src/main/java/net/shibboleth/shared/logic/PredicateDrivenFunction.java b/shib-support/src/main/java/net/shibboleth/shared/logic/PredicateDrivenFunction.java
index fd676298..6dad807e 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/logic/PredicateDrivenFunction.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/logic/PredicateDrivenFunction.java
@@ -44,10 +44,10 @@ public class PredicateDrivenFunction<T,U> implements Function<T,U> {
     @Nonnull private final Predicate<? super T> predicate;
 
     /** Function to apply if predicate is true. */
-    @Nullable private final Function<? super T,U> trueFunction;
+    @Nonnull private final Function<? super T,U> trueFunction;
 
     /** Function to apply if predicate is false. */
-    @Nullable private final Function<? super T,U> falseFunction;
+    @Nonnull private final Function<? super T,U> falseFunction;
 
     /**
      * Constructor.
diff --git a/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedBiConsumer.java b/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedBiConsumer.java
index 25a808a0..a82fab1c 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedBiConsumer.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedBiConsumer.java
@@ -101,13 +101,16 @@ public class ScriptedBiConsumer<T,U> extends AbstractScriptEvaluator implements
         
         final Pair<Class<T>,Class<U>> types = getInputTypes();
         if (null != types) {
-            if (null != first && !types.getFirst().isInstance(first)) {
-                log.error("{} Input of type {} was not of type {}", getLogPrefix(), first.getClass(), types.getFirst());
+            
+            final Class<T> intype1 = types.getFirst();
+            final Class<U> intype2 = types.getSecond();
+            
+            if (null != first && null != intype1 && !intype1.isInstance(first)) {
+                log.error("{} Input of type {} was not of type {}", getLogPrefix(), first.getClass(), intype1);
                 return;
             }
-            if (null != second && !types.getSecond().isInstance(second)) {
-                log.error("{} Input of type {} was not of type {}", getLogPrefix(), second.getClass(),
-                        types.getSecond());
+            if (null != second && null != intype2 && !intype2.isInstance(second)) {
+                log.error("{} Input of type {} was not of type {}", getLogPrefix(), second.getClass(), intype2);
                 return;
             }
         }
@@ -118,8 +121,8 @@ public class ScriptedBiConsumer<T,U> extends AbstractScriptEvaluator implements
     /** {@inheritDoc} */
     @Override
     protected void prepareContext(@Nonnull final ScriptContext scriptContext, @Nullable final Object... input) {
-        scriptContext.setAttribute("input1", input[0], ScriptContext.ENGINE_SCOPE);
-        scriptContext.setAttribute("input2", input[1], ScriptContext.ENGINE_SCOPE);
+        scriptContext.setAttribute("input1", input != null ? input[0] : null, ScriptContext.ENGINE_SCOPE);
+        scriptContext.setAttribute("input2", input != null ? input[1] : null, ScriptContext.ENGINE_SCOPE);
     }
 
     /**
@@ -159,7 +162,7 @@ public class ScriptedBiConsumer<T,U> extends AbstractScriptEvaluator implements
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
      */
-    public static <T,U> ScriptedBiConsumer<T,U> resourceScript(final Resource resource)
+    public static <T,U> ScriptedBiConsumer<T,U> resourceScript(@Nonnull final Resource resource)
             throws ScriptException, IOException {
         return resourceScript(DEFAULT_ENGINE, resource);
     }
diff --git a/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedBiFunction.java b/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedBiFunction.java
index 520fc6ae..f8e6a22d 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedBiFunction.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedBiFunction.java
@@ -121,13 +121,16 @@ public class ScriptedBiFunction<T,U,V> extends AbstractScriptEvaluator implement
         
         final Pair<Class<T>,Class<U>> types = getInputTypes();
         if (null != types) {
-            if (null != first && !types.getFirst().isInstance(first)) {
-                log.error("{} Input of type {} was not of type {}", getLogPrefix(), first.getClass(), types.getFirst());
+            
+            final Class<T> intype1 = types.getFirst();
+            final Class<U> intype2 = types.getSecond();
+
+            if (null != first && null != intype1 && !intype1.isInstance(first)) {
+                log.error("{} Input of type {} was not of type {}", getLogPrefix(), first.getClass(), intype1);
                 return (V) getReturnOnError();
             }
-            if (null != second && !types.getSecond().isInstance(second)) {
-                log.error("{} Input of type {} was not of type {}", getLogPrefix(), second.getClass(),
-                        types.getSecond());
+            if (null != second && null != intype2 && !intype2.isInstance(second)) {
+                log.error("{} Input of type {} was not of type {}", getLogPrefix(), second.getClass(), intype2);
                 return (V) getReturnOnError();
             }
         }
@@ -138,8 +141,8 @@ public class ScriptedBiFunction<T,U,V> extends AbstractScriptEvaluator implement
     /** {@inheritDoc} */
     @Override
     protected void prepareContext(@Nonnull final ScriptContext scriptContext, @Nullable final Object... input) {
-        scriptContext.setAttribute("input1", input[0], ScriptContext.ENGINE_SCOPE);
-        scriptContext.setAttribute("input2", input[1], ScriptContext.ENGINE_SCOPE);
+        scriptContext.setAttribute("input1", input != null ? input[0] : null, ScriptContext.ENGINE_SCOPE);
+        scriptContext.setAttribute("input2", input != null ? input[1] : null, ScriptContext.ENGINE_SCOPE);
     }
 
     /**
@@ -181,7 +184,7 @@ public class ScriptedBiFunction<T,U,V> extends AbstractScriptEvaluator implement
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
      */
-    public static <T,U,V> ScriptedBiFunction<T,U,V> resourceScript(final Resource resource)
+    public static <T,U,V> ScriptedBiFunction<T,U,V> resourceScript(@Nonnull final Resource resource)
             throws ScriptException, IOException {
         return resourceScript(DEFAULT_ENGINE, resource);
     }
diff --git a/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedBiPredicate.java b/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedBiPredicate.java
index 0ce05693..b8c6c0d5 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedBiPredicate.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedBiPredicate.java
@@ -114,26 +114,44 @@ public class ScriptedBiPredicate<T,U> extends AbstractScriptEvaluator implements
         
         final Pair<Class<T>,Class<U>> types = getInputTypes();
         if (null != types) {
-            if (null != first && !types.getFirst().isInstance(first)) {
-                log.error("{} Input of type {} was not of type {}", getLogPrefix(), first.getClass(), types.getFirst());
-                return (boolean) getReturnOnError();
+            final Class<T> intype1 = types.getFirst();
+            final Class<U> intype2 = types.getSecond();
+            
+            if (null != first && null != intype1 && !intype1.isInstance(first)) {
+                log.error("{} Input of type {} was not of type {}", getLogPrefix(), first.getClass(), intype1);
+                return (boolean) returnError();
             }
-            if (null != second && !types.getSecond().isInstance(second)) {
-                log.error("{} Input of type {} was not of type {}", getLogPrefix(), second.getClass(),
-                        types.getSecond());
-                return (boolean) getReturnOnError();
+            if (null != second && null != intype2 && !intype2.isInstance(second)) {
+                log.error("{} Input of type {} was not of type {}", getLogPrefix(), second.getClass(), intype2);
+                return (boolean) returnError();
             }
         }
 
         final Object result = evaluate(first, second);
-        return (boolean) (result != null ? result : getReturnOnError());
+        return (boolean) (result != null ? result : returnError());
     }
-
+    
+    /**
+     * Helper function to sanity check return-on-error object.
+     * 
+     * @return a boolean-valued error fallback
+     * 
+     * @throws ClassCastException if the installed fallback is null or non-Boolean
+     */
+    private boolean returnError() throws ClassCastException {
+        final Object ret = getReturnOnError();
+        if (ret instanceof Boolean) {
+            return (boolean) ret;
+        }
+        
+        throw new ClassCastException("Unable to cast return value to a boolean");
+    }
+    
     /** {@inheritDoc} */
     @Override
     protected void prepareContext(@Nonnull final ScriptContext scriptContext, @Nullable final Object... input) {
-        scriptContext.setAttribute("input1", input[0], ScriptContext.ENGINE_SCOPE);
-        scriptContext.setAttribute("input2", input[1], ScriptContext.ENGINE_SCOPE);
+        scriptContext.setAttribute("input1", input != null ? input[0] : null, ScriptContext.ENGINE_SCOPE);
+        scriptContext.setAttribute("input2", input != null ? input[1] : null, ScriptContext.ENGINE_SCOPE);
     }
 
     /**
@@ -173,7 +191,7 @@ public class ScriptedBiPredicate<T,U> extends AbstractScriptEvaluator implements
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
      */
-    public static <T,U> ScriptedBiPredicate<T,U> resourceScript(final Resource resource)
+    public static <T,U> ScriptedBiPredicate<T,U> resourceScript(@Nonnull final Resource resource)
             throws ScriptException, IOException {
         return resourceScript(DEFAULT_ENGINE, resource);
     }
diff --git a/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedConsumer.java b/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedConsumer.java
index 6a8569f9..7ffb0174 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedConsumer.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedConsumer.java
@@ -93,9 +93,9 @@ public class ScriptedConsumer<T> extends AbstractScriptEvaluator implements Cons
     /** {@inheritDoc} */
     public void accept(@Nullable final T input) {
 
-        if (null != getInputType() && null != input && !getInputType().isInstance(input)) {
-            log.error("{} Input of type {} was not of type {}", getLogPrefix(), input.getClass(),
-                    getInputType());
+        final Class<T> itype = getInputType();
+        if (null != itype && null != input && !itype.isInstance(input)) {
+            log.error("{} Input of type {} was not of type {}", getLogPrefix(), input.getClass(), itype);
         } else {
             evaluate(input);
         }
@@ -104,7 +104,7 @@ public class ScriptedConsumer<T> extends AbstractScriptEvaluator implements Cons
     /** {@inheritDoc} */
     @Override
     protected void prepareContext(@Nonnull final ScriptContext scriptContext, @Nullable final Object... input) {
-        scriptContext.setAttribute("input", input[0], ScriptContext.ENGINE_SCOPE);
+        scriptContext.setAttribute("input", input != null ? input[0] : null, ScriptContext.ENGINE_SCOPE);
     }
 
     /**
@@ -142,7 +142,7 @@ public class ScriptedConsumer<T> extends AbstractScriptEvaluator implements Cons
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
      */
-    public static <T> ScriptedConsumer<T> resourceScript(final Resource resource)
+    public static <T> ScriptedConsumer<T> resourceScript(@Nonnull final Resource resource)
             throws ScriptException, IOException {
         return resourceScript(DEFAULT_ENGINE, resource);
     }
diff --git a/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedFunction.java b/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedFunction.java
index d13c92f0..cf90271d 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedFunction.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedFunction.java
@@ -113,9 +113,9 @@ public class ScriptedFunction<T, U> extends AbstractScriptEvaluator implements F
     @SuppressWarnings("unchecked")
     public U apply(@Nullable final T input) {
 
-        if (null != getInputType() && null != input && !getInputType().isInstance(input)) {
-            log.error("{} Input of type {} was not of type {}", getLogPrefix(), input.getClass(),
-                    getInputType());
+        final Class<T> itype = getInputType();
+        if (null != itype && null != input && !itype.isInstance(input)) {
+            log.error("{} Input of type {} was not of type {}", getLogPrefix(), input.getClass(), itype);
             return (U) getReturnOnError();
         }
 
@@ -125,7 +125,7 @@ public class ScriptedFunction<T, U> extends AbstractScriptEvaluator implements F
     /** {@inheritDoc} */
     @Override
     protected void prepareContext(@Nonnull final ScriptContext scriptContext, @Nullable final Object... input) {
-        scriptContext.setAttribute("input", input[0], ScriptContext.ENGINE_SCOPE);
+        scriptContext.setAttribute("input", input != null ? input[0] : null, ScriptContext.ENGINE_SCOPE);
     }
 
     /**
@@ -165,7 +165,7 @@ public class ScriptedFunction<T, U> extends AbstractScriptEvaluator implements F
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
      */
-    public static <T,U> ScriptedFunction<T,U> resourceScript(final Resource resource)
+    public static <T,U> ScriptedFunction<T,U> resourceScript(@Nonnull final Resource resource)
             throws ScriptException, IOException {
         return resourceScript(DEFAULT_ENGINE, resource);
     }
diff --git a/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedPredicate.java b/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedPredicate.java
index e6d65260..f5167dcf 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedPredicate.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/logic/ScriptedPredicate.java
@@ -20,6 +20,7 @@ package net.shibboleth.shared.logic;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Collections;
 import java.util.function.Predicate;
 
 import javax.annotation.Nonnull;
@@ -111,20 +112,37 @@ public class ScriptedPredicate<T> extends AbstractScriptEvaluator implements Pre
     /** {@inheritDoc} */
     public boolean test(@Nullable final T input) {
         
-        if (null != getInputType() && null != input && !getInputType().isInstance(input)) {
+        final Class<T> itype = getInputType();
+        if (null != itype && null != input && !itype.isInstance(input)) {
             log.error("{} Input of type {} was not of type {}", getLogPrefix(), input.getClass(),
                     getInputType());
-            return (boolean) getReturnOnError();
+            return returnError();
         }
 
         final Object result = evaluate(input);
-        return (boolean) (result != null ? result : getReturnOnError());
+        return (boolean) (result != null ? result : returnError());
+    }
+    
+    /**
+     * Helper function to sanity check return-on-error object.
+     * 
+     * @return a boolean-valued error fallback
+     * 
+     * @throws ClassCastException if the installed fallback is null or non-Boolean
+     */
+    private boolean returnError() throws ClassCastException {
+        final Object ret = getReturnOnError();
+        if (ret instanceof Boolean) {
+            return (boolean) ret;
+        }
+        
+        throw new ClassCastException("Unable to cast return value to a boolean");
     }
     
     /** {@inheritDoc} */
     @Override
     protected void prepareContext(@Nonnull final ScriptContext scriptContext, @Nullable final Object... input) {
-        scriptContext.setAttribute("input", input[0], ScriptContext.ENGINE_SCOPE);
+        scriptContext.setAttribute("input", input != null ? input[0] : null, ScriptContext.ENGINE_SCOPE);
     }
     
     /**
@@ -162,7 +180,8 @@ public class ScriptedPredicate<T> extends AbstractScriptEvaluator implements Pre
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
      */
-    public static <T> ScriptedPredicate<T> resourceScript(final Resource resource) throws ScriptException, IOException {
+    public static <T> ScriptedPredicate<T> resourceScript(@Nonnull final Resource resource)
+            throws ScriptException, IOException {
         return resourceScript(DEFAULT_ENGINE, resource);
     }
 
diff --git a/shib-support/src/main/java/net/shibboleth/shared/scripting/AbstractScriptEvaluator.java b/shib-support/src/main/java/net/shibboleth/shared/scripting/AbstractScriptEvaluator.java
index 88d7e680..c4c211e2 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/scripting/AbstractScriptEvaluator.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/scripting/AbstractScriptEvaluator.java
@@ -205,8 +205,8 @@ public abstract class AbstractScriptEvaluator {
 
         try {
             final Object result = script.eval(scriptContext);
-
-            if (null != getOutputType() && null != result && !getOutputType().isInstance(result)) {
+            final Class<?> otype = getOutputType();
+            if (null != otype && null != result && !otype.isInstance(result)) {
                 log.error("{} Output of type {} was not of type {}", getLogPrefix(), result.getClass(),
                         getOutputType());
                 return getReturnOnError();
diff --git a/shib-support/src/main/java/net/shibboleth/shared/scripting/EvaluableScript.java b/shib-support/src/main/java/net/shibboleth/shared/scripting/EvaluableScript.java
index a31feb9e..6c20e279 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/scripting/EvaluableScript.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/scripting/EvaluableScript.java
@@ -56,7 +56,7 @@ public final class EvaluableScript extends AbstractInitializableComponent {
     @NonnullAfterInit @NotEmpty private String script;
 
     /** The script engine to execute the script. */
-    @Nullable private ScriptEngine scriptEngine;
+    @NonnullAfterInit private ScriptEngine scriptEngine;
 
     /** The compiled form of the script, if the script engine supports compiling. */
     @Nullable private CompiledScript compiledScript;
@@ -75,7 +75,7 @@ public final class EvaluableScript extends AbstractInitializableComponent {
      * 
      * @return the script source
      */
-    @Nonnull @NotEmpty public String getScript() {
+    @NonnullAfterInit @NotEmpty public String getScript() {
         return script;
     }
 
diff --git a/shib-support/src/main/java/net/shibboleth/shared/xml/AttributeSupport.java b/shib-support/src/main/java/net/shibboleth/shared/xml/AttributeSupport.java
index f3ee4241..5221340b 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/xml/AttributeSupport.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/xml/AttributeSupport.java
@@ -486,7 +486,7 @@ public final class AttributeSupport {
      *         an attribute
      */
     public static boolean removeAttribute(@Nullable final Element element, @Nullable final QName attributeName) {
-        if (hasAttribute(element, attributeName)) {
+        if (hasAttribute(element, attributeName) && null != element && null != attributeName) {
             element.removeAttributeNS(StringSupport.trimOrNull(attributeName.getNamespaceURI()),
                     attributeName.getLocalPart());
             return true;
@@ -494,4 +494,5 @@ public final class AttributeSupport {
 
         return false;
     }
+    
 }
\ No newline at end of file
diff --git a/shib-support/src/main/java/net/shibboleth/shared/xml/DOMTypeSupport.java b/shib-support/src/main/java/net/shibboleth/shared/xml/DOMTypeSupport.java
index bfd7713c..d8c435b0 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/xml/DOMTypeSupport.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/xml/DOMTypeSupport.java
@@ -92,7 +92,7 @@ public final class DOMTypeSupport {
      * @return the type or null
      */
     @Nullable public static QName getXSIType(@Nullable final Element e) {
-        if (hasXSIType(e)) {
+        if (hasXSIType(e) && null != e) {
             final Attr attribute = e.getAttributeNodeNS(XMLConstants.XSI_NS, "type");
             final String attributeValue = attribute.getTextContent().trim();
             return QNameSupport.constructQName(e, attributeValue);
diff --git a/shib-support/src/test/java/net/shibboleth/shared/logic/ScriptedTest.java b/shib-support/src/test/java/net/shibboleth/shared/logic/ScriptedTest.java
index 140459b9..4c0b1488 100644
--- a/shib-support/src/test/java/net/shibboleth/shared/logic/ScriptedTest.java
+++ b/shib-support/src/test/java/net/shibboleth/shared/logic/ScriptedTest.java
@@ -34,7 +34,7 @@ public class ScriptedTest {
 
     @Test public void testPredicate() throws ScriptException {
 
-        ScriptedPredicate<Object> test = ScriptedPredicate.inlineScript(returnSelf);
+        final ScriptedPredicate<Object> test = ScriptedPredicate.inlineScript(returnSelf);
 
         Assert.assertTrue(test.test(Boolean.TRUE));
         Assert.assertFalse(test.test(Boolean.FALSE));
@@ -45,7 +45,7 @@ public class ScriptedTest {
 
     @Test public void testPredicateCustom() throws ScriptException {
 
-        ScriptedPredicate<Object> test = ScriptedPredicate.inlineScript(returnCustom);
+        final ScriptedPredicate<Object> test = ScriptedPredicate.inlineScript(returnCustom);
 
         test.setCustomObject(Boolean.TRUE);
         Assert.assertTrue(test.test(Boolean.FALSE));
@@ -79,7 +79,7 @@ public class ScriptedTest {
 
     @Test public void testFunction() throws ScriptException {
 
-        ScriptedFunction<Object,Object> test = ScriptedFunction.inlineScript(returnSelf);
+        final ScriptedFunction<Object,Object> test = ScriptedFunction.inlineScript(returnSelf);
 
         Assert.assertEquals(test.apply(Boolean.FALSE), Boolean.FALSE);
         Assert.assertEquals(test.apply(Boolean.TRUE), Boolean.TRUE);
@@ -94,7 +94,7 @@ public class ScriptedTest {
 
     @Test public void testBadScriptFunction() throws ScriptException {
 
-        ScriptedFunction<Boolean,Boolean> test = ScriptedFunction.inlineScript(returnSelfString);
+        final ScriptedFunction<Boolean,Boolean> test = ScriptedFunction.inlineScript(returnSelfString);
         test.setOutputType(Boolean.class);
         test.setInputType(Boolean.class);
 
diff --git a/shib-support/src/test/java/net/shibboleth/shared/primitive/ObjectSupportTest.java b/shib-support/src/test/java/net/shibboleth/shared/primitive/ObjectSupportTest.java
index e36278c2..fcf33424 100644
--- a/shib-support/src/test/java/net/shibboleth/shared/primitive/ObjectSupportTest.java
+++ b/shib-support/src/test/java/net/shibboleth/shared/primitive/ObjectSupportTest.java
@@ -25,6 +25,7 @@ import org.testng.annotations.Test;
  */
 public class ObjectSupportTest {
     
+    /** Test method. */
     @Test public void testFirstNonNull() {
        Object foo = new Object();
        Object bar = new Object();

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list