added support for membership type PRIVATE
git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/vo-management/usermanagement-core@132508 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
00b8826a1c
commit
da3b17c9c1
|
@ -23,6 +23,7 @@ import org.gcube.vomanagement.usermanagement.exception.VirtualGroupNotExistingEx
|
|||
import org.gcube.vomanagement.usermanagement.model.CustomAttributeKeys;
|
||||
import org.gcube.vomanagement.usermanagement.model.GCubeGroup;
|
||||
import org.gcube.vomanagement.usermanagement.model.GCubeRole;
|
||||
import org.gcube.vomanagement.usermanagement.model.GroupMembershipType;
|
||||
import org.gcube.vomanagement.usermanagement.model.VirtualGroup;
|
||||
import org.gcube.vomanagement.usermanagement.util.ManagementUtils;
|
||||
|
||||
|
@ -59,7 +60,7 @@ public class LiferayGroupManager implements GroupManager {
|
|||
if (g != null) {
|
||||
long logoId = LayoutSetLocalServiceUtil.getLayoutSet(g.getGroupId(), true).getLogoId();
|
||||
if (isVRE(g.getGroupId())) {
|
||||
return new GCubeGroup(g.getGroupId(), g.getParentGroupId(), g.getName(), g.getDescription(), g.getFriendlyURL(), logoId, null, g.getType()==GroupConstants.TYPE_SITE_RESTRICTED);
|
||||
return new GCubeGroup(g.getGroupId(), g.getParentGroupId(), g.getName(), g.getDescription(), g.getFriendlyURL(), logoId, null, getMappedGroupMembershipType(g.getType()));
|
||||
}
|
||||
else if (isVO(g.getGroupId())) {
|
||||
List<GCubeGroup> vres = new ArrayList<GCubeGroup>();
|
||||
|
@ -67,13 +68,13 @@ public class LiferayGroupManager implements GroupManager {
|
|||
for (Group vre : VREs) {
|
||||
vres.add(mapLRGroup(vre));
|
||||
}
|
||||
return new GCubeGroup(g.getGroupId(), g.getParentGroupId(), g.getName(), g.getDescription(), g.getFriendlyURL(), logoId, vres, g.getType()==GroupConstants.TYPE_SITE_RESTRICTED);
|
||||
return new GCubeGroup(g.getGroupId(), g.getParentGroupId(), g.getName(), g.getDescription(), g.getFriendlyURL(), logoId, vres, getMappedGroupMembershipType(g.getType()));
|
||||
} else if (isRootVO(g.getGroupId())) {
|
||||
List<GCubeGroup> vos = new ArrayList<GCubeGroup>();
|
||||
List<Group> children = g.getChildren(true);
|
||||
for (Group vo : children)
|
||||
vos.add(mapLRGroup(vo));
|
||||
return new GCubeGroup(g.getGroupId(), -1, g.getName(), g.getDescription(), g.getFriendlyURL(), logoId, vos, g.getType()==GroupConstants.TYPE_SITE_RESTRICTED);
|
||||
return new GCubeGroup(g.getGroupId(), -1, g.getName(), g.getDescription(), g.getFriendlyURL(), logoId, vos, getMappedGroupMembershipType(g.getType()));
|
||||
} else{
|
||||
_log.warn("This groupId does not correspond to a VO ora VRE");
|
||||
return null;
|
||||
|
@ -82,6 +83,21 @@ public class LiferayGroupManager implements GroupManager {
|
|||
else
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param type
|
||||
* @return the correspondent mapping to the gcube model
|
||||
*/
|
||||
private GroupMembershipType getMappedGroupMembershipType(int type) {
|
||||
switch (type) {
|
||||
case GroupConstants.TYPE_SITE_RESTRICTED:
|
||||
return GroupMembershipType.RESTRICTED;
|
||||
case GroupConstants.TYPE_SITE_OPEN:
|
||||
return GroupMembershipType.OPEN;
|
||||
default:
|
||||
return GroupMembershipType.PRIVATE;
|
||||
}
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param groupName
|
||||
|
|
|
@ -14,7 +14,7 @@ public class GCubeGroup implements Serializable {
|
|||
String friendlyURL;
|
||||
long logoId;
|
||||
List<GCubeGroup> children;
|
||||
boolean requestBasedGroup;
|
||||
GroupMembershipType membershipType;
|
||||
|
||||
public GCubeGroup() {
|
||||
super();
|
||||
|
@ -31,12 +31,12 @@ public class GCubeGroup implements Serializable {
|
|||
this.friendlyURL = friendlyURL;
|
||||
this.logoId = logoId;
|
||||
this.children = children;
|
||||
this.requestBasedGroup = true;
|
||||
this.membershipType = GroupMembershipType.RESTRICTED;
|
||||
}
|
||||
|
||||
public GCubeGroup(long groupId, long parentGroupId, String groupName,
|
||||
String description, String friendlyURL, long logoId,
|
||||
List<GCubeGroup> children, boolean requestBasedGroup) {
|
||||
List<GCubeGroup> children, GroupMembershipType membershipType) {
|
||||
super();
|
||||
this.groupId = groupId;
|
||||
this.parentGroupId = parentGroupId;
|
||||
|
@ -45,7 +45,7 @@ public class GCubeGroup implements Serializable {
|
|||
this.friendlyURL = friendlyURL;
|
||||
this.logoId = logoId;
|
||||
this.children = children;
|
||||
this.requestBasedGroup = requestBasedGroup;
|
||||
this.membershipType = membershipType;
|
||||
}
|
||||
|
||||
|
||||
|
@ -126,21 +126,21 @@ public class GCubeGroup implements Serializable {
|
|||
this.children = children;
|
||||
}
|
||||
|
||||
public boolean isRequestBasedGroup() {
|
||||
return requestBasedGroup;
|
||||
|
||||
|
||||
public GroupMembershipType getMembershipType() {
|
||||
return membershipType;
|
||||
}
|
||||
|
||||
public void setRequestBasedGroup(boolean requestBasedGroup) {
|
||||
this.requestBasedGroup = requestBasedGroup;
|
||||
public void setMembershipType(GroupMembershipType membershipType) {
|
||||
this.membershipType = membershipType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "GCubeGroup [groupId=" + groupId + ", parentGroupId="
|
||||
+ parentGroupId + ", groupName=" + groupName + ", description="
|
||||
+ description + ", friendlyURL=" + friendlyURL + ", logoId="
|
||||
+ logoId + ", children=" + children + ", requestBasedGroup="
|
||||
+ requestBasedGroup + "]";
|
||||
return "GCubeGroup [groupId=" + groupId + ", parentGroupId=" + parentGroupId + ", groupName=" + groupName
|
||||
+ ", description=" + description + ", friendlyURL=" + friendlyURL + ", logoId=" + logoId + ", children="
|
||||
+ children + ", membershipType=" + membershipType + "]";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
package org.gcube.vomanagement.usermanagement.model;
|
||||
|
||||
public enum GroupMembershipType {
|
||||
OPEN,
|
||||
RESTRICTED,
|
||||
PRIVATE;
|
||||
}
|
Loading…
Reference in New Issue