Author: tchemit Date: 2008-02-14 19:34:08 +0000 (Thu, 14 Feb 2008) New Revision: 979 Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExportAction.java trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExportToLocalAction.java trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExportToRemoteAction.java Log: mise en place action export depuis onglet synchronise (surcharge de l'action export de base) Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExportAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExportAction.java 2008-02-14 18:54:25 UTC (rev 978) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExportAction.java 2008-02-14 19:34:08 UTC (rev 979) @@ -26,6 +26,7 @@ import fr.cemagref.simexplorer.is.ui.swing.actions.util.SimExplorerAbstractTabAction; import fr.cemagref.simexplorer.is.ui.swing.model.DetailTabModel; import fr.cemagref.simexplorer.is.ui.swing.model.ListTabModel; +import fr.cemagref.simexplorer.is.ui.swing.model.SynchronizeTabModel; import jaxx.runtime.builder.TabModel; import java.awt.event.ActionEvent; @@ -48,9 +49,10 @@ private static final long serialVersionUID = 7535647131305304738L; - String uuid; - Version version; - StorageService fromService, toService; + protected String uuid; + protected Version version; + protected StorageService fromService, toService; + protected Boolean remote = null; public ExportAction(String name) { super(name); @@ -61,10 +63,11 @@ if (!super.beforeAction(e)) { return false; } - Boolean remote = null; + MetaData element = null; // on retrouve l'onglet concerné à partir de son model TabModel tabModel = getModel(); + if (tabModel instanceof DetailTabModel) { DetailTabModel model = (DetailTabModel) tabModel; element = model.getDetail(); @@ -77,18 +80,19 @@ uuid = element.getUuid(); version = element.getVersion(); remote = model.isRemote(); + } else if (tabModel instanceof SynchronizeTabModel) { + // the real test will be in extends class + return true; } boolean result; result = remote != null && version != null && uuid != null && EntitiesAction.EXPORT.accept(element); - if (result) { - fromService = StorageServiceHelper.getService(getContext(), remote); - toService = StorageServiceHelper.getService(getContext(), !remote); - } return result; } @Override protected void doAction(ActionEvent e) throws Exception { + StorageService fromService = StorageServiceHelper.getService(getContext(), remote); + StorageService toService = StorageServiceHelper.getService(getContext(), !remote); log.info("fromService : " + fromService); log.info("toService : " + toService); log.info("uuid - version : " + uuid + " - " + version); @@ -100,6 +104,7 @@ super.clear(); version = null; uuid = null; + remote = null; fromService = toService = null; // l'action est multi-tab, et est stateless! // on doit recalculer le tab a chaque visite Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExportToLocalAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExportToLocalAction.java 2008-02-14 18:54:25 UTC (rev 978) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExportToLocalAction.java 2008-02-14 19:34:08 UTC (rev 979) @@ -20,16 +20,9 @@ import fr.cemagref.simexplorer.is.entities.EntitiesAction; import fr.cemagref.simexplorer.is.entities.data.LoggableElement; -import fr.cemagref.simexplorer.is.entities.metadata.Version; -import fr.cemagref.simexplorer.is.ui.SimExplorerRuntimeException; -import fr.cemagref.simexplorer.is.ui.swing.JDetailTab; -import fr.cemagref.simexplorer.is.ui.swing.actions.util.SimExplorerAbstractTabAction; -import fr.cemagref.simexplorer.is.ui.swing.model.LoggableElementTreeHelper; -import fr.cemagref.simexplorer.is.ui.swing.model.LoggableElementTreeNode; +import fr.cemagref.simexplorer.is.ui.swing.model.SynchronizeTabModel; -import javax.swing.JTree; import java.awt.event.ActionEvent; -import java.io.File; /** * Action pour exporter une application @@ -45,17 +38,10 @@ mnemonic = 'x', hideActionText = true ) -public class ExportToLocalAction extends SimExplorerAbstractTabAction { +public class ExportToLocalAction extends ExportAction { private static final long serialVersionUID = 7535647131305304738L; - JTree tree; - LoggableElementTreeNode node; - File file; - LoggableElement element; - String uuid; - Version version; - public ExportToLocalAction(String name) { super(name); } @@ -65,32 +51,14 @@ if (!super.beforeAction(e)) { return false; } - JDetailTab ui = (JDetailTab) getUI(); - tree = ui.getNavigationTree(); - node = LoggableElementTreeHelper.getSelectedNodeOrRootNode(tree); + SynchronizeTabModel model = (SynchronizeTabModel) getModel(); + LoggableElement element = model.getRemoteSelectedNode(); boolean result; - result = EntitiesAction.EXPORT.accept(node); - if (result) { - element = (LoggableElement) node.getUserObject(); + if (result = EntitiesAction.EXPORT.accept(element)) { uuid = element.getMetaData().getUuid(); version = element.getMetaData().getVersion(); + remote = true; } return result; } - - @Override - protected void doAction(ActionEvent e) throws Exception { - throw new SimExplorerRuntimeException(this + " is not implemented yet!"); - } - - @Override - protected void clear() { - super.clear(); - tree = null; - node = null; - file = null; - element = null; - version = null; - uuid = null; - } } \ No newline at end of file Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExportToRemoteAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExportToRemoteAction.java 2008-02-14 18:54:25 UTC (rev 978) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExportToRemoteAction.java 2008-02-14 19:34:08 UTC (rev 979) @@ -18,18 +18,11 @@ * ##% */ package fr.cemagref.simexplorer.is.ui.swing.actions; -import fr.cemagref.simexplorer.is.entities.data.LoggableElement; -import fr.cemagref.simexplorer.is.entities.metadata.Version; import fr.cemagref.simexplorer.is.entities.EntitiesAction; -import fr.cemagref.simexplorer.is.ui.swing.actions.util.SimExplorerAbstractTabAction; -import fr.cemagref.simexplorer.is.ui.swing.model.LoggableElementTreeHelper; -import fr.cemagref.simexplorer.is.ui.swing.model.LoggableElementTreeNode; -import fr.cemagref.simexplorer.is.ui.swing.JDetailTab; -import fr.cemagref.simexplorer.is.ui.SimExplorerRuntimeException; +import fr.cemagref.simexplorer.is.entities.data.LoggableElement; +import fr.cemagref.simexplorer.is.ui.swing.model.SynchronizeTabModel; -import javax.swing.JTree; import java.awt.event.ActionEvent; -import java.io.File; /** * Action pour exporter une application @@ -45,17 +38,10 @@ mnemonic = 'x', hideActionText = true ) -public class ExportToRemoteAction extends SimExplorerAbstractTabAction { +public class ExportToRemoteAction extends ExportAction { private static final long serialVersionUID = 7535647131305304738L; - JTree tree; - LoggableElementTreeNode node; - File file; - LoggableElement element; - String uuid; - Version version; - public ExportToRemoteAction(String name) { super(name); } @@ -65,32 +51,14 @@ if (!super.beforeAction(e)) { return false; } - JDetailTab ui = (JDetailTab) getUI(); - tree = ui.getNavigationTree(); - node = LoggableElementTreeHelper.getSelectedNodeOrRootNode(tree); + SynchronizeTabModel model = (SynchronizeTabModel) getModel(); + LoggableElement element = model.getLocalSelectedNode(); boolean result; - result = EntitiesAction.EXPORT.accept(node); - if (result) { - element = (LoggableElement) node.getUserObject(); + if (result = EntitiesAction.EXPORT.accept(element)) { uuid = element.getMetaData().getUuid(); version = element.getMetaData().getVersion(); + remote = false; } return result; } - - @Override - protected void doAction(ActionEvent e) throws Exception { - throw new SimExplorerRuntimeException(this+" is not implemented yet!"); - } - - @Override - protected void clear() { - super.clear(); - tree = null; - node = null; - file = null; - element = null; - version = null; - uuid = null; - } } \ No newline at end of file