private int getMaxChildrenSeverityInCache(IContainer container) { if (!container.isAccessible()) { return -1; } Set<IResource> children = new HashSet<>(); try { children.addAll(Arrays.asList(container.members())); } catch (CoreException ex) { WorkbenchNavigatorPlugin.log("Cannot access members", //$NON-NLS-1$ WorkbenchNavigatorPlugin.createErrorStatus(ex.getMessage(), ex)); } children.addAll(Arrays.asList(NestedProjectManager.getInstance().getDirectChildrenProjects(container))); int[] severity = new int[] { -1 }; children.forEach(child -> { if (cache.containsKey(child) && cache.get(child).intValue() > severity[0]) { severity[0] = cache.get(child).intValue(); } }); return severity[0]; }
@Override protected int determineOperation(Object target, int operation, TransferData transferType, int operations) { boolean isPackageFragment= target instanceof IPackageFragment; boolean isJavaProject= target instanceof IJavaProject; boolean isPackageFragmentRoot= target instanceof IPackageFragmentRoot; boolean isContainer= target instanceof IContainer; if (!(isPackageFragment || isJavaProject || isPackageFragmentRoot || isContainer)) return DND.DROP_NONE; if (isContainer) { IContainer container= (IContainer)target; if (container.isAccessible() && !Resources.isReadOnly(container)) return DND.DROP_COPY; } else { IJavaElement element= (IJavaElement)target; if (!element.isReadOnly()) return DND.DROP_COPY; } return DND.DROP_NONE; }
public void validateDrop(Object target, DropTargetEvent event, int operation) { event.detail= DND.DROP_NONE; boolean isPackageFragment= target instanceof IPackageFragment; boolean isJavaProject= target instanceof IJavaProject; boolean isPackageFragmentRoot= target instanceof IPackageFragmentRoot; boolean isContainer= target instanceof IContainer; if (!(isPackageFragment || isJavaProject || isPackageFragmentRoot || isContainer)) return; if (isContainer) { IContainer container= (IContainer)target; if (container.isAccessible() && !Resources.isReadOnly(container)) event.detail= DND.DROP_COPY; } else { IJavaElement element= (IJavaElement)target; if (!element.isReadOnly()) event.detail= DND.DROP_COPY; } return; }
@Override protected int determineOperation(Object target, int operation, TransferData transferType, int operations) { boolean isPackageFragment= target instanceof IPackageFragment; boolean isJavaProject= target instanceof IJavaProject; boolean isPackageFragmentRoot= target instanceof IPackageFragmentRoot; boolean isContainer= target instanceof IContainer; if (!(isPackageFragment || isJavaProject || isPackageFragmentRoot || isContainer)) return DND.DROP_NONE; if (isContainer) { IContainer container= (IContainer)target; if (container.isAccessible() && !Resources.isReadOnly(container)) return DND.DROP_COPY; } else { IJavaElement element= (IJavaElement)target; if (!element.isReadOnly()) return DND.DROP_COPY; } return DND.DROP_NONE; }
/** * Returns a list of existing member files (that validate the file extension) in this resource. * * @param container * The container to browse for files with the given extension. * @param extension * The file extension to browse for. * @return The List of files of the given extension contained by <code>container</code>. * @throws CoreException * Thrown if we couldn't retrieve the children of <code>container</code>. */ private List<IFile> members(IContainer container, String extension) throws CoreException { List<IFile> output = new ArrayList<IFile>(); if (container != null && container.isAccessible()) { IResource[] children = container.members(); if (children != null) { for (int i = 0; i < children.length; ++i) { IResource resource = children[i]; if (resource instanceof IFile && extension.equals(((IFile)resource).getFileExtension())) { output.add((IFile)resource); } else if (resource instanceof IContainer) { output.addAll(members((IContainer)resource, extension)); } } } } return output; } }
@Override protected final boolean validateDestinationGroup() { if (getContainerFullPath() == null) { return false; } // If the container exist, validate it IContainer container = getSpecifiedContainer(); if (container != null) { if (!container.isAccessible()) { setErrorMessage(IDEWorkbenchMessages.WizardImportPage_folderMustExist); return false; } } return true; } }
@Override public boolean hasChildren(Object element) { try { if (element instanceof IContainer) { IContainer c = (IContainer) element; if (!c.isAccessible()) return false; return c.members().length > 0; } } catch (CoreException ex) { WorkbenchNavigatorPlugin.getDefault().getLog().log( new Status(IStatus.ERROR, WorkbenchNavigatorPlugin.PLUGIN_ID, 0, ex.getMessage(), ex)); return false; } return super.hasChildren(element); }
if (container.isAccessible()) {
/** * Initialize. */ private void initialize() { if (selection != null && selection.isEmpty() == false && selection instanceof IStructuredSelection) { IStructuredSelection ssel = (IStructuredSelection) selection; if (ssel.size() > 1) return; Object obj = ssel.getFirstElement(); if (!(obj instanceof IResource) && obj instanceof IAdaptable) obj = ((IAdaptable) obj).getAdapter(IResource.class); if (obj instanceof IResource) { IContainer container = null; if (obj instanceof IContainer) container = (IContainer) obj; else container = ((IResource) obj).getParent(); if (container.isAccessible()) containerText.setText(container.getFullPath().toString()); } } fileText.setText(defaultNewName); }
/** * Considers all the files of a container and all its subcontainer. */ protected void consider(IContainer container) throws CoreException { if (container.isAccessible()) { IResource[] children = container.members(); if (children != null) { for (int i = 0; i < children.length; ++i) { IResource resource = children[i]; if (resource instanceof IFile) { consider((IFile)resource); } else if (resource instanceof IContainer) { consider((IContainer)resource); } } } } }
/** * Exports the passed container's children */ protected void writeChildren(IContainer folder, IPath destinationPath) throws CoreException, IOException { if (folder.isAccessible()) { IResource[] children = folder.members(); for (int i = 0; i < children.length; i++) { IResource child = children[i]; writeResource(child, destinationPath.append(child.getName())); } } }
for (int i = 0; i < containers.size(); i++) { container = (IContainer) containers.get(i); if (!container.isAccessible()) continue; if (segmentCount == 1) {
@Override public IResource[] members(IResource resource) throws TeamException { //XXX: what if there is an addition in the patch that needs to add 3 subfolders? try { if(resource.getType() == IResource.FILE) // file has no IResource members return new IResource[0]; IContainer container = (IContainer) resource; // workspace container members List<IResource> existingChildren = new ArrayList<>(); if (container.isAccessible()) existingChildren.addAll(Arrays.asList(container.members())); // patch members, subscriber location FilePatch2[] diffs = getPatcher().getDiffs(); for (int i = 0; i < diffs.length; i++) { IResource file = PatchModelProvider.getFile(diffs[i], getPatcher()); if (container.getFullPath().isPrefixOf(file.getFullPath())) { // XXX: check segments if (!container.exists(file.getProjectRelativePath())) { existingChildren.add(file); } } } return existingChildren.toArray(new IResource[existingChildren.size()]); } catch (CoreException e) { throw TeamException.asTeamException(e); } }
@Override public boolean select(Viewer viewer, Object parent, Object element) { if (element instanceof IFile) return isFileValid(((IFile) element).getProjectRelativePath()); if (element instanceof IContainer) { // i.e. IProject, IFolder try { if (!((IContainer) element).isAccessible()) return false; IResource[] resources = ((IContainer) element).members(); for (IResource resource : resources) { if (select(viewer, parent, resource)) return true; } } catch (CoreException e) { PDEPlugin.logException(e); } } return false; }
/** * @param w * @param container * @param monitor * @throws Exception */ private void indexContainer(IndexWriter w, IContainer container, IProgressMonitor monitor) throws Exception { if( !container.isAccessible() || container.isDerived(IResource.CHECK_ANCESTORS) ) return; IResource[] members = container.members(false); for(IResource member: members) { if( monitor.isCanceled() ) return; if( member.getType() != IResource.FILE || !member.isAccessible() || member.isDerived() ) continue; IFile file = (IFile) member; if( isIndexable(file) ) indexFile(w, file); } }
@Override public IStatus handlePluginTransferDrop(IStructuredSelection aDragSelection, Object aDropTarget) { IContainer target = getActualTarget((IResource) aDropTarget); IResource[] resources = getSelectedResources(aDragSelection); MoveFilesAndFoldersOperation operation = new MoveFilesAndFoldersOperation( getShell()); operation.copyResources(resources, target); if (target != null && target.isAccessible()) { try { target.refreshLocal(IResource.DEPTH_ONE, null); } catch (CoreException e) { } } return Status.OK_STATUS; }
/** * Create a ContainerDescription from the specified container handle. Typically used when the * container handle represents a resource that actually exists, although it will not fail if the * resource is non-existent. * * @param container the container to be described */ public ContainerDescription(IContainer container) { super(container); this.name = container.getName(); if (container.isLinked()) { this.location = container.getLocationURI(); } try { if (container.isAccessible()) { defaultCharSet = container.getDefaultCharset(false); IResource[] resourceMembers = container.members(); members = new AbstractResourceDescription[resourceMembers.length]; for (int i = 0; i < resourceMembers.length; i++) { members[i] = (AbstractResourceDescription) ResourceDescription.fromResource(resourceMembers[i]); } } } catch (CoreException e) { // Eat this exception because it only occurs when the resource // does not exist and we have already checked this. // We do not want to throw exceptions on the simple constructor, as // no one has actually tried to do anything yet. } }
if (container.isAccessible()) { defaultCharSet = container.getDefaultCharset(false); IResource[] resourceMembers = container.members();
private void setSubtreeChecked(Object parent, boolean state, boolean checkExpandedState) { if (!(parent instanceof IAdaptable)) return; IContainer container= (IContainer)((IAdaptable)parent).getAdapter(IContainer.class); if ((!fTree.getExpandedState(parent) && checkExpandedState) || (container != null && !container.isAccessible())) return; Object[] children= fTreeContentProvider.getChildren(parent); for (int i= children.length - 1; i >= 0; i--) { Object element= children[i]; if (state) { fTree.setChecked(element, true); fTree.setGrayed(element, false); } else fTree.setGrayChecked(element, false); if (isExpandable(element)) setSubtreeChecked(element, state, true); } }
if (container.isAccessible()) { defaultCharSet = container.getDefaultCharset(false); IResource[] resourceMembers = container.members();