[java-shib-shared] branch main updated: IDP-2044 Scripted object constructors and initialization

Rod Widdowson rdw at steadingsoftware.com
Thu May 4 14:34:00 UTC 2023


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

rdw 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=373998986eb68bd7170f2449fd40529376174b53

The following commit(s) were added to refs/heads/main by this push:
     new 37399898 IDP-2044 Scripted object constructors and initialization
37399898 is described below

commit 373998986eb68bd7170f2449fd40529376174b53
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Thu May 4 15:31:11 2023 +0100

    IDP-2044 Scripted object constructors and initialization
    
    https://shibboleth.atlassian.net/browse/IDP-2044
    
    Replace use of the deprecated script.initializeWithScriptException()
    method with a straight initialize() bracketed if required with a try/except.
---
 .../shared/logic/ScriptedBiConsumer.java           | 41 +++++++++++++---------
 .../shared/logic/ScriptedBiFunction.java           | 36 +++++++++++--------
 .../shared/logic/ScriptedBiPredicate.java          | 36 +++++++++++--------
 .../shibboleth/shared/logic/ScriptedConsumer.java  | 34 +++++++++++-------
 .../shibboleth/shared/logic/ScriptedFunction.java  | 36 +++++++++++--------
 .../shibboleth/shared/logic/ScriptedPredicate.java | 39 +++++++++++---------
 6 files changed, 135 insertions(+), 87 deletions(-)

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 17620ece..e28de4f7 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
@@ -27,16 +27,17 @@ import javax.annotation.Nullable;
 import javax.script.ScriptContext;
 import javax.script.ScriptException;
 
+import org.slf4j.Logger;
+
 import net.shibboleth.shared.annotation.ParameterName;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.collection.Pair;
+import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.primitive.LoggerFactory;
 import net.shibboleth.shared.resource.Resource;
 import net.shibboleth.shared.scripting.AbstractScriptEvaluator;
 import net.shibboleth.shared.scripting.EvaluableScript;
 
-import org.slf4j.Logger;
-
 /**
  * A {@link BiConsumer} which calls out to a supplied script.
  *
@@ -138,15 +139,16 @@ public class ScriptedBiConsumer<T,U> extends AbstractScriptEvaluator implements
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
      */
-    @SuppressWarnings("removal")
     public static <T,U> ScriptedBiConsumer<T,U> resourceScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull final Resource resource) throws ScriptException, IOException {
         try (final InputStream is = resource.getInputStream()) {
             final EvaluableScript script = new EvaluableScript();
             script.setEngineName(engineName);
             script.setScript(is);
-            script.initializeWithScriptException();
+            script.initialize();
             return new ScriptedBiConsumer<>(script, resource.getDescription());
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
         }
     }
 
@@ -179,14 +181,17 @@ public class ScriptedBiConsumer<T,U> extends AbstractScriptEvaluator implements
      * 
      * @throws ScriptException if the compile fails
      */
-    @SuppressWarnings("removal")
     public static <T,U> ScriptedBiConsumer<T,U> inlineScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull @NotEmpty final String scriptSource) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript();
-        script.setEngineName(engineName);
-        script.setScript(scriptSource);
-        script.initializeWithScriptException();
-        return new ScriptedBiConsumer<>(script, "Inline");
+        try {
+            final EvaluableScript script = new EvaluableScript();
+            script.setEngineName(engineName);
+            script.setScript(scriptSource);
+            script.initialize();
+            return new ScriptedBiConsumer<>(script, "Inline");
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
+        }
     }
 
     /**
@@ -200,12 +205,16 @@ public class ScriptedBiConsumer<T,U> extends AbstractScriptEvaluator implements
      * 
      * @throws ScriptException if the compile fails
      */
-    @SuppressWarnings("removal")
     public static <T,U> ScriptedBiConsumer<T,U> inlineScript(@Nonnull @NotEmpty final String scriptSource)
             throws ScriptException {
-        final EvaluableScript script = new EvaluableScript();
-        script.setScript(scriptSource);
-        script.initializeWithScriptException();
-        return new ScriptedBiConsumer<>(script, "Inline");
+        try {
+            final EvaluableScript script = new EvaluableScript();
+            script.setScript(scriptSource);
+            script.initialize();
+            return new ScriptedBiConsumer<>(script, "Inline");
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
+        }
     }
-}
\ No newline at end of file
+}
+ 
\ No newline at end of file
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 b6944aa3..35652f67 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
@@ -30,6 +30,7 @@ import javax.script.ScriptException;
 import net.shibboleth.shared.annotation.ParameterName;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.collection.Pair;
+import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.primitive.LoggerFactory;
 import net.shibboleth.shared.resource.Resource;
 import net.shibboleth.shared.scripting.AbstractScriptEvaluator;
@@ -159,15 +160,16 @@ public class ScriptedBiFunction<T,U,V> extends AbstractScriptEvaluator implement
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
      */
-    @SuppressWarnings("removal")
     public static <T,U,V> ScriptedBiFunction<T,U,V> resourceScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull final Resource resource) throws ScriptException, IOException {
         try (final InputStream is = resource.getInputStream()) {
             final EvaluableScript script = new EvaluableScript();
             script.setEngineName(engineName);
             script.setScript(is);
-            script.initializeWithScriptException();
+            script.initialize();
             return new ScriptedBiFunction<>(script, resource.getDescription());
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
         }
     }
 
@@ -202,14 +204,17 @@ public class ScriptedBiFunction<T,U,V> extends AbstractScriptEvaluator implement
      * 
      * @throws ScriptException if the compile fails
      */
-    @SuppressWarnings("removal")
     public static <T,U,V> ScriptedBiFunction<T,U,V> inlineScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull @NotEmpty final String scriptSource) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript();
-        script.setEngineName(engineName);
-        script.setScript(scriptSource);
-        script.initializeWithScriptException();
-        return new ScriptedBiFunction<>(script, "Inline");
+        try {
+            final EvaluableScript script = new EvaluableScript();
+            script.setEngineName(engineName);
+            script.setScript(scriptSource);
+            script.initialize();
+            return new ScriptedBiFunction<>(script, "Inline");
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
+        }
     }
 
     /**
@@ -224,12 +229,15 @@ public class ScriptedBiFunction<T,U,V> extends AbstractScriptEvaluator implement
      * 
      * @throws ScriptException if the compile fails
      */
-    @SuppressWarnings("removal")
     public static <T,U,V> ScriptedBiFunction<T,U,V> inlineScript(@Nonnull @NotEmpty final String scriptSource)
             throws ScriptException {
-        final EvaluableScript script = new EvaluableScript();
-        script.setScript(scriptSource);
-        script.initializeWithScriptException();
-        return new ScriptedBiFunction<>(script, "Inline");
+        try {
+            final EvaluableScript script = new EvaluableScript();
+            script.setScript(scriptSource);
+            script.initialize();
+            return new ScriptedBiFunction<>(script, "Inline");
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
+        }
     }
-}
\ No newline at end of file
+}
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 d08e973a..fbcd1fdd 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
@@ -30,6 +30,7 @@ import javax.script.ScriptException;
 import net.shibboleth.shared.annotation.ParameterName;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.collection.Pair;
+import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.primitive.LoggerFactory;
 import net.shibboleth.shared.resource.Resource;
 import net.shibboleth.shared.scripting.AbstractScriptEvaluator;
@@ -167,15 +168,16 @@ public class ScriptedBiPredicate<T,U> extends AbstractScriptEvaluator implements
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
      */
-    @SuppressWarnings("removal")
     public static <T,U> ScriptedBiPredicate<T,U> resourceScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull final Resource resource) throws ScriptException, IOException {
         try (final InputStream is = resource.getInputStream()) {
             final EvaluableScript script = new EvaluableScript();
             script.setEngineName(engineName);
             script.setScript(is);
-            script.initializeWithScriptException();
+            script.initialize();
             return new ScriptedBiPredicate<>(script, resource.getDescription());
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
         }
     }
 
@@ -208,14 +210,17 @@ public class ScriptedBiPredicate<T,U> extends AbstractScriptEvaluator implements
      * 
      * @throws ScriptException if the compile fails
      */
-    @SuppressWarnings("removal")
     public static <T,U> ScriptedBiPredicate<T,U> inlineScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull @NotEmpty final String scriptSource) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript();
-        script.setEngineName(engineName);
-        script.setScript(scriptSource);
-        script.initializeWithScriptException();
-        return new ScriptedBiPredicate<>(script, "Inline");
+        try {
+            final EvaluableScript script = new EvaluableScript();
+            script.setEngineName(engineName);
+            script.setScript(scriptSource);
+            script.initialize();
+            return new ScriptedBiPredicate<>(script, "Inline");
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
+        }
     }
 
     /**
@@ -229,12 +234,15 @@ public class ScriptedBiPredicate<T,U> extends AbstractScriptEvaluator implements
      * 
      * @throws ScriptException if the compile fails
      */
-    @SuppressWarnings("removal")
     public static <T,U> ScriptedBiPredicate<T,U> inlineScript(@Nonnull @NotEmpty final String scriptSource)
             throws ScriptException {
-        final EvaluableScript script = new EvaluableScript();
-        script.setScript(scriptSource);
-        script.initializeWithScriptException();
-        return new ScriptedBiPredicate<>(script, "Inline");
+        try {
+            final EvaluableScript script = new EvaluableScript();
+            script.setScript(scriptSource);
+            script.initialize();
+            return new ScriptedBiPredicate<>(script, "Inline");
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
+        }
     }
-}
\ No newline at end of file
+}
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 dcd56630..5677ff45 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
@@ -29,6 +29,7 @@ import javax.script.ScriptException;
 
 import net.shibboleth.shared.annotation.ParameterName;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.primitive.LoggerFactory;
 import net.shibboleth.shared.resource.Resource;
 import net.shibboleth.shared.scripting.AbstractScriptEvaluator;
@@ -119,15 +120,16 @@ public class ScriptedConsumer<T> extends AbstractScriptEvaluator implements Cons
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
      */
-    @SuppressWarnings("removal")
     public static <T> ScriptedConsumer<T> resourceScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull final Resource resource) throws ScriptException, IOException {
         try (final InputStream is = resource.getInputStream()) {
             final EvaluableScript script = new EvaluableScript();
             script.setEngineName(engineName);
             script.setScript(is);
-            script.initializeWithScriptException();
+            script.initialize();
             return new ScriptedConsumer<>(script, resource.getDescription());
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
         }
     }
 
@@ -158,14 +160,17 @@ public class ScriptedConsumer<T> extends AbstractScriptEvaluator implements Cons
      * 
      * @throws ScriptException if the compile fails
      */
-    @SuppressWarnings("removal")
     public static <T> ScriptedConsumer<T> inlineScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull @NotEmpty final String scriptSource) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript();
-        script.setEngineName(engineName);
-        script.setScript(scriptSource);
-        script.initializeWithScriptException();
-        return new ScriptedConsumer<>(script, "Inline");
+        try {
+            final EvaluableScript script = new EvaluableScript();
+            script.setEngineName(engineName);
+            script.setScript(scriptSource);
+            script.initialize();
+            return new ScriptedConsumer<>(script, "Inline");
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
+        }
     }
 
     /**
@@ -178,12 +183,15 @@ public class ScriptedConsumer<T> extends AbstractScriptEvaluator implements Cons
      * 
      * @throws ScriptException if the compile fails
      */
-    @SuppressWarnings("removal")
     public static <T> ScriptedConsumer<T> inlineScript(@Nonnull @NotEmpty final String scriptSource)
             throws ScriptException {
-        final EvaluableScript script = new EvaluableScript();
-        script.setScript(scriptSource);
-        script.initializeWithScriptException();
-        return new ScriptedConsumer<>(script, "Inline");
+        try {
+            final EvaluableScript script = new EvaluableScript();
+            script.setScript(scriptSource);
+            script.initialize();
+            return new ScriptedConsumer<>(script, "Inline");
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
+        }
     }
 }
\ No newline at end of file
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 43991788..5c3da877 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
@@ -29,6 +29,7 @@ import javax.script.ScriptException;
 
 import net.shibboleth.shared.annotation.ParameterName;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.primitive.LoggerFactory;
 import net.shibboleth.shared.resource.Resource;
 import net.shibboleth.shared.scripting.AbstractScriptEvaluator;
@@ -141,15 +142,16 @@ public class ScriptedFunction<T, U> extends AbstractScriptEvaluator implements F
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
      */
-    @SuppressWarnings("removal")
     public static <T,U> ScriptedFunction<T,U> resourceScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull final Resource resource) throws ScriptException, IOException {
         try (final InputStream is = resource.getInputStream()) {
             final EvaluableScript script = new EvaluableScript();
             script.setEngineName(engineName);
             script.setScript(is);
-            script.initializeWithScriptException();
+            script.initialize();
             return new ScriptedFunction<>(script, resource.getDescription());
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
         }
     }
 
@@ -182,14 +184,17 @@ public class ScriptedFunction<T, U> extends AbstractScriptEvaluator implements F
      * 
      * @throws ScriptException if the compile fails
      */
-    @SuppressWarnings("removal")
     public static <T,U> ScriptedFunction<T,U> inlineScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull @NotEmpty final String scriptSource) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript();
-        script.setEngineName(engineName);
-        script.setScript(scriptSource);
-        script.initializeWithScriptException();
-        return new ScriptedFunction<>(script, "Inline");
+        try {
+            final EvaluableScript script = new EvaluableScript();
+            script.setEngineName(engineName);
+            script.setScript(scriptSource);
+            script.initialize();
+            return new ScriptedFunction<>(script, "Inline");
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
+        }
     }
 
     /**
@@ -203,12 +208,15 @@ public class ScriptedFunction<T, U> extends AbstractScriptEvaluator implements F
      * 
      * @throws ScriptException if the compile fails
      */
-    @SuppressWarnings("removal")
     public static <T,U> ScriptedFunction<T,U> inlineScript(@Nonnull @NotEmpty final String scriptSource)
             throws ScriptException {
-        final EvaluableScript script = new EvaluableScript();
-        script.setScript(scriptSource);
-        script.initializeWithScriptException();
-        return new ScriptedFunction<>(script, "Inline");
+        try {
+            final EvaluableScript script = new EvaluableScript();
+            script.setScript(scriptSource);
+            script.initialize();
+            return new ScriptedFunction<>(script, "Inline");
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
+        }
     }
-}
\ No newline at end of file
+}
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 699d1e6a..77211e48 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
@@ -29,6 +29,7 @@ import javax.script.ScriptException;
 
 import net.shibboleth.shared.annotation.ParameterName;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.primitive.LoggerFactory;
 import net.shibboleth.shared.resource.Resource;
 import net.shibboleth.shared.scripting.AbstractScriptEvaluator;
@@ -156,15 +157,16 @@ public class ScriptedPredicate<T> extends AbstractScriptEvaluator implements Pre
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
      */
-    @SuppressWarnings("removal")
     public static <T> ScriptedPredicate<T> resourceScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull final Resource resource) throws ScriptException, IOException {
         try (final InputStream is = resource.getInputStream()) {
             final EvaluableScript script = new EvaluableScript();
             script.setEngineName(engineName);
             script.setScript(is);
-            script.initializeWithScriptException();
+            script.initialize();
             return new ScriptedPredicate<>(script, resource.getDescription());
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
         }
     }
 
@@ -195,14 +197,17 @@ public class ScriptedPredicate<T> extends AbstractScriptEvaluator implements Pre
      * 
      * @throws ScriptException if the compile fails
      */
-    @SuppressWarnings("removal")
     public static <T> ScriptedPredicate<T> inlineScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull @NotEmpty final String scriptSource) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript();
-        script.setEngineName(engineName);
-        script.setScript(scriptSource);
-        script.initializeWithScriptException();
-        return new ScriptedPredicate<>(script, "Inline");
+        try {
+            final EvaluableScript script = new EvaluableScript();
+            script.setEngineName(engineName);
+            script.setScript(scriptSource);
+            script.initialize();
+            return new ScriptedPredicate<>(script, "Inline");
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
+        }
     }
 
     /**
@@ -215,14 +220,16 @@ public class ScriptedPredicate<T> extends AbstractScriptEvaluator implements Pre
      * 
      * @throws ScriptException if the compile fails
      */
-    @SuppressWarnings("removal")
     public static <T> ScriptedPredicate<T> inlineScript(@Nonnull @NotEmpty final String scriptSource)
             throws ScriptException {
-        final EvaluableScript script = new EvaluableScript();
-        script.setEngineName(DEFAULT_ENGINE);
-        script.setScript(scriptSource);
-        script.initializeWithScriptException();
-        return new ScriptedPredicate<>(script, "Inline");
+        try {
+            final EvaluableScript script = new EvaluableScript();
+            script.setEngineName(DEFAULT_ENGINE);
+            script.setScript(scriptSource);
+            script.initialize();
+            return new ScriptedPredicate<>(script, "Inline");
+        } catch (final ComponentInitializationException e) {
+            throw new ScriptException(e);
+        }
     }
-
-}
\ No newline at end of file
+}

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


More information about the commits mailing list