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);