Author: jflesch
Date: 2006-10-22 01:52:16 +0000 (Sun, 22 Oct 2006)
New Revision: 10685

Modified:
   trunk/apps/Thaw/src/thaw/core/ConfigWindow.java
   trunk/apps/Thaw/src/thaw/core/NodeConfigPanel.java
   trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
   trunk/apps/Thaw/src/thaw/plugins/index/File.java
   trunk/apps/Thaw/src/thaw/plugins/index/Link.java
Log:
Avoid useless reconnections

Modified: trunk/apps/Thaw/src/thaw/core/ConfigWindow.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/ConfigWindow.java     2006-10-20 21:47:59 UTC 
(rev 10684)
+++ trunk/apps/Thaw/src/thaw/core/ConfigWindow.java     2006-10-22 01:52:16 UTC 
(rev 10685)
@@ -37,8 +37,11 @@

        private boolean advancedMode = false;

+       private boolean needConnectionReset = false;
+
        public ConfigWindow(Core core) {
                this.core = core;
+               needConnectionReset = false;

                advancedMode = 
Boolean.valueOf(core.getConfig().getValue("advancedMode")).booleanValue();

@@ -142,6 +145,10 @@
                return cancelButton;
        }

+       public void willNeedConnectionReset() {
+               needConnectionReset = true;
+       }
+
        /**
         * Called when apply button is pressed.
         */
@@ -174,10 +181,12 @@
                        /* should reinit the whole connection correctly */
                        core.getPluginManager().stopPlugins();

-                       if(!core.initNodeConnection()) {
+                       if(needConnectionReset && !core.initNodeConnection()) {
                                new WarningWindow(core, 
I18n.getMessage("thaw.warning.unableToConnectTo")+ " 
"+core.getConfig().getValue("nodeAddress")+":"+ 
core.getConfig().getValue("nodePort"));
                        }

+                       needConnectionReset = false;
+
                        core.getPluginManager().loadPlugins();
                        core.getPluginManager().runPlugins();


Modified: trunk/apps/Thaw/src/thaw/core/NodeConfigPanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/NodeConfigPanel.java  2006-10-20 21:47:59 UTC 
(rev 10684)
+++ trunk/apps/Thaw/src/thaw/core/NodeConfigPanel.java  2006-10-22 01:52:16 UTC 
(rev 10685)
@@ -40,14 +40,19 @@
                "thawId"
        };

+       private final static String[] currentValues = new String[6];
+
+
        private JLabel[] paramLabels = new JLabel[paramNames.length];
        private JTextField[] paramFields = new JTextField[configNames.length];

        private JCheckBox multipleSockets = null;
-       
+       private ConfigWindow configWindow = null;

+
        public NodeConfigPanel(ConfigWindow configWindow, Core core) {
                this.core = core;
+               this.configWindow = configWindow;

                nodeConfigPanel = new JPanel();
                nodeConfigPanel.setLayout(new GridLayout(15, 1));
@@ -60,6 +65,7 @@

                        paramLabels[i] = new JLabel(paramNames[i]);
                        paramFields[i] = new JTextField(value);
+                       currentValues[i] = value;

                        nodeConfigPanel.add(paramLabels[i]);
                        nodeConfigPanel.add(paramFields[i]);
@@ -88,9 +94,26 @@
                multipleSockets.setVisible(advancedMode);
        }

+
+       public boolean hasAValueChanged() {
+               for(int i=0; i < paramNames.length ; i++) {
+                       if (!paramFields[i].getText().equals(currentValues[i]))
+                               return true;
+               }
+
+               if (core.getConfig().getValue("multipleSockets") == null
+                   || 
!core.getConfig().getValue("multipleSockets").equals(Boolean.toString(multipleSockets.isSelected())))
+                       return true;
+
+               return false;
+       }
+

        public void update(Observable o, Object arg) {
                if(arg == core.getConfigWindow().getOkButton()) {
+                       if (hasAValueChanged())
+                               configWindow.willNeedConnectionReset();
+
                        for(int i=0;i < paramNames.length;i++) {
                                core.getConfig().setValue(configNames[i], 
paramFields[i].getText());
                        }

Modified: trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties    2006-10-20 21:47:59 UTC 
(rev 10684)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties    2006-10-22 01:52:16 UTC 
(rev 10685)
@@ -199,9 +199,9 @@
 thaw.plugin.index.rename=Renommer
 thaw.plugin.index.delete=Effacer
 thaw.plugin.index.insertIndex=Ins?rer / mettre ? jour cet index
-thaw.plugin.index.insertIndexes=Ins?rer / mettre ? jour ces indexs
+thaw.plugin.index.insertIndexes=Ins?rer / mettre ? jour ces indexes
 thaw.plugin.index.downloadIndex=T?l?charger / mettre ? jour cet index
-thaw.plugin.index.downloadIndexes=T?l?charger / mettre ? jour ces indexs
+thaw.plugin.index.downloadIndexes=T?l?charger / mettre ? jour ces indexes
 thaw.plugin.index.copyKey=Copier les cl?s de l'index dans le presse-papiers
 thaw.plugin.index.recalculateKeys=Recalculer les cl?s


Modified: trunk/apps/Thaw/src/thaw/plugins/index/File.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/File.java    2006-10-20 21:47:59 UTC 
(rev 10684)
+++ trunk/apps/Thaw/src/thaw/plugins/index/File.java    2006-10-22 01:52:16 UTC 
(rev 10685)
@@ -61,7 +61,7 @@
                this.db = db;

                id = resultSet.getInt("id");
-               publicKey = resultSet.getString("publicKey");
+               publicKey = resultSet.getString("publicKey").trim();
                localPath = resultSet.getString("localPath");
                size = resultSet.getLong("size");
                parentId = resultSet.getInt("indexParent");
@@ -77,6 +77,9 @@

                id = Integer.parseInt(fileElement.getAttribute("id")); /* will 
be changed when inserted in the database */
                publicKey = fileElement.getAttribute("key");
+
+               if (publicKey != null)
+                       publicKey = publicKey.trim();

                localPath = null;


Modified: trunk/apps/Thaw/src/thaw/plugins/index/Link.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/Link.java    2006-10-20 21:47:59 UTC 
(rev 10684)
+++ trunk/apps/Thaw/src/thaw/plugins/index/Link.java    2006-10-22 01:52:16 UTC 
(rev 10685)
@@ -38,7 +38,7 @@
        public Link(Hsqldb hsqldb, ResultSet resultSet, Index parent) throws 
SQLException {
                this.db = hsqldb;
                this.id = resultSet.getInt("id");
-               this.key = resultSet.getString("publicKey");
+               this.key = resultSet.getString("publicKey").trim();

                this.indexName = Index.getNameFromKey(this.key);



Reply via email to