Changeset 30831
- Timestamp:
- 2016-09-22T11:56:41+12:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/util/GSXML.java
r30666 r30831 571 571 * metadataList of 'to' 572 572 */ 573 public static boolean mergeMetadataLists(Node to, Node from) 574 { 575 Node from_meta = getChildByTagName(from, METADATA_ELEM + LIST_MODIFIER); 576 if (from_meta == null) 577 { // nothing to copy 578 return true; 579 } 580 return mergeMetadataFromList(to, from_meta); 581 } 582 583 /** 584 * copies the metadata out of the meta_list metadataList into the 585 * metadataList of 'to' 586 */ 587 public static boolean mergeMetadataFromList(Node to, Node meta_list) 588 { 589 if (meta_list == null) 590 return false; 591 Node to_meta = getChildByTagName(to, METADATA_ELEM + LIST_MODIFIER); 592 Document to_owner = to.getOwnerDocument(); 593 if (to_meta == null) 594 { 595 to.appendChild(to_owner.importNode(meta_list, true)); 596 return true; 597 } 598 // copy individual metadata elements 599 NodeList meta_items = ((Element) meta_list).getElementsByTagName(METADATA_ELEM); 600 for (int i = 0; i < meta_items.getLength(); i++) 601 { 602 to_meta.appendChild(to_owner.importNode(meta_items.item(i), true)); 603 } 604 return true; 605 } 606 607 /** copies all the children from from to to */ 608 public static boolean mergeElements(Element to, Element from) 573 public static boolean mergeMetadataLists(Node to, Node from) { 574 return mergeSpecifiedLists(to, from, METADATA_ELEM); 575 } 576 577 /** copies metadata from meta_list into the metadataList of to **/ 578 public static boolean mergeMetadataFromList(Node to, Node meta_list) { 579 return mergeSpecifiedFromList(to, meta_list, METADATA_ELEM); 580 } 581 582 583 public static boolean mergeSpecifiedLists(Node to, Node from, String element_name) { 584 // find the list in the from element 585 Node from_list = getChildByTagName(from, element_name+LIST_MODIFIER); 586 if (from_list == null) { 587 // nothing to copy 588 return false; 589 } 590 591 return mergeSpecifiedFromList(to, from_list, element_name); 592 } 593 public static boolean mergeSpecifiedFromList(Node to, Node from_list, String element_name) { 594 if (from_list == null) { 595 return false; 596 } 597 Document to_owner = to.getOwnerDocument(); 598 Node to_list = getChildByTagName(to, element_name+LIST_MODIFIER); 599 if (to_list == null) { 600 // just copy over the whole list 601 to.appendChild(to_owner.importNode(from_list, true)); 602 return true; 603 } 604 // otherwise we copy all the elements 605 NodeList from_items = ((Element) from_list).getElementsByTagName(element_name); 606 607 for (int i = 0; i < from_items.getLength(); i++) 608 { 609 to_list.appendChild(to_owner.importNode(from_items.item(i), true)); 610 } 611 return true; 612 613 } 614 615 /** copies all the children from from to to */ 616 public static boolean mergeElements(Element to, Element from) 609 617 { 610 618
Note:
See TracChangeset
for help on using the changeset viewer.