List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot isExternal
boolean isExternal();
From source file:org.eclipse.edt.ide.ui.internal.externaltype.wizards.javatype.ExternalTypeFromJavaPage.java
License:Open Source License
private ClassLoader getURLClassLoader() { if (urlClassLoader == null) { List<URL> classPathURLs = new ArrayList<URL>(); try {//Add Java class path. IPackageFragmentRoot[] roots = javaProject.getAllPackageFragmentRoots(); for (IPackageFragmentRoot pRoot : roots) { IJavaProject refProject = pRoot.getParent().getJavaProject(); IPath proRoot = refProject.getProject().getLocation(); if (pRoot.isArchive() && pRoot.isExternal()) { classPathURLs.add(pRoot.getResolvedClasspathEntry().getPath().toFile().toURI().toURL()); } else if (pRoot.isArchive() && pRoot.getResource() != null) { classPathURLs.add(proRoot.append(pRoot.getResource().getProjectRelativePath()).toFile() .toURI().toURL()); } else { //source folder IPath outputRelPath = refProject.getOutputLocation().removeFirstSegments(1); classPathURLs.add(proRoot.append(outputRelPath).toFile().toURI().toURL()); }/*from www . j a v a2 s .co m*/ } } catch (Throwable ee) { ee.printStackTrace(); } ClassLoader parent = Thread.currentThread().getContextClassLoader(); URL[] urlPaths = new URL[classPathURLs.size()]; urlClassLoader = new URLClassLoader(classPathURLs.toArray(urlPaths), parent); } return urlClassLoader; }
From source file:org.eclipse.emf.mwe.internal.ui.debug.sourcelookup.SourceLookupUtil.java
License:Open Source License
private static IPackageFragmentRoot getPackageFragmentRoot(final IRuntimeClasspathEntry entry) { IResource resource = entry.getResource(); if (resource != null) { // our own project jars... IProject project = resource.getProject(); IJavaProject jp = JavaCore.create(project); if (project.isOpen() && jp.exists()) { IPackageFragmentRoot root = jp.getPackageFragmentRoot(resource); return root; }//from www. ja v a2 s . c om } if (model == null) { model = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()); } // ... or external jars, that are registered in one of the open projects at runtime IPath reqPath = (resource == null ? new Path(entry.getLocation()) : entry.getPath()); try { for (IJavaProject jp : model.getJavaProjects()) { if (jp.getProject().isOpen()) { for (IPackageFragmentRoot root : jp.getPackageFragmentRoots()) { if (root.isExternal() && root.getPath().equals(reqPath)) { return root; } } } } } catch (JavaModelException e) { Activator.logError(e); // should not occur } return null; }
From source file:org.eclipse.incquery.patternlanguage.emf.ui.validation.GenmodelBasedEMFPatternLanguageJavaValidator.java
License:Open Source License
protected String getActualPackageName(PatternModel model) { URI fileURI = model.eResource().getURI(); for (Pair<IStorage, IProject> storage : storage2UriMapper.getStorages(fileURI)) { if (storage.getFirst() instanceof IFile) { IPath fileWorkspacePath = storage.getFirst().getFullPath(); IJavaProject javaProject = JavaCore.create(storage.getSecond()); if (javaProject != null && javaProject.exists() && javaProject.isOpen()) { try { for (IPackageFragmentRoot root : javaProject.getPackageFragmentRoots()) { if (!root.isArchive() && !root.isExternal()) { IResource resource = root.getResource(); if (resource != null) { IPath sourceFolderPath = resource.getFullPath(); if (sourceFolderPath.isPrefixOf(fileWorkspacePath)) { IPath classpathRelativePath = fileWorkspacePath .makeRelativeTo(sourceFolderPath); return classpathRelativePath.removeLastSegments(1).toString().replace("/", "."); }/*from w ww .j a v a 2s . co m*/ } } } } catch (JavaModelException e) { logger.error("Error resolving package declaration for Pattern Model", e); } } } } return null; }
From source file:org.eclipse.jem.internal.beaninfo.core.BeanInfoCacheController.java
License:Open Source License
private RootIndex getRootIndex(IType type) { IPackageFragmentRoot root = (IPackageFragmentRoot) type.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); if (!root.isExternal()) { // So it is in a project. Get the project index. return getRootIndex(root, root.getJavaProject().getProject()); } else {/*from w w w. ja va2 s. c o m*/ // It is an external jar (archive), so needs to come from main index, no project. return getRootIndex(root, null); } }
From source file:org.eclipse.jem.internal.beaninfo.core.BeanInfoCacheController.java
License:Open Source License
private RootIndex createArchiveRootIndex(IPackageFragmentRoot rootArchive, String rootName, Index index) { long modStamp = IResource.NULL_STAMP; if (rootArchive.isExternal()) { modStamp = rootArchive.getPath().toFile().lastModified(); } else {// w w w . ja v a2s .c om try { modStamp = rootArchive.getUnderlyingResource().getModificationStamp(); } catch (JavaModelException e) { BeaninfoPlugin.getPlugin().getLogger().log(e); } } return new ArchiveRootIndex(rootName, modStamp, index); }
From source file:org.eclipse.jpt.jaxb.ui.internal.filters.NonArchiveOrExternalElementFilter.java
License:Open Source License
@Override public boolean select(Viewer viewer, Object parent, Object element) { if (element instanceof IPackageFragmentRoot) { IPackageFragmentRoot root = (IPackageFragmentRoot) element; return !root.isArchive() && !root.isExternal(); }/*from w ww .j a v a 2 s. c o m*/ return true; }
From source file:org.eclipse.jst.jsf.core.jsfappconfig.AnnotationPackageFragmentRoot.java
License:Open Source License
/** * Construct the wrapper around a package fragment root. * /*from w w w . ja v a2s . co m*/ * @param root */ public AnnotationPackageFragmentRoot(IPackageFragmentRoot root) { if (root != null && root.exists() && !root.isExternal()) { this.root = root; IPath tempWebInfLibPath = null; IPath tempWebInfClassesPath = null; jProject = root.getJavaProject(); if (jProject != null) { IProject project = jProject.getProject(); if (project != null) { IVirtualFolder webContent = new DefaultVirtualComponentQuery().getWebContentFolder(project); if (webContent != null) { IContainer webContentFolder = webContent.getUnderlyingFolder(); if (webContentFolder != null && webContentFolder.exists()) { IPath webContentPath = webContentFolder.getFullPath(); if (webContentPath != null) { tempWebInfLibPath = webContentPath.append("WEB-INF/lib"); //$NON-NLS-1$ tempWebInfClassesPath = webContentPath.append("WEB-INF/classes"); //$NON-NLS-1$ } } } } } webInfClassesPath = tempWebInfClassesPath; webInfLibPath = tempWebInfLibPath; } else { this.root = null; this.webInfClassesPath = null; this.webInfLibPath = null; this.jProject = null; } }
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 {// ww w. j av a 2 s.c o m 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.jst.servlet.ui.internal.navigator.WebJavaContentProvider.java
License:Open Source License
public Object getPipelinedParent(Object anObject, Object aSuggestedParent) { try {/*from w w w. j ava 2 s. c o m*/ if (anObject instanceof IPackageFragmentRoot) { IPackageFragmentRoot root = (IPackageFragmentRoot) anObject; if (!root.isExternal()) { if (aSuggestedParent instanceof IJavaProject) { return getCompressedNode(((IJavaProject) aSuggestedParent).getProject()); } else if (aSuggestedParent instanceof IProject && ((IProject) aSuggestedParent).hasNature(JavaCore.NATURE_ID) && JavaEEProjectUtilities.isDynamicWebProject((IProject) aSuggestedParent)) { return getCompressedNode(((IProject) aSuggestedParent)); } } } else if (INTERNAL_CONTAINER_CLASS.isInstance(anObject)) { if (aSuggestedParent instanceof IJavaProject) { return getCompressedNode(((IJavaProject) aSuggestedParent).getProject()) .getCompressedJavaLibraries(); } else if (aSuggestedParent instanceof IProject && ((IProject) aSuggestedParent).hasNature(JavaCore.NATURE_ID) && JavaEEProjectUtilities.isDynamicWebProject((IProject) aSuggestedParent)) { return getCompressedNode(((IProject) aSuggestedParent)).getCompressedJavaLibraries(); } } } catch (CoreException e) { ServletUIPlugin.log(e); } return null; }
From source file:org.eclipse.jst.servlet.ui.internal.navigator.WebJavaContentProvider.java
License:Open Source License
private IPackageFragment locatePackageFragment(IFolder child) throws JavaModelException { IJavaElement elem = JavaCore.create(child); if (elem instanceof IPackageFragment) { IPackageFragment packageFragment = (IPackageFragment) elem; for (IJavaElement javaElem = packageFragment; javaElem != null; javaElem = javaElem.getParent()) { if (javaElem instanceof IPackageFragmentRoot) { IPackageFragmentRoot fragmentRoot = (IPackageFragmentRoot) javaElem; if (!fragmentRoot.isReadOnly() && !fragmentRoot.isExternal()) { return packageFragment; }/*w w w . ja v a 2s . c o m*/ } } } return null; }