You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by no...@apache.org on 2009/07/23 12:11:50 UTC

svn commit: r796999 - in /labs/hupa/src/main/java/org/apache/hupa: client/mvp/ server/ server/guice/ shared/data/

Author: norman
Date: Thu Jul 23 10:11:50 2009
New Revision: 796999

URL: http://svn.apache.org/viewvc?rev=796999&view=rev
Log:
Some renaming
Start to implement SendMessageHandler

Added:
    labs/hupa/src/main/java/org/apache/hupa/shared/data/Header.java
      - copied, changed from r796967, labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPHeader.java
    labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageAttachment.java
      - copied, changed from r796967, labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPMessageAttachment.java
    labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageContent.java
      - copied, changed from r796967, labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPMessageContent.java
    labs/hupa/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java
    labs/hupa/src/main/java/org/apache/hupa/shared/data/SMTPUser.java
Removed:
    labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPHeader.java
    labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPMessageAttachment.java
    labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPMessageContent.java
Modified:
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainView.java
    labs/hupa/src/main/java/org/apache/hupa/server/ExposeMessageHandler.java
    labs/hupa/src/main/java/org/apache/hupa/server/FetchMessagesHandler.java
    labs/hupa/src/main/java/org/apache/hupa/server/SendMessageHandler.java
    labs/hupa/src/main/java/org/apache/hupa/server/guice/ServerModul.java
    labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPMessage.java
    labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPUser.java

Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java?rev=796999&r1=796998&r2=796999&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java Thu Jul 23 10:11:50 2009
@@ -139,7 +139,7 @@
 					mailTable.getDataTable().getRowFormatter().setStyleName(i,"hupa-Mailtable-row");
 					IMAPMessage msg = mailTable.getRowValue(i);
 					if (msg != null) {
-						if (msg.getIMAPFlags().contains(IMAPFlag.SEEN) == false) {
+						if (msg.getFlags().contains(IMAPFlag.SEEN) == false) {
 							mailTable.getDataTable().getRowFormatter().addStyleName(i,"hupa-Mailtable-row-notseen");
 						} else {
 							mailTable.getDataTable().getRowFormatter().removeStyleName(i,"hupa-Mailtable-row-notseen");
@@ -254,9 +254,9 @@
 		public Widget getToolTipContent(IMAPMessage rowValue, int cell, int row) {
 			switch (cell) {
 			case 2:
-				return new Label(rowValue.getIMAPHeader().getFrom());
+				return new Label(rowValue.getHeader().getFrom());
 			case 3:
-				return new Label(rowValue.getIMAPHeader().getSubject());
+				return new Label(rowValue.getHeader().getSubject());
 			default:
 				break;
 			}
@@ -329,7 +329,7 @@
 			public void renderRowValue(IMAPMessage rowValue,
 					ColumnDefinition<IMAPMessage, Date> columnDef,
 					AbstractCellView<IMAPMessage> view) {
-				view.setHTML(DateTimeFormat.getShortTimeFormat().format(rowValue.getIMAPHeader().getReceivedDate()));
+				view.setHTML(DateTimeFormat.getShortTimeFormat().format(rowValue.getHeader().getReceivedDate()));
 				view.setHorizontalAlignment(HorizontalPanel.ALIGN_RIGHT);
 			}
 			
@@ -405,12 +405,12 @@
 
 		@Override
 		public String getCellValue(IMAPMessage rowValue) {
-			return rowValue.getIMAPHeader().getFrom();
+			return rowValue.getHeader().getFrom();
 		}
 
 		@Override
 		public void setCellValue(IMAPMessage rowValue, String cellValue) {
-			rowValue.getIMAPHeader().setFrom(cellValue);
+			rowValue.getHeader().setFrom(cellValue);
 		}
 		
 	}
@@ -419,12 +419,12 @@
 
 		@Override
 		public String getCellValue(IMAPMessage rowValue) {
-			return rowValue.getIMAPHeader().getSubject();
+			return rowValue.getHeader().getSubject();
 		}
 
 		@Override
 		public void setCellValue(IMAPMessage rowValue, String cellValue) {
-			rowValue.getIMAPHeader().setSubject(cellValue);
+			rowValue.getHeader().setSubject(cellValue);
 
 		}
 		
@@ -434,12 +434,12 @@
 
 		@Override
 		public Date getCellValue(IMAPMessage rowValue) {
-			return rowValue.getIMAPHeader().getReceivedDate();
+			return rowValue.getHeader().getReceivedDate();
 		}
 
 		@Override
 		public void setCellValue(IMAPMessage rowValue, Date cellValue) {
-			rowValue.getIMAPHeader().setReceivedDate(cellValue);
+			rowValue.getHeader().setReceivedDate(cellValue);
 		}
 		
 	}

Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java?rev=796999&r1=796998&r2=796999&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java Thu Jul 23 10:11:50 2009
@@ -31,7 +31,7 @@
 
 import org.apache.hupa.shared.data.IMAPFolder;
 import org.apache.hupa.shared.data.IMAPMessage;
-import org.apache.hupa.shared.data.IMAPMessageAttachment;
+import org.apache.hupa.shared.data.MessageAttachment;
 import org.apache.hupa.shared.data.IMAPUser;
 import org.apache.hupa.shared.events.LoadMessagesEvent;
 import org.apache.hupa.shared.rpc.DeleteMessage;
@@ -59,7 +59,7 @@
 		public HasHTML getContent();
 		
 		public HasClickHandlers getDeleteButtonClick();
-		public void setAttachments(List<IMAPMessageAttachment> attachements, String username,  String password,  String folder,  long uid);
+		public void setAttachments(List<MessageAttachment> attachements, String username,  String password,  String folder,  long uid);
 	}
 
 	public static final Place PLACE = new Place("IMAPMessage");
@@ -84,11 +84,30 @@
 	}
 
 	private void updateDisplay() {
-		display.getFrom().setText(message.getIMAPHeader().getFrom());
-		display.getCc().setText(message.getIMAPHeader().getCc());
-		display.getSubject().setText(message.getIMAPHeader().getSubject());
-		display.getContent().setHTML(message.getIMAPMessageContent().getText());
-		display.setAttachments(message.getIMAPMessageContent().getIMAPMessageAttachments(),user.getName(),user.getPassword(), folder.getFullName(),message.getUid());
+		display.getFrom().setText(message.getHeader().getFrom());
+		
+		StringBuffer ccBuf = new StringBuffer();
+		ArrayList<String> ccList = message.getHeader().getCc();
+		for (int i = 0; i < ccList.size(); i++) {
+			ccBuf.append(ccList.get(i));
+			if (i < ccList.size()) {
+				ccBuf.append(", ");
+			}
+		}
+		display.getCc().setText(ccBuf.toString());;
+		
+		StringBuffer toBuf = new StringBuffer();
+		ArrayList<String> toList = message.getHeader().getCc();
+		for (int i = 0; i < toList.size(); i++) {
+			toBuf.append(toList.get(i));
+			if (i < toList.size()) {
+				toBuf.append(", ");
+			}
+		}
+		display.getTo().setText(toBuf.toString());;
+		display.getSubject().setText(message.getHeader().getSubject());
+		display.getContent().setHTML(message.getMessageContent().getText());
+		display.setAttachments(message.getMessageContent().getIMAPMessageAttachments(),user.getName(),user.getPassword(), folder.getFullName(),message.getUid());
 	}
 
 	@Override

Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java?rev=796999&r1=796998&r2=796999&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java Thu Jul 23 10:11:50 2009
@@ -23,7 +23,7 @@
 
 import org.apache.hupa.client.HupaConstants;
 import org.apache.hupa.client.mvp.IMAPMessagePresenter.Display;
-import org.apache.hupa.shared.data.IMAPMessageAttachment;
+import org.apache.hupa.shared.data.MessageAttachment;
 import org.cobogw.gwt.user.client.ui.Button;
 import org.cobogw.gwt.user.client.ui.ButtonBar;
 
@@ -157,10 +157,10 @@
 		return deleteMsgButton;
 	}
 
-	public void setAttachments(List<IMAPMessageAttachment> attachements, final String username, final String password, final String folder, final long uid) {
+	public void setAttachments(List<MessageAttachment> attachements, final String username, final String password, final String folder, final long uid) {
 		attachments.clear();
 		for (int i = 0; i < attachements.size();i++) {
-			final IMAPMessageAttachment a = attachements.get(i);
+			final MessageAttachment a = attachements.get(i);
 			Hyperlink link = new Hyperlink(a.getName() + " (" + a.getSize() + ")",true,"");
 			link.addClickHandler(new ClickHandler() {
 

Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java?rev=796999&r1=796998&r2=796999&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java Thu Jul 23 10:11:50 2009
@@ -237,7 +237,7 @@
 			public void onExpandMessage(ExpandMessageEvent event) {
 				final boolean decreaseUnseen;
 				// check if the message was already seen in the past
-				if (event.getMessage().getIMAPFlags().contains(IMAPFlag.SEEN) == false) {
+				if (event.getMessage().getFlags().contains(IMAPFlag.SEEN) == false) {
 					decreaseUnseen = true;
 				} else {
 					decreaseUnseen = false;

Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainView.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainView.java?rev=796999&r1=796998&r2=796999&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainView.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainView.java Thu Jul 23 10:11:50 2009
@@ -177,8 +177,8 @@
 
 	public void fillOracle(ArrayList<IMAPMessage> messages) {
 		for (int i = 0; i < messages.size();i++) {
-			oracle.add(messages.get(i).getIMAPHeader().getSubject());
-			oracle.add(messages.get(i).getIMAPHeader().getFrom());
+			oracle.add(messages.get(i).getHeader().getSubject());
+			oracle.add(messages.get(i).getHeader().getFrom());
 		}
 		searchBox.setText("");
 	}

Modified: labs/hupa/src/main/java/org/apache/hupa/server/ExposeMessageHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/ExposeMessageHandler.java?rev=796999&r1=796998&r2=796999&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/server/ExposeMessageHandler.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/server/ExposeMessageHandler.java Thu Jul 23 10:11:50 2009
@@ -38,8 +38,8 @@
 import org.apache.commons.logging.Log;
 import org.apache.hupa.shared.data.IMAPFolder;
 import org.apache.hupa.shared.data.IMAPMessage;
-import org.apache.hupa.shared.data.IMAPMessageAttachment;
-import org.apache.hupa.shared.data.IMAPMessageContent;
+import org.apache.hupa.shared.data.MessageAttachment;
+import org.apache.hupa.shared.data.MessageContent;
 import org.apache.hupa.shared.data.IMAPUser;
 import org.apache.hupa.shared.rpc.ExposeMessage;
 import org.apache.hupa.shared.rpc.ExposeMessageResult;
@@ -88,7 +88,7 @@
 				f.open(com.sun.mail.imap.IMAPFolder.READ_WRITE);
 			}
 			MimeMessage message = (MimeMessage) f.getMessageByUID(msg.getUid());
-			IMAPMessageContent content = new IMAPMessageContent();
+			MessageContent content = new MessageContent();
 
             boolean isHTML = false;
             Object con = message.getContent();
@@ -101,7 +101,7 @@
 
             } else if (con instanceof Multipart) {
                 Multipart mp = (Multipart) con;
-                List<IMAPMessageAttachment> attachmentList = new ArrayList<IMAPMessageAttachment>();
+                List<MessageAttachment> attachmentList = new ArrayList<MessageAttachment>();
                 boolean hasAttachment = false;
                 StringBuffer sbPlain = new StringBuffer();
                 StringBuffer sbHTML = new StringBuffer();
@@ -126,7 +126,7 @@
 
                         if (part.getFileName() != null) {
                             hasAttachment = true;
-                            IMAPMessageAttachment attachment = new IMAPMessageAttachment();
+                            MessageAttachment attachment = new MessageAttachment();
                             attachment.setName(MimeUtility.decodeText(part.getFileName()));
                             attachment.setContentType(part.getContentType());
                             double size = part.getInputStream().available();
@@ -149,7 +149,7 @@
             f.setFlags(new Message[] {message}, new Flags(Flag.SEEN), true);
             f.close(false);
 
-            msg.setIMAPMessageContent(content);
+            msg.setMessageContent(content);
 			return msg;
 		} catch (Exception e) {
 			logger.error("Unable to expose msg for user " + user + " in folder "+ folder + " with uid "+ msg.getUid(),e);

Modified: labs/hupa/src/main/java/org/apache/hupa/server/FetchMessagesHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/FetchMessagesHandler.java?rev=796999&r1=796998&r2=796999&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/server/FetchMessagesHandler.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/server/FetchMessagesHandler.java Thu Jul 23 10:11:50 2009
@@ -38,7 +38,7 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.IMAPHeader;
+import org.apache.hupa.shared.data.Header;
 import org.apache.hupa.shared.data.IMAPMessage;
 import org.apache.hupa.shared.data.IMAPUser;
 import org.apache.hupa.shared.data.IMAPMessage.IMAPFlag;
@@ -115,35 +115,30 @@
 			for (int i = 0; i < messages.length; i++) {
 				Message m = messages[i];
 
-				IMAPHeader newHeader = new IMAPHeader();
+				Header newHeader = new Header();
 				newHeader.setRawHeader(m.getAllHeaders().toString());
 				newHeader.setFrom(m.getFrom()[0].toString().trim());
 				
-				StringBuffer toBuf = new StringBuffer();
+				ArrayList<String> to = new ArrayList<String>();
 				Address[] toArray = m.getRecipients(RecipientType.TO);
 				if (toArray != null) {
 					for (int b =0; b < toArray.length;b++) {
-						toBuf.append(toArray[b].toString().trim());
-						if (b != toArray.length -1) {
-							toBuf.append(", ");
-						}
+						to.add(toArray[b].toString());
 					}
 				}
-				newHeader.setTo(toBuf.toString());
+				newHeader.setTo(to);
 				
 				newHeader.setSubject(MimeUtility.decodeText(m.getSubject()));
 				
-				StringBuffer ccBuf = new StringBuffer();
 				Address[] ccArray = m.getRecipients(RecipientType.CC);
+				ArrayList<String> cc = new ArrayList<String>();
+
 				if (ccArray != null) {
 					for (int b =0; b < ccArray.length;b++) {
-						toBuf.append(ccArray[b].toString().trim());
-						if (b != ccArray.length -1) {
-							ccBuf.append(", ");
-						}
+						cc.add(ccArray[b].toString());
 					}
 				}
-				newHeader.setCc(ccBuf.toString());
+				newHeader.setCc(cc);
 	
 				newHeader.setReceivedDate(m.getReceivedDate());
 				
@@ -166,9 +161,9 @@
 				}
 				
 				IMAPMessage msg = new IMAPMessage();
-				msg.setIMAPHeader(newHeader);
+				msg.setHeader(newHeader);
 				msg.setUid(f.getUID(m));
-				msg.setIMAPFlags(iFlags);
+				msg.setFlags(iFlags);
 				mList.add(0, msg);
 			}
 			f.close(false);

Modified: labs/hupa/src/main/java/org/apache/hupa/server/SendMessageHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/SendMessageHandler.java?rev=796999&r1=796998&r2=796999&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/server/SendMessageHandler.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/server/SendMessageHandler.java Thu Jul 23 10:11:50 2009
@@ -1,17 +1,92 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
 package org.apache.hupa.server;
 
+import java.util.ArrayList;
+import java.util.Properties;
+
+import javax.mail.MessagingException;
+import javax.mail.Session;
+import javax.mail.Transport;
+import javax.mail.internet.AddressException;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMessage.RecipientType;
+
+import org.apache.commons.logging.Log;
+import org.apache.hupa.shared.data.SMTPMessage;
 import org.apache.hupa.shared.rpc.EmptyResult;
 import org.apache.hupa.shared.rpc.SendMessage;
 
+import com.google.inject.Inject;
+
 import net.customware.gwt.dispatch.server.ActionHandler;
 import net.customware.gwt.dispatch.server.ExecutionContext;
 import net.customware.gwt.dispatch.shared.ActionException;
 
-public class SendMessageHandler implements ActionHandler<SendMessage, EmptyResult>{
+public class SendMessageHandler implements
+		ActionHandler<SendMessage, EmptyResult> {
 
-	public EmptyResult execute(SendMessage arg0, ExecutionContext arg1)
-			throws ActionException {
+	private Log logger;
 
+	@Inject
+	public SendMessageHandler(Log logger) {
+		this.logger = logger;
+	}
+	
+	public EmptyResult execute(SendMessage action, ExecutionContext arg1)
+			throws ActionException {
+		try {
+			Properties props = new Properties();
+			Session session = Session.getDefaultInstance(props);
+			MimeMessage message = new MimeMessage(session);
+
+			SMTPMessage m = action.getMessage();
+
+			message.setFrom(new InternetAddress(m.getHeader().getFrom()));
+			ArrayList<String> to = m.getHeader().getTo();
+			for (int i = 0; i < to.size(); i++) {
+				message.addRecipient(RecipientType.TO, new InternetAddress(to
+						.get(i)));
+			}
+			
+			ArrayList<String> cc = m.getHeader().getCc();
+			for (int i = 0; i < cc.size(); i++) {
+				message.addRecipient(RecipientType.CC, new InternetAddress(cc
+						.get(i)));
+			}
+			
+			message.setText(m.getMessageContent().getText());
+			message.saveChanges();
+			
+			Transport transport = session.getTransport("smtp");
+			transport.connect("myblog.kicks-ass.org", 25, action.getUser().getName(), action.getUser().getPassword());
+			transport.sendMessage(message, message.getAllRecipients());
+			
+		} catch (AddressException e) {
+			logger.error("Error while parsing recipient",e);
+			throw new ActionException("Error while parsing recipient");
+		} catch (MessagingException e) {
+			logger.error("Error while sending Message",e);
+			throw new ActionException("Error while sending Message");
+		}
 		return new EmptyResult();
 	}
 
@@ -21,7 +96,7 @@
 
 	public void rollback(SendMessage arg0, EmptyResult arg1,
 			ExecutionContext arg2) throws ActionException {
-		
+
 	}
 
 }

Modified: labs/hupa/src/main/java/org/apache/hupa/server/guice/ServerModul.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/guice/ServerModul.java?rev=796999&r1=796998&r2=796999&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/server/guice/ServerModul.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/server/guice/ServerModul.java Thu Jul 23 10:11:50 2009
@@ -30,6 +30,7 @@
 import org.apache.hupa.server.LoginUserHandler;
 import org.apache.hupa.server.LogoutUserHandler;
 import org.apache.hupa.server.NoopHandler;
+import org.apache.hupa.server.SendMessageHandler;
 import org.apache.hupa.server.servlet.DownloadAttachmentServlet;
 import org.apache.hupa.server.servlet.UploadAttachmentServlet;
 
@@ -52,11 +53,13 @@
 		bindHandler(LogoutUserHandler.class);
 		bindHandler(ExposeMessageHandler.class);
 		bindHandler(DeleteMessageHandler.class);
+		bindHandler(SendMessageHandler.class);
 		bindHandler(NoopHandler.class);
 		
 		bind(IMAPStoreCache.class).in(Singleton.class);
 		bind(Log.class).toProvider(LogProvider.class).in(Singleton.class);
 		bind(DownloadAttachmentServlet.class).in(Singleton.class);
 		bind(UploadAttachmentServlet.class).in(Singleton.class);
+		
 	}
 }

Copied: labs/hupa/src/main/java/org/apache/hupa/shared/data/Header.java (from r796967, labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPHeader.java)
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/shared/data/Header.java?p2=labs/hupa/src/main/java/org/apache/hupa/shared/data/Header.java&p1=labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPHeader.java&r1=796967&r2=796999&rev=796999&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPHeader.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/shared/data/Header.java Thu Jul 23 10:11:50 2009
@@ -20,9 +20,10 @@
 package org.apache.hupa.shared.data;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Date;
 
-public class IMAPHeader implements Serializable {
+public class Header implements Serializable {
 
 	/**
 	 * 
@@ -31,8 +32,8 @@
 	private String raw;
 	private String from;
 	private String subject;
-	private String to;
-	private String cc;
+	private ArrayList<String> to;
+	private ArrayList<String> cc;
 	private Date rDate;
 
 	public void setRawHeader(String raw) {
@@ -48,15 +49,15 @@
 	}
 
 	public String getFrom() {
-		return convertNull(from);
+		return from;
 	}
 
-	public void setCc(String cc) {
+	public void setCc(ArrayList<String> cc) {
 		this.cc = cc;
 	}
 
-	public String getCc() {
-		return convertNull(cc);
+	public ArrayList<String> getCc() {
+		return cc;
 	}
 
 	public void setSubject(String subject) {
@@ -64,23 +65,17 @@
 	}
 
 	public String getSubject() {
-		return convertNull(subject);
+		return subject;
 	}
 
-	public String getTo() {
-		return convertNull(to);
+	public  ArrayList<String> getTo() {
+		return to;
 	}
 
-	public void setTo(String to) {
+	public void setTo( ArrayList<String> to) {
 		this.to = to;
 	}
 
-	private String convertNull(String raw) {
-		if (raw == null) {
-			return "";
-		}
-		return raw;
-	}
 
 	public void setReceivedDate(Date rDate) {
 		this.rDate = rDate;

Modified: labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPMessage.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPMessage.java?rev=796999&r1=796998&r2=796999&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPMessage.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPMessage.java Thu Jul 23 10:11:50 2009
@@ -19,39 +19,29 @@
 
 package org.apache.hupa.shared.data;
 
-import java.io.Serializable;
 import java.util.List;
 
-public class IMAPMessage implements Serializable {
+public class IMAPMessage extends SMTPMessage  {
 	/**
 	 * 
 	 */
 	private static final long serialVersionUID = 7331361994526216161L;
-	private IMAPHeader header;
 	private long uid;
-	private IMAPMessageContent content;
 	private List<IMAPFlag> flags;
 
 	public enum IMAPFlag {
 		SEEN, DELETED, RECENT, ANSWERED, JUNK, DRAFT
 	}
 
-	public void setIMAPFlags(List<IMAPFlag> flags) {
+	public void setFlags(List<IMAPFlag> flags) {
 		this.flags = flags;
 	}
 
-	public List<IMAPFlag> getIMAPFlags() {
+	public List<IMAPFlag> getFlags() {
 		return flags;
 	}
 
-	public void setIMAPHeader(IMAPHeader header) {
-		this.header = header;
-	}
-
-	public IMAPHeader getIMAPHeader() {
-		return header;
-	}
-
+	
 	public long getUid() {
 		return uid;
 	}
@@ -60,23 +50,6 @@
 		this.uid = uid;
 	}
 
-	public void setIMAPMessageContent(IMAPMessageContent content) {
-		this.content = content;
-	}
-
-	public IMAPMessageContent getIMAPMessageContent() {
-		return content;
-	}
-
-	public boolean isExposed() {
-		if (getIMAPHeader() != null && getIMAPMessageContent() != null) {
-			return true;
-		} else {
-			return false;
-		}
-	}
-
-
 	public String toString() {
 		return String.valueOf(getUid());
 	}

Modified: labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPUser.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPUser.java?rev=796999&r1=796998&r2=796999&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPUser.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPUser.java Thu Jul 23 10:11:50 2009
@@ -19,36 +19,18 @@
 
 package org.apache.hupa.shared.data;
 
-import java.io.Serializable;
 import java.util.Date;
 
-public class IMAPUser implements Serializable {
+public class IMAPUser extends SMTPUser{
 
 	/**
 	 * 
 	 */
 	private static final long serialVersionUID = -1650646176887124796L;
-	private String name;
-	private String password;
+	
 	private Date loginDate;
 	private boolean auth;
 
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public void setPassword(String password) {
-		this.password = password;
-	}
-
-	public String getPassword() {
-		return password;
-	}
-
 	public Date getLoginDate() {
 		return loginDate;
 	}
@@ -65,16 +47,4 @@
 		return auth;
 	}
 
-	public String toString() {
-		return getName();
-	}
-	
-	public boolean equals(Object object) {
-		if (object instanceof IMAPUser) {
-			if (((IMAPUser) object).getName().equals(getName())) {
-				return true;
-			}
-		}
-		return false;
-	}
 }

Copied: labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageAttachment.java (from r796967, labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPMessageAttachment.java)
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageAttachment.java?p2=labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageAttachment.java&p1=labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPMessageAttachment.java&r1=796967&r2=796999&rev=796999&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPMessageAttachment.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageAttachment.java Thu Jul 23 10:11:50 2009
@@ -21,7 +21,7 @@
 
 import java.io.Serializable;
 
-public class IMAPMessageAttachment implements Serializable {
+public class MessageAttachment implements Serializable {
 
 	/**
 	 * 

Copied: labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageContent.java (from r796967, labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPMessageContent.java)
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageContent.java?p2=labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageContent.java&p1=labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPMessageContent.java&r1=796967&r2=796999&rev=796999&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/shared/data/IMAPMessageContent.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageContent.java Thu Jul 23 10:11:50 2009
@@ -23,14 +23,14 @@
 import java.util.ArrayList;
 import java.util.List;
 
-public class IMAPMessageContent implements Serializable {
+public class MessageContent implements Serializable {
 	/**
 	 * 
 	 */
 	private static final long serialVersionUID = 7611536915564919521L;
 	private boolean isHTML;
 	private String text;
-	private List<IMAPMessageAttachment> aList = new ArrayList<IMAPMessageAttachment>();
+	private List<MessageAttachment> aList = new ArrayList<MessageAttachment>();
 
 	public void setIsHTML(boolean isHTML) {
 		this.isHTML = isHTML;
@@ -48,11 +48,11 @@
 		return text;
 	}
 
-	public void setIMAPMessageAttachments(List<IMAPMessageAttachment> aList) {
+	public void setIMAPMessageAttachments(List<MessageAttachment> aList) {
 		this.aList = aList;
 	}
 
-	public List<IMAPMessageAttachment> getIMAPMessageAttachments() {
+	public List<MessageAttachment> getIMAPMessageAttachments() {
 		return aList;
 	}
 }

Added: labs/hupa/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java?rev=796999&view=auto
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java (added)
+++ labs/hupa/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java Thu Jul 23 10:11:50 2009
@@ -0,0 +1,57 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.shared.data;
+
+import java.io.Serializable;
+
+public class SMTPMessage implements Serializable{
+	
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 7998000151420927239L;
+	private Header header;
+	private MessageContent content;
+
+	public void setHeader(Header header) {
+		this.header = header;
+	}
+
+	public Header getHeader() {
+		return header;
+	}
+	
+	public void setMessageContent(MessageContent content) {
+		this.content = content;
+	}
+
+	public MessageContent getMessageContent() {
+		return content;
+	}
+
+	public boolean isExposed() {
+		if (getHeader() != null && getMessageContent() != null) {
+			return true;
+		} else {
+			return false;
+		}
+	}
+
+}

Added: labs/hupa/src/main/java/org/apache/hupa/shared/data/SMTPUser.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/shared/data/SMTPUser.java?rev=796999&view=auto
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/shared/data/SMTPUser.java (added)
+++ labs/hupa/src/main/java/org/apache/hupa/shared/data/SMTPUser.java Thu Jul 23 10:11:50 2009
@@ -0,0 +1,62 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.shared.data;
+
+import java.io.Serializable;
+
+public class SMTPUser implements Serializable{
+	
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -573674209289821920L;
+	private String name;
+	private String password;
+	
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setPassword(String password) {
+		this.password = password;
+	}
+
+	public String getPassword() {
+		return password;
+	}
+	
+	public String toString() {
+		return getName();
+	}
+	
+	public boolean equals(Object object) {
+		if (object instanceof IMAPUser) {
+			if (((SMTPUser) object).getName().equals(getName())) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org