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:org.eclipse.pde.internal.ui.editor.build.RuntimeInfoSection.java
License:Open Source License
private IPackageFragmentRoot[] computeSourceFolders() { ArrayList<IPackageFragmentRoot> folders = new ArrayList<IPackageFragmentRoot>(); IBuildModel buildModel = getBuildModel(); IProject project = buildModel.getUnderlyingResource().getProject(); try {//from w ww. j a v a 2 s.c o 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) { PDEPlugin.logException(e); } catch (CoreException e) { PDEPlugin.logException(e); } return folders.toArray(new IPackageFragmentRoot[folders.size()]); }
From source file:org.eclipse.pde.internal.ui.editor.plugin.ImportPackageSection.java
License:Open Source License
private void setElements(ConditionalListSelectionDialog dialog) { Set<String> forbidden = getForbiddenIds(); boolean allowJava = "true".equals(getBundle().getHeader(ICoreConstants.ECLIPSE_JREBUNDLE)); //$NON-NLS-1$ ArrayList<ImportItemWrapper> elements = new ArrayList<ImportItemWrapper>(); ArrayList<ImportItemWrapper> conditional = new ArrayList<ImportItemWrapper>(); IPluginModelBase[] models = PluginRegistry.getActiveModels(); Set<NameVersionDescriptor> nameVersions = new HashSet<NameVersionDescriptor>(); // 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])); }/*www. java2 s. com*/ IPluginModelBase model = (IPluginModelBase) getPage().getPDEEditor().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:org.eclipse.pde.internal.ui.editor.plugin.ImportPackageSection.java
License:Open Source License
private IPackageFragmentRoot[] getSourceRoots() throws JavaModelException { ArrayList<IPackageFragmentRoot> result = new ArrayList<IPackageFragmentRoot>(); IProject project = getPage().getPDEEditor().getCommonProject(); // would normally return array of size 0, but by returning null can optimize the search to run faster. if (project == null) { return null; }/*from w w w . j ava 2 s. c om*/ IPackageFragmentRoot[] roots = JavaCore.create(project).getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE || (roots[i].isArchive() && !roots[i].isExternal())) result.add(roots[i]); } return result.toArray(new IPackageFragmentRoot[result.size()]); }
From source file:org.eclipse.pde.internal.ui.editor.plugin.JavaAttributeWizardPage.java
License:Open Source License
private void initializeExpectedValues() { // source folder name, package name, class name int loc = className.indexOf(":"); //$NON-NLS-1$ if (loc != -1) { if (loc < className.length()) { initialValues.classArgs = className.substring(loc + 1, className.length()); className = className.substring(0, loc); }/*from w ww . jav a 2s . c o m*/ if (loc > 0) initialValues.initialClassName = className.substring(0, loc); else if (loc == 0) initialValues.initialClassName = ""; //$NON-NLS-1$ } loc = className.lastIndexOf('.'); if (loc != -1) { initialValues.packageName = className.substring(0, loc); initialValues.initialClassName = className.substring(loc + 1); } if (javaProject == null) return; try { if (initialValues.packageFragmentRoot == null) { 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]; break; } } if (srcEntryDft != null) initialValues.packageFragmentRoot = srcEntryDft; else { initialValues.packageFragmentRoot = javaProject .getPackageFragmentRoot(javaProject.getResource()); } if (initialValues.packageFragment == null && initialValues.packageFragmentRoot != null && initialValues.packageName != null && initialValues.packageName.length() > 0) { IFolder packageFolder = project.getFolder(initialValues.packageName); initialValues.packageFragment = initialValues.packageFragmentRoot .getPackageFragment(packageFolder.getProjectRelativePath().toOSString()); } } // superclass and interface if (attInfo == null) { initialValues.interfaceName = "org.osgi.framework.BundleActivator"; //$NON-NLS-1$ initialValues.interfaceType = findTypeForName(initialValues.interfaceName); IEclipsePreferences prefs = new ProjectScope(project).getNode(PDECore.PLUGIN_ID); if (prefs != null && !prefs.getBoolean(ICoreConstants.EXTENSIONS_PROPERTY, true)) { return; } if (model != null) { IPluginImport[] imports = model.getPluginBase().getImports(); for (int i = 0; i < imports.length; i++) { if (imports[i].getId().equals("org.eclipse.ui")) { //$NON-NLS-1$ initialValues.superClassName = "org.eclipse.ui.plugin.AbstractUIPlugin"; //$NON-NLS-1$ initialValues.interfaceName = null; initialValues.interfaceType = null; break; } } } initialValues.superClassType = findTypeForName(initialValues.superClassName); return; } String schemaBasedOn = attInfo.getBasedOn(); if (schemaBasedOn == null || schemaBasedOn.length() == 0) { initialValues.superClassName = "java.lang.Object"; //$NON-NLS-1$ initialValues.superClassType = findTypeForName(initialValues.superClassName); return; } int del = schemaBasedOn.indexOf(':'); if (del != -1) { if (del == 0) { initialValues.superClassName = "java.lang.Object"; //$NON-NLS-1$ } else { initialValues.superClassName = schemaBasedOn.substring(0, del); } initialValues.superClassType = findTypeForName(initialValues.superClassName); if (del < schemaBasedOn.length() - 1) { initialValues.interfaceName = schemaBasedOn.substring(del + 1); initialValues.interfaceType = findTypeForName(initialValues.interfaceName); } } else { int schemaLoc = schemaBasedOn.lastIndexOf("."); //$NON-NLS-1$ if (schemaLoc != -1 && schemaLoc < schemaBasedOn.length()) { IType type = findTypeForName(schemaBasedOn); if (type != null && type.isInterface()) { initialValues.interfaceName = schemaBasedOn; initialValues.interfaceType = type; } else if (type != null && type.isClass()) { initialValues.superClassName = schemaBasedOn; initialValues.superClassType = type; } } } } catch (JavaModelException e) { PDEPlugin.logException(e); } }
From source file:org.eclipse.pde.internal.ui.properties.SelfHostingPropertyPage.java
License:Open Source License
private String[] getOutputFolders() { IProject project = (IProject) getElement().getAdapter(IProject.class); ArrayList<String> list = new ArrayList<String>(); try {//from www . j a v a 2 s . co m if (project.hasNature(JavaCore.NATURE_ID)) { IJavaProject jProject = JavaCore.create(project); list.add(jProject.getOutputLocation().toString()); IClasspathEntry[] entries = jProject.getRawClasspath(); for (int i = 0; i < entries.length; i++) { IClasspathEntry entry = entries[i]; if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE && entry.getContentKind() == IPackageFragmentRoot.K_SOURCE) { IPath path = entry.getOutputLocation(); if (path != null) list.add(path.toString()); } } } } catch (JavaModelException e) { } catch (CoreException e) { } return list.toArray(new String[list.size()]); }
From source file:org.eclipse.pde.internal.ui.search.dependencies.DependencyExtentQuery.java
License:Open Source License
public IPackageFragmentRoot[] getDirectRoots() { ArrayList<IPackageFragmentRoot> result = new ArrayList<IPackageFragmentRoot>(); try {// w w w . j a v a 2s. c o m IPackageFragmentRoot[] roots = JavaCore.create(fProject).getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE || (roots[i].isArchive() && !roots[i].isExternal())) { result.add(roots[i]); } } } catch (JavaModelException e) { } return result.toArray(new IPackageFragmentRoot[result.size()]); }
From source file:org.eclipse.recommenders.internal.coordinates.rcp.EclipseDependencyListener.java
License:Open Source License
private Set<DependencyInfo> searchForAllDependenciesOfProject(final IJavaProject javaProject) { Set<DependencyInfo> dependencies = Sets.newHashSet(); Set<IPackageFragmentRoot> jreRoots = jrePackageFragmentRoots.get(getDependencyInfoForProject(javaProject)); try {/*from w ww . j av a 2 s . c om*/ for (final IPackageFragmentRoot packageFragmentRoot : javaProject.getAllPackageFragmentRoots()) { if (!jreRoots.contains(packageFragmentRoot) && packageFragmentRoot instanceof JarPackageFragmentRoot) { DependencyInfo dependencyInfo = createDependencyInfoForJar(packageFragmentRoot); dependencies.add(dependencyInfo); } else if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE && packageFragmentRoot.getJavaProject() != null) { DependencyInfo dependencyInfo = DependencyInfos .createDependencyInfoForProject(packageFragmentRoot.getJavaProject()); dependencies.add(dependencyInfo); } } } catch (JavaModelException e) { Logs.log(LogMessages.ERROR_FAILED_TO_SEARCH_FOR_PROJECT_DEPENDENCIES, e, javaProject); } return dependencies; }
From source file:org.eclipse.sapphire.java.jdt.ui.internal.JavaTypeCreateActionHandler.java
License:Open Source License
private final IPackageFragmentRoot src(final IJavaProject project) throws JavaModelException { for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { return root; }/*from ww w .j a v a 2 s. c om*/ } return null; }
From source file:org.eclipse.servicesregistry.testutils.TestProject.java
License:Open Source License
private IPackageFragmentRoot findSourceFolder() throws JavaModelException { for (IPackageFragmentRoot pfr : javaProject.getAllPackageFragmentRoots()) { if (pfr.getKind() == IPackageFragmentRoot.K_SOURCE) { return pfr; }// w w w . j a v a2s .c om } return null; }
From source file:org.eclipse.virgo.ide.manifest.internal.core.validation.rules.ExportPackageRule.java
License:Open Source License
private void validateExportPackage(BundleManifestHeader header, ManifestElement element, BundleManifestValidationContext context) { boolean found = false; try {/*from ww w. j a va2s . co m*/ IPackageFragmentRoot[] roots = JdtUtils.getJavaProject(context.getRootElement().getElementResource()) .getPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { int kind = root.getKind(); if (kind == IPackageFragmentRoot.K_SOURCE || (kind == IPackageFragmentRoot.K_BINARY && !root.isExternal())) { IJavaElement[] javaElements = root.getChildren(); for (int j = 0; j < javaElements.length; j++) if (javaElements[j] instanceof IPackageFragment) { IPackageFragment fragment = (IPackageFragment) javaElements[j]; String name = fragment.getElementName(); if (name.length() == 0) { name = "."; } if (fragment.containsJavaResources() || fragment.getNonJavaResources().length > 0) { if (name.equals(element.getValue())) { found = true; } } } } } } catch (JavaModelException e) { } // if we actually have packages to add if (!found) { context.warning("MISSING_PACKAGE_EXPORT", "Bundle does export non-existing package", header.getLineNumber() + 1); } }