List of usage examples for org.eclipse.jdt.core IJavaProject exists
boolean exists();
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; }/* ww w. j a va2 s . co 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.ui.util.JdtClasspathUriResolver.java
License:Open Source License
private URI findResourceInProjectRoot(IJavaProject javaProject, String path, Set<String> visited) throws CoreException { boolean includeAll = visited.isEmpty(); if (visited.add(javaProject.getElementName())) { IProject project = javaProject.getProject(); IResource resourceFromProjectRoot = project.findMember(path); if (resourceFromProjectRoot != null && resourceFromProjectRoot.exists()) { return createPlatformResourceURI(resourceFromProjectRoot); }/* w w w . j a v a 2s. co m*/ for (IClasspathEntry entry : javaProject.getResolvedClasspath(true)) { if (entry.getEntryKind() == IClasspathEntry.CPE_PROJECT) { if (includeAll || entry.isExported()) { IResource referencedProject = project.getWorkspace().getRoot().findMember(entry.getPath()); if (referencedProject != null && referencedProject.getType() == IResource.PROJECT) { IJavaProject referencedJavaProject = JavaCore.create((IProject) referencedProject); if (referencedJavaProject.exists()) { URI result = findResourceInProjectRoot(referencedJavaProject, path, visited); if (result != null) { return result; } } } break; } } } } return null; }
From source file:org.eclipse.xtext.ui.workspace.JdtProjectConfig.java
License:Open Source License
@Override public Set<? extends ISourceFolder> getSourceFolders() { try {/*from ww w . java 2 s . co m*/ final IJavaProject javaProject = JavaCore.create(this.getProject()); boolean _exists = javaProject.exists(); boolean _not = (!_exists); if (_not) { return CollectionLiterals.<ISourceFolder>emptySet(); } final IClasspathEntry[] classpath = javaProject.getRawClasspath(); final Function1<IClasspathEntry, Boolean> _function = (IClasspathEntry it) -> { int _entryKind = it.getEntryKind(); return Boolean.valueOf((_entryKind == IClasspathEntry.CPE_SOURCE)); }; final Iterable<IClasspathEntry> sourceEntries = IterableExtensions.<IClasspathEntry>filter( ((Iterable<IClasspathEntry>) Conversions.doWrapArray(classpath)), _function); final Function1<IClasspathEntry, String> _function_1 = (IClasspathEntry it) -> { return it.getPath().removeFirstSegments(1).toString(); }; final Iterable<String> sourceFolders = IterableExtensions.<IClasspathEntry, String>map(sourceEntries, _function_1); final Function1<String, EclipseSourceFolder> _function_2 = (String it) -> { IProject _project = this.getProject(); return new EclipseSourceFolder(_project, it); }; return IterableExtensions.<EclipseSourceFolder>toSet( IterableExtensions.<String, EclipseSourceFolder>map(sourceFolders, _function_2)); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } }
From source file:org.eclipse.xtext.xbase.ui.builder.XbaseBuilderConfigurationBlock.java
License:Open Source License
protected String javaValue(final String javaPreference) { IJavaProject javaProject = JavaCore.create(getProject()); if (javaProject != null && javaProject.exists() && javaProject.getProject().isAccessible()) { return javaProject.getOption(javaPreference, true); } else {// w ww. j av a2 s.c om return JavaCore.getOption(javaPreference); } }
From source file:org.eclipse.xtext.xbase.ui.builder.XbaseBuilderPreferenceAccess.java
License:Open Source License
public JavaVersion getJavaVersion(Object context, IPreferenceStore preferenceStore) { boolean useCompilerSource = preferenceStore.getBoolean(PREF_USE_COMPILER_SOURCE); if (useCompilerSource) { IJavaProject javaProject = JavaCore.create(context instanceof IProject ? (IProject) context : null); String compilerSource;/*from w ww .j a v a 2 s . co m*/ if (javaProject != null && javaProject.exists() && javaProject.getProject().isAccessible()) { compilerSource = javaProject.getOption(JavaCore.COMPILER_SOURCE, true); } else { compilerSource = JavaCore.getOption(JavaCore.COMPILER_SOURCE); } return fromCompilerSourceLevel(compilerSource); } else { String stringValue = preferenceStore.getString(PREF_JAVA_VERSION); try { return JavaVersion.valueOf(stringValue); } catch (IllegalArgumentException exception) { // Fall back to default value } } return JavaVersion.JAVA5; }
From source file:org.eclipse.xtext.xbase.ui.editor.XbaseEditorInputRedirector.java
License:Open Source License
/** * @param an input/* w w w . j a va2s. c o m*/ * * @return the original source for an editor input that points to an Xtext resource copied to the output folder, the given input otherwise */ public IEditorInput findOriginalSourceForOuputFolderCopy(final IEditorInput input) { try { final IFile resource = ResourceUtil.getFile(input); if ((resource != null)) { boolean _isValid = this.fileExtensionProvider.isValid(resource.getFullPath().getFileExtension()); if (_isValid) { final IJavaProject project = JavaCore.create(resource.getProject()); boolean _exists = project.exists(); if (_exists) { boolean _isPrefixOf = project.getOutputLocation().isPrefixOf(resource.getFullPath()); if (_isPrefixOf) { final IPath relative = resource.getFullPath() .removeFirstSegments(project.getOutputLocation().segmentCount()); final Function1<IPackageFragmentRoot, Boolean> _function = ( IPackageFragmentRoot it) -> { try { int _kind = it.getKind(); return Boolean.valueOf((_kind == IPackageFragmentRoot.K_SOURCE)); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } }; Iterable<IPackageFragmentRoot> _filter = IterableExtensions .<IPackageFragmentRoot>filter(((Iterable<IPackageFragmentRoot>) Conversions .doWrapArray(project.getPackageFragmentRoots())), _function); for (final IPackageFragmentRoot source : _filter) { { final IPath fullPath = source.getCorrespondingResource() .getProjectRelativePath().append(relative); final IFile newFile = resource.getProject().getFile(fullPath); boolean _exists_1 = newFile.exists(); if (_exists_1) { return new FileEditorInput(newFile); } } } } final Function1<IClasspathEntry, Boolean> _function_1 = (IClasspathEntry it) -> { int _entryKind = it.getEntryKind(); return Boolean.valueOf((_entryKind == IClasspathEntry.CPE_SOURCE)); }; Iterable<IClasspathEntry> _filter_1 = IterableExtensions.<IClasspathEntry>filter( ((Iterable<IClasspathEntry>) Conversions.doWrapArray(project.getRawClasspath())), _function_1); for (final IClasspathEntry sourceFolder : _filter_1) { if (((sourceFolder.getOutputLocation() != null) && sourceFolder.getOutputLocation().isPrefixOf(resource.getFullPath()))) { final IPath relative_1 = resource.getFullPath() .removeFirstSegments(sourceFolder.getOutputLocation().segmentCount()); final IPackageFragmentRoot source_1 = IterableExtensions .<IPackageFragmentRoot>head(((Iterable<IPackageFragmentRoot>) Conversions .doWrapArray(project.findPackageFragmentRoots(sourceFolder)))); final IPath fullPath = source_1.getCorrespondingResource().getProjectRelativePath() .append(relative_1); final IFile newFile = resource.getProject().getFile(fullPath); boolean _exists_1 = newFile.exists(); if (_exists_1) { return new FileEditorInput(newFile); } } } } } } return input; } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } }
From source file:org.eclipse.xtext.xbase.ui.editor.XbaseResourceForEditorInputFactory.java
License:Open Source License
@Override protected boolean isValidationDisabled(URI uri, IStorage storage) { if (storage instanceof IFile) { IFile file = (IFile) storage;// w ww .ja va2 s. c o m IJavaProject javaProject = JavaCore.create(file.getProject()); if (javaProject == null || !javaProject.exists() || !javaProject.isOpen()) { return true; } if (!canBuild(uri, storage)) { return true; } } return super.isValidationDisabled(uri, storage); }
From source file:org.eclipse.xtext.xbase.ui.launching.JavaElementDelegate.java
License:Open Source License
protected IJavaElement getJavaElementForXtextEditor(IEditorPart editor) { if (!(editor instanceof XtextEditor)) return null; IJavaProject jp = null; if (editor.getEditorInput() instanceof IFileEditorInput) { IFile file = ((IFileEditorInput) editor.getEditorInput()).getFile(); if (!fileExtensionProvider.isValid(file.getFileExtension())) { return null; }/*ww w . ja v a 2s.c o m*/ jp = JavaCore.create(file.getProject()); if (jp == null || !jp.exists() || !jp.isOpen()) return null; } else { return null; } XtextEditor xtextEditor = (XtextEditor) editor; ISelection selection = xtextEditor.getSelectionProvider().getSelection(); if (!(selection instanceof ITextSelection)) return null; final int offset = ((ITextSelection) selection).getOffset(); IJavaElement func = xtextEditor.getDocument().readOnly(new IUnitOfWork<IJavaElement, XtextResource>() { @Override public IJavaElement exec(XtextResource state) throws Exception { return findJavaElement(state, offset); } }); return func; }
From source file:org.eclipse.xtext.xbase.ui.tests.editor.AbstractXbaseContentAssistBugTest.java
License:Open Source License
@Override public IJavaProject getJavaProject(final ResourceSet resourceSet) { final String projectName = this.getProjectName(); IJavaProject javaProject = JavaProjectSetupUtil.findJavaProject(projectName); if (((javaProject == null) || (!javaProject.exists()))) { try {/* www . ja v a 2 s . c o m*/ this.demandCreateProject = AbstractXbaseUITestCase.createPluginProject(projectName); javaProject = JavaProjectSetupUtil.findJavaProject(projectName); } catch (final Throwable _t) { if (_t instanceof CoreException) { final CoreException e = (CoreException) _t; String _message = e.getMessage(); String _plus = ("cannot create java project due to: " + _message); String _plus_1 = (_plus + " / "); String _plus_2 = (_plus_1 + e); Assert.fail(_plus_2); } else { throw Exceptions.sneakyThrow(_t); } } } return javaProject; }
From source file:org.eclipse.xtext.xbase.ui.tests.editor.ContentAssistInBlockTest.java
License:Open Source License
@Override public IJavaProject getJavaProject(ResourceSet resourceSet) { IJavaProject javaProject = findJavaProject(PROJECT_NAME); if (javaProject == null || !javaProject.exists()) { try {//from w w w . j av a2s .c o m demandCreateProject = AbstractXbaseUITestCase.createPluginProject(PROJECT_NAME); javaProject = findJavaProject(PROJECT_NAME); } catch (CoreException e) { fail("cannot create java project due to: " + e.getMessage() + " / " + e); } } return javaProject; }