[java-shib-shared] 01/02: IDP-2044 Scripted object constructors and initialization

Rod Widdowson rdw at steadingsoftware.com
Wed Jun 21 09:55:58 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=8e703bba9674c526104f3d9e89e35b91a62440d1

commit 8e703bba9674c526104f3d9e89e35b91a62440d1
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed Jun 21 10:45:12 2023 +0100

    IDP-2044 Scripted object constructors and initialization
    
    https://shibboleth.atlassian.net/browse/IDP-2044
    
    Revert "IDP-2044 Scripted object constructors and initialization"
    
    This reverts commit 373998986eb68bd7170f2449fd40529376174b53.
---
 .../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, 87 insertions(+), 135 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 e28de4f7..17620ece 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,17 +27,16 @@ 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.
  *
@@ -139,16 +138,15 @@ 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.initialize();
+            script.initializeWithScriptException();
             return new ScriptedBiConsumer<>(script, resource.getDescription());
-        } catch (final ComponentInitializationException e) {
-            throw new ScriptException(e);
         }
     }
 
@@ -181,17 +179,14 @@ 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 {
-        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);
-        }
+        final EvaluableScript script = new EvaluableScript();
+        script.setEngineName(engineName);
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
+        return new ScriptedBiConsumer<>(script, "Inline");
     }
 
     /**
@@ -205,16 +200,12 @@ 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 {
-        try {
-            final EvaluableScript script = new EvaluableScript();
-            script.setScript(scriptSource);
-            script.initialize();
-            return new ScriptedBiConsumer<>(script, "Inline");
-        } catch (final ComponentInitializationException e) {
-            throw new ScriptException(e);
-        }
+        final EvaluableScript script = new EvaluableScript();
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
+        return new ScriptedBiConsumer<>(script, "Inline");
     }
-}
- 
\ 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 35652f67..b6944aa3 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,7 +30,6 @@ 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;
@@ -160,16 +159,15 @@ 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.initialize();
+            script.initializeWithScriptException();
             return new ScriptedBiFunction<>(script, resource.getDescription());
-        } catch (final ComponentInitializationException e) {
-            throw new ScriptException(e);
         }
     }
 
@@ -204,17 +202,14 @@ 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 {
-        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);
-        }
+        final EvaluableScript script = new EvaluableScript();
+        script.setEngineName(engineName);
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
+        return new ScriptedBiFunction<>(script, "Inline");
     }
 
     /**
@@ -229,15 +224,12 @@ 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 {
-        try {
-            final EvaluableScript script = new EvaluableScript();
-            script.setScript(scriptSource);
-            script.initialize();
-            return new ScriptedBiFunction<>(script, "Inline");
-        } catch (final ComponentInitializationException e) {
-            throw new ScriptException(e);
-        }
+        final EvaluableScript script = new EvaluableScript();
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
+        return new ScriptedBiFunction<>(script, "Inline");
     }
-}
+}
\ 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 fbcd1fdd..d08e973a 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,7 +30,6 @@ 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;
@@ -168,16 +167,15 @@ 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.initialize();
+            script.initializeWithScriptException();
             return new ScriptedBiPredicate<>(script, resource.getDescription());
-        } catch (final ComponentInitializationException e) {
-            throw new ScriptException(e);
         }
     }
 
@@ -210,17 +208,14 @@ 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 {
-        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);
-        }
+        final EvaluableScript script = new EvaluableScript();
+        script.setEngineName(engineName);
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
+        return new ScriptedBiPredicate<>(script, "Inline");
     }
 
     /**
@@ -234,15 +229,12 @@ 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 {
-        try {
-            final EvaluableScript script = new EvaluableScript();
-            script.setScript(scriptSource);
-            script.initialize();
-            return new ScriptedBiPredicate<>(script, "Inline");
-        } catch (final ComponentInitializationException e) {
-            throw new ScriptException(e);
-        }
+        final EvaluableScript script = new EvaluableScript();
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
+        return new ScriptedBiPredicate<>(script, "Inline");
     }
-}
+}
\ 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 5677ff45..dcd56630 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,7 +29,6 @@ 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;
@@ -120,16 +119,15 @@ 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.initialize();
+            script.initializeWithScriptException();
             return new ScriptedConsumer<>(script, resource.getDescription());
-        } catch (final ComponentInitializationException e) {
-            throw new ScriptException(e);
         }
     }
 
@@ -160,17 +158,14 @@ 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 {
-        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);
-        }
+        final EvaluableScript script = new EvaluableScript();
+        script.setEngineName(engineName);
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
+        return new ScriptedConsumer<>(script, "Inline");
     }
 
     /**
@@ -183,15 +178,12 @@ 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 {
-        try {
-            final EvaluableScript script = new EvaluableScript();
-            script.setScript(scriptSource);
-            script.initialize();
-            return new ScriptedConsumer<>(script, "Inline");
-        } catch (final ComponentInitializationException e) {
-            throw new ScriptException(e);
-        }
+        final EvaluableScript script = new EvaluableScript();
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
+        return new ScriptedConsumer<>(script, "Inline");
     }
 }
\ 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 5c3da877..43991788 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,7 +29,6 @@ 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;
@@ -142,16 +141,15 @@ 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.initialize();
+            script.initializeWithScriptException();
             return new ScriptedFunction<>(script, resource.getDescription());
-        } catch (final ComponentInitializationException e) {
-            throw new ScriptException(e);
         }
     }
 
@@ -184,17 +182,14 @@ 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 {
-        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);
-        }
+        final EvaluableScript script = new EvaluableScript();
+        script.setEngineName(engineName);
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
+        return new ScriptedFunction<>(script, "Inline");
     }
 
     /**
@@ -208,15 +203,12 @@ 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 {
-        try {
-            final EvaluableScript script = new EvaluableScript();
-            script.setScript(scriptSource);
-            script.initialize();
-            return new ScriptedFunction<>(script, "Inline");
-        } catch (final ComponentInitializationException e) {
-            throw new ScriptException(e);
-        }
+        final EvaluableScript script = new EvaluableScript();
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
+        return new ScriptedFunction<>(script, "Inline");
     }
-}
+}
\ 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 77211e48..699d1e6a 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,7 +29,6 @@ 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;
@@ -157,16 +156,15 @@ 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.initialize();
+            script.initializeWithScriptException();
             return new ScriptedPredicate<>(script, resource.getDescription());
-        } catch (final ComponentInitializationException e) {
-            throw new ScriptException(e);
         }
     }
 
@@ -197,17 +195,14 @@ 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 {
-        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);
-        }
+        final EvaluableScript script = new EvaluableScript();
+        script.setEngineName(engineName);
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
+        return new ScriptedPredicate<>(script, "Inline");
     }
 
     /**
@@ -220,16 +215,14 @@ 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 {
-        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);
-        }
+        final EvaluableScript script = new EvaluableScript();
+        script.setEngineName(DEFAULT_ENGINE);
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
+        return new ScriptedPredicate<>(script, "Inline");
     }
-}
+
+}
\ 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