[java-opensaml] branch main updated: JMETAGEN-5 - Metadata generation

Scott Cantor cantor.2 at osu.edu
Mon Jul 17 13:45:21 UTC 2023


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

scantor pushed a commit to branch main
in repository java-opensaml.

View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=398f6b2e8dafbaba597bf03f40615799e2966c7d

The following commit(s) were added to refs/heads/main by this push:
     new 398f6b2e8 JMETAGEN-5 - Metadata generation
398f6b2e8 is described below

commit 398f6b2e8dafbaba597bf03f40615799e2966c7d
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Jul 17 09:45:16 2023 -0400

    JMETAGEN-5 - Metadata generation
    
    https://shibboleth.atlassian.net/browse/JMETAGEN-5
    
    Fix mis-located extensions.
---
 .../generator/impl/MetadataGeneratorParameters.java | 11 -----------
 .../metadata/AttributeAuthorityDescriptor.vm        |  1 +
 .../templates/metadata/EntityDescriptor.vm          | 19 ++-----------------
 .../main/resources/templates/metadata/Extensions.vm | 21 +++++++++++++++++++++
 .../templates/metadata/IDPSSODescriptor.vm          |  1 +
 .../resources/templates/metadata/SPSSODescriptor.vm |  1 +
 6 files changed, 26 insertions(+), 28 deletions(-)

diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/generator/impl/MetadataGeneratorParameters.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/generator/impl/MetadataGeneratorParameters.java
index 6366054dc..07a9b8c5d 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/generator/impl/MetadataGeneratorParameters.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/generator/impl/MetadataGeneratorParameters.java
@@ -29,7 +29,6 @@ import org.opensaml.saml.ext.saml2mdattr.EntityAttributes;
 import org.opensaml.saml.ext.saml2mdui.Logo;
 import org.opensaml.saml.saml2.metadata.AttributeAuthorityDescriptor;
 import org.opensaml.saml.saml2.metadata.ContactPerson;
-import org.opensaml.saml.saml2.metadata.Extensions;
 import org.opensaml.saml.saml2.metadata.IDPSSODescriptor;
 import org.opensaml.saml.saml2.metadata.SPSSODescriptor;
 
@@ -73,16 +72,6 @@ public interface MetadataGeneratorParameters {
         return false;
     }
     
-    /**
-     * Whether to include an {@link Extensions} element in output.
-     * 
-     * @return whether to include extensions element
-     */
-    default boolean isRequiresExtensions() {
-        return !getScopes().isEmpty() || getDisplayName() != null || getDescription() != null || getLogo() != null
-                || !getTagAssignments().isEmpty();
-    }
-    
     /**
      * Get a set of additional namespaces to declare on root element.
      * 
diff --git a/opensaml-saml-impl/src/main/resources/templates/metadata/AttributeAuthorityDescriptor.vm b/opensaml-saml-impl/src/main/resources/templates/metadata/AttributeAuthorityDescriptor.vm
index dd016fb50..0fd789e2a 100644
--- a/opensaml-saml-impl/src/main/resources/templates/metadata/AttributeAuthorityDescriptor.vm
+++ b/opensaml-saml-impl/src/main/resources/templates/metadata/AttributeAuthorityDescriptor.vm
@@ -1,5 +1,6 @@
 #set ($role = $params.AttributeAuthorityDescriptor)
     <md:AttributeAuthorityDescriptor protocolSupportEnumeration="#foreach($p in $role.supportedProtocols)$p#if(!$foreach.last) #end#end">
+#parse("$params.templatePath/Extensions.vm")
 #parse("$params.templatePath/KeyDescriptors.vm")
 #foreach ($endpoint in $role.attributeServices)
         <md:AttributeService Binding="$endpoint.binding" Location="$xmlattr.escape($endpoint.location)" />
diff --git a/opensaml-saml-impl/src/main/resources/templates/metadata/EntityDescriptor.vm b/opensaml-saml-impl/src/main/resources/templates/metadata/EntityDescriptor.vm
index 82a67279f..cc42f8743 100644
--- a/opensaml-saml-impl/src/main/resources/templates/metadata/EntityDescriptor.vm
+++ b/opensaml-saml-impl/src/main/resources/templates/metadata/EntityDescriptor.vm
@@ -1,23 +1,7 @@
 <md:EntityDescriptor entityID="$xmlattr.escape($params.entityID)"#if (!$params.omitNamespaceDeclarations)#foreach ($ns in $namespaces.entrySet()) xmlns:$ns.key="$ns.value"#end#end>
-#if ($params.requiresExtensions)
+#if (!$params.tagAssignments.isEmpty())
 
     <md:Extensions>
-#foreach ($scope in $params.scopes)
-        <shibmd:Scope regexp="false">$xmltext.escape($scope)</shibmd:Scope>
-#end
-#if ($params.displayName || $params.description || $params.logo)
-        <mdui:UIInfo>
-#if ($params.displayName)
-            <mdui:DisplayName>$xmltext.escape($params.displayName)</mdui:DisplayName>
-#end
-#if ($params.description)
-            <mdui:Description>$xmltext.escape($params.description)</mdui:Description>
-#end
-#if ($params.logo)
-            <mdui:Logo#if ($params.lang) xml:lang="$params.lang"#end#if ($params.logo.width) width="$params.logo.width"#end#if ($params.logo.height) height="$params.logo.height"#end>$xmltext.escape($params.logo.URI)</mdui:Logo>
-#end
-#end
-        </mdui:UIInfo>
 #foreach ($tag in $params.tagAssignments.entrySet())
 #if ($foreach.first)
         <mdattr:EntityAttributes>
@@ -32,6 +16,7 @@
 #end
 #end
     </md:Extensions>
+    
 #end
 #if ($params.IDPSSODescriptor)
 #parse("$params.templatePath/IDPSSODescriptor.vm")
diff --git a/opensaml-saml-impl/src/main/resources/templates/metadata/Extensions.vm b/opensaml-saml-impl/src/main/resources/templates/metadata/Extensions.vm
new file mode 100644
index 000000000..477fc127a
--- /dev/null
+++ b/opensaml-saml-impl/src/main/resources/templates/metadata/Extensions.vm
@@ -0,0 +1,21 @@
+#if ($params.displayName || $params.description || $params.logo || !$scopes.isEmpty())
+
+        <md:Extensions>
+#foreach ($scope in $params.scopes)
+            <shibmd:Scope regexp="false">$xmltext.escape($scope)</shibmd:Scope>
+#end
+#if ($params.displayName || $params.description || $params.logo)
+            <mdui:UIInfo>
+#if ($params.displayName)
+                <mdui:DisplayName>$xmltext.escape($params.displayName)</mdui:DisplayName>
+#end
+#if ($params.description)
+                <mdui:Description>$xmltext.escape($params.description)</mdui:Description>
+#end
+#if ($params.logo)
+                <mdui:Logo#if ($params.lang) xml:lang="$params.lang"#end#if ($params.logo.width) width="$params.logo.width"#end#if ($params.logo.height) height="$params.logo.height"#end>$xmltext.escape($params.logo.URI)</mdui:Logo>
+#end
+#end
+            </mdui:UIInfo>
+        </md:Extensions>
+#end
diff --git a/opensaml-saml-impl/src/main/resources/templates/metadata/IDPSSODescriptor.vm b/opensaml-saml-impl/src/main/resources/templates/metadata/IDPSSODescriptor.vm
index 81091be9b..1e4f96e32 100644
--- a/opensaml-saml-impl/src/main/resources/templates/metadata/IDPSSODescriptor.vm
+++ b/opensaml-saml-impl/src/main/resources/templates/metadata/IDPSSODescriptor.vm
@@ -1,5 +1,6 @@
 #set ($role = $params.IDPSSODescriptor)
     <md:IDPSSODescriptor protocolSupportEnumeration="#foreach($p in $role.supportedProtocols)$p#if(!$foreach.last) #end#end">
+#parse("$params.templatePath/Extensions.vm")
 #parse("$params.templatePath/KeyDescriptors.vm")
 #foreach ($endpoint in $role.artifactResolutionServices)
         <md:ArtifactResolutionService index="$endpoint.index" Binding="$endpoint.binding" Location="$xmlattr.escape($endpoint.location)" />
diff --git a/opensaml-saml-impl/src/main/resources/templates/metadata/SPSSODescriptor.vm b/opensaml-saml-impl/src/main/resources/templates/metadata/SPSSODescriptor.vm
index 1811e39fb..03cf05d4c 100644
--- a/opensaml-saml-impl/src/main/resources/templates/metadata/SPSSODescriptor.vm
+++ b/opensaml-saml-impl/src/main/resources/templates/metadata/SPSSODescriptor.vm
@@ -1,5 +1,6 @@
 #set ($role = $params.SPSSODescriptor)
     <md:SPSSODescriptor #if ($role.wantAssertionsSigned)WantAssertionsSigned="true" #{end}protocolSupportEnumeration="#foreach($p in $role.supportedProtocols)$p#if(!$foreach.last) #end#end">
+#parse("$params.templatePath/Extensions.vm")
 #parse("$params.templatePath/KeyDescriptors.vm")
 #foreach ($endpoint in $role.artifactResolutionServices)
         <md:ArtifactResolutionService index="$endpoint.index" Binding="$endpoint.binding" Location=""$xmlattr.escape($endpoint.location)" />

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


More information about the commits mailing list