1 23 24 29 30 package com.sun.enterprise.tools.upgrade.transform.elements; 31 32 36 import org.w3c.dom.Document ; 37 import org.w3c.dom.Element ; 38 import org.w3c.dom.NodeList ; 39 import org.w3c.dom.Node ; 40 import com.sun.enterprise.tools.upgrade.transform.ElementToObjectMapper; 41 42 public class Description extends BaseElement { 43 44 45 public Description() { 46 } 47 52 public void transform(Element element, Element parentSource, Element parentResult){ 53 NodeList resultDescs = parentResult.getElementsByTagName("description"); 55 Element resultDesc = null; 56 if(resultDescs.getLength() == 0){ 57 resultDesc = parentResult.getOwnerDocument().createElement("description"); 58 Node textNode = parentResult.getOwnerDocument().createTextNode(this.getTextNodeData(element)); 59 resultDesc.appendChild(textNode); 60 parentResult.appendChild(resultDesc); 61 }else { 62 resultDesc = (Element )resultDescs.item(0); 63 if((this.getTextNodeData(element)).equals(this.getTextNodeData((Element )resultDesc))){ 64 }else if(this.getTextNode(resultDesc) == null){ 66 Node textNode = parentResult.getOwnerDocument().createTextNode(this.getTextNodeData(element)); 67 resultDesc.appendChild(textNode); 68 }else{ 69 this.setTextNodeData(resultDesc, this.getTextNodeData(element)); 70 } 71 } 72 } 73 private String getTextNodeData(Element element){ 74 NodeList children = element.getChildNodes(); 75 for(int index=0; index < children.getLength(); index++){ 76 if(children.item(index).getNodeType() == Node.TEXT_NODE){ 77 return children.item(index).getNodeValue(); 78 } 79 } 80 return ""; 81 } 82 private Node getTextNode(Element element){ 83 NodeList children = element.getChildNodes(); 84 for(int index=0; index < children.getLength(); index++){ 85 if(children.item(index).getNodeType() == Node.TEXT_NODE){ 86 return children.item(index); 87 } 88 } 89 return null; 90 } 91 private void setTextNodeData(Element element, String textNodeData){ 92 NodeList children = element.getChildNodes(); 93 for(int index=0; index < children.getLength(); index++){ 94 if(children.item(index).getNodeType() == Node.TEXT_NODE){ 95 children.item(index).setNodeValue(textNodeData); 96 return; 97 } 98 } 99 } 100 101 } 102 | Popular Tags |