From d1286a27e4a85bbd6dfc001ed4af7667f37b5f0e Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Mon, 28 Mar 2016 18:31:01 +0000 Subject: [PATCH] porting to liferay 6.2 almost complete git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/vre-members@126332 82a268e6-3cf1-43bd-a215-b396298e98cf --- .classpath | 4 +- .settings/org.eclipse.jst.jsp.core.prefs | 3 ++ .settings/org.eclipse.wst.common.component | 24 +++++---- ....eclipse.wst.common.project.facet.core.xml | 3 +- .tern-project | 1 + pom.xml | 24 +++++++-- .../client/panels/VREMembersPanel.java | 49 ++++--------------- .../vremembers/client/ui/DisplayBadge.java | 3 -- .../vremembers/server/MembersServiceImpl.java | 26 +++++----- .../user/vremembers/VreMembers.gwt.xml | 2 +- src/main/webapp/VreMembers.css | 30 ++++++------ src/main/webapp/WEB-INF/liferay-display.xml | 2 +- .../WEB-INF/liferay-plugin-package.properties | 4 +- src/main/webapp/WEB-INF/liferay-portlet.xml | 2 +- src/main/webapp/WEB-INF/web.xml | 9 ++-- 15 files changed, 90 insertions(+), 96 deletions(-) create mode 100644 .settings/org.eclipse.jst.jsp.core.prefs create mode 100644 .tern-project diff --git a/.classpath b/.classpath index 99cabbd..e72fb11 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,6 @@ - + @@ -31,5 +31,5 @@ - + diff --git a/.settings/org.eclipse.jst.jsp.core.prefs b/.settings/org.eclipse.jst.jsp.core.prefs new file mode 100644 index 0000000..3a5c98d --- /dev/null +++ b/.settings/org.eclipse.jst.jsp.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +validateFragments=false +validation.use-project-settings=true diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 834696a..2618502 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -1,10 +1,16 @@ - - - - - - - - - + + + + + + + + + uses + + + + diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml index 4045d87..3b9d922 100644 --- a/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -1,7 +1,8 @@ - + + diff --git a/.tern-project b/.tern-project new file mode 100644 index 0000000..a185ba0 --- /dev/null +++ b/.tern-project @@ -0,0 +1 @@ +{"ide":{"scriptPaths":[]},"plugins":{"aui":{},"liferay":{},"yui":{}},"libs":["ecma5","browser"]} \ No newline at end of file diff --git a/pom.xml b/pom.xml index 9b62f30..1c29385 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ org.gcube.portlets.user vre-members war - 1.0.1-SNAPSHOT + 2.0.0-SNAPSHOT gCube VRE Members Portlet VRE Members display the members of the current VRE @@ -25,12 +25,12 @@ - 2.5.1 + 2.7.0 distro 1.7 1.7 ${project.build.directory}/${project.build.finalName} - + 6.2.5 UTF-8 UTF-8 @@ -49,21 +49,35 @@ com.google.gwt gwt-user + ${gwtVersion} provided com.google.gwt gwt-servlet + ${gwtVersion} provided + + com.google.gwt + gwt-dev + ${gwtVersion} + provided + + + com.github.gwtbootstrap + gwt-bootstrap + org.gcube.portlets.user gcube-widgets + [2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT) compile org.gcube.portal custom-portal-handler + [2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT) provided @@ -74,7 +88,7 @@ commons-codec commons-codec provided - + org.gcube.applicationsupportlayer aslcore @@ -88,10 +102,12 @@ org.gcube.dvos usermanagement-core + [2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT) com.liferay.portal portal-service + ${liferay.version} provided diff --git a/src/main/java/org/gcube/portlets/user/vremembers/client/panels/VREMembersPanel.java b/src/main/java/org/gcube/portlets/user/vremembers/client/panels/VREMembersPanel.java index 664eaab..9e8c855 100644 --- a/src/main/java/org/gcube/portlets/user/vremembers/client/panels/VREMembersPanel.java +++ b/src/main/java/org/gcube/portlets/user/vremembers/client/panels/VREMembersPanel.java @@ -7,71 +7,40 @@ import org.gcube.portlets.user.vremembers.client.MembersServiceAsync; import org.gcube.portlets.user.vremembers.client.ui.DisplayBadge; import org.gcube.portlets.user.vremembers.shared.BelongingUser; +import com.github.gwtbootstrap.client.ui.Column; +import com.github.gwtbootstrap.client.ui.Row; import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.rpc.AsyncCallback; -import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.FlowPanel; -import com.google.gwt.user.client.ui.Grid; import com.google.gwt.user.client.ui.HTML; -import com.google.gwt.user.client.ui.HasAlignment; -import com.google.gwt.user.client.ui.HasVerticalAlignment; -import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.VerticalPanel; -public class VREMembersPanel extends Composite { - /** - * Create a remote service proxy to talk to the server-side Greeting service. - */ +public class VREMembersPanel extends FlowPanel { + private final MembersServiceAsync vreMemberService = GWT.create(MembersService.class); - public static final String loading = GWT.getModuleBaseURL() + "../images/members-loader.gif"; - - private Image loadingImage; - - private VerticalPanel mainPanel = new VerticalPanel(); public VREMembersPanel() { - super(); - loadingImage = new Image(loading); - mainPanel.add(loadingImage); - showLoader(); vreMemberService.getOrganizationUsers(new AsyncCallback>() { - @Override public void onSuccess(ArrayList users) { - mainPanel.clear(); - mainPanel.setHorizontalAlignment(HasAlignment.ALIGN_LEFT); - mainPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_TOP); + clear(); if (users == null || users.isEmpty()) { - mainPanel.add(new HTML("
Ops, something went wrong. Please reload this page.
")); + add(new HTML("")); } else { - Grid grid = new Grid(users.size()/4+1, 4); - mainPanel.add(grid); - for (int i = 0; i < users.size(); i++) { - grid.setWidget(i/4, i%4, new DisplayBadge(users.get(i))); + + add(new DisplayBadge(users.get(i))); } } } @Override public void onFailure(Throwable caught) { - mainPanel.add(new HTML("
" + + add(new HTML("
" + "Sorry, looks like something is broken with the server connection
" + "Please check your connection and try refresh this page.
")); } }); - initWidget(mainPanel); - - } - - - private void showLoader() { - mainPanel.clear(); - mainPanel.setWidth("100%"); - mainPanel.setHeight("300px"); - mainPanel.setHorizontalAlignment(HasAlignment.ALIGN_CENTER); - mainPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); - mainPanel.add(loadingImage); } } diff --git a/src/main/java/org/gcube/portlets/user/vremembers/client/ui/DisplayBadge.java b/src/main/java/org/gcube/portlets/user/vremembers/client/ui/DisplayBadge.java index b0cdd90..c86adfc 100644 --- a/src/main/java/org/gcube/portlets/user/vremembers/client/ui/DisplayBadge.java +++ b/src/main/java/org/gcube/portlets/user/vremembers/client/ui/DisplayBadge.java @@ -4,12 +4,9 @@ import org.gcube.portlets.user.vremembers.shared.BelongingUser; import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.AnchorElement; -import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; -import com.google.gwt.uibinder.client.UiHandler; import com.google.gwt.user.client.Window; -import com.google.gwt.user.client.Window.Location; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.HTMLPanel; diff --git a/src/main/java/org/gcube/portlets/user/vremembers/server/MembersServiceImpl.java b/src/main/java/org/gcube/portlets/user/vremembers/server/MembersServiceImpl.java index 1955399..5a6a8ac 100644 --- a/src/main/java/org/gcube/portlets/user/vremembers/server/MembersServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/vremembers/server/MembersServiceImpl.java @@ -9,16 +9,15 @@ import org.gcube.application.framework.core.session.ASLSession; import org.gcube.application.framework.core.session.SessionManager; import org.gcube.common.scope.impl.ScopeBean; import org.gcube.common.scope.impl.ScopeBean.Type; -import org.gcube.portal.custom.communitymanager.OrganizationsUtil; import org.gcube.portal.custom.scopemanager.scopehelper.ScopeHelper; import org.gcube.portal.databook.client.GCubeSocialNetworking; import org.gcube.portlets.user.vremembers.client.MembersService; import org.gcube.portlets.user.vremembers.shared.BelongingUser; import org.gcube.vomanagement.usermanagement.GroupManager; import org.gcube.vomanagement.usermanagement.UserManager; -import org.gcube.vomanagement.usermanagement.impl.liferay.LiferayGroupManager; -import org.gcube.vomanagement.usermanagement.impl.liferay.LiferayUserManager; -import org.gcube.vomanagement.usermanagement.model.UserModel; +import org.gcube.vomanagement.usermanagement.impl.LiferayGroupManager; +import org.gcube.vomanagement.usermanagement.impl.LiferayUserManager; +import org.gcube.vomanagement.usermanagement.model.GCubeUser; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -86,10 +85,10 @@ public class MembersServiceImpl extends RemoteServiceServlet implements MembersS UserManager um = new LiferayUserManager(); GroupManager gm = new LiferayGroupManager(); ScopeBean sb = new ScopeBean(scope); - List users = null; + List users = null; if (sb.is(Type.INFRASTRUCTURE)) { - users = new ArrayList(); + users = new ArrayList(); return new ArrayList(); } else if (sb.is(Type.VRE)) { //must be in VRE @@ -102,12 +101,15 @@ public class MembersServiceImpl extends RemoteServiceServlet implements MembersS _log.error("Error, you must be in SCOPE VRE OR INFRASTURCTURE, you are in VO SCOPE returning no users"); return portalUsers; } - for (UserModel user : users) { - if (user.getScreenName().compareTo("test.user") != 0) { //skip test.user - String thumbnailURL = ""; - com.liferay.portal.model.User lifeUser = UserLocalServiceUtil.getUserByScreenName(OrganizationsUtil.getCompany().getCompanyId(), user.getScreenName()); - thumbnailURL = lifeUser.isMale() ? "/image/user_male_portrait?img_id="+lifeUser.getPortraitId() : "/image/user_female_portrait?img_id="+lifeUser.getPortraitId(); - portalUsers.add(new BelongingUser(user.getScreenName(), user.getFullname(), thumbnailURL, lifeUser.getJobTitle(), lifeUser.getOpenId(), getUserProfileLink(user.getScreenName() ),lifeUser.getPortraitId() != 0)); + for (GCubeUser user : users) { + if (user.getUsername().compareTo("test.user") != 0) { //skip test.user + portalUsers.add( + new BelongingUser( + user.getUsername(), + user.getFullname(), + user.getUserAvatarURL(), + user.getJobTitle(), + user.getLocation_industry(), getUserProfileLink(user.getUsername() ), true)); } } diff --git a/src/main/resources/org/gcube/portlets/user/vremembers/VreMembers.gwt.xml b/src/main/resources/org/gcube/portlets/user/vremembers/VreMembers.gwt.xml index 21b714d..42fbdca 100644 --- a/src/main/resources/org/gcube/portlets/user/vremembers/VreMembers.gwt.xml +++ b/src/main/resources/org/gcube/portlets/user/vremembers/VreMembers.gwt.xml @@ -4,7 +4,7 @@ - + diff --git a/src/main/webapp/VreMembers.css b/src/main/webapp/VreMembers.css index ae3f270..996c5ae 100644 --- a/src/main/webapp/VreMembers.css +++ b/src/main/webapp/VreMembers.css @@ -1,13 +1,14 @@ .framed { + display: inline-block; font-family: 'Helvetica Neue', Arial, sans-serif; width: 200px; height: 290px; padding: 10px; margin: 10px; background: #FFF; - border-radius: 6px !important; - -moz-border-radius: 6px !important; - -webkit-border-radius: 6px !important; + border-radius: 6px; + -moz-border-radius: 6px; + -webkit-border-radius: 6px; border: 1px solid #DBDBDB; } @@ -16,13 +17,13 @@ padding: 10px; margin: 10px; background: #FFF; - border-radius: 6px !important; - -moz-border-radius: 6px !important; - -webkit-border-radius: 6px !important; + border-radius: 6px; + -moz-border-radius: 6px; + -webkit-border-radius: 6px; border: 1px solid #DBDBDB; } -.user-photo { +img.user-photo { padding: 5px; border: 1px solid #E6E6E6; width: 180px; @@ -31,6 +32,7 @@ .user-details { padding: 5px; + float: left; } .photo-details { @@ -38,29 +40,27 @@ text-align: center; } - a.person-link { color: #444444; - font-size: 15px; - font-weight: bold; + font-size: 15px !important; + font-weight: bold !important; line-height: 18px; } -a.person-link,a.person-link:visited { +a.person-link, a.person-link:visited { cursor: pointer; cursor: hand; - font-size: 16x; + font-size: 16px !important; text-decoration: none; - color: #3B5998; + color: #3B5998 !important; } a.person-link:hover { opacity: 0.8; - font-size: 16x; + font-size: 16x !important; text-decoration: underline; } - .headline { font-size: 13px; color: #444444; diff --git a/src/main/webapp/WEB-INF/liferay-display.xml b/src/main/webapp/WEB-INF/liferay-display.xml index 01ea2ae..e6fa833 100644 --- a/src/main/webapp/WEB-INF/liferay-display.xml +++ b/src/main/webapp/WEB-INF/liferay-display.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/webapp/WEB-INF/liferay-plugin-package.properties b/src/main/webapp/WEB-INF/liferay-plugin-package.properties index 6263ab8..a51a6fe 100644 --- a/src/main/webapp/WEB-INF/liferay-plugin-package.properties +++ b/src/main/webapp/WEB-INF/liferay-plugin-package.properties @@ -4,6 +4,6 @@ module-incremental-version=1 tags= short-description= change-log= -page-url=http://www.d4science.org -author=D4Science.org +page-url=http://www.gcube-system.org +author=Massimiliano Assante licenses=EUPL \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/liferay-portlet.xml b/src/main/webapp/WEB-INF/liferay-portlet.xml index ac028cd..f4a17ce 100644 --- a/src/main/webapp/WEB-INF/liferay-portlet.xml +++ b/src/main/webapp/WEB-INF/liferay-portlet.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 7a098ab..43186f9 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -1,9 +1,8 @@ - - - +