[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