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/08 09:35:40 UTC

svn commit: r792057 - in /labs/hupa: ./ src/main/java/org/apache/hupa/ src/main/java/org/apache/hupa/client/controller/ src/main/java/org/apache/hupa/client/model/ src/main/java/org/apache/hupa/client/mvp/ src/main/java/org/apache/hupa/client/rpc/ src/...

Author: norman
Date: Wed Jul  8 07:35:39 2009
New Revision: 792057

URL: http://svn.apache.org/viewvc?rev=792057&view=rev
Log:
Completly remove gwt-mvc and only use MVP pattern
Add missing license headers

Removed:
    labs/hupa/src/main/java/org/apache/hupa/client/controller/
    labs/hupa/src/main/java/org/apache/hupa/client/model/
    labs/hupa/src/main/java/org/apache/hupa/client/view/
Modified:
    labs/hupa/pom.xml
    labs/hupa/src/main/java/org/apache/hupa/Hupa.gwt.xml
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppView.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.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/client/rpc/FetchMessages.java
    labs/hupa/src/main/java/org/apache/hupa/client/rpc/FetchMessagesResult.java
    labs/hupa/src/main/java/org/apache/hupa/client/rpc/LoginUser.java
    labs/hupa/src/main/java/org/apache/hupa/client/rpc/LogoutUser.java
    labs/hupa/src/main/java/org/apache/hupa/client/rpc/LogoutUserResult.java
    labs/hupa/src/main/java/org/apache/hupa/server/ExposeMessageHandler.java
    labs/hupa/src/main/java/org/apache/hupa/server/FetchFoldersHandler.java
    labs/hupa/src/main/java/org/apache/hupa/server/FetchMessagesHandler.java
    labs/hupa/src/main/java/org/apache/hupa/server/IMAPServiceImpl.java
    labs/hupa/src/main/java/org/apache/hupa/server/LoginUserHandler.java
    labs/hupa/src/main/java/org/apache/hupa/server/LogoutUserHandler.java
    labs/hupa/src/main/java/org/apache/hupa/server/gin/ServerModul.java

Modified: labs/hupa/pom.xml
URL: http://svn.apache.org/viewvc/labs/hupa/pom.xml?rev=792057&r1=792056&r2=792057&view=diff
==============================================================================
--- labs/hupa/pom.xml (original)
+++ labs/hupa/pom.xml Wed Jul  8 07:35:39 2009
@@ -48,11 +48,6 @@
 			<url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo/</url>
 		</repository>
 		<repository>
-			<id>gwt-mvc</id>
-			<name>GWT MVC repository at googlecode</name>
-			<url>http://gwt-mvc.googlecode.com/svn/repository</url>
-		</repository>
-		<repository>
 			<id>gwt-dispatch</id>
 			<name>GWT Dispatch repository at googlecode</name>
 			<url>http://gwt-dispatch.googlecode.com/svn/maven2</url>
@@ -126,9 +121,7 @@
 				<executions>
 					<execution>
 						<goals>
-							<!--
-								<goal>mergewebxml</goal> <goal>i18n</goal>
-							-->
+							<goal>mergewebxml</goal> <goal>i18n</goal>
 							<goal>compile</goal>
 							<!--
 								<goal>test</goal>
@@ -262,11 +255,6 @@
 			<version>1.2.4</version>
 		</dependency>
 		<dependency>
-			<groupId>gwt-mvc</groupId>
-			<artifactId>gwt-mvc</artifactId>
-			<version>0.2.1-gwt-1.6</version>
-		</dependency>
-		<dependency>
 			<groupId>net.customware.gwt.dispatch</groupId>
 			<artifactId>gwt-dispatch</artifactId>
 			<version>1.0.0-SNAPSHOT</version>

Modified: labs/hupa/src/main/java/org/apache/hupa/Hupa.gwt.xml
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/Hupa.gwt.xml?rev=792057&r1=792056&r2=792057&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/Hupa.gwt.xml (original)
+++ labs/hupa/src/main/java/org/apache/hupa/Hupa.gwt.xml Wed Jul  8 07:35:39 2009
@@ -13,9 +13,6 @@
 
   <!-- Other module inherits                                      -->
   <inherits name='org.cobogw.gwt.user.User' /> 
-    
-  <!-- GWT MVC -->
-  <inherits name="com.googlecode.gwtmvc.GwtMvc" />  
 
   <inherits name='net.customware.gwt.dispatch.Dispatch' />
   <inherits name="com.google.gwt.inject.Inject"/>

Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java?rev=792057&r1=792056&r2=792057&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java Wed Jul  8 07:35:39 2009
@@ -1,6 +1,24 @@
-package org.apache.hupa.client.mvp;
+/****************************************************************
+ * 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.                                           *
+ ****************************************************************/
+
 
-import net.customware.gwt.dispatch.client.DispatchAsync;
+package org.apache.hupa.client.mvp;
 
 import org.apache.hupa.client.events.EventBus;
 import org.apache.hupa.client.events.LoginEvent;

Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppView.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppView.java?rev=792057&r1=792056&r2=792057&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppView.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppView.java Wed Jul  8 07:35:39 2009
@@ -1,3 +1,22 @@
+/****************************************************************
+ * 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.client.mvp;
 
 import com.google.gwt.user.client.ui.Composite;

Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java?rev=792057&r1=792056&r2=792057&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java Wed Jul  8 07:35:39 2009
@@ -1,3 +1,22 @@
+/****************************************************************
+ * 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.client.mvp;
 
 import net.customware.gwt.dispatch.client.DispatchAsync;

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=792057&r1=792056&r2=792057&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 Wed Jul  8 07:35:39 2009
@@ -6,6 +6,7 @@
 import java.util.List;
 
 import org.apache.hupa.client.data.IMAPFolder;
+import org.apache.hupa.client.data.IMAPMessage;
 import org.apache.hupa.client.data.IMAPUser;
 import org.apache.hupa.client.events.EventBus;
 import org.apache.hupa.client.events.LoginEvent;
@@ -14,20 +15,30 @@
 import org.apache.hupa.client.events.LogoutEventHandler;
 import org.apache.hupa.client.rpc.FetchFolders;
 import org.apache.hupa.client.rpc.FetchFoldersResult;
+import org.apache.hupa.client.rpc.FetchMessages;
+import org.apache.hupa.client.rpc.FetchMessagesResult;
 import org.apache.hupa.client.rpc.LogoutUser;
 import org.apache.hupa.client.rpc.LogoutUserResult;
 import org.apache.hupa.client.widgets.IMAPTreeItem;
 
 import net.customware.gwt.dispatch.client.DispatchAsync;
 
+import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.HasAllKeyHandlers;
 import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.event.dom.client.KeyCodes;
+import com.google.gwt.event.dom.client.KeyUpEvent;
+import com.google.gwt.event.dom.client.KeyUpHandler;
 import com.google.gwt.event.logical.shared.HasSelectionHandlers;
 import com.google.gwt.event.logical.shared.SelectionEvent;
 import com.google.gwt.event.logical.shared.SelectionHandler;
 import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.gwt.user.client.ui.HTMLTable;
+import com.google.gwt.user.client.ui.HasValue;
 import com.google.gwt.user.client.ui.TreeItem;
+import com.google.gwt.user.client.ui.HTMLTable.Cell;
 import com.google.inject.Inject;
 
 public class MainPresenter {
@@ -36,13 +47,23 @@
 	public interface Display {
 		public HasClickHandlers getLogoutClick();
 		public HasSelectionHandlers<TreeItem> getTree();
+		public HasClickHandlers getSearchClick();
+		public HasValue<String> getSearchValue();
+		public HasAllKeyHandlers getRowsPerPage();
+		public HasValue<String> getRowsPerPageValue();
+		public HasClickHandlers getTableClick();
 		public void bindTreeItems(List<IMAPTreeItem> treeList);
+		public void bindMessages(List<IMAPMessage> messageList);
+
 	}
 	
 	private DispatchAsync dispatcher;
 	private EventBus bus;
 	private Display display;
 	private IMAPUser user;
+	private IMAPFolder folder;
+	private String searchValue = null;
+	protected Cell cell;
 	
 	@Inject
 	public MainPresenter(DispatchAsync dispatcher, EventBus bus) {
@@ -119,16 +140,16 @@
 		});
 		return tList;
 	}
-	public void bind(Display display) {
+	public void bind(final Display display) {
 		this.display = display;
+		reset();
 		display.getLogoutClick().addClickHandler(new ClickHandler() {
 
 			public void onClick(ClickEvent event) {
 				dispatcher.execute(new LogoutUser(user), new AsyncCallback<LogoutUserResult>() {
 
 					public void onFailure(Throwable caught) {
-						// TODO Auto-generated method stub
-						
+						GWT.log("ERROR",caught);
 					}
 
 					public void onSuccess(LogoutUserResult result) {
@@ -144,9 +165,73 @@
 
 			public void onSelection(SelectionEvent<TreeItem> event) {
 				TreeItem item = event.getSelectedItem();
-				IMAPFolder folder = (IMAPFolder) item.getUserObject();
+				folder = (IMAPFolder) item.getUserObject();
+				fetchMessages();
+
+				
+			}
+			
+		});
+		
+		display.getSearchClick().addClickHandler(new ClickHandler() {
+
+			public void onClick(ClickEvent event) {
+				
+				if (display.getSearchValue().getValue().trim().length() >0) {
+					searchValue = display.getSearchValue().getValue().trim();
+				}
+				fetchMessages();
+
+				
+			}
+			
+		});
+		
+		display.getRowsPerPage().addKeyUpHandler(new KeyUpHandler() {
+
+
+			public void onKeyUp(KeyUpEvent event) {
+				if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
+					fetchMessages();
+				}
+			}
+			
+		});
+		
+		display.getTableClick().addClickHandler(new ClickHandler() {
+
+			public void onClick(ClickEvent event) {
+				HTMLTable table = (HTMLTable) event.getSource();
+				cell = table.getCellForEvent(event);
+				if (cell.getRowIndex() > 0 && cell.getCellIndex() != 0) {
+
+				
+				}
+
+			}
+
+		});
+	}
+	
+	private void fetchMessages() {
+		int rowsPerPage = Integer.parseInt(display.getRowsPerPageValue().getValue());
+		dispatcher.execute(new FetchMessages(user,folder,0,0+rowsPerPage,searchValue), new AsyncCallback<FetchMessagesResult>() {
+
+			public void onFailure(Throwable caught) {
+				GWT.log("ERROR",caught);				
+			}
+
+			public void onSuccess(FetchMessagesResult result) {
+				display.bindMessages(result.getMessages());
 			}
 			
 		});
+		
+	}
+	
+	private void reset() {
+		display.bindMessages(new ArrayList<IMAPMessage>());
+		display.bindTreeItems(new ArrayList<IMAPTreeItem>());
+		display.getSearchValue().setValue("");
 	}
 }

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=792057&r1=792056&r2=792057&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 Wed Jul  8 07:35:39 2009
@@ -1,27 +1,38 @@
 package org.apache.hupa.client.mvp;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.hupa.client.HupaConstants;
 import org.apache.hupa.client.bundles.IMAPTreeImages;
+import org.apache.hupa.client.data.IMAPMessage;
+import org.apache.hupa.client.data.IMAPMessage.IMAPFlag;
 import org.apache.hupa.client.widgets.IMAPTreeItem;
 import org.cobogw.gwt.user.client.ui.Button;
+import org.cobogw.gwt.user.client.ui.ButtonBar;
 import org.cobogw.gwt.user.client.ui.RoundedPanel;
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.HasAllKeyHandlers;
 import com.google.gwt.event.dom.client.HasClickHandlers;
 import com.google.gwt.event.dom.client.KeyCodes;
 import com.google.gwt.event.dom.client.KeyUpEvent;
 import com.google.gwt.event.dom.client.KeyUpHandler;
 import com.google.gwt.event.logical.shared.HasSelectionHandlers;
+import com.google.gwt.i18n.client.DateTimeFormat;
+import com.google.gwt.user.client.ui.CheckBox;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.DockPanel;
+import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.HasValue;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.MultiWordSuggestOracle;
 import com.google.gwt.user.client.ui.SuggestBox;
+import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.Tree;
 import com.google.gwt.user.client.ui.TreeItem;
 import com.google.gwt.user.client.ui.VerticalPanel;
@@ -39,7 +50,13 @@
 	private SuggestBox searchBox = new SuggestBox(oracle);
 	private Button searchButton = new Button(constants.searchButton());
 	private Button logoutButton = new Button(constants.logoutButton());
-
+	private VerticalPanel centerVP = new VerticalPanel();
+	private TextBox rowsPerPageBox = new TextBox();
+	private FlexTable mailTable = new FlexTable();
+	private Map<Integer, IMAPMessage> mMap = new HashMap<Integer, IMAPMessage>();
+	private RoundedPanel center;
+	private DateTimeFormat dFormat = DateTimeFormat.getShortDateTimeFormat();
+	
 	public MainView() {
 		dockPanel = new DockPanel();
 		
@@ -48,13 +65,13 @@
 
 		createNorth();
 		createWest();
-		//createCenter();
+		createCenter();
 
 		dockPanel.add(north, DockPanel.NORTH);
 		dockPanel.add(west, DockPanel.WEST);
-		//dockPanel.add(center, DockPanel.CENTER);
+		dockPanel.add(center, DockPanel.CENTER);
 		dockPanel.setCellHorizontalAlignment(north, DockPanel.ALIGN_RIGHT);
-		//dockPanel.setCellHorizontalAlignment(center, DockPanel.ALIGN_LEFT);
+		dockPanel.setCellHorizontalAlignment(center, DockPanel.ALIGN_LEFT);
 		
 		initWidget(dockPanel);
 	}
@@ -79,14 +96,7 @@
 		northTop.setWidth("100%");
 		northTop.add(new Label(constants.productName()));
 
-		
-		logoutButton.addClickHandler(new ClickHandler() {
 
-			public void onClick(ClickEvent event) {
-				
-			}
-			
-		});
 		northTop.add(logoutButton);
 		northTop.setCellHorizontalAlignment(logoutButton,
 				VerticalPanel.ALIGN_RIGHT);
@@ -110,28 +120,103 @@
 		hPanel.add(searchBox);
 		
 		
-		searchButton.addClickHandler(new ClickHandler() {
+		
+		hPanel.add(searchButton);
+		
+		north.add(hPanel);
+		
+	}
+
+	private void createCenter() {
+
+		centerVP.setSpacing(10);
+
+		HorizontalPanel navPanel = new HorizontalPanel();
+		navPanel.setSpacing(10);
+		navPanel.setVerticalAlignment(HorizontalPanel.ALIGN_MIDDLE);
+		ButtonBar navigatorBar = new ButtonBar();
+		Button newMailButton = new Button(constants.newMailButton());
+		navigatorBar.add(newMailButton);
+		Button deleteMailButton = new Button(constants.deleteMailButton());
+		navigatorBar.add(deleteMailButton);
+
+		navPanel.add(navigatorBar);
+		
+		rowsPerPageBox.setWidth("40px");
+		rowsPerPageBox.setValue("20");
+		
+		navPanel.add(rowsPerPageBox);
+		navPanel.add(new Label(constants.rowsPerPageLabel()));
+		centerVP.add(navPanel);
+		
+		final CheckBox headerCheckbox = new CheckBox();
+		headerCheckbox.addClickHandler(new ClickHandler() {
 
 			public void onClick(ClickEvent event) {
-				String searchValue = null;
-				if (searchBox.getValue().trim().length() >0) {
-					searchValue = searchBox.getValue().trim();
+				for (int i = 1; i < mailTable.getRowCount(); i++) {
+					((CheckBox) mailTable.getWidget(i, 0))
+							.setValue(headerCheckbox.getValue());
+					if(headerCheckbox.getValue() == true) {
+						mailTable.getRowFormatter().setStyleName(i, "hupa-Mailtable-row-selected");
+					} else {
+						mailTable.getRowFormatter().removeStyleName(i, "hupa-Mailtable-row-selected");
+
+					}
+					IMAPMessage message = mMap.get(i);
+					if (message.getIMAPFlags().contains(IMAPFlag.SEEN) == false) {
+						mailTable.getRowFormatter().addStyleName(i,
+								"hupa-Mailtable-row-notseen");
+					} else {
+						mailTable.getRowFormatter().removeStyleName(i, "hupa-Mailtable-row-notseen");
+					}
 				}
-				
-				/*
-				controller.call(new Event<MessageListModelData, HupaAction>(
-						HupaAction.FETCH_MESSAGES,
-						new MessageListModelData(user, folder,
-								0, rowsPerPage,searchValue), masker));
-				//searchBox.setValue("");
-				*/
 			}
-			
+
 		});
-		hPanel.add(searchButton);
 		
-		north.add(hPanel);
+		mailTable.setCellSpacing(0);
+		mailTable.setWidget(0, 0, headerCheckbox);
+		mailTable.getFlexCellFormatter().setWidth(0, 0, "15px");
+		mailTable.setText(0, 1, constants.mailTableFrom());
+		mailTable.getFlexCellFormatter().setWidth(0, 1, "200px");
+		mailTable.setText(0, 2, constants.mailTableSubject());
+		mailTable.getFlexCellFormatter().setWidth(0, 2, "500px");
+		mailTable.setText(0, 3, constants.mailTableDate());
+		mailTable.getFlexCellFormatter().setWidth(0, 3, "200px");
+		mailTable.getRowFormatter().setStyleName(0,"hupa-Mailtable-Header");
+
+		mailTable.getFlexCellFormatter().addStyleName(0,0,"hupa-Mailtable-Header");
+		mailTable.getFlexCellFormatter().addStyleName(0,1,"hupa-Mailtable-Header");
+		mailTable.getFlexCellFormatter().addStyleName(0,2,"hupa-Mailtable-Header");
+		mailTable.getFlexCellFormatter().addStyleName(0,3,"hupa-Mailtable-Header");
+
+
 		
+		centerVP.add(mailTable);
+		center = new RoundedPanel();
+		center.add(centerVP);
+		center.setWidth("100%");
+	}
+	private String truncate(String rawString) {
+		if (rawString.length() > 50) {
+			return rawString.substring(0, 50);
+		} else {
+			return rawString;
+		}
+	}
+	private void clearMailTableEntries() {
+	       // clear table
+        int a = 0;
+        while ((a = mailTable.getRowCount()) != 1) {
+            mailTable.removeRow(a - 1);
+        }
+
+        mMap.clear();
+	}
+	
+	private void fillOracle(IMAPMessage msg) {
+		oracle.add(msg.getIMAPHeader().getFrom());
+		oracle.add(msg.getIMAPHeader().getSubject());
 	}
 
 	public HasClickHandlers getLogoutClick() {
@@ -140,7 +225,21 @@
 	public HasSelectionHandlers<TreeItem> getTree() {
 		return folderTree;
 	}
-
+	
+	public HasClickHandlers getSearchClick() {
+		return searchButton;
+	}
+	public HasValue<String> getSearchValue() {
+		return searchBox;
+	}
+	public HasValue<String> getRowsPerPageValue() {
+		return rowsPerPageBox;
+	}
+	
+	public HasAllKeyHandlers getRowsPerPage() {
+		return rowsPerPageBox;
+	}
+	
 	public void bindTreeItems(List<IMAPTreeItem> treeList) {
 		folderTree.clear();
 		
@@ -149,4 +248,71 @@
 		
 		}
 	}
+	
+	public void bindMessages(List<IMAPMessage> result) {
+		// clear table
+		clearMailTableEntries();
+
+		int rows = 1;
+		for (int i = 0; i < result.size(); i++) {
+			final CheckBox mCheckbox = new CheckBox();
+			mCheckbox.addClickHandler(new ClickHandler() {
+
+				public void onClick(ClickEvent event) {
+					int row = mailTable.getCellForEvent(event).getRowIndex();
+
+					if(mCheckbox.getValue() == true) {
+						mailTable.getRowFormatter().setStyleName(row, "hupa-Mailtable-row-selected");
+					} else {
+						mailTable.getRowFormatter().removeStyleName(row, "hupa-Mailtable-row-selected");
+
+					}
+					
+				}
+
+			});
+			IMAPMessage message = result.get(i);
+			fillOracle(message);
+			mMap.put(rows, message);
+			mailTable.setWidget(rows, 0, mCheckbox);
+			mailTable.setText(rows, 1, truncate(message.getIMAPHeader()
+					.getFrom()));
+			mailTable.setText(rows, 2, truncate(message.getIMAPHeader()
+					.getSubject()));
+			mailTable.setText(rows, 3, dFormat.format(message
+					.getIMAPHeader().getReceivedDate()));
+			
+			if (rows % 2 == 0) {
+				mailTable.getRowFormatter().setStyleName(rows,
+						"hupa-Mailtable-row1");
+			} else {
+				mailTable.getRowFormatter().setStyleName(rows,
+						"hupa-Mailtable-row2");
+			}
+			if (message.getIMAPFlags().contains(IMAPFlag.SEEN) == false) {
+				mailTable.getRowFormatter().addStyleName(rows,
+						"hupa-Mailtable-row-notseen");
+			} else {
+				mailTable.getRowFormatter().removeStyleName(rows, "hupa-Mailtable-row-notseen");
+			}
+			mailTable.getCellFormatter().setWordWrap(rows, 1,
+					false);
+			mailTable.getCellFormatter().setWordWrap(rows, 2,
+					false);
+			mailTable.getCellFormatter().setWordWrap(rows, 3,
+					false);
+			mailTable.getFlexCellFormatter().addStyleName(rows,0,"hupa-Mailtable");
+			mailTable.getFlexCellFormatter().addStyleName(rows,1,"hupa-Mailtable");
+			mailTable.getFlexCellFormatter().addStyleName(rows,2,"hupa-Mailtable");
+			mailTable.getFlexCellFormatter().addStyleName(rows,3,"hupa-Mailtable");
+			mailTable.getFlexCellFormatter().addStyleName(rows,3,"hupa-Mailtable-cell-date");
+
+
+			rows++;
+		}
+	}
+
+	public HasClickHandlers getTableClick() {
+		return mailTable;
+	}
 }

Modified: labs/hupa/src/main/java/org/apache/hupa/client/rpc/FetchMessages.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/rpc/FetchMessages.java?rev=792057&r1=792056&r2=792057&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/rpc/FetchMessages.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/rpc/FetchMessages.java Wed Jul  8 07:35:39 2009
@@ -1,3 +1,22 @@
+/****************************************************************
+ * 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.client.rpc;
 
 import net.customware.gwt.dispatch.shared.Action;

Modified: labs/hupa/src/main/java/org/apache/hupa/client/rpc/FetchMessagesResult.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/rpc/FetchMessagesResult.java?rev=792057&r1=792056&r2=792057&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/rpc/FetchMessagesResult.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/rpc/FetchMessagesResult.java Wed Jul  8 07:35:39 2009
@@ -1,3 +1,22 @@
+/****************************************************************
+ * 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.client.rpc;
 
 import java.util.ArrayList;

Modified: labs/hupa/src/main/java/org/apache/hupa/client/rpc/LoginUser.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/rpc/LoginUser.java?rev=792057&r1=792056&r2=792057&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/rpc/LoginUser.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/rpc/LoginUser.java Wed Jul  8 07:35:39 2009
@@ -33,6 +33,8 @@
     private String userName;
     private String password;
 
+    
+	@SuppressWarnings("unused")
 	private LoginUser() {}
     
     public LoginUser(String userName,String password) {

Modified: labs/hupa/src/main/java/org/apache/hupa/client/rpc/LogoutUser.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/rpc/LogoutUser.java?rev=792057&r1=792056&r2=792057&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/rpc/LogoutUser.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/rpc/LogoutUser.java Wed Jul  8 07:35:39 2009
@@ -1,3 +1,22 @@
+/****************************************************************
+ * 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.client.rpc;
 
 import org.apache.hupa.client.data.IMAPUser;

Modified: labs/hupa/src/main/java/org/apache/hupa/client/rpc/LogoutUserResult.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/rpc/LogoutUserResult.java?rev=792057&r1=792056&r2=792057&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/rpc/LogoutUserResult.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/rpc/LogoutUserResult.java Wed Jul  8 07:35:39 2009
@@ -1,3 +1,22 @@
+/****************************************************************
+ * 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.client.rpc;
 
 import org.apache.hupa.client.data.IMAPUser;

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=792057&r1=792056&r2=792057&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 Wed Jul  8 07:35:39 2009
@@ -35,7 +35,6 @@
 import org.apache.hupa.client.data.IMAPMessage.IMAPFlag;
 import org.apache.hupa.client.rpc.ExposeMessage;
 import org.apache.hupa.client.rpc.ExposeMessageResult;
-import org.apache.hupa.client.services.IMAPServiceException;
 import org.columba.ristretto.coder.Base64DecoderInputStream;
 import org.columba.ristretto.coder.CharsetDecoderInputStream;
 import org.columba.ristretto.coder.QuotedPrintableDecoderInputStream;
@@ -52,11 +51,7 @@
 
 	public ExposeMessageResult execute(ExposeMessage action, ExecutionContext arg1)
 			throws ActionException {
-		try {
 			return new ExposeMessageResult(exposeMessage(action.getUser(), action.getFolder(), action.getMessage()));
-		} catch (IMAPServiceException e) {
-			throw new ActionException(e);
-		}
 	}
 
 	public Class<ExposeMessage> getActionType() {
@@ -69,7 +64,7 @@
 		
 	}
 	
-	protected IMAPMessage exposeMessage(IMAPUser user, IMAPFolder folder, IMAPMessage msg) throws IMAPServiceException {
+	protected IMAPMessage exposeMessage(IMAPUser user, IMAPFolder folder, IMAPMessage msg) throws ActionException {
 		if (msg.isExposed()) {
 			return msg;
 		}
@@ -145,11 +140,11 @@
 			return msg;
 		} catch (IOException e) {
 			e.printStackTrace();
-			throw new IMAPServiceException("Unable to expose msg for uid "
+			throw new ActionException("Unable to expose msg for uid "
 					+ msg.getUid());
 		} catch (IMAPException e) {
 			e.printStackTrace();
-			throw new IMAPServiceException("Unable to expose msg for uid "
+			throw new ActionException("Unable to expose msg for uid "
 					+ msg.getUid());
 
 		} finally {

Modified: labs/hupa/src/main/java/org/apache/hupa/server/FetchFoldersHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/FetchFoldersHandler.java?rev=792057&r1=792056&r2=792057&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/server/FetchFoldersHandler.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/server/FetchFoldersHandler.java Wed Jul  8 07:35:39 2009
@@ -27,7 +27,6 @@
 import org.apache.hupa.client.data.IMAPUser;
 import org.apache.hupa.client.rpc.FetchFolders;
 import org.apache.hupa.client.rpc.FetchFoldersResult;
-import org.apache.hupa.client.services.IMAPServiceException;
 import org.columba.ristretto.imap.IMAPException;
 import org.columba.ristretto.imap.IMAPProtocol;
 import org.columba.ristretto.imap.ListInfo;
@@ -41,11 +40,8 @@
 
 	public FetchFoldersResult execute(FetchFolders action, ExecutionContext arg1)
 	throws ActionException {
-		try {
-			return new FetchFoldersResult(getFolders(action.getUser()));
-		} catch (IMAPServiceException e) {
-			throw new ActionException(e);
-		}
+		return new FetchFoldersResult(getFolders(action.getUser()));
+		
 	}
 
 	public void rollback(FetchFolders arg0, FetchFoldersResult arg1,
@@ -59,7 +55,7 @@
 	}
 
 	protected ArrayList<IMAPFolder> getFolders(IMAPUser user)
-	throws IMAPServiceException {
+	throws ActionException {
 		ArrayList<IMAPFolder> fList = new ArrayList<IMAPFolder>();
 		IMAPProtocol protocol = null;
 		try {
@@ -93,11 +89,11 @@
 			return fList;
 		} catch (IOException e) {
 			e.printStackTrace();
-			throw new IMAPServiceException("Unable to get folders for User "
+			throw new ActionException("Unable to get folders for User "
 					+ user);
 		} catch (IMAPException e) {
 			e.printStackTrace();
-			throw new IMAPServiceException("Unable to get folders for User "
+			throw new ActionException("Unable to get folders for User "
 					+ user);
 		} finally {
 			if (protocol != null) {

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=792057&r1=792056&r2=792057&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 Wed Jul  8 07:35:39 2009
@@ -35,7 +35,6 @@
 import org.apache.hupa.client.data.IMAPMessage.IMAPFlag;
 import org.apache.hupa.client.rpc.FetchMessages;
 import org.apache.hupa.client.rpc.FetchMessagesResult;
-import org.apache.hupa.client.services.IMAPServiceException;
 import org.columba.ristretto.imap.IMAPException;
 import org.columba.ristretto.imap.IMAPFlags;
 import org.columba.ristretto.imap.IMAPProtocol;
@@ -49,11 +48,8 @@
 
 	public FetchMessagesResult execute(FetchMessages action, ExecutionContext arg1)
 			throws ActionException {
-		try {
-			return new FetchMessagesResult(getMessages(action.getUser(), action.getFolder(), action.getStart(), action.getStart() + action.getOffset(), action.getSearchString()),action.getStart(),action.getOffset());
-		} catch (IMAPServiceException e) {
-			throw new ActionException(e);
-		}
+		return new FetchMessagesResult(getMessages(action.getUser(), action.getFolder(), action.getStart(), action.getStart() + action.getOffset(), action.getSearchString()),action.getStart(),action.getOffset());
+		
 	}
 
 	public Class<FetchMessages> getActionType() {
@@ -65,7 +61,7 @@
 		// TODO Auto-generated method stub
 		
 	}
-	protected ArrayList<IMAPMessage> getMessages(IMAPUser user,IMAPFolder folder, int start, int end,String searchString) throws IMAPServiceException {
+	protected ArrayList<IMAPMessage> getMessages(IMAPUser user,IMAPFolder folder, int start, int end,String searchString) throws ActionException {
 		ArrayList<IMAPMessage> mList = new ArrayList<IMAPMessage>();
 
 		IMAPProtocol proto = null;
@@ -153,11 +149,11 @@
 			}
 			return mList;
 		} catch (IOException e) {
-			throw new IMAPServiceException(
+			throw new ActionException(
 					"Error while fetching headers for user " + user.getName()
 							+ ": " + e.getMessage());
 		} catch (IMAPException e) {
-			throw new IMAPServiceException(
+			throw new ActionException(
 					"Error while fetching headers for user " + user.getName()
 							+ ": " + e.getMessage());
 		} finally {

Modified: labs/hupa/src/main/java/org/apache/hupa/server/IMAPServiceImpl.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/IMAPServiceImpl.java?rev=792057&r1=792056&r2=792057&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/server/IMAPServiceImpl.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/server/IMAPServiceImpl.java Wed Jul  8 07:35:39 2009
@@ -36,8 +36,6 @@
 import org.apache.hupa.client.data.IMAPUser;
 import org.apache.hupa.client.data.ResultList;
 import org.apache.hupa.client.data.IMAPMessage.IMAPFlag;
-import org.apache.hupa.client.services.IMAPService;
-import org.apache.hupa.client.services.IMAPServiceException;
 import org.columba.ristretto.coder.Base64DecoderInputStream;
 import org.columba.ristretto.coder.CharsetDecoderInputStream;
 import org.columba.ristretto.coder.QuotedPrintableDecoderInputStream;
@@ -57,17 +55,7 @@
 
 import com.google.gwt.user.server.rpc.RemoteServiceServlet;
 
-public class IMAPServiceImpl extends RemoteServiceServlet implements
-		IMAPService {
-
-	private static IMAPService SERVICE;
-	
-	public static IMAPService getInstance() {
-		if (SERVICE == null) {
-			SERVICE = new IMAPServiceImpl();
-		}
-		return SERVICE;
-	}
+public class IMAPServiceImpl extends RemoteServiceServlet{
 	
 	/**
 	 * 
@@ -75,7 +63,7 @@
 	private static final long serialVersionUID = -1853475303345399549L;
 
 	public IMAPUser login(String username, String password)
-			throws IMAPServiceException {
+			throws Exception {
 
 		try {
 			IMAPUser user = new IMAPUser();
@@ -91,9 +79,9 @@
 			return user;
 			
 		} catch (IOException e) {
-			throw new IMAPServiceException(e.getMessage());
+			throw new Exception(e.getMessage());
 		} catch (IMAPException e) {
-			throw new IMAPServiceException(e.getMessage());
+			throw new Exception(e.getMessage());
 		}
 	}
 
@@ -108,7 +96,7 @@
 
 	}
 
-	public ResultList<IMAPMessage> getMessages(IMAPUser user,IMAPFolder folder, int start, int end,String searchString) throws IMAPServiceException {
+	public ResultList<IMAPMessage> getMessages(IMAPUser user,IMAPFolder folder, int start, int end,String searchString) throws Exception {
 		ResultList<IMAPMessage> mList = new ResultList<IMAPMessage>();
 
 		IMAPProtocol proto = null;
@@ -197,11 +185,11 @@
 			}
 			return mList;
 		} catch (IOException e) {
-			throw new IMAPServiceException(
+			throw new Exception(
 					"Error while fetching headers for user " + user.getName()
 							+ ": " + e.getMessage());
 		} catch (IMAPException e) {
-			throw new IMAPServiceException(
+			throw new Exception(
 					"Error while fetching headers for user " + user.getName()
 							+ ": " + e.getMessage());
 		} finally {
@@ -216,7 +204,7 @@
 	}
 
 
-	public IMAPMessage exposeMessage(IMAPUser user, IMAPFolder folder, IMAPMessage msg) throws IMAPServiceException {
+	public IMAPMessage exposeMessage(IMAPUser user, IMAPFolder folder, IMAPMessage msg) throws Exception {
 		if (msg.isExposed()) {
 			return msg;
 		}
@@ -292,11 +280,11 @@
 			return msg;
 		} catch (IOException e) {
 			e.printStackTrace();
-			throw new IMAPServiceException("Unable to expose msg for uid "
+			throw new Exception("Unable to expose msg for uid "
 					+ msg.getUid());
 		} catch (IMAPException e) {
 			e.printStackTrace();
-			throw new IMAPServiceException("Unable to expose msg for uid "
+			throw new Exception("Unable to expose msg for uid "
 					+ msg.getUid());
 
 		} finally {
@@ -312,7 +300,7 @@
 
 	
 	public ArrayList<IMAPFolder> getFolders(IMAPUser user)
-			throws IMAPServiceException {
+			throws Exception {
 		ArrayList<IMAPFolder> fList = new ArrayList<IMAPFolder>();
 		IMAPProtocol protocol = null;
 		try {
@@ -346,11 +334,11 @@
 			return fList;
 		} catch (IOException e) {
 			e.printStackTrace();
-			throw new IMAPServiceException("Unable to get folders for User "
+			throw new Exception("Unable to get folders for User "
 					+ user);
 		} catch (IMAPException e) {
 			e.printStackTrace();
-			throw new IMAPServiceException("Unable to get folders for User "
+			throw new Exception("Unable to get folders for User "
 					+ user);
 		} finally {
 			if (protocol != null) {
@@ -379,36 +367,36 @@
 	}
 
 	public void addFolder(IMAPUser user, IMAPFolder folder)
-			throws IMAPServiceException {
+			throws Exception {
 		try {
 			IMAPProtocol protocol = getProtocol(user);
 			protocol.create(folder.getFullName());
 			protocol.subscribe(folder.getFullName());
 		} catch (IOException e) {
 			e.printStackTrace();
-			throw new IMAPServiceException("Error while removing folder "
+			throw new Exception("Error while removing folder "
 					+ folder + " for user " + user + ": " + e.toString());
 		} catch (IMAPException e) {
 			e.printStackTrace();
-			throw new IMAPServiceException("Error while removing folder "
+			throw new Exception("Error while removing folder "
 					+ folder + " for user " + user + ": " + e.toString());
 
 		}
 	}
 
 	public void removeFolder(IMAPUser user, IMAPFolder folder)
-			throws IMAPServiceException {
+			throws Exception {
 		try {
 			IMAPProtocol protocol = getProtocol(user);
 			protocol.unsubscribe(folder.getFullName());
 			protocol.delete(folder.getFullName());
 		} catch (IOException e) {
 			e.printStackTrace();
-			throw new IMAPServiceException("Error while removing folder "
+			throw new Exception("Error while removing folder "
 					+ folder + " for user " + user + ": " + e.toString());
 		} catch (IMAPException e) {
 			e.printStackTrace();
-			throw new IMAPServiceException("Error while removing folder "
+			throw new Exception("Error while removing folder "
 					+ folder + " for user " +  user+ ": " + e.toString());
 
 		}

Modified: labs/hupa/src/main/java/org/apache/hupa/server/LoginUserHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/LoginUserHandler.java?rev=792057&r1=792056&r2=792057&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/server/LoginUserHandler.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/server/LoginUserHandler.java Wed Jul  8 07:35:39 2009
@@ -28,7 +28,6 @@
 import org.apache.hupa.client.data.IMAPUser;
 import org.apache.hupa.client.rpc.LoginUser;
 import org.apache.hupa.client.rpc.LoginUserResult;
-import org.apache.hupa.client.services.IMAPServiceException;
 import org.columba.ristretto.imap.IMAPException;
 import org.columba.ristretto.imap.IMAPProtocol;
 
@@ -37,12 +36,9 @@
 
 	public LoginUserResult execute(LoginUser action, ExecutionContext context)
 			throws ActionException {
-		try {
-			return new LoginUserResult(login(action.getUserName(), action
+		return new LoginUserResult(login(action.getUserName(), action
 					.getPassword()));
-		} catch (IMAPServiceException e) {
-			throw new ActionException(e);
-		}
+		
 	}
 
 	public void rollback(LoginUser user, LoginUserResult result,
@@ -55,7 +51,7 @@
 	}
 
 	protected IMAPUser login(String username, String password)
-			throws IMAPServiceException {
+			throws ActionException {
 
 		try {
 			IMAPUser user = new IMAPUser();
@@ -70,9 +66,9 @@
 			return user;
 
 		} catch (IOException e) {
-			throw new IMAPServiceException(e.getMessage());
+			throw new ActionException(e);
 		} catch (IMAPException e) {
-			throw new IMAPServiceException(e.getMessage());
+			throw new ActionException(e);
 		}
 	}
 }

Modified: labs/hupa/src/main/java/org/apache/hupa/server/LogoutUserHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/LogoutUserHandler.java?rev=792057&r1=792056&r2=792057&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/server/LogoutUserHandler.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/server/LogoutUserHandler.java Wed Jul  8 07:35:39 2009
@@ -1,3 +1,23 @@
+/****************************************************************
+ * 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 net.customware.gwt.dispatch.server.ExecutionContext;

Modified: labs/hupa/src/main/java/org/apache/hupa/server/gin/ServerModul.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/gin/ServerModul.java?rev=792057&r1=792056&r2=792057&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/server/gin/ServerModul.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/server/gin/ServerModul.java Wed Jul  8 07:35:39 2009
@@ -19,9 +19,10 @@
 
 package org.apache.hupa.server.gin;
 
-import net.customware.gwt.dispatch.server.guice.ServerDispatchModule;
+import net.customware.gwt.dispatch.server.guice.ActionHandlerModule;
 
 import org.apache.hupa.server.FetchFoldersHandler;
+import org.apache.hupa.server.FetchMessagesHandler;
 import org.apache.hupa.server.LoginUserHandler;
 import org.apache.hupa.server.LogoutUserHandler;
 
@@ -31,12 +32,14 @@
  * @author norman
  *
  */
-public class ServerModul extends ServerDispatchModule{
+public class ServerModul extends ActionHandlerModule{
 
+	
 	@Override
 	protected void configureHandlers() {
 		bindHandler(LoginUserHandler.class);
 		bindHandler(FetchFoldersHandler.class);
+		bindHandler(FetchMessagesHandler.class);
 		bindHandler(LogoutUserHandler.class);
 	}
 }



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