Example usage for org.eclipse.jdt.core.jdom IDOMNode IMPORT

List of usage examples for org.eclipse.jdt.core.jdom IDOMNode IMPORT

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.jdom IDOMNode IMPORT.

Prototype

int IMPORT

To view the source code for org.eclipse.jdt.core.jdom IDOMNode IMPORT.

Click Source Link

Document

Node type constant indicating an import declaration.

Usage

From source file:org.eclipse.emf.codegen.jmerge.JMerger.java

License:Open Source License

protected void pullTargetCompilationUnit() {
    if (targetCompilationUnit == null) {
        setTargetCompilationUnit((IDOMCompilationUnit) insertClone(sourceCompilationUnit));
    } else {//from w w  w. j  a v  a2s . co m
        map(sourceCompilationUnit, targetCompilationUnit);
        applyPullRules(sourceCompilationUnit, targetCompilationUnit);

        /*
            // PULL Header 
            //
            String sourceHeader = sourceCompilationUnit.getHeader();
            if (sourceHeader != null)
            {
              targetCompilationUnit.setHeader(sourceHeader);
            }
                
        */
        for (IDOMNode child = targetCompilationUnit.getFirstChild(); child != null; child = child
                .getNextNode()) {
            switch (child.getNodeType()) {
            case IDOMNode.PACKAGE: {
                pullTargetPackage((IDOMPackage) child);
                break;
            }
            case IDOMNode.IMPORT: {
                pullTargetImport((IDOMImport) child);
                break;
            }
            case IDOMNode.TYPE: {
                IDOMType type = (IDOMType) child;
                isBlocked = jControlModel.getBlockPattern() != null && type.getComment() != null
                        && jControlModel.getBlockPattern().matcher(type.getComment()).find();
                if (!isBlocked) {
                    pullTargetType(type);
                }
                break;
            }
            }
        }
    }
}

From source file:org.eclipse.emf.codegen.jmerge.JMerger.java

License:Open Source License

protected void pushSourceCompilationUnit() {
    for (IDOMNode child = sourceCompilationUnit.getFirstChild(); child != null; child = child.getNextNode()) {
        switch (child.getNodeType()) {
        case IDOMNode.PACKAGE: {
            pushSourcePackage((IDOMPackage) child);
            break;
        }//from   w  w  w  .j av a  2  s  .  co m
        case IDOMNode.IMPORT: {
            pushSourceImport((IDOMImport) child);
            break;
        }
        case IDOMNode.TYPE: {
            pushSourceType((IDOMType) child);
            break;
        }
        }
    }
}

From source file:org.eclipse.emf.codegen.jmerge.JMerger.java

License:Open Source License

protected IDOMNode insertClone(IDOMNode sourceNode) {
    IDOMNode targetNode = null;//from  ww w . ja v a2 s  .c om
    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

protected void analyzeCompilationUnit(IDOMCompilationUnit compilationUnit) {
    this.compilationUnit = compilationUnit;

    if (options.getNoImportPattern() != null) {
        Matcher matcher = options.getNoImportPattern().matcher(compilationUnit.getContents());
        while (matcher.find()) {
            noImportSet.add(matcher.group(1));
        }/*from   www.ja  v a 2  s . co  m*/
    }

    match(compilationUnit);
    for (IDOMNode child = compilationUnit.getFirstChild(); child != null; child = child.getNextNode()) {
        switch (child.getNodeType()) {
        case IDOMNode.PACKAGE: {
            analyzePackage((IDOMPackage) child);
            break;
        }
        case IDOMNode.IMPORT: {
            analyzeImport((IDOMImport) child);
            break;
        }
        case IDOMNode.TYPE: {
            analyzeType((IDOMType) child);
            break;
        }
        }
    }
}

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 v a  2 s.com
    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 "";
    }
    }
}