Author: tchemit Date: 2008-02-20 14:50:20 +0000 (Wed, 20 Feb 2008) New Revision: 1139 Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/DeleteElementAction.java Log: refactoring Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/DeleteElementAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/DeleteElementAction.java 2008-02-20 14:37:27 UTC (rev 1138) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/DeleteElementAction.java 2008-02-20 14:50:20 UTC (rev 1139) @@ -21,7 +21,6 @@ import fr.cemagref.simexplorer.is.entities.data.LoggableElement; import fr.cemagref.simexplorer.is.ui.StorageServiceHelper; import fr.cemagref.simexplorer.is.ui.swing.JListTab; -import fr.cemagref.simexplorer.is.ui.swing.JSynchronizeTab; import fr.cemagref.simexplorer.is.ui.swing.SimExplorerActionManager; import fr.cemagref.simexplorer.is.ui.swing.SimExplorerTab; import fr.cemagref.simexplorer.is.ui.swing.SynchronizeTabRefreshHelper; @@ -100,14 +99,15 @@ @Override public void updateUI() { - // on doit invalider les données apres un export updateListTab(); // update detail model (delegue a l'action d'historique) - // update synchronize model - updateSynchronizeTab(); + if (SimExplorerTab.synchronize.isTabVisible(getTabContainer())) { + updateSynchronizeTab(); + } + } protected void updateListTab() { @@ -131,49 +131,20 @@ } protected void updateSynchronizeTab() { - SimExplorerTab tab; - tab = SimExplorerTab.synchronize; - if (!tab.isTabVisible(getTabContainer())) { - // nothing to do - return; - } - JSynchronizeTab ui = (JSynchronizeTab) tab.getUI(); + SimExplorerTab tab = SimExplorerTab.synchronize; + SynchronizeTabModel model = (SynchronizeTabModel) tab.getModel(); - - LoggableElement oldSource = model.getSource(); - LoggableElement oldDestination = model.getDestination(); + + LoggableElement oldLocalRoot = model.getRootNode(false); + LoggableElement oldRemoteRoot = model.getRootNode(true); + LoggableElement item; - boolean modelIsRemote = model.isRemote(); - if (selected.isRemote()) { - // selected is remote - item = modelIsRemote ? model.getSource() : model.getDestination(); - if (item != null && item.getMetaData().getUuid() != null && item.getMetaData().getUuid().equals(selected.getUuid())) { - if (modelIsRemote) { - model.setSource(null); - } else { - model.setDestination(null); - } - } - } else { - // selected is local - item = modelIsRemote ? model.getDestination() : model.getSource(); - if (item != null && item.getMetaData().getUuid() != null && item.getMetaData().getUuid().equals(selected.getUuid())) { - if (modelIsRemote) { - model.setDestination(null); - } else { - model.setSource(null); - } - } + boolean modelIsRemote = selected.isRemote(); + item = model.getRootNode(modelIsRemote); + if (item != null && item.getMetaData().getUuid() != null && item.getMetaData().getUuid().equals(selected.getUuid())) { + model.setRootNode(null, modelIsRemote); } - if (model.getSource() == null && model.getDestination() == null) { - // on doit supprimer la vue - tab.closeTab(getTabContainer()); - } - - if (model.getSource() != oldSource || model.getDestination() != oldDestination) { - // rebuild node ? - SynchronizeTabRefreshHelper.refreshRootNodes(ui, model); - } + SynchronizeTabRefreshHelper.updateTree(getTabContainer(), oldLocalRoot, oldRemoteRoot); } @Override