package org.cagrid.gaards.dorian.service;
import gov.nih.nci.cagrid.authentication.stubs.types.InvalidCredentialFault;
import gov.nih.nci.cagrid.common.FaultHelper;
import gov.nih.nci.cagrid.common.Utils;
import gov.nih.nci.cagrid.opensaml.SAMLAssertion;
import java.rmi.RemoteException;
import java.security.PublicKey;
import java.security.cert.X509Certificate;
import java.util.List;
import javax.naming.InitialContext;
import javax.xml.namespace.QName;
import org.apache.axis.MessageContext;
import org.apache.axis.message.addressing.EndpointReferenceType;
import org.cagrid.gaards.authentication.AuthenticationProfiles;
import org.cagrid.gaards.authentication.BasicAuthentication;
import org.cagrid.gaards.authentication.common.AuthenticationProfile;
import org.cagrid.gaards.authentication.faults.AuthenticationProviderFault;
import org.cagrid.gaards.authentication.faults.CredentialNotSupportedFault;
import org.cagrid.gaards.dorian.common.AuditConstants;
import org.cagrid.gaards.dorian.federation.CertificateLifetime;
import org.cagrid.gaards.dorian.federation.FederationAudit;
import org.cagrid.gaards.dorian.federation.FederationAuditRecord;
import org.cagrid.gaards.dorian.federation.GridUserRecord;
import org.cagrid.gaards.dorian.federation.HostRecord;
import org.cagrid.gaards.dorian.federation.UserCertificateRecord;
import org.cagrid.gaards.dorian.idp.IdentityProviderAuditRecord;
import org.cagrid.gaards.dorian.stubs.types.DorianInternalFault;
import org.cagrid.gaards.dorian.stubs.types.InvalidAssertionFault;
import org.cagrid.gaards.dorian.stubs.types.InvalidProxyFault;
import org.cagrid.gaards.dorian.stubs.types.InvalidUserCertificateFault;
import org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault;
import org.cagrid.gaards.dorian.stubs.types.UserPolicyFault;
import org.cagrid.gaards.pki.CertUtil;
import org.cagrid.gaards.pki.KeyUtil;
import org.cagrid.gaards.saml.encoding.SAMLUtils;
import org.globus.wsrf.Constants;
import org.globus.wsrf.security.SecurityManager;
import org.globus.wsrf.utils.AddressingUtils;
import org.springframework.core.io.FileSystemResource;
/**
* gov.nih.nci.cagrid.dorianI TODO:DOCUMENT ME
*
* @created by Introduce Toolkit version 1.0
*/
public class DorianImpl extends DorianImplBase {
private DorianConfiguration configuration;
private Dorian dorian;
public DorianImpl() throws RemoteException {
try {
EndpointReferenceType type = AddressingUtils.createEndpointReference(null);
String configFile = DorianConfiguration.getConfiguration().getDorianConfiguration();
String propertiesFile = DorianConfiguration.getConfiguration().getDorianProperties();
BeanUtils utils = new BeanUtils(new FileSystemResource(configFile), new FileSystemResource(propertiesFile));
DorianProperties conf = utils.getDorianProperties();
this.dorian = new Dorian(conf, type.getAddress().toString());
getResourceHome().getAddressedResource().setDorian(this.dorian);
QName[] list = new QName[1];
list[0] = AuthenticationProfile.BASIC_AUTHENTICATION;
AuthenticationProfiles profiles = new AuthenticationProfiles();
profiles.setProfile(list);
getResourceHome().getAddressedResource().setAuthenticationProfiles(profiles);
utils.getEventManager().logEvent(AuditConstants.SYSTEM_ID, AuditConstants.SYSTEM_ID,
FederationAudit.SystemStartup.getValue(), "System successfully started!!!");
} catch (Exception e) {
FaultHelper.printStackTrace(e);
throw new RemoteException(Utils.getExceptionMessage(e));
}
}
public DorianConfiguration getConfiguration() throws Exception {
if (this.configuration != null) {
return this.configuration;
}
MessageContext ctx = MessageContext.getCurrentContext();
String servicePath = ctx.getTargetService();
String jndiName = Constants.JNDI_SERVICES_BASE_NAME + servicePath + "/serviceconfiguration";
try {
javax.naming.Context initialContext = new InitialContext();
this.configuration = (DorianConfiguration) initialContext.lookup(jndiName);
} catch (Exception e) {
throw new Exception("Unable to instantiate service configuration.", e);
}
return this.configuration;
}
private String getCallerIdentity() {
String caller = SecurityManager.getManager().getCaller();
// System.out.println("Caller: " + caller);
if ((caller == null) || (caller.trim().length() == 0) || (caller.equals("<anonymous>"))) {
caller = DorianConstants.ANONYMOUS_CALLER;
}
return caller;
}
private String getCallerIdentityEnforceAuthentication() throws PermissionDeniedFault {
String caller = getCallerIdentity();
if ((caller == null) || (caller.trim().length() == 0) || (caller.equals(DorianConstants.ANONYMOUS_CALLER))) {
PermissionDeniedFault fault = new PermissionDeniedFault();
fault.setFaultString("Authentication Required!!!");
throw fault;
}
return caller;
}
public java.lang.String registerWithIdP(org.cagrid.gaards.dorian.idp.Application application) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidUserPropertyFault {
return dorian.registerLocalUser(application);
}
public org.cagrid.gaards.dorian.X509Certificate[] createProxy(org.cagrid.gaards.dorian.SAMLAssertion saml,org.cagrid.gaards.dorian.federation.PublicKey publicKey,org.cagrid.gaards.dorian.federation.ProxyLifetime lifetime,org.cagrid.gaards.dorian.federation.DelegationPathLength delegation) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidAssertionFault, org.cagrid.gaards.dorian.stubs.types.InvalidProxyFault, org.cagrid.gaards.dorian.stubs.types.UserPolicyFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
try {
PublicKey key = KeyUtil.loadPublicKey(publicKey.getKeyAsString());
SAMLAssertion s = SAMLUtils.stringToSAMLAssertion(saml.getXml());
CertificateLifetime l = new CertificateLifetime();
l.setHours(lifetime.getHours());
l.setMinutes(lifetime.getMinutes());
l.setSeconds(lifetime.getSeconds());
X509Certificate cert = dorian.requestUserCertificate(s, key, l);
org.cagrid.gaards.dorian.X509Certificate[] certList = new org.cagrid.gaards.dorian.X509Certificate[1];
certList[0] = new org.cagrid.gaards.dorian.X509Certificate();
certList[0].setCertificateAsString(CertUtil.writeCertificate(cert));
return certList;
} catch (PermissionDeniedFault f) {
throw f;
} catch (UserPolicyFault f) {
throw f;
} catch (InvalidProxyFault f) {
throw f;
} catch (InvalidAssertionFault f) {
throw f;
} catch (DorianInternalFault f) {
throw f;
} catch (Exception e) {
DorianInternalFault fault = new DorianInternalFault();
fault.setFaultString(Utils.getExceptionMessage(e));
gov.nih.nci.cagrid.common.FaultHelper helper = new gov.nih.nci.cagrid.common.FaultHelper(fault);
helper.addFaultCause(e);
fault = (DorianInternalFault) helper.getFault();
throw fault;
}
}
public org.cagrid.gaards.dorian.X509Certificate getCACertificate() throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault {
X509Certificate cert = dorian.getCACertificate();
try {
String certStr = CertUtil.writeCertificate(cert);
return new org.cagrid.gaards.dorian.X509Certificate(certStr);
} catch (Exception e) {
DorianInternalFault fault = new DorianInternalFault();
fault.setFaultString("An error while trying to write the CA certificate.");
throw fault;
}
}
public org.cagrid.gaards.dorian.federation.TrustedIdP[] getTrustedIdPs() throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
return dorian.getTrustedIdPs(getCallerIdentityEnforceAuthentication());
}
public org.cagrid.gaards.dorian.federation.TrustedIdP addTrustedIdP(org.cagrid.gaards.dorian.federation.TrustedIdP idp) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidTrustedIdPFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
return dorian.addTrustedIdP(getCallerIdentityEnforceAuthentication(), idp);
}
public void updateTrustedIdP(org.cagrid.gaards.dorian.federation.TrustedIdP trustedIdP) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidTrustedIdPFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
dorian.updateTrustedIdP(getCallerIdentityEnforceAuthentication(), trustedIdP);
}
public void removeTrustedIdP(org.cagrid.gaards.dorian.federation.TrustedIdP trustedIdP) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidTrustedIdPFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
dorian.removeTrustedIdP(getCallerIdentityEnforceAuthentication(), trustedIdP);
}
public gov.nih.nci.cagrid.authentication.bean.SAMLAssertion authenticate(gov.nih.nci.cagrid.authentication.bean.Credential credential) throws RemoteException, gov.nih.nci.cagrid.authentication.stubs.types.InvalidCredentialFault, gov.nih.nci.cagrid.authentication.stubs.types.InsufficientAttributeFault, gov.nih.nci.cagrid.authentication.stubs.types.AuthenticationProviderFault {
if (credential.getBasicAuthenticationCredential() == null) {
InvalidCredentialFault fault = new InvalidCredentialFault();
fault.setFaultString("A username and password is required to authenticate in this manner!!!");
throw fault;
} else {
BasicAuthentication cred = new BasicAuthentication();
cred.setUserId(credential.getBasicAuthenticationCredential().getUserId());
cred.setPassword(credential.getBasicAuthenticationCredential().getPassword());
try {
SAMLAssertion saml = dorian.authenticate(cred);
String xml = SAMLUtils.samlAssertionToString(saml);
return new gov.nih.nci.cagrid.authentication.bean.SAMLAssertion(xml);
} catch (AuthenticationProviderFault f) {
gov.nih.nci.cagrid.authentication.stubs.types.AuthenticationProviderFault fault = new gov.nih.nci.cagrid.authentication.stubs.types.AuthenticationProviderFault();
fault.setFaultString(f.getFaultString());
throw fault;
} catch (org.cagrid.gaards.authentication.faults.InvalidCredentialFault f) {
InvalidCredentialFault fault = new InvalidCredentialFault();
fault.setFaultString(f.getFaultString());
throw fault;
} catch (CredentialNotSupportedFault f) {
InvalidCredentialFault fault = new InvalidCredentialFault();
fault.setFaultString(f.getFaultString());
throw fault;
} catch (Exception e) {
DorianInternalFault fault = new DorianInternalFault();
fault.setFaultString(e.getMessage());
FaultHelper helper = new FaultHelper(fault);
helper.setDescription(Utils.getExceptionMessage(e));
helper.addFaultCause(e);
fault = (DorianInternalFault) helper.getFault();
throw fault;
}
}
}
public void addAdmin(java.lang.String gridIdentity) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
dorian.addAdmin(getCallerIdentityEnforceAuthentication(), gridIdentity);
}
public void removeAdmin(java.lang.String gridIdentity) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
dorian.removeAdmin(getCallerIdentityEnforceAuthentication(), gridIdentity);
}
public java.lang.String[] getAdmins() throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
return dorian.getAdmins(getCallerIdentityEnforceAuthentication());
}
public org.cagrid.gaards.dorian.federation.HostCertificateRecord requestHostCertificate(org.cagrid.gaards.dorian.federation.HostCertificateRequest req) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidHostCertificateRequestFault, org.cagrid.gaards.dorian.stubs.types.InvalidHostCertificateFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
return dorian.requestHostCertificate(getCallerIdentityEnforceAuthentication(), req);
}
public org.cagrid.gaards.dorian.federation.HostCertificateRecord[] getOwnedHostCertificates() throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
return dorian.getOwnedHostCertificates(getCallerIdentityEnforceAuthentication());
}
public org.cagrid.gaards.dorian.federation.HostCertificateRecord approveHostCertificate(java.math.BigInteger recordId) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidHostCertificateFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
return dorian.approveHostCertificate(getCallerIdentityEnforceAuthentication(), recordId.longValue());
}
public org.cagrid.gaards.dorian.federation.HostCertificateRecord[] findHostCertificates(org.cagrid.gaards.dorian.federation.HostCertificateFilter hostCertificateFilter) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
return dorian.findHostCertificates(getCallerIdentityEnforceAuthentication(), hostCertificateFilter);
}
public void updateHostCertificateRecord(org.cagrid.gaards.dorian.federation.HostCertificateUpdate hostCertificateUpdate) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidHostCertificateFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
dorian.updateHostCertificateRecord(getCallerIdentityEnforceAuthentication(), hostCertificateUpdate);
}
public org.cagrid.gaards.dorian.federation.HostCertificateRecord renewHostCertificate(java.math.BigInteger recordId) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidHostCertificateFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
return dorian.renewHostCertificate(getCallerIdentityEnforceAuthentication(), recordId.longValue());
}
public void changeIdPUserPassword(org.cagrid.gaards.dorian.idp.BasicAuthCredential credential,java.lang.String newPassword) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault, org.cagrid.gaards.dorian.stubs.types.InvalidUserPropertyFault {
dorian.changeLocalUserPassword(org.cagrid.gaards.dorian.service.util.Utils.fromLegacyCredential(credential),
newPassword);
}
public gov.nih.nci.cagrid.opensaml.SAMLAssertion authenticateUser(org.cagrid.gaards.authentication.Credential credential) throws RemoteException, org.cagrid.gaards.authentication.faults.AuthenticationProviderFault, org.cagrid.gaards.authentication.faults.CredentialNotSupportedFault, org.cagrid.gaards.authentication.faults.InsufficientAttributeFault, org.cagrid.gaards.authentication.faults.InvalidCredentialFault {
return dorian.authenticate(credential);
}
public void changeLocalUserPassword(org.cagrid.gaards.authentication.BasicAuthentication credential,java.lang.String newPassword) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidUserPropertyFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
dorian.changeLocalUserPassword(credential, newPassword);
}
public boolean doesLocalUserExist(java.lang.String userId) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault {
return dorian.doesLocalUserExist(userId);
}
public org.cagrid.gaards.dorian.federation.GridUser[] findGridUsers(org.cagrid.gaards.dorian.federation.GridUserFilter filter) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
return dorian.findGridUsers(getCallerIdentityEnforceAuthentication(), filter);
}
public void updateGridUser(org.cagrid.gaards.dorian.federation.GridUser user) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidUserFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
dorian.updateGridUser(getCallerIdentityEnforceAuthentication(), user);
}
public void removeGridUser(org.cagrid.gaards.dorian.federation.GridUser user) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidUserFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
dorian.removeGridUser(getCallerIdentityEnforceAuthentication(), user);
}
public org.cagrid.gaards.dorian.federation.GridUserPolicy[] getGridUserPolicies() throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
return dorian.getGridUserPolicies(getCallerIdentityEnforceAuthentication());
}
public void updateUserCertificate(org.cagrid.gaards.dorian.federation.UserCertificateUpdate update) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidUserCertificateFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
dorian.updateUserCertificateRecord(getCallerIdentityEnforceAuthentication(), update);
}
public org.cagrid.gaards.dorian.X509Certificate requestUserCertificate(gov.nih.nci.cagrid.opensaml.SAMLAssertion saml,org.cagrid.gaards.dorian.federation.PublicKey key,org.cagrid.gaards.dorian.federation.CertificateLifetime lifetime) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidAssertionFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault, org.cagrid.gaards.dorian.stubs.types.UserPolicyFault {
try {
PublicKey pkey = KeyUtil.loadPublicKey(key.getKeyAsString());
X509Certificate cert = dorian.requestUserCertificate(saml, pkey, lifetime);
org.cagrid.gaards.dorian.X509Certificate certificate = new org.cagrid.gaards.dorian.X509Certificate();
certificate.setCertificateAsString(CertUtil.writeCertificate(cert));
return certificate;
} catch (PermissionDeniedFault f) {
throw f;
} catch (UserPolicyFault f) {
throw f;
} catch (InvalidAssertionFault f) {
throw f;
} catch (DorianInternalFault f) {
throw f;
} catch (Exception e) {
DorianInternalFault fault = new DorianInternalFault();
fault.setFaultString(Utils.getExceptionMessage(e));
gov.nih.nci.cagrid.common.FaultHelper helper = new gov.nih.nci.cagrid.common.FaultHelper(fault);
helper.addFaultCause(e);
fault = (DorianInternalFault) helper.getFault();
throw fault;
}
}
public org.cagrid.gaards.dorian.federation.UserCertificateRecord[] findUserCertificates(org.cagrid.gaards.dorian.federation.UserCertificateFilter userCertificateFilter) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidUserCertificateFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
List<UserCertificateRecord> list = dorian.findUserCertificateRecords(getCallerIdentityEnforceAuthentication(),
userCertificateFilter);
UserCertificateRecord[] records = new UserCertificateRecord[list.size()];
for (int i = 0; i < list.size(); i++) {
records[i] = list.get(i);
}
return records;
}
public void removeUserCertificate(java.lang.String serialNumber) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidUserCertificateFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
try {
dorian.removeUserCertificate(getCallerIdentityEnforceAuthentication(), Long.valueOf(serialNumber)
.longValue());
} catch (NumberFormatException e) {
InvalidUserCertificateFault fault = new InvalidUserCertificateFault();
fault.setFaultString("Invalid user certificate specified!!!");
throw fault;
}
}
public org.cagrid.gaards.dorian.idp.LocalUser[] findLocalUsers(org.cagrid.gaards.dorian.idp.LocalUserFilter f) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
return dorian.findLocalUsers(getCallerIdentityEnforceAuthentication(), f);
}
public void updateLocalUser(org.cagrid.gaards.dorian.idp.LocalUser user) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.NoSuchUserFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
dorian.updateLocalUser(getCallerIdentityEnforceAuthentication(), user);
}
public void removeLocalUser(java.lang.String userId) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
dorian.removeLocalUser(getCallerIdentityEnforceAuthentication(), userId);
}
public org.cagrid.gaards.dorian.federation.FederationAuditRecord[] performFederationAudit(org.cagrid.gaards.dorian.federation.FederationAuditFilter f) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
List<FederationAuditRecord> records = this.dorian.performFederationAudit(
getCallerIdentityEnforceAuthentication(), f);
FederationAuditRecord[] array = new FederationAuditRecord[records.size()];
return records.toArray(array);
}
public org.cagrid.gaards.dorian.idp.IdentityProviderAuditRecord[] performIdentityProviderAudit(org.cagrid.gaards.dorian.idp.IdentityProviderAuditFilter f) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
List<IdentityProviderAuditRecord> records = this.dorian.performIdentityProviderAudit(
getCallerIdentityEnforceAuthentication(), f);
IdentityProviderAuditRecord[] array = new IdentityProviderAuditRecord[records.size()];
return records.toArray(array);
}
public java.lang.String registerLocalUser(org.cagrid.gaards.dorian.idp.Application a) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidUserPropertyFault {
return dorian.registerLocalUser(a);
}
public org.cagrid.gaards.dorian.federation.GridUserRecord[] userSearch(org.cagrid.gaards.dorian.federation.GridUserSearchCriteria gridUserSearchCriteria) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
List<GridUserRecord> records = this.dorian.userSearch(getCallerIdentity(), gridUserSearchCriteria);
GridUserRecord[] array = new GridUserRecord[records.size()];
return records.toArray(array);
}
public org.cagrid.gaards.dorian.federation.HostRecord[] hostSearch(org.cagrid.gaards.dorian.federation.HostSearchCriteria hostSearchCriteria) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
List<HostRecord> records = this.dorian.hostSearch(getCallerIdentity(), hostSearchCriteria);
HostRecord[] array = new HostRecord[records.size()];
return records.toArray(array);
}
public org.cagrid.gaards.dorian.idp.AccountProfile getAccountProfile() throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
return this.dorian.getAccountProfile(getCallerIdentity());
}
public void updateAccountProfile(org.cagrid.gaards.dorian.idp.AccountProfile profile) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidUserPropertyFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault, org.cagrid.gaards.dorian.stubs.types.NoSuchUserFault {
this.dorian.updateAccountProfile(getCallerIdentity(), profile);
}
public void setPublish(org.cagrid.gaards.dorian.federation.TrustedIdP trustedIdP,boolean publish) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidTrustedIdPFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
dorian.setPublish(getCallerIdentity(), trustedIdP, publish); }
public boolean getPublish(org.cagrid.gaards.dorian.federation.TrustedIdP trustedIdP) throws RemoteException, org.cagrid.gaards.dorian.stubs.types.DorianInternalFault, org.cagrid.gaards.dorian.stubs.types.InvalidTrustedIdPFault, org.cagrid.gaards.dorian.stubs.types.PermissionDeniedFault {
return dorian.getPublish(getCallerIdentityEnforceAuthentication(), trustedIdP);
}
}