List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getPath
IPath getPath();
From source file:org.eclipse.virgo.ide.jdt.internal.ui.decoration.JdtClasspathContainerElementDecorator.java
License:Open Source License
/** * Decorates the given <code>element</code>. */// w w w. j av a 2 s. 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.runtime.internal.ui.editor.RepositoryBrowserEditorPage.java
License:Open Source License
private Section createRightSection(FormToolkit toolkit, ScrolledForm form) { GridLayout layout;//from ww w .j a v a2 s . c om Section leftSection = toolkit.createSection(form.getBody(), ExpandableComposite.TITLE_BAR | Section.DESCRIPTION); leftSection.setText(Messages.RepositoryBrowserEditorPage_BundlesAndLibraries); leftSection.setDescription( Messages.RepositoryBrowserEditorPage_BundlesAndLibrariesMessage + getServerName() + ". " //$NON-NLS-1$ + Messages.RepositoryBrowserEditorPage_BundlesAndLibrariesProviso); leftSection.setLayoutData(new GridData(GridData.FILL_BOTH)); Composite leftComposite = toolkit.createComposite(leftSection); layout = new GridLayout(); layout.numColumns = 1; leftComposite.setLayout(layout); leftComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); toolkit.paintBordersFor(leftComposite); leftSection.setClient(leftComposite); GridData data = new GridData(GridData.FILL_HORIZONTAL); Composite composite2 = toolkit.createComposite(leftComposite); layout = new GridLayout(); layout.numColumns = 2; layout.marginHeight = 5; composite2.setLayout(layout); composite2.setLayoutData(new GridData(GridData.FILL_BOTH)); toolkit.paintBordersFor(composite2); repositoryTableViewer = new CommonViewer(ServerUiPlugin.ARTEFACTS_BROWSER_VIEW_ID, composite2, SWT.BORDER | SWT.SINGLE); repositoryTableViewer.setSorter(new RepositoryViewerSorter()); registerContextMenu(repositoryTableViewer); data = new GridData(GridData.FILL_BOTH); data.heightHint = 120; repositoryTableViewer.getControl().setLayoutData(data); Composite buttonComposite = new Composite(composite2, SWT.NONE); buttonComposite.setLayout(new GridLayout(1, true)); data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING); buttonComposite.setLayoutData(data); data = new GridData(GridData.FILL_HORIZONTAL); data.widthHint = 100; refreshButton = toolkit.createButton(buttonComposite, Messages.RepositoryBrowserEditorPage_Refresh, SWT.PUSH); refreshButton.setLayoutData(data); refreshButton.setToolTipText(Messages.RepositoryBrowserEditorPage_RefreshMessage); refreshButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent selectionEvent) { refreshBundleRepository(); } }); downloadSourcesButton = toolkit.createButton(buttonComposite, Messages.RepositoryBrowserEditorPage_InstallSources, SWT.PUSH); downloadSourcesButton.setLayoutData(data); downloadSourcesButton.setToolTipText(Messages.RepositoryBrowserEditorPage_InstallSourcesMessage); downloadSourcesButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent selectionEvent) { downloadSources(); } }); // insert vertical space to make the download button stand out toolkit.createLabel(buttonComposite, Messages.RepositoryBrowserEditorPage_40); openManifestButton = toolkit.createButton(buttonComposite, Messages.RepositoryBrowserEditorPage_OpenManifest, SWT.PUSH); openManifestButton.setLayoutData(data); openManifestButton.setToolTipText(Messages.RepositoryBrowserEditorPage_OpenManifestMessage); openManifestButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent selectionEvent) { ISelection selection = repositoryTableViewer.getSelection(); if (selection instanceof IStructuredSelection) { Object element = ((IStructuredSelection) selection).getFirstElement(); if (element instanceof IPackageFragmentRoot) { IPackageFragmentRoot fragment = (IPackageFragmentRoot) element; BundleManifestEditor.openExternalPlugin(fragment.getPath().toFile(), "META-INF/MANIFEST.MF"); //$NON-NLS-1$ } } } }); openManifestButton.setEnabled(false); repositoryTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { ISelection selection = event.getSelection(); if (selection instanceof IStructuredSelection) { Object element = ((IStructuredSelection) selection).getFirstElement(); if (element instanceof IPackageFragmentRoot) { openManifestButton.setEnabled(true); } else { openManifestButton.setEnabled(false); } } } }); TableWrapLayout twLayout = new TableWrapLayout(); twLayout.bottomMargin = 0; twLayout.topMargin = 0; twLayout.leftMargin = 0; twLayout.rightMargin = 0; Composite wrappedComposite = toolkit.createComposite(leftComposite); wrappedComposite.setLayout(twLayout); GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(wrappedComposite); Link repoLink = new Link(wrappedComposite, SWT.WRAP); repoLink.setText(Messages.RepositoryBrowserEditorPage_NewBundlesMessage); repoLink.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { refreshBundleRepository(); } }); repoLink.setLayoutData(new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP)); return leftSection; }
From source file:org.eclipse.vjet.eclipse.javalaunch.utils.EclipseResourceUtils.java
License:Open Source License
/** * Find the source folder for this resource. For instance if the resource is * in "/src/main/java/com/ebay/blogs/login" then return "src/main/java" * /*from ww w . j a v a 2 s . c o m*/ * To do this we must iterate through all the package fragments and look for * source folders. If this is the source folder for the resource then remove * the source folder path. * * @param resource * @param jProject * @return */ protected static IPath getResourcePath(IResource resource, IJavaProject jProject) { /** */ if (jProject != null) { try { IPackageFragmentRoot[] packageRoots = jProject.getPackageFragmentRoots(); if (packageRoots != null) { // Look through the package fragment roots for (IPackageFragmentRoot packageFragmentRoot : packageRoots) { // If this is a source folder if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { // If this is the source folder for the resource we are interested in. if (packageFragmentRoot.getPath().isPrefixOf(resource.getFullPath())) { return packageFragmentRoot.getPath(); } } } } } catch (JavaModelException e) { e.printStackTrace(); throw new RuntimeException(e); } } return null; }
From source file:org.eclipse.wb.internal.core.utils.jdt.ui.PackageRootSelectionDialogField.java
License:Open Source License
/** * Return string presentation of package root. */// ww w . j a v a 2 s. c om private static String getRootString(IPackageFragmentRoot root) { return root == null ? "" : root.getPath().makeRelative().toString(); }
From source file:org.eclipse.wb.tests.designer.core.TestProject.java
License:Open Source License
private IPackageFragmentRoot createSourceFolder() throws CoreException { IFolder folder = m_project.getFolder("src"); folder.create(false, true, null);/*from w w w . j av a 2s. c om*/ IPackageFragmentRoot root = m_javaProject.getPackageFragmentRoot(folder); // IClasspathEntry[] oldEntries = m_javaProject.getRawClasspath(); IClasspathEntry[] newEntries = new IClasspathEntry[oldEntries.length + 1]; System.arraycopy(oldEntries, 0, newEntries, 0, oldEntries.length); newEntries[oldEntries.length] = JavaCore.newSourceEntry(root.getPath()); m_javaProject.setRawClasspath(newEntries, null); return root; }
From source file:org.eclipse.wst.xml.core.internal.contentmodel.tapestry.travelpackage.TapestryClassLoader.java
License:Open Source License
public IPackageFragmentRoot getTapestryCoreJar(IProject project) { IPackageFragmentRoot[] roots2;/* ww w . j av a2s . c om*/ try { roots2 = JavaCore.create(project).getAllPackageFragmentRoots(); for (IPackageFragmentRoot root : roots2) { if (!root.isArchive()) continue; String jarName = root.getPath().toString().substring(root.getPath().toString().lastIndexOf('/')); if (jarName.startsWith("/tapestry-core") && jarName.endsWith(".jar")) return root; } } catch (JavaModelException e) { e.printStackTrace(); } return null; }
From source file:org.eclipse.xtend.ide.builder.XtendParallelBuilderParticipant.java
License:Open Source License
public List<IPath> getSourceFolderPathes(IProject project) { List<IPath> sourceFolder = Lists.newArrayList(); try {/*w ww .j a v a2s .c o m*/ if (project.isOpen() && project.hasNature(JavaCore.NATURE_ID)) { IJavaProject javaProject = JavaCore.create(project); List<IPackageFragmentRoot> packageFragmentRoots = Arrays .asList(javaProject.getPackageFragmentRoots()); for (IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots) { if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { IPath path = packageFragmentRoot.getPath(); sourceFolder.add(path); } } } } catch (JavaModelException e) { if (!e.isDoesNotExist()) logger.error(e.getMessage(), e); } catch (CoreException e) { logger.error(e.getMessage(), e); } return sourceFolder; }
From source file:org.eclipse.xtend.shared.ui.core.internal.JDTUtil.java
License:Open Source License
public static ResourceID findXtendXpandResourceID(IJavaProject project, IStorage file) { if (file == null) return null; try {// w w w . j ava 2 s. c o m IPackageFragmentRoot[] roots = project.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { IPackageFragmentRoot root = roots[i]; if (root.getPath().isPrefixOf(file.getFullPath())) { IPath shortOne = file.getFullPath().removeFirstSegments(root.getPath().segmentCount()); String ns = shortOne.removeFileExtension().toString(); ns = patternSlash.matcher(ns).replaceAll("::"); return new ResourceID(ns, shortOne.getFileExtension()); } } } catch (JavaModelException e1) { XtendLog.logInfo(e1); } return null; }
From source file:org.eclipse.xtend.shared.ui.core.internal.JDTUtil.java
License:Open Source License
public static IJavaProject getJProject(IStorage s) { if (s instanceof IFile) { return JavaCore.create(((IFile) s).getProject()); } else {//w w w .java2 s. c o m IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (int i = 0; i < projects.length; i++) { IProject project = projects[i]; IJavaProject p = JavaCore.create(project); if (p.exists()) { IPackageFragmentRoot[] roots; try { roots = p.getPackageFragmentRoots(); for (int j = 0; j < roots.length; j++) { IPackageFragmentRoot root = roots[j]; if (root.getPath().isPrefixOf(s.getFullPath())) return p; } } catch (JavaModelException e) { XtendLog.logError(e); } } } } return null; }
From source file:org.eclipse.xtext.builder.impl.javasupport.JdtToBeBuiltComputer.java
License:Open Source License
protected boolean isBuiltByUpstream(IPackageFragmentRoot root, IProject project, IProject[] projectsInCorrectBuildOrder) { for (IProject p : projectsInCorrectBuildOrder) { if (p.equals(project)) return false; if (XtextProjectHelper.hasNature(p) && XtextProjectHelper.hasBuilder(p)) { IJavaProject javaProject = JavaCore.create(p); if (javaProject.exists()) { if (javaProject.isOnClasspath(root)) { if (log.isTraceEnabled()) log.trace("Build of project '" + project.getName() + "' skips indexing classpath entry '" + root.getPath() + "' because it already indexed by " + javaProject.getElementName()); return true; }/*w ww .j ava 2 s . c om*/ } } } return false; }