/** * @param packageFragmentRoot * @return */ private IFolder getSourceFolder(IPackageFragmentRoot packageFragmentRoot) { IResource res = null; try { res = packageFragmentRoot.getUnderlyingResource(); } catch (JavaModelException e) { e.printStackTrace(); } if(res != null && res instanceof IFolder) return (IFolder)res; return null; }
/** * @since 2.4 */ public Map<URI, IStorage> getAllEntries(IPackageFragmentRoot root) { try { if (root.getUnderlyingResource() instanceof IFolder) { return getAllEntries((IFolder)root.getUnderlyingResource()); } } catch (JavaModelException e) { log.error(e.getMessage(), e); return emptyMap(); } PackageFragmentRootData data = getData(root); return data.uri2Storage; }
private Object computeModificationStamp(IPackageFragmentRoot root) { try { if (root.exists()) { IResource resource = root.getUnderlyingResource(); if (resource != null) { return resource.getLocation().toFile().lastModified(); } return root.getPath().toFile().lastModified(); } } catch (JavaModelException e) { log.error(e.getMessage(), e); } return new Object(); }
/** * @since 2.4 */ public Pair<URI, URI> getURIMapping(IPackageFragmentRoot root) throws JavaModelException { PackageFragmentRootData data = getData(root); if (data.uriPrefix == null) return null; IPath path = root.isExternal() ? root.getPath() : root.getUnderlyingResource().getLocation(); URI physical = null; if (root.isArchive()) { String archiveScheme = "zip".equalsIgnoreCase(root.getPath().getFileExtension()) ? "zip" : "jar"; physical = URI.createURI(archiveScheme+":file:"+path.toFile().getPath()+"!/"); } else { physical = URI.createFileURI(path.toFile().getPath()+"/"); } return Tuples.create(data.uriPrefix, physical); }
public IResource getBreakpointResource(IEditorInput input) throws CoreException { Object adapter = input.getAdapter(IResource.class); if (adapter != null) return (IResource) adapter; if (input instanceof IStorageEditorInput) { IStorage storage = ((IStorageEditorInput) input).getStorage(); if (storage instanceof IResource) return (IResource) storage; if (storage instanceof IJarEntryResource) { IResource underlyingResource = ((IJarEntryResource) storage).getPackageFragmentRoot().getUnderlyingResource(); if (underlyingResource != null) return underlyingResource; } } else if (input instanceof IClassFileEditorInput) { IClassFile classFile = ((IClassFileEditorInput) input).getClassFile(); return getBreakpointResource(classFile.findPrimaryType()); } return ResourcesPlugin.getWorkspace().getRoot(); }
IPath path = root.isExternal() ? root.getPath() : root.getUnderlyingResource().getLocation(); if (path != null) { if ("jar".equals(path.getFileExtension())) {
for (int i= 0; i < packageFragmentRoots.length; i++) { IPackageFragmentRoot root= packageFragmentRoots[i]; IResource resource= root.getUnderlyingResource(); if (resource != null && resource instanceof IFolder) { folders.addAll(getFolders(((IFolder)resource).members())); IResource resource= root.getUnderlyingResource(); if (root.isArchive()) { IPackageFragment[] fragments= new IPackageFragment[0];
private void moveFiles(IPackageFragmentRoot packageFragmentRoot, Set types) throws CoreException { IFile file = null; int leadSegmentsToTruncate = -1; IFolder sourceSourceFolder = getSourceFolder(packageFragmentRoot); if(sourceSourceFolder == null) return; IFolder targetSourceFolder = getOrCreateTargetSourceFolder(sourceSourceFolder); if(targetSourceFolder == null) return; IPath sourceFolderPath = targetSourceFolder.getFullPath(); try { leadSegmentsToTruncate = packageFragmentRoot.getUnderlyingResource().getFullPath().segmentCount(); } catch (JavaModelException ex) { Logger.getLogger().logError(ex); return; } for (Iterator iter = types.iterator(); iter.hasNext(); ) { file = (IFile) iter.next(); IPath relPath = file.getFullPath().removeFirstSegments(leadSegmentsToTruncate); IPath newPath = sourceFolderPath.append(relPath); mkdirs(newPath, workspace.getRoot()); IFile existing = workspace.getRoot().getFile(newPath); if (!existing.exists()) file.move(newPath, true, moveResourceMonitor); } }
for (int i= 0; i < packageFragmentRoots.length; i++) { IPackageFragmentRoot root= packageFragmentRoots[i]; IResource resource= root.getUnderlyingResource(); if (resource != null && resource instanceof IFolder) { folders.addAll(getFolders(((IFolder)resource).members())); IResource resource= root.getUnderlyingResource(); if (root.isArchive() || root.isExternal()) { IPackageFragment[] fragments= new IPackageFragment[0];
for (int i= 0; i < packageFragmentRoots.length; i++) { IPackageFragmentRoot root= packageFragmentRoots[i]; IResource resource= root.getUnderlyingResource(); if (resource != null && resource instanceof IFolder) { folders.addAll(getFolders(((IFolder)resource).members())); IResource resource= root.getUnderlyingResource(); if (root.isArchive() || root.isExternal()) { IPackageFragment[] fragments= new IPackageFragment[0];
protected IPackageFragmentRoot getJavaElement(final IFile file) { IJavaProject jp = JavaCore.create(file.getProject()); if (!jp.exists()) return null; IPackageFragmentRoot[] roots; try { roots = jp.getPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { IResource resource2 = root.getUnderlyingResource(); if (resource2.contains(file)) return root; } } } catch (JavaModelException e) { if (!e.isDoesNotExist()) log.error(e.getMessage(), e); } return null; }
for (int j = 0; j < roots.length; j++) { IPackageFragmentRoot root = roots[j]; if (file.equals(root.getUnderlyingResource())) {
for (int j = 0; j < roots.length; j++) { IPackageFragmentRoot root = roots[j]; if (file.equals(root.getUnderlyingResource())) {
private IPackageFragmentRoot findContainingPackageFragmentRoot(IResource resource) throws JavaModelException { IProject project = resource.getProject(); if (JavaProject.hasJavaNature(project)) { IJavaProject javaProject = JavaCore.create(project); IPath path = resource.getProjectRelativePath(); IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { IResource rootResource = null; try { rootResource = root.getUnderlyingResource(); } catch (JavaModelException e) { if (!e.isDoesNotExist()) throw e; } if (rootResource != null && !resource.equals(rootResource) && rootResource.getProjectRelativePath().isPrefixOf(path)) { return root; } } } return null; }
private IPackageFragmentRoot findContainingPackageFragmentRoot(IResource resource) throws JavaModelException { IProject project = resource.getProject(); if (JavaProject.hasJavaNature(project)) { IJavaProject javaProject = JavaCore.create(project); IPath path = resource.getProjectRelativePath(); IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { IResource rootResource = null; try { rootResource = root.getUnderlyingResource(); } catch (JavaModelException e) { if (!e.isDoesNotExist()) throw e; } if (rootResource != null && !resource.equals(rootResource) && rootResource.getProjectRelativePath().isPrefixOf(path)) { return root; } } } return null; }
public static SourceAttachmentResult resolveSourceAttachment(IPackageFragmentRoot root, IProgressMonitor monitor) { ClasspathEntryWrapper entryWrapper = null; try { entryWrapper = getClasspathEntry(root); } catch (CoreException e) { return new SourceAttachmentResult(e.getMessage(), null); } IResource jarResource = null; try { jarResource = root.getUnderlyingResource(); } catch (JavaModelException e1) { // do nothing. } String jarPath = jarResource != null ? jarResource.getLocation().toOSString() : entryWrapper.original.getPath().toOSString(); String sourceAttachmentPath = entryWrapper.original.getSourceAttachmentPath() != null ? entryWrapper.original.getSourceAttachmentPath().toOSString() : null; String sourceAttachmentEncoding = getSourceAttachmentEncoding(entryWrapper.original); return new SourceAttachmentResult(null, new SourceAttachmentAttribute(jarPath, sourceAttachmentPath, sourceAttachmentEncoding, entryWrapper.canEditEncoding)); }