package org.dcache.gplazma.plugins; import org.apache.axis.EngineConfiguration; import org.opensciencegrid.authz.xacml.client.MapCredentialsClient; import org.opensciencegrid.authz.xacml.common.LocalId; import java.util.Properties; import org.dcache.gplazma.AuthenticationException; /** * Simple wrapper around {@link MapCredentialsClient}. This is the default * client for the {@link XACMLPlugin}. * * @author arossi */ public class PrivilegeDelegate implements IMapCredentialsClient { private MapCredentialsClient client; @Override public void configure(Properties properties) { client = new MapCredentialsClient(); } @Override public LocalId mapCredentials(String mappingServiceURL) throws AuthenticationException { try { return client.mapCredentials(mappingServiceURL); /* * Generic exception is thrown by privilege API ... */ } catch (RuntimeException t) { throw t; } catch (Exception t) { throw new AuthenticationException(t.getMessage(), t); } } @Override public void setFqan(String name) { client.setFqan(name); } @Override public void setRequestedaction(String actionAccess) { client.setRequestedaction(actionAccess); } @Override public void setResourceDNSHostName(String resourceDNSHostName) { client.setResourceDNSHostName(resourceDNSHostName); } @Override public void setResourceType(String type) { client.setResourceType(type); } @Override public void setResourceX509ID(String targetServiceName) { client.setResourceX509ID(targetServiceName); } @Override public void setResourceX509Issuer(String targetServiceIssuer) { client.setResourceX509Issuer(targetServiceIssuer); } @Override public void setVO(String vo) { client.setVO(vo); } @Override public void setVOMSSigningIssuer(String vomsSigningIssuer) { client.setVOMSSigningIssuer(vomsSigningIssuer); } @Override public void setVOMSSigningSubject(String vomsSigningSubject) { client.setVOMSSigningSubject(vomsSigningSubject); } @Override public void setX509Subject(String subject) { client.setX509Subject(subject); } @Override public void setX509SubjectIssuer(String x509SubjectIssuer) { client.setX509SubjectIssuer(x509SubjectIssuer); } @Override public void setAxisConfiguration(EngineConfiguration axisConfiguration) { client.setAxisConfiguration(axisConfiguration); } }