Index: /trunk/gli/src/org/greenstone/gatherer/collection/Collection.java
===================================================================
--- /trunk/gli/src/org/greenstone/gatherer/collection/Collection.java	(revision 8845)
+++ /trunk/gli/src/org/greenstone/gatherer/collection/Collection.java	(revision 8846)
@@ -129,10 +129,10 @@
     /** Determine the number of documents and folders in this collection. */
     public int getCount() {
-	return getCount((TreeNode)Gatherer.c_man.getRecordSet().getRoot(), true, true);
+	return getCount((TreeNode)Gatherer.c_man.getCollectionTreeModel().getRoot(), true, true);
     }
     
     /** Calculates the number of documents in this collection. */
     public int getDocumentCount() {
-	return getCount((TreeNode)Gatherer.c_man.getRecordSet().getRoot(), false, true);
+	return getCount((TreeNode)Gatherer.c_man.getCollectionTreeModel().getRoot(), false, true);
     }
     
Index: /trunk/gli/src/org/greenstone/gatherer/collection/CollectionManager.java
===================================================================
--- /trunk/gli/src/org/greenstone/gatherer/collection/CollectionManager.java	(revision 8845)
+++ /trunk/gli/src/org/greenstone/gatherer/collection/CollectionManager.java	(revision 8846)
@@ -704,6 +704,7 @@
 
 
-    /** Retrieve the record set (tree model) associated with the current collection. */
-    public TreeModel getRecordSet() {
+    /** Retrieve the tree model associated with the current collection. */
+    public CollectionTreeModel getCollectionTreeModel()
+    {
 	if (collection_model == null && collection != null) {
 	    // Use the import directory to generate a new CollectionTreeModel
Index: /trunk/gli/src/org/greenstone/gatherer/collection/CollectionTree.java
===================================================================
--- /trunk/gli/src/org/greenstone/gatherer/collection/CollectionTree.java	(revision 8846)
+++ /trunk/gli/src/org/greenstone/gatherer/collection/CollectionTree.java	(revision 8846)
@@ -0,0 +1,39 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.collection;
+
+import org.greenstone.gatherer.gui.tree.DragTree;
+
+
+public class CollectionTree
+    extends DragTree
+{
+    public CollectionTree(String name, CollectionTreeModel collection_tree_model, boolean mixed_selection)
+    {
+	super(name, collection_tree_model, mixed_selection);
+    }
+}
Index: /trunk/gli/src/org/greenstone/gatherer/file/WorkspaceTree.java
===================================================================
--- /trunk/gli/src/org/greenstone/gatherer/file/WorkspaceTree.java	(revision 8845)
+++ /trunk/gli/src/org/greenstone/gatherer/file/WorkspaceTree.java	(revision 8846)
@@ -47,5 +47,5 @@
     public WorkspaceTree(String name)
     {
-	super(name, WorkspaceTreeModel.getWorkspaceTreeModel(), null, true);
+	super(name, WorkspaceTreeModel.getWorkspaceTreeModel(), true);
     }
 
Index: /trunk/gli/src/org/greenstone/gatherer/gui/EnrichPane.java
===================================================================
--- /trunk/gli/src/org/greenstone/gatherer/gui/EnrichPane.java	(revision 8845)
+++ /trunk/gli/src/org/greenstone/gatherer/gui/EnrichPane.java	(revision 8846)
@@ -50,5 +50,5 @@
 import org.greenstone.gatherer.Dictionary;
 import org.greenstone.gatherer.Gatherer;
-import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.collection.CollectionTree;
 import org.greenstone.gatherer.collection.CollectionTreeNode;
 import org.greenstone.gatherer.gui.tree.DragTree;
@@ -123,5 +123,5 @@
     private JTextField table_label;
     /** A reference to the collection tree. */
-    private DragTree collection_tree;
+    private CollectionTree collection_tree;
     /** Provide synchronization between the collection trees in this view and the collection pane view. */
     private TreeSynchronizer collection_tree_sync = null;
@@ -235,5 +235,4 @@
     /** Used to create, connect and layout the components to be shown on this control panel.
      * @see org.greenstone.gatherer.Gatherer
-     * @see org.greenstone.gatherer.collection.CollectionManager
      * @see org.greenstone.gatherer.file.FileOpenActionListener
      * @see org.greenstone.gatherer.gui.Filter
@@ -253,11 +252,5 @@
 
 	DragGroup group = new DragGroup();
-	TreeModel collection_model = Gatherer.c_man.getRecordSet();
-	if (collection_model != null) {
-	    collection_tree = new DragTree("Enrich", collection_model, null, false);
-	}
-	else {
-	    collection_tree = new DragTree("Enrich", null, false);
-	}
+	collection_tree = new CollectionTree("Enrich", Gatherer.c_man.getCollectionTreeModel(), false);
 	group.add(collection_tree);
 	collection_tree.getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
@@ -456,5 +449,5 @@
 	    // Update collection tree
 	    if (refresh_reason == Gatherer.COLLECTION_OPENED) {
-		collection_tree.setModel(Gatherer.c_man.getRecordSet());
+		collection_tree.setModel(Gatherer.c_man.getCollectionTreeModel());
 	    }
 
Index: /trunk/gli/src/org/greenstone/gatherer/gui/GatherPane.java
===================================================================
--- /trunk/gli/src/org/greenstone/gatherer/gui/GatherPane.java	(revision 8845)
+++ /trunk/gli/src/org/greenstone/gatherer/gui/GatherPane.java	(revision 8846)
@@ -48,6 +48,6 @@
 import org.greenstone.gatherer.Dictionary;
 import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionTree;
 import org.greenstone.gatherer.collection.CollectionTreeNode;
-import org.greenstone.gatherer.collection.CollectionManager;
 import org.greenstone.gatherer.file.FileNode;
 import org.greenstone.gatherer.file.FileOpenActionListener;
@@ -73,5 +73,5 @@
     private DragGroup group				  =  null;
     /** The tree showing the files within the collection. */
-    private DragTree collection_tree		 =  null;
+    private CollectionTree collection_tree = null;
     /** The threaded queue that handles the actually movement of files, so that the gui remains responsive. */
     private FileQueue file_queue		  =  null;
@@ -80,6 +80,4 @@
     /** The filter currently applied to the workspace tree. */
     private Filter workspace_filter = null;
-    /** The collection model which is used to build, and hold the data of, the collection tree. */
-    private TreeModel collection	= null;
     /** The button used to cancel all pending file queue jobs. */
     private JButton stop_action		   =  null;
@@ -259,13 +257,6 @@
 	Dictionary.registerText(collection_label, "Collection.No_Collection");
 
-	collection = Gatherer.c_man.getRecordSet();
-	if (collection != null) {
-	    collection_tree = new DragTree(Utility.COLLECTION_TREE, collection, null, true);
-	    collection_tree.setEnabled(true);
-	}
-	else {
-	    collection_tree = new DragTree(Utility.COLLECTION_TREE, null, true);
-	    collection_tree.setEnabled(false);
-	}
+	collection_tree = new CollectionTree(Utility.COLLECTION_TREE, Gatherer.c_man.getCollectionTreeModel(), true);
+	collection_tree.setEnabled(Gatherer.c_man.getCollectionTreeModel() != null);
 	group.add(collection_tree);
 	collection_tree.addFocusListener(this);
@@ -425,5 +416,5 @@
 	    // Update collection tree
 	    if (refresh_reason == Gatherer.COLLECTION_OPENED) {
-		collection_tree.setModel(Gatherer.c_man.getRecordSet());
+		collection_tree.setModel(Gatherer.c_man.getCollectionTreeModel());
 	    }
 
Index: /trunk/gli/src/org/greenstone/gatherer/gui/tree/DragTree.java
===================================================================
--- /trunk/gli/src/org/greenstone/gatherer/gui/tree/DragTree.java	(revision 8845)
+++ /trunk/gli/src/org/greenstone/gatherer/gui/tree/DragTree.java	(revision 8846)
@@ -22,5 +22,5 @@
 import org.greenstone.gatherer.util.Utility;
 
-public class DragTree
+public abstract class DragTree
     extends JTree
     implements Autoscroll, DragGestureListener, DragSourceListener, DropTargetListener, DragComponent, TreeSelectionListener {
@@ -63,17 +63,14 @@
 
 
-    public DragTree(String name, String background_name, boolean mixed_selection) {
-	super();
-	init(name, background_name, mixed_selection);
-    }
-
-    public DragTree(String name, TreeModel model, String background_name, boolean mixed_selection) {
+    public DragTree(String name, TreeModel model, boolean mixed_selection)
+    {
 	super(model);
-	init(name, background_name, mixed_selection);
+	init(name, mixed_selection);
+
 	// Connection
 	setModel(model);
     }
 
-    public void init(String name, String background_name, boolean mixed_selection) {
+    public void init(String name, boolean mixed_selection) {
 	if(NO_DRAG_CURSOR == null) {
 	    NO_DRAG_CURSOR = DragSource.DefaultMoveNoDrop;
@@ -85,8 +82,4 @@
 	// Init
 	this.name = name;
-	if(background_name != null) {
-	    this.disabled_background = new ImageIcon("background.gif");
-	    this.normal_background = new ImageIcon(background_name);
-	}
 
 	// Creation
