From 20226d30fb8dace2443f90c936c9d8520eb1a484 Mon Sep 17 00:00:00 2001 From: "lucio.lelii" Date: Mon, 12 Apr 2021 12:38:09 +0200 Subject: [PATCH] testing incubator --- .classpath | 29 +--- .settings/org.eclipse.core.resources.prefs | 1 + .settings/org.eclipse.jdt.core.prefs | 103 +++++++++++ .settings/org.eclipse.wst.common.component | 22 ++- pom.xml | 10 +- .../client/MessageService.java | 2 + .../autocomplete/MaterialAutoComplete.java | 11 +- .../client/ui/ApplicationView.java | 20 ++- .../client/ui/ApplicationView.ui.xml | 19 ++- .../client/ui/MessageDataSource.java | 44 +++++ .../client/ui/WriteMessage.java | 6 +- .../client/ui/WriteMessage.ui.xml | 4 +- .../server/ConvServiceImpl.java | 16 +- .../server/FakeConvServiceImpl.java | 161 ++++++++++++++++++ .../shared/MessagesWindow.java | 28 +++ src/main/resources/clientlog4j.properties | 2 +- .../MessageConversations.gwt.xml | 5 + src/main/webapp/WEB-INF/web.xml | 5 +- 18 files changed, 433 insertions(+), 55 deletions(-) create mode 100644 src/main/java/org/gcube/portets/user/message_conversations/client/ui/MessageDataSource.java create mode 100644 src/main/java/org/gcube/portets/user/message_conversations/server/FakeConvServiceImpl.java create mode 100644 src/main/java/org/gcube/portets/user/message_conversations/shared/MessagesWindow.java diff --git a/.classpath b/.classpath index df3408d..57d944f 100644 --- a/.classpath +++ b/.classpath @@ -1,12 +1,12 @@ - + - + @@ -22,36 +22,19 @@ - + - + + - - - - - - - - - - - - - - - - - - - + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index 0bf7f20..d1f0773 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,5 +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//target/generated-sources/gwt=UTF-8 encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 4e4a3ad..4aff304 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,9 +1,112 @@ eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled +org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore +org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull +org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= +org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable +org.eclipse.jdt.core.compiler.annotation.nullable.secondary= +org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.APILeak=warning +org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore +org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning +org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning +org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error +org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info +org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning +org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled +org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.source=1.8 diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index e3f678d..0d09c7f 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -1,11 +1,31 @@ - + + + + + + + + + + + + + + + + + + + + + diff --git a/pom.xml b/pom.xml index e324be7..503cb62 100644 --- a/pom.xml +++ b/pom.xml @@ -30,7 +30,7 @@ 1.8 1.8 - 2.0.1 + 2.1.1 UTF-8 @@ -161,6 +161,11 @@ gwt-material-addins ${gwt-material.version} + + com.github.gwtmaterialdesign + gwt-material-table + ${gwt-material.version} + org.gcube.portal notifications-common-library @@ -195,11 +200,12 @@ org.slf4j slf4j-log4j12 + 1.7.5 org.slf4j slf4j-api - provided + 1.7.5 junit diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/MessageService.java b/src/main/java/org/gcube/portets/user/message_conversations/client/MessageService.java index fd822f3..b4b522d 100644 --- a/src/main/java/org/gcube/portets/user/message_conversations/client/MessageService.java +++ b/src/main/java/org/gcube/portets/user/message_conversations/client/MessageService.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import org.gcube.portets.user.message_conversations.shared.ConvMessage; import org.gcube.portets.user.message_conversations.shared.CurrUserAndPortalUsersWrapper; +import org.gcube.portets.user.message_conversations.shared.MessagesWindow; import org.gcube.portets.user.message_conversations.shared.WSUser; import com.google.gwt.user.client.rpc.RemoteService; @@ -13,6 +14,7 @@ import com.google.gwt.user.client.rpc.RemoteService; */ public interface MessageService extends RemoteService { + MessagesWindow getMessagesWindows(boolean sent, int limit, int offset); ArrayList getMessages(boolean sent); ConvMessage getMessageById(String messageId, boolean sent); CurrUserAndPortalUsersWrapper getWorkspaceUsers(); diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/autocomplete/MaterialAutoComplete.java b/src/main/java/org/gcube/portets/user/message_conversations/client/autocomplete/MaterialAutoComplete.java index bb27e9f..3654d31 100644 --- a/src/main/java/org/gcube/portets/user/message_conversations/client/autocomplete/MaterialAutoComplete.java +++ b/src/main/java/org/gcube/portets/user/message_conversations/client/autocomplete/MaterialAutoComplete.java @@ -62,8 +62,7 @@ public class MaterialAutoComplete extends AbstractValueWidget errorMixin = new ErrorMixin<>(this, errorLabel, list, placeholderLabel); - + private FocusableMixin focusableMixin; private ReadOnlyMixin readOnlyMixin; @@ -284,7 +283,7 @@ public class MaterialAutoComplete extends AbstractValueWidget getErrorMixin() { - return errorMixin; - } - + public Label getPlaceholderLabel() { return placeholderLabel; } diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.java b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.java index 4f4f63c..f6a85db 100755 --- a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.java +++ b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.java @@ -11,6 +11,8 @@ import org.gcube.portets.user.message_conversations.client.Utils; import org.gcube.portets.user.message_conversations.client.ui.resources.MessagesResources; import org.gcube.portets.user.message_conversations.shared.ConvMessage; import org.gcube.portets.user.message_conversations.shared.MessageUserModel; +import org.gcube.portlets.user.messages.client.ui.MessageDataSource; +import org.gcube.portlets.user.messages.client.ui.MessageItem; import com.google.gwt.core.client.GWT; @@ -63,6 +65,7 @@ import gwt.material.design.client.ui.MaterialRow; import gwt.material.design.client.ui.MaterialToast; import gwt.material.design.client.ui.animate.MaterialAnimation; import gwt.material.design.client.ui.animate.Transition; +import gwt.material.design.incubator.client.infinitescroll.data.LoadConfig; /** * @author Massimiliano Assante, CNR-ISTI */ @@ -126,13 +129,24 @@ public class ApplicationView extends Composite { messageLoader.setVisible(false); } readUserMessages(false, isSendTo); + infiniteScrollBasic.setLoadConfig(new LoadConfig<>(0, 200)); + infiniteScrollBasic.setDataSource(new MessageDataSource(false, convService)); + infiniteScrollBasic.setRenderer(model -> createColumn(model)); + messageLoader.setVisible(false); + infiniteScrollBasic.setVisible(true); + } + + + protected MessageItem createColumn(ConvMessage m) { + return new MessageItem(m , this, isSendTo); + } } /** * * @param sent - */ + * public void readUserMessages(final boolean sent, boolean isSendTo) { messagesLoader.setVisible(true); convService.getMessages(sent, new AsyncCallback>() { @@ -158,7 +172,9 @@ public class ApplicationView extends Composite { } } }); - } + }*/ + + private void showErrorOccurred() { messagesCollection.clear(); messagesLoader.setVisible(false); diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.ui.xml b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.ui.xml index a9fb246..a13f8de 100755 --- a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.ui.xml +++ b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.ui.xml @@ -1,7 +1,8 @@ + xmlns:mc="urn:import:org.gcube.portets.user.message_conversations.client.autocomplete" + xmlns:incubator="urn:import:gwt.material.design.incubator.client"> .animation { @@ -63,14 +64,14 @@ - - - + depth="995" grid="l3 m3 s12" padding="0" backgroundColor="WHITE" + height="100%" layoutPosition="FIXED" top="60" left="0" width="350px" + addStyleNames="{style.animation} {style.borderRight}"> + + diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/MessageDataSource.java b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/MessageDataSource.java new file mode 100644 index 0000000..2ad4a76 --- /dev/null +++ b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/MessageDataSource.java @@ -0,0 +1,44 @@ +package org.gcube.portets.user.message_conversations.client.ui; + +import org.gcube.portets.user.message_conversations.client.MessageServiceAsync; +import org.gcube.portets.user.message_conversations.shared.ConvMessage; +import org.gcube.portets.user.message_conversations.shared.MessagesWindow; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.user.client.rpc.AsyncCallback; + +import gwt.material.design.incubator.client.infinitescroll.data.DataSource; +import gwt.material.design.incubator.client.infinitescroll.data.LoadCallback; +import gwt.material.design.incubator.client.infinitescroll.data.LoadConfig; +import gwt.material.design.incubator.client.infinitescroll.data.LoadResult; + +public class MessageDataSource implements DataSource { + + private MessageServiceAsync convService; + private boolean sent; + + public MessageDataSource(boolean sent, MessageServiceAsync convService) { + this.convService = convService; + this.sent= sent; + } + + + @Override + public void load(LoadConfig loadConfig, LoadCallback callback) { + + convService.getMessagesWindows(this.sent, loadConfig.getOffset(), loadConfig.getLimit(), + new AsyncCallback() { + @Override + public void onSuccess(MessagesWindow messages) { + callback.onSuccess(new LoadResult(messages.getMessages(), loadConfig.getOffset(), messages.getTotal())); + } + + @Override + public void onFailure(Throwable throwable) { + GWT.log("Getting people async call failed.", throwable); + callback.onFailure(throwable); + } + }); + } + +} diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/WriteMessage.java b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/WriteMessage.java index 421e7eb..07fa4ff 100644 --- a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/WriteMessage.java +++ b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/WriteMessage.java @@ -277,20 +277,20 @@ public class WriteMessage extends Composite { @UiHandler("btnSendModal") void onSendMessage(ClickEvent e) { if (getSelectedUsers().isEmpty()) { - acModal.setError("Look empty to me"); + acModal.setErrorText("Look empty to me"); return; } else { acModal.reset(); } if (txtBoxSubject.getText().isEmpty()) { - txtBoxSubject.setError("Subject is mandatory"); + txtBoxSubject.setErrorText("Subject is mandatory"); return; } else { txtBoxSubject.reset(); } if (txtArea.getText().isEmpty()) { - txtArea.setError("The body of the message is mandatory"); + txtArea.setErrorText("The body of the message is mandatory"); return; } else { diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/WriteMessage.ui.xml b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/WriteMessage.ui.xml index f487264..e6998d4 100644 --- a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/WriteMessage.ui.xml +++ b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/WriteMessage.ui.xml @@ -23,12 +23,12 @@ layoutPosition="RELATIVE" marginBottom="0" grid="l8 m12 s12" paddingLeft="10" paddingRight="60" marginLeft="5" marginTop="-5" addStyleNames="{style.animation} message-metadata" left="350"> - + - + receivedMessages; + ArrayList sentMessages; + + Map receivedMessagesMap = new HashMap<>(); + Map sentMessagesMap = new HashMap<>(); + + + final int messageReceivedNumberToTest = 1000; + final int messageSentNumberToTest = 200; + + public void init() { + Calendar cal = Calendar.getInstance(); + MessageUserModel mu = new MessageUserModel("andrea.rossi"); + + List recipients = Arrays.asList(new MessageUserModel("lucio.lelii")); + + String prefix ="received"; + receivedMessages = new ArrayList<>(); + for (int i =0; i<3000; i++) { + String id = "id-"+prefix+i; + ConvMessage msg= new ConvMessage(id, prefix+i, mu, recipients, new Date(cal.getTimeInMillis()), prefix+i, false, false); + receivedMessages.add(msg); + receivedMessagesMap.put(id, msg); + } + + prefix ="sent"; + sentMessages = new ArrayList<>(); + for (int i =0; i<3000; i++) { + String id = "id-"+prefix+i; + ConvMessage msg= new ConvMessage(id, prefix+i, mu, recipients, new Date(cal.getTimeInMillis()), prefix+i, false, false); + sentMessages.add(msg); + sentMessagesMap.put(id, msg); + } + + + + } + + + @Override + public ArrayList getMessages(boolean sent) { + if (sent) { + _log.info("sent messages call with sent {}",sent); + return new ArrayList<>(sentMessages.subList(0, messageSentNumberToTest)); + } + else { + _log.info("received messages call with sent {}",sent); + return new ArrayList<>(receivedMessages.subList(0, messageReceivedNumberToTest)); + } + } + + @Override + public ConvMessage getMessageById(String messageId, boolean sent) { + _log.info("get messageById called with id {} and sent {}", messageId,sent ); + + ConvMessage msg; + if (sent) + msg = sentMessagesMap.get(messageId); + else msg = receivedMessagesMap.get(messageId); + msg.setRead(true); + return msg; + } + + @Override + public CurrUserAndPortalUsersWrapper getWorkspaceUsers() { + _log.debug("trying to get WorkspaceUsers .."); + WSUser currUser = new WSUser("andrea.rossi", "andrea.rossi", "Andrea Rossi", "m.assante@gmail.com"); + ArrayList portalUsers = new ArrayList(); + + for (int i = 0; i < 10; i++) { + portalUsers.add(new WSUser(""+i, "username"+i, "userGetFullname()"+i, "user.getEmail()"+i)); + } + + CurrUserAndPortalUsersWrapper toReturn = new CurrUserAndPortalUsersWrapper(currUser, portalUsers); + return toReturn; + } + + @Override + public ArrayList getUsersInfo(String[] usernames) { + return new ArrayList<>(Arrays.asList(new WSUser("andrea.rossi", "andrea.rossi", "Andrea Rossi", "m.assante@gmail.com"))); + } + + @Override + public ArrayList searchUsers(String keyword) { + return new ArrayList<>(Arrays.asList(new WSUser("andrea.rossi", "andrea.rossi", "Andrea Rossi", "m.assante@gmail.com"))); + + } + + @Override + public boolean sendToById(ArrayList recipientIds, ArrayList listAttachmentsId, String subject, + String body) { + _log.info("email sent"); + return true; + } + + @Override + public boolean deleteMessageById(String messageId, boolean sent) { + _log.info("message deleted"); + return true; + } + + @Override + public String getAttachmentDownloadURL(String itemId) { + return "www.google.it"; + } + + @Override + public boolean saveAttachmentToWorkspaceFolder(String itemId, String destinationFolderId) { + _log.info("attachment saved"); + return true; + } + + @Override + public boolean markMessageUnread(String messageId, boolean sent) { + _log.info("message marked"); + return true; + } + + + @Override + public MessagesWindow getMessagesWindows(boolean sent, int limit, int offset) { + if (sent) { + List messages = sentMessages.subList(0, messageSentNumberToTest); + return new MessagesWindow(messages.size(), new ArrayList<>(sentMessages.subList(offset, limit))); + } else { + List messages = receivedMessages.subList(0, messageReceivedNumberToTest); + return new MessagesWindow(messages.size(), new ArrayList<>(receivedMessages.subList(offset, limit))); + } + } + +} diff --git a/src/main/java/org/gcube/portets/user/message_conversations/shared/MessagesWindow.java b/src/main/java/org/gcube/portets/user/message_conversations/shared/MessagesWindow.java new file mode 100644 index 0000000..49d3b56 --- /dev/null +++ b/src/main/java/org/gcube/portets/user/message_conversations/shared/MessagesWindow.java @@ -0,0 +1,28 @@ +package org.gcube.portets.user.message_conversations.shared; + +import java.util.ArrayList; + +import com.google.gwt.user.client.rpc.IsSerializable; + +public class MessagesWindow implements IsSerializable { + + private int total; + private ArrayList messages; + + public MessagesWindow() { + super(); + } + + public MessagesWindow(int total, ArrayList messages) { + super(); + this.total = total; + this.messages = messages; + } + public int getTotal() { + return total; + } + public ArrayList getMessages() { + return messages; + } + +} diff --git a/src/main/resources/clientlog4j.properties b/src/main/resources/clientlog4j.properties index fe3e255..756bbfe 100644 --- a/src/main/resources/clientlog4j.properties +++ b/src/main/resources/clientlog4j.properties @@ -18,4 +18,4 @@ log4j.logger.org.gcube.contentmanager=WARN log4j.logger.org.gcube.resources.discovery=WARN log4j.logger.com.liferay.portal.kernel.bean.PortalBeanLocatorUtil=OFF log4j.logger.com.liferay.portal.kernel.log.Jdk14LogImpl=OFF -log4j.logger.org.eclipse.jetty=ERROR \ No newline at end of file +log4j.logger.org.eclipse.jetty=INFO \ No newline at end of file diff --git a/src/main/resources/org/gcube/portets/user/message_conversations/MessageConversations.gwt.xml b/src/main/resources/org/gcube/portets/user/message_conversations/MessageConversations.gwt.xml index eb2315d..467587c 100644 --- a/src/main/resources/org/gcube/portets/user/message_conversations/MessageConversations.gwt.xml +++ b/src/main/resources/org/gcube/portets/user/message_conversations/MessageConversations.gwt.xml @@ -14,6 +14,11 @@ + + + + + diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index b256492..92ca505 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -7,7 +7,8 @@ convServlet - org.gcube.portets.user.message_conversations.server.ConvServiceImpl + org.gcube.portets.user.message_conversations.server.FakeConvServiceImpl + @@ -20,7 +21,7 @@ com.liferay.portal.kernel.servlet.PortalDelegateServlet servlet-class - org.gcube.portets.user.message_conversations.server.ConvServiceImpl + org.gcube.portets.user.message_conversations.server.FakeConvServiceImpl sub-context