use of org.eclipse.linuxtools.internal.docker.ui.views.DockerExplorerContentProvider.DockerContainersCategory in project linuxtools by eclipse.
the class DockerExplorerLabelProvider method getImage.
@Override
public Image getImage(final Object element) {
if (element instanceof IDockerConnection) {
if (((IDockerConnection) element).isOpen()) {
return OPEN_CONNECTION_IMAGE;
} else {
return UNOPEN_CONNECTION_IMAGE;
}
} else if (element instanceof DockerImagesCategory) {
return CATEGORY_IMAGE;
} else if (element instanceof DockerContainersCategory) {
return CATEGORY_IMAGE;
} else if (element instanceof IDockerImage) {
return IMAGE_IMAGE;
} else if (element instanceof IDockerContainer) {
final IDockerContainer container = (IDockerContainer) element;
final EnumDockerStatus containerStatus = EnumDockerStatus.fromStatusMessage(container.status());
if (containerStatus == EnumDockerStatus.RUNNING) {
return STARTED_CONTAINER_IMAGE;
} else if (containerStatus == EnumDockerStatus.PAUSED) {
return PAUSED_CONTAINER_IMAGE;
} else {
return STOPPED_CONTAINER_IMAGE;
}
} else if (element instanceof DockerContainerLinksCategory || element instanceof DockerContainerLink) {
return CONTAINER_LINK_IMAGE;
} else if (element instanceof DockerContainerVolumesCategory || element instanceof DockerContainerVolume) {
return CONTAINER_VOLUME_IMAGE;
} else if (element instanceof DockerContainerPortMappingsCategory || element instanceof IDockerPortMapping) {
return CONTAINER_PORT_IMAGE;
} else if (element instanceof LoadingStub) {
return LOADING_IMAGE;
}
return null;
}
use of org.eclipse.linuxtools.internal.docker.ui.views.DockerExplorerContentProvider.DockerContainersCategory in project linuxtools by eclipse.
the class RefreshCommandHandler method getRefreshJobs.
private List<Job> getRefreshJobs(final IWorkbenchPart activePart) {
final IDockerConnection connection = getCurrentConnection(activePart);
final ArrayList<Job> jobs = new ArrayList<>();
if (activePart instanceof DockerImagesView) {
jobs.add(getRefreshImagesJob(connection));
} else if (activePart instanceof DockerContainersView) {
jobs.add(getRefreshContainersJob(connection));
} else if (activePart instanceof DockerExplorerView) {
DockerExplorerView dockerExplorerView = (DockerExplorerView) activePart;
final ITreeSelection selection = dockerExplorerView.getCommonViewer().getStructuredSelection();
if (selection.getFirstElement() instanceof DockerContainersCategory) {
jobs.add(getRefreshContainersJob(connection));
} else if (selection.getFirstElement() instanceof DockerImagesCategory) {
jobs.add(getRefreshImagesJob(connection));
} else {
final IDockerConnection[] connections = DockerConnectionManager.getInstance().getConnections();
for (IDockerConnection selectedConnection : connections) {
if (!selectedConnection.isOpen()) {
try {
selectedConnection.open(true);
} catch (DockerException e) {
// do nothing
}
}
if (selectedConnection.isOpen()) {
jobs.add(getRefreshContainersJob(selectedConnection));
jobs.add(getRefreshImagesJob(selectedConnection));
}
}
}
}
return jobs;
}
Aggregations