From 9bbb5f2cc2c5965f150e8f6c053a4be6d4ac78f8 Mon Sep 17 00:00:00 2001 From: Andreas Kohlbecker Date: Wed, 12 Sep 2012 18:54:00 +0000 Subject: [PATCH] fixing #3101 (refresh tree navigator after switching user) --- .../ApplicationWorkbenchWindowAdvisor.java | 3 +-- eu.etaxonomy.taxeditor.cdmlib/.classpath | 9 +++++++- .../navigation/navigator/TaxonNavigator.java | 22 +++++++++++++++++-- 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/ApplicationWorkbenchWindowAdvisor.java b/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/ApplicationWorkbenchWindowAdvisor.java index f974377c7..f7bcbe89b 100644 --- a/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/ApplicationWorkbenchWindowAdvisor.java +++ b/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/ApplicationWorkbenchWindowAdvisor.java @@ -67,8 +67,7 @@ public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor { } private int authenticate(){ - Shell shell = TaxonomicEditorPlugin.getDefault().getWorkbench() - .getActiveWorkbenchWindow().getShell(); + Shell shell = TaxonomicEditorPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell(); LoginDialog loginDialog = new LoginDialog(shell); return loginDialog.open(); diff --git a/eu.etaxonomy.taxeditor.cdmlib/.classpath b/eu.etaxonomy.taxeditor.cdmlib/.classpath index cddaca381..afa268e1d 100644 --- a/eu.etaxonomy.taxeditor.cdmlib/.classpath +++ b/eu.etaxonomy.taxeditor.cdmlib/.classpath @@ -116,6 +116,13 @@ + + + + + + + - + diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java index 5483e7ab7..7b9adddc4 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java @@ -13,6 +13,8 @@ package eu.etaxonomy.taxeditor.navigation.navigator; import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.Observable; +import java.util.Observer; import java.util.Set; import java.util.UUID; @@ -39,6 +41,7 @@ import eu.etaxonomy.taxeditor.model.IDataChangeBehavior; import eu.etaxonomy.taxeditor.navigation.NavigationUtil; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.taxeditor.store.LoginManager; /** * Taxonomic tree implementation using Common Navigator Framework. @@ -49,7 +52,7 @@ import eu.etaxonomy.taxeditor.store.CdmStore; * @version 1.0 */ public class TaxonNavigator extends CommonNavigator implements - IPostOperationEnabled, IConversationEnabled { + IPostOperationEnabled, IConversationEnabled, Observer { /** * Constant @@ -109,13 +112,16 @@ public class TaxonNavigator extends CommonNavigator implements conversation = CdmStore.createConversation(); conversation.registerForDataStoreChanges(TaxonNavigator.this); } + CdmStore.getLoginManager().addObserver(this); } /** * Refresh this navigators viewer */ public void refresh() { - getConversationHolder().bind(); + if(getConversationHolder() != null){ + getConversationHolder().bind(); + } getCommonViewer().refresh(); } @@ -434,4 +440,16 @@ public class TaxonNavigator extends CommonNavigator implements } } } + + + /* (non-Javadoc) + * @see java.util.Observer#update(java.util.Observable, java.lang.Object) + */ + @Override + public void update(Observable o, Object arg) { + if(o instanceof LoginManager){ + refresh(); + } + + } } -- 2.34.1