Lucio Lelii 2016-07-14 15:47:51 +00:00
parent a58e5ec3f7
commit da746b2635
2 changed files with 29 additions and 3 deletions

View File

@ -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<Policy> policies = new ArrayList<Policy>();
@XmlElement
private String qualifier;
protected AuthorizationEntry(){}
public AuthorizationEntry(ClientInfo clientInfo, String context, List<Policy> policies) {
public AuthorizationEntry(ClientInfo clientInfo, String context, List<Policy> 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 + "]";
}
}

View File

@ -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<String>()), "scope", new ArrayList<Policy>());
AuthorizationEntry ae1 = new AuthorizationEntry(new UserInfo("lucio.lelii", new ArrayList<String>()), "scope", new ArrayList<Policy>(), "TOKEN");
Map<String, String> services = new HashMap<String, String>();
services.put("service", "endpoint");
ae1.setMap(new DefaultServiceMap("scope","versione", services ));