Author: jflesch
Date: 2006-12-09 20:45:55 +0000 (Sat, 09 Dec 2006)
New Revision: 11322

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/IndexBrowserPanel.java
   trunk/apps/Thaw/src/thaw/plugins/index/IndexCategory.java
   trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java
   trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java
   trunk/apps/Thaw/src/thaw/plugins/index/LinkManagementHelper.java
   trunk/apps/Thaw/src/thaw/plugins/index/LinkTable.java
   trunk/apps/Thaw/src/thaw/plugins/index/UnknownIndexList.java
Log:
Cleaning index code + adding a progress bar showing the index refreshing state

Modified: trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java  2006-12-09 20:37:22 UTC 
(rev 11321)
+++ trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java  2006-12-09 20:45:55 UTC 
(rev 11322)
@@ -83,21 +83,20 @@

                button = new JButton(IconBox.indexReuse);
                
button.setToolTipText(I18n.getMessage("thaw.plugin.index.addAlreadyExistingIndex"));
-               action = new IndexManagementHelper.IndexReuser(hsqldb, 
core.getQueueManager(), browserPanel.getUnknownIndexList(), 
browserPanel.getIndexTree(), core.getMainWindow(), button);
+               action = new 
IndexManagementHelper.IndexReuser(core.getQueueManager(), browserPanel, button);
                action.setTarget(browserPanel.getIndexTree().getRoot());
                addButtonToTheToolbar(button);
                toolbarActions.add(action);

                button = new JButton(IconBox.indexNew);
                
button.setToolTipText(I18n.getMessage("thaw.plugin.index.createIndex"));
-               action = new IndexManagementHelper.IndexCreator(hsqldb, 
core.getQueueManager(), browserPanel.getUnknownIndexList(), 
browserPanel.getIndexTree(), button);
+               action = new 
IndexManagementHelper.IndexCreator(core.getQueueManager(), browserPanel, 
button);
                action.setTarget(browserPanel.getIndexTree().getRoot());
                addButtonToTheToolbar(button);
                toolbarActions.add(action);

                if (newDb) {
-                       IndexManagementHelper.addIndex(hsqldb, 
core.getQueueManager(), browserPanel.getUnknownIndexList(), 
browserPanel.getIndexTree(),
-                                                      
browserPanel.getIndexTree().getRoot(), IndexBrowser.DEFAULT_INDEX);
+                       IndexManagementHelper.addIndex(core.getQueueManager(), 
browserPanel, null, IndexBrowser.DEFAULT_INDEX);
                }

                stateChanged(null);

Modified: trunk/apps/Thaw/src/thaw/plugins/index/Index.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/Index.java   2006-12-09 20:37:22 UTC 
(rev 11321)
+++ trunk/apps/Thaw/src/thaw/plugins/index/Index.java   2006-12-09 20:45:55 UTC 
(rev 11322)
@@ -59,7 +59,7 @@
        private FCPGenerateSSK sskGenerator;

        private final FCPQueueManager queueManager;
-       private UnknownIndexList uIndexList;
+       private final IndexBrowserPanel indexBrowser;

        private FCPTransferQuery transfer = null;
        private File targetFile = null;
@@ -75,20 +75,18 @@
         * The bigest constructor of the world ...
         * @param revision Ignored if the index is not modifiable (=> deduced 
from the publicKey)
         */
-       public Index(final Hsqldb db, final FCPQueueManager queueManager, final 
UnknownIndexList indexList,
+       public Index(final FCPQueueManager queueManager,
+                    final IndexBrowserPanel indexBrowser,
                     final int id, final IndexCategory parent,
                     String realName, String displayName,
                     final String publicKey, final String privateKey,
                     final int revision,
                     final String author) {
-               uIndexList = indexList;
+               this.indexBrowser = indexBrowser;
                this.queueManager = queueManager;
                treeNode = new DefaultMutableTreeNode(displayName, false);
-               this.db = db;
+               this.db = indexBrowser.getDb();

-               if (db == null)
-                       Logger.error(this, "No reference to the database ?!");
-
                this.id = id;
                this.parent = parent;
                this.realName = realName.trim();
@@ -277,8 +275,7 @@

                                clientPut = new FCPClientPut(targetFile, 2, 
revision, realName, privateKey, 2, true, 0);
                                clientPut.setMetadata("ContentType", 
"application/x-freenet-index");
-                               transfer = clientPut;
-                               clientPut.addObserver(this);
+                               setTransfer(clientPut);

                                
queueManager.addQueryToThePendingQueue(clientPut);

@@ -330,10 +327,8 @@


                clientGet = new FCPClientGet(key, 2, 2, false, -1, null);
-               transfer = clientGet;
+               setTransfer(clientGet);

-               clientGet.addObserver(this);
-
                /*
                 * These requests are usually quite fast, and don't consume a 
lot
                 * of bandwith / CPU. So we can skip the queue and start 
immediatly
@@ -352,6 +347,10 @@


        protected void setTransfer(final FCPTransferQuery query) {
+               if (transfer != null && indexBrowser != null) {
+                       
indexBrowser.getIndexProgressBar().removeTransfer(query);
+               }
+
                transfer = query;

                if (transfer != null) {
@@ -360,11 +359,13 @@
                        if (transfer instanceof FCPClientPut)
                                ((FCPClientPut)transfer).addObserver(this);
                        this.update(((java.util.Observable)transfer), null);
+                       if (indexBrowser != null)
+                               
indexBrowser.getIndexProgressBar().addTransfer(query);
                }
        }

        protected void setTransfer() {
-               if (queueManager == null)
+               if (queueManager == null || transfer != null)
                        return;

                if (getPublicKey() != null) {
@@ -582,7 +583,7 @@
                                        if (transfer.stop(queueManager))
                                                queueManager.remove(transfer);

-                                       transfer = null;
+                                       setTransfer(null);

                                        this.setChanged();
                                        this.notifyObservers();
@@ -619,11 +620,11 @@
                                        loadXML(transfer.getPath());
                                        (new 
java.io.File(transfer.getPath())).delete();

-                                       transfer = null;
+                                       setTransfer(null);

                                        save();

-                                       uIndexList.addLinks(this);
+                                       
indexBrowser.getUnknownIndexList().addLinks(this);

                                        setChanged();
                                        notifyObservers();
@@ -633,7 +634,7 @@

                        if ((transfer != null) && transfer.isFinished() && 
!transfer.isSuccessful()) {
                                Logger.info(this, "Unable to get new version of 
the index");
-                               transfer = null;
+                               setTransfer(null);
                                this.setChanged();
                                this.notifyObservers();
                                return;

Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexBrowserPanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexBrowserPanel.java       
2006-12-09 20:37:22 UTC (rev 11321)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexBrowserPanel.java       
2006-12-09 20:45:55 UTC (rev 11322)
@@ -18,20 +18,24 @@

 public class IndexBrowserPanel implements 
javax.swing.event.TreeSelectionListener, ActionListener {
        private IndexTree indexTree;
-       private JSplitPane leftSplit;
+       private Tables tables;
+       private DetailPanel detailPanel;
        private UnknownIndexList unknownList;
+       private IndexProgressBar indexProgressBar;

        private JSplitPane split;

        private JPanel listAndDetails;
-       private Tables tables;
-       private DetailPanel detailPanel;
+       private JSplitPane leftSplit;

+       private JPanel globalPanel;
+
        private Hsqldb db;
        private FCPQueueManager queueManager;
        private Config config;
        private MainWindow mainWindow;

+
        public IndexBrowserPanel(final Hsqldb db, final FCPQueueManager 
queueManager, final Config config, final MainWindow mainWindow) {
                this.db = db;
                this.queueManager = queueManager;
@@ -59,6 +63,12 @@
                                       leftSplit, listAndDetails);

                indexTree.addTreeSelectionListener(this);
+
+               indexProgressBar = new IndexProgressBar();
+
+               globalPanel = new JPanel(new BorderLayout());
+               globalPanel.add(split, BorderLayout.CENTER);
+               globalPanel.add(indexProgressBar.getProgressBar(), 
BorderLayout.SOUTH);
        }

        public void restoreState() {
@@ -103,13 +113,17 @@
                return detailPanel;
        }

+       public IndexProgressBar getIndexProgressBar() {
+               return indexProgressBar;
+       }
+
        public MainWindow getMainWindow() {
                return mainWindow;
        }


-       public JSplitPane getPanel() {
-               return split;
+       public JPanel getPanel() {
+               return globalPanel;
        }

        public void saveState() {

Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexCategory.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexCategory.java   2006-12-09 
20:37:22 UTC (rev 11321)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexCategory.java   2006-12-09 
20:45:55 UTC (rev 11322)
@@ -26,23 +26,20 @@

        private Hsqldb db;
        private FCPQueueManager queueManager;
-       private UnknownIndexList uIndexList;
+       private IndexBrowserPanel indexBrowser;

-       public IndexCategory(final Hsqldb db, final FCPQueueManager 
queueManager, final UnknownIndexList uil,
+       public IndexCategory(final FCPQueueManager queueManager, final 
IndexBrowserPanel indexBrowser,
                             final int id, final IndexCategory parent,
                             final String name) {
                super(name, true);

-               uIndexList = uil;
+               this.indexBrowser = indexBrowser;
                this.id = id;
                this.name = name;
                this.parent = parent;

-               this.db = db;
+               this.db = indexBrowser.getDb();

-               if (db == null)
-                       Logger.error(this, "No reference to the database ?");
-
                this.queueManager = queueManager;

                setUserObject(this);
@@ -310,7 +307,7 @@

                                final String author = 
result.getString("author");

-                               final Index index = new Index(db, queueManager, 
uIndexList,
+                               final Index index = new Index(queueManager, 
indexBrowser,
                                                              id, this,
                                                              realName, 
displayName,
                                                              publicKey, 
privateKey,
@@ -353,7 +350,7 @@
                                final int position = 
result.getInt("positionInTree");
                                final String name = result.getString("name");

-                               final IndexCategory cat = new IndexCategory(db, 
queueManager, uIndexList, id, this, name);
+                               final IndexCategory cat = new 
IndexCategory(queueManager, indexBrowser, id, this, name);
                                cat.loadChildren();
                                set(children, position, cat);
                        }

Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java   
2006-12-09 20:37:22 UTC (rev 11321)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java   
2006-12-09 20:45:55 UTC (rev 11322)
@@ -59,20 +59,17 @@


        public static abstract class BasicIndexAction implements IndexAction {
-               private Hsqldb db;
-               private IndexTree tree;
                private FCPQueueManager queueManager;
-               private UnknownIndexList uIndexList;
                private AbstractButton actionSource;
                private IndexTreeNode target;

-               public BasicIndexAction(final Hsqldb db, final FCPQueueManager 
queueManager, final UnknownIndexList uIndexList, final IndexTree tree, final 
AbstractButton actionSource) {
-                       this.db = db;
-                       this.tree = tree;
+               private IndexBrowserPanel indexBrowser;
+
+               public BasicIndexAction(final FCPQueueManager queueManager, 
final IndexBrowserPanel indexBrowser, final AbstractButton actionSource) {
+                       this.indexBrowser = indexBrowser;
                        this.actionSource = actionSource;
                        target = null;
                        this.queueManager = queueManager;
-                       this.uIndexList = uIndexList;
                        actionSource.addActionListener(this);
                }

@@ -85,24 +82,16 @@

                }

-               public Hsqldb getDb() {
-                       return db;
-               }
-
                public FCPQueueManager getQueueManager() {
                        return queueManager;
                }

-               public UnknownIndexList getUnknownIndexList() {
-                       return uIndexList;
-               }
-
                public IndexTreeNode getTarget() {
                        return target;
                }

-               public IndexTree getTree() {
-                       return tree;
+               public IndexBrowserPanel getIndexBrowserPanel() {
+                       return indexBrowser;
                }

                public abstract void actionPerformed(ActionEvent e);
@@ -111,8 +100,8 @@


        public static class IndexCreator extends BasicIndexAction {
-               public IndexCreator(final Hsqldb db, final FCPQueueManager 
queueManager, final UnknownIndexList uIndexList, final IndexTree tree, final 
AbstractButton actionSource) {
-                       super(db, queueManager, uIndexList, tree, actionSource);
+               public IndexCreator(final FCPQueueManager queueManager, final 
IndexBrowserPanel indexBrowser, final AbstractButton actionSource) {
+                       super(null, indexBrowser, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -122,30 +111,30 @@

                public void actionPerformed(final ActionEvent e) {
                        final String name = 
IndexManagementHelper.askAName(I18n.getMessage("thaw.plugin.index.indexName"),
-                                              
I18n.getMessage("thaw.plugin.index.newIndex"));
+                                                                          
I18n.getMessage("thaw.plugin.index.newIndex"));

                        if (name == null)
                                return;

-                       IndexManagementHelper.createIndex(getDb(), 
getQueueManager(), getUnknownIndexList(), getTree(), 
(IndexCategory)getTarget(), name);
+                       IndexManagementHelper.createIndex(getQueueManager(), 
getIndexBrowserPanel(), (IndexCategory)getTarget(), name);
                }
        }

-       public static void createIndex(final Hsqldb db, final FCPQueueManager 
queueManager, final UnknownIndexList uIndexList, final IndexTree tree, 
IndexCategory target, final String name) {
+       public static void createIndex(final FCPQueueManager queueManager, 
final IndexBrowserPanel indexBrowser, IndexCategory target, final String name) {
                if (target == null)
-                       target = tree.getRoot();
+                       target = indexBrowser.getIndexTree().getRoot();

                if ((name == null) || (name.indexOf("/") >= 0)) {
                        Logger.error(new IndexManagementHelper(), "invalid 
name");
                        return;
                }

-               final Index index = new Index(db, queueManager, uIndexList, -1, 
target, name, name, null, null, 0, null);
+               final Index index = new Index(queueManager, indexBrowser, -1, 
target, name, name, null, null, 0, null);

                index.generateKeys();
                index.create();

-               tree.addToIndexCategory(target, index);
+               indexBrowser.getIndexTree().addToIndexCategory(target, index);
        }


@@ -171,14 +160,14 @@
                public static String[] askKeys(final boolean askPrivateKey,
                                               final String defaultPublicKey,
                                               final String defaultPrivateKey,
-                                              final MainWindow mainWindow) {
-                       return ((new KeyAsker()).askKeysBis(askPrivateKey, 
defaultPublicKey, defaultPrivateKey, mainWindow));
+                                              final IndexBrowserPanel 
indexBrowser) {
+                       return ((new KeyAsker()).askKeysBis(askPrivateKey, 
defaultPublicKey, defaultPrivateKey, indexBrowser));
                }

                public synchronized String[] askKeysBis(final boolean 
askPrivateKey,
-                                          String defaultPublicKey,
-                                          String defaultPrivateKey,
-                                          final MainWindow mainWindow) {
+                                                       String defaultPublicKey,
+                                                       String 
defaultPrivateKey,
+                                                       final IndexBrowserPanel 
indexBrowser) {
                        formState = 0;

                        if (defaultPublicKey == null)
@@ -187,7 +176,7 @@
                        if (defaultPrivateKey == null)
                                defaultPrivateKey = "SSK@";

-                       final JDialog frame = new 
JDialog(mainWindow.getMainFrame(), 
I18n.getMessage("thaw.plugin.index.indexKey"));
+                       final JDialog frame = new 
JDialog(indexBrowser.getMainWindow().getMainFrame(), 
I18n.getMessage("thaw.plugin.index.indexKey"));

                        frame.getContentPane().setLayout(new BorderLayout());

@@ -239,22 +228,12 @@
                        frame.setSize(700, 100);
                        frame.setVisible(true);

-                       /* TODO: DO IT BETTER YOU ?^{"(*? */
-                       /*       VVVVVVVVVVV              */
                        try {
                                wait();
                        } catch(final java.lang.InterruptedException e) {
                                /* \_o< */
                        }
-                       /*
-                       while(formState == 0) {
-                               try {
-                                       Thread.sleep(500);
-                               } catch(InterruptedException e) {

-                               }
-                       }*/
-
                        frame.setVisible(false);

                        if (formState == 2)
@@ -316,11 +295,9 @@
        }

        public static class IndexKeyModifier extends BasicIndexAction 
implements Runnable {
-               private MainWindow mainWindow;

-               public IndexKeyModifier(final MainWindow mainWindow, final 
AbstractButton actionSource) {
-                       super(null, null, null, null, actionSource);
-                       this.mainWindow = mainWindow;
+               public IndexKeyModifier(final IndexBrowserPanel indexBrowser, 
final AbstractButton actionSource) {
+                       super(null, indexBrowser, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -331,7 +308,7 @@
                public void run() {
                        final Index index = ((Index)getTarget());

-                       final String[] keys = KeyAsker.askKeys(true, 
index.getPublicKey(), index.getPrivateKey(), mainWindow);
+                       final String[] keys = KeyAsker.askKeys(true, 
index.getPublicKey(), index.getPrivateKey(), getIndexBrowserPanel());

                        if (keys == null)
                                return;
@@ -350,11 +327,8 @@


        public static class IndexReuser extends BasicIndexAction implements 
Runnable {
-               private MainWindow mainWindow;
-
-               public IndexReuser(final Hsqldb db, final FCPQueueManager 
queueManager, final UnknownIndexList uIndexList, final IndexTree tree, final 
MainWindow mainWindow, final AbstractButton actionSource) {
-                       super(db, queueManager, uIndexList, tree, actionSource);
-                       this.mainWindow = mainWindow;
+               public IndexReuser(final FCPQueueManager queueManager, final 
IndexBrowserPanel indexBrowser, final AbstractButton actionSource) {
+                       super(queueManager, indexBrowser, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -367,7 +341,7 @@
                        String publicKey = null;
                        String privateKey = null;

-                       keys = KeyAsker.askKeys(true, "USK@", "SSK@", 
mainWindow);
+                       keys = KeyAsker.askKeys(true, "USK@", "SSK@", 
getIndexBrowserPanel());

                        if (keys == null)
                                return;
@@ -375,7 +349,7 @@
                        publicKey = keys[0];
                        privateKey = keys[1];

-                       IndexManagementHelper.reuseIndex(getDb(), 
getQueueManager(), getUnknownIndexList(), getTree(), 
(IndexCategory)getTarget(), publicKey, privateKey);
+                       IndexManagementHelper.reuseIndex(getQueueManager(), 
getIndexBrowserPanel(), (IndexCategory)getTarget(), publicKey, privateKey);
                }

                public void actionPerformed(final ActionEvent e) {
@@ -387,8 +361,8 @@
        }


-       public static void addIndex(final Hsqldb db, final FCPQueueManager 
queueManager, final UnknownIndexList uIndexList, final IndexTree tree, final 
IndexCategory target, final String publicKey) {
-               IndexManagementHelper.reuseIndex(db, queueManager, uIndexList, 
tree, target, publicKey, null);
+       public static void addIndex(final FCPQueueManager queueManager, final 
IndexBrowserPanel indexBrowser, final IndexCategory target, final String 
publicKey) {
+               IndexManagementHelper.reuseIndex(queueManager, indexBrowser, 
target, publicKey, null);
        }


@@ -396,8 +370,7 @@
         * Can be use directly
         * @param privateKey Can be null
         */
-       public static void reuseIndex(final Hsqldb db, final FCPQueueManager 
queueManager, final UnknownIndexList uIndexList, final IndexTree tree, final 
IndexCategory target,
-                                     String publicKey, String privateKey) {
+       public static void reuseIndex(final FCPQueueManager queueManager, final 
IndexBrowserPanel indexBrowser, final IndexCategory target, String publicKey, 
String privateKey) {

                publicKey = FreenetURIHelper.cleanURI(publicKey);
                privateKey = FreenetURIHelper.cleanURI(privateKey);
@@ -412,10 +385,10 @@
                if ((target != null) && (target instanceof IndexCategory))
                        parent = target;
                else
-                       parent = tree.getRoot();
+                       parent = indexBrowser.getIndexTree().getRoot();

-               final Index index = new Index(db, queueManager, uIndexList, -2, 
parent, name, name, publicKey, privateKey, 0, null);
-               uIndexList.removeLink(index);
+               final Index index = new Index(queueManager, indexBrowser, -2, 
parent, name, name, publicKey, privateKey, 0, null);
+               indexBrowser.getUnknownIndexList().removeLink(index);

                index.create();

@@ -423,15 +396,15 @@

                parent.insert(index.getTreeNode(), 0);

-               tree.reloadModel(parent);
+               indexBrowser.getIndexTree().reloadModel(parent);
        }




        public static class IndexCategoryAdder extends BasicIndexAction {
-               public IndexCategoryAdder(final Hsqldb db, final 
FCPQueueManager queueManager, final UnknownIndexList uil, final IndexTree tree, 
final AbstractButton actionSource) {
-                       super(db, queueManager, uil, tree, actionSource);
+               public IndexCategoryAdder(final FCPQueueManager queueManager, 
final IndexBrowserPanel indexBrowser, final AbstractButton actionSource) {
+                       super(queueManager, indexBrowser, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -441,27 +414,28 @@

                public void actionPerformed(final ActionEvent e) {
                        final String name = 
IndexManagementHelper.askAName(I18n.getMessage("thaw.plugin.index.categoryName"),
-                                              
I18n.getMessage("thaw.plugin.index.newCategory"));
+                                                                          
I18n.getMessage("thaw.plugin.index.newCategory"));

-                       IndexManagementHelper.addIndexCategory(getDb(), 
getQueueManager(), getUnknownIndexList(), getTree(), 
(IndexCategory)getTarget(), name);
+                       
IndexManagementHelper.addIndexCategory(getQueueManager(), 
getIndexBrowserPanel(), (IndexCategory)getTarget(), name);
                }
        }

-       public static void addIndexCategory(final Hsqldb db, final 
FCPQueueManager queueManager, final UnknownIndexList uIndexList, final 
IndexTree tree, IndexCategory target, final String name) {
+
+       public static void addIndexCategory(final FCPQueueManager queueManager, 
final IndexBrowserPanel indexBrowser, IndexCategory target, final String name) {
                if (target == null)
-                       target = tree.getRoot();
+                       target = indexBrowser.getIndexTree().getRoot();

-               final IndexCategory newCat = new IndexCategory(db, 
queueManager, uIndexList, -2, target, name);
+               final IndexCategory newCat = new IndexCategory(queueManager, 
indexBrowser, -2, target, name);

                newCat.create();

-               tree.addToIndexCategory(target, newCat);
+               indexBrowser.getIndexTree().addToIndexCategory(target, newCat);
        }


        public static class IndexDownloader extends BasicIndexAction implements 
Runnable {
                public IndexDownloader(final AbstractButton actionSource) {
-                       super(null, null, null, null, actionSource);
+                       super(null, null, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -477,13 +451,13 @@
                        if (getTarget() != null)
                                getTarget().updateFromFreenet(-1);
                        else
-                               getTree().getRoot().updateFromFreenet(-1);
+                               
getIndexBrowserPanel().getIndexTree().getRoot().updateFromFreenet(-1);
                }
        }

        public static class IndexUploader extends BasicIndexAction implements 
Runnable {
                public IndexUploader(final AbstractButton actionSource) {
-                       super(null, null, null, null, actionSource);
+                       super(null, null, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -505,7 +479,7 @@

        public static class PublicKeyCopier extends BasicIndexAction {
                public PublicKeyCopier(final AbstractButton actionSource) {
-                       super(null, null, null, null, actionSource);
+                       super(null, null, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -532,7 +506,7 @@

        public static class PrivateKeyCopier extends BasicIndexAction {
                public PrivateKeyCopier(final AbstractButton actionSource) {
-                       super(null, null, null, null, actionSource);
+                       super(null, null, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -560,8 +534,8 @@
         * Can rename indexes or index categories.
         */
        public static class IndexRenamer extends BasicIndexAction {
-               public IndexRenamer(final IndexTree tree, final AbstractButton 
actionSource) {
-                       super(null, null, null, tree, actionSource);
+               public IndexRenamer(final IndexBrowserPanel indexBrowser, final 
AbstractButton actionSource) {
+                       super(null, indexBrowser, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -574,34 +548,34 @@

                        if (getTarget() instanceof Index) {
                                newName = 
IndexManagementHelper.askAName(I18n.getMessage("thaw.plugin.index.indexName"),
-                                                  getTarget().toString());
+                                                                        
getTarget().toString());
                        } else {
                                newName = 
IndexManagementHelper.askAName(I18n.getMessage("thaw.plugin.index.categoryName"),
-                                                  getTarget().toString());
+                                                                        
getTarget().toString());
                        }

                        if (newName == null)
                                return;

-                       IndexManagementHelper.renameNode(getTree(), 
getTarget(), newName);
+                       
IndexManagementHelper.renameNode(getIndexBrowserPanel(), getTarget(), newName);
                }
        }


-       public static void renameNode(final IndexTree tree, final IndexTreeNode 
node, final String newName) {
+       public static void renameNode(final IndexBrowserPanel indexBrowser, 
final IndexTreeNode node, final String newName) {
                if ((node == null) || (newName == null))
                        return;

                node.rename(newName);

-               tree.reloadModel(node.getTreeNode());
+               indexBrowser.getIndexTree().reloadModel(node.getTreeNode());
        }



        public static class IndexExporter extends BasicIndexAction {
                public IndexExporter(final AbstractButton actionSource) {
-                       super(null, null, null, null, actionSource);
+                       super(null, null, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -637,7 +611,7 @@

        public static class IndexImporter extends BasicIndexAction {
                public IndexImporter(final AbstractButton actionSource) {
-                       super(null, null, null, null, actionSource);
+                       super(null, null, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -667,8 +641,8 @@
         * Can be used on indexes or index categories.
         */
        public static class IndexDeleter extends BasicIndexAction {
-               public IndexDeleter(final IndexTree tree, final AbstractButton 
actionSource) {
-                       super(null, null, null, tree, actionSource);
+               public IndexDeleter(final IndexBrowserPanel indexBrowser, final 
AbstractButton actionSource) {
+                       super(null, indexBrowser, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -677,12 +651,12 @@
                }

                public void actionPerformed(final ActionEvent e) {
-                       IndexManagementHelper.deleteNode(getTree(), 
getTarget());
+                       
IndexManagementHelper.deleteNode(getIndexBrowserPanel(), getTarget());
                }
        }


-       public static void deleteNode(final IndexTree tree, final IndexTreeNode 
node) {
+       public static void deleteNode(final IndexBrowserPanel indexBrowser, 
final IndexTreeNode node) {
                if (node == null)
                        return;

@@ -694,16 +668,17 @@
                node.delete();

                if (parent != null)
-                       tree.reloadModel(parent);
+                       indexBrowser.getIndexTree().reloadModel(parent);
                else
-                       tree.reloadModel();
+                       indexBrowser.getIndexTree().reloadModel();
        }



        public static class FileInserterAndAdder extends BasicIndexAction {
-               public FileInserterAndAdder(final Hsqldb db, final 
FCPQueueManager queueManager, final AbstractButton actionSource) {
-                       super(db, queueManager, null, null, actionSource);
+
+               public FileInserterAndAdder(final FCPQueueManager queueManager, 
final IndexBrowserPanel indexBrowser, final AbstractButton actionSource) {
+                       super(queueManager, indexBrowser, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -725,14 +700,14 @@

                        final String category = 
FileCategory.promptForACategory();

-                       IndexManagementHelper.addFiles(getDb(), 
getQueueManager(), (Index)getTarget(), files, category, true);
+                       IndexManagementHelper.addFiles(getQueueManager(), 
getIndexBrowserPanel(), (Index)getTarget(), files, category, true);
                }
        }


        public static class FileAdder extends BasicIndexAction {
-               public FileAdder(final Hsqldb db, final FCPQueueManager 
queueManager, final AbstractButton actionSource) {
-                       super(db, queueManager, null, null, actionSource);
+               public FileAdder(final FCPQueueManager queueManager, final 
IndexBrowserPanel indexBrowser, final AbstractButton actionSource) {
+                       super(queueManager, indexBrowser, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -754,14 +729,14 @@

                        final String category = 
FileCategory.promptForACategory();

-                       IndexManagementHelper.addFiles(getDb(), 
getQueueManager(), (Index)getTarget(), files, category, false);
+                       IndexManagementHelper.addFiles(getQueueManager(), 
getIndexBrowserPanel(), (Index)getTarget(), files, category, false);
                }
        }

        /**
         * @param files See thaw.plugins.index.File
         */
-       public static void addFiles(final Hsqldb db, final FCPQueueManager 
queueManager,
+       public static void addFiles(final FCPQueueManager queueManager, final 
IndexBrowserPanel indexBrowser,
                                    final Index target, final Vector files, 
final String category, final boolean insert) {
                if ((target == null) || (files == null))
                        return;
@@ -785,9 +760,10 @@
                                insertion.start(queueManager);
                        }

-                       final thaw.plugins.index.File file = new 
thaw.plugins.index.File(db, ioFile.getPath(),
-                                                                               
   category, target,
-                                                                               
   insertion);
+                       final thaw.plugins.index.File file = new 
thaw.plugins.index.File(indexBrowser.getDb(),
+                                                                               
         ioFile.getPath(),
+                                                                               
         category, target,
+                                                                               
         insertion);

                        ((FCPClientPut)insertion).addObserver(file);

@@ -805,11 +781,9 @@
                private JDialog frame = null;

                private JPopupMenu popupMenu = null;
-               private MainWindow mainWindow;

-               public KeyAdder(final Hsqldb db, final MainWindow win, final 
AbstractButton actionSource) {
-                       super(db, null, null, null, actionSource);
-                       mainWindow = win;
+               public KeyAdder(final IndexBrowserPanel indexBrowser, final 
AbstractButton actionSource) {
+                       super(null, indexBrowser, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -821,7 +795,7 @@
                        JLabel header = null;
                        JPanel buttonPanel = null;

-                       frame = new JDialog(mainWindow.getMainFrame(), 
I18n.getMessage("thaw.plugins.index.addKeys"));
+                       frame = new 
JDialog(getIndexBrowserPanel().getMainWindow().getMainFrame(), 
I18n.getMessage("thaw.plugins.index.addKeys"));
                        frame.setVisible(false);

                        header = new 
JLabel(I18n.getMessage("thaw.plugin.fetch.keyList"));
@@ -877,7 +851,7 @@
                                        }
                                }

-                               IndexManagementHelper.addKeys(getDb(), 
(Index)getTarget(), keyVec, category);
+                               
IndexManagementHelper.addKeys(getIndexBrowserPanel(), (Index)getTarget(), 
keyVec, category);
                        }

                        if (e.getSource() == cancelButton) {
@@ -908,7 +882,7 @@
        /**
         * @param keys => String
         */
-       public static void addKeys(final Hsqldb db, final Index target, final 
Vector keys, final String category) {
+       public static void addKeys(final IndexBrowserPanel indexBrowser, final 
Index target, final Vector keys, final String category) {
                if ((target == null) || (keys == null))
                        return;

@@ -917,7 +891,7 @@

                        final String key = (String)it.next();

-                       final thaw.plugins.index.File file = new 
thaw.plugins.index.File(db, key, target);
+                       final thaw.plugins.index.File file = new 
thaw.plugins.index.File(indexBrowser.getDb(), key, target);
                        target.addFile(file);
                }
        }
@@ -925,11 +899,8 @@


        public static class LinkAdder extends BasicIndexAction implements 
Runnable {
-               private IndexBrowserPanel indexBrowser;
-
                public LinkAdder(IndexBrowserPanel indexBrowser, final 
AbstractButton actionSource) {
-                       super(indexBrowser.getDb(), null, null, null, 
actionSource);
-                       this.indexBrowser = indexBrowser;
+                       super(null, indexBrowser, actionSource);
                }

                public void setTarget(final IndexTreeNode node) {
@@ -938,11 +909,11 @@
                }

                public void run() {
-                       final IndexSelecter indexSelecter = new 
IndexSelecter(indexBrowser);
-                       final String indexKey = 
indexSelecter.askForAnIndexURI(getDb());
+                       final IndexSelecter indexSelecter = new 
IndexSelecter(getIndexBrowserPanel());
+                       final String indexKey = 
indexSelecter.askForAnIndexURI(getIndexBrowserPanel().getDb());

                        if (indexKey != null) {
-                               IndexManagementHelper.addLink(getDb(), 
(Index)getTarget(), indexKey);
+                               
IndexManagementHelper.addLink(getIndexBrowserPanel(), (Index)getTarget(), 
indexKey);
                        }
                }

@@ -955,11 +926,11 @@
        /**
         * @param keys => String
         */
-       public static void addLink(final Hsqldb db, final Index target, final 
String linkKey) {
+       public static void addLink(final IndexBrowserPanel indexBrowser, final 
Index target, final String linkKey) {
                if ((target == null) || (linkKey == null))
                        return;

-               final Link newLink = new Link(db, linkKey, target);
+               final Link newLink = new Link(indexBrowser.getDb(), linkKey, 
target);
                target.addLink(newLink);
        }


Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java       2006-12-09 
20:37:22 UTC (rev 11321)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java       2006-12-09 
20:45:55 UTC (rev 11322)
@@ -101,7 +101,7 @@
                panel.setLayout(new BorderLayout(10, 10));


-               root = new IndexCategory(indexBrowser.getDb(), queueManager, 
indexBrowser.getUnknownIndexList(), -1, null, rootName);
+               root = new IndexCategory(queueManager, indexBrowser, -1, null, 
rootName);
                root.loadChildren();

                root.addObserver(this);
@@ -146,23 +146,23 @@

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.addAlreadyExistingIndex"));
                indexCategoryMenu.add(item);
-               indexCategoryActions.add(new 
IndexManagementHelper.IndexReuser(indexBrowser.getDb(), queueManager, 
indexBrowser.getUnknownIndexList(), this, indexBrowser.getMainWindow(), item));
+               indexCategoryActions.add(new 
IndexManagementHelper.IndexReuser(queueManager, indexBrowser, item));

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.addCategory"));
                indexCategoryMenu.add(item);
-               indexCategoryActions.add(new 
IndexManagementHelper.IndexCategoryAdder(indexBrowser.getDb(), queueManager, 
indexBrowser.getUnknownIndexList(), this, item));
+               indexCategoryActions.add(new 
IndexManagementHelper.IndexCategoryAdder(queueManager, indexBrowser, item));

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.createIndex"));
                indexCategoryMenu.add(item);
-               indexCategoryActions.add(new 
IndexManagementHelper.IndexCreator(indexBrowser.getDb(), queueManager, 
indexBrowser.getUnknownIndexList(), this, item));
+               indexCategoryActions.add(new 
IndexManagementHelper.IndexCreator(queueManager, indexBrowser, item));

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.rename"));
                indexCategoryMenu.add(item);
-               indexCategoryActions.add(new 
IndexManagementHelper.IndexRenamer(this, item));
+               indexCategoryActions.add(new 
IndexManagementHelper.IndexRenamer(indexBrowser, item));

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.delete"));
                indexCategoryMenu.add(item);
-               indexCategoryActions.add(new 
IndexManagementHelper.IndexDeleter(this, item));
+               indexCategoryActions.add(new 
IndexManagementHelper.IndexDeleter(indexBrowser, item));

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.copyKeys"));
                indexCategoryMenu.add(item);
@@ -180,7 +180,7 @@

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.rename"));
                indexMenu.add(item);
-               indexAndFileActions.add(new 
IndexManagementHelper.IndexRenamer(this, item));
+               indexAndFileActions.add(new 
IndexManagementHelper.IndexRenamer(indexBrowser, item));

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.exportIndex"));
                indexMenu.add(item);
@@ -192,11 +192,11 @@

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.delete"));
                indexMenu.add(item);
-               indexAndFileActions.add(new 
IndexManagementHelper.IndexDeleter(this, item));
+               indexAndFileActions.add(new 
IndexManagementHelper.IndexDeleter(indexBrowser, item));

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.changeIndexKeys"));
                indexMenu.add(item);
-               indexAndFileActions.add(new 
IndexManagementHelper.IndexKeyModifier(indexBrowser.getMainWindow(), item));
+               indexAndFileActions.add(new 
IndexManagementHelper.IndexKeyModifier(indexBrowser, item));

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.copyPrivateKey"));
                indexMenu.add(item);
@@ -211,15 +211,15 @@

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.addFilesWithInserting"));
                fileMenu.add(item);
-               indexAndFileActions.add(new 
IndexManagementHelper.FileInserterAndAdder(indexBrowser.getDb(), queueManager, 
item));
+               indexAndFileActions.add(new 
IndexManagementHelper.FileInserterAndAdder(queueManager, indexBrowser, item));

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.addFilesWithoutInserting"));
                fileMenu.add(item);
-               indexAndFileActions.add(new 
IndexManagementHelper.FileAdder(indexBrowser.getDb(), queueManager, item));
+               indexAndFileActions.add(new 
IndexManagementHelper.FileAdder(queueManager, indexBrowser, item));

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.addKeys"));
                fileMenu.add(item);
-               indexAndFileActions.add(new 
IndexManagementHelper.KeyAdder(indexBrowser.getDb(), 
indexBrowser.getMainWindow(), item));
+               indexAndFileActions.add(new 
IndexManagementHelper.KeyAdder(indexBrowser, item));

                // Link menu
                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.addLink"));

Modified: trunk/apps/Thaw/src/thaw/plugins/index/LinkManagementHelper.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/LinkManagementHelper.java    
2006-12-09 20:37:22 UTC (rev 11321)
+++ trunk/apps/Thaw/src/thaw/plugins/index/LinkManagementHelper.java    
2006-12-09 20:45:55 UTC (rev 11322)
@@ -79,25 +79,20 @@


        public static class IndexAdder implements LinkAction {
-               private Hsqldb db;
                private FCPQueueManager queueManager;
-               private IndexTree tree;
-               private UnknownIndexList uil;
+               private IndexBrowserPanel indexBrowser;

                private AbstractButton src;
                private Vector t;

                public IndexAdder(final AbstractButton actionSource,
-                                 final Hsqldb db, final FCPQueueManager 
queueManager,
-                                 final UnknownIndexList uil,
-                                 final IndexTree tree) {
+                                 final FCPQueueManager queueManager,
+                                 final IndexBrowserPanel indexBrowser) {
                        src = actionSource;
                        if (actionSource != null)
                                actionSource.addActionListener(this);
-                       this.db = db;
                        this.queueManager = queueManager;
-                       this.tree = tree;
-                       this.uil = uil;
+                       this.indexBrowser = indexBrowser;
                }

                public void setTarget(final Vector targets) {
@@ -109,7 +104,7 @@
                        for (final Iterator it = t.iterator();
                             it.hasNext(); ) {
                                final Link link = (Link)it.next();
-                               IndexManagementHelper.addIndex(db, 
queueManager, uil, tree, null,
+                               IndexManagementHelper.addIndex(queueManager, 
indexBrowser, null,
                                                               
link.getPublicKey());
                        }
                }

Modified: trunk/apps/Thaw/src/thaw/plugins/index/LinkTable.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/LinkTable.java       2006-12-09 
20:37:22 UTC (rev 11321)
+++ trunk/apps/Thaw/src/thaw/plugins/index/LinkTable.java       2006-12-09 
20:45:55 UTC (rev 11322)
@@ -66,9 +66,8 @@

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.addIndexesFromLink"));
                rightClickMenu.add(item);
-               rightClickActions.add(new LinkManagementHelper.IndexAdder(item, 
indexBrowser.getDb(), queueManager,
-                                                                         
indexBrowser.getUnknownIndexList(),
-                                                                         
indexBrowser.getIndexTree()));
+               rightClickActions.add(new LinkManagementHelper.IndexAdder(item, 
queueManager,
+                                                                         
indexBrowser));

                item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.copyKeys"));
                rightClickMenu.add(item);

Modified: trunk/apps/Thaw/src/thaw/plugins/index/UnknownIndexList.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/UnknownIndexList.java        
2006-12-09 20:37:22 UTC (rev 11321)
+++ trunk/apps/Thaw/src/thaw/plugins/index/UnknownIndexList.java        
2006-12-09 20:45:55 UTC (rev 11322)
@@ -151,7 +151,7 @@

                        item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.addIndexesFromLink"));
                        rightClickMenu.add(item);
-                       rightClickActions.add(new 
LinkManagementHelper.IndexAdder(item, indexBrowser.getDb(), queueManager, this, 
indexBrowser.getIndexTree()));
+                       rightClickActions.add(new 
LinkManagementHelper.IndexAdder(item, queueManager, indexBrowser));

                        item = new 
JMenuItem(I18n.getMessage("thaw.plugin.index.copyKeys"));
                        rightClickMenu.add(item);


Reply via email to