Skip to content

Commit

Permalink
SES-84 Metadata is now generated with entityID corresponding with URL…
Browse files Browse the repository at this point in the history
… able to render metadata for the entity.
  • Loading branch information
vschafer committed Apr 3, 2011
1 parent 4667203 commit ba53a04
Showing 1 changed file with 31 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,11 @@ public class MetadataDisplayFilter extends GenericFilterBean {
*/
private static final String DEFAULT_FILTER_URL = "saml/metadata";

/**
* Default alias for generated entities.
*/
private static final String DEFAULT_ALIAS = "defaultAlias";

/**
* User configured path which overrides the default value.
*/
Expand Down Expand Up @@ -163,26 +168,32 @@ protected void initializeSystemMetadata(HttpServletRequest request) throws Servl

try {

// Use default entityID if not set
if (generator.getEntityId() == null) {
generator.setEntityId(getEntityID(request));
logger.debug("No default metadata configured, generating with default values");

String alias = DEFAULT_ALIAS;

// Use default entityAlias if not set
if (generator.getEntityAlias() == null) {
generator.setEntityAlias(alias);
} else {
alias = generator.getEntityAlias();
}

// Use default entityID if not set
// Use default baseURL if not set
if (generator.getEntityBaseURL() == null) {
generator.setEntityBaseURL(getEntityID(request));
generator.setEntityBaseURL(getDefaultBaseURL(request));
}

// Use default entityAlias if not set
if (generator.getEntityAlias() == null) {
generator.setEntityAlias(request.getContextPath().substring(1));
// Use default entityID if not set
if (generator.getEntityId() == null) {
generator.setEntityId(getDefaultEntityID(request, alias));
}

EntityDescriptor descriptor = generator.generateMetadata();
ExtendedMetadata extendedMetadata = new ExtendedMetadata();
generator.generateExtendedMetadata(extendedMetadata);

logger.info("Created metadata for system with ID: " + descriptor.getEntityID());
logger.info("Created default metadata for system with entityID: " + descriptor.getEntityID());
MetadataMemoryProvider memoryProvider = new MetadataMemoryProvider(descriptor);
memoryProvider.initialize();
MetadataProvider metadataProvider = new ExtendedMetadataDelegate(memoryProvider, extendedMetadata);
Expand All @@ -204,9 +215,18 @@ protected void initializeSystemMetadata(HttpServletRequest request) throws Servl

}

protected String getEntityID(HttpServletRequest request) {
protected String getDefaultEntityID(HttpServletRequest request, String alias) {
StringBuffer sb = new StringBuffer();
sb.append(request.getScheme()).append("://").append(request.getServerName()).append(":").append(request.getServerPort());
sb.append(request.getContextPath());
sb.append("/saml/metadata/alias/");
sb.append(alias);
return sb.toString();
}

protected String getDefaultBaseURL(HttpServletRequest request) {
StringBuffer sb = new StringBuffer();
sb.append(request.getScheme()).append("://").append(request.getServerName());
sb.append(request.getScheme()).append("://").append(request.getServerName()).append(":").append(request.getServerPort());
sb.append(request.getContextPath());
return sb.toString();
}
Expand Down

0 comments on commit ba53a04

Please sign in to comment.