[java-opensaml] branch main updated: IDP-2044 Scripted object constructors and initialization
Rod Widdowson
rdw at steadingsoftware.com
Wed Jun 21 15:43:06 UTC 2023
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch main
in repository java-opensaml.
View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=0d8f395fcca7923cb4d4cc5a98730b5f3fca3aa9
The following commit(s) were added to refs/heads/main by this push:
new 0d8f395fc IDP-2044 Scripted object constructors and initialization
0d8f395fc is described below
commit 0d8f395fcca7923cb4d4cc5a98730b5f3fca3aa9
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed Jun 21 16:33:57 2023 +0100
IDP-2044 Scripted object constructors and initialization
https://shibboleth.atlassian.net/browse/IDP-2044
Having removed the deprecated (initializeWithScriptException) method
make the factory methods throw ComponentInitalizationException
as well.
These are only used as beans and in tests.
---
.../filter/impl/ScriptedTrustedNamesFunction.java | 19 +++++++++++--------
.../resolver/filter/impl/ScriptedFunctionTest.java | 7 ++++---
2 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/ScriptedTrustedNamesFunction.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/ScriptedTrustedNamesFunction.java
index f88b4c040..f85d6be30 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/ScriptedTrustedNamesFunction.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/ScriptedTrustedNamesFunction.java
@@ -28,6 +28,7 @@ import javax.script.ScriptContext;
import javax.script.ScriptException;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.resource.Resource;
import net.shibboleth.shared.scripting.AbstractScriptEvaluator;
import net.shibboleth.shared.scripting.EvaluableScript;
@@ -91,15 +92,15 @@ public class ScriptedTrustedNamesFunction extends AbstractScriptEvaluator implem
* @return the function
* @throws ScriptException if the compile fails
* @throws IOException if the file doesn't exist.
+ * @throws ComponentInitializationException if the scripting initialization fails
*/
- @SuppressWarnings("removal")
@Nonnull static ScriptedTrustedNamesFunction resourceScript(@Nonnull @NotEmpty final String engineName,
- @Nonnull final Resource resource) throws ScriptException, IOException {
+ @Nonnull final Resource resource) throws ScriptException, IOException, ComponentInitializationException {
try (final InputStream is = resource.getInputStream()) {
final EvaluableScript script = new EvaluableScript();
script.setEngineName(engineName);
script.setScript(is);
- script.initializeWithScriptException();
+ script.initialize();
return new ScriptedTrustedNamesFunction(script, resource.getDescription());
}
}
@@ -111,9 +112,10 @@ public class ScriptedTrustedNamesFunction extends AbstractScriptEvaluator implem
* @return the function
* @throws ScriptException if the compile fails
* @throws IOException if the file doesn't exist.
+ * @throws ComponentInitializationException if the scripting initialization fails
*/
@Nonnull static ScriptedTrustedNamesFunction resourceScript(@Nonnull final Resource resource)
- throws ScriptException, IOException {
+ throws ScriptException, IOException, ComponentInitializationException {
return resourceScript(DEFAULT_ENGINE, resource);
}
@@ -124,14 +126,14 @@ public class ScriptedTrustedNamesFunction extends AbstractScriptEvaluator implem
* @param engineName the language
* @return the function
* @throws ScriptException if the compile fails
+ * @throws ComponentInitializationException if the scripting initialization fails
*/
- @SuppressWarnings("removal")
@Nonnull static ScriptedTrustedNamesFunction inlineScript(@Nonnull @NotEmpty final String engineName,
- @Nonnull @NotEmpty final String scriptSource) throws ScriptException {
+ @Nonnull @NotEmpty final String scriptSource) throws ScriptException, ComponentInitializationException {
final EvaluableScript script = new EvaluableScript();
script.setEngineName(engineName);
script.setScript(scriptSource);
- script.initializeWithScriptException();
+ script.initialize();
return new ScriptedTrustedNamesFunction(script, "Inline");
}
@@ -141,9 +143,10 @@ public class ScriptedTrustedNamesFunction extends AbstractScriptEvaluator implem
* @param scriptSource the script, as a string
* @return the function
* @throws ScriptException if the compile fails
+ * @throws ComponentInitializationException if the scripting initialization fails
*/
@Nonnull static ScriptedTrustedNamesFunction inlineScript(@Nonnull @NotEmpty final String scriptSource)
- throws ScriptException {
+ throws ScriptException, ComponentInitializationException {
return inlineScript(DEFAULT_ENGINE, scriptSource);
}
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/ScriptedFunctionTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/ScriptedFunctionTest.java
index 696ee7a75..4eccdfe5e 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/ScriptedFunctionTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/ScriptedFunctionTest.java
@@ -32,6 +32,7 @@ import org.testng.Assert;
import org.testng.annotations.Test;
import net.shibboleth.shared.collection.CollectionSupport;
+import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.resource.Resource;
import net.shibboleth.shared.spring.resource.ResourceHelper;
@@ -48,7 +49,7 @@ public class ScriptedFunctionTest extends XMLObjectBaseTestCase {
return builder.buildObject();
}
- @Test public void inlineScript() throws ScriptException {
+ @Test public void inlineScript() throws ScriptException, ComponentInitializationException {
final Set<String> s = ScriptedTrustedNamesFunction.inlineScript(SCRIPT_8).apply(makeObject());
assert s != null;
@@ -57,7 +58,7 @@ public class ScriptedFunctionTest extends XMLObjectBaseTestCase {
}
- @Test public void fileScript() throws ScriptException, IOException {
+ @Test public void fileScript() throws ScriptException, IOException, ComponentInitializationException {
final Resource r = ResourceHelper.of(new ClassPathResource(FILE_8));
final Set<String> result = ScriptedTrustedNamesFunction.resourceScript(r).apply(makeObject());
assert result != null;
@@ -65,7 +66,7 @@ public class ScriptedFunctionTest extends XMLObjectBaseTestCase {
Assert.assertTrue(result.contains("String"));
}
- @Test public void customScript() throws ScriptException {
+ @Test public void customScript() throws ScriptException, ComponentInitializationException {
final ScriptedTrustedNamesFunction what = ScriptedTrustedNamesFunction.inlineScript("custom;");
what.setCustomObject(CollectionSupport.singleton("String"));
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list