Revision: 6609
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6609&view=rev
Author: gerdwagner
Date: 2012-04-07 14:48:32 +0000 (Sat, 07 Apr 2012)
Log Message:
-----------
Referesh (F5) didn't work right and didn't delete schema cache files when schema caching was used.
Modified Paths:
--------------
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/db/aliasproperties/SchemaPropertiesController.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/db/aliasproperties/SchemaPropertiesPanel.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/schemainfo/SchemaInfo.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/schemainfo/SchemaInfoCache.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/schemainfo/SchemaInfoCacheSerializer.java
trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/gui/db/aliasproperties/I18NStrings.properties
trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/session/schemainfo/I18NStrings.properties
trunk/sql12/doc/src/main/resources/changes.txt
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/db/aliasproperties/SchemaPropertiesController.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/db/aliasproperties/SchemaPropertiesController.java 2012-04-07 13:08:25 UTC (rev 6608)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/db/aliasproperties/SchemaPropertiesController.java 2012-04-07 14:48:32 UTC (rev 6609)
@@ -157,33 +157,9 @@
private void onDeleteCache()
{
- File schemaCacheFile = SchemaInfoCacheSerializer.getSchemaCacheFile(_alias);
-
- String aliasName = null == _alias.getName() || 0 == _alias.getName().trim().length() ? "<unnamed>" : _alias.getName();
-
- if(schemaCacheFile.exists())
- {
- if(schemaCacheFile.delete())
- {
- // i18n[SchemaPropertiesController.cacheDeleted=Deleted {0}]
- _app.getMessageHandler().showMessage(s_stringMgr.getString("SchemaPropertiesController.cacheDeleted", schemaCacheFile.getPath()));
- }
- else
- {
- // i18n[SchemaPropertiesController.cacheDeleteFailed=Could not delete {0}]
- _app.getMessageHandler().showWarningMessage(s_stringMgr.getString("SchemaPropertiesController.cacheDeleteFailed", schemaCacheFile.getPath()));
- }
-
- }
- else
- {
- // i18n[SchemaPropertiesController.cacheToDelNotExists=Cache file for Alias "{0}" does not exist. No file was deleted]
- _app.getMessageHandler().showWarningMessage(s_stringMgr.getString("SchemaPropertiesController.cacheToDelNotExists", aliasName));
- }
-
+ SchemaInfoCacheSerializer.deleteCacheFile(_app, _alias, true);
}
-
private void onPrintCacheFileLocation()
{
File schemaCacheFile = SchemaInfoCacheSerializer.getSchemaCacheFile(_alias);
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/db/aliasproperties/SchemaPropertiesPanel.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/db/aliasproperties/SchemaPropertiesPanel.java 2012-04-07 13:08:25 UTC (rev 6608)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/db/aliasproperties/SchemaPropertiesPanel.java 2012-04-07 14:48:32 UTC (rev 6609)
@@ -107,14 +107,20 @@
ret.setLayout(new GridBagLayout());
GridBagConstraints gbc;
+ gbc = new GridBagConstraints(0,0,2,1,0,0,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0,0,5,5), 0,0);
+ JLabel label = new JLabel(s_stringMgr.getString("SchemaPropertiesPanel.deleteCacheNote"));
+ label.setForeground(Color.red);
+ ret.add(label, gbc);
+
+
// i18n[SchemaPropertiesPanel.printCacheFileLocation=Print cache file path to message panel]
btnPrintCacheFileLocation = new JButton(s_stringMgr.getString("SchemaPropertiesPanel.printCacheFileLocation"));
- gbc = new GridBagConstraints(0,0,1,1,0,0,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0,0,5,5), 0,0);
+ gbc = new GridBagConstraints(0,1,1,1,0,0,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0,0,5,5), 0,0);
ret.add(btnPrintCacheFileLocation, gbc);
// i18n[SchemaPropertiesPanel.deleteCache=Delete cache file]
btnDeleteCache = new JButton(s_stringMgr.getString("SchemaPropertiesPanel.deleteCache"));
- gbc = new GridBagConstraints(1,0,1,1,0,0,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0,5,5,5), 0,0);
+ gbc = new GridBagConstraints(1,1,1,1,0,0,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0,5,5,5), 0,0);
ret.add(btnDeleteCache, gbc);
return ret;
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/schemainfo/SchemaInfo.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/schemainfo/SchemaInfo.java 2012-04-07 13:08:25 UTC (rev 6608)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/schemainfo/SchemaInfo.java 2012-04-07 14:48:32 UTC (rev 6609)
@@ -203,7 +203,8 @@
*/
void reloadAll(boolean fireSchemaInfoUpdate)
{
- _schemaInfoCache.clearAll();
+ SchemaInfoCacheSerializer.deleteCacheFile(_session.getApplication(), _session.getAlias(), false);
+ _schemaInfoCache = SchemaInfoCacheSerializer.load(_session);
privateLoadAll();
if(fireSchemaInfoUpdate)
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/schemainfo/SchemaInfoCache.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/schemainfo/SchemaInfoCache.java 2012-04-07 13:08:25 UTC (rev 6608)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/schemainfo/SchemaInfoCache.java 2012-04-07 14:48:32 UTC (rev 6609)
@@ -408,18 +408,12 @@
}
- void clearAll()
- {
- clearSchemaIndependentData();
-
-
- clearAllSchemaDependentData();
-
- }
-
private void clearAllSchemaDependentData()
{
_tableNames.clear();
+
+ _internalTableNameTreeMap.clear();
+
synchronized(_iTableInfos) {
_iTableInfos.clear();
}
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/schemainfo/SchemaInfoCacheSerializer.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/schemainfo/SchemaInfoCacheSerializer.java 2012-04-07 13:08:25 UTC (rev 6608)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/schemainfo/SchemaInfoCacheSerializer.java 2012-04-07 14:48:32 UTC (rev 6609)
@@ -9,11 +9,13 @@
import java.io.ObjectStreamClass;
import java.util.Hashtable;
+import net.sourceforge.squirrel_sql.client.IApplication;
import net.sourceforge.squirrel_sql.client.gui.db.ISQLAliasExt;
import net.sourceforge.squirrel_sql.client.gui.db.SQLAlias;
import net.sourceforge.squirrel_sql.client.session.ISession;
import net.sourceforge.squirrel_sql.client.util.ApplicationFiles;
import net.sourceforge.squirrel_sql.fw.id.IIdentifier;
+import net.sourceforge.squirrel_sql.fw.sql.ISQLAlias;
import net.sourceforge.squirrel_sql.fw.util.IMessageHandler;
import net.sourceforge.squirrel_sql.fw.util.StringManager;
import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
@@ -199,4 +201,32 @@
schemaCacheFile.delete();
}
}
+
+ public static void deleteCacheFile(IApplication app, ISQLAliasExt alias, boolean verbose)
+ {
+ File schemaCacheFile = SchemaInfoCacheSerializer.getSchemaCacheFile(alias);
+
+ String aliasName = null == alias.getName() || 0 == alias.getName().trim().length() ? "<unnamed>" : alias.getName();
+
+ if (schemaCacheFile.exists())
+ {
+ if (schemaCacheFile.delete())
+ {
+ // i18n[SchemaPropertiesController.cacheDeleted=Deleted {0}]
+ app.getMessageHandler().showMessage(s_stringMgr.getString("SchemaInfoCacheSerializer.cacheDeleted", schemaCacheFile.getPath()));
+ }
+ else
+ {
+ // i18n[SchemaPropertiesController.cacheDeleteFailed=Could not delete {0}]
+ app.getMessageHandler().showWarningMessage(s_stringMgr.getString("SchemaInfoCacheSerializer.cacheDeleteFailed", schemaCacheFile.getPath()));
+ }
+
+ }
+ else if(verbose)
+ {
+ // i18n[SchemaPropertiesController.cacheToDelNotExists=Cache file for Alias "{0}" does not exist. No file was deleted]
+ app.getMessageHandler().showWarningMessage(s_stringMgr.getString("SchemaInfoCacheSerializer.cacheToDelNotExists", aliasName));
+ }
+ }
+
}
Modified: trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/gui/db/aliasproperties/I18NStrings.properties
===================================================================
--- trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/gui/db/aliasproperties/I18NStrings.properties 2012-04-07 13:08:25 UTC (rev 6608)
+++ trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/gui/db/aliasproperties/I18NStrings.properties 2012-04-07 14:48:32 UTC (rev 6609)
@@ -102,9 +102,7 @@
SchemaPropertiesPanel.printCacheFileLocation=Print cache file path to message panelCtrl
SchemaPropertiesPanel.deleteCache=Delete cache file
+SchemaPropertiesPanel.deleteCacheNote=Note: If caching was changed consider to delete exisiting cache file to make changes work.
-SchemaPropertiesController.cacheDeleted=Deleted {0}
-SchemaPropertiesController.cacheDeleteFailed=Could not delete {0}
-SchemaPropertiesController.cacheToDelNotExists=Cache file for Alias "{0}" does not exist. No file was deleted
SchemaPropertiesController.cacheFilePath=Cache file path for Alias "{0}": {1}
SchemaPropertiesController.cacheFilePathNotExists=Cache file for Alias "{0}" does not exist. If it existed the path would be: {1}
Modified: trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/session/schemainfo/I18NStrings.properties
===================================================================
--- trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/session/schemainfo/I18NStrings.properties 2012-04-07 13:08:25 UTC (rev 6608)
+++ trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/session/schemainfo/I18NStrings.properties 2012-04-07 14:48:32 UTC (rev 6609)
@@ -16,3 +16,8 @@
SchemaInfoCacheSerializer.beginStore=Starting to write schema cache for Alias {0}. file: {1}
SchemaInfoCacheSerializer.endStore=Finished writing schema cache for Alias{0}. file: {1}
+
+
+SchemaInfoCacheSerializer.cacheDeleted=Deleted {0}
+SchemaInfoCacheSerializer.cacheDeleteFailed=Could not delete {0}
+SchemaInfoCacheSerializer.cacheToDelNotExists=Cache file for Alias "{0}" does not exist. No file was deleted
Modified: trunk/sql12/doc/src/main/resources/changes.txt
===================================================================
--- trunk/sql12/doc/src/main/resources/changes.txt 2012-04-07 13:08:25 UTC (rev 6608)
+++ trunk/sql12/doc/src/main/resources/changes.txt 2012-04-07 14:48:32 UTC (rev 6609)
@@ -64,6 +64,8 @@
Bug fixes:
+Referesh (F5) didn't work right and didn't delete schema cache files when schema caching was used.
+
Fixed memory leak: Sessions didn't get garbage collected as soon as a popup (code completion, bookmarks, tools popup) was used.
Connection/Login timeouts (menu File --> Global Preferences --> Tab SQL) as well as canceling the "Connect to" dialog now works cleanly.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|