Author: jflesch
Date: 2006-12-01 23:37:12 +0000 (Fri, 01 Dec 2006)
New Revision: 11189

Modified:
   trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java
   trunk/apps/Thaw/src/thaw/plugins/index/Index.java
   trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java
Log:
Fix NPE when adding an index already in the tree

Modified: trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java  2006-12-01 23:17:10 UTC 
(rev 11188)
+++ trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java  2006-12-01 23:37:12 UTC 
(rev 11189)
@@ -9,7 +9,7 @@
 import thaw.plugins.index.*;

 public class IndexBrowser extends ToolbarModifier implements Plugin, 
ChangeListener {
-       public static final String DEFAULT_INDEX = "USK at 
BXd4EqMSOR589aHNHOY-e2QjI9NHwPlJurKxcvo1hBg,HkrDarIUF79uc9fjGu0S3mbp7Qf8YeMHynKf2GQO3r0,AQABAAE/Thaw/3/Thaw.xml";
+       public static final String DEFAULT_INDEX = "USK at 
BXd4EqMSOR589aHNHOY-e2QjI9NHwPlJurKxcvo1hBg,HkrDarIUF79uc9fjGu0S3mbp7Qf8YeMHynKf2GQO3r0,AQABAAE/Thaw/4/Thaw.xml";

        private Core core;
        private Hsqldb hsqldb;

Modified: trunk/apps/Thaw/src/thaw/plugins/index/Index.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/Index.java   2006-12-01 23:17:10 UTC 
(rev 11188)
+++ trunk/apps/Thaw/src/thaw/plugins/index/Index.java   2006-12-01 23:37:12 UTC 
(rev 11189)
@@ -475,10 +475,14 @@
                                st.setString(4, this.privateKey);
                        else
                                st.setNull(4, Types.VARCHAR);
-                       st.setInt(5, 
this.treeNode.getParent().getIndex(this.treeNode));

-                       st.setInt(6, this.revision);
+                       if (treeNode != null && treeNode.getParent() != null)
+                               st.setInt(5, 
treeNode.getParent().getIndex(treeNode));
+                       else
+                               st.setInt(5, 0);

+                       st.setInt(6, revision);
+
                        if( ((IndexTreeNode)this.treeNode.getParent()).getId() 
< 0)
                                st.setNull(7, Types.INTEGER);
                        else
@@ -611,8 +615,8 @@

                                        save();

-                                       this.setChanged();
-                                       this.notifyObservers();
+                                       setChanged();
+                                       notifyObservers();
                                }

                        }

Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java   
2006-12-01 23:17:10 UTC (rev 11188)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java   
2006-12-01 23:37:12 UTC (rev 11189)
@@ -175,10 +175,10 @@

                Index index = new Index(db, queueManager, -2, target, name, 
name, publicKey, null, 0, null);

-               if (tree.addToIndexCategory(target, index))
+               if (tree.addToIndexCategory(target, index)) {
                        index.create();
-
-               index.updateFromFreenet(-1);
+                       index.updateFromFreenet(-1);
+               }
        }




Reply via email to