Example usage for org.eclipse.jdt.core IPackageFragmentRoot open

List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot open

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IPackageFragmentRoot open.

Prototype

public void open(IProgressMonitor progress) throws JavaModelException;

Source Link

Document

Opens this element and all parent elements that are not already open.

Usage

From source file:at.bestsolution.javafx.ide.jdt.internal.JavaClassResourceService.java

License:Open Source License

IResource handleElementCreation(IContainer container, String packageName, String className) {
    // FIXME This is temporary
    if (!container.getProject().isOpen()) {
        try {//from w ww.  j  a v  a2s  .co m
            container.getProject().open(new NullProgressMonitor());
        } catch (CoreException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    IProject pr = container.getProject();

    IJavaElement jElement = getInitialJavaElement(container);
    IPackageFragmentRoot jRoot = getFragmentRoot(jElement);

    try {
        IJavaProject jProject = JavaCore.create(pr);
        jProject.open(new NullProgressMonitor());
        jRoot.open(new NullProgressMonitor());
        IPackageFragment fragment = jRoot.getPackageFragment(packageName);
        if (!fragment.exists()) {
            ((IFolder) fragment.getResource()).create(true, true, null);
        }
        ICompilationUnit u = fragment.getCompilationUnit(className + ".java");
        IFile f = (IFile) u.getResource();
        ByteArrayInputStream in = new ByteArrayInputStream(
                new String("public class " + className + " {\n}").getBytes());
        f.create(in, IFile.FORCE | IFile.KEEP_HISTORY, new NullProgressMonitor());
        in.close();
        // pr.build(IncrementalProjectBuilder.FULL_BUILD, new
        // NullProgressMonitor());
        return f;
    } catch (JavaModelException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (CoreException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    System.err.println(jRoot);

    return null;
}

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  w  w  .ja  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:org.codehaus.groovy.eclipse.dsl.tests.BuiltInDSLInferencingTests.java

License:Open Source License

public void testSanity() throws Exception {
    IJavaProject javaProject = JavaCore.create(project);
    assertTrue("Should have DSL support classpath container",
            GroovyRuntime.hasClasspathContainer(javaProject, GroovyDSLCoreActivator.CLASSPATH_CONTAINER_ID));

    IClasspathContainer container = JavaCore
            .getClasspathContainer(GroovyDSLCoreActivator.CLASSPATH_CONTAINER_ID, javaProject);
    IClasspathEntry[] cpes = container.getClasspathEntries();
    assertEquals("Wrong number of classpath entries found: " + Arrays.toString(cpes), 2, cpes.length);

    IClasspathEntry pluginEntry = null;/* w w  w . jav  a  2 s .c om*/
    IClasspathEntry[] entries = javaProject.getResolvedClasspath(true);
    for (IClasspathEntry entry : entries) {
        if (entry.getPath().toString().contains("plugin_dsld")) {
            pluginEntry = entry;
        }
    }

    IPackageFragmentRoot root = null;
    List<String> elements = new ArrayList<String>();
    for (IJavaElement elt : javaProject.getChildren()) {
        elements.add(elt.getElementName());
        if (elt.getElementName().contains("plugin_dsld")) {
            root = (IPackageFragmentRoot) elt;
        }
    }

    List<String> possibleFrags = new ArrayList<String>();
    for (IPackageFragment frag : javaProject.getPackageFragments()) {
        if (frag.getElementName().equals("dsld")) {
            possibleFrags.add(frag.toString());
            possibleFrags.add("  [");
            for (IJavaElement child : frag.getChildren()) {
                possibleFrags.add("    " + child.getElementName());
            }
            possibleFrags.add("  ]");
        }
    }

    assertNotNull("Did not find the Plugin DSLD classpath entry.  Exsting resolved roots:\n"
            + printList(elements) + "\nOther DSLD fragments:\n" + printList(possibleFrags), pluginEntry);
    assertNotNull("Plugin DSLD classpath entry should exist.  Exsting resolved roots:\n" + printList(elements)
            + "\nOther DSLD fragments:\n" + printList(possibleFrags), root);
    assertTrue("Plugin DSLD classpath entry should exist", root.exists());

    ExternalPackageFragmentRoot ext = (ExternalPackageFragmentRoot) root;
    ext.resource().refreshLocal(IResource.DEPTH_INFINITE, null);
    root.close();
    root.open(null);

    IPackageFragment frag = root.getPackageFragment("dsld");
    assertTrue("DSLD package fragment should exist", frag.exists());
}

From source file:org.eclipse.examples.slideshow.jdt.URLHandlingTests.java

License:Open Source License

@BeforeClass
public static void setup() throws Exception {
    // TODO This doesn't work. Need to figure out what's missing.
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    IProject project = root.getProject("JavaProject");
    project.create(null);//from  www  . j  a  va 2s  . c o m
    project.open(null);

    IProjectDescription description = project.getDescription();
    description.setNatureIds(new String[] { JavaCore.NATURE_ID });
    project.setDescription(description, null);

    IJavaProject javaProject = JavaCore.create(project);
    IPackageFragmentRoot sourceFolder = javaProject.getPackageFragmentRoot(project);
    sourceFolder.open(null);

    IPackageFragment pack = sourceFolder.createPackageFragment("org.eclipse.test", false, null);
    pack.open(null);
    String contents = "package org.eclipse.test;\npublic class Junk {\npublic static void main(String[] args) {}}";
    pack.createCompilationUnit("Junk.java", contents, false, null);

    project.build(IncrementalProjectBuilder.FULL_BUILD, null);

    //      root.accept(new IResourceVisitor() {
    //
    //         public boolean visit(IResource resource) throws CoreException {
    //            System.out.println(resource);
    //            return true;
    //         }
    //         
    //      });
}

From source file:org.eclipse.jst.jsp.ui.tests.contentassist.BeanInfoProviderTest.java

License:Open Source License

private void openPath(IJavaProject javaProj) {
    try {//from ww  w  . jav  a2  s.c  o m
        if (javaProj.exists() && !javaProj.isOpen()) {
            javaProj.open(null);
        }
        IPackageFragmentRoot root = javaProj.getPackageFragmentRoot(fResource.getProject());
        if (!root.isOpen())
            root.open(null);
        IPackageFragment frag = getPackageFragment(root, "BEAN_TESTS");
        openAll(frag);
        frag = getPackageFragment(root, "org");
        if (frag != null && !frag.isOpen())
            openAll(frag);
        frag = getPackageFragment(root, "org.eclipse");
        if (frag != null && !frag.isOpen())
            openAll(frag);
        frag = getPackageFragment(root, "org.eclipse.jst");
        if (frag != null && !frag.isOpen())
            openAll(frag);
        frag = getPackageFragment(root, "org.eclipse.jst.jsp");
        if (frag != null && !frag.isOpen())
            openAll(frag);
        frag = getPackageFragment(root, "org.eclipse.jst.jsp.ui");
        if (frag != null && !frag.isOpen())
            openAll(frag);
        frag = getPackageFragment(root, "org.eclipse.jst.jsp.ui.tests");
        if (frag != null && !frag.isOpen())
            openAll(frag);
    } catch (JavaModelException e) {
        e.printStackTrace();
    }
}

From source file:org.eclipse.xtend.shared.ui.core.builder.XtendXpandBuilder.java

License:Open Source License

protected void fullBuild(final IProgressMonitor monitor) throws CoreException {
    final IXtendXpandProject project = Activator.getExtXptModelManager()
            .findProject(getProject().getFullPath());
    if (project != null) {
        getProject().accept(new XtendXpandDeltaVisitor(monitor));
        final IJavaProject jp = JavaCore.create(getProject());
        final IPackageFragmentRoot[] roots = jp.getPackageFragmentRoots();
        final Set<String> extensions = new HashSet<String>();
        final ResourceContributor[] contributors = Activator.getRegisteredResourceContributors();
        for (final ResourceContributor resourceContributor : contributors) {
            extensions.add(resourceContributor.getFileExtension());
        }//from w w  w.java2 s.  c o  m
        for (final IPackageFragmentRoot root : roots) {
            if (root.isArchive()) {
                try {
                    root.open(monitor);
                    try {
                        final ZipFile zip = ((JarPackageFragmentRoot) root).getJar();
                        final Enumeration<? extends ZipEntry> entries = zip.entries();
                        while (entries.hasMoreElements()) {
                            final ZipEntry entry = entries.nextElement();
                            for (final String ext : extensions) {
                                final String name = entry.getName();
                                if (name.endsWith(ext)) {
                                    final String fqn = name.substring(0, name.length() - ext.length() - 1)
                                            .replaceAll("/", "::");
                                    final ResourceID resourceID = new ResourceID(fqn, ext);
                                    final IStorage findStorage = JDTUtil.loadFromJar(resourceID, root);
                                    project.findXtendXpandResource(findStorage);
                                }
                            }
                        }
                    } finally {
                        root.close();
                    }
                } catch (CoreException ex) {
                    XtendLog.logError(ex);
                }
            }
        }
    } else {
        XtendLog.logInfo("Couldn't create Xpand project for project " + getProject().getName());
    }
}

From source file:org.eclipse.xtend.typesystem.emf.ui.ProjectAnalyzer.java

License:Open Source License

private void loadMetamodelsForProject(final IJavaProject javaProject, final ResourceSet rs,
        final IProgressMonitor monitor) {
    try {//from ww  w . j  a  v  a  2 s .c  o m
        final String ext = Messages.ProjectAnalyzer_2;
        if (!javaProject.exists())
            return;
        for (final IPackageFragmentRoot root : javaProject.getPackageFragmentRoots()) {
            if (!root.isArchive()) {
                IResource rootResource = null;
                if (root instanceof ExternalPackageFragmentRoot) {
                    rootResource = ((ExternalPackageFragmentRoot) root).resource();
                } else {
                    rootResource = root.getUnderlyingResource();
                }
                if (rootResource != null) {
                    try {
                        // if (!rootResource.exists() || !rootResource.isAccessible())
                        rootResource.refreshLocal(IResource.DEPTH_INFINITE, monitor);
                        rootResource.accept(new IResourceVisitor() {
                            public boolean visit(final IResource resource) throws CoreException {
                                if (resource instanceof IFile
                                        && ext.equals(((IFile) resource).getFileExtension())) {
                                    loadModelFromStorage(rs, (IFile) resource);
                                }
                                return true;
                            }
                        });
                    } catch (final CoreException e) {
                        EmfToolsLog.logError(e);
                    }
                }
            } else {
                // skip JRE jars
                if (((JarPackageFragmentRoot) root).getPath().toString().contains(Messages.ProjectAnalyzer_3)) {
                    if (EmfToolsPlugin.trace) {
                        System.out.println(Messages.ProjectAnalyzer_4
                                + ((JarPackageFragmentRoot) root).getPath().toString());
                    }
                    continue;
                }

                root.open(monitor);
                try {
                    final ZipFile zip = ((JarPackageFragmentRoot) root).getJar();

                    final Enumeration<? extends ZipEntry> entries = zip.entries();
                    while (entries.hasMoreElements()) {
                        final ZipEntry entry = entries.nextElement();
                        final String name = entry.getName();
                        if (name.endsWith(ext)) {
                            final String fqn = name.substring(0, name.length() - ext.length() - 1)
                                    .replaceAll(Messages.ProjectAnalyzer_5, Messages.ProjectAnalyzer_6);
                            final ResourceID resourceID = new ResourceID(fqn, ext);
                            final IStorage findStorage = JDTUtil.loadFromJar(resourceID, root);
                            if (findStorage != null) {
                                loadModelFromStorage(rs, findStorage);
                            }
                        }
                    }
                } catch (final CoreException e) {
                    EmfToolsLog.logError(e);
                } finally {
                    root.close();
                }
            }
        }
    } catch (final JavaModelException e) {
        EmfToolsLog.logError(e);
    }
}