List of usage examples for org.eclipse.jdt.core IJavaProject getPackageFragmentRoots
IPackageFragmentRoot[] getPackageFragmentRoots() throws JavaModelException;
From source file:com.siteview.mde.internal.core.search.PluginJavaSearchUtil.java
License:Open Source License
public static IJavaSearchScope createSeachScope(IJavaProject jProject) throws JavaModelException { IPackageFragmentRoot[] roots = jProject.getPackageFragmentRoots(); ArrayList filteredRoots = new ArrayList(); for (int i = 0; i < roots.length; i++) { if (roots[i].getResource() != null && roots[i].getResource().getProject().equals(jProject.getProject())) { filteredRoots.add(roots[i]); }/*from w ww. ja v a2 s. c o m*/ } return SearchEngine.createJavaSearchScope( (IJavaElement[]) filteredRoots.toArray(new IJavaElement[filteredRoots.size()])); }
From source file:com.siteview.mde.internal.core.util.ManifestUtils.java
License:Open Source License
public static IPackageFragmentRoot[] findPackageFragmentRoots(IManifestHeader header, IProject project) { IJavaProject javaProject = JavaCore.create(project); String[] libs;/*www . ja v a2s . c o m*/ if (header == null || header.getValue() == null) libs = new String[] { "." }; //$NON-NLS-1$ else libs = header.getValue().split(","); //$NON-NLS-1$ IBuild build = getBuild(project); if (build == null) { try { return javaProject.getPackageFragmentRoots(); } catch (JavaModelException e) { return new IPackageFragmentRoot[0]; } } List pkgFragRoots = new LinkedList(); for (int j = 0; j < libs.length; j++) { String lib = libs[j]; //https://bugs.eclipse.org/bugs/show_bug.cgi?id=230469 IPackageFragmentRoot root = null; if (!lib.equals(".")) { //$NON-NLS-1$ try { root = javaProject.getPackageFragmentRoot(project.getFile(lib)); } catch (IllegalArgumentException e) { return new IPackageFragmentRoot[0]; } } if (root != null && root.exists()) { pkgFragRoots.add(root); } else { IBuildEntry entry = build.getEntry("source." + lib); //$NON-NLS-1$ if (entry == null) continue; String[] tokens = entry.getTokens(); for (int i = 0; i < tokens.length; i++) { IResource resource = project.findMember(tokens[i]); if (resource == null) continue; root = javaProject.getPackageFragmentRoot(resource); if (root != null && root.exists()) pkgFragRoots.add(root); } } } return (IPackageFragmentRoot[]) pkgFragRoots.toArray(new IPackageFragmentRoot[pkgFragRoots.size()]); }
From source file:com.siteview.mde.internal.core.util.PDEJavaHelper.java
License:Open Source License
private static IPackageFragmentRoot[] getRoots(IJavaProject jProject) { ArrayList result = new ArrayList(); try {/* ww w . j ava2 s .c om*/ IPackageFragmentRoot[] roots = jProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE || jProject.getProject().equals(roots[i].getCorrespondingResource()) || (roots[i].isArchive() && !roots[i].isExternal())) { result.add(roots[i]); } } } catch (JavaModelException e) { } return (IPackageFragmentRoot[]) result.toArray(new IPackageFragmentRoot[result.size()]); }
From source file:com.siteview.mde.internal.launching.launcher.LaunchArgumentsHelper.java
License:Open Source License
private static String getStartupJarPath() throws CoreException { IMonitorModelBase model = MonitorRegistry.findModel("org.eclipse.platform"); //$NON-NLS-1$ if (model != null && model.getUnderlyingResource() != null) { IProject project = model.getUnderlyingResource().getProject(); if (project.hasNature(JavaCore.NATURE_ID)) { IJavaProject jProject = JavaCore.create(project); IPackageFragmentRoot[] roots = jProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE && roots[i].getPackageFragment("org.eclipse.core.launcher").exists()) { //$NON-NLS-1$ IPath path = jProject.getOutputLocation().removeFirstSegments(1); return project.getLocation().append(path).toOSString(); }// w ww .j a v a 2 s.c om } } if (project.getFile("startup.jar").exists()) //$NON-NLS-1$ return project.getFile("startup.jar").getLocation().toOSString(); //$NON-NLS-1$ } File startupJar = new Path(TargetPlatform.getLocation()).append("startup.jar").toFile(); //$NON-NLS-1$ // if something goes wrong with the preferences, fall back on the startup.jar // in the running eclipse. if (!startupJar.exists()) startupJar = new Path(TargetPlatform.getDefaultLocation()).append("startup.jar").toFile(); //$NON-NLS-1$ return startupJar.exists() ? startupJar.getAbsolutePath() : null; }
From source file:com.siteview.mde.internal.ui.editor.build.RuntimeInfoSection.java
License:Open Source License
private IPackageFragmentRoot[] computeSourceFolders() { ArrayList folders = new ArrayList(); IBuildModel buildModel = getBuildModel(); IProject project = buildModel.getUnderlyingResource().getProject(); try {// w w w .j a v a 2 s.co m if (project.hasNature(JavaCore.NATURE_ID)) { IJavaProject jProject = JavaCore.create(project); IPackageFragmentRoot[] roots = jProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) folders.add(roots[i]); } } catch (JavaModelException e) { MDEPlugin.logException(e); } catch (CoreException e) { MDEPlugin.logException(e); } return (IPackageFragmentRoot[]) folders.toArray(new IPackageFragmentRoot[folders.size()]); }
From source file:com.siteview.mde.internal.ui.editor.monitor.ImportPackageSection.java
License:Open Source License
private void setElements(ConditionalListSelectionDialog dialog) { Set forbidden = getForbiddenIds(); boolean allowJava = "true".equals(getBundle().getHeader(ICoreConstants.ECLIPSE_JREBUNDLE)); //$NON-NLS-1$ ArrayList elements = new ArrayList(); ArrayList conditional = new ArrayList(); IMonitorModelBase[] models = MonitorRegistry.getActiveModels(); Set nameVersions = new HashSet(); // Set of NameVersionDescriptors, used to remove duplicate entries for (int i = 0; i < models.length; i++) { BundleDescription desc = models[i].getBundleDescription(); // If the current model is a fragment, it can export packages only if its parent has hasExtensibleAPI set if (isFragmentThatCannotExportPackages(models[i])) continue; String id = desc == null ? null : desc.getSymbolicName(); if (id == null || forbidden.contains(id)) continue; ExportPackageDescription[] exported = desc.getExportPackages(); for (int j = 0; j < exported.length; j++) { String name = exported[j].getName(); NameVersionDescriptor nameVersion = new NameVersionDescriptor(exported[j].getName(), exported[j].getVersion().toString(), NameVersionDescriptor.TYPE_PACKAGE); if (("java".equals(name) || name.startsWith("java.")) && !allowJava) //$NON-NLS-1$ //$NON-NLS-2$ continue; if (nameVersions.add(nameVersion) && (fHeader == null || !fHeader.hasPackage(name))) elements.add(new ImportItemWrapper(exported[j])); }/*from www . j a va 2s. c om*/ IMonitorModelBase model = (IMonitorModelBase) getPage().getMDEEditor().getAggregateModel(); if (model instanceof IBundlePluginModelBase) { IBundleModel bmodel = ((IBundlePluginModelBase) model).getBundleModel(); if (bmodel != null) { ExportPackageHeader header = (ExportPackageHeader) bmodel.getBundle() .getManifestHeader(Constants.EXPORT_PACKAGE); if (header != null) { ExportPackageObject[] pkgs = header.getPackages(); for (int j = 0; j < pkgs.length; j++) { String name = pkgs[j].getName(); String version = pkgs[j].getVersion(); NameVersionDescriptor nameVersion = new NameVersionDescriptor(name, version, NameVersionDescriptor.TYPE_PACKAGE); if (nameVersions.add(nameVersion) && (fHeader == null || !fHeader.hasPackage(name))) elements.add(new ImportItemWrapper(pkgs[j])); } } } } } for (int i = 0; i < models.length; i++) { try { // add un-exported packages in workspace non-binary plug-ins IResource resource = models[i].getUnderlyingResource(); IProject project = resource != null ? resource.getProject() : null; if (project == null || !project.hasNature(JavaCore.NATURE_ID) || WorkspaceModelManager.isBinaryProject(project) || !PDEProject.getManifest(project).exists()) continue; // If the current model is a fragment, it can export packages only if its parent has hasExtensibleAPI set if (isFragmentThatCannotExportPackages(models[i])) continue; IJavaProject jp = JavaCore.create(project); IPackageFragmentRoot[] roots = jp.getPackageFragmentRoots(); for (int j = 0; j < roots.length; j++) { if (roots[j].getKind() == IPackageFragmentRoot.K_SOURCE || (roots[j].getKind() == IPackageFragmentRoot.K_BINARY && !roots[j].isExternal())) { IJavaElement[] children = roots[j].getChildren(); for (int k = 0; k < children.length; k++) { IPackageFragment f = (IPackageFragment) children[k]; String name = f.getElementName(); NameVersionDescriptor nameVersion = new NameVersionDescriptor(name, null, NameVersionDescriptor.TYPE_PACKAGE); if (name.equals("")) //$NON-NLS-1$ name = "."; //$NON-NLS-1$ if (nameVersions.add(nameVersion) && (f.hasChildren() || f.getNonJavaResources().length > 0)) conditional.add(new ImportItemWrapper(f)); } } } } catch (CoreException e) { } } dialog.setElements(elements.toArray()); dialog.setConditionalElements(conditional.toArray()); }
From source file:com.siteview.mde.internal.ui.editor.schema.NewClassCreationWizard.java
License:Open Source License
private void initializeValues(IProject project, String value) throws JavaModelException { value = TextUtil.trimNonAlphaChars(value); IJavaProject javaProject = JavaCore.create(project); IPackageFragmentRoot srcEntryDft = null; IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) { srcEntryDft = roots[i];//from w w w. ja va2 s .co m break; } } if (srcEntryDft != null) packageRoot = srcEntryDft; else packageRoot = javaProject.getPackageFragmentRoot(javaProject.getResource()); String packageNameString = null; int index = value.lastIndexOf("."); //$NON-NLS-1$ if (index == -1) { className = value; } else { className = value.substring(index + 1); packageNameString = value.substring(0, index); } if (packageNameString != null && packageRoot != null) { IFolder packageFolder = project.getFolder(packageNameString); packageName = packageRoot.getPackageFragment(packageFolder.getProjectRelativePath().toOSString()); } }
From source file:com.siteview.mde.launching.PDESourcePathProvider.java
License:Open Source License
/** * Adds runtime classpath entries for binary package fragment roots contained within * the project// w w w.j av a 2 s. c o m * * @param jProject * the Java project whose roots are to be enumerated * @param all * a list of accumulated runtime classpath entries * @throws CoreException * if unable to evaluate the package fragment roots */ private void addBinaryPackageFragmentRoots(IJavaProject jProject, List all) throws CoreException { IPackageFragmentRoot[] roots = jProject.getPackageFragmentRoots(); for (int j = 0; j < roots.length; j++) { if (roots[j].getKind() == IPackageFragmentRoot.K_BINARY && !PDEJavaHelper.isJRELibrary(roots[j])) { IRuntimeClasspathEntry rte = JavaRuntime.newArchiveRuntimeClasspathEntry(roots[j].getPath()); IPath path = roots[j].getSourceAttachmentPath(); if (path != null) { rte.setSourceAttachmentPath(path); rte.setSourceAttachmentRootPath(roots[j].getSourceAttachmentRootPath()); } if (!all.contains(rte)) all.add(rte); } } }
From source file:com.technophobia.substeps.step.ProjectStepImplementationLoader.java
License:Open Source License
private String[] findDependenciesFor(final IJavaProject javaProject) { try {/*from w w w.j ava 2s . c o m*/ final IPackageFragmentRoot[] fragmentRoots = javaProject.getPackageFragmentRoots(); final Collection<String> rootPaths = new ArrayList<String>(fragmentRoots.length); for (int i = 0; i < fragmentRoots.length; i++) { if (fragmentRoots[i].getKind() == IPackageFragmentRoot.K_BINARY) { final String path = getPathFor(fragmentRoots[i]); if (path != null) { rootPaths.add(path); } } } return rootPaths.toArray(new String[rootPaths.size()]); } catch (final JavaModelException ex) { FeatureEditorPlugin.instance() .warn("Could not get package fragment roots for project " + javaProject.getProject().getName()); return new String[0]; } }
From source file:com.testify.ecfeed.ui.common.EclipseModelImplementer.java
License:Open Source License
private IPackageFragmentRoot getAnySourceFolder() throws CoreException { if (fFileInfoProvider.getProject().hasNature(JavaCore.NATURE_ID)) { IJavaProject project = JavaCore.create(fFileInfoProvider.getProject()); for (IPackageFragmentRoot packageFragmentRoot : project.getPackageFragmentRoots()) { if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { return packageFragmentRoot; }/*from w w w . j a v a2s .c o m*/ } } return null; }