[utilities COMMIT] in /java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security: IdentifierGen...
noreply at shibboleth.net
noreply at shibboleth.net
Mon Sep 23 16:45:10 EDT 2013
Author: scantor
Date: Mon Sep 23 16:45:10 2013
New Revision: 447
URL: http://svn.shibboleth.net/view/utilities?rev=447&view=rev
Log:
Avoid underscore prefix for non-XML use cases.
Modified:
java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/IdentifierGenerationStrategy.java
java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/RandomIdentifierGenerationStrategy.java
java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/Type4UuidIdentifierGenerationStrategy.java
Modified: java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/IdentifierGenerationStrategy.java
URL: http://svn.shibboleth.net/view/utilities/java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/IdentifierGenerationStrategy.java?rev=447&r1=446&r2=447&view=diff
==============================================================================
--- java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/IdentifierGenerationStrategy.java (original)
+++ java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/IdentifierGenerationStrategy.java Mon Sep 23 16:45:10 2013
@@ -26,10 +26,17 @@
public interface IdentifierGenerationStrategy {
/**
- * Generates an identifier.
+ * Generates an identifier guaranteed to be XML ID safe.
*
* @return the identifier
*/
@Nonnull public String generateIdentifier();
+ /**
+ * Generates an identifier.
+ *
+ * @param xmlSafe true iff the result must be XML ID safe
+ * @return the identifier
+ */
+ @Nonnull public String generateIdentifier(boolean xmlSafe);
}
Modified: java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/RandomIdentifierGenerationStrategy.java
URL: http://svn.shibboleth.net/view/utilities/java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/RandomIdentifierGenerationStrategy.java?rev=447&r1=446&r2=447&view=diff
==============================================================================
--- java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/RandomIdentifierGenerationStrategy.java (original)
+++ java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/RandomIdentifierGenerationStrategy.java Mon Sep 23 16:45:10 2013
@@ -95,10 +95,19 @@
/** {@inheritDoc} */
@Nonnull public String generateIdentifier() {
+ return generateIdentifier(true);
+ }
+
+ /** {@inheritDoc} */
+ public String generateIdentifier(boolean xmlSafe) {
byte[] buf = new byte[sizeOfIdentifier];
random.nextBytes(buf);
try {
- return "_" + StringUtils.newStringUsAscii(encoder.encode(buf));
+ if (xmlSafe) {
+ return "_" + StringUtils.newStringUsAscii(encoder.encode(buf));
+ } else {
+ return StringUtils.newStringUsAscii(encoder.encode(buf));
+ }
} catch (EncoderException e) {
throw new RuntimeException(e);
}
Modified: java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/Type4UuidIdentifierGenerationStrategy.java
URL: http://svn.shibboleth.net/view/utilities/java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/Type4UuidIdentifierGenerationStrategy.java?rev=447&r1=446&r2=447&view=diff
==============================================================================
--- java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/Type4UuidIdentifierGenerationStrategy.java (original)
+++ java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/Type4UuidIdentifierGenerationStrategy.java Mon Sep 23 16:45:10 2013
@@ -28,6 +28,15 @@
/** {@inheritDoc} */
@Nonnull public String generateIdentifier() {
- return "_" + UUID.randomUUID().toString();
+ return generateIdentifier(true);
+ }
+
+ /** {@inheritDoc} */
+ public String generateIdentifier(boolean xmlSafe) {
+ if (xmlSafe) {
+ return "_" + UUID.randomUUID().toString();
+ } else {
+ return UUID.randomUUID().toString();
+ }
}
}
More information about the commits
mailing list