[java-identity-provider COMMIT] in /trunk: idp-authn-api/src/main/java/net/shibboleth/idp/authn/CloneablePrincipal.ja...

noreply at shibboleth.net noreply at shibboleth.net
Mon Aug 5 17:25:54 EDT 2013


Author: scantor
Date: Mon Aug  5 17:25:54 2013
New Revision: 4662

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=4662&view=rev
Log:
Add cloning of custom principals.

Added:
    trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/CloneablePrincipal.java   (with props)
Modified:
    trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/UsernamePrincipal.java
    trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/authn/AuthnContextClassRefPrincipal.java
    trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/authn/AuthnContextDeclPrincipal.java
    trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/authn/AuthnContextDeclRefPrincipal.java
    trunk/idp-saml-api/src/test/java/net/shibboleth/idp/saml/authn/AuthnContextClassRefPrincipalTest.java
    trunk/idp-saml-api/src/test/java/net/shibboleth/idp/saml/authn/AuthnContextDeclRefPrincipalTest.java

Modified: trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/UsernamePrincipal.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/UsernamePrincipal.java?rev=4662&r1=4661&r2=4662&view=diff
==============================================================================
--- trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/UsernamePrincipal.java (original)
+++ trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/UsernamePrincipal.java Mon Aug  5 17:25:54 2013
@@ -17,8 +17,6 @@
 
 package net.shibboleth.idp.authn;
 
-import java.security.Principal;
-
 import javax.annotation.Nonnull;
 
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
@@ -28,10 +26,10 @@
 import com.google.common.base.Objects;
 
 /** Principal based on a username. */
-public final class UsernamePrincipal implements Principal {
+public class UsernamePrincipal implements CloneablePrincipal {
 
     /** The username. */
-    @Nonnull @NotEmpty private final String username;
+    @Nonnull @NotEmpty private String username;
 
     /**
      * Constructor.
@@ -73,4 +71,11 @@
     public String toString() {
         return Objects.toStringHelper(this).add("username", username).toString();
     }
+    
+    /** {@inheritDoc} */
+    public UsernamePrincipal clone() throws CloneNotSupportedException {
+        UsernamePrincipal copy = (UsernamePrincipal) super.clone();
+        copy.username = username;
+        return copy;
+    }
 }

Modified: trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/authn/AuthnContextClassRefPrincipal.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/authn/AuthnContextClassRefPrincipal.java?rev=4662&r1=4661&r2=4662&view=diff
==============================================================================
--- trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/authn/AuthnContextClassRefPrincipal.java (original)
+++ trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/authn/AuthnContextClassRefPrincipal.java Mon Aug  5 17:25:54 2013
@@ -17,13 +17,13 @@
 
 package net.shibboleth.idp.saml.authn;
 
-import java.security.Principal;
 
 import javax.annotation.Nonnull;
 
 import org.opensaml.core.xml.util.XMLObjectSupport;
 import org.opensaml.saml.saml2.core.AuthnContextClassRef;
 
+import net.shibboleth.idp.authn.CloneablePrincipal;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
@@ -31,10 +31,10 @@
 import com.google.common.base.Objects;
 
 /** Principal based on a SAML AuthnContextClassRef. */
-public final class AuthnContextClassRefPrincipal implements Principal {
+public final class AuthnContextClassRefPrincipal implements CloneablePrincipal {
 
     /** The class ref. */
-    @Nonnull @NotEmpty private final String authnContextClassRef;
+    @Nonnull @NotEmpty private String authnContextClassRef;
 
     /**
      * Constructor.
@@ -90,4 +90,11 @@
     public String toString() {
         return Objects.toStringHelper(this).add("authnContextClassRef", authnContextClassRef).toString();
     }
+
+    /** {@inheritDoc} */
+    public AuthnContextClassRefPrincipal clone() throws CloneNotSupportedException {
+        AuthnContextClassRefPrincipal copy = (AuthnContextClassRefPrincipal) super.clone();
+        copy.authnContextClassRef = authnContextClassRef;
+        return copy;
+    }
 }

Modified: trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/authn/AuthnContextDeclPrincipal.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/authn/AuthnContextDeclPrincipal.java?rev=4662&r1=4661&r2=4662&view=diff
==============================================================================
--- trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/authn/AuthnContextDeclPrincipal.java (original)
+++ trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/authn/AuthnContextDeclPrincipal.java Mon Aug  5 17:25:54 2013
@@ -17,14 +17,15 @@

[... 154 lines stripped ...]


More information about the commits mailing list