Example usage for org.eclipse.jdt.core IJavaProject getPackageFragmentRoot

List of usage examples for org.eclipse.jdt.core IJavaProject getPackageFragmentRoot

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaProject getPackageFragmentRoot.

Prototype

IPackageFragmentRoot getPackageFragmentRoot(IResource resource);

Source Link

Document

Returns a package fragment root for the given resource, which must either be a folder representing the top of a package hierarchy, or a ZIP archive (e.g.

Usage

From source file:org.eclipse.xtext.ui.tests.core.resource.Storage2UriMapperJdtImplTest.java

License:Open Source License

@Flaky
@Test/*from w  w  w.jav  a2  s. c  o m*/
public void testResourceInExternalFolder() throws Exception {
    IFolder externalFolder = createExternalFolder("externalFolder");
    IJavaProject project = createJavaProject("foo");

    IFile file = externalFolder.getFile("a.indexed");
    file.create(new StringInputStream("content"), true, monitor());
    IFile file2 = externalFolder.getFile("b.nonindexed");
    file2.create(new StringInputStream("content"), true, monitor());
    addExternalFolderToClasspath(project, externalFolder);

    Storage2UriMapperJavaImpl impl = getStorage2UriMapper();

    IPackageFragmentRoot root = project.getPackageFragmentRoot(externalFolder);
    Map<URI, IStorage> rootData = impl.getAllEntries(root);
    assertEquals(rootData.toString(), 1, rootData.size());
    assertEquals("platform:/resource/.org.eclipse.jdt.core.external.folders/externalFolder/a.indexed",
            rootData.keySet().iterator().next().toString());
    IFile file3 = externalFolder.getFile("c.indexed");
    file3.create(new StringInputStream("content"), true, monitor());
    rootData = impl.getAllEntries(root);
    assertEquals(rootData.toString(), 2, rootData.size());
}

From source file:org.eclipse.xtext.ui.tests.editor.model.JavaClassPathResourceForIEditorInputFactoryTest.java

License:Open Source License

@Test
public void testBug463258_01() throws Exception {
    IJavaProject project = createJavaProject("foo");
    IFile file = project.getProject().getFile("foo.jar");
    file.create(jarInputStream(new TextFile("foo/A.testlanguage", "//empty")), true, monitor());
    addJarToClasspath(project, file);//ww  w  .  j  a v  a 2 s  .co  m

    IPackageFragmentRoot root = project.getPackageFragmentRoot(file);
    IPackageFragment foo = root.getPackageFragment("foo");
    JarEntryFile fileInJar = new JarEntryFile("A.testlanguage");
    fileInJar.setParent(foo);

    XtextReadonlyEditorInput editorInput = new XtextReadonlyEditorInput(fileInJar);
    Resource resource = factory.createResource(editorInput);
    assertNotNull(resource);
    resource.load(null);
}

From source file:org.eclipse.xtext.ui.tests.editor.model.JavaClassPathResourceForIEditorInputFactoryTest.java

License:Open Source License

@Test
public void testBug463258_02() throws Exception {
    IJavaProject project = createJavaProject("foo");
    IFile file = project.getProject().getFile("foo.jar");
    file.create(jarInputStream(new TextFile("do/not", "care")), true, monitor());
    addJarToClasspath(project, file);//  w  w  w.ja v  a2 s  .  co  m

    IPackageFragmentRoot root = project.getPackageFragmentRoot(file);
    IPackageFragment foo = root.getPackageFragment("unknown");
    JarEntryFile fileInJar = new JarEntryFile("doesNotExist.testlanguage");
    fileInJar.setParent(foo);

    XtextReadonlyEditorInput editorInput = new XtextReadonlyEditorInput(fileInJar);
    Resource resource = factory.createResource(editorInput);
    assertNotNull(resource);
    try {
        resource.load(null);
    } catch (IOException e) {
        // expected
    }
}

From source file:org.eclipse.xtext.ui.tests.editor.model.JavaClassPathResourceForIEditorInputFactoryTest.java

License:Open Source License

@Test
public void testBug463258_03a() throws Exception {
    IJavaProject project = createJavaProject("foo");
    IFile file = project.getProject().getFile("foo.jar");
    file.create(jarInputStream(new TextFile("foo/bar.testlanguage", "//empty")), true, monitor());
    addJarToClasspath(project, file);//ww w . j av a2s .  c  o m

    IPackageFragmentRoot root = project.getPackageFragmentRoot(file);
    IPackageFragment foo = root.getPackageFragment("foo");
    JarEntryFile fileInJar = new JarEntryFile("bar.testlanguage");
    fileInJar.setParent(foo);

    File jarFile = file.getRawLocation().toFile();
    assertTrue("exists", jarFile.exists());
    assertTrue("delete", jarFile.delete());

    XtextReadonlyEditorInput editorInput = new XtextReadonlyEditorInput(fileInJar);
    Resource resource = factory.createResource(editorInput);
    assertNotNull(resource);
    try {
        resource.load(null);
    } catch (IOException e) {
        // expected
    }
}

From source file:org.eclipse.xtext.ui.tests.editor.model.JavaClassPathResourceForIEditorInputFactoryTest.java

License:Open Source License

@Test(expected = CoreException.class)
public void testBug463258_04() throws Throwable {
    IFolder externalFolder = createExternalFolder("externalFolder");
    IJavaProject project = createJavaProject("foo");

    addExternalFolderToClasspath(project, externalFolder);

    IPackageFragmentRoot root = project.getPackageFragmentRoot(externalFolder);
    IPackageFragment foo = root.getPackageFragment("foo");
    NonJavaResource fileInFolder = new NonJavaResource(foo,
            externalFolder.getFile("foo/doesNotExist.testlanguage"));

    externalFolder.delete(true, null);/*from   w w  w.  jav  a 2 s.c  om*/
    XtextReadonlyEditorInput editorInput = new XtextReadonlyEditorInput(fileInFolder);
    try {
        factory.createResource(editorInput);
    } catch (WrappedException e) {
        throw e.getCause();
    }
}

From source file:org.eclipse.xtext.ui.tests.editor.model.JavaClassPathResourceForIEditorInputFactoryTest.java

License:Open Source License

@Test(expected = CoreException.class)
public void testBug463258_05() throws Throwable {
    IJavaProject project = createJavaProject("foo");
    IPackageFragmentRoot root = project.getPackageFragmentRoot("does/not/exist.jar");
    IPackageFragment foo = root.getPackageFragment("foo");
    final JarEntryFile fileInJar = new JarEntryFile("bar.testlanguage");
    fileInJar.setParent(foo);//from   w w  w  . j  a v a2s . c  o m
    XtextReadonlyEditorInput editorInput = new XtextReadonlyEditorInput(fileInJar);
    try {
        factory.createResource(editorInput);
    } catch (WrappedException e) {
        throw e.getCause();
    }
}

From source file:org.eclipse.zest.dot.internal.ZestProjectWizard.java

License:Open Source License

private void createPackage(final IProject project, final IFolder sourceGenFolder) throws JavaModelException {
    IJavaProject javaProject = JavaCore.create(project);
    IPackageFragmentRoot newPackage = javaProject.getPackageFragmentRoot(sourceGenFolder);
    newPackage.createPackageFragment(PACKAGE, true, new NullProgressMonitor());
}

From source file:org.entirej.ide.core.cf.CFProjectHelper.java

License:Apache License

/**
 * Adds a source container to a IJavaProject.
 *//*ww w .j  av a2 s  .c  o  m*/
public static IPackageFragmentRoot verifySourceContainer(IJavaProject jproject, String containerName)
        throws CoreException {
    IProject project = jproject.getProject();
    IContainer container = null;
    if (containerName == null || containerName.length() == 0) {
        container = project;
    } else {
        IFolder folder = project.getFolder(containerName);
        if (!folder.exists()) {
            folder.create(false, true, null);
        }
        container = folder;
    }
    IPackageFragmentRoot root = jproject.getPackageFragmentRoot(containerName);
    if (root != null) {
        root = jproject.getPackageFragmentRoot(container);

        IClasspathEntry cpe = JavaCore.newSourceEntry(root.getPath());
        addToClasspath(jproject, cpe);
    }
    return root;
}

From source file:org.entirej.ide.core.cf.CFProjectHelper.java

License:Apache License

/**
 * Adds a library entry with source attachment to a IJavaProject.
 *///from w w w  . j av  a2s. c  o m
public static IPackageFragmentRoot addLibrary(IJavaProject jproject, IPath path, IPath sourceAttachPath,
        IPath sourceAttachRoot) throws JavaModelException {
    IClasspathEntry cpe = JavaCore.newLibraryEntry(path, sourceAttachPath, sourceAttachRoot);
    addToClasspath(jproject, cpe);
    return jproject.getPackageFragmentRoot(path.toString());
}

From source file:org.entirej.ide.core.cf.CFProjectHelper.java

License:Apache License

/**
 * Adds a variable entry with source attchment to a IJavaProject. Can return
 * null if variable can not be resolved.
 *//*from   w  ww.  jav  a 2s  .c  om*/
public static IPackageFragmentRoot addVariableEntry(IJavaProject jproject, IPath path, IPath sourceAttachPath,
        IPath sourceAttachRoot) throws JavaModelException {
    IClasspathEntry cpe = JavaCore.newVariableEntry(path, sourceAttachPath, sourceAttachRoot);
    addToClasspath(jproject, cpe);
    IPath resolvedPath = JavaCore.getResolvedVariablePath(path);
    if (resolvedPath != null) {
        return jproject.getPackageFragmentRoot(resolvedPath.toString());
    }
    return null;
}