@Override public Node writeDescriptor(Node parent, String nodeName, EjbInitInfo initMethod) { Node initNode = appendChild(parent, nodeName); MethodNode methodNode = new MethodNode(); methodNode.writeJavaMethodDescriptor (initNode, EjbTagNames.INIT_CREATE_METHOD, initMethod.getCreateMethod()); methodNode.writeJavaMethodDescriptor (initNode, EjbTagNames.INIT_BEAN_METHOD, initMethod.getBeanMethod()); return initNode; } }
/** * write the method descriptor class to a query-method DOM tree and return it * * @param parent node in the DOM tree * @param node name for the root element of this xml fragment * @param the descriptor to write * @return the DOM tree top node */ public Node writeQueryMethodDescriptor(Node parent, String nodeName, MethodDescriptor descriptor) { Node methodNode = super.writeDescriptor(parent, nodeName, descriptor); appendTextChild(methodNode, EjbTagNames.METHOD_NAME, descriptor.getName()); Node paramsNode = appendChild(methodNode, EjbTagNames.METHOD_PARAMS); writeMethodParams(paramsNode, descriptor); return methodNode; }
@Override public Node writeDescriptor(Node parent, String nodeName, CheckpointAtEndOfMethodDescriptor checkpointMethodDescriptor) { Node checkpointMethodNode = super.writeDescriptor(parent, nodeName, checkpointMethodDescriptor); ArrayList methodDescs = checkpointMethodDescriptor.getConvertedMethodDescs(); if (!methodDescs.isEmpty()) { MethodNode methodNode = new MethodNode(); for (Iterator<MethodDescriptor> it = methodDescs.iterator(); it.hasNext();) { // do not write out ejb-name element for the method methodNode.writeDescriptor(checkpointMethodNode, RuntimeTagNames.METHOD, it.next(), null); } } return checkpointMethodNode; } }
public Node writeDescriptor(Node parent, String nodeName, MethodDescriptor descriptor, String ejbName) { Node methodNode = super.writeDescriptor(parent, nodeName, descriptor); writeLocalizedDescriptions(methodNode, descriptor); if (ejbName != null && ejbName.length() > 0) { appendTextChild(methodNode, TagNames.EJB_NAME, ejbName); } String methodIntfSymbol = descriptor.getEjbClassSymbol(); if( (methodIntfSymbol != null) && !methodIntfSymbol.equals(MethodDescriptor.EJB_BEAN) ) { appendTextChild(methodNode, TagNames.METHOD_INTF, methodIntfSymbol); } appendTextChild(methodNode, TagNames.METHOD_NAME, descriptor.getName()); if (descriptor.getParameterClassNames()!=null) { Node paramsNode = appendChild(methodNode, TagNames.METHOD_PARAMS); writeMethodParams(paramsNode, descriptor); } return methodNode; }
MethodNode methodNode = new MethodNode(); methodNode.writeJavaMethodDescriptor (ejbNode, EjbTagNames.TIMEOUT_METHOD, ejbDesc.getEjbTimeoutMethod()); methodNode.writeDescriptor(ejbNode, EjbTagNames.ASYNC_METHOD, nextDesc, ejbDesc.getName()); methodNode.writeJavaMethodDescriptor(ejbNode, EjbTagNames.AFTER_BEGIN_METHOD, afterBeginMethod); methodNode.writeJavaMethodDescriptor(ejbNode, EjbTagNames.BEFORE_COMPLETION_METHOD, beforeCompletionMethod); methodNode.writeJavaMethodDescriptor(ejbNode, EjbTagNames.AFTER_COMPLETION_METHOD, afterCompletionMethod);
@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 method descriptor class to a java-method DOM tree and return it * * @param parent node in the DOM tree * @param node name for the root element of this xml fragment * @param the descriptor to write * @return the DOM tree top node */ public Node writeJavaMethodDescriptor(Node parent, String nodeName, MethodDescriptor descriptor) { // Write out the java method description. In the case of a void // method, a <method-params> element will *not* be written out. return writeJavaMethodDescriptor(parent, nodeName, descriptor, false); }
@Override public boolean endElement(XMLElement element) { String qname = element.getQName(); if (TagNames.METHOD_PARAMS.equals(qname)) { MethodDescriptor desc = getDescriptor(); // this means we have an empty method-params element // which means this method has no input parameter if (desc.getParameterClassNames() == null) { desc.setEmptyParameterClassNames(); } } return super.endElement(element); }
/** * writes the method parameters to the DOM Tree * * @param the parent node for the parameters * @param the method descriptor */ private void writeMethodParams(Node paramsNode, MethodDescriptor descriptor) { String[] params = descriptor.getParameterClassNames(); if (params==null) return; for (int i=0; i<params.length;i++) { appendTextChild(paramsNode, RuntimeTagNames.METHOD_PARAM, params[i]); } } }
/** * write the method descriptor class to a query-method DOM tree and return it * * @param parent node in the DOM tree * @param node name for the root element of this xml fragment * @param the descriptor to write * @return the DOM tree top node */ public Node writeDescriptor(Node parent, String nodeName, MethodDescriptor descriptor, String ejbName) { Node methodNode = super.writeDescriptor(parent, nodeName, descriptor); writeLocalizedDescriptions(methodNode, descriptor); if (ejbName != null && ejbName.length() > 0) { appendTextChild(methodNode, EjbTagNames.EJB_NAME, ejbName); } String methodIntfSymbol = descriptor.getEjbClassSymbol(); if( (methodIntfSymbol != null) && !methodIntfSymbol.equals(MethodDescriptor.EJB_BEAN) ) { appendTextChild(methodNode, EjbTagNames.METHOD_INTF, methodIntfSymbol); } appendTextChild(methodNode, EjbTagNames.METHOD_NAME, descriptor.getName()); if (descriptor.getParameterClassNames()!=null) { Node paramsNode = appendChild(methodNode, EjbTagNames.METHOD_PARAMS); writeMethodParams(paramsNode, descriptor); } return methodNode; }
MethodNode methodNode = new MethodNode(); methodNode.writeJavaMethodDescriptor (ejbNode, EjbTagNames.TIMEOUT_METHOD, ejbDesc.getEjbTimeoutMethod()); methodNode.writeDescriptor(ejbNode, EjbTagNames.ASYNC_METHOD, nextDesc, ejbDesc.getName()); methodNode.writeJavaMethodDescriptor(ejbNode, EjbTagNames.AFTER_BEGIN_METHOD, afterBeginMethod); methodNode.writeJavaMethodDescriptor(ejbNode, EjbTagNames.BEFORE_COMPLETION_METHOD, beforeCompletionMethod); methodNode.writeJavaMethodDescriptor(ejbNode, EjbTagNames.AFTER_COMPLETION_METHOD, afterCompletionMethod);
/** * 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; } }
/** * write the method descriptor class to a java-method DOM tree and return it * * @param parent node in the DOM tree * @param node name for the root element of this xml fragment * @param the descriptor to write * @return the DOM tree top node */ public Node writeJavaMethodDescriptor(Node parent, String nodeName, MethodDescriptor descriptor) { // Write out the java method description. In the case of a void // method, a <method-params> element will *not* be written out. return writeJavaMethodDescriptor(parent, nodeName, descriptor, false); }
/** * receives notification of the end of an XML element by the Parser * * @param element the xml tag identification * @return true if this node is done processing the XML sub tree */ public boolean endElement(XMLElement element) { String qname = element.getQName(); if (EjbTagNames.METHOD_PARAMS.equals(qname)) { MethodDescriptor desc = (MethodDescriptor) getDescriptor(); // this means we have an empty method-params element // which means this method has no input parameter if (desc.getParameterClassNames() == null) { desc.setEmptyParameterClassNames(); } } return super.endElement(element); }
/** * writes the method parameters to the DOM Tree * * @param the parent node for the parameters * @param the method descriptor */ private void writeMethodParams(Node paramsNode, MethodDescriptor descriptor) { String[] params = descriptor.getParameterClassNames(); if (params==null) return; for (int i=0; i<params.length;i++) { appendTextChild(paramsNode, RuntimeTagNames.METHOD_PARAM, params[i]); } } }
/** * write the relationships descriptor class to a DOM tree and return it * * @param parent node in the DOM tree * @param node name for the root element of this xml fragment * @param the descriptor to write * @return the DOM tree top node */ public Node writeDescriptor(Node parent, String nodeName, EjbInitInfo initMethod) { Node initNode = appendChild(parent, nodeName); MethodNode methodNode = new MethodNode(); methodNode.writeJavaMethodDescriptor (initNode, EjbTagNames.INIT_CREATE_METHOD, initMethod.getCreateMethod()); methodNode.writeJavaMethodDescriptor (initNode, EjbTagNames.INIT_BEAN_METHOD, initMethod.getBeanMethod()); return initNode; } }
@Override public Node writeDescriptor(Node parent, String nodeName, FlushAtEndOfMethodDescriptor flushMethodDescriptor) { Node flushMethodNode = super.writeDescriptor(parent, nodeName, flushMethodDescriptor); ArrayList methodDescs = flushMethodDescriptor.getConvertedMethodDescs(); if (!methodDescs.isEmpty()) { MethodNode methodNode = new MethodNode(); for (Iterator methodIterator = methodDescs.iterator(); methodIterator.hasNext();) { MethodDescriptor methodDesc = (MethodDescriptor) methodIterator.next(); // do not write out ejb-name element for the method methodNode.writeDescriptor(flushMethodNode, RuntimeTagNames.METHOD, methodDesc, null); } } return flushMethodNode; } }
/** * write the method descriptor class to a query-method DOM tree and return it * * @param parent node in the DOM tree * @param node name for the root element of this xml fragment * @param the descriptor to write * @return the DOM tree top node */ public Node writeQueryMethodDescriptor(Node parent, String nodeName, MethodDescriptor descriptor) { Node methodNode = super.writeDescriptor(parent, nodeName, descriptor); appendTextChild(methodNode, TagNames.METHOD_NAME, descriptor.getName()); Node paramsNode = appendChild(methodNode, TagNames.METHOD_PARAMS); writeMethodParams(paramsNode, descriptor); return methodNode; }
@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; } }
@Override public Node writeDescriptor(Node parent, String nodeName, EjbRemovalInfo descriptor) { Node removeNode = appendChild(parent, nodeName); MethodNode methodNode = new MethodNode(); methodNode.writeJavaMethodDescriptor(removeNode, EjbTagNames.REMOVE_BEAN_METHOD, descriptor.getRemoveMethod()); appendTextChild(removeNode, EjbTagNames.REMOVE_RETAIN_IF_EXCEPTION, Boolean.toString(descriptor.getRetainIfException())); return removeNode; } }