[java-metadata-aggregator COMMIT] in /trunk: aggregator-parent/doc/RELEASE-NOTES.txt aggregator-pipeline/src/main/jav...

noreply at shibboleth.net noreply at shibboleth.net
Sun Oct 13 12:53:19 EDT 2013


Author: iay
Date: Sun Oct 13 12:53:19 2013
New Revision: 270

URL: http://svn.shibboleth.net/view/java-metadata-aggregator?rev=270&view=rev
Log:
MDA-119 correct double initialisation of ID attribute list

Modified:
    trunk/aggregator-parent/doc/RELEASE-NOTES.txt
    trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XMLSignatureSigningStage.java
    trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XMLSignatureSigningStageTest.java

Modified: trunk/aggregator-parent/doc/RELEASE-NOTES.txt
URL: http://svn.shibboleth.net/view/java-metadata-aggregator/trunk/aggregator-parent/doc/RELEASE-NOTES.txt?rev=270&r1=269&r2=270&view=diff
==============================================================================
--- trunk/aggregator-parent/doc/RELEASE-NOTES.txt (original)
+++ trunk/aggregator-parent/doc/RELEASE-NOTES.txt Sun Oct 13 12:53:19 2013
@@ -42,6 +42,7 @@
     * [MDA-89] - add license and release notes to aggregator-cli package
     * [MDA-95] - API changes for new Shibboleth coding conventions
     * [MDA-111] - bundle spring-extensions in MDA cli package
+    * [MDA-118] - correct double initialisation of ID attribute list in signing stage
 
 ** New Feature
     * [MDA-88] - assist debugging of signature creation by making pre-digest data available

Modified: trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XMLSignatureSigningStage.java
URL: http://svn.shibboleth.net/view/java-metadata-aggregator/trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XMLSignatureSigningStage.java?rev=270&r1=269&r2=270&view=diff
==============================================================================
--- trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XMLSignatureSigningStage.java (original)
+++ trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XMLSignatureSigningStage.java Sun Oct 13 12:53:19 2013
@@ -452,9 +452,10 @@
      * 
      * @param names names of the attributes treated as reference IDs
      */
-    public synchronized void setIdAttributeNames(@Nullable @NullableElements final List<QName> names) {
-        ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+    public synchronized void setIdAttributeNames(@Nonnull @NullableElements final List<QName> names) {
+        ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
+        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        Constraint.isNotNull(names, "names property may not be null");
 
         idAttributeNames = ImmutableList.copyOf(Iterables.filter(names, Predicates.notNull()));
     }
@@ -1012,12 +1013,5 @@
             }
         }
 
-        if (idAttributeNames == null) {
-            idAttributeNames = new ArrayList<>();
-            idAttributeNames.add(new QName("id"));
-            idAttributeNames.add(new QName("Id"));
-            idAttributeNames.add(new QName("ID"));
-            idAttributeNames.add(XmlConstants.XML_ID_ATTRIB_NAME);
-        }
     }
 }

Modified: trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XMLSignatureSigningStageTest.java
URL: http://svn.shibboleth.net/view/java-metadata-aggregator/trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XMLSignatureSigningStageTest.java?rev=270&r1=269&r2=270&view=diff
==============================================================================
--- trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XMLSignatureSigningStageTest.java (original)
+++ trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XMLSignatureSigningStageTest.java Sun Oct 13 12:53:19 2013
@@ -23,6 +23,7 @@
 import java.util.List;
 
 import net.shibboleth.metadata.AssertSupport;
+import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
 
 import org.testng.Assert;
 import org.testng.annotations.BeforeClass;
@@ -54,7 +55,7 @@
         final List<X509Certificate> certs = new ArrayList<>();
         certs.add(signingCert);
 
-        XMLSignatureSigningStage stage = new XMLSignatureSigningStage();
+        final XMLSignatureSigningStage stage = new XMLSignatureSigningStage();
         stage.setId("test");
         stage.setIncludeKeyValue(false);
         stage.setIncludeX509IssuerSerial(true);
@@ -71,4 +72,17 @@
         Element expected = readXmlData("output.xml");
         assertXmlIdentical(expected, result.unwrap());
     }
+    
+    @Test
+    public void testSetIdAttributeNamesNull() throws Exception {
+        final XMLSignatureSigningStage stage = new XMLSignatureSigningStage();
+        stage.setId("test");
+        try {
+            stage.setIdAttributeNames(null);
+            Assert.fail("expected a constraint exception");
+        } catch (ConstraintViolationException e) {
+            // expected
+        }
+    }
+    
 }



More information about the commits mailing list