Author: tchemit Date: 2008-01-24 22:15:29 +0000 (Thu, 24 Jan 2008) New Revision: 523 Added: trunk/simexplorer-is-swing/src/resources/icons/action/connect.png trunk/simexplorer-is-swing/src/resources/icons/action/unconnect.png Modified: trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/SimExplorerContext.java trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/auth/ConnectAction.java trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/auth/UnconnectAction.java trunk/simexplorer-is-swing/src/resources/commandline.properties Log: actions connect unconnect (todo rename it in disconnect) ajout propri?\195?\169t?\195?\169 de config password transient correction test de connexion invers?\195?\169! d?\195?\169but d'implantations des actions (reste ?\195?\160 faire l'ui de login reprendre celle d'Isis) Modified: trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/SimExplorerContext.java =================================================================== --- trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/SimExplorerContext.java 2008-01-24 21:46:09 UTC (rev 522) +++ trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/SimExplorerContext.java 2008-01-24 22:15:29 UTC (rev 523) @@ -94,7 +94,7 @@ * <code>false</code> sinon. */ public boolean isConnected() { - return token == null || token.isEmpty(); + return !(token == null || token.isEmpty()); } /** Modified: trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/auth/ConnectAction.java =================================================================== --- trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/auth/ConnectAction.java 2008-01-24 21:46:09 UTC (rev 522) +++ trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/auth/ConnectAction.java 2008-01-24 22:15:29 UTC (rev 523) @@ -18,8 +18,12 @@ * ##% */ package fr.cemagref.simexplorer.is.ui.swing.action.auth; +import fr.cemagref.simexplorer.is.service.SimExplorerServiceException; +import fr.cemagref.simexplorer.is.service.StorageService; import fr.cemagref.simexplorer.is.ui.swing.action.SimExplorerAbstractAction; +import java.awt.event.ActionEvent; + /** * Action de connexion au serveur distant * @@ -30,16 +34,60 @@ name = "simexplorer.action.connect", shortDescription = "simexplorer.action.connect.tooltip", longDescription = "simexplorer.action.connect.help", - //smallIcon = "action/connect.png", + smallIcon = "action/connect.png", mnemonic = 'C', - hideActionText = false + hideActionText = false, + enabled = true ) public class ConnectAction extends SimExplorerAbstractAction { private static final long serialVersionUID = -6172528731543675359L; + String login; + String password; + public ConnectAction(String name) { super(name); } + @Override + protected boolean beforeAction(ActionEvent e) throws Exception { + if (getContext().isConnected()) { + return false; + } + + login = getContext().getConfig().getLogin(); + password = getContext().getConfig().getPassword(); + if (login == null || password == null) { + //TODO show login ui + password = "password"; + } + return true; + } + + @Override + protected void doAction(ActionEvent e) throws Exception { + super.doAction(e); + StorageService service = getContext().getRemoteStorageService(); + + try { + service.loginUser(login, password); + } catch (SimExplorerServiceException e1) { + //TODO alert user of error + log.warn("could not connect user for reason " + e1.getMessage()); + throw e1; + } + } + + @Override + protected void afterAction(ActionEvent e) throws Exception { + super.afterAction(e); + } + + @Override + protected void clear() { + super.clear(); + login = null; + password = null; + } } \ No newline at end of file Modified: trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/auth/UnconnectAction.java =================================================================== --- trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/auth/UnconnectAction.java 2008-01-24 21:46:09 UTC (rev 522) +++ trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/auth/UnconnectAction.java 2008-01-24 22:15:29 UTC (rev 523) @@ -18,8 +18,14 @@ * ##% */ package fr.cemagref.simexplorer.is.ui.swing.action.auth; +import fr.cemagref.simexplorer.is.ui.SimExplorer; +import fr.cemagref.simexplorer.is.ui.swing.SimExplorerTab; import fr.cemagref.simexplorer.is.ui.swing.action.SimExplorerAbstractAction; +import fr.cemagref.simexplorer.is.ui.swing.model.DetailTabModel; +import javax.swing.JTabbedPane; +import java.awt.event.ActionEvent; + /** * Action pour se deconnecter du serveur distant * @@ -31,8 +37,9 @@ shortDescription = "simexplorer.action.unconnect.tooltip", longDescription = "simexplorer.action.unconnect.help", mnemonic = 'n', - //smallIcon = "action/unconnect.png", - hideActionText = false + smallIcon = "action/unconnect.png", + hideActionText = false, + enabled = false ) public class UnconnectAction extends SimExplorerAbstractAction { @@ -41,4 +48,39 @@ public UnconnectAction(String name) { super(name); } + + @Override + protected boolean beforeAction(ActionEvent e) throws Exception { + return getContext().isConnected(); + } + + @Override + protected void doAction(ActionEvent e) throws Exception { + super.doAction(e); + getContext().setToken(null); + //TODO disconnect from server ? + + JTabbedPane container = SimExplorer.getUI().getContent(); + + if (SimExplorerTab.remote.isTabVisible(container)) { + // close tab + SimExplorerTab.remote.closeTab(container); + } + if (SimExplorerTab.synchronize.isTabVisible(container)) { + // close tab + SimExplorerTab.synchronize.closeTab(container); + } + if (SimExplorerTab.detail.isTabVisible(container)) { + DetailTabModel model = (DetailTabModel) SimExplorerTab.detail.getModel(); + if (model.isRemote()) { + // close tab + SimExplorerTab.detail.closeTab(container); + } + } + } + + @Override + protected void afterAction(ActionEvent e) throws Exception { + super.afterAction(e); + } } \ No newline at end of file Modified: trunk/simexplorer-is-swing/src/resources/commandline.properties =================================================================== --- trunk/simexplorer-is-swing/src/resources/commandline.properties 2008-01-24 21:46:09 UTC (rev 522) +++ trunk/simexplorer-is-swing/src/resources/commandline.properties 2008-01-24 22:15:29 UTC (rev 523) @@ -35,6 +35,9 @@ main.config.definition.login=java.lang.String:anonymous main.config.modifiers.login=mandatory +main.config.definition.password=java.lang.String +main.config.modifiers.password=transient + main.config.definition.serverURL=java.net.URL:http://www.codelutin.com main.config.modifiers.serverURL=mandatory Added: trunk/simexplorer-is-swing/src/resources/icons/action/connect.png =================================================================== (Binary files differ) Property changes on: trunk/simexplorer-is-swing/src/resources/icons/action/connect.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/simexplorer-is-swing/src/resources/icons/action/unconnect.png =================================================================== (Binary files differ) Property changes on: trunk/simexplorer-is-swing/src/resources/icons/action/unconnect.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream