From acffbbe4187b13aebdcc5ba518ceb96198a2c6ab Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Thu, 27 Nov 2014 18:01:21 +0000 Subject: [PATCH] Initial import. git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/questions@101758 82a268e6-3cf1-43bd-a215-b396298e98cf --- .classpath | 36 +++ .project | 59 ++++ .settings/.jsdtscope | 15 + .../com.google.appengine.eclipse.core.prefs | 3 + .settings/com.google.gdt.eclipse.core.prefs | 5 + .settings/com.google.gwt.eclipse.core.prefs | 5 + .settings/org.eclipse.core.resources.prefs | 6 + .settings/org.eclipse.jdt.core.prefs | 8 + .settings/org.eclipse.m2e.core.prefs | 4 + .settings/org.eclipse.wst.common.component | 11 + ....eclipse.wst.common.project.facet.core.xml | 7 + ...rg.eclipse.wst.jsdt.ui.superType.container | 1 + .settings/org.eclipse.wst.validation.prefs | 2 + .settings/org.maven.ide.eclipse.prefs | 9 + QuestionsTest-dev.launch | 22 ++ QuestionsTest-prod.launch | 22 ++ pom.xml | 256 ++++++++++++++++++ .../user/questions/client/Questions.java | 20 ++ .../questions/client/QuestionsService.java | 16 ++ .../client/QuestionsServiceAsync.java | 13 + .../server/QuestionsServiceImpl.java | 146 ++++++++++ src/main/resources/clientlog4j.properties | 19 ++ .../portlets/user/questions/Questions.gwt.xml | 18 ++ src/main/webapp/Questions.css | 34 +++ src/main/webapp/Questions.html | 63 +++++ src/main/webapp/WEB-INF/web.xml | 24 ++ .../user/questions/QuestionsJUnit.gwt.xml | 9 + 27 files changed, 833 insertions(+) create mode 100644 .classpath create mode 100644 .project create mode 100644 .settings/.jsdtscope create mode 100644 .settings/com.google.appengine.eclipse.core.prefs create mode 100644 .settings/com.google.gdt.eclipse.core.prefs create mode 100644 .settings/com.google.gwt.eclipse.core.prefs create mode 100644 .settings/org.eclipse.core.resources.prefs create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 .settings/org.eclipse.m2e.core.prefs create mode 100644 .settings/org.eclipse.wst.common.component create mode 100644 .settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 .settings/org.eclipse.wst.jsdt.ui.superType.container create mode 100644 .settings/org.eclipse.wst.validation.prefs create mode 100644 .settings/org.maven.ide.eclipse.prefs create mode 100644 QuestionsTest-dev.launch create mode 100644 QuestionsTest-prod.launch create mode 100644 pom.xml create mode 100644 src/main/java/org/gcube/portlets/user/questions/client/Questions.java create mode 100644 src/main/java/org/gcube/portlets/user/questions/client/QuestionsService.java create mode 100644 src/main/java/org/gcube/portlets/user/questions/client/QuestionsServiceAsync.java create mode 100644 src/main/java/org/gcube/portlets/user/questions/server/QuestionsServiceImpl.java create mode 100644 src/main/resources/clientlog4j.properties create mode 100644 src/main/resources/org/gcube/portlets/user/questions/Questions.gwt.xml create mode 100644 src/main/webapp/Questions.css create mode 100644 src/main/webapp/Questions.html create mode 100644 src/main/webapp/WEB-INF/web.xml create mode 100644 src/test/resources/org/gcube/portlets/user/questions/QuestionsJUnit.gwt.xml diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..26acc93 --- /dev/null +++ b/.classpath @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..c20cee5 --- /dev/null +++ b/.project @@ -0,0 +1,59 @@ + + + questions + questions project + + + + + org.eclipse.wst.jsdt.core.javascriptValidator + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + com.google.gdt.eclipse.core.webAppProjectValidator + + + + + com.google.gwt.eclipse.core.gwtProjectValidator + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.m2e.core.maven2Nature + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.maven.ide.eclipse.maven2Nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.wst.jsdt.core.jsNature + com.google.gwt.eclipse.core.gwtNature + + diff --git a/.settings/.jsdtscope b/.settings/.jsdtscope new file mode 100644 index 0000000..ba3c245 --- /dev/null +++ b/.settings/.jsdtscope @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/.settings/com.google.appengine.eclipse.core.prefs b/.settings/com.google.appengine.eclipse.core.prefs new file mode 100644 index 0000000..a60576c --- /dev/null +++ b/.settings/com.google.appengine.eclipse.core.prefs @@ -0,0 +1,3 @@ +#Thu Jun 16 10:18:26 CEST 2011 +eclipse.preferences.version=1 +filesCopiedToWebInfLib= diff --git a/.settings/com.google.gdt.eclipse.core.prefs b/.settings/com.google.gdt.eclipse.core.prefs new file mode 100644 index 0000000..a34bb2d --- /dev/null +++ b/.settings/com.google.gdt.eclipse.core.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +jarsExcludedFromWebInfLib= +lastWarOutDir=/Users/massi/Documents/workspace/questions/target/questions-0.1.0-SNAPSHOT +warSrcDir=src/main/webapp +warSrcDirIsOutput=false diff --git a/.settings/com.google.gwt.eclipse.core.prefs b/.settings/com.google.gwt.eclipse.core.prefs new file mode 100644 index 0000000..c803c44 --- /dev/null +++ b/.settings/com.google.gwt.eclipse.core.prefs @@ -0,0 +1,5 @@ +#Thu Jun 16 11:14:17 CEST 2011 +eclipse.preferences.version=1 +entryPointModules= +filesCopiedToWebInfLib=gwt-servlet.jar +gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBWy13YXIgc3JjL21haW4vd2ViYXBwXV0+PC9leHRyYS1hcmdzPjx2bS1hcmdzPjwhW0NEQVRBWy1YbXg1MTJtXV0+PC92bS1hcmdzPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLmNvbXBhbnkuU29tZU1vZHVsZTwvZW50cnktcG9pbnQtbW9kdWxlPjwvZ3d0LWNvbXBpbGUtc2V0dGluZ3M+ diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..29abf99 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,6 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 +encoding//src/test/resources=UTF-8 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..443e085 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000..e7a8609 --- /dev/null +++ b/.settings/org.eclipse.wst.common.component @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000..4045d87 --- /dev/null +++ b/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.container b/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 0000000..3bd5d0a --- /dev/null +++ b/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/.settings/org.eclipse.wst.validation.prefs b/.settings/org.eclipse.wst.validation.prefs new file mode 100644 index 0000000..04cad8c --- /dev/null +++ b/.settings/org.eclipse.wst.validation.prefs @@ -0,0 +1,2 @@ +disabled=06target +eclipse.preferences.version=1 diff --git a/.settings/org.maven.ide.eclipse.prefs b/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 0000000..dae95d4 --- /dev/null +++ b/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Thu Sep 02 10:42:12 CEST 2010 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\\:testResources +skipCompilerPlugin=true +version=1 diff --git a/QuestionsTest-dev.launch b/QuestionsTest-dev.launch new file mode 100644 index 0000000..1d1cc46 --- /dev/null +++ b/QuestionsTest-dev.launch @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/QuestionsTest-prod.launch b/QuestionsTest-prod.launch new file mode 100644 index 0000000..0971370 --- /dev/null +++ b/QuestionsTest-prod.launch @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..7f5a3da --- /dev/null +++ b/pom.xml @@ -0,0 +1,256 @@ + + + + 4.0.0 + + maven-parent + org.gcube.tools + 1.0.0 + + + + org.gcube.portlets.user + questions + war + 0.1.0-SNAPSHOT + gCube Social Profile Portlet + + VRE Managers + + + scm:svn:http://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/${project.artifactId} + scm:https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/${project.artifactId} + http://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/${project.artifactId} + + + + 2.5.1 + distro + 1.7 + 1.7 + ${project.build.directory}/${project.build.finalName} + + UTF-8 + UTF-8 + + + + + org.gcube.distribution + maven-portal-bom + LATEST + pom + import + + + + + + com.google.gwt + gwt-user + provided + + + com.google.gwt + gwt-servlet + provided + + + org.gcube.portlets.user + gcube-widgets + provided + + + org.gcube.portal + custom-portal-handler + provided + + + commons-io + commons-io + + + org.gcube.core + common-encryption + provided + + + org.gcube.core + common-scope-maps + compile + + + org.gcube.dvos + usermanagement-core + provided + + + com.googlecode.json-simple + json-simple + + + net.eliasbalasis + tibcopagebus4gwt + 1.2.0 + + + org.gcube.applicationsupportlayer + aslcore + provided + + + com.google + gwt-jsonmaker + provided + + + org.gcube.portal + social-networking-library + provided + + + org.gcube.portlets.widgets + wsmail-widget + [1.4.0-SNAPSHOT, 2.0.0-SNAPSHOT) + compile + + + org.gcube.portlets.widgets + workspace-light-tree + [2.13.0-SNAPSHOT, 3.0.0-SNAPSHOT) + compile + + + org.apache.httpcomponents + httpclient + 4.3.5 + + + com.liferay.portal + portal-service + provided + + + junit + junit + 4.8.1 + test + + + javax.portlet + portlet-api + provided + + + org.slf4j + slf4j-log4j12 + + + org.slf4j + slf4j-api + + + + + ${webappDirectory}/WEB-INF/classes + + + + org.codehaus.mojo + gwt-maven-plugin + ${gwtVersion} + + + + compile + + + + + + + SocialProfile.html + ${webappDirectory} + org.gcube.portlets.user.notifications.client.Messages + + + + + + org.apache.maven.plugins + maven-war-plugin + 2.1.1 + + + compile + + exploded + + + + + ${webappDirectory} + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.3.2 + + 1.7 + 1.7 + + + + + org.apache.maven.plugins + maven-assembly-plugin + 2.2 + + + ${distroDirectory}/descriptor.xml + + + + + servicearchive + install + + single + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.5 + + + copy-profile + install + + copy-resources + + + target + + + ${distroDirectory} + true + + profile.xml + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/questions/client/Questions.java b/src/main/java/org/gcube/portlets/user/questions/client/Questions.java new file mode 100644 index 0000000..3c2438a --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/questions/client/Questions.java @@ -0,0 +1,20 @@ +package org.gcube.portlets.user.questions.client; + +import com.google.gwt.core.client.EntryPoint; +import com.google.gwt.core.client.GWT; + +/** + * Entry point classes define onModuleLoad(). + */ +public class Questions implements EntryPoint { + + /** + * Create a remote service proxy to talk to the server-side Greeting service. + */ + private final QuestionsServiceAsync greetingService = GWT.create(QuestionsService.class); + + + public void onModuleLoad() { + + } +} diff --git a/src/main/java/org/gcube/portlets/user/questions/client/QuestionsService.java b/src/main/java/org/gcube/portlets/user/questions/client/QuestionsService.java new file mode 100644 index 0000000..97edace --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/questions/client/QuestionsService.java @@ -0,0 +1,16 @@ +package org.gcube.portlets.user.questions.client; + +import java.util.ArrayList; + +import org.gcube.portal.databook.shared.UserInfo; + +import com.google.gwt.user.client.rpc.RemoteService; +import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; + +/** + * The client side stub for the RPC service. + */ +@RemoteServiceRelativePath("greet") +public interface QuestionsService extends RemoteService { + ArrayList getManagers(); +} diff --git a/src/main/java/org/gcube/portlets/user/questions/client/QuestionsServiceAsync.java b/src/main/java/org/gcube/portlets/user/questions/client/QuestionsServiceAsync.java new file mode 100644 index 0000000..e77a55a --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/questions/client/QuestionsServiceAsync.java @@ -0,0 +1,13 @@ +package org.gcube.portlets.user.questions.client; + +import java.util.ArrayList; + +import org.gcube.portal.databook.shared.UserInfo; + +import com.google.gwt.user.client.rpc.AsyncCallback; + +public interface QuestionsServiceAsync { + + void getManagers(AsyncCallback> callback); + +} diff --git a/src/main/java/org/gcube/portlets/user/questions/server/QuestionsServiceImpl.java b/src/main/java/org/gcube/portlets/user/questions/server/QuestionsServiceImpl.java new file mode 100644 index 0000000..c9fb151 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/questions/server/QuestionsServiceImpl.java @@ -0,0 +1,146 @@ +package org.gcube.portlets.user.questions.server; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; + +import org.gcube.application.framework.core.session.ASLSession; +import org.gcube.application.framework.core.session.SessionManager; +import org.gcube.portal.custom.communitymanager.OrganizationsUtil; +import org.gcube.portal.custom.scopemanager.scopehelper.ScopeHelper; +import org.gcube.portal.databook.shared.UserInfo; +import org.gcube.portlets.user.questions.client.QuestionsService; +import org.gcube.vomanagement.usermanagement.GroupManager; +import org.gcube.vomanagement.usermanagement.UserManager; +import org.gcube.vomanagement.usermanagement.exception.GroupRetrievalFault; +import org.gcube.vomanagement.usermanagement.exception.UserManagementSystemException; +import org.gcube.vomanagement.usermanagement.impl.liferay.LiferayGroupManager; +import org.gcube.vomanagement.usermanagement.impl.liferay.LiferayUserManager; +import org.gcube.vomanagement.usermanagement.model.RoleModel; +import org.gcube.vomanagement.usermanagement.model.UserModel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.gwt.user.server.rpc.RemoteServiceServlet; +import com.liferay.portal.service.UserLocalServiceUtil; + +/** + * + * @author massi + * + */ +@SuppressWarnings("serial") +public class QuestionsServiceImpl extends RemoteServiceServlet implements QuestionsService { + private static final Logger _log = LoggerFactory.getLogger(QuestionsServiceImpl.class); + private static final String TEST_USER = "test.user"; + /** + * the current ASLSession + * @return the session + */ + private ASLSession getASLSession() { + String sessionID = this.getThreadLocalRequest().getSession().getId(); + String user = (String) this.getThreadLocalRequest().getSession().getAttribute(ScopeHelper.USERNAME_ATTRIBUTE); + if (user == null) { + _log.warn("USER IS NULL setting test.user and Running OUTSIDE PORTAL"); + user = getDevelopmentUser(); + } + return SessionManager.getInstance().getASLSession(sessionID, user); + } + /** + * when packaging test will fail if the user is not set to test.user + * @return . + */ + public String getDevelopmentUser() { + String user = TEST_USER; + //user = "massimiliano.assante"; + return user; + } + + @Override + public ArrayList getManagers() { + ArrayList toReturn = new ArrayList<>(); + ASLSession session = getASLSession(); + if (session.getUsername().compareTo(TEST_USER) == 0) { + _log.error("User is NULL, session expired?"); + return new ArrayList<>(); + } + if (isWithinPortal()) { + UserManager userM = new LiferayUserManager(); + HashMap> usersAndRoles = null; + try { + usersAndRoles = userM.listUsersAndRolesByGroup(getCurrentGroupID()); + } catch (Exception e) { + e.printStackTrace(); + } + Set users = usersAndRoles.keySet(); + for (UserModel usr:users) { + List roles = usersAndRoles.get(usr); + for (int i = 0; i < roles.size(); i++) { + if (roles.get(i).getRoleName().equals("VRE-Manager")) { + String username = ""; + String email = username+"@isti.cnr.it"; + String fullName = username+" FULL"; + String thumbnailURL = "images/Avatar_default.png"; + try { + com.liferay.portal.model.User user = UserLocalServiceUtil.getUserByScreenName(OrganizationsUtil.getCompany().getCompanyId(), username); + thumbnailURL = user.isMale() ? "/image/user_male_portrait?img_id="+user.getPortraitId() : "/image/user_female_portrait?img_id="+user.getPortraitId(); + fullName = user.getFirstName() + " " + user.getLastName(); + email = user.getEmailAddress(); + HashMap vreNames = new HashMap(); + UserInfo userInfo = new UserInfo(username, fullName, thumbnailURL, email, "", user.isMale(), false, vreNames); + toReturn.add(userInfo); + + } catch (Exception e) { + e.printStackTrace(); + } + + } + } + } + } else { + toReturn.add(new UserInfo("pino.pino", "With Photo Third User", "avatarid1", "email@email.it", "", true, false, null)); + toReturn.add(new UserInfo("giorgi.giorgi", "Test Fourth User", "avatarid2", "email@email.it", "", true, false, null)); + toReturn.add(new UserInfo("pinetti.giorgi", "Test Fifth User", "avatarid3", "email@email.it", "", true, false, null)); + toReturn.add(new UserInfo("massimiliano.pinetti", "Test Sixth User", "avatarid3", "email@email.it", "", true, false, null)); + toReturn.add(new UserInfo("massimiliano.giorgi", "Eighth Testing User", "avatarid3", "email@email.it", "", true, false, null)); + } + return toReturn; + } + + /** + * + * @return true if you're running into the portal, false if in development + */ + private boolean isWithinPortal() { + try { + UserLocalServiceUtil.getService(); + return true; + } + catch (com.liferay.portal.kernel.bean.BeanLocatorException ex) { + _log.trace("Development Mode ON"); + return false; + } + } + /** + * Get the current group ID + * + * @return the current group ID or null if an exception is thrown + * @throws Exception + * @throws CurrentGroupRetrievalException + */ + private String getCurrentGroupID() throws Exception { + GroupManager groupM = new LiferayGroupManager(); + ASLSession session = getASLSession(); + _log.debug("The current group NAME is --> " + session.getGroupName()); + try { + return groupM.getGroupId(session.getGroupName()); + } catch (GroupRetrievalFault e) { + e.printStackTrace(); + } + return null; + } + + + +} diff --git a/src/main/resources/clientlog4j.properties b/src/main/resources/clientlog4j.properties new file mode 100644 index 0000000..834ba2c --- /dev/null +++ b/src/main/resources/clientlog4j.properties @@ -0,0 +1,19 @@ +log4j.rootLogger=DEBUG, A1 +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.layout=org.apache.log4j.PatternLayout + +# Print the date in ISO 8601 format +log4j.appender.A1.layout.ConversionPattern=%d %-5p %c - %m%n + +# Print only messages of level TRACE or above in the package org.gcube +log4j.logger.org.gcube=TRACE +log4j.logger.org.gcube.application.framework.core.session=INFO +log4j.logger.org.gcube.contentmanager=ERROR +log4j.logger.org.gcube.common.scope=ERROR +log4j.logger.org.gcube.contentmanagement=ERROR +log4j.logger.org.gcube.resources.discovery.icclient=ERROR +log4j.logger.org.gcube.common.clients=ERROR +log4j.logger.org.gcube.common.homelibrary.jcr=ERROR +log4j.logger.org.gcube.application.framework.accesslogger=ERROR +log4j.logger.org.apache.pdfbox.util.PDFStreamEngine=ERROR +log4j.logger.org.apache.http=INFO \ No newline at end of file diff --git a/src/main/resources/org/gcube/portlets/user/questions/Questions.gwt.xml b/src/main/resources/org/gcube/portlets/user/questions/Questions.gwt.xml new file mode 100644 index 0000000..23d8fe4 --- /dev/null +++ b/src/main/resources/org/gcube/portlets/user/questions/Questions.gwt.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/main/webapp/Questions.css b/src/main/webapp/Questions.css new file mode 100644 index 0000000..7aca7ac --- /dev/null +++ b/src/main/webapp/Questions.css @@ -0,0 +1,34 @@ +/** Add css rules here for your application. */ + + +/** Example rules used by the template application (remove for your app) */ +h1 { + font-size: 2em; + font-weight: bold; + color: #777777; + margin: 40px 0px 70px; + text-align: center; +} + +.sendButton { + display: block; + font-size: 16pt; +} + +/** Most GWT widgets already have a style name defined */ +.gwt-DialogBox { + width: 400px; +} + +.dialogVPanel { + margin: 5px; +} + +.serverResponseLabelError { + color: red; +} + +/** Set ids using widget.getElement().setId("idOfElement") */ +#closeButton { + margin: 15px 6px 6px; +} diff --git a/src/main/webapp/Questions.html b/src/main/webapp/Questions.html new file mode 100644 index 0000000..643f9fc --- /dev/null +++ b/src/main/webapp/Questions.html @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + Web Application Starter Project + + + + + + + + + + + + + + + + + + + + + + +

Web Application Starter Project

+ + + + + + + + + + + + +
Please enter your name:
+ + diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..f78bfc0 --- /dev/null +++ b/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,24 @@ + + + + + + + + greetServlet + org.gcube.portlets.user.questions.server.QuestionsServiceImpl + + + + greetServlet + /questions/greet + + + + + Questions.html + + + diff --git a/src/test/resources/org/gcube/portlets/user/questions/QuestionsJUnit.gwt.xml b/src/test/resources/org/gcube/portlets/user/questions/QuestionsJUnit.gwt.xml new file mode 100644 index 0000000..07834be --- /dev/null +++ b/src/test/resources/org/gcube/portlets/user/questions/QuestionsJUnit.gwt.xml @@ -0,0 +1,9 @@ + + + + + + + + +