List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot isArchive
public boolean isArchive();
From source file:org.eclipse.jst.j2ee.internal.web.operations.WebPropertiesUtil.java
License:Open Source License
public static String validateWebContentName(String webContentName, IProject project, String javaSourceName) { String msg = validateFolderName(webContentName); if (msg != null) return msg; if (javaSourceName != null && webContentName.equals(javaSourceName)) return ProjectSupportResourceHandler.Folder_names_cannot_be_equal_4; // If given a java project, check to make sure current package fragment // root folders do not overlap with new web content name if (project != null) { IJavaProject javaProject = JemProjectUtilities.getJavaProject(project); if (javaProject != null) { try { IPackageFragmentRoot roots[] = javaProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { IPackageFragmentRoot root = roots[i]; if (!root.isArchive()) { IResource resource = root.getCorrespondingResource(); if (resource.getType() == IResource.FOLDER) { IPath path = resource.getFullPath(); String rootFolder = path.segment(1); if (webContentName.equals(rootFolder)) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE) return ProjectSupportResourceHandler.Folder_name_cannot_be_the_same_as_Java_source_folder_5; return ProjectSupportResourceHandler.Folder_name_cannot_be_the_same_as_Java_class_folder_6; }//www . j a va 2 s . c om } } } } catch (JavaModelException e) { return null; } } } return null; }
From source file:org.eclipse.jst.j2ee.internal.wizard.NewJavaClassWizardPage.java
License:Open Source License
/** * Add folder group to composite//from w ww . j av a2s . c o m */ private void addFolderGroup(Composite composite) { // folder Label folderLabel = new Label(composite, SWT.LEFT); folderLabel.setText(J2EEUIMessages.FOLDER_LABEL); folderLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); folderText = new Text(composite, SWT.SINGLE | SWT.BORDER); folderText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); synchHelper.synchText(folderText, INewJavaClassDataModelProperties.SOURCE_FOLDER, null); IPackageFragmentRoot root = getSelectedPackageFragmentRoot(); String projectName = model.getStringProperty(IArtifactEditOperationDataModelProperties.PROJECT_NAME); if (projectName != null && projectName.length() > 0) { IProject targetProject = ProjectUtilities.getProject(projectName); if (root == null || !root.getJavaProject().getProject().equals(targetProject) || root.isArchive()) { IFolder folder = getDefaultJavaSourceFolder(targetProject); if (folder != null) folderText.setText(folder.getFullPath().toOSString()); } else { folderText.setText(root.getPath().toString()); } } folderButton = new Button(composite, SWT.PUSH); folderButton.setText(J2EEUIMessages.BROWSE_BUTTON_LABEL_O); folderButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); folderButton.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { handleFolderButtonPressed(); } public void widgetDefaultSelected(SelectionEvent e) { // Do nothing } }); }
From source file:org.eclipse.jst.servlet.ui.internal.navigator.CompressedJavaProject.java
License:Open Source License
public List getNonExternalSourceFolders() { List nonExternalSourceFolders = null; IPackageFragmentRoot[] sourceFolders; try {/* w w w.j a va 2 s. c om*/ IJavaProject jProject = JavaCore.create(project); sourceFolders = jProject.getPackageFragmentRoots(); nonExternalSourceFolders = new ArrayList(Arrays.asList(sourceFolders)); for (Iterator iter = nonExternalSourceFolders.iterator(); iter.hasNext();) { IPackageFragmentRoot root = (IPackageFragmentRoot) iter.next(); if (root.isExternal() || root.isArchive() || root.getKind() == IPackageFragmentRoot.K_BINARY) iter.remove(); } } catch (JavaModelException e) { ServletUIPlugin.log(e); } return nonExternalSourceFolders != null ? nonExternalSourceFolders : Collections.EMPTY_LIST; }
From source file:org.eclipse.m2e.jdt.internal.JavaElementsAdapterFactory.java
License:Open Source License
public Object getAdapter(Object adaptableObject, Class adapterType) { if (adapterType == ArtifactKey.class) { if (adaptableObject instanceof IPackageFragmentRoot) { IPackageFragmentRoot fragment = (IPackageFragmentRoot) adaptableObject; IProject project = fragment.getJavaProject().getProject(); if (project.isAccessible() && fragment.isArchive()) { try { return getBuildPathManager().findArtifact(project, fragment.getPath()); } catch (CoreException ex) { log.error("Can't find artifact for " + fragment, ex); return null; }// w ww . j av a 2 s. c o m } } else if (adaptableObject instanceof RequiredProjectWrapper) { IMavenProjectFacade projectFacade = getProjectFacade(adaptableObject); if (projectFacade != null) { return projectFacade.getArtifactKey(); } } else if (adaptableObject instanceof IJavaProject) { return ((IJavaProject) adaptableObject).getProject().getAdapter(ArtifactKey.class); } } else if (adapterType == IPath.class) { if (adaptableObject instanceof IJavaElement) { IResource resource = ((IJavaElement) adaptableObject).getResource(); if (resource != null) { return resource.getLocation(); } } } else if (adapterType == IMavenProjectFacade.class) { if (adaptableObject instanceof IJavaElement) { IProject project = ((IJavaElement) adaptableObject).getJavaProject().getProject(); IMavenProjectFacade projectFacade = getProjectFacade(project); if (projectFacade != null) { return projectFacade; } } else if (adaptableObject instanceof RequiredProjectWrapper) { ClassPathContainer container = ((RequiredProjectWrapper) adaptableObject) .getParentClassPathContainer(); IProject project = container.getJavaProject().getProject(); IMavenProjectFacade projectFacade = getProjectFacade(project); if (projectFacade != null) { return projectFacade; } } } return null; }
From source file:org.eclipse.modisco.java.discoverer.internal.io.library.LibraryReader.java
License:Open Source License
/** * Returns the {@link Archive} object which corresponds to the * {@link IPackageFragmentRoot#isArchive() archive} in which this class file * is contained. If a corresponding archive is present in the {@code model}, * it is returned, or a new one is created and added to the {@code model}. * //from w w w . j ava 2 s . c om * @param classFile * the class file * @param factory * the EMF factory * @param model * the {@code Model} * @return the {@code Archive object}, or {@code null} if {@code classFile} * is not contained in an archive */ public static Archive getArchive(final IClassFile classFile, final JavaFactory factory, final Model model) { Archive archive = null; IPackageFragmentRoot root = (IPackageFragmentRoot) classFile .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); if (root != null && root.isArchive()) { String libraryPath = getPath(root); // class file is in a library for (Archive itElement : model.getArchives()) { if (itElement.getOriginalFilePath().equals(libraryPath)) { return itElement; } } // if non present in model, create a new one archive = factory.createArchive(); archive.setName(root.getElementName()); archive.setOriginalFilePath(libraryPath); ManifestReader.completeArchiveWithManifest(root, archive, factory); model.getArchives().add(archive); } return archive; }
From source file:org.eclipse.modisco.java.discoverer.internal.io.library.LibraryReader.java
License:Open Source License
/** * Returns the archive-relative path of the class file. If this class file * is in an archive (workspace or external), the path will be the path * inside the archive. If it is in a folder (workspace or external), the * path will be the full absolute path to this class file. * /*w ww .j a va 2 s .c o m*/ * @param classFile * the class file * @return the archive-relative path */ public static String getPath(final IClassFile classFile) { IPackageFragmentRoot library = (IPackageFragmentRoot) classFile .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); String filePath = null; if (library.isArchive()) { // zip or jar IPackageFragment parent = (IPackageFragment) classFile.getParent(); String packagePath = parent.getElementName().replace('.', '/'); filePath = '/' + packagePath + '/' + classFile.getElementName(); } else { // folder if (library.isExternal()) { filePath = classFile.getPath().toOSString(); } else { IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(classFile.getPath()); filePath = file.getLocation().toOSString(); } } return filePath; }
From source file:org.eclipse.modisco.java.discoverer.internal.io.library.LibraryReader.java
License:Open Source License
/** * Returns the absolute path of this library in the filesystem. * //from w w w. ja va 2 s . c o m * @param library * the library * @return the absolute path of this library */ public static String getPath(final IPackageFragmentRoot library) { String filePath = library.getPath().toOSString(); // non external resources are relative to the workspace if (!library.isExternal()) { IResource resource = null; if (library.isArchive()) { // zip or jar resource = ResourcesPlugin.getWorkspace().getRoot().getFile(library.getPath()); } else { // folder resource = ResourcesPlugin.getWorkspace().getRoot().getFolder(library.getPath()); } filePath = resource.getLocation().toOSString(); } return filePath; }
From source file:org.eclipse.pde.api.tools.internal.ProjectApiDescription.java
License:Open Source License
@Override protected ManifestNode createNode(ManifestNode parentNode, IElementDescriptor element) { switch (element.getElementType()) { case IElementDescriptor.PACKAGE: try {/*from ww w .jav a2 s. c o m*/ IPackageDescriptor pkg = (IPackageDescriptor) element; IPackageFragmentRoot[] roots = getJavaProject().getPackageFragmentRoots(); List<IPackageFragment> fragments = new ArrayList<IPackageFragment>(1); for (int i = 0; i < roots.length; i++) { IPackageFragmentRoot root = roots[i]; IClasspathEntry entry = root.getRawClasspathEntry(); switch (entry.getEntryKind()) { case IClasspathEntry.CPE_SOURCE: case IClasspathEntry.CPE_LIBRARY: IPackageFragment fragment = root.getPackageFragment(pkg.getName()); if (fragment.exists()) { fragments.add(fragment); } break; default: if (!root.isArchive() && root.getKind() == IPackageFragmentRoot.K_BINARY) { // class file folder fragment = root.getPackageFragment(pkg.getName()); if (fragment.exists()) { fragments.add(fragment); } } } } if (fragments.isEmpty()) { return null; } else { return newPackageNode(fragments.toArray(new IPackageFragment[fragments.size()]), parentNode, element, VisibilityModifiers.PRIVATE, RestrictionModifiers.NO_RESTRICTIONS); } } catch (CoreException e) { return null; } case IElementDescriptor.TYPE: IReferenceTypeDescriptor descriptor = (IReferenceTypeDescriptor) element; try { IType type = null; String name = descriptor.getName(); if (parentNode instanceof PackageNode) { IPackageFragment[] fragments = ((PackageNode) parentNode).fFragments; for (int i = 0; i < fragments.length; i++) { IPackageFragment fragment = fragments[i]; if (fragment.getKind() == IPackageFragmentRoot.K_SOURCE) { ICompilationUnit unit = fragment.getCompilationUnit(name + ".java"); //$NON-NLS-1$ try { IResource resource = unit.getUnderlyingResource(); if (resource != null) { type = unit.getType(name); } } catch (JavaModelException jme) { // exception if the resource does not exist if (!jme.getJavaModelStatus().isDoesNotExist()) { throw jme; } } } else { IClassFile file = fragment.getClassFile(name + ".class"); //$NON-NLS-1$ if (file.exists()) { type = file.getType(); } } } } else if (parentNode instanceof TypeNode) { type = ((TypeNode) parentNode).fType.getType(name); } if (type != null) { return newTypeNode(type, parentNode, element, VISIBILITY_INHERITED, RestrictionModifiers.NO_RESTRICTIONS); } } catch (CoreException e) { return null; } return null; default: break; } return super.createNode(parentNode, element); }
From source file:org.eclipse.pde.api.tools.ui.internal.JavaElementActionFilter.java
License:Open Source License
/** * @see org.eclipse.ui.IActionFilter#testAttribute(Object, String, String) */// w w w. ja v a2 s . c o m @Override public boolean testAttribute(Object target, String name, String value) { if (name.equals("JavaElementActionFilter")) { //$NON-NLS-1$ if (target instanceof IJavaElement) { IJavaElement javaElement = (IJavaElement) target; if (value.equals("isEnabled")) { //$NON-NLS-1$ while (javaElement != null) { switch (javaElement.getElementType()) { case IJavaElement.PACKAGE_FRAGMENT_ROOT: IPackageFragmentRoot root = (IPackageFragmentRoot) javaElement; return !root.isArchive(); case IJavaElement.PACKAGE_FRAGMENT: case IJavaElement.COMPILATION_UNIT: case IJavaElement.CLASS_FILE: case IJavaElement.TYPE: javaElement = javaElement.getParent(); break; case IJavaElement.ANNOTATION: case IJavaElement.FIELD: case IJavaElement.IMPORT_CONTAINER: case IJavaElement.IMPORT_DECLARATION: case IJavaElement.INITIALIZER: case IJavaElement.JAVA_MODEL: case IJavaElement.LOCAL_VARIABLE: case IJavaElement.METHOD: case IJavaElement.PACKAGE_DECLARATION: case IJavaElement.TYPE_PARAMETER: return false; case IJavaElement.JAVA_PROJECT: return true; default: break; } } return true; } } } return false; }
From source file:org.eclipse.pde.api.tools.ui.internal.wizards.CompareOperation.java
License:Open Source License
/** * @param structuredSelection// ww w. j a va 2 s .com * @param monitor * @return the scope */ public static ApiScope walkStructureSelection(IStructuredSelection structuredSelection, IProgressMonitor monitor) { Object[] selected = structuredSelection.toArray(); ApiScope scope = new ApiScope(); IApiBaseline workspaceBaseline = ApiBaselineManager.getManager().getWorkspaceBaseline(); if (workspaceBaseline == null) { return scope; } Arrays.sort(selected, new Comparator<Object>() { @Override public int compare(Object o1, Object o2) { if (o1 instanceof IJavaElement && o2 instanceof IJavaElement) { IJavaElement element = (IJavaElement) o1; IJavaElement element2 = (IJavaElement) o2; return element.getElementType() - element2.getElementType(); } return 0; } }); int length = selected.length; for (int i = 0; i < length; i++) { Object currentSelection = selected[i]; if (currentSelection instanceof IJavaElement) { IJavaElement element = (IJavaElement) currentSelection; IJavaProject javaProject = element.getJavaProject(); try { switch (element.getElementType()) { case IJavaElement.COMPILATION_UNIT: { ICompilationUnit compilationUnit = (ICompilationUnit) element; IApiComponent apiComponent = workspaceBaseline .getApiComponent(javaProject.getElementName()); if (apiComponent != null) { addElementFor(compilationUnit, apiComponent, scope); } break; } case IJavaElement.PACKAGE_FRAGMENT: { IPackageFragment fragment = (IPackageFragment) element; IApiComponent apiComponent = workspaceBaseline .getApiComponent(javaProject.getElementName()); IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) fragment .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); boolean isArchive = false; if (packageFragmentRoot != null) { isArchive = packageFragmentRoot.isArchive(); } if (apiComponent != null) { addElementFor(fragment, isArchive, apiComponent, scope); } break; } case IJavaElement.PACKAGE_FRAGMENT_ROOT: { IPackageFragmentRoot fragmentRoot = (IPackageFragmentRoot) element; IApiComponent apiComponent = workspaceBaseline .getApiComponent(javaProject.getElementName()); if (apiComponent != null) { addElementFor(fragmentRoot, apiComponent, scope); } break; } case IJavaElement.JAVA_PROJECT: IApiComponent apiComponent = workspaceBaseline .getApiComponent(javaProject.getElementName()); if (apiComponent != null) { scope.addElement(apiComponent); } break; default: break; } } catch (JavaModelException e) { ApiPlugin.log(e); } catch (CoreException e) { ApiPlugin.log(e); } } } return scope; }