/** * Call the {@link IDockerConnection#getContainers(boolean)} in a background job to avoid blocking * the UI. * * @param container the selected {@link DockerContainersCategory} */ private void loadContainerInfo(final IDockerContainer container) { // only retain expanded tree paths if container was expanded final TreePath[] expandedTreePaths = this.viewer.getExpandedState(container) ? this.viewer.getExpandedTreePaths() : null; final Job loadContainersJob = new Job(DVMessages.getString("ContainerInfoLoadJob.msg")) { // $NON-NLS-1$ @Override protected IStatus run(final IProgressMonitor monitor) { ((DockerContainer) container).info(true); return Status.OK_STATUS; } }; loadContainersJob.addJobChangeListener( new JobChangeAdapter() { @Override public void done(final IJobChangeEvent event) { event.getResult(); Display.getDefault() .asyncExec( new Runnable() { @Override public void run() { refreshTarget(container); if (expandedTreePaths != null) { viewer.setExpandedTreePaths(expandedTreePaths); } } }); } }); loadContainersJob.schedule(); }
/** * Call the {@link IDockerConnection#getContainers(boolean)} in a background job to avoid blocking * the UI. * * @param containersCategory the selected {@link DockerContainersCategory} */ private void loadContainers(final DockerContainersCategory containersCategory) { final Job loadContainersJob = new Job(DVMessages.getString("ContainersLoadJob.msg")) { // $NON-NLS-1$ @Override protected IStatus run(final IProgressMonitor monitor) { containersCategory.getConnection().getContainers(true); return Status.OK_STATUS; } @Override public boolean belongsTo(Object family) { return family == DockerExplorerView.class; } }; loadContainersJob.addJobChangeListener( new JobChangeAdapter() { @Override public void done(final IJobChangeEvent event) { event.getResult(); Display.getDefault() .asyncExec( new Runnable() { @Override public void run() { refreshTarget(containersCategory); } }); } }); loadContainersJob.schedule(); }
/** * Call the {@link IDockerConnection#getImages(boolean)} in a background job to avoid blocking the * UI. * * @param imagesCategory the selected {@link DockerImagesCategory} */ private void loadImages(final DockerImagesCategory imagesCategory) { final Job loadImagesJob = new Job(DVMessages.getString("ImagesLoadJob.msg")) { // $NON-NLS-1$ @Override protected IStatus run(final IProgressMonitor monitor) { imagesCategory.getConnection().getImages(true); return Status.OK_STATUS; } @Override public boolean belongsTo(Object family) { return family == DockerExplorerView.class; } }; loadImagesJob.addJobChangeListener( new JobChangeAdapter() { @Override public void done(final IJobChangeEvent event) { refreshTarget(imagesCategory); } }); loadImagesJob.schedule(); }