package org.wso2.esb.integration.common.clients.registry; import org.apache.axis2.AxisFault; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.registry.relations.stub.AddAssociationRegistryExceptionException; import org.wso2.carbon.registry.relations.stub.GetAssociationTreeRegistryExceptionException; import org.wso2.carbon.registry.relations.stub.GetDependenciesRegistryExceptionException; import org.wso2.carbon.registry.relations.stub.RelationAdminServiceStub; import org.wso2.carbon.registry.relations.stub.beans.xsd.AssociationTreeBean; import org.wso2.carbon.registry.relations.stub.beans.xsd.DependenciesBean; import org.wso2.esb.integration.common.clients.client.utils.AuthenticateStub; import java.rmi.RemoteException; public class RelationAdminServiceClient { private static final Log log = LogFactory.getLog(RelationAdminServiceClient.class); private RelationAdminServiceStub relationAdminServiceStub; private final String serviceName = "RelationAdminService"; public RelationAdminServiceClient(String backendURL, String sessionCookie) throws AxisFault { String endPoint = backendURL + serviceName; relationAdminServiceStub = new RelationAdminServiceStub(endPoint); AuthenticateStub.authenticateStub(sessionCookie, relationAdminServiceStub); } public RelationAdminServiceClient(String backendURL, String userName, String password) throws AxisFault { String endPoint = backendURL + serviceName; relationAdminServiceStub = new RelationAdminServiceStub(endPoint); AuthenticateStub.authenticateStub(userName, password, relationAdminServiceStub); } public void addAssociation(String path, String type, String associationPath, String toDo) throws RemoteException, AddAssociationRegistryExceptionException { try { relationAdminServiceStub.addAssociation(path, type, associationPath, toDo); } catch (RemoteException e) { log.error("Add association error "); throw new RemoteException("Add association error ", e); } catch (AddAssociationRegistryExceptionException e) { log.error("Add association error "); throw new AddAssociationRegistryExceptionException("Add association error ", e); } } public DependenciesBean getDependencies(String path) throws RemoteException, AddAssociationRegistryExceptionException { DependenciesBean dependenciesBean = null; try { dependenciesBean = relationAdminServiceStub.getDependencies(path); } catch (RemoteException e) { log.error("Get dependencies error "); throw new RemoteException("Get dependencies error ", e); } catch (GetDependenciesRegistryExceptionException e) { log.error("Get dependencies error"); throw new AddAssociationRegistryExceptionException("Get dependencies error ", e); } return dependenciesBean; } public AssociationTreeBean getAssociationTree(String path, String type) throws RemoteException, AddAssociationRegistryExceptionException { try { return relationAdminServiceStub.getAssociationTree(path,type); } catch (RemoteException e) { log.error("Get association tree error "); throw new RemoteException("Get association tree error ", e); } catch (GetAssociationTreeRegistryExceptionException e) { log.error("Get association tree error "); throw new AddAssociationRegistryExceptionException("Get association tree error ", e); } } }