[java-identity-provider COMMIT] in /trunk/idp-attribute-resolver-spring/src: main/java/net/shibboleth/idp/attribute/r...

noreply at shibboleth.net noreply at shibboleth.net
Fri Jul 1 14:01:08 EDT 2016


Author: scantor
Date: Fri Jul  1 14:01:08 2016
New Revision: 8277

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=8277&view=rev
Log:
IDP-1004 - StoredId data connector queryTimeout attribute doesn't support XML Duration

https://issues.shibboleth.net/jira/browse/IDP-1004

Modified:
    trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StoredIDDataConnectorParser.java
    trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/StoredIDDataConnectorParserTest.java
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/stored.xml

Modified: trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StoredIDDataConnectorParser.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StoredIDDataConnectorParser.java?rev=8277&r1=8276&r2=8277&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StoredIDDataConnectorParser.java	(original)
+++ trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StoredIDDataConnectorParser.java	Fri Jul  1 14:01:08 2016
@@ -25,6 +25,7 @@
 import net.shibboleth.ext.spring.context.FilesystemGenericApplicationContext;
 import net.shibboleth.ext.spring.util.SpringSupport;
 import net.shibboleth.idp.saml.attribute.resolver.impl.StoredIDDataConnector;
+import net.shibboleth.utilities.java.support.annotation.Duration;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
 import net.shibboleth.utilities.java.support.xml.AttributeSupport;
 import net.shibboleth.utilities.java.support.xml.ElementSupport;
@@ -74,8 +75,11 @@
         }
 
         if (config.hasAttributeNS(null, "queryTimeout")) {
-            builder.addPropertyValue("queryTimeout",
-                    StringSupport.trimOrNull(config.getAttributeNS(null, "queryTimeout")));
+            final BeanDefinitionBuilder timeout =
+                    BeanDefinitionBuilder.rootBeanDefinition(StoredIDDataConnectorParser.class, "buildDuration");
+            timeout.addConstructorArgValue(StringSupport.trimOrNull(config.getAttributeNS(null, "queryTimeout")));
+            timeout.addConstructorArgValue(1);
+            builder.addPropertyValue("queryTimeout", timeout.getBeanDefinition());
         }
 
         if (config.hasAttributeNS(null, "transactionRetries")) {
@@ -150,4 +154,17 @@
         return parser.createDataSource();
     }
 
+    /**
+     * Converts the supplied duration to milliseconds and divides it by the divisor. Useful for modifying durations
+     * while resolving property replacement.
+     * 
+     * @param duration the duration (which may have gone through spring translation from iso to long)
+     * @param divisor to modify the duration with
+     * 
+     * @return result of the division
+     */
+    public static long buildDuration(@Duration final long duration, final long divisor) {
+        return duration / divisor;
+    } 
+
 }

Modified: trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/StoredIDDataConnectorParserTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/StoredIDDataConnectorParserTest.java?rev=8277&r1=8276&r2=8277&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/StoredIDDataConnectorParserTest.java	(original)
+++ trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/StoredIDDataConnectorParserTest.java	Fri Jul  1 14:01:08 2016
@@ -39,6 +39,7 @@
         Assert.assertEquals(connector.getGeneratedAttributeId(), "jenny");
         Assert.assertEquals(connector.getSalt(), "abcdefghijklmnopqrst".getBytes());
         Assert.assertEquals(connector.getTransactionRetries(), 5);
+        Assert.assertEquals(connector.getQueryTimeout(), 5000);
         Assert.assertEquals(connector.getFailFast(), false);
         Assert.assertTrue(Arrays.areEqual(connector.getRetryableErrors().toArray(), new String[]{"25000", "25001"}));
         

Modified: trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/stored.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/stored.xml?rev=8277&r1=8276&r2=8277&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/stored.xml	(original)

[... 10 lines stripped ...]


More information about the commits mailing list