Changeset 12814
- Timestamp:
- 2006-09-21T16:35:39+12:00 (18 years ago)
- Location:
- trunk/gli/src/org/greenstone/gatherer
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gli/src/org/greenstone/gatherer/cdm/CollectionConfiguration.java
r12813 r12814 53 53 */ 54 54 public class CollectionConfiguration 55 extends StaticStrings{56 57 static final p ublic String ENCODING = "UTF-8";55 { 56 static final private String ENCODING = "UTF-8"; 57 static final private String NEWLINE_ELEMENT = "NewLine"; 58 58 59 59 static private Document document; … … 81 81 ///ystem.err.println("Found matching elements."); 82 82 // Only CollectionMeta are grouped. 83 if(target_element_name.equals( COLLECTIONMETADATA_ELEMENT)) {83 if(target_element_name.equals(StaticStrings.COLLECTIONMETADATA_ELEMENT)) { 84 84 ///ystem.err.println("Dealing with collection metadata"); 85 85 // Special case: CollectionMeta can be added at either the start or end of a collection configuration file. However the start position is reserved for special metadata, so if no non-special metadata can be found we must append to the end. 86 86 // So if the command to be added is special add it immediately after any other special command 87 if(target_element.getAttribute(S PECIAL_ATTRIBUTE).equals(TRUE_STR)) {87 if(target_element.getAttribute(StaticStrings.SPECIAL_ATTRIBUTE).equals(StaticStrings.TRUE_STR)) { 88 88 int index = 0; 89 89 Element matched_element = (Element) matching_elements.item(index); 90 90 Element sibling_element = (Element) matched_element.getNextSibling(); 91 while(sibling_element.getAttribute(S PECIAL_ATTRIBUTE).equals(TRUE_STR)) {91 while(sibling_element.getAttribute(StaticStrings.SPECIAL_ATTRIBUTE).equals(StaticStrings.TRUE_STR)) { 92 92 index++; 93 93 matched_element = (Element) matching_elements.item(index); … … 103 103 else { 104 104 int index = 0; 105 target_element_name = target_element.getAttribute( NAME_ATTRIBUTE);105 target_element_name = target_element.getAttribute(StaticStrings.NAME_ATTRIBUTE); 106 106 boolean found = false; 107 107 // Skip all of the special metadata 108 108 Element matched_element = (Element) matching_elements.item(index); 109 while(matched_element.getAttribute(S PECIAL_ATTRIBUTE).equals(TRUE_STR)) {109 while(matched_element.getAttribute(StaticStrings.SPECIAL_ATTRIBUTE).equals(StaticStrings.TRUE_STR)) { 110 110 index++; 111 111 matched_element = (Element) matching_elements.item(index); … … 113 113 // Begin search 114 114 while(!found && matched_element != null) { 115 if(matched_element.getAttribute( NAME_ATTRIBUTE).equals(target_element_name)) {115 if(matched_element.getAttribute(StaticStrings.NAME_ATTRIBUTE).equals(target_element_name)) { 116 116 found = true; 117 117 } … … 126 126 Element previous_sibling = matched_element; 127 127 Element sibling_element = (Element) matching_elements.item(index); 128 while(sibling_element != null && sibling_element.getAttribute( NAME_ATTRIBUTE).equals(target_element_name)) {128 while(sibling_element != null && sibling_element.getAttribute(StaticStrings.NAME_ATTRIBUTE).equals(target_element_name)) { 129 129 previous_sibling = sibling_element; 130 130 index++; … … 214 214 static public String toString(Element command_element, boolean show_extracted_namespace) { 215 215 String command_element_name = command_element.getNodeName(); 216 if(command_element_name.equals( CLASSIFY_ELEMENT)) {216 if(command_element_name.equals(StaticStrings.CLASSIFY_ELEMENT)) { 217 217 return classifyToString(command_element, show_extracted_namespace); 218 218 } 219 else if(command_element_name.equals( FORMAT_ELEMENT)) {219 else if(command_element_name.equals(StaticStrings.FORMAT_ELEMENT)) { 220 220 return formatToString(command_element, show_extracted_namespace); 221 221 } 222 else if(command_element_name.equals( INDEXES_ELEMENT)) {222 else if(command_element_name.equals(StaticStrings.INDEXES_ELEMENT)) { 223 223 return indexesToString(command_element, show_extracted_namespace); 224 224 } 225 else if(command_element_name.equals( INDEX_DEFAULT_ELEMENT)) {225 else if(command_element_name.equals(StaticStrings.INDEX_DEFAULT_ELEMENT)) { 226 226 return indexDefaultToString(command_element, show_extracted_namespace); 227 227 } 228 else if(command_element_name.equals( LANGUAGES_ELEMENT)) {228 else if(command_element_name.equals(StaticStrings.LANGUAGES_ELEMENT)) { 229 229 return languagesToString(command_element); 230 230 } 231 else if(command_element_name.equals( LANGUAGE_DEFAULT_ELEMENT)) {231 else if(command_element_name.equals(StaticStrings.LANGUAGE_DEFAULT_ELEMENT)) { 232 232 return languageDefaultToString(command_element); 233 233 } 234 else if (command_element_name.equals( LANGUAGE_METADATA_ELEMENT)) {234 else if (command_element_name.equals(StaticStrings.LANGUAGE_METADATA_ELEMENT)) { 235 235 return languageMetadataToString(command_element, show_extracted_namespace); 236 236 } 237 else if(command_element_name.equals( LEVELS_ELEMENT)) {237 else if(command_element_name.equals(StaticStrings.LEVELS_ELEMENT)) { 238 238 return levelsToString(command_element); 239 239 } 240 else if(command_element_name.equals( LEVEL_DEFAULT_ELEMENT)) {240 else if(command_element_name.equals(StaticStrings.LEVEL_DEFAULT_ELEMENT)) { 241 241 return levelDefaultToString(command_element); 242 242 } 243 else if(command_element_name.equals( COLLECTIONMETADATA_ELEMENT)) {243 else if(command_element_name.equals(StaticStrings.COLLECTIONMETADATA_ELEMENT)) { 244 244 return metadataToString(command_element, show_extracted_namespace); 245 245 } 246 else if(command_element_name.equals( COLLECTIONMETADATA_CREATOR_ELEMENT)) {246 else if(command_element_name.equals(StaticStrings.COLLECTIONMETADATA_CREATOR_ELEMENT)) { 247 247 return metadataToString(command_element, show_extracted_namespace); 248 248 } 249 else if(command_element_name.equals( COLLECTIONMETADATA_MAINTAINER_ELEMENT)) {249 else if(command_element_name.equals(StaticStrings.COLLECTIONMETADATA_MAINTAINER_ELEMENT)) { 250 250 return metadataToString(command_element, show_extracted_namespace); 251 251 } 252 else if(command_element_name.equals( COLLECTIONMETADATA_PUBLIC_ELEMENT)) {252 else if(command_element_name.equals(StaticStrings.COLLECTIONMETADATA_PUBLIC_ELEMENT)) { 253 253 return metadataToString(command_element, show_extracted_namespace); 254 254 } 255 else if (command_element_name.equals( BUILDTYPE_ELEMENT)) {255 else if (command_element_name.equals(StaticStrings.BUILDTYPE_ELEMENT)) { 256 256 return metadataToString(command_element, show_extracted_namespace); 257 257 } 258 else if(command_element_name.equals( PLUGIN_ELEMENT)) {258 else if(command_element_name.equals(StaticStrings.PLUGIN_ELEMENT)) { 259 259 return pluginToString(command_element, show_extracted_namespace); 260 260 } 261 // else if(command_element_name.equals(S EARCHTYPE_ELEMENT)) {261 // else if(command_element_name.equals(StaticStrings.SEARCHTYPE_ELEMENT)) { 262 262 // return searchtypeToString(command_element); 263 263 // } 264 else if(command_element_name.equals(S UBCOLLECTION_ELEMENT)) {264 else if(command_element_name.equals(StaticStrings.SUBCOLLECTION_ELEMENT)) { 265 265 return subcollectionToString(command_element, show_extracted_namespace); 266 266 } 267 else if(command_element_name.equals(S UBCOLLECTION_DEFAULT_INDEX_ELEMENT)) {267 else if(command_element_name.equals(StaticStrings.SUBCOLLECTION_DEFAULT_INDEX_ELEMENT)) { 268 268 return subcollectionDefaultIndexToString(command_element); 269 269 } 270 else if(command_element_name.equals(S UBCOLLECTION_INDEXES_ELEMENT)) {270 else if(command_element_name.equals(StaticStrings.SUBCOLLECTION_INDEXES_ELEMENT)) { 271 271 return subcollectionIndexesToString(command_element); 272 272 } 273 else if(command_element_name.equals(S UPERCOLLECTION_ELEMENT)) {273 else if(command_element_name.equals(StaticStrings.SUPERCOLLECTION_ELEMENT)) { 274 274 return supercollectionToString(command_element); 275 275 } 276 else if(command_element_name.equals( UNKNOWN_ELEMENT)) {276 else if(command_element_name.equals(StaticStrings.UNKNOWN_ELEMENT)) { 277 277 return unknownToString(command_element); 278 278 } … … 357 357 358 358 public Element getCreator() { 359 Element element = getOrCreateElementByTagName( COLLECTIONMETADATA_CREATOR_ELEMENT, null, null);360 element.setAttribute( NAME_ATTRIBUTE,COLLECTIONMETADATA_CREATOR_STR);361 element.setAttribute(S PECIAL_ATTRIBUTE,TRUE_STR);359 Element element = getOrCreateElementByTagName(StaticStrings.COLLECTIONMETADATA_CREATOR_ELEMENT, null, null); 360 element.setAttribute(StaticStrings.NAME_ATTRIBUTE, StaticStrings.COLLECTIONMETADATA_CREATOR_STR); 361 element.setAttribute(StaticStrings.SPECIAL_ATTRIBUTE, StaticStrings.TRUE_STR); 362 362 return element; 363 363 } … … 373 373 /** Retrieve or create the languages Element. */ 374 374 public Element getLanguages() { 375 return getOrCreateElementByTagName( LANGUAGES_ELEMENT, null, null);375 return getOrCreateElementByTagName(StaticStrings.LANGUAGES_ELEMENT, null, null); 376 376 } 377 377 378 378 public Element getLanguageMetadata() { 379 return getOrCreateElementByTagName( LANGUAGE_METADATA_ELEMENT, null, null);379 return getOrCreateElementByTagName(StaticStrings.LANGUAGE_METADATA_ELEMENT, null, null); 380 380 } 381 381 382 382 public Element getLevels() { 383 return getOrCreateElementByTagName( LEVELS_ELEMENT, null, null);383 return getOrCreateElementByTagName(StaticStrings.LEVELS_ELEMENT, null, null); 384 384 } 385 385 386 386 public Element getMaintainer() { 387 Element element = getOrCreateElementByTagName( COLLECTIONMETADATA_MAINTAINER_ELEMENT, null, null);388 element.setAttribute( NAME_ATTRIBUTE,COLLECTIONMETADATA_MAINTAINER_STR);389 element.setAttribute(S PECIAL_ATTRIBUTE,TRUE_STR);387 Element element = getOrCreateElementByTagName(StaticStrings.COLLECTIONMETADATA_MAINTAINER_ELEMENT, null, null); 388 element.setAttribute(StaticStrings.NAME_ATTRIBUTE, StaticStrings.COLLECTIONMETADATA_MAINTAINER_STR); 389 element.setAttribute(StaticStrings.SPECIAL_ATTRIBUTE, StaticStrings.TRUE_STR); 390 390 return element; 391 391 } … … 393 393 /** Retrieve or create the indexes Element. Note that this method behaves differently from the other getBlah methods, in that it also has to keep in mind that indexes come in two flavours, MG and MGPP. */ 394 394 public Element getMGIndexes() { 395 return getOrCreateElementByTagName( INDEXES_ELEMENT, MGPP_ATTRIBUTE,FALSE_STR);395 return getOrCreateElementByTagName(StaticStrings.INDEXES_ELEMENT, StaticStrings.MGPP_ATTRIBUTE, StaticStrings.FALSE_STR); 396 396 } 397 397 398 398 public Element getMGPPIndexes() { 399 return getOrCreateElementByTagName( INDEXES_ELEMENT, MGPP_ATTRIBUTE,TRUE_STR);399 return getOrCreateElementByTagName(StaticStrings.INDEXES_ELEMENT, StaticStrings.MGPP_ATTRIBUTE, StaticStrings.TRUE_STR); 400 400 } 401 401 402 402 public Element getPublic() { 403 Element element = getOrCreateElementByTagName( COLLECTIONMETADATA_PUBLIC_ELEMENT, null, null);404 element.setAttribute( NAME_ATTRIBUTE,COLLECTIONMETADATA_PUBLIC_STR);405 element.setAttribute(S PECIAL_ATTRIBUTE,TRUE_STR);403 Element element = getOrCreateElementByTagName(StaticStrings.COLLECTIONMETADATA_PUBLIC_ELEMENT, null, null); 404 element.setAttribute(StaticStrings.NAME_ATTRIBUTE, StaticStrings.COLLECTIONMETADATA_PUBLIC_STR); 405 element.setAttribute(StaticStrings.SPECIAL_ATTRIBUTE, StaticStrings.TRUE_STR); 406 406 return element; 407 407 } 408 408 409 409 public Element getBuildType() { 410 Element element = getOrCreateElementByTagName( BUILDTYPE_ELEMENT, null, null);411 element.setAttribute( NAME_ATTRIBUTE,BUILDTYPE_STR);412 element.setAttribute(S PECIAL_ATTRIBUTE,TRUE_STR);410 Element element = getOrCreateElementByTagName(StaticStrings.BUILDTYPE_ELEMENT, null, null); 411 element.setAttribute(StaticStrings.NAME_ATTRIBUTE, StaticStrings.BUILDTYPE_STR); 412 element.setAttribute(StaticStrings.SPECIAL_ATTRIBUTE, StaticStrings.TRUE_STR); 413 413 return element; 414 414 … … 417 417 /** Retrieve or create the subindexes Element. */ 418 418 public Element getSubIndexes() { 419 return getOrCreateElementByTagName(S UBCOLLECTION_INDEXES_ELEMENT, null, null);419 return getOrCreateElementByTagName(StaticStrings.SUBCOLLECTION_INDEXES_ELEMENT, null, null); 420 420 } 421 421 422 422 /** Retrieve or create the supercollections Element. */ 423 423 public Element getSuperCollection() { 424 return getOrCreateElementByTagName(S UPERCOLLECTION_ELEMENT, null, null);424 return getOrCreateElementByTagName(StaticStrings.SUPERCOLLECTION_ELEMENT, null, null); 425 425 } 426 426 … … 452 452 // Anything else we write to file, but only if it has been assigned, except for index and level commands 453 453 // (which just get commented out if unassigned -- a side effect of MG & MGPP compatibility) 454 else if (!command_element.getAttribute( ASSIGNED_ATTRIBUTE).equals(FALSE_STR) || command_element.getNodeName().equals(INDEXES_ELEMENT) || command_element.getNodeName().equals(INDEX_DEFAULT_ELEMENT) || command_element.getNodeName().equals(LEVELS_ELEMENT) || command_element.getNodeName().equals(LEVEL_DEFAULT_ELEMENT)) {454 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.LEVELS_ELEMENT) || command_element.getNodeName().equals(StaticStrings.LEVEL_DEFAULT_ELEMENT)) { 455 455 String command; 456 if (command_element.getNodeName().equals( FORMAT_ELEMENT)) {456 if (command_element.getNodeName().equals(StaticStrings.FORMAT_ELEMENT)) { 457 457 // Format statements we write out with ex. still present 458 458 command = toString(command_element, true); … … 489 489 // Make a backup of the collect.cfg file 490 490 if (collect_cfg_file.exists()) { 491 File original_file = new File(collect_cfg_file.getParentFile(), COLLECT_CFG);491 File original_file = new File(collect_cfg_file.getParentFile(), StaticStrings.COLLECT_CFG); 492 492 File backup_file = new File(collect_cfg_file.getParentFile(), "collect.bak"); 493 493 if (backup_file.exists()) { … … 529 529 static private String classifyToString(Element command_element, boolean show_extracted_namespace) 530 530 { 531 StringBuffer text = new StringBuffer( CLASSIFY_STR);532 text.append( TAB_CHARACTER);533 text.append(command_element.getAttribute( TYPE_ATTRIBUTE));534 NodeList option_elements = command_element.getElementsByTagName( OPTION_ELEMENT);531 StringBuffer text = new StringBuffer(StaticStrings.CLASSIFY_STR); 532 text.append(StaticStrings.TAB_CHARACTER); 533 text.append(command_element.getAttribute(StaticStrings.TYPE_ATTRIBUTE)); 534 NodeList option_elements = command_element.getElementsByTagName(StaticStrings.OPTION_ELEMENT); 535 535 int option_elements_length = option_elements.getLength(); 536 536 for(int j = 0; j < option_elements_length; j++) { 537 537 Element option_element = (Element) option_elements.item(j); 538 if(option_element.getAttribute( ASSIGNED_ATTRIBUTE).equals(TRUE_STR)) {539 text.append(S PACE_CHARACTER);538 if(option_element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.TRUE_STR)) { 539 text.append(StaticStrings.SPACE_CHARACTER); 540 540 text.append(StaticStrings.MINUS_CHARACTER); 541 text.append(option_element.getAttribute( NAME_ATTRIBUTE));541 text.append(option_element.getAttribute(StaticStrings.NAME_ATTRIBUTE)); 542 542 String value_str = XMLTools.getValue(option_element); 543 543 … … 565 565 } 566 566 567 text.append(S PACE_CHARACTER);568 if (value_str.indexOf(S PACE_CHARACTER) == -1) {567 text.append(StaticStrings.SPACE_CHARACTER); 568 if (value_str.indexOf(StaticStrings.SPACE_CHARACTER) == -1) { 569 569 text.append(value_str); 570 570 } 571 571 else { 572 text.append(S PEECH_CHARACTER);572 text.append(StaticStrings.SPEECH_CHARACTER); 573 573 text.append(value_str); 574 text.append(S PEECH_CHARACTER);574 text.append(StaticStrings.SPEECH_CHARACTER); 575 575 } 576 576 value_str = null; … … 583 583 584 584 static private String formatToString(Element command_element, boolean show_extracted_namespace) { 585 StringBuffer text = new StringBuffer( FORMAT_STR);586 text.append(S PACE_CHARACTER);587 text.append(command_element.getAttribute( NAME_ATTRIBUTE));588 text.append(S PACE_CHARACTER);589 String value_str = command_element.getAttribute( VALUE_ATTRIBUTE);585 StringBuffer text = new StringBuffer(StaticStrings.FORMAT_STR); 586 text.append(StaticStrings.SPACE_CHARACTER); 587 text.append(command_element.getAttribute(StaticStrings.NAME_ATTRIBUTE)); 588 text.append(StaticStrings.SPACE_CHARACTER); 589 String value_str = command_element.getAttribute(StaticStrings.VALUE_ATTRIBUTE); 590 590 if(value_str.length() != 0) { 591 591 text.append(value_str); … … 600 600 } 601 601 602 text.append(S PEECH_CHARACTER);602 text.append(StaticStrings.SPEECH_CHARACTER); 603 603 text.append(value_str); 604 text.append(S PEECH_CHARACTER);604 text.append(StaticStrings.SPEECH_CHARACTER); 605 605 } 606 606 value_str = null; … … 649 649 boolean comment_only = false; 650 650 StringBuffer text = new StringBuffer(""); 651 if(command_element.getAttribute( ASSIGNED_ATTRIBUTE).equals(FALSE_STR)) {651 if(command_element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.FALSE_STR)) { 652 652 text.append("#"); 653 653 comment_only = true; 654 654 } 655 text.append( INDEX_STR);656 text.append( TAB_CHARACTER);655 text.append(StaticStrings.INDEX_STR); 656 text.append(StaticStrings.TAB_CHARACTER); 657 657 if(!comment_only) { 658 text.append( TAB_CHARACTER);659 } 660 NodeList index_elements = command_element.getElementsByTagName( INDEX_ELEMENT);658 text.append(StaticStrings.TAB_CHARACTER); 659 } 660 NodeList index_elements = command_element.getElementsByTagName(StaticStrings.INDEX_ELEMENT); 661 661 if (index_elements.getLength() == 0) { // no indexes 662 662 return ""; … … 666 666 for(int j = 0; j < index_elements_length; j++) { 667 667 Element index_element = (Element) index_elements.item(j); 668 String level_str = index_element.getAttribute( LEVEL_ATTRIBUTE);668 String level_str = index_element.getAttribute(StaticStrings.LEVEL_ATTRIBUTE); 669 669 if(level_str.length() > 0) { 670 670 text.append(level_str); 671 671 text.append(StaticStrings.COLON_CHARACTER); 672 672 } 673 NodeList content_elements = index_element.getElementsByTagName( CONTENT_ELEMENT);673 NodeList content_elements = index_element.getElementsByTagName(StaticStrings.CONTENT_ELEMENT); 674 674 int content_elements_length = content_elements.getLength(); 675 675 // Don't output anything if no indexes are set … … 679 679 for(int k = 0; k < content_elements_length; k++) { 680 680 Element content_element = (Element) content_elements.item(k); 681 String name_str = content_element.getAttribute( NAME_ATTRIBUTE);681 String name_str = content_element.getAttribute(StaticStrings.NAME_ATTRIBUTE); 682 682 if(!show_extracted_namespace && name_str.startsWith(StaticStrings.EXTRACTED_NAMESPACE)) { 683 683 name_str = name_str.substring(StaticStrings.EXTRACTED_NAMESPACE.length()); … … 691 691 } 692 692 if(j < index_elements_length - 1) { 693 text.append(S PACE_CHARACTER);693 text.append(StaticStrings.SPACE_CHARACTER); 694 694 } 695 695 content_elements = null; … … 702 702 static private String indexDefaultToString(Element command_element, boolean show_extracted_namespace) { 703 703 StringBuffer text = new StringBuffer(""); 704 if(command_element.getAttribute( ASSIGNED_ATTRIBUTE).equals(FALSE_STR)) {704 if(command_element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.FALSE_STR)) { 705 705 text.append("#"); 706 706 } 707 text.append( INDEX_DEFAULT_STR);708 text.append( TAB_CHARACTER);709 if (!command_element.getAttribute( LEVEL_ATTRIBUTE).equals("")) {710 text.append(command_element.getAttribute( LEVEL_ATTRIBUTE));707 text.append(StaticStrings.INDEX_DEFAULT_STR); 708 text.append(StaticStrings.TAB_CHARACTER); 709 if (!command_element.getAttribute(StaticStrings.LEVEL_ATTRIBUTE).equals("")) { 710 text.append(command_element.getAttribute(StaticStrings.LEVEL_ATTRIBUTE)); 711 711 text.append(StaticStrings.COLON_CHARACTER); 712 712 } 713 NodeList content_elements = command_element.getElementsByTagName( CONTENT_ELEMENT);713 NodeList content_elements = command_element.getElementsByTagName(StaticStrings.CONTENT_ELEMENT); 714 714 int content_elements_length = content_elements.getLength(); 715 715 for(int j = 0; j < content_elements_length; j++) { 716 716 Element content_element = (Element) content_elements.item(j); 717 String name_str = content_element.getAttribute( NAME_ATTRIBUTE);717 String name_str = content_element.getAttribute(StaticStrings.NAME_ATTRIBUTE); 718 718 if(!show_extracted_namespace && name_str.startsWith(StaticStrings.EXTRACTED_NAMESPACE)) { 719 719 name_str = name_str.substring(StaticStrings.EXTRACTED_NAMESPACE.length()); … … 731 731 732 732 static private String languagesToString(Element command_element) { 733 StringBuffer text = new StringBuffer( LANGUAGES_STR);734 text.append( TAB_CHARACTER);733 StringBuffer text = new StringBuffer(StaticStrings.LANGUAGES_STR); 734 text.append(StaticStrings.TAB_CHARACTER); 735 735 // Retrieve all the languages and write them out in a space separated list 736 NodeList language_elements = command_element.getElementsByTagName( LANGUAGE_ELEMENT);736 NodeList language_elements = command_element.getElementsByTagName(StaticStrings.LANGUAGE_ELEMENT); 737 737 int language_elements_length = language_elements.getLength(); 738 738 if(language_elements_length == 0) { … … 741 741 for(int j = 0; j < language_elements_length; j++) { 742 742 Element language_element = (Element) language_elements.item(j); 743 text.append(language_element.getAttribute( NAME_ATTRIBUTE));743 text.append(language_element.getAttribute(StaticStrings.NAME_ATTRIBUTE)); 744 744 if(j < language_elements_length - 1) { 745 text.append(S PACE_CHARACTER);745 text.append(StaticStrings.SPACE_CHARACTER); 746 746 } 747 747 } … … 750 750 751 751 static private String languageDefaultToString(Element command_element) { 752 StringBuffer text = new StringBuffer( LANGUAGE_DEFAULT_STR);753 text.append( TAB_CHARACTER);754 text.append(command_element.getAttribute( NAME_ATTRIBUTE));752 StringBuffer text = new StringBuffer(StaticStrings.LANGUAGE_DEFAULT_STR); 753 text.append(StaticStrings.TAB_CHARACTER); 754 text.append(command_element.getAttribute(StaticStrings.NAME_ATTRIBUTE)); 755 755 return text.toString(); 756 756 } 757 757 758 758 static private String languageMetadataToString(Element command_element, boolean show_extracted_namespace) { 759 if (!command_element.getAttribute( ASSIGNED_ATTRIBUTE).equals(TRUE_STR)) {759 if (!command_element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.TRUE_STR)) { 760 760 return ""; 761 761 } 762 StringBuffer text = new StringBuffer( LANGUAGE_METADATA_STR);763 text.append( TAB_CHARACTER);764 String name_str = command_element.getAttribute( NAME_ATTRIBUTE);762 StringBuffer text = new StringBuffer(StaticStrings.LANGUAGE_METADATA_STR); 763 text.append(StaticStrings.TAB_CHARACTER); 764 String name_str = command_element.getAttribute(StaticStrings.NAME_ATTRIBUTE); 765 765 if(!show_extracted_namespace && name_str.startsWith(StaticStrings.EXTRACTED_NAMESPACE)) { 766 766 name_str = name_str.substring(StaticStrings.EXTRACTED_NAMESPACE.length()); … … 772 772 static private String levelsToString(Element command_element) { 773 773 StringBuffer text = new StringBuffer(""); 774 if(command_element.getAttribute( ASSIGNED_ATTRIBUTE).equals(FALSE_STR)) {774 if(command_element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.FALSE_STR)) { 775 775 text.append("#"); 776 776 } 777 text.append( LEVELS_STR);778 text.append( TAB_CHARACTER);779 text.append( TAB_CHARACTER);780 NodeList content_elements = command_element.getElementsByTagName( LEVEL_ELEMENT);777 text.append(StaticStrings.LEVELS_STR); 778 text.append(StaticStrings.TAB_CHARACTER); 779 text.append(StaticStrings.TAB_CHARACTER); 780 NodeList content_elements = command_element.getElementsByTagName(StaticStrings.LEVEL_ELEMENT); 781 781 int content_elements_length = content_elements.getLength(); 782 782 // Don't output anything if no levels are set. … … 786 786 for(int i = 0; i < content_elements_length; i++) { 787 787 Element content_element = (Element) content_elements.item(i); 788 text.append(content_element.getAttribute( NAME_ATTRIBUTE));789 text.append(S PACE_CHARACTER);788 text.append(content_element.getAttribute(StaticStrings.NAME_ATTRIBUTE)); 789 text.append(StaticStrings.SPACE_CHARACTER); 790 790 } 791 791 return text.substring(0, text.length() - 1); … … 794 794 static private String levelDefaultToString(Element command_element) { 795 795 StringBuffer text = new StringBuffer(""); 796 if(command_element.getAttribute( ASSIGNED_ATTRIBUTE).equals(FALSE_STR)) {796 if(command_element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.FALSE_STR)) { 797 797 text.append("#"); 798 798 } 799 text.append( LEVEL_DEFAULT_STR);800 text.append( TAB_CHARACTER);801 text.append(command_element.getAttribute( NAME_ATTRIBUTE));799 text.append(StaticStrings.LEVEL_DEFAULT_STR); 800 text.append(StaticStrings.TAB_CHARACTER); 801 text.append(command_element.getAttribute(StaticStrings.NAME_ATTRIBUTE)); 802 802 return text.toString(); 803 803 } … … 814 814 815 815 StringBuffer text = new StringBuffer(""); 816 String name_str = command_element.getAttribute( NAME_ATTRIBUTE);816 String name_str = command_element.getAttribute(StaticStrings.NAME_ATTRIBUTE); 817 817 // If the name is one of the special four, we don't write the collectionmeta first. Note maintainer and buildtype are singled out for 'prittying' reasons. 818 if(name_str.equals( COLLECTIONMETADATA_MAINTAINER_STR)|| name_str.equals(BUILDTYPE_STR) ) {818 if(name_str.equals(StaticStrings.COLLECTIONMETADATA_MAINTAINER_STR)|| name_str.equals(StaticStrings.BUILDTYPE_STR) ) { 819 819 text.append(name_str); 820 text.append( TAB_CHARACTER);820 text.append(StaticStrings.TAB_CHARACTER); 821 821 special = true; 822 822 } 823 else if (name_str.equals( COLLECTIONMETADATA_CREATOR_STR) || name_str.equals(COLLECTIONMETADATA_PUBLIC_STR) ) {823 else if (name_str.equals(StaticStrings.COLLECTIONMETADATA_CREATOR_STR) || name_str.equals(StaticStrings.COLLECTIONMETADATA_PUBLIC_STR) ) { 824 824 text.append(name_str); 825 text.append( TAB_CHARACTER);826 text.append( TAB_CHARACTER);825 text.append(StaticStrings.TAB_CHARACTER); 826 text.append(StaticStrings.TAB_CHARACTER); 827 827 special = true; 828 828 } 829 829 else { 830 text.append( COLLECTIONMETADATA_STR);831 text.append( TAB_CHARACTER);830 text.append(StaticStrings.COLLECTIONMETADATA_STR); 831 text.append(StaticStrings.TAB_CHARACTER); 832 832 text.append(name_str); 833 text.append(S PACE_CHARACTER);834 String language_str = command_element.getAttribute( LANGUAGE_ATTRIBUTE);835 text.append( LBRACKET_CHARACTER);836 text.append( LANGUAGE_ARGUMENT);833 text.append(StaticStrings.SPACE_CHARACTER); 834 String language_str = command_element.getAttribute(StaticStrings.LANGUAGE_ATTRIBUTE); 835 text.append(StaticStrings.LBRACKET_CHARACTER); 836 text.append(StaticStrings.LANGUAGE_ARGUMENT); 837 837 text.append(language_str); 838 text.append( RBRACKET_CHARACTER);839 text.append(S PACE_CHARACTER);838 text.append(StaticStrings.RBRACKET_CHARACTER); 839 text.append(StaticStrings.SPACE_CHARACTER); 840 840 } 841 841 name_str = null; … … 854 854 } 855 855 else { 856 text.append(S PEECH_CHARACTER);856 text.append(StaticStrings.SPEECH_CHARACTER); 857 857 text.append(value_str); 858 text.append(S PEECH_CHARACTER);858 text.append(StaticStrings.SPEECH_CHARACTER); 859 859 } 860 860 value_str = null; … … 886 886 command_str = command_str.trim(); 887 887 boolean eof = false; 888 while(!eof && command_str.endsWith( NEWLINE_CHARACTER)) {888 while(!eof && command_str.endsWith(StaticStrings.NEWLINE_CHARACTER)) { 889 889 String next_line = in.readLine(); 890 890 if(next_line != null) { … … 892 892 if(next_line.length() > 0) { 893 893 // Remove the new line character 894 command_str = command_str.substring(0, command_str.lastIndexOf( NEWLINE_CHARACTER));894 command_str = command_str.substring(0, command_str.lastIndexOf(StaticStrings.NEWLINE_CHARACTER)); 895 895 // And append the next line, which due to the test above must be non-zero length 896 896 command_str = command_str + next_line; … … 904 904 } 905 905 // If there is still a new line character, then we remove it and hope for the best 906 if(command_str.endsWith( NEWLINE_CHARACTER)) {907 command_str = command_str.substring(0, command_str.lastIndexOf( NEWLINE_CHARACTER));906 if(command_str.endsWith(StaticStrings.NEWLINE_CHARACTER)) { 907 command_str = command_str.substring(0, command_str.lastIndexOf(StaticStrings.NEWLINE_CHARACTER)); 908 908 } 909 909 // Now we've either got a command to parse... … … 915 915 String command_type = tokenizer.nextToken().toLowerCase(); 916 916 // Why can't you switch on strings eh? We pass it to the various subparsers who each have a bash at parsing the command. If none can parse the command, an unknown element is created 917 if(command_element == null && command_type.equals( CLASSIFY_STR)) {917 if(command_element == null && command_type.equals(StaticStrings.CLASSIFY_STR)) { 918 918 command_element = parseClassify(command_str); 919 919 } 920 if(command_element == null && command_type.equals( FORMAT_STR)) {920 if(command_element == null && command_type.equals(StaticStrings.FORMAT_STR)) { 921 921 command_element = parseFormat(tokenizer); // Revised to handle multiple lines 922 922 } 923 if(command_element == null && (command_type.equals( INDEX_STR) || command_type.equals(COMMENTED_INDEXES_STR))) {923 if(command_element == null && (command_type.equals(StaticStrings.INDEX_STR) || command_type.equals(StaticStrings.COMMENTED_INDEXES_STR))) { 924 924 command_element = parseIndex(command_str); 925 925 } 926 if(command_element == null && (command_type.equals( INDEX_DEFAULT_STR) || command_type.equals(COMMENTED_INDEX_DEFAULT_STR))) {926 if(command_element == null && (command_type.equals(StaticStrings.INDEX_DEFAULT_STR) || command_type.equals(StaticStrings.COMMENTED_INDEX_DEFAULT_STR))) { 927 927 928 928 command_element = parseIndexDefault(command_str); 929 929 } 930 if(command_element == null && command_type.equals( LANGUAGES_STR)) {930 if(command_element == null && command_type.equals(StaticStrings.LANGUAGES_STR)) { 931 931 command_element = parseLanguage(command_str); 932 932 } 933 if(command_element == null && command_type.equals( LANGUAGE_DEFAULT_STR)) {933 if(command_element == null && command_type.equals(StaticStrings.LANGUAGE_DEFAULT_STR)) { 934 934 command_element = parseLanguageDefault(command_str); 935 935 } 936 if (command_element == null && command_type.equals( LANGUAGE_METADATA_STR)) {936 if (command_element == null && command_type.equals(StaticStrings.LANGUAGE_METADATA_STR)) { 937 937 command_element = parseLanguageMetadata(command_str); 938 938 } 939 if(command_element == null && (command_type.equals( LEVELS_STR) || command_type.equals(COMMENTED_LEVELS_STR))) {939 if(command_element == null && (command_type.equals(StaticStrings.LEVELS_STR) || command_type.equals(StaticStrings.COMMENTED_LEVELS_STR))) { 940 940 command_element = parseLevels(command_str); 941 941 } 942 if(command_element == null && (command_type.equals( LEVEL_DEFAULT_STR) || command_type.equals(COMMENTED_LEVEL_DEFAULT_STR))) {942 if(command_element == null && (command_type.equals(StaticStrings.LEVEL_DEFAULT_STR) || command_type.equals(StaticStrings.COMMENTED_LEVEL_DEFAULT_STR))) { 943 943 944 944 command_element = parseLevelDefault(command_str); 945 945 } 946 946 947 if(command_element == null && command_type.equals( COLLECTIONMETADATA_STR)) {947 if(command_element == null && command_type.equals(StaticStrings.COLLECTIONMETADATA_STR)) { 948 948 command_element = parseMetadata(tokenizer); // Revised to handle multiple lines 949 949 } 950 if(command_element == null && (command_type.equals( COLLECTIONMETADATA_PUBLIC_STR) || command_type.equals(COLLECTIONMETADATA_CREATOR_STR) || command_type.equals(COLLECTIONMETADATA_MAINTAINER_STR) || command_type.equals(BUILDTYPE_STR))) {950 if(command_element == null && (command_type.equals(StaticStrings.COLLECTIONMETADATA_PUBLIC_STR) || command_type.equals(StaticStrings.COLLECTIONMETADATA_CREATOR_STR) || command_type.equals(StaticStrings.COLLECTIONMETADATA_MAINTAINER_STR) || command_type.equals(StaticStrings.BUILDTYPE_STR))) { 951 951 command_element = parseMetadataSpecial(command_str); 952 952 // pre 2.71 hack 953 if (command_type.equals( BUILDTYPE_STR)) {953 if (command_type.equals(StaticStrings.BUILDTYPE_STR)) { 954 954 build_types_parsed = true; 955 955 } 956 956 } 957 if(command_element == null && command_type.equals( PLUGIN_STR)) {957 if(command_element == null && command_type.equals(StaticStrings.PLUGIN_STR)) { 958 958 command_element = parsePlugin(command_str); 959 959 } 960 960 // leave here for backwards compatibility 961 if(command_element == null && command_type.equals(S EARCHTYPE_STR)) {961 if(command_element == null && command_type.equals(StaticStrings.SEARCHTYPE_STR)) { 962 962 command_element = parseSearchType(command_str); 963 963 // pre 2.71 hack … … 965 965 966 966 } 967 if(command_element == null && command_type.equals(S UBCOLLECTION_STR)) {967 if(command_element == null && command_type.equals(StaticStrings.SUBCOLLECTION_STR)) { 968 968 command_element = parseSubCollection(command_str); 969 969 } 970 if(command_element == null && command_type.equals(S UBCOLLECTION_DEFAULT_INDEX_STR)) {970 if(command_element == null && command_type.equals(StaticStrings.SUBCOLLECTION_DEFAULT_INDEX_STR)) { 971 971 command_element = parseSubCollectionDefaultIndex(command_str); 972 972 } 973 if(command_element == null && command_type.equals(S UBCOLLECTION_INDEX_STR)) {973 if(command_element == null && command_type.equals(StaticStrings.SUBCOLLECTION_INDEX_STR)) { 974 974 command_element = parseSubCollectionIndex(command_str); 975 975 } 976 if(command_element == null && (command_type.equals(S UPERCOLLECTION_STR) || command_type.equals(CCS_STR))) {976 if(command_element == null && (command_type.equals(StaticStrings.SUPERCOLLECTION_STR) || command_type.equals(StaticStrings.CCS_STR))) { 977 977 command_element = parseSuperCollection(command_str); 978 978 } … … 981 981 if(command_element == null) { 982 982 // No-one knows what to do with this command, so we create an Unknown command element 983 command_element = document.createElement( UNKNOWN_ELEMENT);983 command_element = document.createElement(StaticStrings.UNKNOWN_ELEMENT); 984 984 XMLTools.setValue(command_element, command_str); 985 985 } … … 999 999 buildtype_type = BuildTypeManager.BUILD_TYPE_MGPP; 1000 1000 } 1001 Element command_element = parseMetadataSpecial( BUILDTYPE_STR+" "+buildtype_type);1001 Element command_element = parseMetadataSpecial(StaticStrings.BUILDTYPE_STR+" "+buildtype_type); 1002 1002 Node target_node = findInsertionPoint(command_element); 1003 1003 if(target_node != null) { … … 1023 1023 // Check the token count. The token count from a command tokenizer isn't guarenteed to be correct, but it does give the maximum number of available tokens according to the underlying StringTokenizer (some of which may actually be append together by the CommandTokenizer as being a single argument). 1024 1024 if(tokenizer.countTokens() >= 2) { // Must support "classify Phind" (no args) 1025 command_element = document.createElement( CLASSIFY_ELEMENT);1025 command_element = document.createElement(StaticStrings.CLASSIFY_ELEMENT); 1026 1026 // First token is classify 1027 1027 tokenizer.nextToken(); 1028 1028 // The next token is the classifier type 1029 command_element.setAttribute( TYPE_ATTRIBUTE, tokenizer.nextToken());1029 command_element.setAttribute(StaticStrings.TYPE_ATTRIBUTE, tokenizer.nextToken()); 1030 1030 // Now we parse out the remaining arguments into a hashmapping from name to value 1031 1031 HashMap arguments = parseArguments(tokenizer); … … 1036 1036 String value = (String) arguments.get(name); // Can be null 1037 1037 // The metadata argument gets added as the content attribute 1038 if (name.equals( METADATA_ARGUMENT) && value != null) {1038 if (name.equals(StaticStrings.METADATA_ARGUMENT) && value != null) { 1039 1039 // Add the extracted namespace onto un-namespaced metadata names 1040 1040 StringTokenizer string_tokenizer = new StringTokenizer(value, ","); … … 1060 1060 } 1061 1061 // Everything else is an Option Element 1062 Element option_element = document.createElement( OPTION_ELEMENT);1063 option_element.setAttribute( NAME_ATTRIBUTE, name.substring(1));1062 Element option_element = document.createElement(StaticStrings.OPTION_ELEMENT); 1063 option_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, name.substring(1)); 1064 1064 if(value != null) { 1065 1065 // Remove any speech marks appended in strings containing whitespace 1066 if(value.startsWith(S PEECH_CHARACTER) && value.endsWith(SPEECH_CHARACTER)) {1066 if(value.startsWith(StaticStrings.SPEECH_CHARACTER) && value.endsWith(StaticStrings.SPEECH_CHARACTER)) { 1067 1067 value = value.substring(1, value.length() - 1); 1068 1068 } 1069 1069 XMLTools.setValue(option_element, value); 1070 1070 } 1071 option_element.setAttribute( ASSIGNED_ATTRIBUTE,TRUE_STR);1071 option_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR); 1072 1072 command_element.appendChild(option_element); 1073 1073 option_element = null; … … 1088 1088 Element command_element = null; 1089 1089 try { 1090 command_element = document.createElement( FORMAT_ELEMENT);1090 command_element = document.createElement(StaticStrings.FORMAT_ELEMENT); 1091 1091 String name_str = tokenizer.nextToken(); 1092 1092 String value_str = tokenizer.nextToken(); 1093 1093 if(name_str != null && value_str != null) { 1094 command_element.setAttribute( NAME_ATTRIBUTE, name_str);1094 command_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, name_str); 1095 1095 // If the value is true or false we add it as an attribute 1096 if(value_str.equalsIgnoreCase( TRUE_STR) || value_str.equalsIgnoreCase(FALSE_STR)) {1097 command_element.setAttribute( VALUE_ATTRIBUTE, value_str.toLowerCase());1096 if(value_str.equalsIgnoreCase(StaticStrings.TRUE_STR) || value_str.equalsIgnoreCase(StaticStrings.FALSE_STR)) { 1097 command_element.setAttribute(StaticStrings.VALUE_ATTRIBUTE, value_str.toLowerCase()); 1098 1098 } 1099 1099 // Otherwise it gets added as a text node … … 1122 1122 StringTokenizer tokenizer = new StringTokenizer(command_str); 1123 1123 String command = tokenizer.nextToken(); 1124 command_element = document.createElement( INDEXES_ELEMENT);1125 command_element.setAttribute( ASSIGNED_ATTRIBUTE, (command.equals(INDEX_STR) ? TRUE_STR :FALSE_STR));1124 command_element = document.createElement(StaticStrings.INDEXES_ELEMENT); 1125 command_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, (command.equals(StaticStrings.INDEX_STR) ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR)); 1126 1126 command = null; 1127 1127 if(!tokenizer.hasMoreTokens()) { 1128 1128 1129 1129 // there are no indexes 1130 command_element.setAttribute( ASSIGNED_ATTRIBUTE,FALSE_STR);1131 command_element.setAttribute( MGPP_ATTRIBUTE,FALSE_STR); // for now1130 command_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.FALSE_STR); 1131 command_element.setAttribute(StaticStrings.MGPP_ATTRIBUTE, StaticStrings.FALSE_STR); // for now 1132 1132 tokenizer = null; 1133 1133 return command_element; … … 1135 1135 1136 1136 while(tokenizer.hasMoreTokens()) { 1137 Element index_element = document.createElement( INDEX_ELEMENT);1137 Element index_element = document.createElement(StaticStrings.INDEX_ELEMENT); 1138 1138 String index_str = tokenizer.nextToken(); 1139 1139 // 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. 1140 1140 boolean old_index; 1141 if(index_str.indexOf( COLON_CHARACTER) != -1) {1141 if(index_str.indexOf(StaticStrings.COLON_CHARACTER) != -1) { 1142 1142 old_index = true; 1143 index_element.setAttribute( LEVEL_ATTRIBUTE, index_str.substring(0, index_str.indexOf(StaticStrings.COLON_CHARACTER)));1143 index_element.setAttribute(StaticStrings.LEVEL_ATTRIBUTE, index_str.substring(0, index_str.indexOf(StaticStrings.COLON_CHARACTER))); 1144 1144 index_str = index_str.substring(index_str.indexOf(StaticStrings.COLON_CHARACTER) + 1); 1145 command_element.setAttribute( MGPP_ATTRIBUTE,FALSE_STR);1145 command_element.setAttribute(StaticStrings.MGPP_ATTRIBUTE, StaticStrings.FALSE_STR); 1146 1146 } 1147 1147 else { 1148 command_element.setAttribute( MGPP_ATTRIBUTE,TRUE_STR);1148 command_element.setAttribute(StaticStrings.MGPP_ATTRIBUTE, StaticStrings.TRUE_STR); 1149 1149 old_index = false; 1150 1150 } 1151 1151 StringTokenizer content_tokenizer = new StringTokenizer(index_str, StaticStrings.COMMA_CHARACTER); 1152 1152 while(content_tokenizer.hasMoreTokens()) { 1153 Element content_element = document.createElement( CONTENT_ELEMENT);1153 Element content_element = document.createElement(StaticStrings.CONTENT_ELEMENT); 1154 1154 String content_str = content_tokenizer.nextToken(); 1155 1155 // 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. … … 1162 1162 } 1163 1163 } 1164 content_element.setAttribute( NAME_ATTRIBUTE, content_str);1164 content_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, content_str); 1165 1165 index_element.appendChild(content_element); 1166 1166 content_element = null; … … 1184 1184 StringTokenizer tokenizer = new StringTokenizer(command_str); 1185 1185 if(tokenizer.countTokens() >= 2) { 1186 command_element = document.createElement( INDEX_DEFAULT_ELEMENT);1187 command_element.setAttribute( ASSIGNED_ATTRIBUTE, ((tokenizer.nextToken()).equals(INDEX_DEFAULT_STR) ? TRUE_STR :FALSE_STR));1186 command_element = document.createElement(StaticStrings.INDEX_DEFAULT_ELEMENT); 1187 command_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, ((tokenizer.nextToken()).equals(StaticStrings.INDEX_DEFAULT_STR) ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR)); 1188 1188 String index_str = tokenizer.nextToken(); 1189 1189 String level=""; … … 1192 1192 } 1193 1193 1194 command_element.setAttribute( LEVEL_ATTRIBUTE,level);1194 command_element.setAttribute(StaticStrings.LEVEL_ATTRIBUTE,level); 1195 1195 1196 1196 String content_str = index_str; … … 1202 1202 StringTokenizer content_tokenizer = new StringTokenizer(content_str, StaticStrings.COMMA_CHARACTER); 1203 1203 while(content_tokenizer.hasMoreTokens()) { 1204 Element content_element = document.createElement( CONTENT_ELEMENT);1205 content_element.setAttribute( NAME_ATTRIBUTE, content_tokenizer.nextToken());1204 Element content_element = document.createElement(StaticStrings.CONTENT_ELEMENT); 1205 content_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, content_tokenizer.nextToken()); 1206 1206 command_element.appendChild(content_element); 1207 1207 content_element = null; … … 1225 1225 tokenizer.nextToken(); 1226 1226 if(tokenizer.hasMoreTokens()) { 1227 command_element = document.createElement( LANGUAGES_ELEMENT);1227 command_element = document.createElement(StaticStrings.LANGUAGES_ELEMENT); 1228 1228 while(tokenizer.hasMoreTokens()) { 1229 Element language_element = document.createElement( LANGUAGE_ELEMENT);1230 language_element.setAttribute( NAME_ATTRIBUTE, tokenizer.nextToken());1229 Element language_element = document.createElement(StaticStrings.LANGUAGE_ELEMENT); 1230 language_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, tokenizer.nextToken()); 1231 1231 command_element.appendChild(language_element); 1232 1232 language_element = null; … … 1245 1245 StringTokenizer tokenizer = new StringTokenizer(command_str); 1246 1246 if(tokenizer.countTokens() >= 2) { 1247 command_element = document.createElement( LANGUAGE_DEFAULT_ELEMENT);1247 command_element = document.createElement(StaticStrings.LANGUAGE_DEFAULT_ELEMENT); 1248 1248 tokenizer.nextToken(); 1249 1249 String default_language_str = tokenizer.nextToken(); 1250 command_element.setAttribute( NAME_ATTRIBUTE, default_language_str);1251 command_element.setAttribute( ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);1250 command_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, default_language_str); 1251 command_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR); 1252 1252 default_language_str = null; 1253 1253 } … … 1264 1264 StringTokenizer tokenizer = new StringTokenizer(command_str); 1265 1265 if(tokenizer.countTokens() >= 2) { 1266 command_element = document.createElement( LANGUAGE_METADATA_ELEMENT);1266 command_element = document.createElement(StaticStrings.LANGUAGE_METADATA_ELEMENT); 1267 1267 tokenizer.nextToken(); 1268 1268 String language_metadata_str = tokenizer.nextToken(); … … 1270 1270 language_metadata_str = StaticStrings.EXTRACTED_NAMESPACE + language_metadata_str; 1271 1271 } 1272 command_element.setAttribute( NAME_ATTRIBUTE, language_metadata_str);1273 command_element.setAttribute( ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);1272 command_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, language_metadata_str); 1273 command_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR); 1274 1274 language_metadata_str = null; 1275 1275 } … … 1289 1289 String command = tokenizer.nextToken(); 1290 1290 if(tokenizer.hasMoreTokens()) { 1291 command_element = document.createElement( LEVELS_ELEMENT);1292 command_element.setAttribute( ASSIGNED_ATTRIBUTE, (command.equals(LEVELS_STR) ? TRUE_STR :FALSE_STR));1291 command_element = document.createElement(StaticStrings.LEVELS_ELEMENT); 1292 command_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, (command.equals(StaticStrings.LEVELS_STR) ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR)); 1293 1293 while(tokenizer.hasMoreTokens()) { 1294 Element level_element = document.createElement( LEVEL_ELEMENT);1295 level_element.setAttribute( NAME_ATTRIBUTE, tokenizer.nextToken());1294 Element level_element = document.createElement(StaticStrings.LEVEL_ELEMENT); 1295 level_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, tokenizer.nextToken()); 1296 1296 command_element.appendChild(level_element); 1297 1297 level_element = null; … … 1310 1310 StringTokenizer tokenizer = new StringTokenizer(command_str); 1311 1311 if(tokenizer.countTokens() >= 2) { 1312 command_element = document.createElement( LEVEL_DEFAULT_ELEMENT);1313 command_element.setAttribute( ASSIGNED_ATTRIBUTE, ((tokenizer.nextToken()).equals(LEVEL_DEFAULT_STR) ? TRUE_STR :FALSE_STR)); // is it commented out or not?1314 command_element.setAttribute( NAME_ATTRIBUTE, tokenizer.nextToken());1312 command_element = document.createElement(StaticStrings.LEVEL_DEFAULT_ELEMENT); 1313 command_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, ((tokenizer.nextToken()).equals(StaticStrings.LEVEL_DEFAULT_STR) ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR)); // is it commented out or not? 1314 command_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, tokenizer.nextToken()); 1315 1315 } 1316 1316 … … 1325 1325 Element command_element = null; 1326 1326 try { 1327 command_element = document.createElement( COLLECTIONMETADATA_ELEMENT);1327 command_element = document.createElement(StaticStrings.COLLECTIONMETADATA_ELEMENT); 1328 1328 String name_str = tokenizer.nextToken(); 1329 1329 String value_str = tokenizer.nextToken(); … … 1331 1331 String language_str = Configuration.getLanguage(); 1332 1332 // Check if the value string is actually a language string 1333 if(value_str.startsWith( LBRACKET_CHARACTER) && value_str.endsWith(RBRACKET_CHARACTER)) {1334 language_str = value_str.substring(value_str.indexOf( LANGUAGE_ARGUMENT) + 2, value_str.length() - 1);1333 if(value_str.startsWith(StaticStrings.LBRACKET_CHARACTER) && value_str.endsWith(StaticStrings.RBRACKET_CHARACTER)) { 1334 language_str = value_str.substring(value_str.indexOf(StaticStrings.LANGUAGE_ARGUMENT) + 2, value_str.length() - 1); 1335 1335 value_str = tokenizer.nextToken(); 1336 1336 } … … 1338 1338 // Ready the value str (which can contain all sorts of funky characters) for writing as a DOM value 1339 1339 value_str = Codec.transform(value_str, Codec.GREENSTONE_TO_DOM); 1340 command_element.setAttribute( NAME_ATTRIBUTE, name_str);1341 command_element.setAttribute( LANGUAGE_ATTRIBUTE, language_str);1342 command_element.setAttribute( ASSIGNED_ATTRIBUTE,TRUE_STR);1340 command_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, name_str); 1341 command_element.setAttribute(StaticStrings.LANGUAGE_ATTRIBUTE, language_str); 1342 command_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR); 1343 1343 XMLTools.setValue(command_element, value_str); 1344 1344 } … … 1368 1368 String name_str = tokenizer.nextToken(); 1369 1369 String value_str = tokenizer.nextToken(); 1370 if (name_str.equals( COLLECTIONMETADATA_CREATOR_STR)) {1371 command_element = document.createElement( COLLECTIONMETADATA_CREATOR_ELEMENT);1372 } 1373 else if(name_str.equals( COLLECTIONMETADATA_MAINTAINER_STR)) {1374 command_element = document.createElement( COLLECTIONMETADATA_MAINTAINER_ELEMENT);1375 } 1376 else if(name_str.equals( COLLECTIONMETADATA_PUBLIC_STR)) {1377 command_element = document.createElement( COLLECTIONMETADATA_PUBLIC_ELEMENT);1378 } 1379 else if (name_str.equals( BUILDTYPE_STR)) {1380 command_element = document.createElement( BUILDTYPE_ELEMENT);1370 if (name_str.equals(StaticStrings.COLLECTIONMETADATA_CREATOR_STR)) { 1371 command_element = document.createElement(StaticStrings.COLLECTIONMETADATA_CREATOR_ELEMENT); 1372 } 1373 else if(name_str.equals(StaticStrings.COLLECTIONMETADATA_MAINTAINER_STR)) { 1374 command_element = document.createElement(StaticStrings.COLLECTIONMETADATA_MAINTAINER_ELEMENT); 1375 } 1376 else if(name_str.equals(StaticStrings.COLLECTIONMETADATA_PUBLIC_STR)) { 1377 command_element = document.createElement(StaticStrings.COLLECTIONMETADATA_PUBLIC_ELEMENT); 1378 } 1379 else if (name_str.equals(StaticStrings.BUILDTYPE_STR)) { 1380 command_element = document.createElement(StaticStrings.BUILDTYPE_ELEMENT); 1381 1381 } 1382 1382 if(command_element != null) { 1383 command_element.setAttribute( NAME_ATTRIBUTE, name_str);1384 command_element.setAttribute( LANGUAGE_ATTRIBUTE,ENGLISH_LANGUAGE_STR);1385 command_element.setAttribute(S PECIAL_ATTRIBUTE,TRUE_STR);1386 command_element.setAttribute( ASSIGNED_ATTRIBUTE,TRUE_STR);1387 if(value_str.startsWith(S PEECH_CHARACTER) && value_str.endsWith(SPEECH_CHARACTER)) {1383 command_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, name_str); 1384 command_element.setAttribute(StaticStrings.LANGUAGE_ATTRIBUTE, StaticStrings.ENGLISH_LANGUAGE_STR); 1385 command_element.setAttribute(StaticStrings.SPECIAL_ATTRIBUTE, StaticStrings.TRUE_STR); 1386 command_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR); 1387 if(value_str.startsWith(StaticStrings.SPEECH_CHARACTER) && value_str.endsWith(StaticStrings.SPEECH_CHARACTER)) { 1388 1388 value_str = value_str.substring(1, value_str.length() - 1); 1389 1389 } … … 1407 1407 // Check the token count. The token count from a command tokenizer isn't guarenteed to be correct, but it does give the maximum number of available tokens according to the underlying StringTokenizer (some of which may actually be append together by the CommandTokenizer as being a single argument). 1408 1408 if(tokenizer.countTokens() >= 2) { 1409 command_element = document.createElement( PLUGIN_ELEMENT);1409 command_element = document.createElement(StaticStrings.PLUGIN_ELEMENT); 1410 1410 // First token is plugin 1411 1411 tokenizer.nextToken(); 1412 1412 // The next token is the type 1413 1413 String type = tokenizer.nextToken(); 1414 command_element.setAttribute( TYPE_ATTRIBUTE, type);1414 command_element.setAttribute(StaticStrings.TYPE_ATTRIBUTE, type); 1415 1415 // Now we parse out the remaining arguments into a hashmapping from name to value 1416 1416 HashMap arguments = parseArguments(tokenizer); … … 1420 1420 String name = (String) names.next(); 1421 1421 String value = (String) arguments.get(name); // Can be null 1422 Element option_element = document.createElement( OPTION_ELEMENT);1423 if(name.substring(1).equals( USE_METADATA_FILES_ARGUMENT)) {1422 Element option_element = document.createElement(StaticStrings.OPTION_ELEMENT); 1423 if(name.substring(1).equals(StaticStrings.USE_METADATA_FILES_ARGUMENT)) { 1424 1424 use_metadata_files = true; 1425 1425 } 1426 option_element.setAttribute( NAME_ATTRIBUTE, name.substring(1));1427 option_element.setAttribute( ASSIGNED_ATTRIBUTE,TRUE_STR);1426 option_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, name.substring(1)); 1427 option_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR); 1428 1428 if(value != null) { 1429 1429 // Remove any speech marks appended in strings containing whitespace 1430 if(value.startsWith(S PEECH_CHARACTER) && value.endsWith(SPEECH_CHARACTER)) {1430 if(value.startsWith(StaticStrings.SPEECH_CHARACTER) && value.endsWith(StaticStrings.SPEECH_CHARACTER)) { 1431 1431 value = value.substring(1, value.length() - 1); 1432 1432 } 1433 if(name.equals( METADATA_ARGUMENT)) {1433 if(name.equals(StaticStrings.METADATA_ARGUMENT)) { 1434 1434 // 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. 1435 1435 if(value.indexOf(StaticStrings.NS_SEP) == -1) { … … 1446 1446 1447 1447 // We must have some RecPlug options: use_metadata_files 1448 if (type.equals( RECPLUG_STR)) {1448 if (type.equals(StaticStrings.RECPLUG_STR)) { 1449 1449 if (!use_metadata_files) { 1450 Element option_element = document.createElement( OPTION_ELEMENT);1451 option_element.setAttribute( NAME_ATTRIBUTE,USE_METADATA_FILES_ARGUMENT);1452 option_element.setAttribute( ASSIGNED_ATTRIBUTE,TRUE_STR);1450 Element option_element = document.createElement(StaticStrings.OPTION_ELEMENT); 1451 option_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, StaticStrings.USE_METADATA_FILES_ARGUMENT); 1452 option_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR); 1453 1453 command_element.appendChild(option_element); 1454 1454 option_element = null; … … 1474 1474 tokenizer.nextToken(); 1475 1475 if(tokenizer.hasMoreTokens()) { 1476 command_element = document.createElement( FORMAT_ELEMENT);1477 command_element.setAttribute( NAME_ATTRIBUTE, "SearchTypes");1476 command_element = document.createElement(StaticStrings.FORMAT_ELEMENT); 1477 command_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, "SearchTypes"); 1478 1478 String value = tokenizer.nextToken(); 1479 1479 while(tokenizer.hasMoreTokens()) { … … 1494 1494 CommandTokenizer tokenizer = new CommandTokenizer(command_str); 1495 1495 if(tokenizer.countTokens() >= 3) { 1496 command_element = document.createElement(S UBCOLLECTION_ELEMENT);1496 command_element = document.createElement(StaticStrings.SUBCOLLECTION_ELEMENT); 1497 1497 // First token is command type 1498 1498 tokenizer.nextToken(); 1499 1499 // Then subcollection identifier 1500 command_element.setAttribute( NAME_ATTRIBUTE, tokenizer.nextToken());1500 command_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, tokenizer.nextToken()); 1501 1501 // Then finally the pattern used to build the subcollection partition 1502 1502 String full_pattern_str = tokenizer.nextToken(); 1503 1503 // Set inclusion/exclusion flag and remove any exclamation mark 1504 boolean exclusion = full_pattern_str.startsWith( EXCLAMATION_CHARACTER);1504 boolean exclusion = full_pattern_str.startsWith(StaticStrings.EXCLAMATION_CHARACTER); 1505 1505 if (exclusion) { 1506 1506 full_pattern_str = full_pattern_str.substring(1, full_pattern_str.length()); 1507 command_element.setAttribute( TYPE_ATTRIBUTE,EXCLUDE_STR);1507 command_element.setAttribute(StaticStrings.TYPE_ATTRIBUTE, StaticStrings.EXCLUDE_STR); 1508 1508 } 1509 1509 else { 1510 command_element.setAttribute( TYPE_ATTRIBUTE,INCLUDE_STR);1511 } 1512 StringTokenizer pattern_tokenizer = new StringTokenizer(full_pattern_str, S EPARATOR_CHARACTER);1510 command_element.setAttribute(StaticStrings.TYPE_ATTRIBUTE, StaticStrings.INCLUDE_STR); 1511 } 1512 StringTokenizer pattern_tokenizer = new StringTokenizer(full_pattern_str, StaticStrings.SEPARATOR_CHARACTER); 1513 1513 if(pattern_tokenizer.countTokens() >= 2) { 1514 1514 String content_str = pattern_tokenizer.nextToken(); … … 1517 1517 content_str = StaticStrings.EXTRACTED_NAMESPACE + content_str; 1518 1518 } 1519 command_element.setAttribute( CONTENT_ATTRIBUTE, content_str);1519 command_element.setAttribute(StaticStrings.CONTENT_ATTRIBUTE, content_str); 1520 1520 XMLTools.setValue(command_element, pattern_tokenizer.nextToken()); 1521 1521 if(pattern_tokenizer.hasMoreTokens()) { 1522 command_element.setAttribute( OPTIONS_ATTRIBUTE, pattern_tokenizer.nextToken());1522 command_element.setAttribute(StaticStrings.OPTIONS_ATTRIBUTE, pattern_tokenizer.nextToken()); 1523 1523 } 1524 1524 } … … 1537 1537 StringTokenizer tokenizer = new StringTokenizer(command_str); 1538 1538 if(tokenizer.countTokens() == 2) { 1539 command_element = document.createElement(S UBCOLLECTION_DEFAULT_INDEX_ELEMENT);1539 command_element = document.createElement(StaticStrings.SUBCOLLECTION_DEFAULT_INDEX_ELEMENT); 1540 1540 tokenizer.nextToken(); 1541 1541 //command_element.setAttribute(CONTENT_ATTRIBUTE, tokenizer.nextToken()); … … 1543 1543 StringTokenizer content_tokenizer = new StringTokenizer(content_str, StaticStrings.COMMA_CHARACTER); 1544 1544 while(content_tokenizer.hasMoreTokens()) { 1545 Element content_element = document.createElement( CONTENT_ELEMENT);1546 content_element.setAttribute( NAME_ATTRIBUTE, content_tokenizer.nextToken());1545 Element content_element = document.createElement(StaticStrings.CONTENT_ELEMENT); 1546 content_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, content_tokenizer.nextToken()); 1547 1547 command_element.appendChild(content_element); 1548 1548 content_element = null; … … 1564 1564 tokenizer.nextToken(); 1565 1565 if(tokenizer.hasMoreTokens()) { 1566 command_element = document.createElement(S UBCOLLECTION_INDEXES_ELEMENT);1566 command_element = document.createElement(StaticStrings.SUBCOLLECTION_INDEXES_ELEMENT); 1567 1567 } 1568 1568 while(tokenizer.hasMoreTokens()) { 1569 Element subcollectionindex_element = document.createElement( INDEX_ELEMENT);1569 Element subcollectionindex_element = document.createElement(StaticStrings.INDEX_ELEMENT); 1570 1570 //command_element.setAttribute(CONTENT_ATTRIBUTE, tokenizer.nextToken()); 1571 1571 String content_str = tokenizer.nextToken(); 1572 1572 StringTokenizer content_tokenizer = new StringTokenizer(content_str, StaticStrings.COMMA_CHARACTER); 1573 1573 while(content_tokenizer.hasMoreTokens()) { 1574 Element content_element = document.createElement( CONTENT_ELEMENT);1575 content_element.setAttribute( NAME_ATTRIBUTE, content_tokenizer.nextToken());1574 Element content_element = document.createElement(StaticStrings.CONTENT_ELEMENT); 1575 content_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, content_tokenizer.nextToken()); 1576 1576 subcollectionindex_element.appendChild(content_element); 1577 1577 content_element = null; … … 1594 1594 StringTokenizer tokenizer = new StringTokenizer(command_str); 1595 1595 if(tokenizer.countTokens() >= 3) { 1596 command_element = document.createElement(S UPERCOLLECTION_ELEMENT);1596 command_element = document.createElement(StaticStrings.SUPERCOLLECTION_ELEMENT); 1597 1597 tokenizer.nextToken(); 1598 1598 while(tokenizer.hasMoreTokens()) { 1599 Element collection_element = document.createElement( COLLECTION_ELEMENT);1600 collection_element.setAttribute( NAME_ATTRIBUTE, tokenizer.nextToken());1599 Element collection_element = document.createElement(StaticStrings.COLLECTION_ELEMENT); 1600 collection_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, tokenizer.nextToken()); 1601 1601 command_element.appendChild(collection_element); 1602 1602 collection_element = null; … … 1612 1612 static private String pluginToString(Element command_element, boolean show_extracted_namespace) { 1613 1613 StringBuffer text = new StringBuffer(); 1614 if(!command_element.getAttribute(S EPARATOR_ATTRIBUTE).equals(TRUE_STR)) {1615 text.append( PLUGIN_STR);1616 text.append( TAB_CHARACTER);1617 text.append( TAB_CHARACTER);1618 text.append(command_element.getAttribute( TYPE_ATTRIBUTE));1614 if(!command_element.getAttribute(StaticStrings.SEPARATOR_ATTRIBUTE).equals(StaticStrings.TRUE_STR)) { 1615 text.append(StaticStrings.PLUGIN_STR); 1616 text.append(StaticStrings.TAB_CHARACTER); 1617 text.append(StaticStrings.TAB_CHARACTER); 1618 text.append(command_element.getAttribute(StaticStrings.TYPE_ATTRIBUTE)); 1619 1619 // Retrieve, and output, the arguments 1620 NodeList option_elements = command_element.getElementsByTagName( OPTION_ELEMENT);1620 NodeList option_elements = command_element.getElementsByTagName(StaticStrings.OPTION_ELEMENT); 1621 1621 int option_elements_length = option_elements.getLength(); 1622 1622 if(option_elements_length > 0) { 1623 1623 for(int j = 0; j < option_elements_length; j++) { 1624 1624 Element option_element = (Element) option_elements.item(j); 1625 if(option_element.getAttribute( ASSIGNED_ATTRIBUTE).equals(TRUE_STR)) {1626 text.append(S PACE_CHARACTER);1625 if(option_element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.TRUE_STR)) { 1626 text.append(StaticStrings.SPACE_CHARACTER); 1627 1627 text.append(StaticStrings.MINUS_CHARACTER); 1628 text.append(option_element.getAttribute( NAME_ATTRIBUTE));1628 text.append(option_element.getAttribute(StaticStrings.NAME_ATTRIBUTE)); 1629 1629 String value_str = XMLTools.getValue(option_element); 1630 1630 if(!show_extracted_namespace && value_str.startsWith(StaticStrings.EXTRACTED_NAMESPACE)) { … … 1632 1632 } 1633 1633 if(value_str.length() > 0) { 1634 text.append(S PACE_CHARACTER);1635 if(value_str.indexOf(S PACE_CHARACTER) == -1) {1634 text.append(StaticStrings.SPACE_CHARACTER); 1635 if(value_str.indexOf(StaticStrings.SPACE_CHARACTER) == -1) { 1636 1636 text.append(value_str); 1637 1637 } 1638 1638 else { 1639 text.append(S PEECH_CHARACTER);1639 text.append(StaticStrings.SPEECH_CHARACTER); 1640 1640 text.append(value_str); 1641 text.append(S PEECH_CHARACTER);1641 text.append(StaticStrings.SPEECH_CHARACTER); 1642 1642 } 1643 1643 } … … 1653 1653 1654 1654 static private String searchtypeToString(Element command_element) { 1655 if(command_element.getAttribute( ASSIGNED_ATTRIBUTE).equals(TRUE_STR)) {1656 StringBuffer text = new StringBuffer(S EARCHTYPE_STR);1657 text.append( TAB_CHARACTER);1658 NodeList search_elements = command_element.getElementsByTagName( CONTENT_ELEMENT);1655 if(command_element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.TRUE_STR)) { 1656 StringBuffer text = new StringBuffer(StaticStrings.SEARCHTYPE_STR); 1657 text.append(StaticStrings.TAB_CHARACTER); 1658 NodeList search_elements = command_element.getElementsByTagName(StaticStrings.CONTENT_ELEMENT); 1659 1659 int search_elements_length = search_elements.getLength(); 1660 1660 for(int i = 0; i < search_elements_length; i++) { 1661 1661 Element search_element = (Element) search_elements.item(i); 1662 text.append(search_element.getAttribute( NAME_ATTRIBUTE));1663 text.append(S PACE_CHARACTER);1662 text.append(search_element.getAttribute(StaticStrings.NAME_ATTRIBUTE)); 1663 text.append(StaticStrings.SPACE_CHARACTER); 1664 1664 } 1665 1665 return text.substring(0, text.length() - 1); … … 1671 1671 1672 1672 static private String subcollectionToString(Element command_element, boolean show_extracted_namespace) { 1673 StringBuffer text = new StringBuffer(S UBCOLLECTION_STR);1674 text.append(S PACE_CHARACTER);1675 text.append(command_element.getAttribute( NAME_ATTRIBUTE));1676 text.append(S PACE_CHARACTER);1677 text.append( TAB_CHARACTER);1678 text.append(S PEECH_CHARACTER);1679 if(command_element.getAttribute( TYPE_ATTRIBUTE).equals(EXCLUDE_STR)) {1680 text.append( EXCLAMATION_CHARACTER);1681 } 1682 String content_str = command_element.getAttribute( CONTENT_ATTRIBUTE);1673 StringBuffer text = new StringBuffer(StaticStrings.SUBCOLLECTION_STR); 1674 text.append(StaticStrings.SPACE_CHARACTER); 1675 text.append(command_element.getAttribute(StaticStrings.NAME_ATTRIBUTE)); 1676 text.append(StaticStrings.SPACE_CHARACTER); 1677 text.append(StaticStrings.TAB_CHARACTER); 1678 text.append(StaticStrings.SPEECH_CHARACTER); 1679 if(command_element.getAttribute(StaticStrings.TYPE_ATTRIBUTE).equals(StaticStrings.EXCLUDE_STR)) { 1680 text.append(StaticStrings.EXCLAMATION_CHARACTER); 1681 } 1682 String content_str = command_element.getAttribute(StaticStrings.CONTENT_ATTRIBUTE); 1683 1683 if(!show_extracted_namespace && content_str.startsWith(StaticStrings.EXTRACTED_NAMESPACE)) { 1684 1684 content_str = content_str.substring(StaticStrings.EXTRACTED_NAMESPACE.length()); … … 1686 1686 text.append(content_str); 1687 1687 content_str = null; 1688 text.append(S EPARATOR_CHARACTER);1688 text.append(StaticStrings.SEPARATOR_CHARACTER); 1689 1689 text.append(XMLTools.getValue(command_element)); 1690 text.append(S EPARATOR_CHARACTER);1691 String options_str = command_element.getAttribute( OPTIONS_ATTRIBUTE);1690 text.append(StaticStrings.SEPARATOR_CHARACTER); 1691 String options_str = command_element.getAttribute(StaticStrings.OPTIONS_ATTRIBUTE); 1692 1692 if(options_str.length() > 0) { 1693 1693 text.append(options_str); 1694 1694 } 1695 1695 options_str = null; 1696 text.append(S PEECH_CHARACTER);1696 text.append(StaticStrings.SPEECH_CHARACTER); 1697 1697 return text.toString(); 1698 1698 } 1699 1699 1700 1700 static private String subcollectionDefaultIndexToString(Element command_element) { 1701 StringBuffer text = new StringBuffer(S UBCOLLECTION_DEFAULT_INDEX_STR);1702 text.append( TAB_CHARACTER);1703 NodeList content_elements = command_element.getElementsByTagName( CONTENT_ELEMENT);1701 StringBuffer text = new StringBuffer(StaticStrings.SUBCOLLECTION_DEFAULT_INDEX_STR); 1702 text.append(StaticStrings.TAB_CHARACTER); 1703 NodeList content_elements = command_element.getElementsByTagName(StaticStrings.CONTENT_ELEMENT); 1704 1704 int content_elements_length = content_elements.getLength(); 1705 1705 for(int j = 0; j < content_elements_length; j++) { 1706 1706 Element content_element = (Element) content_elements.item(j); 1707 text.append(content_element.getAttribute( NAME_ATTRIBUTE));1707 text.append(content_element.getAttribute(StaticStrings.NAME_ATTRIBUTE)); 1708 1708 if(j < content_elements_length - 1) { 1709 1709 text.append(StaticStrings.COMMA_CHARACTER); … … 1714 1714 1715 1715 static private String subcollectionIndexesToString(Element command_element) { 1716 StringBuffer text = new StringBuffer(S UBCOLLECTION_INDEX_STR);1717 text.append( TAB_CHARACTER);1716 StringBuffer text = new StringBuffer(StaticStrings.SUBCOLLECTION_INDEX_STR); 1717 text.append(StaticStrings.TAB_CHARACTER); 1718 1718 // Retrieve all of the subcollection index partitions 1719 NodeList subcollectionindex_elements = command_element.getElementsByTagName( INDEX_ELEMENT);1719 NodeList subcollectionindex_elements = command_element.getElementsByTagName(StaticStrings.INDEX_ELEMENT); 1720 1720 int subcollectionindex_elements_length = subcollectionindex_elements.getLength(); 1721 1721 if(subcollectionindex_elements_length == 0) { … … 1724 1724 for(int j = 0; j < subcollectionindex_elements_length; j++) { 1725 1725 Element subcollectionindex_element = (Element) subcollectionindex_elements.item(j); 1726 NodeList content_elements = subcollectionindex_element.getElementsByTagName( CONTENT_ELEMENT);1726 NodeList content_elements = subcollectionindex_element.getElementsByTagName(StaticStrings.CONTENT_ELEMENT); 1727 1727 int content_elements_length = content_elements.getLength(); 1728 1728 for(int k = 0; k < content_elements_length; k++) { 1729 1729 Element content_element = (Element) content_elements.item(k); 1730 text.append(content_element.getAttribute( NAME_ATTRIBUTE));1730 text.append(content_element.getAttribute(StaticStrings.NAME_ATTRIBUTE)); 1731 1731 if(k < content_elements_length - 1) { 1732 1732 text.append(StaticStrings.COMMA_CHARACTER); … … 1734 1734 } 1735 1735 if(j < subcollectionindex_elements_length - 1) { 1736 text.append(S PACE_CHARACTER);1736 text.append(StaticStrings.SPACE_CHARACTER); 1737 1737 } 1738 1738 } … … 1741 1741 1742 1742 static private String supercollectionToString(Element command_element) { 1743 NodeList content_elements = command_element.getElementsByTagName( COLLECTION_ELEMENT);1743 NodeList content_elements = command_element.getElementsByTagName(StaticStrings.COLLECTION_ELEMENT); 1744 1744 int content_elements_length = content_elements.getLength(); 1745 1745 if(content_elements_length > 1) { 1746 StringBuffer text = new StringBuffer(S UPERCOLLECTION_STR);1747 text.append( TAB_CHARACTER);1746 StringBuffer text = new StringBuffer(StaticStrings.SUPERCOLLECTION_STR); 1747 text.append(StaticStrings.TAB_CHARACTER); 1748 1748 for(int j = 0; j < content_elements_length; j++) { 1749 1749 Element content_element = (Element) content_elements.item(j); 1750 text.append(content_element.getAttribute( NAME_ATTRIBUTE));1750 text.append(content_element.getAttribute(StaticStrings.NAME_ATTRIBUTE)); 1751 1751 if(j < content_elements_length - 1) { 1752 text.append(S PACE_CHARACTER);1752 text.append(StaticStrings.SPACE_CHARACTER); 1753 1753 } 1754 1754 } -
trunk/gli/src/org/greenstone/gatherer/util/StaticStrings.java
r12726 r12814 157 157 static final public String NAME_ELEMENT = "Name"; 158 158 static final public String NEWLINE_CHARACTER = "\\"; 159 static final public String NEWLINE_ELEMENT = "NewLine";160 159 static final public String NO_LOAD_ARGUMENT = "-no_load"; 161 160 static final public String NO_WGET_STR = "NoWGet";
Note:
See TracChangeset
for help on using the changeset viewer.