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


Reply via email to