Example usage for org.eclipse.jdt.core.dom QualifiedName setName

List of usage examples for org.eclipse.jdt.core.dom QualifiedName setName

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.dom QualifiedName setName.

Prototype

public void setName(SimpleName name) 

Source Link

Document

Sets the name part of this qualified name to the given simple name.

Usage

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;
    }
}