From da746b2635a75f42836f876de51ca5dd56a2c95b Mon Sep 17 00:00:00 2001 From: "lucio.lelii" Date: Thu, 14 Jul 2016 15:47:51 +0000 Subject: [PATCH] git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/Common/authorization-common-library@130413 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../library/AuthorizationEntry.java | 30 +++++++++++++++++-- .../binder/AuthorizationEntryBinder.java | 2 +- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/gcube/common/authorization/library/AuthorizationEntry.java b/src/main/java/org/gcube/common/authorization/library/AuthorizationEntry.java index 8da2645..a2d7a87 100644 --- a/src/main/java/org/gcube/common/authorization/library/AuthorizationEntry.java +++ b/src/main/java/org/gcube/common/authorization/library/AuthorizationEntry.java @@ -5,6 +5,7 @@ import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementRef; import javax.xml.bind.annotation.XmlElementRefs; import javax.xml.bind.annotation.XmlRootElement; @@ -13,6 +14,7 @@ import org.gcube.common.authorization.library.policies.Policy; import org.gcube.common.authorization.library.policies.Service2ServicePolicy; import org.gcube.common.authorization.library.policies.User2ServicePolicy; import org.gcube.common.authorization.library.provider.ClientInfo; +import org.gcube.common.authorization.library.provider.ExternalServiceInfo; import org.gcube.common.authorization.library.provider.ServiceInfo; import org.gcube.common.authorization.library.provider.UserInfo; import org.gcube.common.scope.api.ServiceMap; @@ -25,8 +27,10 @@ public class AuthorizationEntry { @XmlElementRefs({ @XmlElementRef(type = UserInfo.class), @XmlElementRef(type = ServiceInfo.class), + @XmlElementRef(type = ExternalServiceInfo.class) }) ClientInfo clientInfo; + private String context; @XmlElementRefs({@XmlElementRef(type=DefaultServiceMap.class)}) private ServiceMap map; @@ -36,13 +40,20 @@ public class AuthorizationEntry { }) private List policies = new ArrayList(); + + @XmlElement + private String qualifier; + + + protected AuthorizationEntry(){} - public AuthorizationEntry(ClientInfo clientInfo, String context, List policies) { + public AuthorizationEntry(ClientInfo clientInfo, String context, List policies, String qualifier) { super(); this.clientInfo = clientInfo; this.context = context; this.policies = policies; + this.qualifier = qualifier; } public ClientInfo getClientInfo() { @@ -57,6 +68,10 @@ public class AuthorizationEntry { return map; } + public String getQualifier() { + return qualifier; + } + public void setMap(ServiceMap map) { this.map = map; } @@ -65,6 +80,8 @@ public class AuthorizationEntry { return policies; } + + @Override public int hashCode() { final int prime = 31; @@ -72,6 +89,8 @@ public class AuthorizationEntry { result = prime * result + ((clientInfo == null) ? 0 : clientInfo.hashCode()); result = prime * result + ((context == null) ? 0 : context.hashCode()); + result = prime * result + + ((qualifier == null) ? 0 : qualifier.hashCode()); return result; } @@ -94,13 +113,20 @@ public class AuthorizationEntry { return false; } else if (!context.equals(other.context)) return false; + if (qualifier == null) { + if (other.qualifier != null) + return false; + } else if (!qualifier.equals(other.qualifier)) + return false; return true; } @Override public String toString() { return "AuthorizationEntry [clientInfo=" + clientInfo + ", context=" - + context + ", map=" + map + ", policies=" + policies + "]"; + + context + ", map=" + map + ", qualifier=" + qualifier + + ", policies=" + policies + "]"; } + } diff --git a/src/test/java/org/gcube/common/authorization/library/binder/AuthorizationEntryBinder.java b/src/test/java/org/gcube/common/authorization/library/binder/AuthorizationEntryBinder.java index c7ee244..780f993 100644 --- a/src/test/java/org/gcube/common/authorization/library/binder/AuthorizationEntryBinder.java +++ b/src/test/java/org/gcube/common/authorization/library/binder/AuthorizationEntryBinder.java @@ -26,7 +26,7 @@ public class AuthorizationEntryBinder { public void bind() throws Exception{ JAXBContext context = getContext(); StringWriter sw = new StringWriter(); - AuthorizationEntry ae1 = new AuthorizationEntry(new UserInfo("lucio.lelii", new ArrayList()), "scope", new ArrayList()); + AuthorizationEntry ae1 = new AuthorizationEntry(new UserInfo("lucio.lelii", new ArrayList()), "scope", new ArrayList(), "TOKEN"); Map services = new HashMap(); services.put("service", "endpoint"); ae1.setMap(new DefaultServiceMap("scope","versione", services ));