Changeset 20450
- Timestamp:
- 2009-08-31T15:02:04+12:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gli/trunk/src/org/greenstone/gatherer/cdm/CollectCfgReadWrite.java
r20447 r20450 132 132 String value_str = XMLTools.getValue (option_element); 133 133 134 // value_str = modifyMetadataArgumentValue(value_str);135 134 if (value_str.length () > 0) { 136 135 text.append (StaticStrings.SPACE_CHARACTER); … … 701 700 // Now we parse out the remaining arguments into a hashmapping from name to value 702 701 HashMap arguments = parseArguments (tokenizer); 703 // Assign the arguments as Option elements , but watch out for the metadata argument as we treat that differently702 // Assign the arguments as Option elements 704 703 Iterator names = arguments.keySet ().iterator (); 705 704 while(names.hasNext ()) { 706 705 String name = (String) names.next (); 707 706 String value = (String) arguments.get (name); // Can be null 708 // The metadata argument gets added as the content attribute709 /* if (name.equals (StaticStrings.METADATA_ARGUMENT) && value != null) {710 // Add the extracted namespace onto un-namespaced metadata names711 StringTokenizer string_tokenizer = new StringTokenizer (value, ",");712 value = "";713 while (string_tokenizer.hasMoreElements ()) {714 String token = (String) string_tokenizer.nextElement ();715 716 if (token.indexOf (StaticStrings.NS_SEP) == -1) {717 token = StaticStrings.EXTRACTED_NAMESPACE + token;718 }719 else {720 MetadataElement metadata_element = MetadataTools.getMetadataElementWithName (token);721 if (metadata_element != null) {722 token = metadata_element.getDisplayName ();723 }724 }725 726 if (!value.equals ("")) {727 value = value + ",";728 }729 value = value + token;730 }731 }*/732 // Everything else is an Option Element733 707 Element option_element = document.createElement (StaticStrings.OPTION_ELEMENT); 734 708 option_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, name.substring (1)); … … 808 782 Element index_element = document.createElement (StaticStrings.INDEX_ELEMENT); 809 783 String index_str = tokenizer.nextToken (); 810 // There are two types of index we have to consider. Old G2.38 and earlier use level:source tuplets while G2.39+ have just a single, non-comma separated list where order is important. 811 boolean old_index; 784 // There are two types of index we have to consider. MG versions use "level:source,source" while MGPP versions use "source,source source" 812 785 if(index_str.indexOf (StaticStrings.COLON_CHARACTER) != -1) { 813 old_index = true;814 786 index_element.setAttribute (StaticStrings.LEVEL_ATTRIBUTE, index_str.substring (0, index_str.indexOf (StaticStrings.COLON_CHARACTER))); 815 787 index_str = index_str.substring (index_str.indexOf (StaticStrings.COLON_CHARACTER) + 1); … … 818 790 else { 819 791 command_element.setAttribute (StaticStrings.MGPP_ATTRIBUTE, StaticStrings.TRUE_STR); 820 old_index = false;821 792 } 822 793 StringTokenizer content_tokenizer = new StringTokenizer (index_str, StaticStrings.COMMA_CHARACTER); … … 826 797 // Since the contents of indexes have to be certain keywords, or metadata elements, if the content isn't a keyword and doesn't yet have a namespace, append the extracted metadata namespace. 827 798 if(content_str.indexOf (StaticStrings.NS_SEP) == -1) { 828 if(content_str.equals (StaticStrings.TEXT_STR) || (!old_index && content_str.equals (StaticStrings.ALLFIELDS_STR))) {799 if(content_str.equals (StaticStrings.TEXT_STR) || content_str.equals (StaticStrings.ALLFIELDS_STR) || content_str.equals(StaticStrings.METADATA_STR)) { 829 800 // Our special strings are OK. 830 801 } … … 1090 1061 // Now we parse out the remaining arguments into a hashmapping from name to value 1091 1062 HashMap arguments = parseArguments (tokenizer); 1092 // Assign the arguments as Option elements, but watch out for the metadata argument as we treat that differently1093 1063 // also watch out for the deprecated -use_metadata_files option to RecPlug and remove it 1094 1064 Iterator names = arguments.keySet ().iterator (); … … 1107 1077 if(value.startsWith (StaticStrings.SPEECH_CHARACTER) && value.endsWith (StaticStrings.SPEECH_CHARACTER)) { 1108 1078 value = value.substring (1, value.length () - 1); 1109 }1110 if(name.equals (StaticStrings.METADATA_ARGUMENT)) {1111 // The metadata argument must be the fully qualified name of a metadata element, so if it doesn't yet have a namespace, append the extracted metadata namespace.1112 if(value.indexOf (StaticStrings.NS_SEP) == -1) {1113 value = StaticStrings.EXTRACTED_NAMESPACE + value;1114 }1115 1079 } 1116 1080 XMLTools.setValue (option_element, value); … … 1303 1267 text.append (option_element.getAttribute (StaticStrings.NAME_ATTRIBUTE)); 1304 1268 String value_str = XMLTools.getValue (option_element); 1305 // turn display name into proper name1306 //value_str = modifyMetadataArgumentValue(value_str);1307 1269 if (value_str.length () > 0) { 1308 1270 text.append (StaticStrings.SPACE_CHARACTER); … … 1328 1290 } 1329 1291 1330 // Convert metadata element names to internal names, and remove extracted metadata namespaces1331 /* static private String modifyMetadataArgumentValue(String value_str) {1332 if (value_str.length () == 0) {1333 return value_str;1334 }1335 1336 // final true arg to return delims as tokens1337 StringTokenizer string_tokenizer = new StringTokenizer (value_str, ",;", true);1338 StringBuffer value_buffer = new StringBuffer ();1339 while (string_tokenizer.hasMoreElements ()) {1340 String raw_token = (String) string_tokenizer.nextElement ();1341 String token = raw_token.trim ();1342 boolean modified_token = false;1343 // not a delimiter token1344 if (!raw_token.equals(",") && !raw_token.equals(";")) {1345 //MetadataElement metadata_element = MetadataTools.getMetadataElementWithDisplayName (token);1346 //if (metadata_element != null) {1347 //token = metadata_element.getFullName ();1348 //modified_token = true;1349 //}1350 1351 // if (token.startsWith (StaticStrings.EXTRACTED_NAMESPACE)) {1352 // token = token.substring (StaticStrings.EXTRACTED_NAMESPACE.length ());1353 // modified_token = true;1354 //}1355 }1356 if (modified_token) {1357 value_buffer.append (token);1358 } else {1359 // we may have had whitespace etc that was part of the string1360 value_buffer.append (raw_token);1361 }1362 }1363 1364 1365 if(value_buffer.length () == 0) {1366 return "";1367 }1368 if(value_str.indexOf (StaticStrings.SPACE_CHARACTER) == -1) {1369 return value_buffer.toString();1370 }1371 1372 // it must contain a space, so we surround the value with quotes1373 value_buffer.insert(0, StaticStrings.SPEECH_CHARACTER);1374 value_buffer.append(StaticStrings.SPEECH_CHARACTER);1375 return value_buffer.toString();1376 1377 }*/1378 1379 1380 1292 static public String generateStringVersion(Document document) { 1381 1293 … … 1401 1313 else if (!command_element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR) || command_element.getNodeName ().equals (StaticStrings.INDEXES_ELEMENT) || command_element.getNodeName ().equals (StaticStrings.INDEX_DEFAULT_ELEMENT) || command_element.getNodeName ().equals (StaticStrings.INDEXOPTIONS_ELEMENT) || command_element.getNodeName ().equals (StaticStrings.INDEXOPTION_DEFAULT_ELEMENT)) { 1402 1314 String command = toString(command_element); 1403 // if (command_element.getNodeName ().equals (StaticStrings.FORMAT_ELEMENT)) {1404 // // Format statements we write out with ex. still present1405 // command = toString (command_element); //, true);1406 // }1407 // else {1408 // command = toString (command_element);//, false);1409 // }1410 1315 1411 1316 if (command != null && command.length ()> 0 ) {
Note:
See TracChangeset
for help on using the changeset viewer.