List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getPackageFragment
IPackageFragment getPackageFragment(String packageName);
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);/*from ww w. jav a 2 s. com*/ 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);//from ww w . j a v a2 s .co 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_03b() throws Throwable { IJavaProject project = createJavaProject("foo"); IFile file = project.getProject().getFile("foo.jar"); file.create(jarInputStream(new TextFile("foo/bar.testlanguage", "//empty")), true, monitor()); IPackageFragmentRoot root = new JarPackageFragmentRoot(file, (JavaProject) project) { };/*from w w w.ja v a 2 s .c o m*/ IPackageFragment foo = root.getPackageFragment("foo"); JarEntryFile fileInJar = new JarEntryFile("bar.testlanguage"); fileInJar.setParent(foo); File jarFile = file.getLocation().toFile(); assertTrue("exists", jarFile.exists()); assertTrue("delete", jarFile.delete()); XtextReadonlyEditorInput editorInput = new XtextReadonlyEditorInput(fileInJar); 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_03c() throws Throwable { 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 om IPackageFragmentRoot root = new JarPackageFragmentRoot(file, (JavaProject) project) { }; IPackageFragment foo = root.getPackageFragment("foo"); JarEntryFile fileInJar = new JarEntryFile("bar.testlanguage"); fileInJar.setParent(foo); File jarFile = file.getLocation().toFile(); assertTrue("exists", jarFile.exists()); assertTrue("delete", jarFile.delete()); // simulate an automated refresh file.refreshLocal(IResource.DEPTH_ONE, null); XtextReadonlyEditorInput editorInput = new XtextReadonlyEditorInput(fileInJar); 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_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 www .j a v 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);/*w w w . j a v a 2 s.co m*/ XtextReadonlyEditorInput editorInput = new XtextReadonlyEditorInput(fileInJar); try { factory.createResource(editorInput); } catch (WrappedException e) { throw e.getCause(); } }
From source file:org.eclipse.xtext.ui.util.JdtClasspathUriResolver.java
License:Open Source License
protected URI findResourceInWorkspace(IJavaProject javaProject, URI classpathUri) throws CoreException { if (javaProject.exists()) { String packagePath = classpathUri.trimSegments(1).path(); String fullPath = classpathUri.path(); String fileName = classpathUri.lastSegment(); IPath filePath = new Path(fileName); String packageName = isEmpty(packagePath) ? "" : packagePath.substring(1).replace('/', '.'); for (IPackageFragmentRoot packageFragmentRoot : javaProject.getAllPackageFragmentRoots()) { IPackageFragment packageFragment = packageFragmentRoot.getPackageFragment(packageName); if (packageFragment.exists()) { IResource packageFragmentResource = packageFragment.getResource(); if (packageFragmentResource instanceof IContainer) { IFile file = ((IContainer) packageFragmentResource).getFile(filePath); if (file.exists()) return createPlatformResourceURI(file); } else { // jar file or external class folder if (packageFragmentRoot.isArchive()) { // jar file Object[] nonJavaResources = getNonJavaResources(packageFragmentRoot, packageFragment); for (Object nonJavaResource : nonJavaResources) { IJarEntryResource jarEntryResource = (IJarEntryResource) nonJavaResource; if (fullPath.equals(jarEntryResource.getFullPath().toString())) { IResource packageFragmentRootResource = packageFragmentRoot.getResource(); if (packageFragmentRootResource != null) { // we have a resource - use nested platform/resource URI packageFragmentRootURI = createPlatformResourceURI( packageFragmentRootResource); URI result = createArchiveURI(packageFragmentRootURI, fullPath); return result; } else { // no resource - use file uri IPath packageFragmentRootPath = packageFragmentRoot.getPath(); URI packageFragmentRootURI = URI .createFileURI(packageFragmentRootPath.toString()); URI result = createArchiveURI(packageFragmentRootURI, fullPath); return result; }// w w w . java2 s . c o m } } } else if (packageFragmentRoot.isExternal()) { // external class folder Object[] nonJavaResources = getNonJavaResources(packageFragmentRoot, packageFragment); for (Object nonJavaResource : nonJavaResources) { IJarEntryResource jarEntryResource = (IJarEntryResource) nonJavaResource; if (fileName.equals(jarEntryResource.getName())) { IResource packageFragmentRootResource = ((ExternalPackageFragmentRoot) packageFragmentRoot) .resource(); IPath absolutePath = packageFragmentRootResource.getFullPath(); absolutePath = absolutePath.append(fullPath); return createPlatformResourceURI(absolutePath); } } } } } } // not found in a source folder - look for a resource relative to project root // of this project or one of its dependencies URI result = findResourceInProjectRoot(javaProject, classpathUri.path(), Sets.<String>newHashSet()); if (result != null) { return result; } } return classpathUri; }
From source file:org.eclipse.xtext.xbase.ui.quickfix.CreateJavaTypeQuickfixes.java
License:Open Source License
protected void setPackageName(NewTypeWizardPage page, URI contextUri, String packageName) { IJavaProject javaProject = getJavaProject(contextUri); String path = contextUri.trimSegments(1).toPlatformString(true); try {//ww w .j ava2s.com if (javaProject != null) { IPackageFragment contextPackageFragment = javaProject.findPackageFragment(new Path(path)); IPackageFragmentRoot root = (IPackageFragmentRoot) contextPackageFragment .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); IPackageFragment packageFragment; if (!isEmpty(packageName)) { packageFragment = root.getPackageFragment(packageName); } else { packageFragment = contextPackageFragment; } page.setPackageFragment(packageFragment, true); page.setPackageFragmentRoot(root, true); } } catch (JavaModelException e) { LOG.error("Could not find package for " + path, e); } }
From source file:org.eclipse.xtext.xbase.ui.validation.ProjectAwareUniqueClassNameValidator.java
License:Open Source License
private ProjectAwareUniqueClassNameValidator.SourceTraversal doCheckUniqueInProjectSource( final String packageName, final String typeName, final JvmDeclaredType type, final IPackageFragmentRoot[] sourceFolders) throws JavaModelException { final IndexManager indexManager = JavaModelManager.getIndexManager(); for (final IPackageFragmentRoot sourceFolder : sourceFolders) { int _awaitingJobsCount = indexManager.awaitingJobsCount(); boolean _greaterThan = (_awaitingJobsCount > 0); if (_greaterThan) { boolean _isDerived = this.isDerived(sourceFolder.getResource()); boolean _not = (!_isDerived); if (_not) { IPackageFragment packageFragment = sourceFolder.getPackageFragment(packageName); boolean _exists = packageFragment.exists(); if (_exists) { ICompilationUnit[] units = packageFragment.getCompilationUnits(); for (final ICompilationUnit unit : units) { {/*from w ww. jav a 2 s.co m*/ final IResource resource = unit.getResource(); boolean _isDerived_1 = this.isDerived(resource); boolean _not_1 = (!_isDerived_1); if (_not_1) { IType javaType = unit.getType(typeName); boolean _exists_1 = javaType.exists(); if (_exists_1) { this.addIssue(type, unit.getElementName()); return ProjectAwareUniqueClassNameValidator.SourceTraversal.DUPLICATE; } } } } } } } else { return ProjectAwareUniqueClassNameValidator.SourceTraversal.INTERRUPT; } } return ProjectAwareUniqueClassNameValidator.SourceTraversal.UNIQUE; }
From source file:org.eclipse.zest.dot.internal.ZestBuilder.java
License:Open Source License
private void importToGeneratedSourceFolder(final IFile dotFile) { try {//from www.j a v a2 s .co m IJavaProject javaProject = JavaCore.create(dotFile.getProject()); String sourceGenPath = "/" + javaProject.getElementName() + "/" + ZestProjectWizard.SRC_GEN; IPackageFragmentRoot packageRoot = javaProject.findPackageFragmentRoot(new Path(sourceGenPath)); IPackageFragment targetPackage = packageRoot.getPackageFragment(ZestProjectWizard.PACKAGE); IResource targetFolder = targetPackage.getCorrespondingResource(); new DotImport(dotFile).newGraphSubclass((IContainer) targetFolder); targetFolder.refreshLocal(1, null); } catch (CoreException e) { e.printStackTrace(); } }