Changeset 18836 for gli/branches
- Timestamp:
- 2009-03-30T13:05:30+13:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gli/branches/2.81-fixed/src/org/greenstone/gatherer/cdm/CollectionConfiguration.java
r17844 r18836 446 446 text.append (option_element.getAttribute (StaticStrings.NAME_ATTRIBUTE)); 447 447 String value_str = XMLTools.getValue (option_element); 448 value_str = modifyMetadataArgumentValue(value_str); 449 if (value_str.length () > 0) { 450 text.append (StaticStrings.SPACE_CHARACTER); 451 text.append(value_str); 452 } 448 453 449 // Convert metadata element names to internal names, and remove extracted metadata namespaces 450 if (value_str.length () > 0) { 451 StringTokenizer string_tokenizer = new StringTokenizer (value_str, ","); 452 StringBuffer value_buffer = new StringBuffer (); 453 while (string_tokenizer.hasMoreElements ()) { 454 String raw_token = (String) string_tokenizer.nextElement (); 455 String token = raw_token.trim (); 456 MetadataElement metadata_element = MetadataTools.getMetadataElementWithDisplayName (token); 457 if (metadata_element != null) { 458 token = metadata_element.getFullName (); 459 } 460 461 if (token.startsWith (StaticStrings.EXTRACTED_NAMESPACE)) { 462 token = token.substring (StaticStrings.EXTRACTED_NAMESPACE.length ()); 463 } 464 value_buffer.append (token); 465 if (string_tokenizer.hasMoreElements ()) { 466 value_buffer.append (","); 467 } 468 } 469 value_str = value_buffer.toString (); 470 } 471 472 text.append (StaticStrings.SPACE_CHARACTER); 473 if (value_str.indexOf (StaticStrings.SPACE_CHARACTER) == -1) { 474 text.append (value_str); 475 } 476 else { 477 text.append (StaticStrings.SPEECH_CHARACTER); 478 text.append (value_str); 479 text.append (StaticStrings.SPEECH_CHARACTER); 480 } 481 value_str = null; 454 value_str = null; 482 455 } 483 456 option_element = null; … … 1548 1521 text.append (option_element.getAttribute (StaticStrings.NAME_ATTRIBUTE)); 1549 1522 String value_str = XMLTools.getValue (option_element); 1550 1551 1523 1552 // Convert metadata element names to internal names, and remove extracted metadata namespaces 1524 value_str = modifyMetadataArgumentValue(value_str); 1525 // are there any valid cases of "" args?? 1553 1526 if (value_str.length () > 0) { 1554 StringTokenizer string_tokenizer = new StringTokenizer (value_str, ","); 1555 StringBuffer value_buffer = new StringBuffer (); 1556 while (string_tokenizer.hasMoreElements ()) { 1557 String raw_token = (String) string_tokenizer.nextElement (); 1558 String token = raw_token.trim (); 1559 MetadataElement metadata_element = MetadataTools.getMetadataElementWithDisplayName (token); 1560 if (metadata_element != null) { 1561 token = metadata_element.getFullName (); 1562 } 1563 1564 if (token.startsWith (StaticStrings.EXTRACTED_NAMESPACE)) { 1565 token = token.substring (StaticStrings.EXTRACTED_NAMESPACE.length ()); 1566 } 1567 value_buffer.append (token); 1568 if (string_tokenizer.hasMoreElements ()) { 1569 value_buffer.append (","); 1570 } 1571 } 1572 value_str = value_buffer.toString (); 1527 text.append (StaticStrings.SPACE_CHARACTER); 1528 text.append(value_str); 1573 1529 } 1574 1575 // if(!show_extracted_namespace && value_str.startsWith (StaticStrings.EXTRACTED_NAMESPACE)) { 1576 // value_str = value_str.substring (StaticStrings.EXTRACTED_NAMESPACE.length ()); 1577 // } 1578 if(value_str.length () > 0) { 1579 text.append (StaticStrings.SPACE_CHARACTER); 1580 if(value_str.indexOf (StaticStrings.SPACE_CHARACTER) == -1) { 1581 text.append (value_str); 1582 } 1583 else { 1584 text.append (StaticStrings.SPEECH_CHARACTER); 1585 text.append (value_str); 1586 text.append (StaticStrings.SPEECH_CHARACTER); 1587 } 1588 } 1530 1589 1531 value_str = null; 1590 1532 } … … 1596 1538 return text.toString (); 1597 1539 } 1540 1541 // Convert metadata element names to internal names, and remove extracted metadata namespaces 1542 static private String modifyMetadataArgumentValue(String value_str) { 1543 if (value_str.length () == 0) { 1544 return value_str; 1545 } 1546 1547 // final true arg to return delims as tokens 1548 StringTokenizer string_tokenizer = new StringTokenizer (value_str, ",", true); 1549 StringBuffer value_buffer = new StringBuffer (); 1550 while (string_tokenizer.hasMoreElements ()) { 1551 String raw_token = (String) string_tokenizer.nextElement (); 1552 String token = raw_token.trim (); 1553 boolean modified_token = false; 1554 // not a delimiter token 1555 if (!raw_token.equals(",")) { 1556 MetadataElement metadata_element = MetadataTools.getMetadataElementWithDisplayName (token); 1557 if (metadata_element != null) { 1558 token = metadata_element.getFullName (); 1559 modified_token = true; 1560 } 1561 1562 if (token.startsWith (StaticStrings.EXTRACTED_NAMESPACE)) { 1563 token = token.substring (StaticStrings.EXTRACTED_NAMESPACE.length ()); 1564 modified_token = true; 1565 } 1566 } 1567 if (modified_token) { 1568 value_buffer.append (token); 1569 } else { 1570 // we may have had whitespace etc that was part of the string 1571 value_buffer.append (raw_token); 1572 } 1573 } 1574 1575 1576 if(value_buffer.length () == 0) { 1577 return ""; 1578 } 1579 if(value_str.indexOf (StaticStrings.SPACE_CHARACTER) == -1) { 1580 return value_buffer.toString(); 1581 } 1582 1583 // it must contain a space, so we surround the value with quotes 1584 value_buffer.insert(0, StaticStrings.SPEECH_CHARACTER); 1585 value_buffer.append(StaticStrings.SPEECH_CHARACTER); 1586 return value_buffer.toString(); 1587 1588 } 1598 1589 1599 1590 static private String searchtypeToString (Element command_element) {
Note:
See TracChangeset
for help on using the changeset viewer.