@Override public Node writeDescriptor(Node parent, String nodeName, PrefetchDisabledDescriptor prefetchDisabledDescriptor) { Node prefetchDisabledNode = super.writeDescriptor(parent, nodeName, prefetchDisabledDescriptor); ArrayList methodDescs = prefetchDisabledDescriptor.getConvertedMethodDescs(); if (!methodDescs.isEmpty()) { MethodNode methodNode = new MethodNode(); for (Iterator methodIterator = methodDescs.iterator(); methodIterator.hasNext();) { MethodDescriptor methodDesc = (MethodDescriptor) methodIterator.next(); methodNode.writeQueryMethodDescriptor(prefetchDisabledNode, RuntimeTagNames.QUERY_METHOD, methodDesc); } } return prefetchDisabledNode; } }
/** * write the descriptor class to a DOM tree and return it * * @param parent node for the DOM tree * @param node name for the descriptor * @param the descriptor to write * @return the DOM tree top node */ public Node writeDescriptor(Node parent, String nodeName, PrefetchDisabledDescriptor prefetchDisabledDescriptor) { Node prefetchDisabledNode = super.writeDescriptor(parent, nodeName, prefetchDisabledDescriptor); ArrayList methodDescs = prefetchDisabledDescriptor.getConvertedMethodDescs(); if (!methodDescs.isEmpty()) { MethodNode methodNode = new MethodNode(); for (Iterator methodIterator = methodDescs.iterator(); methodIterator.hasNext();) { MethodDescriptor methodDesc = (MethodDescriptor) methodIterator.next(); methodNode.writeQueryMethodDescriptor(prefetchDisabledNode, RuntimeTagNames.QUERY_METHOD, methodDesc); } } return prefetchDisabledNode; } }
@Override public Node writeDescriptor(Node parent, String nodeName, QueryDescriptor descriptor) { Node queryNode = super.writeDescriptor(parent, nodeName, descriptor); writeLocalizedDescriptions(queryNode, descriptor); // query-method MethodNode methodNode = new MethodNode(); methodNode.writeQueryMethodDescriptor(queryNode, EjbTagNames.QUERY_METHOD, descriptor.getQueryMethodDescriptor()); if (descriptor.getHasRemoteReturnTypeMapping()) { appendTextChild(queryNode, EjbTagNames.QUERY_RESULT_TYPE_MAPPING, EjbTagNames.QUERY_REMOTE_TYPE_MAPPING); } else { if (descriptor.getHasLocalReturnTypeMapping()) { appendTextChild(queryNode, EjbTagNames.QUERY_RESULT_TYPE_MAPPING, EjbTagNames.QUERY_LOCAL_TYPE_MAPPING); } } // ejbql element is mandatory. If no EJB QL query has been // specified for the method, the xml element will be empty String ejbqlText = descriptor.getIsEjbQl() ? descriptor.getQuery() : ""; Node child = appendChild(queryNode, EjbTagNames.EJB_QL); child.appendChild(getOwnerDocument(child).createTextNode(ejbqlText)); return queryNode; } }
methodNode.writeQueryMethodDescriptor(queryNode, EjbTagNames.QUERY_METHOD, descriptor.getQueryMethodDescriptor());