Author: jflesch
Date: 2006-12-06 23:47:11 +0000 (Wed, 06 Dec 2006)
New Revision: 11274
Modified:
trunk/apps/Thaw/src/thaw/plugins/Hsqldb.java
trunk/apps/Thaw/src/thaw/plugins/index/File.java
trunk/apps/Thaw/src/thaw/plugins/index/Index.java
trunk/apps/Thaw/src/thaw/plugins/index/IndexBrowserPanel.java
trunk/apps/Thaw/src/thaw/plugins/index/IndexCategory.java
Log:
Fix a NPE and an IllegalArgumentException
Modified: trunk/apps/Thaw/src/thaw/plugins/Hsqldb.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/Hsqldb.java 2006-12-06 18:21:00 UTC
(rev 11273)
+++ trunk/apps/Thaw/src/thaw/plugins/Hsqldb.java 2006-12-06 23:47:11 UTC
(rev 11274)
@@ -13,12 +13,15 @@
public class Hsqldb extends LibraryPlugin {
private Core core;
- public volatile String dbLock;
+ public volatile Object dbLock;
private Connection connection;
+
public boolean run(final Core core) {
this.core = core;
+ dbLock = new Object();
+
try {
Class.forName("org.hsqldb.jdbcDriver");
} catch (final Exception e) {
Modified: trunk/apps/Thaw/src/thaw/plugins/index/File.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/File.java 2006-12-06 18:21:00 UTC
(rev 11273)
+++ trunk/apps/Thaw/src/thaw/plugins/index/File.java 2006-12-06 23:47:11 UTC
(rev 11274)
@@ -36,12 +36,15 @@
private Index parent;
private int parentId;
- private final Hsqldb db;
+ private Hsqldb db;
private FCPQueueManager queueManager = null;
public File(final Hsqldb db, final String publicKey, final Index
parent) {
+ if (db == null)
+ Logger.error(this, "No ref. to the database ?!");
+
this.db = db;
id = -1;
this.publicKey = publicKey;
@@ -57,6 +60,9 @@
public File(final Hsqldb db, final String path, final String category,
final Index parent, final FCPTransferQuery transfer) {
this.db = db;
+ if (db == null)
+ Logger.error(this, "No ref. to the database ?! (2)");
+
id = -1;
localPath = path;
this.transfer = transfer;
@@ -77,6 +83,9 @@
public File(final Hsqldb db, final ResultSet resultSet, final Index
parent) throws SQLException {
this.db = db;
+ if (db == null)
+ Logger.error(this, "No ref. to the database ?! (3)");
+
id = resultSet.getInt("id");
fileName = resultSet.getString("filename").trim();
publicKey = resultSet.getString("publicKey").trim();
@@ -93,6 +102,9 @@
public File(final Hsqldb db, final Element fileElement, final Index
parent) {
this.db = db;
+ if (db == null)
+ Logger.error(this, "No ref. to the database ?! (4)");
+
id = Integer.parseInt(fileElement.getAttribute("id")); /* will
be changed when inserted in the database */
publicKey = fileElement.getAttribute("key");
Modified: trunk/apps/Thaw/src/thaw/plugins/index/Index.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/Index.java 2006-12-06 18:21:00 UTC
(rev 11273)
+++ trunk/apps/Thaw/src/thaw/plugins/index/Index.java 2006-12-06 23:47:11 UTC
(rev 11274)
@@ -85,6 +85,10 @@
this.queueManager = queueManager;
treeNode = new DefaultMutableTreeNode(displayName, false);
this.db = db;
+
+ if (db == null)
+ Logger.error(this, "No reference to the database ?!");
+
this.id = id;
this.parent = parent;
this.realName = realName.trim();
Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexBrowserPanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexBrowserPanel.java
2006-12-06 18:21:00 UTC (rev 11273)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexBrowserPanel.java
2006-12-06 23:47:11 UTC (rev 11274)
@@ -34,6 +34,9 @@
public IndexBrowserPanel(final Hsqldb db, final FCPQueueManager
queueManager, final Config config, final MainWindow mainWindow) {
+ if (db == null)
+ Logger.error(this, "No reference to the database ?!");
+
this.db = db;
this.queueManager = queueManager;
this.config = config;
@@ -71,7 +74,11 @@
if (config.getValue("indexTreeUnknownListSplitLocation") ==
null) {
leftSplit.setDividerLocation((0.5));
} else {
-
leftSplit.setDividerLocation(Double.parseDouble(config.getValue("indexTreeUnknownListSplitLocation")));
+ try {
+
leftSplit.setDividerLocation(Double.parseDouble(config.getValue("indexTreeUnknownListSplitLocation")));
+ } catch(java.lang.IllegalArgumentException e) { /*
TODO: Find why it happens */
+ Logger.error(this, "Exception while setting
indexTree split location");
+ }
}
leftSplit.setResizeWeight(0.5);
Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexCategory.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexCategory.java 2006-12-06
18:21:00 UTC (rev 11273)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexCategory.java 2006-12-06
23:47:11 UTC (rev 11274)
@@ -39,6 +39,10 @@
this.parent = parent;
this.db = db;
+
+ if (db == null)
+ Logger.error(this, "No reference to the database ?");
+
this.queueManager = queueManager;
setUserObject(this);
@@ -307,11 +311,11 @@
final String author =
result.getString("author");
final Index index = new Index(db, queueManager,
uIndexList,
- id, this,
- realName, displayName,
- publicKey, privateKey,
- revision,
- author);
+ id, this,
+ realName,
displayName,
+ publicKey,
privateKey,
+ revision,
+ author);
set(children, position, index.getTreeNode());
}