You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by do...@apache.org on 2013/09/12 06:09:09 UTC

svn commit: r1522303 - in /james/hupa/trunk/client/src/main/java/org/apache/hupa/client: activity/ComposeActivity.java ui/ComposeContentView.ui.xml ui/ComposeHeaderView.ui.xml ui/ComposeStatusView.ui.xml ui/ComposeView.java ui/ComposeView.ui.xml

Author: dongxu
Date: Thu Sep 12 04:09:09 2013
New Revision: 1522303

URL: http://svn.apache.org/r1522303
Log:
make attachments sending work as expected

Removed:
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeContentView.ui.xml
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeHeaderView.ui.xml
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeStatusView.ui.xml
Modified:
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.ui.xml

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java?rev=1522303&r1=1522302&r2=1522303&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java Thu Sep 12 04:09:09 2013
@@ -20,12 +20,16 @@
 package org.apache.hupa.client.activity;
 
 <<<<<<< HEAD
+<<<<<<< HEAD
+=======
+>>>>>>> make attachments sending work as expected
 import gwtupload.client.IUploadStatus.Status;
 import gwtupload.client.IUploader;
 import gwtupload.client.IUploader.OnCancelUploaderHandler;
 import gwtupload.client.IUploader.OnFinishUploaderHandler;
 import gwtupload.client.IUploader.OnStatusChangedHandler;
 
+<<<<<<< HEAD
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -56,6 +60,8 @@ import org.apache.hupa.shared.events.Mai
 
 import com.google.gwt.activity.shared.Activity;
 =======
+=======
+>>>>>>> make attachments sending work as expected
 import java.util.ArrayList;
 import java.util.List;
 
@@ -63,6 +69,7 @@ import org.apache.hupa.client.activity.M
 import org.apache.hupa.client.rf.SendMessageRequest;
 import org.apache.hupa.client.ui.WidgetDisplayable;
 import org.apache.hupa.client.validation.EmailListValidator;
+import org.apache.hupa.shared.data.MessageAttachmentImpl;
 import org.apache.hupa.shared.domain.GenericResult;
 import org.apache.hupa.shared.domain.MessageAttachment;
 import org.apache.hupa.shared.domain.SendMessageAction;
@@ -388,9 +395,40 @@ public class ComposeActivity extends App
 			}
 		});
 		registerHandler(display.getSendClick().addClickHandler(sendClickHandler));
+        display.getUploader().addOnStatusChangedHandler(onStatusChangedHandler);
+        display.getUploader().addOnFinishUploadHandler(onFinishUploadHandler);
+        display.getUploader().addOnCancelUploadHandler(onCancelUploadHandler);
 	}
 
+<<<<<<< HEAD
 >>>>>>> make send text mail work excellently
+=======
+    private OnFinishUploaderHandler onFinishUploadHandler = new OnFinishUploaderHandler() {
+        public void onFinish(IUploader uploader) {
+            if (uploader.getStatus() == Status.SUCCESS) {
+                String name = uploader.getInputName();
+                MessageAttachment attachment = new MessageAttachmentImpl();
+                attachment.setName(name);
+                attachments.add(attachment);
+            }
+        }
+    };
+
+    private OnStatusChangedHandler onStatusChangedHandler = new OnStatusChangedHandler() {
+        public void onStatusChanged(IUploader uploader) {
+            Status stat = display.getUploader().getStatus();
+        }
+    };
+
+    private OnCancelUploaderHandler onCancelUploadHandler = new OnCancelUploaderHandler() {
+        public void onCancel(IUploader uploader) {
+            for (MessageAttachment attachment : attachments) {
+                if (attachment.getName().equals(uploader.getInputName()))
+                    attachments.remove(attachment);
+            }
+        }
+    };
+>>>>>>> make attachments sending work as expected
 	protected ClickHandler sendClickHandler = new ClickHandler() {
 		public void onClick(ClickEvent event) {
 			if (!validate())
@@ -416,6 +454,7 @@ public class ComposeActivity extends App
 				attachMent.setSize(attach.getSize());
 				attachMent.setContentType(attach.getContentType());
 				attaches.add(attachMent);
+				System.out.println("++++++-----");
 			}
 			message.setFrom(display.getFromText());
 			message.setSubject(display.getSubjectText().getText());
@@ -613,6 +652,11 @@ public class ComposeActivity extends App
 =======
 
 		ListBox getFromList();
+<<<<<<< HEAD
 >>>>>>> add user label, yet issue46 occur
+=======
+
+		IUploader getUploader();
+>>>>>>> make attachments sending work as expected
 	}
 }

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java?rev=1522303&r1=1522302&r2=1522303&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java Thu Sep 12 04:09:09 2013
@@ -20,12 +20,14 @@
 package org.apache.hupa.client.ui;
 
 import org.apache.hupa.client.HupaCSS;
+import org.apache.hupa.client.HupaConstants;
 import org.apache.hupa.client.HupaMessages;
 import org.apache.hupa.client.activity.ComposeActivity;
 import org.apache.hupa.client.validation.AddStyleAction;
 import org.apache.hupa.client.validation.EmailListValidator;
 import org.apache.hupa.client.validation.NotEmptyValidator;
 import org.apache.hupa.client.validation.SetFocusAction;
+import org.apache.hupa.shared.SConsts;
 import org.apache.hupa.widgets.editor.Editor;
 import org.apache.hupa.widgets.ui.MultiValueSuggestArea;
 
@@ -96,7 +98,9 @@ import com.google.gwt.user.client.ui.But
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.DockLayoutPanel;
 import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
 import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.HTMLTable.RowFormatter;
 import com.google.gwt.user.client.ui.HasHTML;
 import com.google.gwt.user.client.ui.HasText;
 import com.google.gwt.user.client.ui.Label;
@@ -104,19 +108,22 @@ import com.google.gwt.user.client.ui.Lis
 import com.google.gwt.user.client.ui.SimplePanel;
 import com.google.gwt.user.client.ui.TextArea;
 import com.google.gwt.user.client.ui.TextBox;
-import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
-import com.google.gwt.user.client.ui.HTMLTable.RowFormatter;
 import com.google.inject.Inject;
 
 import eu.maydu.gwt.validation.client.DefaultValidationProcessor;
 import eu.maydu.gwt.validation.client.ValidationProcessor;
 import eu.maydu.gwt.validation.client.i18n.ValidationMessages;
+import gwtupload.client.BaseUploadStatus;
+import gwtupload.client.IFileInput.FileInputType;
+import gwtupload.client.IUploadStatus;
+import gwtupload.client.IUploader;
+import gwtupload.client.MultiUploader;
 
 public class ComposeView extends Composite implements ComposeActivity.Displayable {
 
-
 	@UiField protected FlexTable headerTable;
 	@UiField protected SimplePanel composeEditor;
+	@UiField protected FlowPanel attach;
 	@UiField protected Style style;
 	private ListBox selectFrom;
 	// we only need one instance for all suggestion-boxes
@@ -132,6 +139,7 @@ public class ComposeView extends Composi
 	private Editor editor;
 
 	private ValidationProcessor validator;
+	private MultiUploader uploader = null;
 
 	private static final int ROW_FROM = 0;
 	private static final int ROW_TO = 1;
@@ -159,7 +167,7 @@ public class ComposeView extends Composi
 	}
 
 	@Inject
-	public ComposeView(HupaMessages messages) {
+	public ComposeView(HupaConstants constants, HupaMessages messages) {
 		initWidget(binder.createAndBindUi(this));
 		FlexCellFormatter cellFormatter = headerTable.getFlexCellFormatter();
 		RowFormatter rowFormatter = headerTable.getRowFormatter();
@@ -238,6 +246,14 @@ public class ComposeView extends Composi
 				.addActionForFailure(fAction), new NotEmptyValidator(getToText()).addActionForFailure(sAction)
 				.addActionForFailure(fAction));
 		editor = new Editor();
+
+		BaseUploadStatus uploadStatus = new BaseUploadStatus();
+		uploadStatus.setCancelConfiguration(IUploadStatus.GMAIL_CANCEL_CFG);
+		uploader = new MultiUploader(FileInputType.ANCHOR, uploadStatus);
+		uploader.setServletPath(GWT.getModuleBaseURL() + SConsts.SERVLET_UPLOAD);
+		uploader.avoidRepeatFiles(true);
+		uploader.setI18Constants(constants);
+		attach.add(uploader);
 		composeEditor.add(editor);
 	}
 
@@ -276,13 +292,12 @@ public class ComposeView extends Composi
 		// TODO hardcode to the first identifier
 		return selectFrom.getItemText(0);
 	}
-	
+
 	@Override
-	public ListBox getFromList(){
+	public ListBox getFromList() {
 		return selectFrom;
 	}
 
-
 	@Override
 	public HasText getMessageText() {
 		return editor;
@@ -293,11 +308,17 @@ public class ComposeView extends Composi
 		return editor;
 	}
 
+	@Override
+	public IUploader getUploader() {
+		return uploader;
+	}
+
 	// TODO
 	private TextArea create() {
 		TextArea t = new TextArea();
 		return t;
 	}
+
 	interface ComposeUiBinder extends UiBinder<DockLayoutPanel, ComposeView> {
 	}
 

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.ui.xml?rev=1522303&r1=1522302&r2=1522303&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.ui.xml Thu Sep 12 04:09:09 2013
@@ -282,8 +282,8 @@
 						<g:HTMLPanel addStyleNames="{style.composeoptionsbox}">composeOption</g:HTMLPanel>
 					</g:north>
 					<g:east size="257">
-						<g:HTMLPanel addStyleNames="{style.composeattachments}">composeAttachment
-						</g:HTMLPanel>
+						<g:FlowPanel ui:field="attach" addStyleNames="{style.composeattachments}">
+						</g:FlowPanel>
 					</g:east>
 					<g:center>
 						<g:SimplePanel ui:field="composeEditor"



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org