Object value = descriptor.getElement(elementName); if (value instanceof ExtensionElementDescriptor) { writeDescriptor(node, elementName, (ExtensionElementDescriptor) value); } else if (value instanceof String) {
/** * write the deployment extensions nodes associated with this node * * @param parent node for the DOM tree * @param iterator of deployment extension descriptor */ protected void writeDescriptor(Node parentNode, Iterator itr) { ExtensionElementNode subNode = new ExtensionElementNode(); do { DeploymentExtensionDescriptor descriptor = (DeploymentExtensionDescriptor) itr.next(); Element extensionNode = appendChild(parentNode, TagNames.DEPLOYMENT_EXTENSION); setAttribute(extensionNode, TagNames.NAMESPACE, descriptor.getNameSpace()); if (descriptor.getMustUnderstand()) { setAttribute(extensionNode, TagNames.MUST_UNDERSTAND, "true"); } for (Iterator elements = descriptor.elements();elements.hasNext();) { ExtensionElementDescriptor element = (ExtensionElementDescriptor) elements.next(); subNode.writeDescriptor(extensionNode, TagNames.EXTENSION_ELEMENT, element ); } } while(itr.hasNext()); } }