Author: dongxu
Date: Thu Sep 12 02:12:04 2013
New Revision: 1522126

URL: http://svn.apache.org/r1522126
Log: (empty)

Added:
    
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/EntityLocator.java
    
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/IMAPFolderImpl.java
      - copied, changed from r1522125, 
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/IMAPFolder.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/proxy/
    
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/proxy/AbstractEntityProxy.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rf/
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rf/Entity.java
    
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rf/EntityBase.java
Modified:
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MainView.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageTableModel.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/IMAPFolderProxy.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageTableModel.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java
    
james/hupa/trunk/client/src/test/java/org/apache/hupa/client/mvp/MessageSendPresenterTest.java
    
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractFetchMessagesHandler.java
    
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/FetchFoldersHandler.java
    
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/IMAPFolderService.java
    
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/CreateFolderHandlerTest.java
    
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteFolderHandlerTest.java
    
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteMessageByUidHandlerTest.java
    
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchMessagesHandlerTest.java
    
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FowardMessageHandlerTest.java
    
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java
    
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/HandlersTest.java
    
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/ReplyMessageHandlerTest.java
    
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorageTest.java
    
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InSessionUserPreferencesStorageTest.java
    
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/IMAPFolder.java

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java
 Thu Sep 12 02:12:04 2013
@@ -34,6 +34,7 @@ import org.apache.hupa.client.mvp.Messag
 import org.apache.hupa.client.widgets.HasDialog;
 import org.apache.hupa.client.widgets.IMAPTreeItem;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.data.Message;
 import org.apache.hupa.shared.data.Message.IMAPFlag;
 import org.apache.hupa.shared.data.MessageDetails;
@@ -180,7 +181,7 @@ public class MainPresenter extends Widge
 
                 public void onEditEvent(EditEvent event) {
                     if (event.getEventType().equals(EditEvent.EventType.Stop)) 
{
-                        IMAPFolder iFolder = new IMAPFolder((String) 
event.getOldValue());
+                        IMAPFolder iFolder = new IMAPFolderImpl((String) 
event.getOldValue());
                         final String newName = (String) event.getNewValue();
                         if (iFolder.getFullName().equalsIgnoreCase(newName) == 
false) {
                             dispatcher.execute(new RenameFolder(iFolder, 
newName), new HupaCallback<GenericResult>(dispatcher, eventBus) {
@@ -446,7 +447,7 @@ public class MainPresenter extends Widge
                         final IMAPTreeItem item = (IMAPTreeItem) 
event.getSource();
                         final String newValue = (String) event.getNewValue();
                         if 
(event.getEventType().equals(EditEvent.EventType.Stop)) {
-                            dispatcher.execute(new CreateFolder(new 
IMAPFolder(newValue.trim())), new AsyncCallback<GenericResult>() {
+                            dispatcher.execute(new CreateFolder(new 
IMAPFolderImpl(newValue.trim())), new AsyncCallback<GenericResult>() {
 
                                 public void onFailure(Throwable caught) {
                                     GWT.log("Error while create folder", 
caught);
@@ -479,7 +480,7 @@ public class MainPresenter extends Widge
 
             public void onLogin(LoginEvent event) {
                 user = event.getUser();
-                folder = new 
IMAPFolder(user.getSettings().getInboxFolderName());;
+                folder = new 
IMAPFolderImpl(user.getSettings().getInboxFolderName());;
                 searchValue = null;
                 showMessageTable(user, folder, searchValue);
             }

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MainView.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MainView.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MainView.java 
(original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MainView.java 
Thu Sep 12 02:12:04 2013
@@ -33,6 +33,7 @@ import org.apache.hupa.client.widgets.Co
 import org.apache.hupa.client.widgets.HasDialog;
 import org.apache.hupa.client.widgets.IMAPTreeItem;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.data.Message;
 import org.apache.hupa.shared.data.Message.IMAPFlag;
 import org.apache.hupa.shared.data.User;
@@ -60,7 +61,6 @@ import com.google.gwt.user.client.ui.Com
 import com.google.gwt.user.client.ui.DockPanel;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Panel;
-import com.google.gwt.user.client.ui.SimplePanel;
 import com.google.gwt.user.client.ui.Tree;
 import com.google.gwt.user.client.ui.TreeItem;
 import com.google.gwt.user.client.ui.VerticalPanel;
@@ -441,7 +441,7 @@ public class MainView extends Composite 
 
         // Generate a new folder with a whitespace as name, this is needed as
         // workaround
-        IMAPFolder folder = new IMAPFolder(oldFolder.getFullName() + 
oldFolder.getDelimiter() + " ");
+        IMAPFolder folder = new IMAPFolderImpl(oldFolder.getFullName() + 
oldFolder.getDelimiter() + " ");
         folder.setDelimiter(oldFolder.getDelimiter());
 
         final IMAPTreeItem newItem = new IMAPTreeItem(folder);

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageTableModel.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageTableModel.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageTableModel.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageTableModel.java
 Thu Sep 12 02:12:04 2013
@@ -26,6 +26,7 @@ import net.customware.gwt.presenter.clie
 
 import org.apache.hupa.client.HupaCallback;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.data.Message;
 import org.apache.hupa.shared.data.User;
 import org.apache.hupa.shared.events.FolderSelectionEvent;
@@ -84,7 +85,7 @@ public class MessageTableModel extends M
             
             public void onLogin(LoginEvent event) {
                 user = event.getUser();
-                folder = new 
IMAPFolder(user.getSettings().getInboxFolderName());
+                folder = new 
IMAPFolderImpl(user.getSettings().getInboxFolderName());
                 searchValue = null;
             }
         });

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/IMAPFolderProxy.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/IMAPFolderProxy.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/IMAPFolderProxy.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/IMAPFolderProxy.java
 Thu Sep 12 02:12:04 2013
@@ -1,15 +1,11 @@
 package org.apache.hupa.client.rf;
 
-import java.util.List;
-
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.proxy.AbstractEntityProxy;
 
-import com.google.web.bindery.requestfactory.shared.EntityProxy;
 import com.google.web.bindery.requestfactory.shared.ProxyFor;
 
 @ProxyFor(IMAPFolder.class)
-public interface IMAPFolderProxy extends EntityProxy {
-//     List<IMAPFolder> requestFolders();
-       Long getId();
-       Long getVersion();
+public interface IMAPFolderProxy extends AbstractEntityProxy {
+       
 }

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageTableModel.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageTableModel.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageTableModel.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageTableModel.java
 Thu Sep 12 02:12:04 2013
@@ -25,6 +25,7 @@ import net.customware.gwt.dispatch.clien
 
 import org.apache.hupa.client.evo.HupaEvoCallback;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.data.Message;
 import org.apache.hupa.shared.data.User;
 import org.apache.hupa.shared.events.FolderSelectionEvent;
@@ -84,7 +85,7 @@ public class MessageTableModel extends M
             
             public void onLogin(LoginEvent event) {
                 user = event.getUser();
-                folder = new 
IMAPFolder(user.getSettings().getInboxFolderName());
+                folder = new 
IMAPFolderImpl(user.getSettings().getInboxFolderName());
                 searchValue = null;
             }
         });

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java 
(original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java 
Thu Sep 12 02:12:04 2013
@@ -90,6 +90,7 @@ import org.apache.hupa.client.widgets.Co
 import org.apache.hupa.client.widgets.HasDialog;
 import org.apache.hupa.client.widgets.IMAPTreeItem;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.data.Message;
 import org.apache.hupa.shared.data.Message.IMAPFlag;
 import org.apache.hupa.shared.data.User;
@@ -499,7 +500,7 @@ public class WestView extends Composite 
 
         // Generate a new folder with a whitespace as name, this is needed as
         // workaround
-        IMAPFolder folder = new IMAPFolder(oldFolder.getFullName() + 
oldFolder.getDelimiter() + " ");
+        IMAPFolder folder = new IMAPFolderImpl(oldFolder.getFullName() + 
oldFolder.getDelimiter() + " ");
         folder.setDelimiter(oldFolder.getDelimiter());
 
         final IMAPTreeItem newItem = new IMAPTreeItem(folder);

Modified: 
james/hupa/trunk/client/src/test/java/org/apache/hupa/client/mvp/MessageSendPresenterTest.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/test/java/org/apache/hupa/client/mvp/MessageSendPresenterTest.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/test/java/org/apache/hupa/client/mvp/MessageSendPresenterTest.java
 (original)
+++ 
james/hupa/trunk/client/src/test/java/org/apache/hupa/client/mvp/MessageSendPresenterTest.java
 Thu Sep 12 02:12:04 2013
@@ -18,7 +18,8 @@
  ****************************************************************/
 package org.apache.hupa.client.mvp;
 
-import com.google.inject.Module;
+import java.util.ArrayList;
+import java.util.Arrays;
 
 import net.customware.gwt.dispatch.client.DispatchAsync;
 import net.customware.gwt.dispatch.shared.Action;
@@ -26,11 +27,12 @@ import net.customware.gwt.presenter.clie
 
 import org.apache.hupa.client.HupaCallback;
 import org.apache.hupa.client.HupaMvpTestCase;
+import org.apache.hupa.client.guice.GuiceClientTestModule;
 import org.apache.hupa.client.guice.GuiceMvpTestModule;
 import org.apache.hupa.client.guice.GuiceMvpTestModule.DispatchTestAsync;
 import org.apache.hupa.client.mvp.MessageSendPresenter.Type;
-import org.apache.hupa.client.guice.GuiceClientTestModule;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.data.Message;
 import org.apache.hupa.shared.data.MessageDetails;
 import org.apache.hupa.shared.data.SMTPMessage;
@@ -43,8 +45,7 @@ import org.apache.hupa.shared.rpc.ReplyM
 import org.apache.hupa.shared.rpc.SendMessage;
 import org.easymock.EasyMock;
 
-import java.util.ArrayList;
-import java.util.Arrays;
+import com.google.inject.Module;
 
 public class MessageSendPresenterTest extends HupaMvpTestCase {
 
@@ -221,7 +222,7 @@ public class MessageSendPresenterTest ex
         oldDetails.setText("Message");
         oldDetails.setUid(0l);
         
-        IMAPFolder folder = new IMAPFolder();
+        IMAPFolder folder = new IMAPFolderImpl();
         folder.setFullName("FOLDER");
         
         presenter.bind();

Modified: 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractFetchMessagesHandler.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractFetchMessagesHandler.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractFetchMessagesHandler.java
 (original)
+++ 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractFetchMessagesHandler.java
 Thu Sep 12 02:12:04 2013
@@ -40,6 +40,7 @@ import org.apache.hupa.server.IMAPStoreC
 import org.apache.hupa.server.preferences.UserPreferencesStorage;
 import org.apache.hupa.server.utils.MessageUtils;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.data.Message.IMAPFlag;
 import org.apache.hupa.shared.data.Tag;
 import org.apache.hupa.shared.data.User;
@@ -64,7 +65,7 @@ public abstract class AbstractFetchMessa
         User user = getUser();
         IMAPFolder folder = action.getFolder();
         if (folder == null) {
-            folder = new IMAPFolder(user.getSettings().getInboxFolderName());
+            folder = new 
IMAPFolderImpl(user.getSettings().getInboxFolderName());
         }
         com.sun.mail.imap.IMAPFolder f = null;
         int start = action.getStart();

Modified: 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/FetchFoldersHandler.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/FetchFoldersHandler.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/FetchFoldersHandler.java
 (original)
+++ 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/FetchFoldersHandler.java
 Thu Sep 12 02:12:04 2013
@@ -32,6 +32,7 @@ import net.customware.gwt.dispatch.share
 import org.apache.commons.logging.Log;
 import org.apache.hupa.server.IMAPStoreCache;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.data.User;
 import org.apache.hupa.shared.rpc.FetchFolders;
 import org.apache.hupa.shared.rpc.FetchFoldersResult;
@@ -127,7 +128,7 @@ public class FetchFoldersHandler extends
         try {
             logger.debug("Creating folder: " + fullName + " for user: " + 
getUser());
             delimiter = String.valueOf(folder.getSeparator());
-            iFolder = new IMAPFolder(fullName);
+            iFolder = new IMAPFolderImpl(fullName);
             iFolder.setDelimiter(delimiter);
             if("[Gmail]".equals(folder.getFullName()))
                 return iFolder;

Added: 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/EntityLocator.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/EntityLocator.java?rev=1522126&view=auto
==============================================================================
--- 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/EntityLocator.java
 (added)
+++ 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/EntityLocator.java
 Thu Sep 12 02:12:04 2013
@@ -0,0 +1,46 @@
+package org.apache.hupa.server.locator;
+
+import org.apache.hupa.shared.rf.EntityBase;
+
+import com.google.web.bindery.requestfactory.shared.Locator;
+
+public class EntityLocator extends Locator<EntityBase, Long> {
+
+       @Override
+       public EntityBase create(Class<? extends EntityBase> clazz) {
+               try {
+                       return clazz.newInstance();
+               } catch (InstantiationException e) {
+                       throw new RuntimeException(e);
+               } catch (IllegalAccessException e) {
+                       throw new RuntimeException(e);
+               }
+       }
+
+       @Override
+       public EntityBase find(Class<? extends EntityBase> clazz, Long id) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Class<EntityBase> getDomainType() {
+               throw new UnsupportedOperationException();
+       }
+
+       @Override
+       public Long getId(EntityBase domainObject) {
+               return domainObject.getId();
+       }
+
+       @Override
+       public Class<Long> getIdType() {
+               return Long.class;
+       }
+
+       @Override
+       public Object getVersion(EntityBase domainObject) {
+               return domainObject.getVersion();
+       }
+
+}

Modified: 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/IMAPFolderService.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/IMAPFolderService.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/IMAPFolderService.java
 (original)
+++ 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/IMAPFolderService.java
 Thu Sep 12 02:12:04 2013
@@ -6,7 +6,6 @@ import java.util.Properties;
 
 import javax.mail.Folder;
 import javax.mail.MessagingException;
-import javax.mail.NoSuchProviderException;
 import javax.mail.Session;
 import javax.servlet.http.HttpSession;
 
@@ -14,6 +13,7 @@ import net.customware.gwt.dispatch.share
 
 import org.apache.hupa.shared.SConsts;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.data.User;
 
 import com.google.web.bindery.requestfactory.server.RequestFactoryServlet;
@@ -83,7 +83,7 @@ public class IMAPFolderService {
         try {
             System.out.println("Creating folder: " + fullName + " for user: ");
             delimiter = String.valueOf(folder.getSeparator());
-            iFolder = new IMAPFolder(fullName);
+            iFolder = new IMAPFolderImpl(fullName);
             iFolder.setDelimiter(delimiter);
             if("[Gmail]".equals(folder.getFullName()))
                 return iFolder;

Modified: 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/CreateFolderHandlerTest.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/CreateFolderHandlerTest.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/CreateFolderHandlerTest.java
 (original)
+++ 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/CreateFolderHandlerTest.java
 Thu Sep 12 02:12:04 2013
@@ -18,6 +18,9 @@
  ****************************************************************/
 package org.apache.hupa.server.handler;
 
+import javax.mail.Folder;
+import javax.mail.MessagingException;
+
 import net.customware.gwt.dispatch.shared.ActionException;
 
 import org.apache.hupa.server.HupaGuiceTestCase;
@@ -25,12 +28,10 @@ import org.apache.hupa.server.mock.MockI
 import org.apache.hupa.server.mock.MockIMAPStore;
 import org.apache.hupa.shared.SConsts;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.exception.InvalidSessionException;
 import org.apache.hupa.shared.rpc.CreateFolder;
 
-import javax.mail.Folder;
-import javax.mail.MessagingException;
-
 public class CreateFolderHandlerTest extends HupaGuiceTestCase {
     
     public void testCreate() throws MessagingException {
@@ -75,7 +76,7 @@ public class CreateFolderHandlerTest ext
     }
     
     private IMAPFolder createFolder() {
-        IMAPFolder folder = new IMAPFolder();
+        IMAPFolder folder = new IMAPFolderImpl();
         folder.setFullName("NewFolder");
         folder.setDelimiter(String.valueOf(MockIMAPFolder.SEPARATOR));
         return folder;

Modified: 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteFolderHandlerTest.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteFolderHandlerTest.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteFolderHandlerTest.java
 (original)
+++ 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteFolderHandlerTest.java
 Thu Sep 12 02:12:04 2013
@@ -18,6 +18,9 @@
  ****************************************************************/
 package org.apache.hupa.server.handler;
 
+import javax.mail.Folder;
+import javax.mail.MessagingException;
+
 import net.customware.gwt.dispatch.shared.ActionException;
 
 import org.apache.hupa.server.HupaGuiceTestCase;
@@ -25,12 +28,10 @@ import org.apache.hupa.server.mock.MockI
 import org.apache.hupa.server.mock.MockIMAPStore;
 import org.apache.hupa.shared.SConsts;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.exception.InvalidSessionException;
 import org.apache.hupa.shared.rpc.DeleteFolder;
 
-import javax.mail.Folder;
-import javax.mail.MessagingException;
-
 public class DeleteFolderHandlerTest extends HupaGuiceTestCase {
 
     public void testDelete() throws MessagingException {
@@ -71,7 +72,7 @@ public class DeleteFolderHandlerTest ext
     }
     
     private IMAPFolder createFolder() {
-        IMAPFolder folder = new IMAPFolder();
+        IMAPFolder folder = new IMAPFolderImpl();
         folder.setFullName("NewFolder");
         folder.setDelimiter(String.valueOf(MockIMAPFolder.SEPARATOR));
         return folder;

Modified: 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteMessageByUidHandlerTest.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteMessageByUidHandlerTest.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteMessageByUidHandlerTest.java
 (original)
+++ 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteMessageByUidHandlerTest.java
 Thu Sep 12 02:12:04 2013
@@ -19,25 +19,26 @@
 
 package org.apache.hupa.server.handler;
 
+import java.util.ArrayList;
+
+import javax.mail.Folder;
+import javax.mail.Message;
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
+
 import net.customware.gwt.dispatch.shared.ActionException;
 
 import org.apache.hupa.server.HupaGuiceTestCase;
 import org.apache.hupa.server.mock.MockIMAPFolder;
 import org.apache.hupa.server.mock.MockIMAPStore;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.rpc.DeleteMessageByUid;
 
-import java.util.ArrayList;
-
-import javax.mail.Folder;
-import javax.mail.Message;
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
-
 public class DeleteMessageByUidHandlerTest extends HupaGuiceTestCase {
     
     public void testDeleteFolderNotExists() throws MessagingException {
-        IMAPFolder folder = new IMAPFolder();
+        IMAPFolder folder = new IMAPFolderImpl();
         folder.setFullName("NOT_EXISTS");
         DeleteMessageByUid action = new DeleteMessageByUid(folder,new 
ArrayList<Long>());
         try {
@@ -48,7 +49,7 @@ public class DeleteMessageByUidHandlerTe
     }
     
     public void testDeleteFolderExistsAndNotTrash() throws MessagingException {
-        IMAPFolder folder = new IMAPFolder();
+        IMAPFolder folder = new IMAPFolderImpl();
         folder.setFullName("EXISTS");
         MockIMAPStore store = (MockIMAPStore) storeCache.get(testUser);
         store.clear();
@@ -77,7 +78,7 @@ public class DeleteMessageByUidHandlerTe
     }
     
     public void testDeleteFolderExistsAndIsTrash() throws MessagingException {
-        IMAPFolder folder = new IMAPFolder();
+        IMAPFolder folder = new IMAPFolderImpl();
         folder.setFullName(testUser.getSettings().getTrashFolderName());
         MockIMAPStore store = (MockIMAPStore) storeCache.get(testUser);
         

Modified: 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchMessagesHandlerTest.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchMessagesHandlerTest.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchMessagesHandlerTest.java
 (original)
+++ 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchMessagesHandlerTest.java
 Thu Sep 12 02:12:04 2013
@@ -19,21 +19,22 @@
 
 package org.apache.hupa.server.handler;
 
-import org.apache.hupa.server.HupaGuiceTestCase;
-import org.apache.hupa.server.mock.MockIMAPFolder;
-import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.rpc.FetchMessages;
-import org.apache.hupa.shared.rpc.FetchMessagesResult;
-
 import java.io.ByteArrayInputStream;
 import java.util.ArrayList;
 
 import javax.mail.Flags;
+import javax.mail.Flags.Flag;
 import javax.mail.Folder;
 import javax.mail.Message;
-import javax.mail.Flags.Flag;
 import javax.mail.internet.MimeMessage;
 
+import org.apache.hupa.server.HupaGuiceTestCase;
+import org.apache.hupa.server.mock.MockIMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
+import org.apache.hupa.shared.rpc.FetchMessages;
+import org.apache.hupa.shared.rpc.FetchMessagesResult;
+
 public class FetchMessagesHandlerTest extends HupaGuiceTestCase {
 
     public void testConvert() throws Exception {
@@ -70,7 +71,7 @@ public class FetchMessagesHandlerTest ex
         MockIMAPFolder serverfolder = 
(MockIMAPFolder)store.getFolder("WHATEVER"); 
         serverfolder.create(Folder.HOLDS_MESSAGES);
         
-        IMAPFolder clientfolder = new IMAPFolder("WHATEVER");
+        IMAPFolder clientfolder = new IMAPFolderImpl("WHATEVER");
         FetchMessagesResult result = fetchMessagesHandler.execute(new 
FetchMessages(clientfolder, 0, 10, "*"), null);
         assertEquals(0, result.getRealCount());
         

Modified: 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FowardMessageHandlerTest.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FowardMessageHandlerTest.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FowardMessageHandlerTest.java
 (original)
+++ 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FowardMessageHandlerTest.java
 Thu Sep 12 02:12:04 2013
@@ -27,6 +27,7 @@ import org.apache.hupa.server.mock.MockI
 import org.apache.hupa.server.mock.MockIMAPStore;
 import org.apache.hupa.server.utils.TestUtils;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.data.SMTPMessage;
 import org.apache.hupa.shared.rpc.ForwardMessage;
 
@@ -51,7 +52,7 @@ public class FowardMessageHandlerTest ex
         message = inbox.getMessageByUID(msgUid);
         assertNotNull(message);
         
-        IMAPFolder ifolder = new IMAPFolder(inbox.getFullName());
+        IMAPFolder ifolder = new IMAPFolderImpl(inbox.getFullName());
         SMTPMessage smtpmsg = TestUtils.createMockSMTPMessage(registry, 2);
         ForwardMessage action = new ForwardMessage(smtpmsg, ifolder, msgUid);
         

Modified: 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java
 (original)
+++ 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java
 Thu Sep 12 02:12:04 2013
@@ -19,17 +19,17 @@
 
 package org.apache.hupa.server.handler;
 
-import com.sun.mail.imap.IMAPFolder;
-import com.sun.mail.imap.IMAPStore;
+import javax.mail.Folder;
+import javax.mail.Message;
+import javax.mail.internet.MimeMessage;
 
 import org.apache.hupa.server.HupaGuiceTestCase;
 import org.apache.hupa.server.utils.TestUtils;
 import org.apache.hupa.shared.SConsts;
 import org.apache.hupa.shared.data.MessageDetails;
 
-import javax.mail.Folder;
-import javax.mail.Message;
-import javax.mail.internet.MimeMessage;
+import com.sun.mail.imap.IMAPFolder;
+import com.sun.mail.imap.IMAPStore;
 
 public class GetMessageDetailsHandlerTest extends HupaGuiceTestCase {
 
@@ -182,7 +182,7 @@ public class GetMessageDetailsHandlerTes
         MimeMessage msg = TestUtils.loadMessageFromFile(session,"7.msg");
         serverfolder.addMessages(new Message[]{msg});
         
-        org.apache.hupa.shared.data.IMAPFolder clientfolder = new 
org.apache.hupa.shared.data.IMAPFolder("WHATEVER");
+        org.apache.hupa.shared.data.IMAPFolder clientfolder = new 
org.apache.hupa.shared.data.IMAPFolderImpl("WHATEVER");
         MessageDetails details = getDetailsHandler.exposeMessage(testUser, 
clientfolder, 0);
         
         // inline images have to be downloaded from the server

Modified: 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/HandlersTest.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/HandlersTest.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/HandlersTest.java
 (original)
+++ 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/HandlersTest.java
 Thu Sep 12 02:12:04 2013
@@ -29,8 +29,8 @@ import net.customware.gwt.dispatch.share
 
 import org.apache.hupa.server.HupaGuiceTestCase;
 import org.apache.hupa.server.guice.GuiceServerTestModule;
-import org.apache.hupa.server.guice.providers.LogProvider;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.rpc.CreateFolder;
 import org.apache.hupa.shared.rpc.DeleteFolder;
 import org.apache.hupa.shared.rpc.FetchFolders;
@@ -74,7 +74,7 @@ public class HandlersTest extends HupaGu
         IMAPStore store = storeCache.get(testUser);
         
         String folderName = testUser.getSettings().getInboxFolderName();
-        IMAPFolder sFolder = new IMAPFolder();
+        IMAPFolder sFolder = new IMAPFolderImpl();
         sFolder.setFullName(folderName);
         
         com.sun.mail.imap.IMAPFolder f1 = 
(com.sun.mail.imap.IMAPFolder)store.getFolder(sFolder.getFullName());
@@ -98,7 +98,7 @@ public class HandlersTest extends HupaGu
         IMAPStore store = storeCache.get(testUser);
         
         String folderName = testUser.getSettings().getInboxFolderName() + 
store.getDefaultFolder().getSeparator() + "newFolder";
-        IMAPFolder sFolder = new IMAPFolder();
+        IMAPFolder sFolder = new IMAPFolderImpl();
         sFolder.setFullName(folderName);
         
         Folder f1 = store.getFolder(sFolder.getFullName());

Modified: 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/ReplyMessageHandlerTest.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/ReplyMessageHandlerTest.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/ReplyMessageHandlerTest.java
 (original)
+++ 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/ReplyMessageHandlerTest.java
 Thu Sep 12 02:12:04 2013
@@ -26,7 +26,7 @@ import org.apache.hupa.server.mock.MockI
 import org.apache.hupa.server.mock.MockIMAPStore;
 import org.apache.hupa.server.utils.SessionUtils;
 import org.apache.hupa.server.utils.TestUtils;
-import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.data.SMTPMessage;
 import org.apache.hupa.shared.rpc.ReplyMessage;
 
@@ -65,7 +65,7 @@ public class ReplyMessageHandlerTest ext
         
         // Create a reply user action with an uploaded message
         SMTPMessage smtpmsg = TestUtils.createMockSMTPMessage(registry, 1);
-        ReplyMessage action = new ReplyMessage(smtpmsg, new 
IMAPFolder(inbox.getFullName()), msgUid);
+        ReplyMessage action = new ReplyMessage(smtpmsg, new 
IMAPFolderImpl(inbox.getFullName()), msgUid);
         
         message = reMsgHndl.createMessage(session, action);
         message = reMsgHndl.fillBody(message, action);

Modified: 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorageTest.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorageTest.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorageTest.java
 (original)
+++ 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorageTest.java
 Thu Sep 12 02:12:04 2013
@@ -31,6 +31,7 @@ import org.apache.hupa.server.guice.prov
 import org.apache.hupa.server.utils.SessionUtils;
 import org.apache.hupa.server.utils.TestUtils;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.data.SMTPMessage;
 import org.apache.hupa.shared.rpc.FetchMessages;
 import org.apache.hupa.shared.rpc.FetchMessagesResult;
@@ -134,7 +135,7 @@ public class InImapUserPreferencesStorag
             assertTrue(folder.getMessageCount() == 0);
         
         // Fetch inbox messages
-        IMAPFolder cFolder = new 
IMAPFolder(testUser.getSettings().getInboxFolderName());
+        IMAPFolder cFolder = new 
IMAPFolderImpl(testUser.getSettings().getInboxFolderName());
         FetchMessagesResult result = fetchMessagesHandler.execute(new 
FetchMessages(cFolder, 0, 10, null), null);
         
         // Could be possible that there insn't any message in inbox

Modified: 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InSessionUserPreferencesStorageTest.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InSessionUserPreferencesStorageTest.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InSessionUserPreferencesStorageTest.java
 (original)
+++ 
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InSessionUserPreferencesStorageTest.java
 Thu Sep 12 02:12:04 2013
@@ -25,6 +25,7 @@ import org.apache.hupa.server.handler.Fe
 import org.apache.hupa.server.utils.SessionUtils;
 import org.apache.hupa.server.utils.TestUtils;
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.IMAPFolderImpl;
 import org.apache.hupa.shared.data.SMTPMessage;
 import org.apache.hupa.shared.rpc.FetchFolders;
 import org.apache.hupa.shared.rpc.FetchMessages;
@@ -44,7 +45,7 @@ public class InSessionUserPreferencesSto
         FetchFoldersHandler fetchFoldersHandler = 
injector.getInstance(FetchFoldersHandler.class); 
         fetchFoldersHandler.execute(new FetchFolders(), null);
         
-        IMAPFolder folder = new 
IMAPFolder(testUser.getSettings().getInboxFolderName());
+        IMAPFolder folder = new 
IMAPFolderImpl(testUser.getSettings().getInboxFolderName());
         FetchMessagesHandler fetchMessagesHandler = 
injector.getInstance(FetchMessagesHandler.class); 
         FetchMessagesResult result = fetchMessagesHandler.execute(new 
FetchMessages(folder, 0, 10, null), null);
         

Modified: 
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/IMAPFolder.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/IMAPFolder.java?rev=1522126&r1=1522125&r2=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/IMAPFolder.java
 (original)
+++ 
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/IMAPFolder.java
 Thu Sep 12 02:12:04 2013
@@ -19,69 +19,19 @@
 
 package org.apache.hupa.shared.data;
 
-import java.io.Serializable;
 import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
 
-import javax.servlet.http.HttpSession;
-
-import com.google.web.bindery.requestfactory.server.RequestFactoryServlet;
+import org.apache.hupa.shared.rf.Entity;
 
 /**
  * IMAPFolder
  * 
  */
-public class IMAPFolder implements Serializable {
-       
-       private Long id;
-       private Long version;
-       
-
-    public Long getId() {
-               return id;
-       }
-
-       public void setId(Long id) {
-               this.id = id;
-       }
-
-       public Long getVersion() {
-               return version;
-       }
-
-       public void setVersion(Long version) {
-               this.version = version;
-       }
-       
-       
-
-       /**
-     * 
-     */
-    private static final long serialVersionUID = 2084188092060266479L;
-
-    private ArrayList<IMAPFolder> childs = new ArrayList<IMAPFolder>();
-    private String fullName;
-    private String delimiter;
-    private int msgCount;
-    private int unseenMsgCount;
-    private boolean subscribed = false;
-
-    public IMAPFolder() {
-    }
-
-    public IMAPFolder(String fullName) {
-        setFullName(fullName);
-    }
-
-    public void setSubscribed(boolean subscribed) {
-        this.subscribed = subscribed;
-    }
+public interface IMAPFolder extends Entity{
+
+    public void setSubscribed(boolean subscribed);
     
-    public boolean getSubscribed() {
-        return subscribed;
-    }
+    public boolean getSubscribed();
     
     
     /**
@@ -89,123 +39,76 @@ public class IMAPFolder implements Seria
      * 
      * @return name
      */
-    public String getName() {
-        if (delimiter != null) {
-            String fParts[] = getFullName().split("\\" + delimiter);
-            if (fParts != null && fParts.length > 0) {
-                return fParts[fParts.length - 1];
-            }
-        }
-        return fullName;
-    }
+    public String getName();
 
     /**
      * Set the child folders 
      * 
      * @param childs
      */
-    public void setChildIMAPFolders(ArrayList<IMAPFolder> childs) {
-        this.childs = childs;
-    }
+    public void setChildIMAPFolders(ArrayList<IMAPFolder> childs);
 
     /**
      * Return the childs of this folder
      * 
      * @return childs
      */
-    public ArrayList<IMAPFolder> getChildIMAPFolders() {
-        return childs;
-    }
+    public ArrayList<IMAPFolder> getChildIMAPFolders();
 
     /**
      * Return the full name of the folder. This include the full path
      * @return Full name of the folder
      */
-    public String getFullName() {
-        return fullName;
-    }
+    public String getFullName();
 
     /**
      * Set the full name of the folder
      * 
      * @param fullName
      */
-    public void setFullName(String fullName) {
-        this.fullName = fullName;
-    }
+    public void setFullName(String fullName);
 
     /**
      * Set the delimiter which is used to seperate folders
      * 
      * @param delimiter
      */
-    public void setDelimiter(String delimiter) {
-        this.delimiter = delimiter;
-    }
+    public void setDelimiter(String delimiter) ;
 
     /**
      * Return the delimiter
      * 
      * @return delimiter
      */
-    public String getDelimiter() {
-        return delimiter;
-    }
+    public String getDelimiter();
 
     /**
      * Return the total message count of the messages that exists within this 
folder
      * 
      * @return msgCount
      */
-    public int getMessageCount() {
-        return msgCount;
-    }
+    public int getMessageCount();
 
     /**
      * Set total message count
      * 
      * @param msgCount
      */
-    public void setMessageCount(int msgCount) {
-        this.msgCount = msgCount;
-    }
+    public void setMessageCount(int msgCount);
 
     /**
      * Set the count of all unseen messages within this folder
      * 
      * @param unseenMsgCount
      */
-    public void setUnseenMessageCount(int unseenMsgCount) {
-        this.unseenMsgCount = unseenMsgCount;
-    }
+    public void setUnseenMessageCount(int unseenMsgCount) ;
 
     /**
      * Return the unseen message count
      * 
      * @return unseenMsgCount
      */
-    public int getUnseeMessageCount() {
-        return unseenMsgCount;
-    }
-
-    @Override
-    public String toString() {
-        return getFullName();
-    }
-    
-    @Override
-    public boolean equals(Object o) {
-        if (o instanceof IMAPFolder) {
-            if (((IMAPFolder) o).getFullName().equals(getFullName())) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public int hashCode() {
-        return getFullName().hashCode();
-    }
+    public int getUnseeMessageCount() ;
+
     
 }

Copied: 
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/IMAPFolderImpl.java
 (from r1522125, 
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/IMAPFolder.java)
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/IMAPFolderImpl.java?p2=james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/IMAPFolderImpl.java&p1=james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/IMAPFolder.java&r1=1522125&r2=1522126&rev=1522126&view=diff
==============================================================================
--- 
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/IMAPFolder.java
 (original)
+++ 
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/IMAPFolderImpl.java
 Thu Sep 12 02:12:04 2013
@@ -19,43 +19,15 @@
 
 package org.apache.hupa.shared.data;
 
-import java.io.Serializable;
 import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
 
-import javax.servlet.http.HttpSession;
-
-import com.google.web.bindery.requestfactory.server.RequestFactoryServlet;
+import org.apache.hupa.shared.rf.EntityBase;
 
 /**
  * IMAPFolder
  * 
  */
-public class IMAPFolder implements Serializable {
-       
-       private Long id;
-       private Long version;
-       
-
-    public Long getId() {
-               return id;
-       }
-
-       public void setId(Long id) {
-               this.id = id;
-       }
-
-       public Long getVersion() {
-               return version;
-       }
-
-       public void setVersion(Long version) {
-               this.version = version;
-       }
-       
-       
-
+public class IMAPFolderImpl extends EntityBase implements IMAPFolder{
        /**
      * 
      */
@@ -68,10 +40,10 @@ public class IMAPFolder implements Seria
     private int unseenMsgCount;
     private boolean subscribed = false;
 
-    public IMAPFolder() {
+    public IMAPFolderImpl() {
     }
 
-    public IMAPFolder(String fullName) {
+    public IMAPFolderImpl(String fullName) {
         setFullName(fullName);
     }
 
@@ -195,8 +167,8 @@ public class IMAPFolder implements Seria
     
     @Override
     public boolean equals(Object o) {
-        if (o instanceof IMAPFolder) {
-            if (((IMAPFolder) o).getFullName().equals(getFullName())) {
+        if (o instanceof IMAPFolderImpl) {
+            if (((IMAPFolderImpl) o).getFullName().equals(getFullName())) {
                 return true;
             }
         }

Added: 
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/proxy/AbstractEntityProxy.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/proxy/AbstractEntityProxy.java?rev=1522126&view=auto
==============================================================================
--- 
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/proxy/AbstractEntityProxy.java
 (added)
+++ 
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/proxy/AbstractEntityProxy.java
 Thu Sep 12 02:12:04 2013
@@ -0,0 +1,8 @@
+package org.apache.hupa.shared.proxy;
+
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+
+public interface AbstractEntityProxy extends EntityProxy{
+       Long getId();
+       Long getVersion();
+}

Added: 
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rf/Entity.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rf/Entity.java?rev=1522126&view=auto
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rf/Entity.java 
(added)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rf/Entity.java 
Thu Sep 12 02:12:04 2013
@@ -0,0 +1,6 @@
+package org.apache.hupa.shared.rf;
+
+public interface Entity {
+       Long getId();
+       Long getVersion();
+}

Added: 
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rf/EntityBase.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rf/EntityBase.java?rev=1522126&view=auto
==============================================================================
--- 
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rf/EntityBase.java 
(added)
+++ 
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rf/EntityBase.java 
Thu Sep 12 02:12:04 2013
@@ -0,0 +1,19 @@
+package org.apache.hupa.shared.rf;
+
+import java.io.Serializable;
+
+public class EntityBase implements Serializable {
+       private static final long serialVersionUID = 1L;
+
+       protected Long id;
+
+       private Long version;
+
+       public Long getId() {
+               return id;
+       }
+
+       public Long getVersion() {
+               return version;
+       }
+}



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

Reply via email to