Index: gli/trunk/src/org/greenstone/gatherer/cdm/SuperCollectionManager.java
===================================================================
--- gli/trunk/src/org/greenstone/gatherer/cdm/SuperCollectionManager.java	(revision 18412)
+++ gli/trunk/src/org/greenstone/gatherer/cdm/SuperCollectionManager.java	(revision 19224)
@@ -207,39 +207,49 @@
 
 	
-	private void buildModel()
-	{
-	    collection_checklist_model = new ArrayList();
-	    current_coll_name = CollectionManager.getLoadedCollectionName();
-
-	    File collect_directory = new File(Gatherer.getCollectDirectoryPath());
-	    File[] possible_collections = collect_directory.listFiles();
-	    for(int i = 0; possible_collections != null && i < possible_collections.length; i++) {
-		String file_name = (Gatherer.GS3)? Utility.CONFIG_GS3_FILE : Utility.CONFIG_FILE;
-		File collect_cfg_file = new File(possible_collections[i], file_name);
-		if (collect_cfg_file.exists()) {
-		    BasicCollectionConfiguration collect_cfg = new BasicCollectionConfiguration(collect_cfg_file);
-		    StringBuffer title_buffer = new StringBuffer(collect_cfg.getName());
-		    title_buffer.append(StaticStrings.SPACE_CHARACTER);
-		    title_buffer.append(StaticStrings.OPEN_PARENTHESIS_CHARACTER);
-		    title_buffer.append(possible_collections[i].getName());
-		    title_buffer.append(StaticStrings.CLOSE_PARENTHESIS_CHARACTER);
-		    String collection_title = title_buffer.toString();
-		    title_buffer = null;
-		    String collection_name = possible_collections[i].getName();
-
-		    // We have to block the model collection.
-		    if (collect_cfg.getName().equals("**title**")) {
-			continue;
-		    }
-
-		    // The current collection is always selected.
-		    CheckListEntry entry = new CheckListEntry(collection_title);
-		    entry.setProperty(collection_name);
-		    entry.setSelected(getSuperCollection(collection_name) != null || collection_name.equals(current_coll_name));
-		    entry.setFixed(collection_name.equals(current_coll_name));
-		    collection_checklist_model.add(entry);
-		}
-	    }
-	}
+      private void buildModel()
+      {
+	collection_checklist_model = new ArrayList();
+	current_coll_name = CollectionManager.getLoadedGroupQualifiedCollectionName(true);
+	File collect_directory = new File(Gatherer.getCollectDirectoryPath());
+	add_collections_to_model(collect_directory);
+      }
+
+      private void add_collections_to_model(File collect_directory) {
+	File[] possible_collections = collect_directory.listFiles();
+	for(int i = 0; possible_collections != null && i < possible_collections.length; i++) {
+	  String file_name = (Gatherer.GS3)? Utility.CONFIG_GS3_FILE : Utility.CONFIG_FILE;
+	  File collect_cfg_file = new File(possible_collections[i], file_name);
+	  if (collect_cfg_file.exists()) {
+	    BasicCollectionConfiguration collect_cfg = new BasicCollectionConfiguration(collect_cfg_file);
+	    // look to see if group set?
+	    // => if it is, don't add, but recurse to look for child collections in collect-group
+	    if (collect_cfg.getCollectGroup().equals("true")) {
+	      add_collections_to_model(possible_collections[i]);
+	    } else {
+	      // its a collection
+	      StringBuffer title_buffer = new StringBuffer(collect_cfg.getName());
+	      title_buffer.append(StaticStrings.SPACE_CHARACTER);
+	      title_buffer.append(StaticStrings.OPEN_PARENTHESIS_CHARACTER);
+	      title_buffer.append(collect_cfg.getShortName());
+	      title_buffer.append(StaticStrings.CLOSE_PARENTHESIS_CHARACTER);
+	      String collection_title = title_buffer.toString();
+	      title_buffer = null;
+	      String collection_name = collect_cfg.getShortName();
+	      // We have to block the model collection.
+	      if (collect_cfg.getName().equals("**title**")) {
+		continue;
+	      }
+
+	      // The current collection is always selected.
+	      CheckListEntry entry = new CheckListEntry(collection_title);
+	      entry.setProperty(collection_name);
+	      entry.setSelected(getSuperCollection(collection_name) != null || collection_name.equals(current_coll_name));
+	      entry.setFixed(collection_name.equals(current_coll_name));
+	      collection_checklist_model.add(entry);
+	    }
+	  }
+	  
+	}
+      }
     }
 }
