[java-identity-provider] 08/11: IDP-1464 Extend UI Node Processor to handle Organization

Rod Widdowson rdw at steadingsoftware.com
Tue Jun 11 09:38:26 EDT 2019


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

rdw pushed a commit to branch master
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=c527c8d4db1cf606da41de072542a85463a91453

commit c527c8d4db1cf606da41de072542a85463a91453
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Mon Jun 10 17:30:49 2019 +0100

    IDP-1464 Extend UI Node Processor to handle Organization
    
    https://issues.shibboleth.net/jira/browse/IDP-1464
    
    plus tests
---
 .../idp/saml/metadata/impl/UIInfoNodeProcessor.java         |  4 ++++
 .../idp/saml/metadata/impl/UIInfoNodeProcessorTest.java     | 13 ++++++++++++-
 .../idp/saml/impl/metadata/NodeProcessor-metadata.xml       |  6 ++++++
 3 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessor.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessor.java
index c87f542..6a3444d 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessor.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessor.java
@@ -24,9 +24,11 @@ import org.opensaml.saml.ext.saml2mdui.UIInfo;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
 import org.opensaml.saml.metadata.resolver.filter.MetadataNodeProcessor;
 import org.opensaml.saml.saml2.metadata.AttributeConsumingService;
+import org.opensaml.saml.saml2.metadata.Organization;
 
 import net.shibboleth.idp.saml.metadata.ACSUIInfo;
 import net.shibboleth.idp.saml.metadata.IdPUIInfo;
+import net.shibboleth.idp.saml.metadata.OrganizationUIInfo;
 
 /**
  * An implementation of {@link MetadataNodeProcessor} which processes any {@link UIInfo}s 
@@ -43,6 +45,8 @@ public class UIInfoNodeProcessor implements MetadataNodeProcessor {
             metadataNode.getObjectMetadata().put(new IdPUIInfo((UIInfo) metadataNode));
         } else if (metadataNode instanceof AttributeConsumingService) {
             metadataNode.getObjectMetadata().put(new ACSUIInfo((AttributeConsumingService)metadataNode));
+        } else if (metadataNode instanceof Organization) {
+            metadataNode.getObjectMetadata().put(new OrganizationUIInfo((Organization)metadataNode));
         }
     }
 
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessorTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessorTest.java
index 792a22e..f306391 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessorTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessorTest.java
@@ -32,6 +32,7 @@ import org.testng.annotations.Test;
 
 import net.shibboleth.idp.saml.metadata.ACSUIInfo;
 import net.shibboleth.idp.saml.metadata.IdPUIInfo;
+import net.shibboleth.idp.saml.metadata.OrganizationUIInfo;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
@@ -59,7 +60,6 @@ public final class UIInfoNodeProcessorTest extends BaseNodeProcessorTest {
         assertEquals(uiInfo.getNonLocaleLogos().size(), 2);
     }
     
-    
     public void acsUIInfoTest() throws ResolverException {
         final EntityDescriptor entity  = resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion("https://sp.example.org")));
 
@@ -76,6 +76,17 @@ public final class UIInfoNodeProcessorTest extends BaseNodeProcessorTest {
         assertEquals(uiInfo.getServiceDescriptions().get(l), "ServiceDesc");
     }
 
+    public void organizationInfoTest() throws ResolverException {
+        final EntityDescriptor entity  = resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion("https://sp.example.org")));
+
+        final OrganizationUIInfo info = entity.getOrganization().getObjectMetadata().get(OrganizationUIInfo.class).get(0);
+
+        assertEquals(info.getOrganizationNames().size(), 2);
+        assertEquals(info.getOrganizationNames().get(Locale.forLanguageTag("en")), "org");
+        assertEquals(info.getOrganizationDisplayNames().size(), 1);
+        assertEquals(info.getOrganizationUrls().size(), 1);
+    }
+
 
     /** {@inheritDoc} */
     protected MetadataNodeProcessor getProcessor() {
diff --git a/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/metadata/NodeProcessor-metadata.xml b/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/metadata/NodeProcessor-metadata.xml
index 7bf81df..f250e23 100644
--- a/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/metadata/NodeProcessor-metadata.xml
+++ b/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/metadata/NodeProcessor-metadata.xml
@@ -55,5 +55,11 @@ urn:oasis:names:tc:SAML:metadata:ui http://docs.oasis-open.org/security/saml/Pos
 			    <ServiceDescription xml:lang="de">ServiceDesc</ServiceDescription>
 			</AttributeConsumingService>
     	</SPSSODescriptor>
+    	<Organization>
+			<OrganizationName xml:lang="en">org</OrganizationName>
+			<OrganizationName xml:lang="fr">gro</OrganizationName>
+			<OrganizationDisplayName xml:lang="en">odn</OrganizationDisplayName>
+			<OrganizationURL xml:lang="en">url</OrganizationURL>
+		</Organization>
     </EntityDescriptor>  
 </EntitiesDescriptor>

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


More information about the commits mailing list