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

Scott Cantor cantor.2 at osu.edu
Wed Aug 2 18:59:26 UTC 2023


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

scantor pushed a commit to branch main
in repository java-shib-attribute.

View the commit online:
http://git.shibboleth.net/view/?p=java-shib-attribute.git;a=commit;h=94e8e028ffa95e2eb00ee616f0b2ba22fc35cbfd

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

commit 94e8e028ffa95e2eb00ee616f0b2ba22fc35cbfd
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Wed Aug 2 14:59:22 2023 -0400

    IDP-2044 - Scripted object constructors and initialization
    
    https://shibboleth.atlassian.net/browse/IDP-2044
    
    Eliminate more re-wrapping of initialization exceptions.
---
 .../http/impl/ScriptedResponseMappingStrategy.java | 38 ++++++----------------
 .../impl/ScriptedStorageMappingStrategy.java       | 20 +++++-------
 2 files changed, 19 insertions(+), 39 deletions(-)

diff --git a/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/ScriptedResponseMappingStrategy.java b/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/ScriptedResponseMappingStrategy.java
index 540e91818..9dbc33d4b 100644
--- a/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/ScriptedResponseMappingStrategy.java
+++ b/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/ScriptedResponseMappingStrategy.java
@@ -279,27 +279,15 @@ public final class ScriptedResponseMappingStrategy extends AbstractScriptEvaluat
      * @return the function
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
+     * @throws ComponentInitializationException if the script object fails to initialize
      */
     @Nonnull static ScriptedResponseMappingStrategy 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);
-            try {
-                script.initialize();
-            } catch (final ComponentInitializationException e) {
-                final Throwable cause = e.getCause();
-
-                if (cause != null) {
-                    if (cause instanceof ScriptException) {
-                        throw (ScriptException) cause;
-                    } else if (cause instanceof IOException) {
-                        throw (IOException) cause;
-                    }
-                }
-                throw new ScriptException(e);
-            }
+            script.initialize();
             return new ScriptedResponseMappingStrategy(script);
         }
     }
@@ -311,9 +299,10 @@ public final class ScriptedResponseMappingStrategy extends AbstractScriptEvaluat
      * @return the function
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
+     * @throws ComponentInitializationException if the script object fails to initialize
      */
     @Nonnull static ScriptedResponseMappingStrategy resourceScript(@Nonnull final Resource resource)
-            throws ScriptException, IOException {
+            throws ScriptException, IOException, ComponentInitializationException {
         return resourceScript(DEFAULT_ENGINE, resource);
     }
 
@@ -324,22 +313,14 @@ public final class ScriptedResponseMappingStrategy extends AbstractScriptEvaluat
      * @param engineName the language
      * @return the function
      * @throws ScriptException if the compile fails
+     * @throws ComponentInitializationException if the script object fails to initialize
      */
     @Nonnull static ScriptedResponseMappingStrategy 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);
-        try {
-            script.initialize();
-        } catch (final ComponentInitializationException e) {
-            final Throwable cause = e.getCause();
-
-            if (cause != null && cause instanceof ScriptException) {
-                throw (ScriptException) cause;
-            }
-            throw new ScriptException(e);
-        }
+        script.initialize();
         return new ScriptedResponseMappingStrategy(script);
     }
 
@@ -349,9 +330,10 @@ public final class ScriptedResponseMappingStrategy extends AbstractScriptEvaluat
      * @param scriptSource the script, as a string
      * @return the function
      * @throws ScriptException if the compile fails
+     * @throws ComponentInitializationException if the script object fails to initialize
      */
     @Nonnull static ScriptedResponseMappingStrategy inlineScript(@Nonnull @NotEmpty final String scriptSource)
-            throws ScriptException {
+            throws ScriptException, ComponentInitializationException {
         return inlineScript(DEFAULT_ENGINE, scriptSource);
     }
 
diff --git a/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/storage/impl/ScriptedStorageMappingStrategy.java b/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/storage/impl/ScriptedStorageMappingStrategy.java
index e47d903f9..e369c3371 100644
--- a/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/storage/impl/ScriptedStorageMappingStrategy.java
+++ b/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/storage/impl/ScriptedStorageMappingStrategy.java
@@ -163,17 +163,16 @@ public final class ScriptedStorageMappingStrategy extends AbstractScriptEvaluato
      * @return the function
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
+     * @throws ComponentInitializationException if the script object fails to initialize
      */
     @Nonnull static ScriptedStorageMappingStrategy 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.initialize();
             return new ScriptedStorageMappingStrategy(script);
-        } catch (final ComponentInitializationException e) {
-            throw new ScriptException(e);
         }
     }
 
@@ -184,9 +183,10 @@ public final class ScriptedStorageMappingStrategy extends AbstractScriptEvaluato
      * @return the function
      * @throws ScriptException if the compile fails
      * @throws IOException if the file doesn't exist.
+     * @throws ComponentInitializationException if the script object fails to initialize
      */
     @Nonnull static ScriptedStorageMappingStrategy resourceScript(@Nonnull final Resource resource)
-            throws ScriptException, IOException {
+            throws ScriptException, IOException, ComponentInitializationException {
         return resourceScript(DEFAULT_ENGINE, resource);
     }
 
@@ -197,17 +197,14 @@ public final class ScriptedStorageMappingStrategy extends AbstractScriptEvaluato
      * @param engineName the language
      * @return the function
      * @throws ScriptException if the compile fails
+     * @throws ComponentInitializationException if the script object fails to initialize
      */
     @Nonnull static ScriptedStorageMappingStrategy 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);
-        try {
-            script.initialize();
-        } catch (final ComponentInitializationException e) {
-            throw new ScriptException(e);
-        }
+        script.initialize();
         return new ScriptedStorageMappingStrategy(script);
     }
 
@@ -217,9 +214,10 @@ public final class ScriptedStorageMappingStrategy extends AbstractScriptEvaluato
      * @param scriptSource the script, as a string
      * @return the function
      * @throws ScriptException if the compile fails
+     * @throws ComponentInitializationException if the script object fails to initialize
      */
     @Nonnull static ScriptedStorageMappingStrategy inlineScript(@Nonnull @NotEmpty final String scriptSource)
-            throws ScriptException {
+            throws ScriptException, ComponentInitializationException {
         return inlineScript(DEFAULT_ENGINE, scriptSource);
     }
 

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


More information about the commits mailing list