[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