You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by do...@apache.org on 2013/09/12 05:45:32 UTC
svn commit: r1522243 - in /james/hupa/trunk:
client/src/main/java/org/apache/hupa/client/ioc/
client/src/main/java/org/apache/hupa/client/mapper/
client/src/main/java/org/apache/hupa/client/ui/
server/src/main/java/org/apache/hupa/server/service/
Author: dongxu
Date: Thu Sep 12 03:45:32 2013
New Revision: 1522243
URL: http://svn.apache.org/r1522243
Log:
bind FolderListActivity to Singleton, otherwise it might create its view several times
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MainContentActivityMapper.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/FetchFoldersServiceImpl.java
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/ImapFolderServiceImpl.java
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java?rev=1522243&r1=1522242&r2=1522243&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java Thu Sep 12 03:45:32 2013
@@ -473,6 +473,19 @@ public class AppGinModule extends Abstra
bind(MessageListFooterActivity.Displayable.class).to(MessageListFooterView.class);
bind(MessageContentActivity.Displayable.class).to(MessageContentView.class);
bind(StatusActivity.Displayable.class).to(StatusView.class);
+
+ bind(LoginActivity.class).in(Singleton.class);
+ bind(TopBarActivity.class).in(Singleton.class);
+ bind(LogoActivity.class).in(Singleton.class);
+ bind(NavigationActivity.class).in(Singleton.class);
+ bind(ToolBarActivity.class).in(Singleton.class);
+ bind(FolderListActivity.class).in(Singleton.class);
+ bind(MessageListActivity.class).in(Singleton.class);
+ bind(MessageListFooterActivity.class).in(Singleton.class);
+ bind(MessageContentActivity.class).in(Singleton.class);
+ bind(StatusActivity.class).in(Singleton.class);
+
+
>>>>>>> integrate all of the views to their corresponding activities and mappers
bind(TopActivity.Displayable.class).to(TopView.class);
@@ -524,7 +537,7 @@ public class AppGinModule extends Abstra
bind(IMAPMessageActivity.class).in(Singleton.class);
bind(MessagesCellTable.class).in(Singleton.class);
- bind(FoldersTreeViewModel.class);
+ bind(FoldersTreeViewModel.class).in(Singleton.class);
bind(CellTree.Resources.class).to(CellTree.BasicResources.class);
// Places
bind(PlaceHistoryMapper.class).to(AppPlaceHistoryMapper.class).in(
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MainContentActivityMapper.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MainContentActivityMapper.java?rev=1522243&r1=1522242&r2=1522243&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MainContentActivityMapper.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MainContentActivityMapper.java Thu Sep 12 03:45:32 2013
@@ -52,7 +52,7 @@ public class MainContentActivityMapper i
public Activity getActivity(Place place) {
if (place instanceof MailFolderPlace) {
- return messageListActivityProvider.get().with((MailFolderPlace)place);
+// return messageListActivityProvider.get().with((MailFolderPlace)place);
} else if (place instanceof DefaultPlace) {
return loginActivityProvider.get();
} else if(place instanceof MessageSendPlace){
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java?rev=1522243&r1=1522242&r2=1522243&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java Thu Sep 12 03:45:32 2013
@@ -37,34 +37,36 @@ import com.google.gwt.view.client.Single
import com.google.gwt.view.client.TreeViewModel;
import com.google.inject.Inject;
import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.ServerFailure;
public class FoldersTreeViewModel implements TreeViewModel {
protected User user;
@Inject protected HupaRequestFactory rf;
@Inject protected EventBus eventBus;
-
-
- public FoldersTreeViewModel(){
- selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
- @SuppressWarnings("unchecked")
- @Override
- public void onSelectionChange(SelectionChangeEvent event) {
- SingleSelectionModel<ImapFolder> selectionModel = (SingleSelectionModel<ImapFolder>) event.getSource();
- eventBus.fireEvent(new LoadMessagesEvent(user, selectionModel.getSelectedObject()));
- }
- });
- }
+ public FoldersTreeViewModel() {
+ selectionModel
+ .addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
+ @SuppressWarnings("unchecked")
+ @Override
+ public void onSelectionChange(SelectionChangeEvent event) {
+ SingleSelectionModel<ImapFolder> selectionModel = (SingleSelectionModel<ImapFolder>) event
+ .getSource();
+ eventBus.fireEvent(new LoadMessagesEvent(user,
+ selectionModel.getSelectedObject()));
+ }
+ });
+ }
private final SingleSelectionModel<ImapFolder> selectionModel = new SingleSelectionModel<ImapFolder>(
- new ProvidesKey<ImapFolder>() {
- @Override
- public Object getKey(ImapFolder item) {
- return item == null ? null : item.getFullName();
- }
- });
+ new ProvidesKey<ImapFolder>() {
+ @Override
+ public Object getKey(ImapFolder item) {
+ return item == null ? null : item.getFullName();
+ }
+ });
/**
* Get the {@link NodeInfo} that provides the children of the specified
@@ -72,18 +74,21 @@ public class FoldersTreeViewModel implem
*/
@Override
public <T> NodeInfo<?> getNodeInfo(T value) {
- return new DefaultNodeInfo<ImapFolder>(new ImapFolderListDataProvider((ImapFolder) value),
- new AbstractCell<ImapFolder>() {
- @Override
- public void render(Context context, ImapFolder value, SafeHtmlBuilder sb) {
- if (value != null) {
- sb.appendEscaped(value.getName());
- }
- }
- }, selectionModel, null);
+ System.out.println("-=-=-=-=-"+value);
+ return new DefaultNodeInfo<ImapFolder>(new ImapFolderListDataProvider(
+ (ImapFolder) value), new AbstractCell<ImapFolder>() {
+ @Override
+ public void render(Context context, ImapFolder value,
+ SafeHtmlBuilder sb) {
+ if (value != null) {
+ sb.appendEscaped(value.getName());
+ }
+ }
+ }, selectionModel, null);
}
- private class ImapFolderListDataProvider extends AsyncDataProvider<ImapFolder> {
+ private class ImapFolderListDataProvider extends
+ AsyncDataProvider<ImapFolder> {
public ImapFolderListDataProvider(ImapFolder folder) {
this.folder = folder;
@@ -91,18 +96,33 @@ public class FoldersTreeViewModel implem
ImapFolder folder;
+ @Override
+ public void addDataDisplay(HasData<ImapFolder> display) {
+ super.addDataDisplay(display);
+ }
+
@Override
protected void onRangeChanged(HasData<ImapFolder> display) {
- System.out.println(display.getVisibleItemCount() + "---" +display.getRowCount()+"="+display.getVisibleItems()+"="+display.getVisibleRange());
- rf.fetchFoldersRequest().fetch(folder).fire(new Receiver<List<ImapFolder>>() {
- @Override
- public void onSuccess(List<ImapFolder> response) {
- if (response == null || response.size() == 0) {
- updateRowCount(-1, true);
- } else
- updateRowData(0, response);
- }
- });
+ System.out.println("display -"+display);
+ rf.fetchFoldersRequest().fetch(folder)
+ .fire(new Receiver<List<ImapFolder>>() {
+ @Override
+ public void onSuccess(List<ImapFolder> response) {
+ System.out.println("list of folders-"+response);
+ if (response == null || response.size() == 0) {
+ updateRowCount(-1, true);
+ } else {
+ updateRowData(0, response);
+ }
+ }
+ @Override
+ public void onFailure(ServerFailure error) {
+ if (error.isFatal()) {
+ throw new RuntimeException(error.getMessage());
+ }
+ }
+
+ });
}
Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/FetchFoldersServiceImpl.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/FetchFoldersServiceImpl.java?rev=1522243&r1=1522242&r2=1522243&view=diff
==============================================================================
--- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/FetchFoldersServiceImpl.java (original)
+++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/FetchFoldersServiceImpl.java Thu Sep 12 03:45:32 2013
@@ -167,20 +167,29 @@ public class FetchFoldersServiceImpl ext
=======
* @param folder Current folder
* @return imapFolder Created IMAPFolder
+ * @throws HupaException
* @throws Exception If an error occurs
* @throws MessagingException If an error occurs
*/
+<<<<<<< HEAD
private ImapFolder createImapFolder(Folder folder) {
>>>>>>> Fix issue #15.
+=======
+ private ImapFolder createImapFolder(Folder folder) throws HupaException {
+>>>>>>> bind FolderListActivity to Singleton, otherwise it might create its view several times
String fullName = folder.getFullName();
String delimiter;
ImapFolder iFolder = null;
try {
<<<<<<< HEAD
+<<<<<<< HEAD
System.out.println("Creating folder2: " + fullName + " for user: " + this.getUser());
=======
System.out.println("Creating folder: " + fullName + " for user: ");
>>>>>>> Fix issue #15.
+=======
+ System.out.println("Creating folder2: " + fullName + " for user: " + this.getUser());
+>>>>>>> bind FolderListActivity to Singleton, otherwise it might create its view several times
delimiter = String.valueOf(folder.getSeparator());
iFolder = new ImapFolderImpl(fullName);
iFolder.setDelimiter(delimiter);
Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/ImapFolderServiceImpl.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/ImapFolderServiceImpl.java?rev=1522243&r1=1522242&r2=1522243&view=diff
==============================================================================
--- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/ImapFolderServiceImpl.java (original)
+++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/ImapFolderServiceImpl.java Thu Sep 12 03:45:32 2013
@@ -97,6 +97,7 @@ public class ImapFolderServiceImpl exten
ImapFolder iFolder = null;
try {
+<<<<<<< HEAD
delimiter = String.valueOf(folder.getSeparator());
iFolder = new ImapFolderImpl(fullName);
iFolder.setDelimiter(delimiter);
@@ -230,6 +231,8 @@ public class ImapFolderServiceImpl exten
try {
System.out.println("Creating folder: " + fullName + " for user: ");
+=======
+>>>>>>> bind FolderListActivity to Singleton, otherwise it might create its view several times
delimiter = String.valueOf(folder.getSeparator());
iFolder = new ImapFolderImpl(fullName);
iFolder.setDelimiter(delimiter);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org