Changeset 22346 for main/trunk/gli/src/org/greenstone/gatherer/cdm/CollectionConfigXMLReadWrite.java
- Timestamp:
- 2010-07-05T14:23:43+12:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/gli/src/org/greenstone/gatherer/cdm/CollectionConfigXMLReadWrite.java
r20447 r22346 799 799 toElement.appendChild (language_indexes); 800 800 } 801 // Handling both searchType and search format statement 801 802 // Handling search types 803 static private void doSearchType (Document to, Node searchNode) { 804 NodeList type_children = ((Element)searchNode).getElementsByTagName (StaticStrings.SEARCHTYPE_ELEMENT); 805 int num_types = type_children.getLength(); 806 String searchtype_str = ""; 807 if (num_types < 1) { 808 // not defined yet, add in default 809 searchtype_str = "plain,simpleform,advancedform"; 810 } 811 else { 812 for(int i=0; i<num_types; i++) { 813 Node e = type_children.item (i); 814 String t = ((Element)e).getAttribute (StaticStrings.NAME_ATTRIBUTE); 815 if (i>0) { 816 searchtype_str += ","; 817 } 818 searchtype_str += t; 819 } 820 } 821 822 // pretend its a format statement 823 Element search_type_element = to.createElement (StaticStrings.FORMAT_STR); 824 search_type_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, StaticStrings.SEARCHTYPE_ELEMENT); 825 XMLTools.setNodeText(search_type_element, searchtype_str); 826 appendProperly (to.getDocumentElement (), search_type_element); 827 828 } 829 830 // Handling search format statement 802 831 static private void doSearchFormat (Document to, Node searchNode) { 803 // There are two elements called <format> in <search>: one is for searchType; another is for format statement832 // THere is currently just one format element for search. HOwever, need to check for old config files which used to have <format name="searchTypes"> 804 833 NodeList format_children = ((Element)searchNode).getElementsByTagName (StaticStrings.FORMAT_STR); 805 834 int format_nodes = format_children.getLength (); … … 808 837 } 809 838 Element format = null; 810 Element search_type = null;811 839 for(int i=0; i<format_nodes; i++) { 812 840 Node e = format_children.item (i); 813 841 if (e.hasAttributes () == false) { 814 //The format element for format statement has no a ny attribute842 //The format element for format statement has no attribute 815 843 format = (Element)e; 816 }817 else if (((Element)e).getAttribute (StaticStrings.NAME_ATTRIBUTE).equals(StaticStrings.SEARCHTYPE_ELEMENT)) {818 search_type = (Element)e;819 844 } 820 845 } … … 822 847 if (format != null) { 823 848 (to.getDocumentElement ()).appendChild (doFormat(to, format, StaticStrings.SEARCH_STR)); 824 }825 // searchType in search826 if(search_type != null) {827 String searchtype_str = XMLTools.getNodeText(search_type);828 829 Element search_type_element = to.createElement (StaticStrings.FORMAT_STR);830 search_type_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, StaticStrings.SEARCHTYPE_ELEMENT);831 XMLTools.setNodeText(search_type_element, searchtype_str);832 833 834 appendProperly (to.getDocumentElement (), search_type_element);835 849 } 836 850 } … … 1272 1286 return; 1273 1287 } 1274 Element search_type_element = to.createElement (StaticStrings.FORMAT_STR); 1275 1276 // String searchtype_str = e.getAttribute (StaticStrings.VALUE_ATTRIBUTE); 1277 // search_type_element.setAttribute (StaticStrings.VALUE_ATTRIBUTE, searchtype_str); 1278 String searchtype_str = XMLTools.getNodeText(e); 1279 XMLTools.setNodeText(search_type_element, searchtype_str); 1280 1281 search_type_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, StaticStrings.SEARCHTYPE_ELEMENT); 1288 String searchtype_str = XMLTools.getNodeText(e); 1282 1289 //Get the 'search' element from 'to' 1283 1290 Element search = (Element)XMLTools.getChildByTagName (to.getDocumentElement (), StaticStrings.SEARCH_STR); 1284 search.appendChild (search_type_element); 1291 1292 String[] types = searchtype_str.split(","); 1293 for (int i=0; i<types.length; i++) { 1294 Element search_type_element = to.createElement (StaticStrings.SEARCHTYPE_ELEMENT); 1295 search_type_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, types[i]); 1296 search.appendChild (search_type_element); 1297 } 1285 1298 } 1286 1299 … … 2001 2014 2002 2015 doDefaultIndex (dOc, searchNode); 2003 //doSearchType (dOc, searchNode);2004 2016 doDefaultLevel (dOc, searchNode); 2005 2017 doLevel (dOc, searchNode); … … 2010 2022 doDefaultIndexLanguage (dOc, searchNode); 2011 2023 doLanguageMetadata (dOc, searchNode); 2024 doSearchType (dOc, searchNode); 2012 2025 doSearchFormat (dOc, searchNode); 2013 2026 doDisplayFormat (dOc, fromElement);
Note:
See TracChangeset
for help on using the changeset viewer.