Example usage for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT

List of usage examples for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT.

Prototype

int PACKAGE_FRAGMENT

To view the source code for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT.

Click Source Link

Document

Constant representing a package fragment.

Usage

From source file:edu.brown.cs.bubbles.bedrock.BedrockUtil.java

License:Open Source License

private static void outputJavaElementImpl(IJavaElement elt, Set<String> files, boolean children,
        IvyXmlWriter xw) {//from   w ww.  j  a  v a 2  s .c o m
    if (elt == null)
        return;

    String close = null;

    switch (elt.getElementType()) {
    case IJavaElement.CLASS_FILE:
        return;
    case IJavaElement.PACKAGE_FRAGMENT:
        IOpenable opn = (IOpenable) elt;
        if (!opn.isOpen()) {
            try {
                opn.open(null);
            } catch (JavaModelException e) {
                BedrockPlugin.logE("Package framgent " + elt.getElementName() + " not open");
                return;
            }
        }
        try {
            outputNameDetails((IPackageFragment) elt, xw);
        } catch (JavaModelException e) {
        }
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        IPackageFragmentRoot pfr = (IPackageFragmentRoot) elt;
        try {
            if (!pfr.isOpen() && pfr.getKind() == IPackageFragmentRoot.K_SOURCE) {
                pfr.open(null);
            }
        } catch (JavaModelException e) {
            return;
        }
        outputNameDetails(pfr, xw);
        break;
    case IJavaElement.JAVA_PROJECT:
        IJavaProject ijp = (IJavaProject) elt;
        outputNameDetails(ijp, xw);
        break;
    case IJavaElement.JAVA_MODEL:
    case IJavaElement.IMPORT_CONTAINER:
    case IJavaElement.IMPORT_DECLARATION:
    case IJavaElement.TYPE_PARAMETER:
    default:
        break;
    case IJavaElement.COMPILATION_UNIT:
        IProject ip = elt.getJavaProject().getProject();
        File f = getFileForPath(elt.getPath(), ip);
        if (files != null && !files.contains(f.getPath()) && !files.contains(f.getAbsolutePath())) {
            return;
        }
        xw.begin("FILE");
        xw.textElement("PATH", f.getAbsolutePath());
        String root = getRootForPath(elt.getPath(), ip);
        if (root != null)
            xw.textElement("PATHROOT", root);
        close = "FILE";
        break;
    case IJavaElement.TYPE:
        try {
            outputNameDetails((IType) elt, xw);
        } catch (JavaModelException e) {
        }
        break;
    case IJavaElement.FIELD:
        try {
            outputNameDetails((IField) elt, xw);
        } catch (JavaModelException e) {
        }
        break;
    case IJavaElement.METHOD:
        try {
            outputNameDetails((IMethod) elt, xw);
        } catch (JavaModelException e) {
        }
        break;
    case IJavaElement.INITIALIZER:
        outputNameDetails((IInitializer) elt, xw);
        break;
    case IJavaElement.PACKAGE_DECLARATION:
        outputNameDetails((IPackageDeclaration) elt, xw);
        break;
    case IJavaElement.LOCAL_VARIABLE:
        outputNameDetails((ILocalVariable) elt, xw);
        break;
    }

    if (children && elt instanceof IParent) {
        try {
            for (IJavaElement c : ((IParent) elt).getChildren()) {
                outputJavaElementImpl(c, files, children, xw);
            }
        } catch (JavaModelException e) {
        }
    }

    if (close != null)
        xw.end(close);
}

From source file:edu.buffalo.cse.green.action.OpenNewEditorAction.java

License:Open Source License

/**
 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
 *//*from  www.  j ava 2 s .c om*/
public void run(IAction action) {
    StructuredSelection ss = (StructuredSelection) _selection;
    IJavaElement element = (IJavaElement) ((StructuredSelection) _selection).getFirstElement();

    if (!(element instanceof IPackageFragment)) {
        element = element.getAncestor(IJavaElement.PACKAGE_FRAGMENT);
    }
    DiagramEditor editor = DiagramEditor.getActiveEditor();

    try {
        editor = DiagramEditor.createEditor(new StructuredSelection(element));
    } catch (JavaModelException e) {
        e.printStackTrace();
    }

    for (IJavaElement element1 : new IterableSelection<IJavaElement>(ss)) {
        // If current editor's project is not set, add to it.
        if (editor.getProject() != null) {
            if (!editor.getProject().getHandleIdentifier()
                    .equals(element1.getJavaProject().getHandleIdentifier())) {
                // if the editor we found can't hold the current element,
                // see if an editor exists that can hold the element
                editor = DiagramEditor.findProjectEditor(element1.getJavaProject());
                // if no such editor exists...
                if (editor == null) {
                    // create one
                    try {
                        editor = DiagramEditor.createEditor(new StructuredSelection(element1));
                    } catch (JavaModelException e) {
                        e.printStackTrace();
                    }
                }
            }
        }

        try {
            editor.execute(new AddJavaElementCommand(editor, element1));
        } catch (GreenException e) {
            MessageDialog.openError(editor.getSite().getShell(), "Error", e.getLocalizedMessage());
        }
    }

    editor.refresh();
}

From source file:edu.buffalo.cse.green.editor.DiagramEditor.java

License:Open Source License

/**
 * Opens a blank editor./*from  ww w  . ja  v a  2s. c o m*/
 * 
 * @param element - The element to place the diagram file in.
 * @return a reference to the opened editor, if successful.
 */
private static DiagramEditor createEditor(IJavaElement element) throws JavaModelException {
    IWorkbenchWindow dwindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    IWorkbenchPage workbenchPage = dwindow.getActivePage();
    IPackageFragment packFrag = null;
    IPath elementPath;

    // get the project itself, if desired (for creating DIA)
    if (element.isReadOnly() || PlugIn.getBooleanPreference(P_FORCE_DIA_IN_PROJECT)) {
        element = element.getAncestor(IJavaElement.JAVA_PROJECT);
    }

    if (element instanceof IJavaProject) {
        IJavaProject project = (IJavaProject) element;
        packFrag = project.getPackageFragments()[0];
    } else if (!(element instanceof IPackageFragment)) {
        packFrag = (IPackageFragment) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT);
    } else {
        packFrag = (IPackageFragment) element;
    }

    // create a path to the diagram file with current extension
    elementPath = packFrag.getPath()
            .append(packFrag.getJavaProject().getElementName() + "." + PluginConstants.GREEN_EXTENSION);

    try {
        IFile diaFile = DiagramEditor.getFileNotExist(element.getJavaProject().getProject(), elementPath);
        DiagramEditor editor = (DiagramEditor) IDE.openEditor(workbenchPage, diaFile, true);
        ACTIVE_EDITOR = editor;
        return editor;
    } catch (CoreException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return null;
}

From source file:edu.buffalo.cse.green.test.GreenTest.java

License:Open Source License

public void testJML_PackageRename() throws Exception {
    IPackageFragment packFrag = (IPackageFragment) _sourceClass.getType()
            .getAncestor(IJavaElement.PACKAGE_FRAGMENT);
    String renamed = "test";

    // rename the package and find the new type model
    packFrag.rename(renamed, false, PM);
    EDITOR.refresh();/* www .  j  a v  a 2  s  .  c  o  m*/

    for (TypeModel model : getTypes()) {
        if (model.getType().getElementName().equals(DEFAULT_TYPE_NAME)) {
            _sourceClass = model;
            break;
        }
    }

    assertEquals(FAIL_EDITOR_REFACTOR, (renamed + "." + DEFAULT_TYPE_NAME),
            _sourceClass.getType().getFullyQualifiedName());
}

From source file:edu.clarkson.serl.critic.loader.SootClassLoader.java

License:Open Source License

/**
 * The method traverses all of the project types in depth-first order 
 * including inner and anonymous types and loads them in Soot. 
 * //  w w w . j a  v a  2  s . co  m
 * 
 * @param monitor The progress monitor.
 * @throws Exception Propagated from JDT APIs.
 */
public void process(IProgressMonitor subMonitor) throws Exception {
    IJavaProject project = CriticPlugin.getIJavaProject();
    IPackageFragmentRoot[] packageFragmentRoots = project.getPackageFragmentRoots();
    subMonitor.beginTask("Loading " + project.getElementName() + " ...", 2);

    SubProgressMonitor monitor = new SubProgressMonitor(subMonitor, 1);
    monitor.beginTask("Loading packages ... ", packageFragmentRoots.length + 1);

    for (IPackageFragmentRoot pkgFragRoot : packageFragmentRoots) {
        if (pkgFragRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
            IJavaElement[] pkgFrags = (IJavaElement[]) pkgFragRoot.getChildren();
            for (IJavaElement pkgFrag : pkgFrags) {
                if (monitor.isCanceled())
                    return;

                monitor.subTask("Loading classes in " + pkgFrag.getElementName());

                if (pkgFrag.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
                    IPackageFragment pkgFragment = (IPackageFragment) pkgFrag;
                    IJavaElement[] children = pkgFragment.getChildren();
                    for (IJavaElement anElement : children) {
                        if (monitor.isCanceled())
                            return;

                        // Make sure its a java file
                        if (anElement.getElementType() == IJavaElement.COMPILATION_UNIT) {
                            this.dfsDomTree(anElement, monitor);
                        }
                    }
                }
            }
        }
        monitor.worked(1);
    }

    // Load the necessary classes after all of the classes have been loaded.
    Scene.v().loadNecessaryClasses();
    monitor.done();

    // Create an instance of Interpreter before we process anything further
    Interpreter.instance();

    monitor = new SubProgressMonitor(subMonitor, 1);
    monitor.beginTask("Configuring entry points ... ", this.getAllSootClasses().size());

    for (SootClass c : this.getAllSootClasses()) {
        ExtensionManager manager = ExtensionManager.instance();
        // Configure entry methods for extension plugin
        for (SootMethod method : c.getMethods()) {
            if (monitor.isCanceled())
                return;

            manager.checkEntryMethod(method, monitor);
            monitor.worked(1);
        }
    }
    monitor.done();
}

From source file:edu.uci.ics.sourcerer.extractor.ast.ClassFileExtractor.java

License:Open Source License

public void extractClassFile(IClassFile classFile) {
    // Verify that it's a top-level type, or a subtype of a top-level type
    //    try {//from www .  j  av a2  s  .c  om
    //      IType declaring = classFile.getType();
    //      while (declaring != null) {
    //        if (declaring.isLocal() || declaring.isAnonymous()) {
    //          return;
    //        }
    //        declaring = declaring.getDeclaringType();
    //      }
    //    } catch (JavaModelException e) {
    //      logger.log(Level.SEVERE, "Error in extracting class file", e);
    //      return;
    //    }

    IJavaElement parent = classFile.getParent();
    while (true) {
        if (parent == null) {
            logger.log(Level.SEVERE, "Unable to find package for: " + classFile.getElementName());
            break;
        } else if (parent.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
            // Write the class file
            name = classFile.getElementName();
            path = parent.getElementName() + "." + name;
            fileWriter.writeClassFile(name, path);

            try {
                if (classFile.getType().isAnonymous()) {
                    String fqn = classFile.getType().getFullyQualifiedName();
                    String containingFqn = fqn.substring(0, fqn.lastIndexOf('$'));
                    relationWriter.writeInside(classFile.getType().getFullyQualifiedName(), containingFqn,
                            path);
                } else {
                    relationWriter.writeInside(classFile.getType().getFullyQualifiedName(),
                            parent.getElementName(), path);
                    entityWriter.writePackage(parent.getElementName());
                }
            } catch (JavaModelException e) {
                logger.log(Level.SEVERE, "Error in extracting class file", e);
            }
            break;
        } else {
            logger.log(Level.SEVERE, classFile.getType().getFullyQualifiedName() + " should be top-level!");
            parent = parent.getParent();
        }
    }

    extractIType(classFile.getType());
    name = null;
    path = null;
}

From source file:edu.uci.ics.sourcerer.tools.java.extractor.eclipse.ClassFileExtractor.java

License:Open Source License

public void extractClassFile(IClassFile classFile) {
    // Verify that it's a top-level type, or a subtype of a top-level type
    //    try {//from w w w.j av  a  2  s  .c  o m
    //      IType declaring = classFile.getType();
    //      while (declaring != null) {
    //        if (declaring.isLocal() || declaring.isAnonymous()) {
    //          return;
    //        }
    //        declaring = declaring.getDeclaringType();
    //      }
    //    } catch (JavaModelException e) {
    //      logger.log(Level.SEVERE, "Error in extracting class file", e);
    //      return;
    //    }

    IJavaElement parent = classFile.getParent();
    while (true) {
        if (parent == null) {
            logger.log(Level.SEVERE, "Unable to find package for: " + classFile.getElementName());
            break;
        } else if (parent.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
            // Write the class file
            name = classFile.getElementName();
            path = parent.getElementName() + "." + name;
            fileWriter.writeFile(File.CLASS, name, null, path);

            try {
                if (classFile.getType().isAnonymous()) {
                    String fqn = classFile.getType().getFullyQualifiedName();
                    String containingFqn = fqn.substring(0, fqn.lastIndexOf('$'));
                    relationWriter.writeRelation(Relation.CONTAINS, containingFqn,
                            classFile.getType().getFullyQualifiedName(),
                            new Location(classFile.getType().getFullyQualifiedName(), path, null, null));
                } else {
                    relationWriter.writeRelation(Relation.CONTAINS, parent.getElementName(),
                            classFile.getType().getFullyQualifiedName(),
                            new Location(classFile.getType().getFullyQualifiedName(), path, null, null));
                    entityWriter.writeEntity(Entity.PACKAGE, parent.getElementName(), 0, null, null);
                }
            } catch (JavaModelException e) {
                logger.log(Level.SEVERE, "Error in extracting class file", e);
            }
            break;
        } else {
            logger.log(Level.SEVERE, classFile.getType().getFullyQualifiedName() + " should be top-level!");
            parent = parent.getParent();
        }
    }

    extractIType(classFile.getType());
    name = null;
}

From source file:es.bsc.servicess.ide.PackagingUtils.java

License:Apache License

/** Get all java packages from a source folder
 * @param sourceDir Java source folder//from w  w w.  j  a  va2 s . co m
 * @return Array of packages included in the source folder
 */
private static IPackageFragment[] getAllPackageFragments(IPackageFragmentRoot sourceDir) {
    ArrayList<IPackageFragment> frags = new ArrayList<IPackageFragment>();
    try {
        IJavaElement[] els = sourceDir.getChildren();
        if (els != null) {
            for (IJavaElement e : els) {
                if (e.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
                    ICompilationUnit[] cus = ((IPackageFragment) e).getCompilationUnits();
                    if (cus != null && cus.length > 0) {
                        frags.add((IPackageFragment) e);
                    }
                }
            }
        } else {
            log.warn("There are no children in generated type");
        }
    } catch (JavaModelException e1) {
        log.error("Error getting children", e1);
        e1.printStackTrace();
    }
    return frags.toArray(new IPackageFragment[frags.size()]);
}

From source file:es.bsc.servicess.ide.wizards.ServiceSsCommonWizardPage.java

License:Apache License

protected void initPage(IJavaElement elem) {

    IJavaProject project = null;//from  w w  w. ja v a 2s  . c om
    IPackageFragment pack = null;
    IType typeName = null;
    if (elem != null) {
        // evaluate the enclosing type
        project = elem.getJavaProject();
        pack = (IPackageFragment) elem.getAncestor(IJavaElement.PACKAGE_FRAGMENT);
        System.out.println("Element name:" + elem.getElementName() + "type: " + elem.getElementType());
        if (elem.getElementType() == JavaElement.COMPILATION_UNIT) {
            typeName = ((ICompilationUnit) elem).findPrimaryType();
        } else if (elem.getElementType() == JavaElement.TYPE) {
            typeName = (IType) elem;
        }
    }

    setPackageFragment(pack, true);

    setClassName(typeName, true);

}

From source file:es.bsc.servicess.ide.wizards.ServiceSsNewElementWizardPage.java

License:Apache License

protected void initPage(IJavaElement elem) {

    IJavaProject project = null;//  w w w .j  ava  2 s.  co m
    IPackageFragment pack = null;
    IType typeName = null;
    if (elem != null) {
        // evaluate the enclosing type
        project = elem.getJavaProject();
        pack = (IPackageFragment) elem.getAncestor(IJavaElement.PACKAGE_FRAGMENT);
        System.out.println("Element name:" + elem.getElementName());
        if (elem.getElementType() == JavaElement.COMPILATION_UNIT) {
            typeName = ((ICompilationUnit) elem).findPrimaryType();
        } else if (elem.getElementType() == JavaElement.TYPE) {
            typeName = (IType) elem;
        }
    }

    setPackageFragment(pack, true);

    setClassName(typeName, true);

}