[java-identity-provider] 01/03: JSPT-96 Deprecated multi-parameter constructors to EvaluableScript

Rod Widdowson rdw at steadingsoftware.com
Mon May 4 14:38:44 UTC 2020


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

rdw pushed a commit to branch dev/JSPT-95
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=dd89e528e67540647a2c23f2102575f6bc020791

commit dd89e528e67540647a2c23f2102575f6bc020791
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Tue Mar 31 16:54:14 2020 +0100

    JSPT-96 Deprecated multi-parameter constructors to EvaluableScript
    
    https://issues.shibboleth.net/jira/browse/JSPT-96
    
    We have to rev the parent pom to be able to use the new methods.
---
 .../filter/matcher/impl/ScriptedMatcherTest.java   | 66 +++++++++++++---------
 .../policyrule/impl/ScriptedPolicyRuleTest.java    | 47 ++++++++++-----
 .../http/impl/ScriptedResponseMappingStrategy.java | 10 +++-
 .../resolver/ad/impl/ScriptedAttributeTest.java    | 39 +++++++------
 .../dc/impl/ScriptedDataConnectorTest.java         | 18 +++---
 idp-parent/pom.xml                                 |  4 +-
 .../net/shibboleth/idp/profile/ScriptedAction.java | 13 +++--
 .../navigate/ScriptedContextLookupFunction.java    | 42 +++++++++-----
 .../idp/profile/logic/ScriptedPredicate.java       | 13 +++--
 9 files changed, 159 insertions(+), 93 deletions(-)

diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/ScriptedMatcherTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/ScriptedMatcherTest.java
index e6148f190..82acd7a8e 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/ScriptedMatcherTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/ScriptedMatcherTest.java
@@ -73,33 +73,42 @@ public class ScriptedMatcherTest extends AbstractMatcherPolicyRuleTest {
 
         filterContext = new AttributeFilterContext();
 
-        nullReturnScript = new EvaluableScript("JavaScript", "null;");
-
-        returnOneValueScript =
-                new EvaluableScript("JavaScript", new StringBuilder()
-                        .append("load('nashorn:mozilla_compat.js');importPackage(Packages.java.util);")
-                        .append("filterContext.getPrefilteredIdPAttributes();").append("x = new HashSet();")
-                        .append("x.add(attribute.getValues().iterator().next());").append("x;").toString());
-
-        invalidReturnObjectScript =
-                new EvaluableScript("JavaScript", "load('nashorn:mozilla_compat.js');new java.lang.String();");
-
-        addedValuesScript =
-                new EvaluableScript("JavaScript", new StringBuilder()
-                        .append("load('nashorn:mozilla_compat.js');importPackage(Packages.java.util);")
-                        .append("importPackage(Packages.net.shibboleth.idp.attribute);")
-                        .append("x = new HashSet();").append("x.add(attribute.getValues().iterator().next());")
+        nullReturnScript = new EvaluableScript();
+        nullReturnScript.setEngineName("JavaScript");
+        nullReturnScript.setScript("null;");
+        nullReturnScript.initialize();
+
+        returnOneValueScript = new EvaluableScript();
+        returnOneValueScript.setEngineName("JavaScript");
+        returnOneValueScript.setScript(new StringBuilder()
+             .append("load('nashorn:mozilla_compat.js');importPackage(Packages.java.util);")
+             .append("filterContext.getPrefilteredIdPAttributes();").append("x = new HashSet();")
+             .append("x.add(attribute.getValues().iterator().next());").append("x;").toString());
+        returnOneValueScript.initialize();
+
+        invalidReturnObjectScript = new EvaluableScript();
+        invalidReturnObjectScript.setEngineName("JavaScript");
+        invalidReturnObjectScript.setScript("load('nashorn:mozilla_compat.js');new java.lang.String();");
+        invalidReturnObjectScript.initialize();
+
+        addedValuesScript = new EvaluableScript();
+        addedValuesScript.setEngineName("JavaScript");
+        addedValuesScript.setScript(new StringBuilder()
+             .append("load('nashorn:mozilla_compat.js');importPackage(Packages.java.util);")
+             .append("importPackage(Packages.net.shibboleth.idp.attribute);")
+             .append("x = new HashSet();").append("x.add(attribute.getValues().iterator().next());")
                         .append("x.add(new StringAttributeValue(\"a\"));").append("x;").toString());
-        prcscScript =
-                new EvaluableScript(
-                        "JavaScript",
-                        new StringBuilder("HashSet = Java.type(\"java.util.HashSet\");\n")
-                                .append("StringAttributeValue = Java.type(\"net.shibboleth.idp.attribute.StringAttributeValue\");\n")
-                                .append("x = new HashSet(1);\n")
-                                .append("x.add(new StringAttributeValue(profileContext.getClass().getName()));\n")
-                                .append("x.add(new StringAttributeValue(subjects[0].getPrincipals().iterator().next().getName()));\n")
-                                .append("x;").toString());
-
+        addedValuesScript.initialize();
+
+        prcscScript = new EvaluableScript();
+        prcscScript.setEngineName("JavaScript");
+        prcscScript.setScript(new StringBuilder("HashSet = Java.type(\"java.util.HashSet\");\n")
+             .append("StringAttributeValue = Java.type(\"net.shibboleth.idp.attribute.StringAttributeValue\");\n")
+             .append("x = new HashSet(1);\n")
+             .append("x.add(new StringAttributeValue(profileContext.getClass().getName()));\n")
+             .append("x.add(new StringAttributeValue(subjects[0].getPrincipals().iterator().next().getName()));\n")
+             .append("x;").toString());
+        prcscScript.initialize();
     }
 
     @Test public void testGetMatcher() throws Exception {
@@ -165,8 +174,11 @@ public class ScriptedMatcherTest extends AbstractMatcherPolicyRuleTest {
     }
     
     @Test public void custom() throws Exception {
+        final EvaluableScript script = new EvaluableScript();
+        script.setScript("custom;");
+        script.initialize();
+        final ScriptedMatcher matcher = newScriptedMatcher(script);
         
-        final ScriptedMatcher matcher = newScriptedMatcher(new EvaluableScript("custom;"));
         final Set<IdPAttributeValue> custom = Collections.singleton(attribute.getValues().get(0));
         matcher.setId("Test");
         matcher.setCustomObject(custom);
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/impl/ScriptedPolicyRuleTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/impl/ScriptedPolicyRuleTest.java
index e2e689b03..7289b48a8 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/impl/ScriptedPolicyRuleTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/impl/ScriptedPolicyRuleTest.java
@@ -74,19 +74,40 @@ public class ScriptedPolicyRuleTest extends AbstractMatcherPolicyRuleTest {
 
         filterContext = new AttributeFilterContext();
 
-        nullReturnScript = new EvaluableScript("JavaScript", "null;");
-
-        invalidReturnObjectScript = new EvaluableScript("JavaScript", "new java.lang.String();");
-
-        trueReturnScript = new EvaluableScript("JavaScript", "new java.lang.Boolean(true);");
-
-        falseReturnScript = new EvaluableScript("JavaScript", "new java.lang.Boolean(false);");
-        
-        prcReturnScript = new EvaluableScript("JavaScript", "new java.lang.Boolean(profileContext.getClass().getName().equals(\"org.opensaml.profile.context.ProfileRequestContext\"));");
-        
-        customReturnScript = new EvaluableScript("JavaScript", "custom;");
-        
-        scReturnScript = new EvaluableScript("JavaScript", "new java.lang.Boolean(subjects[0].getPrincipals().iterator().next().getName().equals(\"FOO\"));");
+        nullReturnScript = new EvaluableScript();
+        nullReturnScript.setEngineName("JavaScript");
+        nullReturnScript.setScript("null;");
+        nullReturnScript.initialize();
+
+        invalidReturnObjectScript = new EvaluableScript();
+        invalidReturnObjectScript.setEngineName("JavaScript");
+        invalidReturnObjectScript.setScript("load('nashorn:mozilla_compat.js');new java.lang.String();");
+        invalidReturnObjectScript.initialize();
+
+        trueReturnScript = new EvaluableScript();
+        trueReturnScript.setEngineName("JavaScript");
+        trueReturnScript.setScript("new java.lang.Boolean(true);");
+        trueReturnScript.initialize();
+
+        falseReturnScript = new EvaluableScript();
+        falseReturnScript.setEngineName("JavaScript");
+        falseReturnScript.setScript("new java.lang.Boolean(false);");
+        falseReturnScript.initialize();
+
+        prcReturnScript = new EvaluableScript();
+        prcReturnScript.setEngineName("JavaScript");
+        prcReturnScript.setScript("new java.lang.Boolean(profileContext.getClass().getName().equals(\"org.opensaml.profile.context.ProfileRequestContext\"));");
+        prcReturnScript.initialize();
+
+        customReturnScript = new EvaluableScript();
+        customReturnScript.setEngineName("JavaScript");
+        customReturnScript.setScript("custom;");
+        customReturnScript.initialize();
+
+        scReturnScript = new EvaluableScript();
+        scReturnScript.setEngineName("JavaScript");
+        scReturnScript.setScript("new java.lang.Boolean(subjects[0].getPrincipals().iterator().next().getName().equals(\"FOO\"));");
+        scReturnScript.initialize();
     }
 
     @Test public void testNullArguments() throws Exception {
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/ScriptedResponseMappingStrategy.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/ScriptedResponseMappingStrategy.java
index 990d495d6..dbf3a9dda 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/ScriptedResponseMappingStrategy.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/ScriptedResponseMappingStrategy.java
@@ -294,7 +294,10 @@ public final class ScriptedResponseMappingStrategy extends AbstractScriptEvaluat
     @Nonnull static ScriptedResponseMappingStrategy resourceScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull final Resource resource) throws ScriptException, IOException {
         try (final InputStream is = resource.getInputStream()) {
-            final EvaluableScript script = new EvaluableScript(engineName, is);
+            final EvaluableScript script = new EvaluableScript();
+            script.setEngineName(engineName);
+            script.setScript(is);
+            script.initializeWithScriptException();
             return new ScriptedResponseMappingStrategy(script);
         }
     }
@@ -322,7 +325,10 @@ public final class ScriptedResponseMappingStrategy extends AbstractScriptEvaluat
      */
     @Nonnull static ScriptedResponseMappingStrategy inlineScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull @NotEmpty final String scriptSource) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript(engineName, scriptSource);
+        final EvaluableScript script = new EvaluableScript();
+        script.setEngineName(engineName);
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
         return new ScriptedResponseMappingStrategy(script);
     }
 
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeTest.java
index 790c6224e..3b07e8ffa 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeTest.java
@@ -89,9 +89,12 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
         return "/net/shibboleth/idp/attribute/resolver/impl/ad/" + fileName;
     }
 
-    private String getScript(final String fileName) throws IOException {
-        return StringSupport.inputStreamToString(getClass().getResourceAsStream(fileNameToPath(fileName)),
-                null);
+    private EvaluableScript getScript(String fileName) throws ComponentInitializationException, IOException {
+        EvaluableScript es = new EvaluableScript ();
+        es.setEngineName(SCRIPT_LANGUAGE);
+        es.setScript(getClass().getResourceAsStream(fileNameToPath(fileName)));
+        es.initialize();
+        return es;
     }
 
     /**
@@ -112,7 +115,7 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
         final ScriptedAttributeDefinition attr = new ScriptedAttributeDefinition();
         assertNull(attr.getScript());
         attr.setId(TEST_ATTRIBUTE_NAME);
-        attr.setScript(new EvaluableScript(SCRIPT_LANGUAGE, getScript("simple.script")));
+        attr.setScript(getScript("simple.script"));
         attr.initialize();
         assertNotNull(attr.getScript());
 
@@ -141,7 +144,7 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
         final ScriptedAttributeDefinition attr = new ScriptedAttributeDefinition();
         assertNull(attr.getScript());
         attr.setId(TEST_ATTRIBUTE_NAME);
-        attr.setScript(new EvaluableScript(SCRIPT_LANGUAGE, getScript("subjects.script")));
+        attr.setScript(getScript("subjects.script"));
         attr.initialize();
         assertNotNull(attr.getScript());
 
@@ -176,7 +179,7 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
         final ScriptedAttributeDefinition attr = new ScriptedAttributeDefinition();
         assertNull(attr.getScript());
         attr.setId(TEST_ATTRIBUTE_NAME);
-        attr.setScript(new EvaluableScript(SCRIPT_LANGUAGE, getScript("custom.script")));
+        attr.setScript(getScript("custom.script"));
         attr.setCustomObject(test.getValues().get(0));
         attr.initialize();
         assertNotNull(attr.getScript());
@@ -207,7 +210,7 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
         final ScriptedAttributeDefinition attr = new ScriptedAttributeDefinition();
         assertNull(attr.getScript());
         attr.setId(TEST_ATTRIBUTE_NAME);
-        attr.setScript(new EvaluableScript(SCRIPT_LANGUAGE, getScript("simple2.script")));
+        attr.setScript(getScript("simple2.script"));
         attr.initialize();
         assertNotNull(attr.getScript());
 
@@ -229,7 +232,7 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
         final ScriptedAttributeDefinition attr = new ScriptedAttributeDefinition();
         assertNull(attr.getScript());
         attr.setId(TEST_ATTRIBUTE_NAME);
-        attr.setScript(new EvaluableScript(SCRIPT_LANGUAGE, getScript("nullValue.script")));
+        attr.setScript(getScript("nullValue.script"));
         attr.initialize();
         assertNotNull(attr.getScript());
 
@@ -250,7 +253,7 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
         final ScriptedAttributeDefinition attr = new ScriptedAttributeDefinition();
         assertNull(attr.getScript());
         attr.setId(TEST_ATTRIBUTE_NAME);
-        attr.setScript(new EvaluableScript(SCRIPT_LANGUAGE, getScript("logging.script")));
+        attr.setScript(getScript("logging.script"));
         attr.initialize();
 
         final IdPAttribute val = attr.resolve(generateContext());
@@ -270,7 +273,7 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
         final ScriptedAttributeDefinition attr = new ScriptedAttributeDefinition();
         assertNull(attr.getScript());
         attr.setId(TEST_ATTRIBUTE_NAME);
-        attr.setScript(new EvaluableScript(SCRIPT_LANGUAGE, getScript("simpleWithPredef.script")));
+        attr.setScript(getScript("simpleWithPredef.script"));
         attr.initialize();
         assertNotNull(attr.getScript());
 
@@ -294,7 +297,7 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
             // OK
         }
 
-        attr.setScript(new EvaluableScript(SCRIPT_LANGUAGE, getScript(failingScript)));
+        attr.setScript(getScript(failingScript));
         attr.initialize();
 
         return attr;
@@ -353,7 +356,7 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
         ds.add(TestSources.makeAttributeDefinitionDependency(TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR));
         final ScriptedAttributeDefinition scripted = new ScriptedAttributeDefinition();
         scripted.setId(TEST_ATTRIBUTE_NAME);
-        scripted.setScript(new EvaluableScript(SCRIPT_LANGUAGE, getScript("attributes.script")));
+        scripted.setScript(getScript("attributes.script"));
         scripted.setAttributeDependencies(ds);
         scripted.initialize();
 
@@ -402,7 +405,7 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
 
         final ScriptedAttributeDefinition scripted = new ScriptedAttributeDefinition();
         scripted.setId(TEST_ATTRIBUTE_NAME);
-        scripted.setScript(new EvaluableScript(SCRIPT_LANGUAGE, getScript("attributes.script")));
+        scripted.setScript(getScript("attributes.script"));
         scripted.setDataConnectorDependencies(Collections.singleton(depend));
         scripted.initialize();
 
@@ -424,7 +427,7 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
 
         final ScriptedAttributeDefinition scripted = new ScriptedAttributeDefinition();
         scripted.setId(TEST_ATTRIBUTE_NAME);
-        scripted.setScript(new EvaluableScript(SCRIPT_LANGUAGE, getScript("attributes2.script")));
+        scripted.setScript(getScript("attributes2.script"));
         scripted.setAttributeDependencies(ds);
         scripted.initialize();
 
@@ -470,7 +473,7 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
 
         final ScriptedAttributeDefinition scripted = new ScriptedAttributeDefinition();
         scripted.setId(TEST_ATTRIBUTE_NAME);
-        scripted.setScript(new EvaluableScript(SCRIPT_LANGUAGE, getScript("context.script")));
+        scripted.setScript(getScript("context.script"));
         scripted.setDataConnectorDependencies(ds);
         scripted.initialize();
 
@@ -515,7 +518,7 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
 
         final ScriptedAttributeDefinition scripted = new ScriptedAttributeDefinition();
         scripted.setId(attributeName);
-        scripted.setScript(new EvaluableScript(SCRIPT_LANGUAGE, getScript(exampleScript)));
+        scripted.setScript(getScript(exampleScript));
         scripted.setDataConnectorDependencies(ds);
 
         final Set<DataConnector> dataDefinitions = Collections.singleton((DataConnector) connector);
@@ -587,7 +590,7 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
 
         final ScriptedAttributeDefinition scripted = new ScriptedAttributeDefinition();
         scripted.setId("scripted");
-        scripted.setScript(new EvaluableScript(SCRIPT_LANGUAGE, getScript("requestContext.script")));
+        scripted.setScript(getScript("requestContext.script"));
         scripted.initialize();
 
         final IdPAttribute result = scripted.resolve(generateContext());
@@ -604,7 +607,7 @@ public class ScriptedAttributeTest extends XMLObjectBaseTestCase {
 
         final ScriptedAttributeDefinition scripted = new ScriptedAttributeDefinition();
         scripted.setId("scripted");
-        scripted.setScript(new EvaluableScript(SCRIPT_LANGUAGE, getScript("requestContextUnimplemented.script")));
+        scripted.setScript(getScript("requestContextUnimplemented.script"));
         scripted.initialize();
 
         final IdPAttribute result = scripted.resolve(generateContext());
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnectorTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnectorTest.java
index 8a961558b..2bc9eb9c5 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnectorTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnectorTest.java
@@ -41,7 +41,6 @@ import net.shibboleth.idp.authn.AuthenticationResult;
 import net.shibboleth.idp.authn.context.SubjectContext;
 import net.shibboleth.idp.saml.authn.principal.AuthenticationMethodPrincipal;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
 import net.shibboleth.utilities.java.support.scripting.EvaluableScript;
 
 /**
@@ -51,17 +50,20 @@ import net.shibboleth.utilities.java.support.scripting.EvaluableScript;
 @SuppressWarnings("javadoc")
 public class ScriptedDataConnectorTest {
 
-    private String getScript(String fileName) throws IOException {
+    private EvaluableScript getScript(String fileName) throws IOException, ComponentInitializationException {
         final String name = "/net/shibboleth/idp/attribute/resolver/impl/dc/" + fileName;
-        return StringSupport.inputStreamToString(getClass().getResourceAsStream(name), null);
+        final EvaluableScript es = new EvaluableScript();
+        es.setEngineName("javascript");
+        es.setScript(getClass().getResourceAsStream(name));
+        es.initialize();
+        return es;
     }
 
     @Test(expectedExceptions=ResolutionException.class)
     public void error() throws ComponentInitializationException, ScriptException, IOException, ResolutionException {
         final ScriptedDataConnector connector = new ScriptedDataConnector();
         connector.setId("Scripted");
-        final EvaluableScript definitionScript = new EvaluableScript("javascript", getScript("error.js"));
-        connector.setScript(definitionScript);
+        connector.setScript(getScript("error.js"));
 
         connector.initialize();
 
@@ -75,8 +77,7 @@ public class ScriptedDataConnectorTest {
 
         final ScriptedDataConnector connector = new ScriptedDataConnector();
         connector.setId("Scripted");
-        final EvaluableScript definitionScript = new EvaluableScript("javascript", getScript("scriptedConnector.js"));
-        connector.setScript(definitionScript);
+        connector.setScript(getScript("scriptedConnector.js"));
 
         connector.initialize();
 
@@ -131,8 +132,7 @@ public class ScriptedDataConnectorTest {
         attribute.setValues(Collections.singletonList((IdPAttributeValue)new StringAttributeValue("bar")));
         connector.setCustomObject(attribute);
         
-        final EvaluableScript definitionScript = new EvaluableScript("javascript", getScript("custom.js"));
-        connector.setScript(definitionScript);
+        connector.setScript(getScript("custom.js"));
 
         connector.initialize();
 
diff --git a/idp-parent/pom.xml b/idp-parent/pom.xml
index 290cdc50f..bf3f5ddaa 100644
--- a/idp-parent/pom.xml
+++ b/idp-parent/pom.xml
@@ -71,10 +71,10 @@
         <u2flib.version>0.16.0</u2flib.version>
         <cas-client.version>3.5.1</cas-client.version>
         <idwsfconsumer.version>2.0.0</idwsfconsumer.version>
-        <java-support.version>8.0.0</java-support.version>
+        <java-support.version>8.0.1-SNAPSHOT</java-support.version>
         <opensaml.groupId>org.opensaml</opensaml.groupId>
         <opensaml.version>4.0.1-SNAPSHOT</opensaml.version>
-        <spring-extensions.version>6.0.0</spring-extensions.version>
+        <spring-extensions.version>6.0.1-SNAPSHOT</spring-extensions.version>
         <checkstyle.configLocation>${project.basedir}/../idp-parent/resources/checkstyle/checkstyle.xml</checkstyle.configLocation>
         <idp-parent.site.url>${shibboleth.site.url}java-identity-provider/${project.version}/</idp-parent.site.url>
         <idp-module.site.url>${idp-parent.site.url}${project.artifactId}</idp-module.site.url>
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/ScriptedAction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/ScriptedAction.java
index ce4d9c88b..88e9f3971 100644
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/ScriptedAction.java
+++ b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/ScriptedAction.java
@@ -146,7 +146,10 @@ public class ScriptedAction extends AbstractProfileAction {
     static ScriptedAction resourceScript(@Nonnull @NotEmpty final String engineName, @Nonnull final Resource resource)
             throws ScriptException, IOException {
         try (final InputStream is = resource.getInputStream()) {
-            final EvaluableScript script = new EvaluableScript(engineName, is);
+            final EvaluableScript script = new EvaluableScript();
+            script.setEngineName(engineName);
+            script.setScript(is);
+            script.initializeWithScriptException();
             return new ScriptedAction(script);
         }
     }
@@ -173,7 +176,10 @@ public class ScriptedAction extends AbstractProfileAction {
      */
     static ScriptedAction inlineScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull @NotEmpty final String scriptSource) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript(engineName, scriptSource);
+        final EvaluableScript script = new EvaluableScript();
+                script.setEngineName(engineName);
+                script.setScript(scriptSource);
+                script.initializeWithScriptException();
         return new ScriptedAction(script);
     }
 
@@ -185,8 +191,7 @@ public class ScriptedAction extends AbstractProfileAction {
      * @throws ScriptException if the compile fails
      */
     static ScriptedAction inlineScript(@Nonnull @NotEmpty final String scriptSource) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript(DEFAULT_ENGINE, scriptSource);
-        return new ScriptedAction(script);
+        return inlineScript(DEFAULT_ENGINE, scriptSource);
     }
 
     /**
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/context/navigate/ScriptedContextLookupFunction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/context/navigate/ScriptedContextLookupFunction.java
index 961bf5b18..0dacfe909 100644
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/context/navigate/ScriptedContextLookupFunction.java
+++ b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/context/navigate/ScriptedContextLookupFunction.java
@@ -147,7 +147,10 @@ public class ScriptedContextLookupFunction<T extends BaseContext> extends Abstra
             @Nonnull @NotEmpty final String engineName, @Nonnull final Resource resource,
             @Nullable final Class<?> outputType) throws ScriptException, IOException {
         try (InputStream is = resource.getInputStream()) {
-            final EvaluableScript script = new EvaluableScript(engineName, is);
+            final EvaluableScript script = new EvaluableScript();
+            script.setEngineName(engineName);
+            script.setScript(is);
+            script.initializeWithScriptException();
             return new ScriptedContextLookupFunction<>(ProfileRequestContext.class, script, resource.getDescription(),
                 outputType);
         }
@@ -195,7 +198,10 @@ public class ScriptedContextLookupFunction<T extends BaseContext> extends Abstra
     public static ScriptedContextLookupFunction<ProfileRequestContext> inlineScript(
             @Nonnull @NotEmpty final String engineName, @Nonnull @NotEmpty final String scriptSource)
             throws ScriptException {
-        final EvaluableScript script = new EvaluableScript(engineName, scriptSource);
+        final EvaluableScript script = new EvaluableScript();
+        script.setEngineName(engineName);
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
         return new ScriptedContextLookupFunction<>(ProfileRequestContext.class, script, "Inline");
     }
 
@@ -212,7 +218,10 @@ public class ScriptedContextLookupFunction<T extends BaseContext> extends Abstra
     public static ScriptedContextLookupFunction<ProfileRequestContext> inlineScript(
             @Nonnull @NotEmpty final String engineName, @Nonnull @NotEmpty final String scriptSource,
             @Nullable final Class<?> outputType) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript(engineName, scriptSource);
+        final EvaluableScript script = new EvaluableScript();
+        script.setEngineName(engineName);
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
         return new ScriptedContextLookupFunction<>(ProfileRequestContext.class, script, "Inline", outputType);
     }
 
@@ -226,8 +235,7 @@ public class ScriptedContextLookupFunction<T extends BaseContext> extends Abstra
     @Nonnull
     public static ScriptedContextLookupFunction<ProfileRequestContext> inlineScript(
             @Nonnull @NotEmpty final String scriptSource) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript(DEFAULT_ENGINE, scriptSource);
-        return new ScriptedContextLookupFunction<>(ProfileRequestContext.class, script, "Inline");
+        return inlineScript(DEFAULT_ENGINE, scriptSource);
     }
 
     /**
@@ -241,8 +249,7 @@ public class ScriptedContextLookupFunction<T extends BaseContext> extends Abstra
     @Nonnull
     public static ScriptedContextLookupFunction<ProfileRequestContext> inlineScript(
             @Nonnull @NotEmpty final String scriptSource, @Nullable final Class<?> outputType) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript(DEFAULT_ENGINE, scriptSource);
-        return new ScriptedContextLookupFunction<>(ProfileRequestContext.class, script, "Inline", outputType);
+        return inlineScript(DEFAULT_ENGINE, scriptSource, outputType);
     }
 
     /**
@@ -276,7 +283,10 @@ public class ScriptedContextLookupFunction<T extends BaseContext> extends Abstra
             @Nonnull @NotEmpty final String engineName, @Nonnull final Resource resource,
             @Nullable final Class<?> outputType) throws ScriptException, IOException {
         try (InputStream is = resource.getInputStream()) {
-            final EvaluableScript script = new EvaluableScript(engineName, is);
+            final EvaluableScript script = new EvaluableScript();
+            script.setEngineName(engineName);
+            script.setScript(is);
+            script.initializeWithScriptException();
             return new ScriptedContextLookupFunction<>(MessageContext.class, script, resource.getDescription(),
                     outputType);
         }
@@ -323,7 +333,10 @@ public class ScriptedContextLookupFunction<T extends BaseContext> extends Abstra
     public static ScriptedContextLookupFunction<MessageContext> inlineMessageContextScript(
             @Nonnull @NotEmpty final String engineName, @Nonnull @NotEmpty final String scriptSource)
             throws ScriptException {
-        final EvaluableScript script = new EvaluableScript(engineName, scriptSource);
+        final EvaluableScript script = new EvaluableScript();
+        script.setEngineName(engineName);
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
         return new ScriptedContextLookupFunction<>(MessageContext.class, script, "Inline");
     }
 
@@ -340,7 +353,10 @@ public class ScriptedContextLookupFunction<T extends BaseContext> extends Abstra
     public static ScriptedContextLookupFunction<MessageContext> inlineMessageContextScript(
             @Nonnull @NotEmpty final String engineName, @Nonnull @NotEmpty final String scriptSource,
             @Nullable final Class<?> outputType) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript(engineName, scriptSource);
+        final EvaluableScript script = new EvaluableScript();
+        script.setEngineName(engineName);
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
         return new ScriptedContextLookupFunction<>(MessageContext.class, script, "Inline", outputType);
     }
 
@@ -354,8 +370,7 @@ public class ScriptedContextLookupFunction<T extends BaseContext> extends Abstra
     @Nonnull
     public static ScriptedContextLookupFunction<MessageContext> inlineMessageContextScript(
             @Nonnull @NotEmpty final String scriptSource) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript(DEFAULT_ENGINE, scriptSource);
-        return new ScriptedContextLookupFunction<>(MessageContext.class, script, "Inline");
+        return inlineMessageContextScript(DEFAULT_ENGINE, scriptSource);
     }
 
     /**
@@ -369,8 +384,7 @@ public class ScriptedContextLookupFunction<T extends BaseContext> extends Abstra
     @Nonnull
     public static ScriptedContextLookupFunction<MessageContext> inlineMessageContextScript(
             @Nonnull @NotEmpty final String scriptSource, @Nullable final Class<?> outputType) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript(DEFAULT_ENGINE, scriptSource);
-        return new ScriptedContextLookupFunction<>(MessageContext.class, script, "Inline", outputType);
+        return inlineMessageContextScript(DEFAULT_ENGINE, scriptSource, outputType);
     }
 
 }
\ No newline at end of file
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/ScriptedPredicate.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/ScriptedPredicate.java
index c29ae45df..819aeb61d 100644
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/ScriptedPredicate.java
+++ b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/ScriptedPredicate.java
@@ -83,7 +83,10 @@ public class ScriptedPredicate
     public static ScriptedPredicate resourceScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull final Resource resource) throws ScriptException, IOException {
         try (final InputStream is = resource.getInputStream()) {
-            final EvaluableScript script = new EvaluableScript(engineName, is);
+            final EvaluableScript script = new EvaluableScript();
+            script.setEngineName(engineName);
+            script.setScript(is);
+            script.initializeWithScriptException();
             return new ScriptedPredicate(script, resource.getDescription());
         }
     }
@@ -110,7 +113,10 @@ public class ScriptedPredicate
      */
     public static ScriptedPredicate inlineScript(@Nonnull @NotEmpty final String engineName,
             @Nonnull @NotEmpty final String scriptSource) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript(engineName, scriptSource);
+        final EvaluableScript script = new EvaluableScript();
+        script.setEngineName(engineName);
+        script.setScript(scriptSource);
+        script.initializeWithScriptException();
         return new ScriptedPredicate(script, "Inline");
     }
 
@@ -122,8 +128,7 @@ public class ScriptedPredicate
      * @throws ScriptException if the compile fails
      */
     public static ScriptedPredicate inlineScript(@Nonnull @NotEmpty final String scriptSource) throws ScriptException {
-        final EvaluableScript script = new EvaluableScript(DEFAULT_ENGINE, scriptSource);
-        return new ScriptedPredicate(script, "Inline");
+        return inlineScript(DEFAULT_ENGINE, scriptSource);
     }
 
 }
\ 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