Added possibility to display VRE Groups and VRE Managers
git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/vre-members@132487 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
6526ea969b
commit
0a8221c38c
16
.classpath
16
.classpath
|
@ -1,19 +1,27 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<classpath>
|
<classpath>
|
||||||
<classpathentry kind="src" output="target/vre-members-2.0.0-SNAPSHOT/WEB-INF/classes" path="src/main/java">
|
<classpathentry kind="src" output="target/vre-members-2.1.0-SNAPSHOT/WEB-INF/classes" path="src/main/java">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="optional" value="true"/>
|
<attribute name="optional" value="true"/>
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry including="**/*.java" kind="src" output="src/main/webapp/WEB-INF/classes" path="src/main/resources"/>
|
<classpathentry excluding="**" kind="src" output="target/vre-members-2.1.0-SNAPSHOT/WEB-INF/classes" path="src/main/resources">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="optional" value="true"/>
|
<attribute name="optional" value="true"/>
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
|
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
<classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
|
<classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
|
||||||
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
|
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
|
||||||
<attributes>
|
<attributes>
|
||||||
|
@ -31,5 +39,5 @@
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="output" path="target/vre-members-2.0.0-SNAPSHOT/WEB-INF/classes"/>
|
<classpathentry kind="output" path="target/vre-members-2.1.0-SNAPSHOT/WEB-INF/classes"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|
1
.project
1
.project
|
@ -55,5 +55,6 @@
|
||||||
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
|
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
|
||||||
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
||||||
<nature>com.google.gwt.eclipse.core.gwtNature</nature>
|
<nature>com.google.gwt.eclipse.core.gwtNature</nature>
|
||||||
|
<nature>com.liferay.ide.core.liferayNature</nature>
|
||||||
</natures>
|
</natures>
|
||||||
</projectDescription>
|
</projectDescription>
|
||||||
|
|
|
@ -1,16 +1,15 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
|
||||||
<project-modules id="moduleCoreId" project-version="1.5.0">
|
|
||||||
<wb-module deploy-name="vre-members-portlet">
|
<wb-module deploy-name="vre-members-portlet">
|
||||||
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources" />
|
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
|
||||||
<wb-resource deploy-path="/" source-path="/src/main/webapp"
|
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
|
||||||
tag="defaultRootSource" />
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
|
||||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java" />
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
||||||
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/resources"/>
|
||||||
|
|
||||||
<dependent-module archiveName="gcube-widgets-2.0.0-SNAPSHOT.jar"
|
<dependent-module archiveName="gcube-widgets-2.0.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/gcube-widgets/gcube-widgets">
|
||||||
deploy-path="/WEB-INF/lib" handle="module:/resource/gcube-widgets/gcube-widgets">
|
|
||||||
<dependency-type>uses</dependency-type>
|
<dependency-type>uses</dependency-type>
|
||||||
</dependent-module>
|
</dependent-module>
|
||||||
<property name="java-output-path" value="/${module}/target/www/WEB-INF/classes" />
|
<property name="java-output-path" value="/${module}/target/www/WEB-INF/classes"/>
|
||||||
<property name="context-root" value="vre-members" />
|
<property name="context-root" value="vre-members"/>
|
||||||
</wb-module>
|
</wb-module>
|
||||||
</project-modules>
|
</project-modules>
|
||||||
|
|
|
@ -1,11 +1,17 @@
|
||||||
<ReleaseNotes>
|
<ReleaseNotes>
|
||||||
<Changeset component="org.gcube.portlet.user.vre-members.2-0-0" date="2016-06-30">
|
<Changeset component="org.gcube.portlet.user.vre-members.2-1-0"
|
||||||
|
date="2016-10-03">
|
||||||
|
<Change>Added possibility to display VRE Groups and VRE Managers</Change>
|
||||||
|
</Changeset>
|
||||||
|
<Changeset component="org.gcube.portlet.user.vre-members.2-0-0"
|
||||||
|
date="2016-06-30">
|
||||||
<Change>Added Capability to display tagged VRE Groups</Change>
|
<Change>Added Capability to display tagged VRE Groups</Change>
|
||||||
</Changeset>
|
</Changeset>
|
||||||
<Changeset component="org.gcube.portlet.user.vre-members.1-0-1"
|
<Changeset component="org.gcube.portlet.user.vre-members.1-0-1"
|
||||||
date="2014-12-13">
|
date="2014-12-13">
|
||||||
<Change>Added Client scope handler, to set the scope from the client
|
<Change>Added Client scope handler, to set the scope from the client
|
||||||
and help preventing the browser back button cache problem</Change>
|
and help preventing the browser back button cache problem
|
||||||
|
</Change>
|
||||||
</Changeset>
|
</Changeset>
|
||||||
<Changeset component="org.gcube.portlet.user.vre-members.1-0-0"
|
<Changeset component="org.gcube.portlet.user.vre-members.1-0-0"
|
||||||
date="2014-09-09">
|
date="2014-09-09">
|
||||||
|
|
2
pom.xml
2
pom.xml
|
@ -13,7 +13,7 @@
|
||||||
<groupId>org.gcube.portlets.user</groupId>
|
<groupId>org.gcube.portlets.user</groupId>
|
||||||
<artifactId>vre-members</artifactId>
|
<artifactId>vre-members</artifactId>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
<version>2.0.0-SNAPSHOT</version>
|
<version>2.1.0-SNAPSHOT</version>
|
||||||
<name>gCube VRE Members Portlet</name>
|
<name>gCube VRE Members Portlet</name>
|
||||||
<description>
|
<description>
|
||||||
VRE Members display the members of the current VRE
|
VRE Members display the members of the current VRE
|
||||||
|
|
|
@ -15,4 +15,5 @@ import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
|
||||||
public interface MembersService extends RemoteService {
|
public interface MembersService extends RemoteService {
|
||||||
ArrayList<BelongingUser> getSiteUsers();
|
ArrayList<BelongingUser> getSiteUsers();
|
||||||
VREGroup getVREGroupUsers(String teamId);
|
VREGroup getVREGroupUsers(String teamId);
|
||||||
|
VREGroup getVREManagers();
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,4 +12,6 @@ public interface MembersServiceAsync {
|
||||||
void getSiteUsers(AsyncCallback<ArrayList<BelongingUser>> callback);
|
void getSiteUsers(AsyncCallback<ArrayList<BelongingUser>> callback);
|
||||||
|
|
||||||
void getVREGroupUsers(String teamId, AsyncCallback<VREGroup> callback);
|
void getVREGroupUsers(String teamId, AsyncCallback<VREGroup> callback);
|
||||||
|
|
||||||
|
void getVREManagers(AsyncCallback<VREGroup> callback);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,26 +25,53 @@ public class VREMembersPanel extends FlowPanel {
|
||||||
//if showing a VRE Group
|
//if showing a VRE Group
|
||||||
if (getGroupShowId() != null) {
|
if (getGroupShowId() != null) {
|
||||||
String teamId = Encoder.decode(getGroupShowId());
|
String teamId = Encoder.decode(getGroupShowId());
|
||||||
vreMemberService.getVREGroupUsers(teamId, new AsyncCallback<VREGroup>() {
|
if (teamId.compareTo("-100")==0) {
|
||||||
|
vreMemberService.getVREManagers(new AsyncCallback<VREGroup>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
add(new HTML("<div class=\"nofeed-message\">" +
|
add(new HTML("<div class=\"nofeed-message\">" +
|
||||||
"Sorry, looks like something is broken with the server connection<br> " +
|
"Sorry, looks like something is broken with the server connection<br> " +
|
||||||
"Please check your connection and try refresh this page.</div>"));
|
"Please check your connection and try refresh this page.</div>"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(VREGroup group) {
|
public void onSuccess(VREGroup group) {
|
||||||
clear();
|
clear();
|
||||||
PageHeader toAdd = new PageHeader();
|
PageHeader toAdd = new PageHeader();
|
||||||
toAdd.setText(group.getName());
|
toAdd.setText("VRE managers");
|
||||||
toAdd.setSubtext(group.getDescription());
|
toAdd.setSubtext("The moderators of this VRE");
|
||||||
add(toAdd);
|
add(toAdd);
|
||||||
showMembers(group.getUsers());
|
if (group.getUsers().size() > 0)
|
||||||
}
|
showMembers(group.getUsers());
|
||||||
});
|
else
|
||||||
|
add(new HTML("<div class=\"nofeed-message\">There are no VRE Managers in this VRE, this is weird please report this issue.</div>"));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
vreMemberService.getVREGroupUsers(teamId, new AsyncCallback<VREGroup>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Throwable caught) {
|
||||||
|
add(new HTML("<div class=\"nofeed-message\">" +
|
||||||
|
"Sorry, looks like something is broken with the server connection<br> " +
|
||||||
|
"Please check your connection and try refresh this page.</div>"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSuccess(VREGroup group) {
|
||||||
|
clear();
|
||||||
|
PageHeader toAdd = new PageHeader();
|
||||||
|
toAdd.setText(group.getName());
|
||||||
|
toAdd.setSubtext(group.getDescription());
|
||||||
|
add(toAdd);
|
||||||
|
if (group.getUsers().size() > 0)
|
||||||
|
showMembers(group.getUsers());
|
||||||
|
else
|
||||||
|
add(new HTML("<div class=\"nofeed-message\">This group has no members, VRE Managers can define VRE groups and associate members to these groups.</div>"));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
} else { //show all the VRE Members
|
} else { //show all the VRE Members
|
||||||
vreMemberService.getSiteUsers(new AsyncCallback<ArrayList<BelongingUser>>() {
|
vreMemberService.getSiteUsers(new AsyncCallback<ArrayList<BelongingUser>>() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -80,4 +107,5 @@ public class VREMembersPanel extends FlowPanel {
|
||||||
private String getGroupShowId() {
|
private String getGroupShowId() {
|
||||||
return Window.Location.getParameter(Encoder.encode(GCubeSocialNetworking.GROUP_MEMBERS_OID));
|
return Window.Location.getParameter(Encoder.encode(GCubeSocialNetworking.GROUP_MEMBERS_OID));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,6 @@ import java.util.List;
|
||||||
import org.apache.commons.codec.binary.Base64;
|
import org.apache.commons.codec.binary.Base64;
|
||||||
import org.gcube.application.framework.core.session.ASLSession;
|
import org.gcube.application.framework.core.session.ASLSession;
|
||||||
import org.gcube.application.framework.core.session.SessionManager;
|
import org.gcube.application.framework.core.session.SessionManager;
|
||||||
import org.gcube.common.portal.GCubePortalConstants;
|
|
||||||
import org.gcube.common.scope.impl.ScopeBean;
|
import org.gcube.common.scope.impl.ScopeBean;
|
||||||
import org.gcube.common.scope.impl.ScopeBean.Type;
|
import org.gcube.common.scope.impl.ScopeBean.Type;
|
||||||
import org.gcube.portal.custom.scopemanager.scopehelper.ScopeHelper;
|
import org.gcube.portal.custom.scopemanager.scopehelper.ScopeHelper;
|
||||||
|
@ -25,6 +24,7 @@ import org.gcube.vomanagement.usermanagement.impl.LiferayGroupManager;
|
||||||
import org.gcube.vomanagement.usermanagement.impl.LiferayRoleManager;
|
import org.gcube.vomanagement.usermanagement.impl.LiferayRoleManager;
|
||||||
import org.gcube.vomanagement.usermanagement.impl.LiferayUserManager;
|
import org.gcube.vomanagement.usermanagement.impl.LiferayUserManager;
|
||||||
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.GCubeTeam;
|
import org.gcube.vomanagement.usermanagement.model.GCubeTeam;
|
||||||
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
|
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
@ -79,7 +79,7 @@ public class MembersServiceImpl extends RemoteServiceServlet implements MembersS
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public VREGroup getVREGroupUsers(String groupId) {
|
public VREGroup getVREGroupUsers(String groupId) {
|
||||||
String scope = getASLSession().getScope();
|
_log.info("Asking for members of team with id = " + groupId );
|
||||||
ArrayList<BelongingUser> groupUsers = new ArrayList<BelongingUser>();
|
ArrayList<BelongingUser> groupUsers = new ArrayList<BelongingUser>();
|
||||||
long teamId = -1;
|
long teamId = -1;
|
||||||
try{
|
try{
|
||||||
|
@ -87,8 +87,7 @@ public class MembersServiceImpl extends RemoteServiceServlet implements MembersS
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
_log.error("The groupId is not a valid long: " + groupId);
|
_log.error("The groupId is not a valid long: " + groupId);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
_log.info("Asking for members of team with id = " + groupId + " in scope: " + scope);
|
|
||||||
GCubeTeam team2Return = null;
|
GCubeTeam team2Return = null;
|
||||||
GCubeGroup parent = null;
|
GCubeGroup parent = null;
|
||||||
if (isWithinPortal()) {
|
if (isWithinPortal()) {
|
||||||
|
@ -112,12 +111,35 @@ public class MembersServiceImpl extends RemoteServiceServlet implements MembersS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else { //developmennt mode
|
} else { //developmennt mode
|
||||||
_log.info("Returning test team members with id = " + groupId + " in scope: " + scope);
|
_log.info("Returning test team members with id = " + groupId );
|
||||||
return new VREGroup(teamId, "TestTeam Name", "parent VRE", "Test Team Description", getTestUsers());
|
return new VREGroup(teamId, "TestTeam Name", "parent VRE", "Test Team Description", getTestUsers());
|
||||||
}
|
}
|
||||||
return new VREGroup(teamId, team2Return.getTeamName(), parent.getGroupName(), team2Return.getDescription(), groupUsers);
|
return new VREGroup(teamId, team2Return.getTeamName(), parent.getGroupName(), team2Return.getDescription(), groupUsers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public VREGroup getVREManagers() {
|
||||||
|
ArrayList<BelongingUser> vreManagers = new ArrayList<BelongingUser>();
|
||||||
|
long currGroupId = getCurrentGroupID();
|
||||||
|
try {
|
||||||
|
long roleId = new LiferayRoleManager().getRole(GCubeRole.VRE_MANAGER_LABEL, currGroupId).getRoleId();
|
||||||
|
for (GCubeUser user : new LiferayUserManager().listUsersByGroupAndRole(currGroupId, roleId)) {
|
||||||
|
if (user.getUsername().compareTo("test.user") != 0) { //skip test.user
|
||||||
|
vreManagers.add(
|
||||||
|
new BelongingUser(
|
||||||
|
user.getUsername(),
|
||||||
|
user.getFullname(),
|
||||||
|
user.getUserAvatarURL(),
|
||||||
|
user.getJobTitle(),
|
||||||
|
user.getLocation_industry(), getUserProfileLink(user.getUsername() ), true));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return new VREGroup(-100,"", "", "", vreManagers);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param session the Asl Session
|
* @param session the Asl Session
|
||||||
|
@ -175,6 +197,10 @@ public class MembersServiceImpl extends RemoteServiceServlet implements MembersS
|
||||||
return portalUsers;
|
return portalUsers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String getUserProfileLink(String username) {
|
private String getUserProfileLink(String username) {
|
||||||
return "profile?"+ new String(Base64.encodeBase64(GCubeSocialNetworking.USER_PROFILE_OID.getBytes()))+"="+new String(Base64.encodeBase64(username.getBytes()));
|
return "profile?"+ new String(Base64.encodeBase64(GCubeSocialNetworking.USER_PROFILE_OID.getBytes()))+"="+new String(Base64.encodeBase64(username.getBytes()));
|
||||||
}
|
}
|
||||||
|
@ -193,5 +219,24 @@ public class MembersServiceImpl extends RemoteServiceServlet implements MembersS
|
||||||
portalUsers.add(new BelongingUser("pino.pinetti", "Tenth Testing User Photoed", "http://placehold.it/200x200", "hard worker the10th", "istiw777", "",true));
|
portalUsers.add(new BelongingUser("pino.pinetti", "Tenth Testing User Photoed", "http://placehold.it/200x200", "hard worker the10th", "istiw777", "",true));
|
||||||
return portalUsers;
|
return portalUsers;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Get the current group ID
|
||||||
|
*
|
||||||
|
* @return the current group ID or null if an exception is thrown
|
||||||
|
* @throws Exception
|
||||||
|
* @throws CurrentGroupRetrievalException
|
||||||
|
*/
|
||||||
|
private long getCurrentGroupID(){
|
||||||
|
GroupManager groupM = new LiferayGroupManager();
|
||||||
|
ASLSession session = getASLSession();
|
||||||
|
_log.debug("The current group NAME is --> " + session.getGroupName());
|
||||||
|
try {
|
||||||
|
return groupM.getGroupId(session.getGroupName());
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue