List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE
int K_SOURCE
To view the source code for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE.
Click Source Link
From source file:io.spring.boot.development.eclipse.visitors.SpringFactories.java
License:Open Source License
static SpringFactories find(IProject project) { IJavaProject javaProject = JavaCore.create(project); try {/* w w w .j av a 2 s. co m*/ for (IPackageFragmentRoot root : javaProject.getAllPackageFragmentRoots()) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { IFile springFactories = project.getFile( root.getResource().getProjectRelativePath().append("META-INF/spring.factories")); if (springFactories.exists()) { Properties properties = new Properties(); properties.load(springFactories.getContents()); return new SpringFactories(properties); } } } } catch (Exception ex) { throw new RuntimeException("Failure while finding spring.factories", ex); } return null; }
From source file:jp.co.dgic.eclipse.jdt.internal.coverage.ui.CoverageReportView.java
License:Open Source License
private String getSourceDirectories() throws CoreException { StringBuffer sb = new StringBuffer(); IPackageFragmentRoot[] roots;//from w w w . j a va 2 s . c om try { roots = getJavaProject().getAllPackageFragmentRoots(); for (int idx = 0; idx < roots.length; idx++) { int kind = roots[idx].getKind(); if (kind != IPackageFragmentRoot.K_SOURCE) continue; sb.append(roots[idx].getResource().getLocation()); sb.append(";"); } } catch (JavaModelException e) { throw new CoreException(e.getStatus()); } return sb.toString(); }
From source file:jp.co.dgic.eclipse.jdt.internal.junit.launcher.DJUnitLaunchConfiguration.java
License:Open Source License
private void findSourceDirFrom(IJavaProject javaProject, Set<IPath> sourceDirs) throws CoreException { IPackageFragmentRoot[] roots;/*from www . j a v a 2 s. com*/ try { roots = javaProject.getAllPackageFragmentRoots(); for (int idx = 0; idx < roots.length; idx++) { int kind = roots[idx].getKind(); if (kind != IPackageFragmentRoot.K_SOURCE) continue; sourceDirs.add(roots[idx].getResource().getLocation()); } } catch (JavaModelException e) { throw new CoreException(e.getStatus()); } }
From source file:kieker.develop.rl.ui.wizards.RecordLangNewWizardPage.java
License:Apache License
private IPackageFragmentRoot chooseSourceFolder() { final ISelectionStatusValidator validator = new ISelectionStatusValidator() { @Override/*ww w . ja va2s . co m*/ public IStatus validate(final Object[] selection) { // NOCS if (selection.length == 1) { if (this.isSelectedValid(selection[0])) { return Status.OK_STATUS; } else { return Status.CANCEL_STATUS; } } else { return Status.CANCEL_STATUS; } } private boolean isSelectedValid(final Object element) { try { if (element instanceof IJavaProject) { final IJavaProject jproject = (IJavaProject) element; final IPath path = jproject.getProject().getFullPath(); return jproject.findPackageFragmentRoot(path) != null; } else if (element instanceof IPackageFragmentRoot) { return ((IPackageFragmentRoot) element).getKind() == IPackageFragmentRoot.K_SOURCE; } return true; } catch (final JavaModelException e) { return false; } } }; final ViewerFilter filter = new ViewerFilter() { private final Class<?>[] acceptedClasses = new Class<?>[] { IJavaModel.class, IPackageFragmentRoot.class, IJavaProject.class }; @Override public boolean select(final Viewer viewer, final Object parent, final Object element) { if (element instanceof IPackageFragmentRoot) { try { return ((IPackageFragmentRoot) element).getKind() == IPackageFragmentRoot.K_SOURCE; } catch (final JavaModelException e) { return false; } } for (final Class<?> acceptedClasse : this.acceptedClasses) { if (acceptedClasse.isInstance(element)) { return true; } } return false; } }; final StandardJavaElementContentProvider provider = new StandardJavaElementContentProvider(); final ILabelProvider labelProvider = new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT); final ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(this.getShell(), labelProvider, provider); dialog.setValidator(validator); dialog.setComparator(new JavaElementComparator()); dialog.setTitle("Select source folder"); dialog.setMessage("Select a source folder"); dialog.addFilter(filter); dialog.setInput(JavaCore.create(ResourcesPlugin.getWorkspace().getRoot())); dialog.setInitialSelection(this.sourceFolder); dialog.setHelpAvailable(false); if (dialog.open() == Window.OK) { final Object element = dialog.getFirstResult(); if (element instanceof IJavaProject) { final IJavaProject jproject = (IJavaProject) element; return jproject.getPackageFragmentRoot(jproject.getProject()); } else if (element instanceof IPackageFragmentRoot) { return (IPackageFragmentRoot) element; } return null; } return null; }
From source file:net.atos.jdt.ast.validation.engine.project.ValidationProjectBuilder.java
License:Open Source License
/** * Retrieves the compilation units within the provided project * /*from w w w . ja va2 s . c om*/ * @param javaProject * @return * @throws JavaModelException */ private Collection<? extends ICompilationUnit> retrieveCompilationUnits(final IJavaProject javaProject) throws JavaModelException { final Collection<ICompilationUnit> compilationUnits = new ArrayList<ICompilationUnit>(); for (final IPackageFragmentRoot packageFragmentRoot : javaProject.getPackageFragmentRoots()) { if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { for (final IJavaElement element : packageFragmentRoot.getChildren()) { if (element instanceof IPackageFragment) { final IPackageFragment packageFragment = (IPackageFragment) element; for (final ICompilationUnit compilationUnit : packageFragment.getCompilationUnits()) { compilationUnits.add(compilationUnit); } } else if (element instanceof ICompilationUnit) { compilationUnits.add((ICompilationUnit) element); } } } } return compilationUnits; }
From source file:net.harawata.mybatipse.mybatis.ConfigRegistry.java
License:Open Source License
/** * Scans the project and returns the MyBatis config file if found.<br> * If there are multiple files in the project, only the first one is returned. * /* www.j a v a 2 s . c om*/ * @param project * @return MyBatis config file or <code>null</code> if none found. */ private Map<IFile, IContentType> search(IJavaProject project) { final Map<IFile, IContentType> configFiles = new ConcurrentHashMap<IFile, IContentType>(); try { project.getResource().accept(new ConfigVisitor(configFiles), IContainer.NONE); for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) { if (root.getKind() != IPackageFragmentRoot.K_SOURCE) continue; root.getResource().accept(new ConfigVisitor(configFiles), IContainer.NONE); } } catch (CoreException e) { Activator.log(Status.ERROR, "Searching MyBatis Config xml failed.", e); } return configFiles; }
From source file:net.harawata.mybatipse.mybatis.MapperNamespaceCache.java
License:Open Source License
private void collectMappers(IJavaProject project, final Map<String, IFile> map, final IReporter reporter) { try {/*from ww w . ja va 2 s. c om*/ for (IPackageFragmentRoot root : project.getAllPackageFragmentRoots()) { if (root.getKind() != IPackageFragmentRoot.K_SOURCE) { continue; } root.getResource().accept(new IResourceProxyVisitor() { @Override public boolean visit(IResourceProxy proxy) throws CoreException { if (!proxy.isDerived() && proxy.getType() == IResource.FILE && proxy.getName().endsWith(".xml")) { IFile file = (IFile) proxy.requestResource(); IContentDescription contentDesc = file.getContentDescription(); if (contentDesc != null) { IContentType contentType = contentDesc.getContentType(); if (contentType != null && contentType.isKindOf(mapperContentType)) { String namespace = extractNamespace(file); if (namespace != null) { map.put(namespace, file); } return false; } } } return true; } }, IContainer.NONE); } } catch (CoreException e) { Activator.log(Status.ERROR, "Searching MyBatis Mapper xml failed.", e); } }
From source file:net.officefloor.eclipse.classpath.ClasspathUtil.java
License:Open Source License
/** * Opens the class path resource./*from w w w . ja va 2s. c o m*/ * * @param resourcePath * Path to the resource on the class path. * @param editor * {@link AbstractOfficeFloorEditor} opening the resource. */ public static void openClasspathResource(String resourcePath, AbstractOfficeFloorEditor<?, ?> editor) { // Extensions final String CLASS_EXTENSION = ".class"; final String SOURCE_EXTENSION = ".java"; try { // Obtain the package and resource name int index = resourcePath.lastIndexOf('/'); String packageName = (index < 0 ? "" : resourcePath.substring(0, index)).replace('/', '.'); String resourceName = (index < 0 ? resourcePath : resourcePath.substring(index + 1)); // +1 // to // skip // separator // Obtain the java project IJavaProject project = JavaCore.create(ProjectConfigurationContext.getProject(editor.getEditorInput())); // Iterate over the fragment roots searching for the file for (IPackageFragmentRoot root : project.getAllPackageFragmentRoots()) { // Attempt to obtain the package IPackageFragment packageFragment = root.getPackageFragment(packageName); if (!packageFragment.exists()) { continue; // must have package } // Handle if a java or class file if (JavaCore.isJavaLikeFileName(resourceName) || resourceName.endsWith(CLASS_EXTENSION)) { // Handle based on kind of fragment root int rootKind = root.getKind(); switch (rootKind) { case IPackageFragmentRoot.K_BINARY: // Binary, so ensure extension is class if (resourceName.endsWith(SOURCE_EXTENSION)) { resourceName = resourceName.replace(SOURCE_EXTENSION, CLASS_EXTENSION); } // Attempt to obtain and open the class file IClassFile classFile = packageFragment.getClassFile(resourceName); if (classFile != null) { openEditor(editor, classFile); return; // opened } break; case IPackageFragmentRoot.K_SOURCE: // Source, so ensure extension is java if (resourceName.endsWith(CLASS_EXTENSION)) { resourceName = resourceName.replace(CLASS_EXTENSION, SOURCE_EXTENSION); } // Attempt to obtain the compilation unit (source file) ICompilationUnit sourceFile = packageFragment.getCompilationUnit(resourceName); if (sourceFile != null) { openEditor(editor, sourceFile); return; // opened } break; default: throw new IllegalStateException("Unknown package fragment root kind: " + rootKind); } } else { // Not java file, so open as resource for (Object nonJavaResource : packageFragment.getNonJavaResources()) { // Should only be opening files if (nonJavaResource instanceof IFile) { IFile file = (IFile) nonJavaResource; // Determine if the file looking for if (resourceName.equals(file.getName())) { // Found file to open, so open openEditor(editor, file); return; } } else { // Unknown resource type throw new IllegalStateException( "Unkown resource type: " + nonJavaResource.getClass().getName()); } } } } // Unable to open as could not find MessageDialog.openWarning(editor.getEditorSite().getShell(), "Open", "Could not find: " + resourcePath); } catch (Throwable ex) { // Failed to open file MessageDialog.openInformation(editor.getEditorSite().getShell(), "Open", "Failed to open '" + resourcePath + "': " + ex.getMessage()); } }
From source file:net.rim.ejde.internal.util.ImportUtils.java
License:Open Source License
static private List<LinkBuffer> generateLinks(IJavaProject eclipseJavaProject, ResourcesBuffer buffer, Project legacyProject) {/*from w ww . j av a2s . co m*/ Map<String, Set<File>> javaArtifacts = buffer.getJavaContener(); Map<String, Set<File>> localeArtifacts = buffer.getlocaleContener(); Set<File> nonPackageableFiles = buffer.getNonPackageContener(); IPath drfpath = null, filePath = null; IFile eclipseFileHandle = null, fileHandle = null; IProject eclipseProject = eclipseJavaProject.getProject(); IWorkspaceRoot workspaceRoot = eclipseProject.getWorkspace().getRoot(); List<String> sources = net.rim.ejde.internal.legacy.Util.getSources(legacyProject); IPackageFragmentRoot[] packageFragmentRoots; IPackageFragment packageFragment; IFolder packageFolder; IResource resource, packageDirectory; List<LinkBuffer> linkBuffers = Collections.emptyList(); try { // packageFragmentRoots = // eclipseJavaProject.getPackageFragmentRoots(); //!WARNING: it // seems this is buggy!!!! packageFragmentRoots = eclipseJavaProject.getAllPackageFragmentRoots(); linkBuffers = new ArrayList<LinkBuffer>(); String srcFolder = POTENTIAL_SOURCE_FOLDERS[PROJECT_SRC_FOLDE_INDEX]; String resFolder = POTENTIAL_SOURCE_FOLDERS[PROJECT_RES_FOLDE_INDEX]; String localeFolder = POTENTIAL_SOURCE_FOLDERS[PROJECT_LOCALE_FOLDE_INDEX]; IJavaProject javaProject = null; for (IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots) { javaProject = packageFragmentRoot.getParent().getJavaProject(); if (javaProject == null || !javaProject.equals(eclipseJavaProject)) { // fixed DPI225325, we only care source folders in the // current project continue; } if (IPackageFragmentRoot.K_SOURCE == packageFragmentRoot.getKind()) { packageDirectory = packageFragmentRoot.getResource(); if (null != packageDirectory) { if (isResourceTargetFolder(packageDirectory)) { if (IResource.FOLDER == packageDirectory.getType()) { // handle resource files which are not java, rrh // and rrc if (resFolder.equalsIgnoreCase(packageDirectory.getName())) { packageFragment = packageFragmentRoot.createPackageFragment(StringUtils.EMPTY, true, new NullProgressMonitor()); packageFolder = (IFolder) packageFragment.getResource(); for (File file : nonPackageableFiles) { filePath = new Path(file.getAbsolutePath()); if (canIgnoreFile(filePath, eclipseJavaProject)) { continue; } // drfpath = PackageUtils.resolvePathForFile( filePath, legacyProjectPath, // legacyWorkspacePath ); // DPI222295 try { drfpath = new Path(PackageUtils.getFilePackageString(filePath.toFile(), legacyProject)).append(filePath.lastSegment()); } catch (CoreException e) { _log.error(e.getMessage()); drfpath = new Path(IConstants.EMPTY_STRING); } if (drfpath.segmentCount() > 1) { if (sources.contains(drfpath.segment(0))) { drfpath = drfpath.removeFirstSegments(1); } drfpath = assureFolderPath(packageFolder, drfpath); } fileHandle = createFileHandle(packageFolder, drfpath.toOSString()); resource = eclipseProject.findMember( PackageUtils.deResolve(filePath, eclipseProject.getLocation())); if (resource != null) eclipseFileHandle = workspaceRoot.getFile(resource.getFullPath()); else eclipseFileHandle = workspaceRoot .getFile(eclipseProject.getFullPath().append(drfpath)); if (!fileHandle.equals(eclipseFileHandle)) { linkBuffers.add(new LinkBuffer(fileHandle, filePath)); } } } if (srcFolder.equalsIgnoreCase(packageDirectory.getName()) || srcFolder.equalsIgnoreCase(packageDirectory.getName())) { // All linkPackagableFiles(javaProject, packageFragmentRoot, javaArtifacts, linkBuffers); } if (localeFolder.equalsIgnoreCase(packageDirectory.getName()) || localeFolder.equalsIgnoreCase(packageDirectory.getName())) { linkPackagableFiles(javaProject, packageFragmentRoot, localeArtifacts, linkBuffers); } } else { continue; } } } } } } catch (JavaModelException e1) { _log.error(e1.getMessage(), e1); } return linkBuffers; }
From source file:net.rim.ejde.internal.util.ProjectUtils.java
License:Open Source License
/** * Locates all the source folders represented by type IPackageFragmentRoot.K_SOURCE for the given project. * * @param project/* w w w .j a v a2s .c om*/ * The IProject to search for source folders. * @return An IPackageFragmentRoot array containing each K_SOURCE fragment found for the given project. */ public static IPackageFragmentRoot[] getProjectSourceFolders(IProject project) { IJavaProject iJavaProject = JavaCore.create(project); ArrayList<IPackageFragmentRoot> sourceRoots = new ArrayList<IPackageFragmentRoot>(); if (iJavaProject.exists() && iJavaProject.isOpen()) { try { IPackageFragmentRoot[] roots = iJavaProject.getAllPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { if (IPackageFragmentRoot.K_SOURCE == root.getKind()) { sourceRoots.add(root); } } } catch (JavaModelException e) { logger.error("findProjectSources: Could not retrieve project sources:", e); //$NON-NLS-1$ return new IPackageFragmentRoot[0]; } } return sourceRoots.toArray(new IPackageFragmentRoot[sourceRoots.size()]); }