List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getJavaProject
IJavaProject getJavaProject();
null
if this element is not contained in any Java project (for instance, the IJavaModel
is not contained in any Java project). From source file:org.eclipse.objectteams.otdt.internal.ui.wizards.NewTypeWizardPage.java
License:Open Source License
/** * Hook method that gets called when the list of super interface has changed. The method * validates the super interfaces and returns the status of the validation. * <p>/* ww w . j a v a 2 s .c o m*/ * Subclasses may extend this method to perform their own validation. * </p> * * @return the status of the validation */ protected IStatus superInterfacesChanged() { StatusInfo status = new StatusInfo(); IPackageFragmentRoot root = getPackageFragmentRoot(); _superInterfacesDialogField.enableButton(0, root != null); if (root != null) { List<Object> elements = _superInterfacesDialogField.getElements(); int nElements = elements.size(); for (int i = 0; i < nElements; i++) { String intfname = ((InterfaceWrapper) elements.get(i)).interfaceName; Type type = TypeContextChecker.parseSuperInterface(intfname); if (type == null) { status.setError(Messages .format(NewWizardMessages.NewTypeWizardPage_error_InvalidSuperInterfaceName, intfname)); return status; } if (type instanceof ParameterizedType && !JavaModelUtil.is50OrHigher(root.getJavaProject())) { status.setError(Messages.format( NewWizardMessages.NewTypeWizardPage_error_SuperInterfaceNotParameterized, intfname)); return status; } } } return status; }
From source file:org.eclipse.objectteams.otdt.tests.AbstractJavaModelTests.java
License:Open Source License
/** * Attaches a source zip to the given jar package fragment root. *//*from ww w . jav a 2s.c om*/ protected void attachSource(IPackageFragmentRoot root, String sourcePath, String sourceRoot) throws JavaModelException { IJavaProject javaProject = root.getJavaProject(); IClasspathEntry[] entries = (IClasspathEntry[]) javaProject.getRawClasspath().clone(); for (int i = 0; i < entries.length; i++) { IClasspathEntry entry = entries[i]; if (entry.getPath().toOSString().toLowerCase().equals(root.getPath().toOSString().toLowerCase())) { entries[i] = JavaCore.newLibraryEntry(root.getPath(), sourcePath == null ? null : new Path(sourcePath), sourceRoot == null ? null : new Path(sourceRoot), false); break; } } javaProject.setRawClasspath(entries, null); }
From source file:org.eclipse.pde.internal.ui.wizards.tools.ConvertJarsAction.java
License:Open Source License
/** * @see IActionDelegate#run(IAction)/* w ww .jav a2s. co m*/ */ public void run(IAction action) { Map<Manifest, Object> filesMap = new HashMap<Manifest, Object>(); Set<IProject> projectSelection = new HashSet<IProject>(); Iterator<?> i = selection.toList().iterator(); IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); while (i.hasNext()) { IPackageFragmentRoot pfr = (IPackageFragmentRoot) i.next(); JarFile file = null; try { projectSelection.add(pfr.getJavaProject().getProject()); IClasspathEntry rawClasspathEntry = pfr.getRawClasspathEntry(); IPath path = rawClasspathEntry.getPath(); IFile iFile = root.getFile(path); if (iFile.exists()) { file = new JarFile(iFile.getLocation().toString()); if (!filesMap.containsKey(file.getManifest())) { filesMap.put(file.getManifest(), iFile); } } else { String pathStr = path.toString(); file = new JarFile(pathStr); if (!filesMap.containsKey(file.getManifest())) { filesMap.put(file.getManifest(), new File(file.getName())); } } } catch (Exception e) { PDEPlugin.logException(e); } finally { if (file != null) { try { file.close(); } catch (IOException e) { PDEPlugin.logException(e); } } } } NewLibraryPluginProjectWizard wizard = new NewLibraryPluginProjectWizard(filesMap.values(), projectSelection); wizard.init(workbench, selection); WizardDialog dialog = new WizardDialog(Display.getDefault().getActiveShell(), wizard); dialog.open(); }
From source file:org.eclipse.pde.internal.ui.wizards.tools.ConvertJarsAction.java
License:Open Source License
/** * @see IActionDelegate#selectionChanged(IAction, ISelection) *///from w w w . j a va2 s . co m public void selectionChanged(IAction action, ISelection s) { boolean enabled = true; if (s instanceof IStructuredSelection) { selection = (IStructuredSelection) s; if (selection.size() == 0) return; Iterator<?> i = selection.iterator(); while (i.hasNext()) { Object obj = i.next(); if (obj instanceof IPackageFragmentRoot) { try { IPackageFragmentRoot packageFragment = (IPackageFragmentRoot) obj; if (packageFragment.getKind() == IPackageFragmentRoot.K_BINARY) { if (PDE.hasPluginNature(packageFragment.getJavaProject().getProject())) { if (packageFragment.getRawClasspathEntry() .getEntryKind() == IClasspathEntry.CPE_LIBRARY) continue; } } } catch (JavaModelException e) { } } enabled = false; break; } } else { enabled = false; this.selection = null; } action.setEnabled(enabled); }
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 {//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.recommenders.internal.models.rcp.ProjectCoordinateProvider.java
License:Open Source License
private Optional<DependencyInfo> extractDependencyInfo(IPackageFragmentRoot root) { if (root == null) { return absent(); }// ww w . j a va 2 s . c o m if (!root.isArchive()) { return extractDependencyInfo(root.getJavaProject()); } File location = JdtUtils.getLocation(root).orNull(); if (location == null) { return absent(); } IJavaProject javaProject = root.getJavaProject(); if (isPartOfJRE(root, javaProject)) { return DependencyInfos.createDependencyInfoForJre(javaProject); } else { DependencyInfo request = new DependencyInfo(location, JAR); return of(request); } }
From source file:org.eclipse.virgo.ide.jdt.internal.ui.decoration.JdtClasspathContainerElementDecorator.java
License:Open Source License
/** * Decorates the given <code>element</code>. *//* ww w .j a v a2s.c om*/ public void decorate(Object element, IDecoration decoration) { // package fragments are the first elements below the JAR file if (element instanceof IPackageFragment) { IPackageFragment packageFragment = (IPackageFragment) element; if (shouldDecorateImportedPackageFragment(packageFragment)) { // make light gray and lock icon decoration decoration.setForegroundColor(ColorMap.GRAY_LIGHT); decoration.addOverlay(JdtUiImages.DESC_OVR_LOCKED, IDecoration.TOP_LEFT); } else if (shouldDecorateExportedPackageFragment(packageFragment)) { decoration.addOverlay(JdtUiImages.DESC_OVR_EXPORTED, IDecoration.TOP_RIGHT); } } // jar package fragments roots; decorate those that come from a test dependency else if (element instanceof IPackageFragmentRoot) { IPackageFragmentRoot root = (IPackageFragmentRoot) element; try { if (ServerClasspathContainer.CLASSPATH_CONTAINER_PATH.equals(root.getRawClasspathEntry().getPath()) && root.getJavaProject().getProject().isAccessible() && root.getJavaProject().isOpen()) { ServerClasspathContainer cpContainer = (ServerClasspathContainer) JavaCore .getClasspathContainer(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH, root.getJavaProject()); if (cpContainer != null) { for (IClasspathEntry entry : cpContainer.getClasspathEntries()) { if (entry.getPath().equals(root.getPath()) && entry.getExtraAttributes() != null) { for (IClasspathAttribute attribute : entry.getExtraAttributes()) { if (attribute.getName() .equals(ServerClasspathContainer.TEST_CLASSPATH_ATTRIBUTE_VALUE)) { decoration.setForegroundColor(ColorMap.GRAY_LIGHT); decoration.addOverlay(JdtUiImages.DESC_OVR_LOCKED, IDecoration.TOP_LEFT); } } break; } } } } } catch (JavaModelException e) { } } // class files represent a single type file in a JAR else if (element instanceof IClassFile) { IClassFile classFile = (IClassFile) element; if (classFile.getParent() instanceof IPackageFragment) { if (shouldDecorateImportedPackageFragment((IPackageFragment) classFile.getParent())) { // make light gray decoration.setForegroundColor(ColorMap.GRAY_LIGHT); } } } // decorate the class path container and add the originating target runtime else if (element instanceof ClassPathContainer) { ClassPathContainer container = (ClassPathContainer) element; if (container.getClasspathEntry().getPath().equals(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH)) { try { if (container.getJavaProject().getProject().isAccessible() && container.getJavaProject().isOpen()) { ServerClasspathContainer cpContainer = (ServerClasspathContainer) JavaCore .getClasspathContainer(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH, container.getJavaProject()); decoration.addSuffix(cpContainer.getDescriptionSuffix()); } } catch (JavaModelException e) { } } } }
From source file:org.eclipse.virgo.ide.jdt.internal.ui.decoration.JdtClasspathContainerElementDecorator.java
License:Open Source License
/** * Checks if a given {@link IPackageFragment} is in the list of resolved imports for the current * {@link IJavaProject}./*from ww w. j ava2 s . co m*/ * * @return true if the {@link IPackageFragment} is not accessible from the java project */ private boolean shouldDecorateImportedPackageFragment(IPackageFragment packageFragment) { IPackageFragmentRoot root = (IPackageFragmentRoot) packageFragment.getParent(); IJavaProject javaProject = packageFragment.getJavaProject(); if (!(javaProject.getProject().isAccessible() && javaProject.isOpen())) { return false; } // Only decorate in bundle projects if (!FacetUtils.isBundleProject(javaProject.getProject())) { return false; } try { IClasspathEntry entry = root.getRawClasspathEntry(); if (entry.getPath().equals(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH)) { if (!BundleManifestCorePlugin.getBundleManifestManager() .getResolvedPackageImports(root.getJavaProject()) .contains(packageFragment.getElementName())) { return true; } } } catch (JavaModelException e) { } return false; }
From source file:org.eclipse.xtext.ui.containers.JavaProjectsStateHelper.java
License:Open Source License
public Collection<URI> initContainedURIs(String containerHandle) { IJavaElement javaElement = JavaCore.create(containerHandle); if (javaElement instanceof IPackageFragmentRoot) { IPackageFragmentRoot root = (IPackageFragmentRoot) javaElement; IJavaProject javaProject = root.getJavaProject(); if (!isAccessibleXtextProject(javaProject.getProject())) { return Collections.emptyList(); }/*from w ww. ja va2 s .c om*/ Map<URI, IStorage> entries = uriMapperExtensions.getAllEntries(root); return entries.keySet(); } return Collections.emptyList(); }
From source file:org.eclipse.xtext.ui.containers.JavaProjectsStateHelper.java
License:Open Source License
protected List<String> getPackageFragmentRootHandles(IJavaProject project) { List<String> result = Lists.newArrayList(); List<String> binaryAndNonLocalFragments = Lists.newArrayList(); try {//from ww w. j a v a 2 s . c om IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots(); result = Lists.newArrayListWithCapacity(roots.length); for (IPackageFragmentRoot root : roots) { if (root != null && !JavaRuntime.newDefaultJREContainerPath() .isPrefixOf(root.getRawClasspathEntry().getPath())) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE && project.equals(root.getJavaProject())) { // treat local sources with higher priority // see Java behavior in SameClassNamesTest result.add(root.getHandleIdentifier()); } else { binaryAndNonLocalFragments.add(root.getHandleIdentifier()); } } } } catch (JavaModelException e) { if (!e.isDoesNotExist()) { log.error("Cannot find rootHandles in project " + project.getProject().getName(), e); } } result.addAll(binaryAndNonLocalFragments); return result; }