package gov.nih.nci.cagrid.dorian.client;
import gov.nih.nci.cagrid.common.FaultHelper;
import gov.nih.nci.cagrid.common.FaultUtil;
import gov.nih.nci.cagrid.common.Utils;
import gov.nih.nci.cagrid.dorian.common.DorianFault;
import gov.nih.nci.cagrid.dorian.idp.bean.Application;
import gov.nih.nci.cagrid.dorian.stubs.types.DorianInternalFault;
import gov.nih.nci.cagrid.dorian.stubs.types.InvalidUserPropertyFault;
import java.rmi.RemoteException;
import org.apache.axis.types.URI.MalformedURIException;
import org.globus.wsrf.impl.security.authorization.Authorization;
/**
* @author <A href="mailto:langella@bmi.osu.edu">Stephen Langella </A>
* @author <A href="mailto:oster@bmi.osu.edu">Scott Oster </A>
* @author <A href="mailto:hastings@bmi.osu.edu">Shannon Hastings </A>
* @version $Id: ArgumentManagerTable.java,v 1.2 2004/10/15 16:35:16 langella
* Exp $
* @deprecated As of release 1.3, replaced by
* {@link org.cagrid.gaards.dorian.client.LocalUserClient}
*/
@Deprecated
public class IdPRegistrationClient {
private DorianClient client;
public IdPRegistrationClient(String serviceURI) throws MalformedURIException, RemoteException {
client = new DorianClient(serviceURI);
}
/**
* This method specifies an authorization policy that the client should use
* for authorizing the server that it connects to.
*
* @param authorization
* The authorization policy to enforce
*/
public void setAuthorization(Authorization authorization) {
client.setAuthorization(authorization);
}
public String register(Application a) throws DorianFault, DorianInternalFault, InvalidUserPropertyFault {
try {
return client.registerWithIdP(a);
} catch (DorianInternalFault gie) {
throw gie;
} catch (InvalidUserPropertyFault f) {
throw f;
} catch (Exception e) {
FaultUtil.printFault(e);
DorianFault fault = new DorianFault();
fault.setFaultString(Utils.getExceptionMessage(e));
FaultHelper helper = new FaultHelper(fault);
helper.addFaultCause(e);
fault = (DorianFault) helper.getFault();
throw fault;
}
}
}