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.CustomAttributeKeys;
|
||||||
import org.gcube.vomanagement.usermanagement.model.GCubeGroup;
|
import org.gcube.vomanagement.usermanagement.model.GCubeGroup;
|
||||||
import org.gcube.vomanagement.usermanagement.model.GCubeRole;
|
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.model.VirtualGroup;
|
||||||
import org.gcube.vomanagement.usermanagement.util.ManagementUtils;
|
import org.gcube.vomanagement.usermanagement.util.ManagementUtils;
|
||||||
|
|
||||||
|
@ -59,7 +60,7 @@ public class LiferayGroupManager implements GroupManager {
|
||||||
if (g != null) {
|
if (g != null) {
|
||||||
long logoId = LayoutSetLocalServiceUtil.getLayoutSet(g.getGroupId(), true).getLogoId();
|
long logoId = LayoutSetLocalServiceUtil.getLayoutSet(g.getGroupId(), true).getLogoId();
|
||||||
if (isVRE(g.getGroupId())) {
|
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())) {
|
else if (isVO(g.getGroupId())) {
|
||||||
List<GCubeGroup> vres = new ArrayList<GCubeGroup>();
|
List<GCubeGroup> vres = new ArrayList<GCubeGroup>();
|
||||||
|
@ -67,13 +68,13 @@ public class LiferayGroupManager implements GroupManager {
|
||||||
for (Group vre : VREs) {
|
for (Group vre : VREs) {
|
||||||
vres.add(mapLRGroup(vre));
|
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())) {
|
} else if (isRootVO(g.getGroupId())) {
|
||||||
List<GCubeGroup> vos = new ArrayList<GCubeGroup>();
|
List<GCubeGroup> vos = new ArrayList<GCubeGroup>();
|
||||||
List<Group> children = g.getChildren(true);
|
List<Group> children = g.getChildren(true);
|
||||||
for (Group vo : children)
|
for (Group vo : children)
|
||||||
vos.add(mapLRGroup(vo));
|
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{
|
} else{
|
||||||
_log.warn("This groupId does not correspond to a VO ora VRE");
|
_log.warn("This groupId does not correspond to a VO ora VRE");
|
||||||
return null;
|
return null;
|
||||||
|
@ -82,6 +83,21 @@ public class LiferayGroupManager implements GroupManager {
|
||||||
else
|
else
|
||||||
return null;
|
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
|
* @param groupName
|
||||||
|
|
|
@ -14,7 +14,7 @@ public class GCubeGroup implements Serializable {
|
||||||
String friendlyURL;
|
String friendlyURL;
|
||||||
long logoId;
|
long logoId;
|
||||||
List<GCubeGroup> children;
|
List<GCubeGroup> children;
|
||||||
boolean requestBasedGroup;
|
GroupMembershipType membershipType;
|
||||||
|
|
||||||
public GCubeGroup() {
|
public GCubeGroup() {
|
||||||
super();
|
super();
|
||||||
|
@ -31,12 +31,12 @@ public class GCubeGroup implements Serializable {
|
||||||
this.friendlyURL = friendlyURL;
|
this.friendlyURL = friendlyURL;
|
||||||
this.logoId = logoId;
|
this.logoId = logoId;
|
||||||
this.children = children;
|
this.children = children;
|
||||||
this.requestBasedGroup = true;
|
this.membershipType = GroupMembershipType.RESTRICTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GCubeGroup(long groupId, long parentGroupId, String groupName,
|
public GCubeGroup(long groupId, long parentGroupId, String groupName,
|
||||||
String description, String friendlyURL, long logoId,
|
String description, String friendlyURL, long logoId,
|
||||||
List<GCubeGroup> children, boolean requestBasedGroup) {
|
List<GCubeGroup> children, GroupMembershipType membershipType) {
|
||||||
super();
|
super();
|
||||||
this.groupId = groupId;
|
this.groupId = groupId;
|
||||||
this.parentGroupId = parentGroupId;
|
this.parentGroupId = parentGroupId;
|
||||||
|
@ -45,7 +45,7 @@ public class GCubeGroup implements Serializable {
|
||||||
this.friendlyURL = friendlyURL;
|
this.friendlyURL = friendlyURL;
|
||||||
this.logoId = logoId;
|
this.logoId = logoId;
|
||||||
this.children = children;
|
this.children = children;
|
||||||
this.requestBasedGroup = requestBasedGroup;
|
this.membershipType = membershipType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -126,21 +126,21 @@ public class GCubeGroup implements Serializable {
|
||||||
this.children = children;
|
this.children = children;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isRequestBasedGroup() {
|
|
||||||
return requestBasedGroup;
|
|
||||||
|
public GroupMembershipType getMembershipType() {
|
||||||
|
return membershipType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRequestBasedGroup(boolean requestBasedGroup) {
|
public void setMembershipType(GroupMembershipType membershipType) {
|
||||||
this.requestBasedGroup = requestBasedGroup;
|
this.membershipType = membershipType;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "GCubeGroup [groupId=" + groupId + ", parentGroupId="
|
return "GCubeGroup [groupId=" + groupId + ", parentGroupId=" + parentGroupId + ", groupName=" + groupName
|
||||||
+ parentGroupId + ", groupName=" + groupName + ", description="
|
+ ", description=" + description + ", friendlyURL=" + friendlyURL + ", logoId=" + logoId + ", children="
|
||||||
+ description + ", friendlyURL=" + friendlyURL + ", logoId="
|
+ children + ", membershipType=" + membershipType + "]";
|
||||||
+ logoId + ", children=" + children + ", requestBasedGroup="
|
|
||||||
+ requestBasedGroup + "]";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
package org.gcube.vomanagement.usermanagement.model;
|
||||||
|
|
||||||
|
public enum GroupMembershipType {
|
||||||
|
OPEN,
|
||||||
|
RESTRICTED,
|
||||||
|
PRIVATE;
|
||||||
|
}
|
Loading…
Reference in New Issue