You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2012/10/05 19:03:28 UTC
svn commit: r1394640 - in /cxf/trunk/services/sts:
sts-core/src/main/java/org/apache/cxf/sts/claims/
sts-core/src/test/java/org/apache/cxf/sts/common/
sts-core/src/test/java/org/apache/cxf/sts/operation/
systests/advanced/src/test/java/org/apache/cxf/s...
Author: dkulp
Date: Fri Oct 5 17:03:27 2012
New Revision: 1394640
URL: http://svn.apache.org/viewvc?rev=1394640&view=rev
Log:
Change Claims value to List<String> to support multiple values
Modified:
cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/Claim.java
cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/ClaimsAttributeStatementProvider.java
cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/ClaimsManager.java
cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/LdapClaimsHandler.java
cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/StaticClaimsHandler.java
cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/StaticEndpointClaimsHandler.java
cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/common/CustomAttributeProvider.java
cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/common/CustomClaimsHandler.java
cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/common/CustomUserClaimsHandler.java
cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/operation/CustomClaimsMapper.java
cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/deployment/CustomAttributeStatementProvider.java
cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/deployment/CustomClaimsHandler.java
Modified: cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/Claim.java
URL: http://svn.apache.org/viewvc/cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/Claim.java?rev=1394640&r1=1394639&r2=1394640&view=diff
==============================================================================
--- cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/Claim.java (original)
+++ cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/Claim.java Fri Oct 5 17:03:27 2012
@@ -22,6 +22,8 @@ package org.apache.cxf.sts.claims;
import java.io.Serializable;
import java.net.URI;
import java.security.Principal;
+import java.util.ArrayList;
+import java.util.List;
/**
* This represents a Claim that has been processed by a ClaimsHandler instance.
@@ -36,7 +38,7 @@ public class Claim implements Serializab
private String issuer;
private String originalIssuer;
private transient Principal principal;
- private String value;
+ private List<String> values = new ArrayList<String>(1);
public String getIssuer() {
return issuer;
@@ -70,12 +72,22 @@ public class Claim implements Serializab
this.principal = principal;
}
- public void setValue(String value) {
- this.value = value;
+ public void setValues(List<String> values) {
+ this.values.clear();
+ this.values.addAll(values);
}
- public String getValue() {
- return value;
+ public void setValue(String value) {
+ this.values.clear();
+ this.values.add(value);
+ }
+
+ public void addValue(String s) {
+ this.values.add(s);
+ }
+
+ public List<String> getValues() {
+ return values;
}
}
Modified: cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/ClaimsAttributeStatementProvider.java
URL: http://svn.apache.org/viewvc/cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/ClaimsAttributeStatementProvider.java?rev=1394640&r1=1394639&r2=1394640&view=diff
==============================================================================
--- cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/ClaimsAttributeStatementProvider.java (original)
+++ cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/ClaimsAttributeStatementProvider.java Fri Oct 5 17:03:27 2012
@@ -20,7 +20,6 @@ package org.apache.cxf.sts.claims;
import java.net.URI;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -100,7 +99,7 @@ public class ClaimsAttributeStatementPro
attributeBean.setSimpleName(name);
attributeBean.setQualifiedName(namespace);
}
- attributeBean.setAttributeValues(Collections.singletonList(claim.getValue()));
+ attributeBean.setAttributeValues(claim.getValues());
attributeList.add(attributeBean);
}
attrBean.setSamlAttributes(attributeList);
Modified: cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/ClaimsManager.java
URL: http://svn.apache.org/viewvc/cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/ClaimsManager.java?rev=1394640&r1=1394639&r2=1394640&view=diff
==============================================================================
--- cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/ClaimsManager.java (original)
+++ cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/ClaimsManager.java Fri Oct 5 17:03:27 2012
@@ -186,7 +186,7 @@ public class ClaimsManager {
if (LOG.isLoggable(Level.FINEST)) {
LOG.finest(" [" + value + "]");
}
- c.setValue(value);
+ c.addValue(value);
collection.add(c);
break;
}
@@ -225,7 +225,7 @@ public class ClaimsManager {
if (LOG.isLoggable(Level.FINEST)) {
LOG.finest(" [" + value + "]");
}
- c.setValue(value);
+ c.addValue(value);
collection.add(c);
break;
}
Modified: cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/LdapClaimsHandler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/LdapClaimsHandler.java?rev=1394640&r1=1394639&r2=1394640&view=diff
==============================================================================
--- cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/LdapClaimsHandler.java (original)
+++ cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/LdapClaimsHandler.java Fri Oct 5 17:03:27 2012
@@ -247,7 +247,7 @@ public class LdapClaimsHandler implement
LOG.warning("Failed to read value of LDAP attribute '" + ldapAttribute + "'");
}
- c.setValue(claimValue.toString());
+ c.addValue(claimValue.toString());
// c.setIssuer(issuer);
// c.setOriginalIssuer(originalIssuer);
// c.setNamespace(namespace);
Modified: cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/StaticClaimsHandler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/StaticClaimsHandler.java?rev=1394640&r1=1394639&r2=1394640&view=diff
==============================================================================
--- cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/StaticClaimsHandler.java (original)
+++ cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/StaticClaimsHandler.java Fri Oct 5 17:03:27 2012
@@ -66,7 +66,7 @@ public class StaticClaimsHandler impleme
Claim c = new Claim();
c.setClaimType(claim.getClaimType());
c.setPrincipal(parameters.getPrincipal());
- c.setValue(getGlobalClaims().get(claim.getClaimType().toString()));
+ c.addValue(getGlobalClaims().get(claim.getClaimType().toString()));
claimsColl.add(c);
} else {
if (LOG.isLoggable(Level.FINER)) {
Modified: cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/StaticEndpointClaimsHandler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/StaticEndpointClaimsHandler.java?rev=1394640&r1=1394639&r2=1394640&view=diff
==============================================================================
--- cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/StaticEndpointClaimsHandler.java (original)
+++ cxf/trunk/services/sts/sts-core/src/main/java/org/apache/cxf/sts/claims/StaticEndpointClaimsHandler.java Fri Oct 5 17:03:27 2012
@@ -75,7 +75,7 @@ public class StaticEndpointClaimsHandler
Claim c = new Claim();
c.setClaimType(claim.getClaimType());
c.setPrincipal(parameters.getPrincipal());
- c.setValue(endpointClaims.get(claim.getClaimType().toString()));
+ c.addValue(endpointClaims.get(claim.getClaimType().toString()));
claimsColl.add(c);
} else {
if (LOG.isLoggable(Level.FINER)) {
Modified: cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/common/CustomAttributeProvider.java
URL: http://svn.apache.org/viewvc/cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/common/CustomAttributeProvider.java?rev=1394640&r1=1394639&r2=1394640&view=diff
==============================================================================
--- cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/common/CustomAttributeProvider.java (original)
+++ cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/common/CustomAttributeProvider.java Fri Oct 5 17:03:27 2012
@@ -180,7 +180,7 @@ public class CustomAttributeProvider imp
} else {
attributeBean.setSimpleName(claim.getClaimType().toString());
}
- attributeBean.setAttributeValues(Collections.singletonList(claim.getValue()));
+ attributeBean.setAttributeValues(claim.getValues());
return attributeBean;
}
Modified: cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/common/CustomClaimsHandler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/common/CustomClaimsHandler.java?rev=1394640&r1=1394639&r2=1394640&view=diff
==============================================================================
--- cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/common/CustomClaimsHandler.java (original)
+++ cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/common/CustomClaimsHandler.java Fri Oct 5 17:03:27 2012
@@ -64,18 +64,18 @@ public class CustomClaimsHandler impleme
if (requestClaim instanceof CustomRequestClaim) {
CustomRequestClaim customClaim = (CustomRequestClaim) requestClaim;
String customName = customClaim.getClaimValue() + "@" + customClaim.getScope();
- claim.setValue(customName);
+ claim.addValue(customName);
} else {
- claim.setValue("alice");
+ claim.addValue("alice");
}
} else if (ClaimTypes.LASTNAME.equals(requestClaim.getClaimType())) {
- claim.setValue("doe");
+ claim.addValue("doe");
} else if (ClaimTypes.EMAILADDRESS.equals(requestClaim.getClaimType())) {
- claim.setValue("alice@cxf.apache.org");
+ claim.addValue("alice@cxf.apache.org");
} else if (ROLE_CLAIM.equals(requestClaim.getClaimType())) {
String requestedRole = requestClaim.getClaimValue();
if (isUserInRole(parameters.getPrincipal(), requestedRole)) {
- claim.setValue(requestedRole);
+ claim.addValue(requestedRole);
} else {
continue;
}
Modified: cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/common/CustomUserClaimsHandler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/common/CustomUserClaimsHandler.java?rev=1394640&r1=1394639&r2=1394640&view=diff
==============================================================================
--- cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/common/CustomUserClaimsHandler.java (original)
+++ cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/common/CustomUserClaimsHandler.java Fri Oct 5 17:03:27 2012
@@ -56,9 +56,9 @@ public class CustomUserClaimsHandler imp
if (ClaimTypes.FIRSTNAME.equals(requestClaim.getClaimType())) {
if (parameters.getPrincipal().getName().equalsIgnoreCase("alice")) {
- claim.setValue("aliceClaim");
+ claim.addValue("aliceClaim");
} else if (parameters.getPrincipal().getName().equalsIgnoreCase("bob")) {
- claim.setValue("bobClaim");
+ claim.addValue("bobClaim");
}
}
claimCollection.add(claim);
Modified: cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/operation/CustomClaimsMapper.java
URL: http://svn.apache.org/viewvc/cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/operation/CustomClaimsMapper.java?rev=1394640&r1=1394639&r2=1394640&view=diff
==============================================================================
--- cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/operation/CustomClaimsMapper.java (original)
+++ cxf/trunk/services/sts/sts-core/src/test/java/org/apache/cxf/sts/operation/CustomClaimsMapper.java Fri Oct 5 17:03:27 2012
@@ -44,7 +44,9 @@ public class CustomClaimsMapper implemen
nc.setIssuer(c.getIssuer());
nc.setOriginalIssuer(c.getOriginalIssuer());
nc.setPrincipal(c.getPrincipal());
- nc.setValue(c.getValue().toUpperCase());
+ for (String s : c.getValues()) {
+ nc.addValue(s.toUpperCase());
+ }
targetClaims.add(nc);
}
Modified: cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/deployment/CustomAttributeStatementProvider.java
URL: http://svn.apache.org/viewvc/cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/deployment/CustomAttributeStatementProvider.java?rev=1394640&r1=1394639&r2=1394640&view=diff
==============================================================================
--- cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/deployment/CustomAttributeStatementProvider.java (original)
+++ cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/deployment/CustomAttributeStatementProvider.java Fri Oct 5 17:03:27 2012
@@ -20,7 +20,6 @@ package org.apache.cxf.systest.sts.deplo
import java.net.URI;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -98,7 +97,7 @@ public class CustomAttributeStatementPro
attributeBean.setSimpleName(name);
attributeBean.setQualifiedName(namespace);
}
- attributeBean.setAttributeValues(Collections.singletonList(claim.getValue()));
+ attributeBean.setAttributeValues(claim.getValues());
attributeList.add(attributeBean);
}
attrBean.setSamlAttributes(attributeList);
Modified: cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/deployment/CustomClaimsHandler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/deployment/CustomClaimsHandler.java?rev=1394640&r1=1394639&r2=1394640&view=diff
==============================================================================
--- cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/deployment/CustomClaimsHandler.java (original)
+++ cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/deployment/CustomClaimsHandler.java Fri Oct 5 17:03:27 2012
@@ -52,11 +52,11 @@ public class CustomClaimsHandler impleme
claim.setIssuer("Test Issuer");
claim.setOriginalIssuer("Original Issuer");
if (ROLE.equals(requestClaim.getClaimType())) {
- claim.setValue("admin-user");
+ claim.addValue("admin-user");
} else if (GIVEN_NAME.equals(requestClaim.getClaimType())) {
- claim.setValue(parameters.getPrincipal().getName());
+ claim.addValue(parameters.getPrincipal().getName());
} else if (LANGUAGE.equals(requestClaim.getClaimType())) {
- claim.setValue(parameters.getPrincipal().getName());
+ claim.addValue(parameters.getPrincipal().getName());
}
claimCollection.add(claim);
}