Author: jflesch
Date: 2006-10-20 19:17:12 +0000 (Fri, 20 Oct 2006)
New Revision: 10681

Modified:
   trunk/apps/Thaw/src/thaw/fcp/FCPQueueManager.java
   trunk/apps/Thaw/src/thaw/plugins/index/File.java
   trunk/apps/Thaw/src/thaw/plugins/index/FileTable.java
   trunk/apps/Thaw/src/thaw/plugins/index/Index.java
   trunk/apps/Thaw/src/thaw/plugins/index/SearchBar.java
   trunk/apps/Thaw/src/thaw/plugins/index/SearchResult.java
   trunk/apps/Thaw/src/thaw/plugins/index/Tables.java
Log:
Fix some display issues

Modified: trunk/apps/Thaw/src/thaw/fcp/FCPQueueManager.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPQueueManager.java   2006-10-20 18:09:26 UTC 
(rev 10680)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPQueueManager.java   2006-10-20 19:17:12 UTC 
(rev 10681)
@@ -270,6 +270,49 @@


        /**
+        * Not very reliable ?
+        */
+       public FCPTransferQuery getTransfer(String key) {
+               boolean interrupted=true;
+
+               Iterator it;
+
+               while(interrupted) {
+                       interrupted = false;
+
+                       try {
+                               for(it = runningQueries.iterator();
+                                   it.hasNext(); )
+                                       {
+                                               FCPTransferQuery plop = 
(FCPTransferQuery)it.next();
+                                               if (plop.getFileKey() == key
+                                                   || 
key.equals(plop.getFileKey()))
+                                                       return plop;
+                                       }
+                               
+                               for(int i = 0 ; i <= PRIORITY_MIN ; i++) {
+                                       for(it = pendingQueries[i].iterator();
+                                           it.hasNext(); )
+                                               {
+                                                       FCPTransferQuery plop = 
(FCPTransferQuery)it.next();
+                                                       if (plop.getFileKey() 
== key
+                                                           || 
key.equals(plop.getFileKey()))
+                                                               return plop;
+                                               }
+                                       
+                               }
+                       } catch(java.util.ConcurrentModificationException e) {
+                               Logger.notice(this, "getTransfer(): Collission. 
Reitering");
+                               interrupted = true;
+                       }
+
+               }
+
+               return null;
+       }
+
+
+       /**
         * Compare using the key.
         */
        public boolean isAlreadyPresent(FCPTransferQuery query) {

Modified: trunk/apps/Thaw/src/thaw/plugins/index/File.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/File.java    2006-10-20 18:09:26 UTC 
(rev 10680)
+++ trunk/apps/Thaw/src/thaw/plugins/index/File.java    2006-10-20 19:17:12 UTC 
(rev 10681)
@@ -154,13 +154,27 @@
        public void setTransfer(FCPTransferQuery query) {
                transfer = query;

-               if(transfer instanceof FCPClientPut)
-                       ((FCPClientPut)transfer).addObserver(this);
+               if (transfer != null) {
+                       if(transfer instanceof FCPClientPut)
+                               ((FCPClientPut)transfer).addObserver(this);
+                       if(transfer instanceof FCPClientGet)
+                               ((FCPClientGet)transfer).addObserver(this);
+               }

                setChanged();
                notifyObservers(query);
        }

+       /* Try to find its download automagically */
+       public void setTransfer(FCPQueueManager queueManager) {
+               if (publicKey != null) {
+                       setTransfer(queueManager.getTransfer(publicKey));
+               }
+
+               setChanged();
+               notifyObservers();
+       }
+
        public void insert() {
                if (parent == null) {
                        Logger.notice(this, "insert(): No parent !");
@@ -315,10 +329,15 @@
        public void update(java.util.Observable o, Object param) {
                if(o == transfer) {
                        if(transfer.isFinished() && transfer instanceof 
FCPClientPut) {
+                               ((FCPClientPut)transfer).deleteObserver(this);
                                setPublicKey(transfer.getFileKey());
                                update();
                        }

+                       if(transfer.isFinished() && transfer instanceof 
FCPClientGet) {
+                               ((FCPClientGet)transfer).deleteObserver(this);
+                       }
+
                        if(transfer.isFinished() && transfer.isSuccessful()) {
                                transfer = null;
                        }

Modified: trunk/apps/Thaw/src/thaw/plugins/index/FileTable.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/FileTable.java       2006-10-20 
18:09:26 UTC (rev 10680)
+++ trunk/apps/Thaw/src/thaw/plugins/index/FileTable.java       2006-10-20 
19:17:12 UTC (rev 10681)
@@ -38,6 +38,16 @@
 import java.util.Observable;
 import java.util.Observer;

+import javax.swing.event.TableModelListener;
+import javax.swing.event.TableModelEvent;
+import javax.swing.table.TableColumnModel;
+import javax.swing.table.TableColumn;
+import javax.swing.table.JTableHeader;
+
+
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+
 import thaw.core.*;
 import thaw.fcp.*;

@@ -63,6 +73,9 @@

        private FCPQueueManager queueManager;

+       private String sortColumn = null;
+       private boolean ascOrder = false;
+
        private int[] selectedRows;

        public FileTable(boolean modifiables, FCPQueueManager queueManager) {
@@ -100,6 +113,10 @@

                table.addMouseListener(this);

+               JTableHeader header = table.getTableHeader();
+               header.setUpdateTableInRealTime(true);
+               header.setReorderingAllowed(true);
+
                panel = new JPanel();
                panel.setLayout(new BorderLayout());

@@ -120,7 +137,7 @@
                }

                if(fileList != null) {
-                       fileList.loadFiles(null, true);
+                       fileList.loadFiles(sortColumn, ascOrder);
                }

                this.fileList = fileList;
@@ -444,5 +461,4 @@

        }

-
 }

Modified: trunk/apps/Thaw/src/thaw/plugins/index/Index.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/Index.java   2006-10-20 18:09:26 UTC 
(rev 10680)
+++ trunk/apps/Thaw/src/thaw/plugins/index/Index.java   2006-10-20 19:17:12 UTC 
(rev 10681)
@@ -482,6 +482,7 @@

                                while(results.next()) {
                                        thaw.plugins.index.File file = new 
thaw.plugins.index.File(db, results, this);
+                                       file.setTransfer(queueManager);
                                        addFileToList(file);
                                }
                        }
@@ -515,6 +516,7 @@


        public void unloadFiles() {
+               /*
                for(Iterator it = fileList.iterator();
                    it.hasNext(); ) {
                        thaw.plugins.index.File file = 
(thaw.plugins.index.File)it.next();
@@ -523,6 +525,7 @@
                                return;
                        }
                }
+               */

                if (fileList != null) {
                        for (Iterator it  = fileList.iterator();

Modified: trunk/apps/Thaw/src/thaw/plugins/index/SearchBar.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/SearchBar.java       2006-10-20 
18:09:26 UTC (rev 10680)
+++ trunk/apps/Thaw/src/thaw/plugins/index/SearchBar.java       2006-10-20 
19:17:12 UTC (rev 10681)
@@ -12,6 +12,8 @@

 import thaw.core.I18n;

+import thaw.fcp.FCPQueueManager;
+
 import thaw.plugins.Hsqldb;

 public class SearchBar implements ActionListener {
@@ -25,10 +27,13 @@

        private Tables tables;

-       public SearchBar(Hsqldb db, IndexTree indexTree, Tables tables) {
+       private FCPQueueManager queueManager;
+
+       public SearchBar(Hsqldb db, IndexTree indexTree, FCPQueueManager 
queueManager, Tables tables) {
                this.db = db;
                this.tree = indexTree;
                this.tables = tables;
+               this.queueManager = queueManager;

                panel = new JPanel();
                panel.setLayout(new BorderLayout(10, 10));
@@ -55,7 +60,10 @@
                if (tree.getSelectedNode() == null)
                        return;

-               SearchResult sr = new SearchResult(db, userText.getText(), 
tree.getSelectedNode());
+               userText.setSelectionStart(0);
+               userText.setSelectionEnd(userText.getText().length());
+
+               SearchResult sr = new SearchResult(db, userText.getText(), 
tree.getSelectedNode(), queueManager);
                tables.setList(sr);
        }


Modified: trunk/apps/Thaw/src/thaw/plugins/index/SearchResult.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/SearchResult.java    2006-10-20 
18:09:26 UTC (rev 10680)
+++ trunk/apps/Thaw/src/thaw/plugins/index/SearchResult.java    2006-10-20 
19:17:12 UTC (rev 10681)
@@ -9,10 +9,11 @@
 import java.sql.*;

 import thaw.plugins.Hsqldb;
+import thaw.fcp.FCPQueueManager;

 import thaw.core.Logger;

-public class SearchResult extends Observable implements FileAndLinkList {
+public class SearchResult extends Observable implements Observer, 
FileAndLinkList {

        private Vector fileList = null;
        private Vector linkList = null;
@@ -21,8 +22,10 @@
        private Vector indexIds = null;

        private Hsqldb db;
+       private FCPQueueManager queueManager;

-       public SearchResult(Hsqldb hsqldb, String search, IndexTreeNode node) {
+       public SearchResult(Hsqldb hsqldb, String search, IndexTreeNode node, 
FCPQueueManager queueManager) {
+               this.queueManager = queueManager;
                this.search = search.split(" ");
                this.indexIds = node.getIndexIds();
                this.db = hsqldb;
@@ -91,6 +94,8 @@

                                while(results.next()) {
                                        thaw.plugins.index.File file = new 
thaw.plugins.index.File(db, results, null);
+                                       file.setTransfer(queueManager);
+                                       file.addObserver(this);
                                        fileList.add(file);
                                }
                        }
@@ -129,6 +134,12 @@
        }


+       public void update(Observable o, Object param) {
+               setChanged();
+               notifyObservers(o);
+       }
+
+
        public Vector getFileList() {
                return fileList;
        }
@@ -150,6 +161,12 @@


        public void unloadFiles() {
+               for (Iterator it = fileList.iterator();
+                    it.hasNext();) {
+                       thaw.plugins.index.File file = 
(thaw.plugins.index.File)it.next();
+                       file.deleteObserver(this);
+               }
+
                fileList = null;
        }


Modified: trunk/apps/Thaw/src/thaw/plugins/index/Tables.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/Tables.java  2006-10-20 18:09:26 UTC 
(rev 10680)
+++ trunk/apps/Thaw/src/thaw/plugins/index/Tables.java  2006-10-20 19:17:12 UTC 
(rev 10681)
@@ -31,7 +31,7 @@
                fileTable = new FileTable(modifiables, queueManager);
                linkTable = new LinkTable(modifiables, db, queueManager, tree);

-               searchBar = new SearchBar(db, tree, this);
+               searchBar = new SearchBar(db, tree, queueManager, this);

                split = new JSplitPane(JSplitPane.VERTICAL_SPLIT,
                                         linkTable.getPanel(),


Reply via email to