Changeset 9126 for trunk/gli/src/org/greenstone/gatherer/cdm/Argument.java
- Timestamp:
- 2005-02-22T10:58:15+13:00 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gli/src/org/greenstone/gatherer/cdm/Argument.java
r8313 r9126 530 530 text.append(value); 531 531 return text.toString(); 532 } 532 } 533 534 /** parse the <Option> XML from eg import.pl -xml or pluginfo.pl -xml */ 535 public void parseXML(Element option) { 536 537 for(Node node = option.getFirstChild(); node != null; node = node.getNextSibling()) { 538 String node_name = node.getNodeName(); 539 if(node_name.equals("Name")) { 540 setName(XMLTools.getValue(node)); 541 } 542 else if(node_name.equals("Desc")) { 543 setDescription(XMLTools.getValue(node)); 544 } 545 else if(node_name.equals("Type")) { 546 setType(XMLTools.getValue(node)); 547 } 548 else if(node_name.equals("Default")) { 549 setDefaultValue(XMLTools.getValue(node)); 550 } 551 else if(node_name.equals("Required")) { 552 String v = XMLTools.getValue(node); 553 if(v != null && v.equals("yes")) { 554 setRequired(true); 555 } 556 } 557 else if(node_name.equals("List")) { 558 // Two final loops are required to parse lists. 559 for(Node value = node.getFirstChild(); value != null; value = value.getNextSibling()) { 560 if(value.getNodeName().equals("Value")) { 561 String key = null; 562 String desc = ""; 563 for(Node subvalue = value.getFirstChild(); subvalue != null; subvalue = subvalue.getNextSibling()) { 564 node_name = subvalue.getNodeName(); 565 if(node_name.equals("Name")) { 566 key = XMLTools.getValue(subvalue); 567 } 568 else if(node_name.equals("Desc")) { 569 desc = XMLTools.getValue(subvalue); 570 } 571 } 572 if(key != null) { 573 addOption(key, desc); 574 } 575 } 576 } 577 } 578 else if(node_name.equals("Range")) { 579 String range_raw = XMLTools.getValue(node); 580 int index = -1; 581 if((index = range_raw.indexOf(StaticStrings.COMMA_CHARACTER)) != -1) { 582 if(index > 0) { 583 try { 584 String first_number = range_raw.substring(0, index); 585 setMinimum(Integer.parseInt(first_number)); 586 first_number = null; 587 } 588 catch(Exception exception) { 589 } 590 } 591 592 if(index + 1 < range_raw.length()) { 593 try { 594 String second_number = range_raw.substring(index + 1); 595 setMaximum(Integer.parseInt(second_number)); 596 second_number = null; 597 } 598 catch(Exception exception) { 599 } 600 } 601 } 602 // Else it wasn't a valid range anyway, so ignore it 603 } 604 else if(node_name.equals("HiddenGLI")) { 605 setHiddenGLI(); 606 } 607 else if(node_name.equals("ModeGLI")) { 608 String mode_level_str = XMLTools.getValue(node); 609 try { 610 int mode_level = Integer.parseInt(mode_level_str); 611 setModeLevel(mode_level); 612 } 613 catch(Exception exception) { 614 DebugStream.println("Exception in Argument.parseXML() - Unexpected but non-fatal"); 615 DebugStream.printStackTrace(exception); 616 } 617 } 618 619 } // for each option 620 621 } // parseXML 533 622 }
Note:
See TracChangeset
for help on using the changeset viewer.