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 Property extends BaseElement { 43 44 45 public Property() { 46 } 47 52 public void transform(Element element, Element parentSource, Element parentResult){ 53 if(!canTransferAttributes(element, parentSource, parentResult)) 55 return; 56 NodeList resultProperties = parentResult.getElementsByTagName("property"); 57 Element resultProperty = null; 58 if(resultProperties != null){ 59 for(int index=0; index < resultProperties.getLength(); index++){ 60 if(element.getAttribute("name").equals(((Element )resultProperties.item(index)).getAttribute("name"))){ 61 resultProperty = (Element )resultProperties.item(index); 62 resultProperty.getAttributeNode("value").setValue(element.getAttributeNode("value").getValue()); 63 this.handleSpecialCases(element, resultProperty, parentSource, parentResult); 64 break; 65 } 66 } 67 } 68 if(resultProperty == null){ 69 resultProperty = parentResult.getOwnerDocument().createElement("property"); 70 this.transferAttributes(element, resultProperty, null); 71 this.handleSpecialCases(element, resultProperty, parentSource, parentResult); 72 parentResult.appendChild(resultProperty); 73 } 74 super.transform(element, parentSource, resultProperty); 75 } 76 77 private boolean canTransferAttributes(Element element, Element parentSource, Element parentResult){ 79 86 return true; 87 } 88 private void handleSpecialCases(Element source, Element target, Element parentSource, Element targetParent){ 89 if(parentSource.getTagName().equals("jms-resource") && targetParent.getTagName().equals("admin-object-resource")){ 90 if(source.getAttribute("name").equals("imqDestinationName")){ 91 target.setAttribute("name", "Name"); 92 } 93 } 94 if(parentSource.getTagName().equals("virtual-server")){ 95 if(source.getAttribute("name").equals("docroot")){ 96 target.setAttribute("value", "${com.sun.aas.instanceRoot}/docroot"); 97 } 98 if(source.getAttribute("name").equals("accesslog")){ 99 target.setAttribute("value", "${com.sun.aas.instanceRoot}/logs/access"); 100 } 101 } 102 } 103 104 } 105 | Popular Tags |