List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getKind
int getKind() throws JavaModelException;
From source file:org.eclipse.xtext.xbase.ui.validation.ProjectAwareUniqueClassNameValidator.java
License:Open Source License
public boolean doCheckUniqueInProject(final QualifiedName name, final JvmDeclaredType type) throws JavaModelException { final IJavaProject javaProject = this.javaProjectProvider.getJavaProject(type.eResource().getResourceSet()); this.getContext().put(ProjectAwareUniqueClassNameValidator.OUTPUT_CONFIGS, this.outputConfigurationProvider.getOutputConfigurations(type.eResource())); final String packageName = type.getPackageName(); final String typeName = type.getSimpleName(); final Function1<IPackageFragmentRoot, Boolean> _function = (IPackageFragmentRoot it) -> { try {//from w w w .j a va 2 s . c om int _kind = it.getKind(); return Boolean.valueOf((_kind == IPackageFragmentRoot.K_SOURCE)); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } }; final Iterable<IPackageFragmentRoot> sourceFolders = IterableExtensions.<IPackageFragmentRoot>filter( ((Iterable<IPackageFragmentRoot>) Conversions.doWrapArray(javaProject.getPackageFragmentRoots())), _function); IndexManager indexManager = JavaModelManager.getIndexManager(); if (((((Object[]) Conversions.unwrapArray(sourceFolders, Object.class)).length == 0) || (indexManager.awaitingJobsCount() > 0))) { String _elvis = null; if (packageName != null) { _elvis = packageName; } else { _elvis = ""; } ProjectAwareUniqueClassNameValidator.SourceTraversal _doCheckUniqueInProjectSource = this .doCheckUniqueInProjectSource(_elvis, typeName, type, ((IPackageFragmentRoot[]) Conversions .unwrapArray(sourceFolders, IPackageFragmentRoot.class))); if (_doCheckUniqueInProjectSource != null) { switch (_doCheckUniqueInProjectSource) { case DUPLICATE: return false; case UNIQUE: return true; default: break; } } else { } } final HashSet<String> workingCopyPaths = CollectionLiterals.<String>newHashSet(); ICompilationUnit[] copies = this.getWorkingCopies(type); if ((copies != null)) { for (final ICompilationUnit workingCopy : copies) { { final IPath path = workingCopy.getPath(); if ((javaProject.getPath().isPrefixOf(path) && (!this.isDerived(workingCopy.getResource())))) { boolean _exists = workingCopy.getPackageDeclaration(packageName).exists(); if (_exists) { IType result = workingCopy.getType(typeName); boolean _exists_1 = result.exists(); if (_exists_1) { this.addIssue(type, workingCopy.getElementName()); return false; } } workingCopyPaths.add(workingCopy.getPath().toString()); } } } } char[] _xifexpression = null; if ((packageName == null)) { _xifexpression = CharOperation.NO_CHAR; } else { _xifexpression = packageName.toCharArray(); } char[] _charArray = typeName.toCharArray(); final TypeDeclarationPattern pattern = new TypeDeclarationPattern(_xifexpression, CharOperation.NO_CHAR_CHAR, _charArray, IIndexConstants.TYPE_SUFFIX, (SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE)); final IndexQueryRequestor _function_1 = new IndexQueryRequestor() { @Override public boolean acceptIndexMatch(final String documentPath, final SearchPattern indexRecord, final SearchParticipant participant, final AccessRuleSet access) { boolean _contains = workingCopyPaths.contains(documentPath); if (_contains) { return true; } IWorkspaceRoot _root = ResourcesPlugin.getWorkspace().getRoot(); Path _path = new Path(documentPath); IFile file = _root.getFile(_path); boolean _isDerived = ProjectAwareUniqueClassNameValidator.this.isDerived(file); boolean _not = (!_isDerived); if (_not) { ProjectAwareUniqueClassNameValidator.this.addIssue(type, file.getName()); return false; } return true; } }; IndexQueryRequestor searchRequestor = _function_1; try { SearchParticipant _defaultSearchParticipant = BasicSearchEngine.getDefaultSearchParticipant(); IJavaSearchScope _createJavaSearchScope = BasicSearchEngine.createJavaSearchScope( ((IJavaElement[]) Conversions.unwrapArray(sourceFolders, IJavaElement.class))); PatternSearchJob _patternSearchJob = new PatternSearchJob(pattern, _defaultSearchParticipant, _createJavaSearchScope, searchRequestor); indexManager.performConcurrentJob(_patternSearchJob, IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, null); return true; } catch (final Throwable _t) { if (_t instanceof OperationCanceledException) { final OperationCanceledException oce = (OperationCanceledException) _t; return false; } else { throw Exceptions.sneakyThrow(_t); } } }
From source file:org.eclipseguru.gwt.core.GwtProject.java
License:Open Source License
/** * @param project//w w w. j a v a 2 s .c om * @return * @throws CoreException */ protected GwtModule[] findModules() throws CoreException { final IJavaProject javaProject = getJavaProject(); final List<GwtModule> moduleFiles = new ArrayList<GwtModule>(); for (final IPackageFragmentRoot aRoot : javaProject.getPackageFragmentRoots()) { // check only in source folders. Skip others if (aRoot.getKind() != IPackageFragmentRoot.K_SOURCE) { continue; } for (final IJavaElement aPackage : aRoot.getChildren()) { // look only for packages. Skip others if (aPackage.getElementType() != IJavaElement.PACKAGE_FRAGMENT) { continue; } for (final Object aResource : ((IPackageFragment) aPackage).getNonJavaResources()) { // look only files. Skip others if (!(aResource instanceof IFile)) { continue; } final IFile aFile = (IFile) aResource; if (GwtUtil.isModuleDescriptor(aFile)) { moduleFiles.add(createModule(aFile)); } } } } return moduleFiles.toArray(new GwtModule[moduleFiles.size()]); }
From source file:org.eclipseguru.gwt.core.launch.GwtLaunchUtil.java
License:Open Source License
/** * Adds the source folder from the specified project to the classpath list. * /*w w w. ja va 2 s. co m*/ * @param gwtProject * @param classpath * @throws JavaModelException */ private static void addSourceFolderToClasspath(final IJavaProject project, final List<String> classpath) throws JavaModelException { if ((null == project) || !project.exists()) { return; } final IPackageFragmentRoot[] packageFragmentRoots = project.getPackageFragmentRoots(); for (final IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots) { if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { classpath.add(packageFragmentRoot.getResource().getLocation().toOSString()); } } }
From source file:org.eclipselabs.stlipse.util.ProjectUtil.java
License:Open Source License
public static IPackageFragmentRoot getFirstSourceRoot(IJavaProject project) throws JavaModelException { IPackageFragmentRoot pkgRoot = null; for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { // Use the first source folder. pkgRoot = root;/*from w ww. j a v a 2 s .c o m*/ break; } } return pkgRoot; }
From source file:org.evolizer.core.util.selectionhandling.JavaSelectionHelper.java
License:Apache License
/** * Returns the list of root package fragments of a given Java project. * //from w w w. j a va2s . c o m * @param project The Java project. * @return The list of root package fragments. * @throws EvolizerException */ public static List<IJavaElement> getPackageFragmentRoots(IJavaProject project) throws EvolizerException { List<IJavaElement> sourceRootPagckages = new ArrayList<IJavaElement>(); try { for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { sourceRootPagckages.add(root); } } } catch (JavaModelException jme) { throw new EvolizerException(jme); } return sourceRootPagckages; }
From source file:org.fusesource.ide.foundation.core.util.CamelUtils.java
License:Open Source License
/** * Fetch the list of files in the project that match the camel content type. * This method looks at only the source folders if the project is a Java project. * @param project/*from w ww.jav a 2s . co m*/ * @return list of camel files with content-type org.fusesource.ide.camel.editor.camelContentType * @throws CoreException */ public static List<IFile> getFilesWithCamelContentType(IProject project) throws CoreException { final List<IFile> files = new ArrayList<IFile>(); if (project.hasNature(JavaCore.NATURE_ID)) { //limit the search to source folders IJavaProject javaProject = JavaCore.create(project); if (javaProject != null) { for (IPackageFragmentRoot ifr : javaProject.getAllPackageFragmentRoots()) { if (ifr.getKind() == IPackageFragmentRoot.K_SOURCE) { files.addAll(getFilesWithCamelContentTypeInResource(ifr.getCorrespondingResource())); } } } } if (project.hasNature(FacetedProjectNature.NATURE_ID)) { // TODO: search in deployed resources } if (files.isEmpty()) {// or should we throw an error? files.addAll(getFilesWithCamelContentTypeInResource(project)); } return files; }
From source file:org.grails.ide.eclipse.explorer.providers.GrailsNavigatorFilter.java
License:Open Source License
public boolean select(Viewer arg0, Object parent, Object element) { if (element instanceof IPackageFragmentRoot) { IPackageFragmentRoot root = ((IPackageFragmentRoot) element); try {/*from w ww. j av a 2s . co m*/ // allow binary content like libraries if (root.getKind() == IPackageFragmentRoot.K_BINARY) { return true; } } catch (JavaModelException e) { GrailsCoreActivator.log(e); } IProject project = ((IPackageFragmentRoot) element).getJavaProject().getProject(); Object immediateParent = getImmediateParent(parent); // Filter out all top-level level plugin dependency package // fragment roots. Filter in all other package fragment roots if (GrailsNature.isGrailsProject(project) && isGrailsDependencyPackageFragmentRoot(immediateParent, root)) { return false; } } else if (element instanceof IFolder) { IFolder folder = (IFolder) element; IProject project = folder.getProject(); if (GrailsNature.isGrailsProject(project)) { // For reimages Grails file folders, if they are top level, // filter them in. If they are child of other folders, filter // them out Object immediateParent = getImmediateParent(parent); if (GrailsResourceUtil.isReimagedGrailsProjectFileFolder(folder) && !(immediateParent instanceof IProject)) { return false; } else if (GrailsResourceUtil.isFilteredGrailsFolder(folder)) { return false; } else if (GrailsResourceUtil.isDefaultOutputFolder(folder)) { return false; } else { // Do a further check to see if any children may be filtered // out. If so, don't show the parent folder try { IResource[] children = folder.members(); // Filtering algorithm: // If a folder contains AT LEAST one filtered child, it // means // it's a Grails folder, in which case if all children // are filtered // ONLY then is the parent folder filtered out. // Note to be careful not to filter out folders that // contain anything // else. if (children != null) { boolean filterOutParentFolder = false; for (IResource child : children) { if ((child instanceof IFolder) && (GrailsResourceUtil .isFilteredGrailsFolder((IFolder) child) || GrailsResourceUtil.isReimagedGrailsProjectFileFolder((IFolder) child))) { // For now decide to filter out the parent // folder // as it contains filtered Grails content filterOutParentFolder = true; } else { filterOutParentFolder = false; break; } } // All the children in the folder is filtered Grail // content, therefore // filter out the parent folder. if (filterOutParentFolder) { return false; } } } catch (CoreException e) { GrailsCoreActivator.log(e); } } } } else if (element instanceof IPackageFragment) { IPackageFragment frag = (IPackageFragment) element; IJavaProject javaProject = frag.getJavaProject(); if (GrailsNature.isGrailsProject(javaProject.getProject()) && frag.isDefaultPackage()) { IJavaElement javaParent = frag.getParent(); if (javaParent instanceof IPackageFragmentRoot) { IPackageFragmentRoot root = (IPackageFragmentRoot) javaParent; // Only filter out the default package fragment from CONF // folder GrailsProjectStructureTypes type = GrailsResourceUtil.getGrailsContainerType(root); if (type == GrailsProjectStructureTypes.CONF) { return false; } } } } else if (element instanceof ClassPathContainer) { //Hide toplevel classpath containers. if (parent instanceof TreePath) { TreePath parentPath = (TreePath) parent; if (parentPath.getLastSegment() instanceof IProject) { IProject project = (IProject) parentPath.getLastSegment(); return !GrailsNature.isGrailsProject(project); } } } return true; }
From source file:org.grails.ide.eclipse.refactoring.util.RefactoringUtils.java
License:Open Source License
/** * Creates a default 'search scope' to search for references that need updating in a Grails project. The default scope includes all * source folders in the Grails project that actually 'belong' to the project (i.e. all source folders, but excluding * the linked plugin source folders./* w w w . ja v a 2 s. c o m*/ * * @throws JavaModelException */ public static IJavaSearchScope getSearchScope(IJavaProject javaProject) throws JavaModelException { IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); List<IPackageFragmentRoot> srcFolders = new ArrayList<IPackageFragmentRoot>(); for (IPackageFragmentRoot root : roots) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { if (!GrailsResourceUtil.isGrailsDependencyPackageFragmentRoot(root)) { srcFolders.add(root); // System.out.println(root.getPath()); } } } return SearchEngine.createJavaSearchScope(srcFolders.toArray(new IJavaElement[srcFolders.size()])); }
From source file:org.gw4e.eclipse.menu.SynchronizeBuildPoliciesEnabled.java
License:Open Source License
@Override public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { IProject project = null;/*from ww w . j a va 2 s. c o m*/ boolean authorized = false; if (receiver instanceof IJavaProject) { project = ((IJavaProject) receiver).getProject(); authorized = true; } else { if (receiver instanceof IPackageFragmentRoot) { IPackageFragmentRoot pfr = ((IPackageFragmentRoot) receiver); project = pfr.getJavaProject().getProject(); try { authorized = (pfr.getKind() == IPackageFragmentRoot.K_SOURCE); } catch (JavaModelException ignore) { } } else { if (receiver instanceof IPackageFragment) { IPackageFragment pf = (IPackageFragment) receiver; project = pf.getJavaProject().getProject(); authorized = true; } } } if (authorized && project != null) { if (GW4ENature.hasGW4ENature(project)) return true; } return false; }
From source file:org.hibernate.eclipse.jdt.ui.internal.jpa.actions.JPAMapToolActionDelegate.java
License:Open Source License
protected boolean checkEnabled() { boolean enable = false; Object obj = refContextObject != null ? refContextObject.get() : null; if (obj == null) { return enable; }//from w w w . j a v a2s. co m List<?> list = null; if (obj instanceof List) { list = (List<?>) obj; } else { list = Collections.singletonList(obj); } Iterator<?> it = list.iterator(); while (it.hasNext() && !enable) { Object obj2 = it.next(); if (!(obj2 instanceof IJavaElement)) { continue; } int kind = IPackageFragmentRoot.K_SOURCE; if (obj2 instanceof IPackageFragment) { IPackageFragment pf = (IPackageFragment) obj2; try { kind = pf.getKind(); } catch (JavaModelException e) { kind = IPackageFragmentRoot.K_BINARY; } } else if (obj2 instanceof IPackageFragmentRoot) { IPackageFragmentRoot pfr = (IPackageFragmentRoot) obj2; try { kind = pfr.getKind(); } catch (JavaModelException e) { kind = IPackageFragmentRoot.K_BINARY; } } if (kind == IPackageFragmentRoot.K_SOURCE) { enable = true; } } if (!enable) { enable = isCUSelected(); } return enable; }