[java-shib-attribute] branch main updated: JSATTR-49 Spring parsers contain hardcoded Velocity engine bean ID

Codeberg noreply at shibboleth.net
Wed Jul 1 15:09:08 UTC 2026


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

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

View the commit online:
https://codeberg.org/Shibboleth/java-shib-attribute/commit/4cef0f8d8e4897488d57e43a60a4611bc1c32cfe

The following commit(s) were added to refs/heads/main by this push:
     new 4cef0f8d8 JSATTR-49 Spring parsers contain hardcoded Velocity engine bean ID
4cef0f8d8 is described below

commit 4cef0f8d8e4897488d57e43a60a4611bc1c32cfe
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed Jul 1 15:42:24 2026 +0100

    JSATTR-49 Spring parsers contain hardcoded Velocity engine bean ID
    
    https://shibboleth.atlassian.net/browse/JSATTR-49
    
    Update a bunch of Spring parsers to indirect the velocity engine name.
---
 .../idp/attribute/resolver/spring/BaseResolverPluginParser.java    | 7 +++++++
 .../resolver/spring/ad/impl/TemplateAttributeDefinitionParser.java | 2 +-
 .../resolver/spring/dc/http/impl/HTTPDataConnectorParser.java      | 2 +-
 .../resolver/spring/dc/impl/ScriptedDataConnectorParser.java       | 2 +-
 .../resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java      | 2 +-
 .../resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java    | 2 +-
 .../spring/dc/storage/impl/StorageServiceDataConnectorParser.java  | 2 +-
 7 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/BaseResolverPluginParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/BaseResolverPluginParser.java
index 820a283b3..d7d47f7fe 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/BaseResolverPluginParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/BaseResolverPluginParser.java
@@ -54,6 +54,13 @@ public abstract class BaseResolverPluginParser extends AbstractCustomBeanDefinit
     /** Class logger. */
     @Nonnull private final Logger log = LoggerFactory.getLogger(BaseResolverPluginParser.class);
 
+    /**
+     * Index into parser.properties for the velocityEngine.
+     * Duplicated in net.shibboleth.spring.metadata.DynamicHTTPMetadataProviderParser
+     */
+    @Nonnull protected final static String VELOCIY_ENGINE_BEAN_IDENTIFIER =
+            "net.shibboleth.idp.attribute.resolver.spring.velocityEngine.bean";
+
     /** Constructor. */
     @SuppressWarnings("unchecked")
     public BaseResolverPluginParser() {
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/TemplateAttributeDefinitionParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/TemplateAttributeDefinitionParser.java
index 651e7c57b..daba578e6 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/TemplateAttributeDefinitionParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/TemplateAttributeDefinitionParser.java
@@ -75,7 +75,7 @@ public class TemplateAttributeDefinitionParser extends BaseAttributeDefinitionPa
 
         String velocityEngineRef = StringSupport.trimOrNull(config.getAttributeNS(null, "velocityEngine"));
         if (null == velocityEngineRef) {
-            velocityEngineRef = "shibboleth.VelocityEngine";
+            velocityEngineRef = getCustomProperty(VELOCIY_ENGINE_BEAN_IDENTIFIER, null);
         }
         log.debug("{} Velocity engine reference '{}'.", getLogPrefix(), velocityEngineRef);
         builder.addPropertyReference("velocityEngine", velocityEngineRef);
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParser.java
index 867e7279b..7b07b5e56 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParser.java
@@ -242,7 +242,7 @@ public class HTTPDataConnectorParser extends AbstractDataConnectorParser {
 
             String velocityEngineRef = StringSupport.trimOrNull(configElement.getAttributeNS(null, "templateEngine"));
             if (null == velocityEngineRef) {
-                velocityEngineRef = "shibboleth.VelocityEngine";
+                velocityEngineRef = getCustomProperty(VELOCIY_ENGINE_BEAN_IDENTIFIER, null);
             }
             templateBuilder.addPropertyReference("velocityEngine", velocityEngineRef);
 
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ScriptedDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ScriptedDataConnectorParser.java
index 878218ddb..ba450ec4b 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ScriptedDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ScriptedDataConnectorParser.java
@@ -118,7 +118,7 @@ public class ScriptedDataConnectorParser extends AbstractDataConnectorParser {
             BeanDefinitionBuilder.genericBeanDefinition(ScriptedSearchBuilder.class);
         String velocityEngineRef = StringSupport.trimOrNull(config.getAttributeNS(null, "templateEngine"));
         if (null == velocityEngineRef) {
-            velocityEngineRef = "shibboleth.VelocityEngine";
+            velocityEngineRef = getCustomProperty(VELOCIY_ENGINE_BEAN_IDENTIFIER, null);
         }
         searchBuilder.addPropertyReference("velocityEngine", velocityEngineRef);
 
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
index c73d3ae7a..4b419a1d7 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
@@ -468,7 +468,7 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
 
             String velocityEngineRef = StringSupport.trimOrNull(configElement.getAttribute("templateEngine"));
             if (null == velocityEngineRef) {
-                velocityEngineRef = "shibboleth.VelocityEngine";
+                velocityEngineRef = getCustomProperty(VELOCIY_ENGINE_BEAN_IDENTIFIER, null);
             }
             templateBuilder.addPropertyReference("velocityEngine", velocityEngineRef);
 
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java
index 629095d3f..3664edc08 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java
@@ -180,7 +180,7 @@ public class RDBMSDataConnectorParser extends AbstractDataConnectorParser {
 
             String velocityEngineRef = StringSupport.trimOrNull(configElement.getAttribute("templateEngine"));
             if (null == velocityEngineRef) {
-                velocityEngineRef = "shibboleth.VelocityEngine";
+                velocityEngineRef = getCustomProperty(VELOCIY_ENGINE_BEAN_IDENTIFIER, null);
             }
             templateBuilder.addPropertyReference("velocityEngine", velocityEngineRef);
 
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/storage/impl/StorageServiceDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/storage/impl/StorageServiceDataConnectorParser.java
index 518d5dd0f..9e1e8b788 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/storage/impl/StorageServiceDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/storage/impl/StorageServiceDataConnectorParser.java
@@ -169,7 +169,7 @@ public class StorageServiceDataConnectorParser extends AbstractDataConnectorPars
 
             String velocityEngineRef = StringSupport.trimOrNull(configElement.getAttributeNS(null, "templateEngine"));
             if (null == velocityEngineRef) {
-                velocityEngineRef = "shibboleth.VelocityEngine";
+                velocityEngineRef = getCustomProperty(VELOCIY_ENGINE_BEAN_IDENTIFIER, null);
             }
             templateBuilder.addPropertyReference("velocityEngine", velocityEngineRef);
 

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


More information about the commits mailing list