[java-identity-provider] branch feature/IDP-1434 updated: IDP-1434 More care over empty properties
Rod Widdowson
rdw at steadingsoftware.com
Tue May 7 10:33:53 EDT 2019
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch feature/IDP-1434
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=6356499b2667b9c6af285cfeffbbe39e8c6d51fb
The following commit(s) were added to refs/heads/feature/IDP-1434 by this push:
new 6356499 IDP-1434 More care over empty properties
6356499 is described below
commit 6356499b2667b9c6af285cfeffbbe39e8c6d51fb
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Tue May 7 15:32:11 2019 +0100
IDP-1434 More care over empty properties
https://issues.shibboleth.net/jira/browse/IDP-1434
---
.../enc/BaseSAML1AttributeEncoderParser.java | 15 +++++-------
.../enc/BaseSAML2AttributeEncoderParser.java | 16 +++++--------
.../spring/BaseEncoderDefinitionParserTest.java | 28 ++++++++++++----------
.../enc/SAML1StringAttributeEncoderParserTest.java | 2 +-
.../enc/SAML2Base64AttributeEncoderParserTest.java | 2 +-
.../resolver/spring/enc/resolver/saml1String.xml | 2 +-
.../resolver/spring/enc/resolver/saml2Base64.xml | 2 +-
7 files changed, 31 insertions(+), 36 deletions(-)
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseSAML1AttributeEncoderParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseSAML1AttributeEncoderParser.java
index 132f2a6..95af88e 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseSAML1AttributeEncoderParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseSAML1AttributeEncoderParser.java
@@ -21,15 +21,15 @@ import java.util.Map;
import javax.annotation.Nonnull;
-import net.shibboleth.idp.saml.attribute.transcoding.SAML1AttributeTranscoder;
-import net.shibboleth.idp.saml.attribute.transcoding.SAMLAttributeTranscoder;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-
import org.springframework.beans.factory.BeanDefinitionStoreException;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
+import net.shibboleth.ext.spring.util.SpringSupport;
+import net.shibboleth.idp.saml.attribute.transcoding.SAML1AttributeTranscoder;
+import net.shibboleth.idp.saml.attribute.transcoding.SAMLAttributeTranscoder;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
+
/**
* Base class for Spring bean definition parser for SAML 1 attribute encoders.
*/
@@ -54,10 +54,7 @@ public abstract class BaseSAML1AttributeEncoderParser extends BaseAttributeEncod
final String value = StringSupport.trimOrNull(config.getAttributeNS(null, "encodeType"));
if (value != null) {
- final BeanDefinitionBuilder booleanBuilder =
- BeanDefinitionBuilder.rootBeanDefinition(Boolean.class, "valueOf");
- booleanBuilder.addConstructorArgValue(value);
- rule.put(SAMLAttributeTranscoder.PROP_ENCODE_TYPE,booleanBuilder.getBeanDefinition());
+ rule.put(SAMLAttributeTranscoder.PROP_ENCODE_TYPE,SpringSupport.getStringValueAsBoolean(value));
}
}
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseSAML2AttributeEncoderParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseSAML2AttributeEncoderParser.java
index ced8e4b..2410a8a 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseSAML2AttributeEncoderParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseSAML2AttributeEncoderParser.java
@@ -21,15 +21,15 @@ import java.util.Map;
import javax.annotation.Nonnull;
-import net.shibboleth.idp.saml.attribute.transcoding.SAML2AttributeTranscoder;
-import net.shibboleth.idp.saml.attribute.transcoding.SAMLAttributeTranscoder;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-
import org.springframework.beans.factory.BeanDefinitionStoreException;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
+import net.shibboleth.ext.spring.util.SpringSupport;
+import net.shibboleth.idp.saml.attribute.transcoding.SAML2AttributeTranscoder;
+import net.shibboleth.idp.saml.attribute.transcoding.SAMLAttributeTranscoder;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
+
/**
* Base class for Spring bean definition parser for SAML 1 attribute encoders.
*/
@@ -59,11 +59,7 @@ public abstract class BaseSAML2AttributeEncoderParser extends BaseAttributeEncod
final String value = StringSupport.trimOrNull(config.getAttributeNS(null, "encodeType"));
if (value != null) {
- final BeanDefinitionBuilder booleanBuilder =
- BeanDefinitionBuilder.rootBeanDefinition(Boolean.class, "valueOf");
- booleanBuilder.addConstructorArgValue(value);
-
- rule.put(SAMLAttributeTranscoder.PROP_ENCODE_TYPE,booleanBuilder.getBeanDefinition());
+ rule.put(SAMLAttributeTranscoder.PROP_ENCODE_TYPE,SpringSupport.getStringValueAsBoolean(value));
}
}
}
\ No newline at end of file
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/BaseEncoderDefinitionParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/BaseEncoderDefinitionParserTest.java
index 44e0c05..a38f64d 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/BaseEncoderDefinitionParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/BaseEncoderDefinitionParserTest.java
@@ -56,17 +56,16 @@ public abstract class BaseEncoderDefinitionParserTest extends BaseAttributeDefin
final GenericApplicationContext context = new GenericApplicationContext();
- if (activationValue != null || encodeType != null) {
- final MockPropertySource mockEnvVars = new MockPropertySource();
- if (activationValue != null) {
- mockEnvVars.setProperty("the.activation.property", activationValue);
- }
- if (encodeType != null) {
- mockEnvVars.setProperty("the.encodeType.property", encodeType);
- }
- final MutablePropertySources propertySources = context.getEnvironment().getPropertySources();
- propertySources.replace(StandardEnvironment.SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME, mockEnvVars);
+ final MockPropertySource mockEnvVars = new MockPropertySource();
+ if (activationValue != null) {
+ mockEnvVars.setProperty("the.activation.property", activationValue);
}
+ if (encodeType != null) {
+ mockEnvVars.setProperty("the.encodeType.property", encodeType);
+ }
+ mockEnvVars.setProperty("the.empty.property", "");
+ final MutablePropertySources propertySources = context.getEnvironment().getPropertySources();
+ propertySources.replace(StandardEnvironment.SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME, mockEnvVars);
return getAttributeTranscoderRule(fileName, context);
}
@@ -74,7 +73,7 @@ public abstract class BaseEncoderDefinitionParserTest extends BaseAttributeDefin
protected Collection<Map<String,Object>> getAttributeTranscoderRule(final String fileName, final GenericApplicationContext context) {
setTestContext(context);
- context.setDisplayName("ApplicationContext for encocder");
+ context.setDisplayName("ApplicationContext for enccoder");
return getBean(ENCODER_FILE_PATH + fileName, Collection.class, context);
@@ -82,8 +81,11 @@ public abstract class BaseEncoderDefinitionParserTest extends BaseAttributeDefin
static protected void checkEncodeType(final Map<String,Object> rule, boolean expectedValue) {
final Object encodeType = rule.getOrDefault(PROP_ENCODE_TYPE, Boolean.TRUE);
- assertTrue(encodeType instanceof Boolean);
- assertTrue(encodeType.equals(expectedValue));
+ if (encodeType instanceof Boolean) {
+ assertTrue(encodeType.equals(expectedValue));
+ } else {
+ assertTrue(expectedValue);
+ }
}
abstract protected void testWithProperties(final boolean activation, final Boolean encodeType);
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1StringAttributeEncoderParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1StringAttributeEncoderParserTest.java
index 86cc6ca..f6de6f8 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1StringAttributeEncoderParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1StringAttributeEncoderParserTest.java
@@ -53,7 +53,7 @@ public class SAML1StringAttributeEncoderParserTest extends BaseEncoderDefinition
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "SAML1_STRING_ATTRIBUTE_NAME");
assertEquals(rule.get(SAML1AttributeTranscoder.PROP_NAMESPACE), "SAML1_STRING_ATTRIBUTE_NAME_SPACE");
assertEquals(activation, ((Predicate) rule.get(AttributeTranscoderRegistry.PROP_CONDITION)).test(null));
- checkEncodeType(rule, encodeType!=null ? encodeType : true);
+ checkEncodeType(rule, true);
}
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2Base64AttributeEncoderParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2Base64AttributeEncoderParserTest.java
index 300bdfc..90d3a80 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2Base64AttributeEncoderParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2Base64AttributeEncoderParserTest.java
@@ -54,7 +54,7 @@ public class SAML2Base64AttributeEncoderParserTest extends BaseEncoderDefinition
assertEquals(rule.get(SAML2AttributeTranscoder.PROP_NAME_FORMAT), "Saml2Base64_ATTRIBUTE_NAME_FORMAT");
assertEquals(rule.get(SAML2AttributeTranscoder.PROP_FRIENDLY_NAME), "Saml2Base64_ATTRIBUTE_FRIENDLY_NAME");
assertEquals(activation, ((Predicate) rule.get(AttributeTranscoderRegistry.PROP_CONDITION)).test(null));
- checkEncodeType(rule, encodeType!=null ? encodeType : true);
+ checkEncodeType(rule, true);
}
@Test public void defaultCase() {
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/enc/resolver/saml1String.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/enc/resolver/saml1String.xml
index 034e593..2f07950 100644
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/enc/resolver/saml1String.xml
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/enc/resolver/saml1String.xml
@@ -4,7 +4,7 @@
xmlns="urn:mace:shibboleth:2.0:resolver"
name="SAML1_STRING_ATTRIBUTE_NAME"
namespace="SAML1_STRING_ATTRIBUTE_NAME_SPACE"
- encodeType="%{the.encodeType.property:true}"
+ encodeType="%{the.empty.property}"
xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd">
<ActivationConditionScript>
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/enc/resolver/saml2Base64.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/enc/resolver/saml2Base64.xml
index 931d44d..bf07b56 100644
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/enc/resolver/saml2Base64.xml
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/enc/resolver/saml2Base64.xml
@@ -5,7 +5,7 @@
name="Saml2Base64_ATTRIBUTE_NAME"
nameFormat="Saml2Base64_ATTRIBUTE_NAME_FORMAT"
friendlyName="Saml2Base64_ATTRIBUTE_FRIENDLY_NAME"
- encodeType="%{the.encodeType.property:true}"
+ encodeType="%{the.empty.property}"
xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd">
<ActivationConditionScript>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list