[java-opensaml COMMIT] in /trunk/opensaml-saml-impl/src: main/java/org/opensaml/saml/metadata/resolver/impl/MetadataQ...
noreply at shibboleth.net
noreply at shibboleth.net
Fri Oct 31 16:12:22 EDT 2014
Author: putmanb
Date: Fri Oct 31 16:12:22 2014
New Revision: 4121
URL: http://svn.shibboleth.net/view/java-opensaml?rev=4121&view=rev
Log:
Add some support for entityID transform functions in the request URL builder functions.
Added:
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolSHA1Transformer.java (with props)
trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolSHA1TransformerTest.java (with props)
Modified:
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilder.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/TemplateRequestURLBuilder.java
trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilderTest.java
trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/TemplateRequestURLBuilderTest.java
Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilder.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilder.java?rev=4121&r1=4120&r2=4121&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilder.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilder.java Fri Oct 31 16:12:22 2014
@@ -43,23 +43,48 @@
/** The request base URL per the specification. */
private String base;
+ /** Function which transforms the entityID prior to substitution into the URL. */
+ private Function<String, String> transformer;
+
/**
* Constructor.
*
* @param baseURL the base URL for the metadata responder
*/
public MetadataQueryProtocolRequestURLBuilder(@Nonnull @NotEmpty final String baseURL) {
+ this(baseURL, null);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param baseURL the base URL for the metadata responder
+ * @param transform function which transforms the entityID prior to URL construction substitution, may be null
+ */
+ public MetadataQueryProtocolRequestURLBuilder(@Nonnull @NotEmpty final String baseURL,
+ @Nullable final Function<String,String> transform) {
base = Constraint.isNotNull(StringSupport.trimOrNull(baseURL), "Base URL was null or empty");
if (!base.endsWith("/")) {
log.debug("Base URL did not end in a trailing '/', one will be added");
base = base + "/";
}
log.debug("Effective base URL value was: {}", base);
+
+ transformer = transform;
}
/** {@inheritDoc} */
- @Nullable public String apply(@Nonnull String entityID) {
- Constraint.isNotNull(entityID, "Entity ID was null");
+ @Nullable public String apply(@Nonnull String input) {
+ String entityID = Constraint.isNotNull(input, "Entity ID was null");
+
+ if (transformer != null) {
+ entityID = transformer.apply(entityID);
+ log.debug("Transformed entityID is '{}'", entityID);
+ if (entityID == null) {
+ log.debug("Transformed entityID was null");
+ return null;
+ }
+ }
try {
String result = base + "entities/" + URISupport.doURLEncode(entityID);
Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/TemplateRequestURLBuilder.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/TemplateRequestURLBuilder.java?rev=4121&r1=4120&r2=4121&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/TemplateRequestURLBuilder.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/TemplateRequestURLBuilder.java Fri Oct 31 16:12:22 2014
@@ -64,6 +64,9 @@
/** The template text, for logging purposes. */
private String templateText;
+ /** Function which transforms the entityID prior to substitution into the template. */
+ private Function<String, String> transformer;
+
/** Flag indicating whether to URL-encode the entity ID value before substitution. */
private boolean encodeEntityID;
@@ -78,7 +81,22 @@
*/
public TemplateRequestURLBuilder(@Nonnull final VelocityEngine engine,
@Nonnull @NotEmpty final String templateString, final boolean encoded) {
- this(engine, templateString, encoded, StandardCharsets.US_ASCII);
[... 128 lines stripped ...]
More information about the commits
mailing list