private void checkDirtyResources(final RefactoringStatus result) throws CoreException { for (int i= 0; i < fResources.length; i++) { IResource resource= fResources[i]; resource.accept(new IResourceVisitor() { public boolean visit(IResource visitedResource) throws CoreException { if (visitedResource instanceof IFile) { checkDirtyFile(result, (IFile)visitedResource); } return true; } }, IResource.DEPTH_INFINITE, false); } }
@Override public void run(IProgressMonitor monitor) throws CoreException { IResourceVisitor visitor = new IResourceVisitor() { @Override public boolean visit(IResource resource) throws CoreException { //only need to flush sync info if there is sync info if (getSyncInfo(partner, resource) != null) setSyncInfo(partner, resource, null); return true; } }; root.accept(visitor, depth, true); } };
private void checkDirtyResources(final RefactoringStatus result) throws CoreException { for (int i= 0; i < fResources.length; i++) { IResource resource= fResources[i]; resource.accept(new IResourceVisitor() { @Override public boolean visit(IResource visitedResource) throws CoreException { if (visitedResource instanceof IFile) { checkDirtyFile(result, (IFile)visitedResource); } return true; } }, IResource.DEPTH_INFINITE, false); } }
@Override public void run(IProgressMonitor monitor) throws CoreException { IResourceVisitor visitor = new IResourceVisitor() { @Override public boolean visit(IResource resource) throws CoreException { //only need to flush sync info if there is sync info if (getSyncInfo(partner, resource) != null) setSyncInfo(partner, resource, null); return true; } }; root.accept(visitor, depth, true); } };
private void checkDirtyResources(final RefactoringStatus result) throws CoreException { for (int i= 0; i < fResources.length; i++) { IResource resource= fResources[i]; resource.accept(new IResourceVisitor() { @Override public boolean visit(IResource visitedResource) throws CoreException { if (visitedResource instanceof IFile) { checkDirtyFile(result, (IFile)visitedResource); } return true; } }, IResource.DEPTH_INFINITE, false); } }
/** * Checks whether this resource and its descendents are considered to be in sync with the local * file system. The linked resources and their descendents are excluded from the check. * * @param resource the resource to check * @return <code>true</code> if this resource and its descendents except linked resources are * synchronized, and <code>false</code> in all other cases * @throws CoreException if visiting the resource descendents fails for any reason * @see IResource#isSynchronized(int) */ public boolean isSynchronizedExcludingLinkedResources(IResource resource) throws CoreException { boolean[] result= { true }; resource.accept(new IResourceVisitor() { @Override public boolean visit(IResource visitedResource) throws CoreException { if (!result[0] || visitedResource.isLinked()) return false; if (!visitedResource.isSynchronized(IResource.DEPTH_ZERO)) { result[0]= false; return false; } return true; } }, IResource.DEPTH_INFINITE, IContainer.DO_NOT_CHECK_EXISTENCE); return result[0]; }
public IFile[] visitPropertiesFiles(IResource container, String matchedRelativePath) { _entryResource = container; _matchedRelativePath = matchedRelativePath; try { container.accept(this, IContainer.EXCLUDE_DERIVED | IContainer.DO_NOT_CHECK_EXISTENCE); } catch (CoreException ce) { LiferayCore.logError(ce); } return _resources.toArray(new IFile[_resources.size()]); }
private void checkDirtyResources(final RefactoringStatus result) throws CoreException { for (int i= 0; i < fResources.length; i++) { IResource resource= fResources[i]; if (resource instanceof IProject && !((IProject) resource).isOpen()) continue; resource.accept(new IResourceVisitor() { @Override public boolean visit(IResource visitedResource) throws CoreException { if (visitedResource instanceof IFile) { checkDirtyFile(result, (IFile)visitedResource); } return true; } }, IResource.DEPTH_INFINITE, false); } }
private void checkDirtyResources(final RefactoringStatus result) throws CoreException { for (int i= 0; i < fResources.length; i++) { IResource resource= fResources[i]; if (resource instanceof IProject && !((IProject) resource).isOpen()) continue; resource.accept(new IResourceVisitor() { @Override public boolean visit(IResource visitedResource) throws CoreException { if (visitedResource instanceof IFile) { checkDirtyFile(result, (IFile)visitedResource); } return true; } }, IResource.DEPTH_INFINITE, false); } }
private List/*<IResource>*/ getResourcesToVisit(IResource resource) throws CoreException { // use set for fast lookup final Set/*<URI>*/ visited = new HashSet/*<URI>*/(); // use list to preserve the order of visited resources final List/*<IResource>*/ toVisit = new ArrayList/*<IResource>*/(); visited.add(resource.getLocationURI()); resource.accept(proxy -> { IResource childResource = proxy.requestResource(); URI uri = childResource.getLocationURI(); if (!visited.contains(uri)) { visited.add(uri); toVisit.add(childResource); } return true; }, IResource.NONE); return toVisit; }
/** * Visits all existing resources defined by this traversal. * * @param visitor a resource visitor * @exception CoreException if this method fails. Reasons include: * <ul> * <li> The visitor failed with this exception.</li> * </ul> */ public void accept(IResourceVisitor visitor) throws CoreException { for (IResource resource : resources) try { if (resource.exists()) resource.accept(visitor, depth, flags); } catch (CoreException e) { //ignore failure in the case of concurrent deletion if (e.getStatus().getCode() != IResourceStatus.RESOURCE_NOT_FOUND) throw e; } }
public IFile[] process() { fFiles= new ArrayList<>(); try { IResource[] roots= fScope.getRoots(); for (IResource resource : roots) { try { if (resource.isAccessible()) { resource.accept(this, 0); } } catch (CoreException ex) { // report and ignore fStatus.add(ex.getStatus()); } } return fFiles.toArray(new IFile[fFiles.size()]); } finally { fFiles= null; } } }
public IFile[] process() { fFiles= new ArrayList<>(); try { IResource[] roots= fScope.getRoots(); for (IResource resource : roots) { try { if (resource.isAccessible()) { resource.accept(this, 0); } } catch (CoreException ex) { // report and ignore fStatus.add(ex.getStatus()); } } return fFiles.toArray(new IFile[fFiles.size()]); } finally { fFiles= null; } } }
/** * Visits all existing resources defined by this traversal. * * @param visitor a resource visitor * @exception CoreException if this method fails. Reasons include: * <ul> * <li> The visitor failed with this exception.</li> * </ul> */ public void accept(IResourceVisitor visitor) throws CoreException { for (int i = 0, imax = resources.length; i < imax; i++) try { if (resources[i].exists()) resources[i].accept(visitor, depth, flags); } catch (CoreException e) { //ignore failure in the case of concurrent deletion if (e.getStatus().getCode() != IResourceStatus.RESOURCE_NOT_FOUND) throw e; } }
/** * Visits all existing resources defined by this traversal. * * @param visitor a resource visitor * @exception CoreException if this method fails. Reasons include: * <ul> * <li> The visitor failed with this exception.</li> * </ul> */ public void accept(IResourceVisitor visitor) throws CoreException { for (int i = 0, imax = resources.length; i < imax; i++) try { if (resources[i].exists()) resources[i].accept(visitor, depth, flags); } catch (CoreException e) { //ignore failure in the case of concurrent deletion if (e.getStatus().getCode() != IResourceStatus.RESOURCE_NOT_FOUND) throw e; } }
public IFile[] process() { fFiles = new ArrayList(); try { IResource[] roots = fScope.getRoots(); for (int i = 0; i < roots.length; i++) { try { IResource resource = roots[i]; if (resource.isAccessible()) { resource.accept(this, 0); } } catch (CoreException ex) { // report and ignore fStatus.add(ex.getStatus()); } } return (IFile[]) fFiles.toArray(new IFile[fFiles.size()]); } finally { fFiles = null; } } }
public IFile[] process() { fFiles= new ArrayList(); try { IResource[] roots= fScope.getRoots(); for (int i= 0; i < roots.length; i++) { try { IResource resource= roots[i]; if (resource.isAccessible()) { resource.accept(this, 0); } } catch (CoreException ex) { // report and ignore fStatus.add(ex.getStatus()); } } return (IFile[]) fFiles.toArray(new IFile[fFiles.size()]); } finally { fFiles= null; } } }
/** * Helper method that generate a move or copy delta for a sub-tree * of resources being moved or copied. */ private void moveOrCopyDeep(IResource resource, IPath destination, final boolean move) { final IPath sourcePrefix = resource.getFullPath(); final IPath destinationPrefix = destination; try { //build delta for the entire sub-tree if available if (resource.isAccessible()) { resource.accept(new IResourceVisitor() { @Override public boolean visit(IResource child) { return moveOrCopy(child, sourcePrefix, destinationPrefix, move); } }); } else { //just build a delta for the single resource moveOrCopy(resource, sourcePrefix, destination, move); } } catch (CoreException e) { fail(e); } } }
/** * @see ISynchronizer#flushSyncInfo(QualifiedName, IResource, int) */ @Override public void flushSyncInfo(final QualifiedName partner, final IResource root, final int depth) throws CoreException { Assert.isLegal(partner != null); Assert.isLegal(root != null); ICoreRunnable body = monitor -> { IResourceVisitor visitor = resource -> { //only need to flush sync info if there is sync info if (getSyncInfo(partner, resource) != null) setSyncInfo(partner, resource, null); return true; }; root.accept(visitor, depth, true); }; workspace.run(body, root, IResource.NONE, null); }
/** * Helper method that generate a move or copy delta for a sub-tree * of resources being moved or copied. */ private void moveOrCopyDeep(IResource resource, IPath destination, final boolean move) { final IPath sourcePrefix = resource.getFullPath(); final IPath destinationPrefix = destination; try { //build delta for the entire sub-tree if available if (resource.isAccessible()) { resource.accept(child -> moveOrCopy(child, sourcePrefix, destinationPrefix, move)); } else { //just build a delta for the single resource moveOrCopy(resource, sourcePrefix, destination, move); } } catch (CoreException e) { fail(e); } } }