List of usage examples for org.eclipse.jdt.core.jdom IDOMNode getNextNode
public IDOMNode getNextNode();
From source file:com.iw.plugins.spindle.wizards.project.ApplicationWizardPage.java
License:Mozilla Public License
protected void populateMethodSource(IType servletType, IProgressMonitor monitor) throws JavaModelException { String methodName = MessageUtil.getString("Tapestry.servlet.getAppMethodName"); ICompilationUnit parentCU = servletType.getCompilationUnit(); String gensource = parentCU.getSource(); DOMFactory domFactory = new DOMFactory(); IDOMCompilationUnit unit = domFactory.createCompilationUnit(gensource, servletType.getElementName()); IDOMNode current = unit.getFirstChild(); while (current.getNodeType() != IDOMNode.TYPE) { current = current.getNextNode(); }/*from w ww . j a v a 2 s .c o m*/ IDOMNode theType = current; IDOMMethod method = findMethod(theType, methodName); if (method == null) { method = domFactory.createMethod("protected String getApplicationSpecificationPath() {}"); theType.addChild(method); } method.setBody(getAppMethodBody()); String newContents = Utils.formatJavaCode(unit.getContents(), 0, StubUtility.getLineDelimiterUsed(parentCU)); parentCU.getBuffer().setContents(newContents); parentCU.save(monitor, true); }
From source file:com.iw.plugins.spindle.wizards.project.ApplicationWizardPage.java
License:Mozilla Public License
private IDOMMethod findMethod(IDOMNode type, String desiredMethod) { IDOMNode current = type.getFirstChild(); if (current != null) { while (true) { if (current.getNodeType() == IDOMNode.METHOD && desiredMethod.equals(current.getName())) { return (IDOMMethod) current; }/* w w w . j a v a2s .c om*/ current = current.getNextNode(); } } return null; }
From source file:org.eclipse.emf.codegen.jmerge.JMerger.java
License:Open Source License
protected void sortTargetCompilationUnit() { for (Iterator values = orderedSourceChildrenMap.values().iterator(); values.hasNext();) { List children = (List) values.next(); if (children.size() > 2) { Iterator i = children.iterator(); IDOMNode sourceNode = (IDOMNode) i.next(); IDOMNode previousTargetNode = (IDOMNode) sourceToTargetMap.get(sourceNode); do {/*from w w w . ja va 2s .com*/ sourceNode = (IDOMNode) i.next(); IDOMNode nextTargetNode = (IDOMNode) sourceToTargetMap.get(sourceNode); boolean reorder = true; for (IDOMNode domNode = nextTargetNode.getPreviousNode(); domNode != null; domNode = domNode .getPreviousNode()) { if (domNode == previousTargetNode) { reorder = false; break; } } if (reorder) { nextTargetNode.remove(); if (previousTargetNode.getNextNode() == null) { previousTargetNode.getParent().addChild(nextTargetNode); } else { previousTargetNode.getNextNode().insertSibling(nextTargetNode); } } previousTargetNode = nextTargetNode; } while (i.hasNext()); } } }
From source file:org.eclipse.emf.codegen.jmerge.JMerger.java
License:Open Source License
protected IDOMNode insertClone(IDOMNode sourceNode) { IDOMNode targetNode = null;/* w ww . jav a2s. c o m*/ switch (sourceNode.getNodeType()) { case IDOMNode.COMPILATION_UNIT: { targetNode = jdomFactory.createCompilationUnit(applyFormatRules(sourceNode.getContents()), ((IDOMCompilationUnit) sourceNode).getName()); break; } case IDOMNode.PACKAGE: { targetNode = jdomFactory.createPackage(applyFormatRules(sourceNode.getContents())); break; } case IDOMNode.IMPORT: { targetNode = jdomFactory.createImport(applyFormatRules(sourceNode.getContents())); break; } case IDOMNode.TYPE: { targetNode = jdomFactory.createType(applyFormatRules(sourceNode.getContents())); break; } case IDOMNode.INITIALIZER: { targetNode = jdomFactory.createInitializer(applyFormatRules(sourceNode.getContents())); break; } case IDOMNode.FIELD: { targetNode = jdomFactory.createField(applyFormatRules(sourceNode.getContents())); break; } case IDOMNode.METHOD: { targetNode = jdomFactory.createMethod(applyFormatRules(sourceNode.getContents())); break; } default: { targetNode = (IDOMNode) sourceNode.clone(); break; } } if (targetNode != null) { map(sourceNode, targetNode); mapChildren(sourceNode, targetNode); } else { // System.err.println("Warning: Cannot clone '" + sourceNode.getContents() + "'"); } for (IDOMNode previousNode = sourceNode.getPreviousNode(); previousNode != null; previousNode = previousNode .getPreviousNode()) { IDOMNode targetSibling = (IDOMNode) sourceToTargetMap.get(previousNode); if (targetSibling != null) { IDOMNode targetNextSibling = targetSibling.getNextNode(); if (targetNextSibling == null) { targetSibling.getParent().addChild(targetNode); } else { targetNextSibling.insertSibling(targetNode); } return targetNode; } } if (sourceNode.getParent() != null) { IDOMNode targetParent = (IDOMNode) sourceToTargetMap.get(sourceNode.getParent()); IDOMNode targetSibling = targetParent.getFirstChild(); if (targetSibling == null) { targetParent.addChild(targetNode); } else { targetSibling.insertSibling(targetNode); } } return targetNode; }
From source file:org.eclipse.emf.codegen.jmerge.JPatternDictionary.java
License:Open Source License
public String getQualifiedName(IDOMNode jdomNode) { switch (jdomNode.getNodeType()) { case IDOMNode.COMPILATION_UNIT: { return jdomNode.getName(); }/*from w w w.j a va 2s .c o m*/ case IDOMNode.PACKAGE: { return jdomNode.getName(); } case IDOMNode.IMPORT: { return jdomNode.getName(); } case IDOMNode.TYPE: { return jPackage != null ? jPackage.getName() + "." + jdomNode.getName() : jdomNode.getName(); } case IDOMNode.FIELD: { return getQualifiedName(jdomNode.getParent()) + "." + jdomNode.getName(); } case IDOMNode.INITIALIZER: { String name = getQualifiedName(jdomNode.getParent()); int index = 0; for (jdomNode = jdomNode.getNextNode(); jdomNode != null; jdomNode = jdomNode.getNextNode()) { if (jdomNode.getNodeType() == IDOMNode.INITIALIZER) { ++index; } } return name + "." + index; } case IDOMNode.METHOD: { IDOMMethod jdomMethod = (IDOMMethod) jdomNode; StringBuffer result = new StringBuffer(getQualifiedName(jdomNode.getParent())); result.append("."); if (jdomMethod.isConstructor()) { result.append(jdomMethod.getParent().getName()); } else { result.append(jdomMethod.getName()); } result.append("("); //) String[] parameters = jdomMethod.getParameterTypes(); if (parameters != null) { for (int i = 0; i < parameters.length; ++i) { if (i != 0) { result.append(", "); } result.append(parameters[i]); } } // ( result.append(")"); return result.toString(); } default: { return ""; } } }
From source file:org.eclipse.emf.codegen.merge.java.facade.jdom.JDOMFacadeHelper.java
License:Open Source License
@Override public boolean insertSibling(JNode node, JNode sibiling, boolean before) { if (sibiling != null) { IDOMNode idomNode = getIDOMNode(node); if (!before) { idomNode = idomNode.getNextNode(); }// w w w . j av a 2 s . c om IDOMNode idomSibiling = getIDOMNode(sibiling); idomNode.insertSibling(idomSibiling); return true; } else { return false; } }
From source file:org.eclipse.emf.codegen.merge.java.facade.jdom.JDOMFacadeHelper.java
License:Open Source License
@Override public JNode getNext(JNode node) { IDOMNode idomNode = getIDOMNode(node); return convertToNode(idomNode.getNextNode()); }