List of usage examples for org.eclipse.jdt.core.dom QualifiedName setName
public void setName(SimpleName name)
From source file:es.bsc.servicess.ide.editors.ImplementationFormPage.java
License:Apache License
/** * Modify parameter element//from ww w.j a v a 2s .com * @param serviceClass Orchestration class name * @param methodName Element method name * @param p Parameter * @throws PartInitException * @throws JavaModelException * @throws MalformedTreeException * @throws BadLocationException * @throws SAXException * @throws IOException * @throws ParserConfigurationException */ private void modifyDirection(String serviceClass, String methodName, CoreElementParameter p) throws PartInitException, JavaModelException, MalformedTreeException, BadLocationException, SAXException, IOException, ParserConfigurationException { log.debug("Modifying direction for core element" + serviceClass + "." + methodName + " parameter " + p.getName() + "(" + p.getDirection() + ")"); ICompilationUnit cu = getCEInterface(serviceClass, ((ServiceFormEditor) getEditor()).getProject(), ((ServiceFormEditor) getEditor()).getProjectMetadata()); if (cu != null) { Document document = new Document(cu.getSource()); log.debug(document.get()); String localtypeName = serviceClass.subSequence(serviceClass.lastIndexOf(".") + 1, serviceClass.length()) + "Itf"; ASTParser parser = ASTParser.newParser(AST.JLS3); // handles JDK // 1.0, 1.1, // 1.2, 1.3, // 1.4, 1.5, 1.6 parser.setSource(cu); CompilationUnit result = (CompilationUnit) parser.createAST(null); if (result != null) { result.recordModifications(); log.debug(result.toString()); AST ast = result.getAST(); java.util.List<AbstractTypeDeclaration> types = result.types(); log.debug("pack: " + result.getPackage().toString() + " types: " + result.types().size()); if (result.types().size() > 0) { boolean find = false; for (AbstractTypeDeclaration type : types) { log.debug("Type: " + type.getName().getIdentifier() + "(" + type.getName().getFullyQualifiedName() + ")"); if (type.getName().getIdentifier().equals(localtypeName)) { MethodDeclaration[] methods = ((TypeDeclaration) type).getMethods(); for (MethodDeclaration m : methods) { log.debug("method FQDN: " + m.getName().getFullyQualifiedName() + " identifier: " + m.getName().getIdentifier()); if (m.getName().getIdentifier().equals(methodName)) { java.util.List<SingleVariableDeclaration> pars = m.parameters(); for (SingleVariableDeclaration var : pars) { log.debug("var FQDN: " + var.getName().getFullyQualifiedName() + " identifier: " + var.getName().getIdentifier()); if (var.getName().getIdentifier().equals(p.getName())) { java.util.List<IExtendedModifier> mods = var.modifiers(); for (IExtendedModifier mod : mods) { log.debug("modifier: " + mod.getClass().toString()); if (mod.isAnnotation()) { if (((Annotation) mod).isNormalAnnotation()) { log.debug("annotation: " + ((NormalAnnotation) mod) .getTypeName().toString()); if (((NormalAnnotation) mod).getTypeName().toString() .equals("Parameter")) { java.util.List<MemberValuePair> vals = ((NormalAnnotation) mod) .values(); MemberValuePair dir_value = null; for (MemberValuePair v : vals) { log.debug("member: " + v.getName().getIdentifier()); if (v.getName().getIdentifier() .equals("direction")) { dir_value = v; break; } } if (dir_value == null) { dir_value = ast.newMemberValuePair(); dir_value.setName(ast.newSimpleName("direction")); QualifiedName qn = ast.newQualifiedName( ast.newSimpleName("Direction"), ast.newSimpleName(p.getDirection())); dir_value.setValue(qn); log.debug("Adding property to annotation: " + dir_value.toString()); vals.add(dir_value); } else { QualifiedName ex = (QualifiedName) dir_value .getValue(); log.debug("ValueClass: " + ex.getClass()); ex.setName(ast.newSimpleName(p.getDirection())); log.debug("Changing direction: " + dir_value.toString()); } find = true; break; } } } } if (find) break; } } if (find) break; } } if (find) break; } } if (find) { TextEdit edits = result.rewrite(document, cu.getJavaProject().getOptions(true)); edits.apply(document); String newSource = document.get(); cu.getBuffer().setContents(newSource); cu.save(null, true); log.debug("writting modifications " + newSource); } else { log.warn("Varaible and annotation not found"); } } else { log.warn("No types found in the Compilation unit from AST"); } } else { log.error("Error parsing Compilation unit with AST"); } } else { log.error("Error getting Interface Compilation Unit"); } }
From source file:org.eclipse.jdt.core.dom.ASTConverter.java
License:Open Source License
protected QualifiedName setQualifiedNameNameAndSourceRanges(char[][] typeName, long[] positions, org.eclipse.jdt.internal.compiler.ast.ASTNode node) { int length = typeName.length; final SimpleName firstToken = new SimpleName(this.ast); firstToken.internalSetIdentifier(new String(typeName[0])); firstToken.index = 1;/*w ww . j a v a2 s . c om*/ int start0 = (int) (positions[0] >>> 32); int start = start0; int end = (int) (positions[0] & 0xFFFFFFFF); firstToken.setSourceRange(start, end - start + 1); final SimpleName secondToken = new SimpleName(this.ast); secondToken.internalSetIdentifier(new String(typeName[1])); secondToken.index = 2; start = (int) (positions[1] >>> 32); end = (int) (positions[1] & 0xFFFFFFFF); secondToken.setSourceRange(start, end - start + 1); QualifiedName qualifiedName = new QualifiedName(this.ast); qualifiedName.setQualifier(firstToken); qualifiedName.setName(secondToken); if (this.resolveBindings) { recordNodes(qualifiedName, node); recordPendingNameScopeResolution(qualifiedName); recordNodes(firstToken, node); recordNodes(secondToken, node); recordPendingNameScopeResolution(firstToken); recordPendingNameScopeResolution(secondToken); } qualifiedName.index = 2; qualifiedName.setSourceRange(start0, end - start0 + 1); SimpleName newPart = null; for (int i = 2; i < length; i++) { newPart = new SimpleName(this.ast); newPart.internalSetIdentifier(new String(typeName[i])); newPart.index = i + 1; start = (int) (positions[i] >>> 32); end = (int) (positions[i] & 0xFFFFFFFF); newPart.setSourceRange(start, end - start + 1); QualifiedName qualifiedName2 = new QualifiedName(this.ast); qualifiedName2.setQualifier(qualifiedName); qualifiedName2.setName(newPart); qualifiedName = qualifiedName2; qualifiedName.index = newPart.index; qualifiedName.setSourceRange(start0, end - start0 + 1); if (this.resolveBindings) { recordNodes(qualifiedName, node); recordNodes(newPart, node); recordPendingNameScopeResolution(qualifiedName); recordPendingNameScopeResolution(newPart); } } QualifiedName name = qualifiedName; if (this.resolveBindings) { recordNodes(name, node); recordPendingNameScopeResolution(name); } return name; }
From source file:org.eclipse.jdt.core.dom.ASTConverter.java
License:Open Source License
protected QualifiedName setQualifiedNameNameAndSourceRanges(char[][] typeName, long[] positions, int endingIndex, org.eclipse.jdt.internal.compiler.ast.ASTNode node) { int length = endingIndex + 1; final SimpleName firstToken = new SimpleName(this.ast); firstToken.internalSetIdentifier(new String(typeName[0])); firstToken.index = 1;// w ww.j av a2 s.com int start0 = (int) (positions[0] >>> 32); int start = start0; int end = (int) positions[0]; firstToken.setSourceRange(start, end - start + 1); final SimpleName secondToken = new SimpleName(this.ast); secondToken.internalSetIdentifier(new String(typeName[1])); secondToken.index = 2; start = (int) (positions[1] >>> 32); end = (int) positions[1]; secondToken.setSourceRange(start, end - start + 1); QualifiedName qualifiedName = new QualifiedName(this.ast); qualifiedName.setQualifier(firstToken); qualifiedName.setName(secondToken); if (this.resolveBindings) { recordNodes(qualifiedName, node); recordPendingNameScopeResolution(qualifiedName); recordNodes(firstToken, node); recordNodes(secondToken, node); recordPendingNameScopeResolution(firstToken); recordPendingNameScopeResolution(secondToken); } qualifiedName.index = 2; qualifiedName.setSourceRange(start0, end - start0 + 1); SimpleName newPart = null; for (int i = 2; i < length; i++) { newPart = new SimpleName(this.ast); newPart.internalSetIdentifier(new String(typeName[i])); newPart.index = i + 1; start = (int) (positions[i] >>> 32); end = (int) positions[i]; newPart.setSourceRange(start, end - start + 1); QualifiedName qualifiedName2 = new QualifiedName(this.ast); qualifiedName2.setQualifier(qualifiedName); qualifiedName2.setName(newPart); qualifiedName = qualifiedName2; qualifiedName.index = newPart.index; qualifiedName.setSourceRange(start0, end - start0 + 1); if (this.resolveBindings) { recordNodes(qualifiedName, node); recordNodes(newPart, node); recordPendingNameScopeResolution(qualifiedName); recordPendingNameScopeResolution(newPart); } } if (newPart == null && this.resolveBindings) { recordNodes(qualifiedName, node); recordPendingNameScopeResolution(qualifiedName); } return qualifiedName; }
From source file:org.eclipse.wb.internal.core.utils.ast.AstEditor.java
License:Open Source License
/** * If we try to replace qualifier of {@link QualifiedName} with generic {@link Expression}, not * just {@link Name}, then {@link QualifiedName} itself should be replaced with * {@link FieldAccess}.// w w w .j av a 2 s. com */ private static boolean replaceNode_QualifiedName_to_FieldAccess(ASTNode originalNode, ASTNode replacementNode) throws Exception { ASTNode parent = originalNode.getParent(); if (parent instanceof QualifiedName && !(replacementNode instanceof Name)) { QualifiedName qualifiedName = (QualifiedName) parent; // prepare FieldAccess FieldAccess fieldAccess = originalNode.getAST().newFieldAccess(); AstNodeUtils.copySourceRange(fieldAccess, qualifiedName); fieldAccess.setExpression((Expression) replacementNode); // use same "name" node { SimpleName fieldName = qualifiedName.getName(); qualifiedName.setName(originalNode.getAST().newSimpleName("__wbp_tmp")); fieldAccess.setName(fieldName); } // replace QualifiedName with FieldAccess replaceNode(qualifiedName, fieldAccess); return true; } return false; }
From source file:refactorer.Refactorer.java
License:Apache License
protected void processName(Name name) { switch (name.getNodeType()) { case ASTNode.SIMPLE_NAME: break;//w w w. j a v a 2s . c o m case ASTNode.QUALIFIED_NAME: QualifiedName qualifiedName = (QualifiedName) name; ITypeBinding typeBinding = qualifiedName.getQualifier().resolveTypeBinding(); if (typeBinding != null) { AST ast = qualifiedName.getAST(); String typeName = typeBinding.getQualifiedName(); if ("javax.media.opengl.GL".equals(typeName)) { qualifiedName.setQualifier(ast.newSimpleName("GL2")); addImportIfRequired("javax.media.opengl.GL2"); String constantName = qualifiedName.getName().getFullyQualifiedName(); if (constantName.endsWith("_EXT") || constantName.endsWith("_ARB")) { //GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT no longer exists, replace with int literal if ("GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT".equals(constantName)) { if (name.getParent().getNodeType() == ASTNode.SWITCH_CASE) { SwitchCase switchCase = (SwitchCase) name.getParent(); switchCase.setExpression(ast.newNumberLiteral("0x8CD8")); } } else if (!"GL_TEXTURE_MAX_ANISOTROPY_EXT".equals(constantName) && !"GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT".equals(constantName) && !"GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT".equals(constantName) && !"GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT".equals(constantName)) { qualifiedName.setName( ast.newSimpleName(constantName.substring(0, constantName.length() - 4))); } } } else if ("com.sun.opengl.util.BufferUtil".equals(typeName)) { qualifiedName.setQualifier(ast.newSimpleName("Buffers")); } } break; } }