git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/application-support-layer/applicationSupportLayerCore@40950 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
f6cef70474
commit
fb45471230
|
@ -0,0 +1,379 @@
|
|||
package org.gcube.application.framework.core.security;
|
||||
|
||||
import java.rmi.RemoteException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.rpc.ServiceException;
|
||||
|
||||
import org.apache.axis.message.addressing.AttributedURI;
|
||||
import org.apache.axis.message.addressing.EndpointReferenceType;
|
||||
import org.apache.axis.types.URI.MalformedURIException;
|
||||
import org.gcube.application.framework.core.session.ASLSession;
|
||||
import org.gcube.application.framework.core.util.ASLGroupModel;
|
||||
import org.gcube.vomanagement.usermanagement.ws.GetGroupParentId;
|
||||
import org.gcube.vomanagement.usermanagement.ws.GetRootVO;
|
||||
import org.gcube.vomanagement.usermanagement.ws.GetScope;
|
||||
import org.gcube.vomanagement.usermanagement.ws.GetUserId;
|
||||
import org.gcube.vomanagement.usermanagement.ws.GroupModel;
|
||||
import org.gcube.vomanagement.usermanagement.ws.GroupRetrievalFault;
|
||||
import org.gcube.vomanagement.usermanagement.ws.IsRootVO;
|
||||
import org.gcube.vomanagement.usermanagement.ws.IsVO;
|
||||
import org.gcube.vomanagement.usermanagement.ws.LiferaySOAPGroupManagerPortType;
|
||||
import org.gcube.vomanagement.usermanagement.ws.LiferaySOAPUserManagerPortType;
|
||||
import org.gcube.vomanagement.usermanagement.ws.ListGroups;
|
||||
import org.gcube.vomanagement.usermanagement.ws.ListGroupsByUser;
|
||||
import org.gcube.vomanagement.usermanagement.ws.ListGroupsResponse;
|
||||
import org.gcube.vomanagement.usermanagement.ws.UserManagementSystemException;
|
||||
import org.gcube.vomanagement.usermanagement.ws.service.LiferaySOAPGroupManagerServiceAddressingLocator;
|
||||
import org.gcube.vomanagement.usermanagement.ws.service.LiferaySOAPUserManagerServiceAddressingLocator;
|
||||
|
||||
public class UsersManagementUtils {
|
||||
|
||||
public static ArrayList<String> getAllScopes(ASLSession session) {
|
||||
EndpointReferenceType endpointUser = new EndpointReferenceType();
|
||||
ArrayList<String> groupsNames = new ArrayList<String>();
|
||||
try {
|
||||
endpointUser.setAddress(new AttributedURI("lala"));
|
||||
} catch (MalformedURIException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
LiferaySOAPGroupManagerServiceAddressingLocator loc = new LiferaySOAPGroupManagerServiceAddressingLocator();
|
||||
try {
|
||||
LiferaySOAPGroupManagerPortType groupStub = loc.getLiferaySOAPGroupManagerPortTypePort(endpointUser);
|
||||
ListGroups groups = new ListGroups();
|
||||
|
||||
ListGroupsResponse resGroup = groupStub.listGroups(groups);
|
||||
|
||||
GroupModel[] groupList = resGroup.get_return();
|
||||
|
||||
for (GroupModel groupModel : groupList) {
|
||||
System.out.println("Group NAME " + groupModel.getGroupName());
|
||||
|
||||
GetRootVO rootVO = new GetRootVO();
|
||||
if (!groupStub.getRootVO(rootVO).get_return().getGroupId().equals(groupModel.getGroupId())) {
|
||||
String scope = null;
|
||||
|
||||
GetScope getScope = new GetScope();
|
||||
getScope.setArg0(groupModel.getGroupId());
|
||||
scope = groupStub.getScope(getScope).get_return();
|
||||
|
||||
if (scope.startsWith("/"))
|
||||
groupsNames.add(scope);
|
||||
}
|
||||
}
|
||||
|
||||
} catch (ServiceException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (UserManagementSystemException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return groupsNames;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static String getRootVO() {
|
||||
|
||||
EndpointReferenceType endpointUser = new EndpointReferenceType();
|
||||
ArrayList<String> groupsNames = new ArrayList<String>();
|
||||
try {
|
||||
endpointUser.setAddress(new AttributedURI("lala"));
|
||||
} catch (MalformedURIException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
LiferaySOAPGroupManagerServiceAddressingLocator loc = new LiferaySOAPGroupManagerServiceAddressingLocator();
|
||||
LiferaySOAPGroupManagerPortType groupStub = null;
|
||||
try {
|
||||
groupStub = loc.getLiferaySOAPGroupManagerPortTypePort(endpointUser);
|
||||
} catch (ServiceException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
ListGroups groups = new ListGroups();
|
||||
|
||||
try {
|
||||
ListGroupsResponse resGroup = groupStub.listGroups(groups);
|
||||
} catch (UserManagementSystemException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
GetRootVO rootVO = new GetRootVO();
|
||||
try {
|
||||
String rootVo = groupStub.getRootVO(rootVO).get_return().getGroupId();
|
||||
return rootVo;
|
||||
} catch (GroupRetrievalFault e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (UserManagementSystemException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public static String getUserId(String username) {
|
||||
EndpointReferenceType endpointUser = new EndpointReferenceType();
|
||||
String userId = null;
|
||||
try {
|
||||
endpointUser.setAddress(new AttributedURI("lala"));
|
||||
|
||||
try {
|
||||
LiferaySOAPUserManagerPortType userManagerStub = new LiferaySOAPUserManagerServiceAddressingLocator().getLiferaySOAPUserManagerPortTypePort(endpointUser);
|
||||
GetUserId getUserId = new GetUserId();
|
||||
getUserId.setArg0(username);
|
||||
userId = userManagerStub.getUserId(getUserId).get_return();
|
||||
} catch (ServiceException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (UserManagementSystemException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
} catch (MalformedURIException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
return userId;
|
||||
}
|
||||
|
||||
|
||||
public static List<ASLGroupModel> listGroupsByUser(String userId) {
|
||||
EndpointReferenceType endpointUser = new EndpointReferenceType();
|
||||
List<ASLGroupModel> groupsByUser = new ArrayList<ASLGroupModel>();
|
||||
try {
|
||||
endpointUser.setAddress(new AttributedURI("lala"));
|
||||
} catch (MalformedURIException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
LiferaySOAPGroupManagerServiceAddressingLocator loc = new LiferaySOAPGroupManagerServiceAddressingLocator();
|
||||
try {
|
||||
LiferaySOAPGroupManagerPortType groupStub = loc.getLiferaySOAPGroupManagerPortTypePort(endpointUser);
|
||||
ListGroupsByUser listGroupsByUser = new ListGroupsByUser();
|
||||
listGroupsByUser.setArg0(userId);
|
||||
GroupModel[] groups = groupStub.listGroupsByUser(listGroupsByUser).get_return();
|
||||
for (int i = 0; i < groups.length; i++) {
|
||||
ASLGroupModel grm = new ASLGroupModel();
|
||||
grm.setGroupId(new Long(groups[i].getGroupId()));
|
||||
grm.setGroupName(groups[i].getGroupName());
|
||||
grm.setDescription(groups[i].getDescription());
|
||||
groupsByUser.add(grm);
|
||||
}
|
||||
|
||||
} catch (ServiceException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (UserManagementSystemException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return groupsByUser;
|
||||
}
|
||||
|
||||
|
||||
public static List<ASLGroupModel> listGroups() {
|
||||
EndpointReferenceType endpointUser = new EndpointReferenceType();
|
||||
List<ASLGroupModel> groups = new ArrayList<ASLGroupModel>();
|
||||
try {
|
||||
endpointUser.setAddress(new AttributedURI("lala"));
|
||||
} catch (MalformedURIException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
LiferaySOAPGroupManagerServiceAddressingLocator loc = new LiferaySOAPGroupManagerServiceAddressingLocator();
|
||||
try {
|
||||
LiferaySOAPGroupManagerPortType groupStub = loc.getLiferaySOAPGroupManagerPortTypePort(endpointUser);
|
||||
ListGroups listGroups = new ListGroups();
|
||||
GroupModel[] groupsArray = groupStub.listGroups(listGroups).get_return();
|
||||
for (int i = 0; i < groupsArray.length; i++) {
|
||||
ASLGroupModel gm = new ASLGroupModel();
|
||||
gm.setGroupId(new Long(groupsArray[i].getGroupId()));
|
||||
gm.setGroupName(groupsArray[i].getGroupName());
|
||||
gm.setDescription(groupsArray[i].getDescription());
|
||||
groups.add(gm);
|
||||
}
|
||||
|
||||
} catch (ServiceException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (UserManagementSystemException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return groups;
|
||||
}
|
||||
|
||||
|
||||
public static boolean isVO(String groupId) {
|
||||
EndpointReferenceType endpointUser = new EndpointReferenceType();
|
||||
List<GroupModel> groups = new ArrayList<GroupModel>();
|
||||
boolean isVO = false;
|
||||
try {
|
||||
endpointUser.setAddress(new AttributedURI("lala"));
|
||||
} catch (MalformedURIException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
LiferaySOAPGroupManagerServiceAddressingLocator loc = new LiferaySOAPGroupManagerServiceAddressingLocator();
|
||||
|
||||
try {
|
||||
LiferaySOAPGroupManagerPortType groupStub = loc.getLiferaySOAPGroupManagerPortTypePort(endpointUser);
|
||||
|
||||
IsVO isVo = new IsVO();
|
||||
isVo.setArg0(groupId);
|
||||
isVO = groupStub.isVO(isVo).get_return();
|
||||
return isVO;
|
||||
} catch (ServiceException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (GroupRetrievalFault e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (UserManagementSystemException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public static boolean isRootVO(String groupId) {
|
||||
EndpointReferenceType endpointUser = new EndpointReferenceType();
|
||||
boolean isVO = false;
|
||||
try {
|
||||
endpointUser.setAddress(new AttributedURI("lala"));
|
||||
} catch (MalformedURIException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
LiferaySOAPGroupManagerServiceAddressingLocator loc = new LiferaySOAPGroupManagerServiceAddressingLocator();
|
||||
|
||||
try {
|
||||
LiferaySOAPGroupManagerPortType groupStub = loc.getLiferaySOAPGroupManagerPortTypePort(endpointUser);
|
||||
|
||||
IsRootVO isRootVo = new IsRootVO();
|
||||
isRootVo.setArg0(groupId);
|
||||
isVO = groupStub.isRootVO(isRootVo).get_return();
|
||||
return isVO;
|
||||
} catch (ServiceException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (GroupRetrievalFault e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (UserManagementSystemException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public static String getScope(String groupId) {
|
||||
EndpointReferenceType endpointUser = new EndpointReferenceType();
|
||||
try {
|
||||
endpointUser.setAddress(new AttributedURI("lala"));
|
||||
} catch (MalformedURIException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
LiferaySOAPGroupManagerServiceAddressingLocator loc = new LiferaySOAPGroupManagerServiceAddressingLocator();
|
||||
try {
|
||||
LiferaySOAPGroupManagerPortType groupStub = loc.getLiferaySOAPGroupManagerPortTypePort(endpointUser);
|
||||
|
||||
GetScope getScope = new GetScope();
|
||||
getScope.setArg0(groupId);
|
||||
String scope = groupStub.getScope(getScope).get_return();
|
||||
return scope;
|
||||
} catch (ServiceException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (GroupRetrievalFault e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (UserManagementSystemException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public static String getGroupParentId(String groupId) {
|
||||
EndpointReferenceType endpointUser = new EndpointReferenceType();
|
||||
try {
|
||||
endpointUser.setAddress(new AttributedURI("lala"));
|
||||
} catch (MalformedURIException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
LiferaySOAPGroupManagerServiceAddressingLocator loc = new LiferaySOAPGroupManagerServiceAddressingLocator();
|
||||
try {
|
||||
LiferaySOAPGroupManagerPortType groupStub = loc.getLiferaySOAPGroupManagerPortTypePort(endpointUser);
|
||||
|
||||
GetGroupParentId getGroupParentId = new GetGroupParentId();
|
||||
getGroupParentId.setArg0(groupId);
|
||||
long parentId = groupStub.getGroupParentId(getGroupParentId).get_return();
|
||||
return Long.toString(parentId);
|
||||
} catch (ServiceException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (GroupRetrievalFault e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (UserManagementSystemException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue