public TreeElementImpl(org.eclipse.che.api.project.shared.dto.TreeElement origin) { java.util.List<org.eclipse.che.api.project.shared.dto.TreeElement> childrenIn = origin.getChildren(); if (childrenIn != null) { java.util.List<org.eclipse.che.api.project.shared.dto.TreeElement> childrenOut = new java.util.ArrayList<org.eclipse.che.api.project.shared.dto.TreeElement>(); for (org.eclipse.che.api.project.shared.dto.TreeElement childrenIn_ : childrenIn) { childrenOut.add(childrenIn_ == null ? null : new TreeElementImpl(childrenIn_)); } this.children = childrenOut; } org.eclipse.che.api.project.shared.dto.ItemReference nodeIn = origin.getNode(); this.node = nodeIn == null ? null : new ItemReferenceImpl(nodeIn); }
private void traverse(TreeElement tree, ResourceVisitor visitor) { for (final TreeElement element : tree.getChildren()) { final Resource resource = newResourceFrom(element.getNode()); visitor.visit(resource); if (resource instanceof Container) { traverse(element, visitor); } } }
private Promise<Void> loadAndRegisterResources(Path absolutePath) { return ps.getTree(absolutePath, 1, true) .thenPromise( treeElement -> { final Optional<Resource[]> optionalChildren = store.get(absolutePath); if (optionalChildren.isPresent()) { for (Resource child : optionalChildren.get()) { store.dispose(child.getLocation(), false); } } for (TreeElement element : treeElement.getChildren()) { final Resource resource = newResourceFrom(element.getNode()); if (resource.isProject()) { inspectProject(resource.asProject()); } store.register(resource); } return promises.resolve(null); }); }
ItemReference reference = nodeElement.getNode(); Resource tempResource = newResourceFrom(reference); store.register(tempResource);
private Promise<Optional<Resource>> doFindResource(Path path) { return ps.getTree(path.parent(), 1, true) .thenPromise( treeElement -> { Resource resource = null; for (TreeElement nodeElement : treeElement.getChildren()) { ItemReference reference = nodeElement.getNode(); Resource tempResource = newResourceFrom(reference); store.register(tempResource); if (tempResource.isProject()) { inspectProject(tempResource.asProject()); } if (tempResource.getLocation().equals(path)) { resource = tempResource; eventBus.fireEvent( new ResourceChangedEvent(new ResourceDeltaImpl(resource, UPDATED))); } } return promises.resolve(Optional.fromNullable(resource)); }) .catchErrorPromise(error -> promises.resolve(absent())); }