Author: dongxu Date: Thu Sep 12 02:10:17 2013 New Revision: 1522123 URL: http://svn.apache.org/r1522123 Log: As the FetchFolders RequestFactory, but can not run correctly. Maybe the procedure is wrong somewhere.
Added: 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/rf/IMAPFolderRequestContext.java james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/UserDaoLocator.java james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/UserLocator.java james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/IMAPFolderService.java james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/UserDao.java Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/HupaRequestFactory.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/UserProxy.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/UserRequest.java james/hupa/trunk/server/src/main/java/org/apache/hupa/server/InMemoryIMAPStoreCache.java james/hupa/trunk/server/src/main/java/org/apache/hupa/server/domain/User.java james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/ImapFolderService.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/activity/LoginActivity.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java?rev=1522123&r1=1522122&r2=1522123&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java Thu Sep 12 02:10:17 2013 @@ -85,7 +85,6 @@ public class LoginActivity extends AppBa ======= import com.google.gwt.user.client.ui.Widget; import com.google.inject.Inject; -import com.google.inject.Provider; public class LoginActivity extends AbstractActivity { @@ -180,6 +179,25 @@ public class LoginActivity extends Abstr return; display.setLoading(true); +// HupaRequestFactory rf = GWT.create(HupaRequestFactory.class); +// rf.initialize(eventBus); +// UserRequest userRequest = rf.userRequest(); +// UserProxy user1 = userRequest.create(UserProxy.class); +// user1.setName(user); +// user1.setPassword(pass); +// userRequest.save(user1).fire(new Receiver<UserProxy>(){ +// +// @Override +// public void onSuccess(UserProxy user) { +// display.setLoading(false); +// LoginActivity.this.placeController.goTo(new MailFolderPlace().with(null)); +// doReset(); +// } +// +// }); + + + dispatcher.execute(new LoginUser(user, pass), new HupaEvoCallback<LoginUserResult>(dispatcher, eventBus, display) { public void callback(LoginUserResult result) { @@ -208,6 +226,7 @@ public class LoginActivity extends Abstr doReset(); } }); + } /** Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java?rev=1522123&r1=1522122&r2=1522123&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java Thu Sep 12 02:10:17 2013 @@ -256,6 +256,9 @@ import org.apache.hupa.client.evo.HupaEv import org.apache.hupa.client.place.IMAPMessagePlace; import org.apache.hupa.client.place.MailFolderPlace; import org.apache.hupa.client.place.MessageSendPlace; +import org.apache.hupa.client.rf.HupaRequestFactory; +import org.apache.hupa.client.rf.IMAPFolderProxy; +import org.apache.hupa.client.rf.IMAPFolderRequestContext; import org.apache.hupa.client.ui.WidgetContainerDisplayable; import org.apache.hupa.client.widgets.HasDialog; import org.apache.hupa.client.widgets.IMAPTreeItem; @@ -290,8 +293,6 @@ import org.apache.hupa.shared.events.Sen import org.apache.hupa.shared.events.SentMessageEventHandler; import org.apache.hupa.shared.rpc.CreateFolder; import org.apache.hupa.shared.rpc.DeleteFolder; -import org.apache.hupa.shared.rpc.FetchFolders; -import org.apache.hupa.shared.rpc.FetchFoldersResult; import org.apache.hupa.shared.rpc.GenericResult; import org.apache.hupa.shared.rpc.GetMessageDetails; import org.apache.hupa.shared.rpc.GetMessageDetailsResult; @@ -318,6 +319,7 @@ import com.google.gwt.user.client.ui.Acc import com.google.gwt.user.client.ui.TreeItem; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.web.bindery.requestfactory.shared.Receiver; public class WestActivity extends AbstractActivity { @@ -370,16 +372,44 @@ public class WestActivity extends Abstra protected void loadTreeItems() { display.setLoadingFolders(true); - dispatcher.execute(new FetchFolders(), new HupaEvoCallback<FetchFoldersResult>(dispatcher, eventBus, display) { - public void callback(FetchFoldersResult result) { - display.bindTreeItems(createTreeNodes(result.getFolders())); - // disable - display.getDeleteEnable().setEnabled(false); - display.getRenameEnable().setEnabled(false); - display.setLoadingFolders(false); - - } - }); + + HupaRequestFactory rf = GWT.create(HupaRequestFactory.class); + rf.initialize(eventBus); + IMAPFolderRequestContext folderRequest = rf.folderRequest(); +// IMAPFolderProxy folder = folderRequest.create(IMAPFolderProxy.class); +// folderRequest.echo("..........Hi++++").fire(new Receiver<String>(){ +// +// @Override +// public void onSuccess(String response) { +// System.out.println(response); +// +// }}); + folderRequest.requestFolders().fire(new Receiver<List<IMAPFolderProxy>>() { + + @Override + public void onSuccess(List<IMAPFolderProxy> response) { +System.out.println("1111111"+response); + display.bindTreeItems(null); +// // disable + display.getDeleteEnable().setEnabled(false); + display.getRenameEnable().setEnabled(false); + display.setLoadingFolders(false); + + } + + }); + +// dispatcher.execute(new FetchFolders(), new HupaEvoCallback<FetchFoldersResult>(dispatcher, eventBus, display) { +// public void callback(FetchFoldersResult result) { +// display.bindTreeItems(createTreeNodes(result.getFolders())); +// // disable +// display.getDeleteEnable().setEnabled(false); +// display.getRenameEnable().setEnabled(false); +// display.setLoadingFolders(false); +// +// } +// }); + } /** Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/HupaRequestFactory.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/HupaRequestFactory.java?rev=1522123&r1=1522122&r2=1522123&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/HupaRequestFactory.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/HupaRequestFactory.java Thu Sep 12 02:10:17 2013 @@ -61,5 +61,10 @@ public interface HupaRequestFactory exte SetFlagRequest setFlagRequest(); ======= SubjectRequest subjectRequest(); +<<<<<<< HEAD >>>>>>> first commit +======= + UserRequest userRequest(); + IMAPFolderRequestContext folderRequest(); +>>>>>>> As the FetchFolders RequestFactory, but can not run correctly. } \ No newline at end of file Added: 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=1522123&view=auto ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/IMAPFolderProxy.java (added) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/IMAPFolderProxy.java Thu Sep 12 02:10:17 2013 @@ -0,0 +1,15 @@ +package org.apache.hupa.client.rf; + +import java.util.List; + +import org.apache.hupa.shared.data.IMAPFolder; + +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(); +} Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/IMAPFolderRequestContext.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/IMAPFolderRequestContext.java?rev=1522123&view=auto ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/IMAPFolderRequestContext.java (added) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/IMAPFolderRequestContext.java Thu Sep 12 02:10:17 2013 @@ -0,0 +1,15 @@ +package org.apache.hupa.client.rf; + +import java.util.List; + +import org.apache.hupa.server.service.IMAPFolderService; + +import com.google.web.bindery.requestfactory.shared.Request; +import com.google.web.bindery.requestfactory.shared.RequestContext; +import com.google.web.bindery.requestfactory.shared.Service; + +@Service(IMAPFolderService.class) +public interface IMAPFolderRequestContext extends RequestContext { + Request<List<IMAPFolderProxy>> requestFolders(); + Request<String> echo(String s); +} Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/UserProxy.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/UserProxy.java?rev=1522123&r1=1522122&r2=1522123&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/UserProxy.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/UserProxy.java Thu Sep 12 02:10:17 2013 @@ -1,11 +1,20 @@ package org.apache.hupa.client.rf; + + import org.apache.hupa.server.domain.User; +import org.apache.hupa.server.locator.UserLocator; import com.google.web.bindery.requestfactory.shared.EntityProxy; import com.google.web.bindery.requestfactory.shared.ProxyFor; -@ProxyFor(value = User.class) +@ProxyFor(value = User.class, locator=UserLocator.class) public interface UserProxy extends EntityProxy { - + public Long getId(); + public String getName(); + public void setName(String name); + + public String getPassword(); + public void setPassword(String password); + } Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/UserRequest.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/UserRequest.java?rev=1522123&r1=1522122&r2=1522123&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/UserRequest.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/UserRequest.java Thu Sep 12 02:10:17 2013 @@ -1,11 +1,15 @@ package org.apache.hupa.client.rf; -import org.apache.hupa.server.domain.User; +import org.apache.hupa.server.locator.UserDaoLocator; +import org.apache.hupa.server.service.UserDao; +import com.google.web.bindery.requestfactory.shared.Request; import com.google.web.bindery.requestfactory.shared.RequestContext; import com.google.web.bindery.requestfactory.shared.Service; -@Service(User.class) +@Service(value = UserDao.class, locator=UserDaoLocator.class) public interface UserRequest extends RequestContext { - + Request<UserProxy> findById(Long id); + Request<UserProxy> save(UserProxy user); + } Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/InMemoryIMAPStoreCache.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/InMemoryIMAPStoreCache.java?rev=1522123&r1=1522122&r2=1522123&view=diff ============================================================================== --- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/InMemoryIMAPStoreCache.java (original) +++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/InMemoryIMAPStoreCache.java Thu Sep 12 02:10:17 2013 @@ -147,6 +147,7 @@ public class InMemoryIMAPStoreCache impl if (cstore.getStore().isConnected() == false) { try { cstore.getStore().connect(address, port, username, password); + System.out.println(address +"ImMemory"+ port); } catch (MessagingException e) { throw (e); } Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/domain/User.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/domain/User.java?rev=1522123&r1=1522122&r2=1522123&view=diff ============================================================================== --- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/domain/User.java (original) +++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/domain/User.java Thu Sep 12 02:10:17 2013 @@ -19,7 +19,6 @@ package org.apache.hupa.server.domain; -import java.io.Serializable; import java.util.Date; @@ -30,7 +29,6 @@ import java.util.Date; */ public class User implements Identifiable, Versionable{ - private static final long serialVersionUID = -573674209289821920L; private String name; private String password; private Date loginDate; Added: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/UserDaoLocator.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/UserDaoLocator.java?rev=1522123&view=auto ============================================================================== --- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/UserDaoLocator.java (added) +++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/UserDaoLocator.java Thu Sep 12 02:10:17 2013 @@ -0,0 +1,14 @@ +package org.apache.hupa.server.locator; + +import org.apache.hupa.server.service.UserDao; + +import com.google.web.bindery.requestfactory.shared.ServiceLocator; + +public class UserDaoLocator implements ServiceLocator { + + @Override + public Object getInstance(Class<?> clazz) { + return new UserDao(); + } + +} Added: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/UserLocator.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/UserLocator.java?rev=1522123&view=auto ============================================================================== --- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/UserLocator.java (added) +++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/locator/UserLocator.java Thu Sep 12 02:10:17 2013 @@ -0,0 +1,40 @@ +package org.apache.hupa.server.locator; + +import org.apache.hupa.server.domain.User; +import org.apache.hupa.server.service.UserDao; + +import com.google.web.bindery.requestfactory.shared.Locator; + +public class UserLocator extends Locator<User, Long>{ + + @Override + public User create(Class<? extends User> clazz) { + return new User(); + } + + @Override + public User find(Class<? extends User> clazz, Long id) { + return new UserDao().findById(id); + } + + @Override + public Class<User> getDomainType() { + return User.class; + } + + @Override + public Long getId(User domainObject) { + return domainObject.getId(); + } + + @Override + public Class<Long> getIdType() { + return Long.class; + } + + @Override + public Object getVersion(User domainObject) { + return domainObject.getVersion(); + } + +} Added: 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=1522123&view=auto ============================================================================== --- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/IMAPFolderService.java (added) +++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/IMAPFolderService.java Thu Sep 12 02:10:17 2013 @@ -0,0 +1,99 @@ +package org.apache.hupa.server.service; + +import java.util.ArrayList; +import java.util.List; +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; + +import net.customware.gwt.dispatch.shared.ActionException; + +import org.apache.hupa.shared.SConsts; +import org.apache.hupa.shared.data.IMAPFolder; +import org.apache.hupa.shared.data.User; + +import com.google.web.bindery.requestfactory.server.RequestFactoryServlet; +import com.sun.mail.imap.IMAPStore; + +public class IMAPFolderService { + + private static boolean useSSL = false; + + public static String echo(String s){ + return s; + } + + public static List<IMAPFolder> requestFolders() throws MessagingException, ActionException{ + HttpSession session = RequestFactoryServlet.getThreadLocalRequest().getSession(); + Session mailSession = Session.getDefaultInstance(new Properties(), null); + IMAPStore store = (IMAPStore)mailSession.getStore(useSSL ? "imaps" : "imap"); + + User user = (User) session.getAttribute(SConsts.USER_SESS_ATTR); + store.connect("imap.gmail.com", 993, user.getName(), user.getPassword()); + + + com.sun.mail.imap.IMAPFolder folder = (com.sun.mail.imap.IMAPFolder) store.getDefaultFolder(); + + // List of mail 'root' imap folders + List<IMAPFolder> imapFolders = new ArrayList<IMAPFolder>(); + + // Create IMAPFolder tree list + for (Folder f : folder.list()) { + IMAPFolder imapFolder = createIMAPFolder(f); + imapFolders.add(imapFolder); + walkFolders(f, imapFolder); + } + return imapFolders; + } + + /** + * Walk through the folder's sub-folders and add sub-folders to current imapFolder + * + * @param folder Folder to walk + * @param imapFolder Current IMAPFolder + * @throws ActionException If an error occurs + * @throws MessagingException If an error occurs + */ + private static void walkFolders(Folder folder, IMAPFolder imapFolder) throws MessagingException{ + for (Folder f : folder.list()) { + IMAPFolder iFolder = createIMAPFolder(f); + imapFolder.getChildIMAPFolders().add(iFolder); + walkFolders(f, iFolder); + } + } + + /** + * Create a new IMAPFolder from the given Folder + * + * @param folder Current folder + * @return imapFolder Created IMAPFolder + * @throws ActionException If an error occurs + * @throws MessagingException If an error occurs + */ + private static IMAPFolder createIMAPFolder(Folder folder){ + + String fullName = folder.getFullName(); + String delimiter; + IMAPFolder iFolder = null; + + try { + System.out.println("Creating folder: " + fullName + " for user: "); + delimiter = String.valueOf(folder.getSeparator()); + iFolder = new IMAPFolder(fullName); + iFolder.setDelimiter(delimiter); + if("[Gmail]".equals(folder.getFullName())) + return iFolder; + iFolder.setMessageCount(folder.getMessageCount()); + iFolder.setSubscribed(folder.isSubscribed()); + iFolder.setUnseenMessageCount(folder.getUnreadMessageCount()); + } catch (MessagingException e) { + e.printStackTrace(); + } + + return iFolder; + } +} 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=1522123&r1=1522122&r2=1522123&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:10:17 2013 @@ -1,28 +1,99 @@ -/**************************************************************** - * 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.service; - -import java.util.List; - -import org.apache.hupa.shared.domain.ImapFolder; - -public interface ImapFolderService { - List<ImapFolder> requestFolders() throws Exception; -} +package org.apache.hupa.server.service; + +import java.util.ArrayList; +import java.util.List; +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; + +import net.customware.gwt.dispatch.shared.ActionException; + +import org.apache.hupa.shared.SConsts; +import org.apache.hupa.shared.data.IMAPFolder; +import org.apache.hupa.shared.data.User; + +import com.google.web.bindery.requestfactory.server.RequestFactoryServlet; +import com.sun.mail.imap.IMAPStore; + +public class IMAPFolderService { + + private static boolean useSSL = false; + + public static String echo(String s){ + return s; + } + + public static List<IMAPFolder> requestFolders() throws MessagingException, ActionException{ + HttpSession session = RequestFactoryServlet.getThreadLocalRequest().getSession(); + Session mailSession = Session.getDefaultInstance(new Properties(), null); + IMAPStore store = (IMAPStore)mailSession.getStore(useSSL ? "imaps" : "imap"); + + User user = (User) session.getAttribute(SConsts.USER_SESS_ATTR); + store.connect("imap.gmail.com", 993, user.getName(), user.getPassword()); + + + com.sun.mail.imap.IMAPFolder folder = (com.sun.mail.imap.IMAPFolder) store.getDefaultFolder(); + + // List of mail 'root' imap folders + List<IMAPFolder> imapFolders = new ArrayList<IMAPFolder>(); + + // Create IMAPFolder tree list + for (Folder f : folder.list()) { + IMAPFolder imapFolder = createIMAPFolder(f); + imapFolders.add(imapFolder); + walkFolders(f, imapFolder); + } + return imapFolders; + } + + /** + * Walk through the folder's sub-folders and add sub-folders to current imapFolder + * + * @param folder Folder to walk + * @param imapFolder Current IMAPFolder + * @throws ActionException If an error occurs + * @throws MessagingException If an error occurs + */ + private static void walkFolders(Folder folder, IMAPFolder imapFolder) throws MessagingException{ + for (Folder f : folder.list()) { + IMAPFolder iFolder = createIMAPFolder(f); + imapFolder.getChildIMAPFolders().add(iFolder); + walkFolders(f, iFolder); + } + } + + /** + * Create a new IMAPFolder from the given Folder + * + * @param folder Current folder + * @return imapFolder Created IMAPFolder + * @throws ActionException If an error occurs + * @throws MessagingException If an error occurs + */ + private static IMAPFolder createIMAPFolder(Folder folder){ + + String fullName = folder.getFullName(); + String delimiter; + IMAPFolder iFolder = null; + + try { + System.out.println("Creating folder: " + fullName + " for user: "); + delimiter = String.valueOf(folder.getSeparator()); + iFolder = new IMAPFolder(fullName); + iFolder.setDelimiter(delimiter); + if("[Gmail]".equals(folder.getFullName())) + return iFolder; + iFolder.setMessageCount(folder.getMessageCount()); + iFolder.setSubscribed(folder.isSubscribed()); + iFolder.setUnseenMessageCount(folder.getUnreadMessageCount()); + } catch (MessagingException e) { + e.printStackTrace(); + } + + return iFolder; + } +} Added: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/UserDao.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/UserDao.java?rev=1522123&view=auto ============================================================================== --- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/UserDao.java (added) +++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/UserDao.java Thu Sep 12 02:10:17 2013 @@ -0,0 +1,27 @@ +package org.apache.hupa.server.service; + +import javax.servlet.http.HttpSession; + +import org.apache.hupa.server.domain.User; +import org.apache.hupa.server.utils.SessionUtils; + +import com.google.web.bindery.requestfactory.server.RequestFactoryServlet; + +public class UserDao { + + private HttpSession session; + + public User findById(Long id) { + // TODO Auto-generated method stub + return null; + } + + User save(User user){ + System.out.println("+++++++"); + session = RequestFactoryServlet.getThreadLocalRequest().getSession(); + + SessionUtils.cleanSessionAttributes(session); + return user; + } + +} 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=1522123&r1=1522122&r2=1522123&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:10:17 2013 @@ -21,14 +21,42 @@ 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; /** * 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; --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org