Index: /main/trunk/gli/src/org/greenstone/gatherer/cdm/CollectionConfigXMLReadWrite.java
===================================================================
--- /main/trunk/gli/src/org/greenstone/gatherer/cdm/CollectionConfigXMLReadWrite.java	(revision 22380)
+++ /main/trunk/gli/src/org/greenstone/gatherer/cdm/CollectionConfigXMLReadWrite.java	(revision 22381)
@@ -874,43 +874,49 @@
     Element toElement = to.getDocumentElement ();
         
-    Node replace_element = XMLTools.getChildByTagName (from, StaticStrings.REPLACELISTREF_STR);
-    if (replace_element == null) {
-      return; // such an element not found
-    }
-        
-    Element to_element = XMLTools.duplicateElement (to, (Element)replace_element, true);
-    toElement.appendChild (to_element);
+    NodeList replace_elements = from.getElementsByTagName(StaticStrings.REPLACELISTREF_STR);
+    int num_elems = replace_elements.getLength();
+    if (num_elems < 1) {
+      return;
+    }
+    for (int i=0; i<num_elems; i++) {
+      Element to_element = XMLTools.duplicateElement (to, (Element)replace_elements.item(i), true);
+      toElement.appendChild (to_element);
+    }
   }
   static private void convertReplaceListRef (Document from, Document to) {
     Element toElement = to.getDocumentElement ();
         
-    Node replace_element = XMLTools.getChildByTagName (from.getDocumentElement (), StaticStrings.REPLACELISTREF_STR);
-    if (replace_element == null) {
+    NodeList replace_elements = from.getDocumentElement().getElementsByTagName(StaticStrings.REPLACELISTREF_STR);
+    int num_elems = replace_elements.getLength();
+    if (num_elems < 1) {
+      return;
+    }
+    for (int i=0; i<num_elems; i++) {
+      Element to_element = XMLTools.duplicateElement (to, (Element)replace_elements.item(i), true);
+      toElement.appendChild (to_element);
+    }
+  }
+
+  /** serviceRackList is currently not editable in GLI - just copy it in from config file and write it out again. */
+  static private void doServiceRackList (Document to, Element from) {
+    Element toElement = to.getDocumentElement ();
+        
+    Node srl_element = XMLTools.getChildByTagName (from, StaticStrings.SERVICE_RACK_LIST_ELEMENT);
+    if (srl_element == null) {
       return; // such an element not found
     }
         
-    Element to_element = XMLTools.duplicateElement (to, (Element)replace_element, true);
+    Element to_element = XMLTools.duplicateElement (to, (Element)srl_element, true);
     toElement.appendChild (to_element);
   }
-  static private void doOAIElement (Document to, Element from) {
+  static private void convertServiceRackList (Document from, Document to) {
     Element toElement = to.getDocumentElement ();
         
-    Node oai_element = XMLTools.getChildByTagName (from, StaticStrings.OAI_ELEMENT);
-    if (oai_element == null) {
+    Node srl_element = XMLTools.getChildByTagName (from.getDocumentElement (), StaticStrings.SERVICE_RACK_LIST_ELEMENT);
+    if (srl_element == null) {
       return; // such an element not found
     }
         
-    Element to_element = XMLTools.duplicateElement (to, (Element)oai_element, true);
-    toElement.appendChild (to_element);
-  }
-  static private void convertOAIElement (Document from, Document to) {
-    Element toElement = to.getDocumentElement ();
-        
-    Node oai_element = XMLTools.getChildByTagName (from.getDocumentElement (), StaticStrings.OAI_ELEMENT);
-    if (oai_element == null) {
-      return; // such an element not found
-    }
-        
-    Element to_element = XMLTools.duplicateElement (to, (Element)oai_element, true);
+    Element to_element = XMLTools.duplicateElement (to, (Element)srl_element, true);
     toElement.appendChild (to_element);
   }
@@ -2026,5 +2032,5 @@
     doDisplayFormat (dOc, fromElement);
     doReplaceListRef (dOc, fromElement);
-    doOAIElement (dOc, fromElement);
+    doServiceRackList (dOc, fromElement);
         
   }
@@ -2062,5 +2068,5 @@
     convertDisplayFormat (dOc, skeleton);
     convertReplaceListRef (dOc, skeleton);
-    convertOAIElement(dOc, skeleton);
+    convertServiceRackList(dOc, skeleton);
 
     return skeleton;
