package io.cattle.platform.docker.storage; import io.cattle.platform.core.constants.InstanceConstants; import io.cattle.platform.core.model.Image; import io.cattle.platform.core.model.StoragePool; import io.cattle.platform.docker.client.DockerImage; import io.cattle.platform.docker.constants.DockerStoragePoolConstants; import io.cattle.platform.storage.pool.AbstractKindBasedStoragePoolDriver; import io.cattle.platform.storage.pool.StoragePoolDriver; import java.util.HashMap; import java.util.Map; public class DockerStoragePoolDriver extends AbstractKindBasedStoragePoolDriver implements StoragePoolDriver { public DockerStoragePoolDriver() { super(DockerStoragePoolConstants.DOCKER_KIND); } @Override protected boolean populateImageInternal(String uuid, Image image) { DockerImage dockerImage = DockerImage.parse(uuid); if (dockerImage == null) { return false; } image.setName(dockerImage.getServer() + "/" + dockerImage.getFullName()); Map<String, Object> data = image.getData(); if (data == null) { data = new HashMap<>(); image.setData(data); } data.put("dockerImage", dockerImage); image.setFormat(DockerStoragePoolConstants.DOCKER_FORMAT); image.setInstanceKind(InstanceConstants.KIND_CONTAINER); return true; } public static boolean isDockerPool(StoragePool pool) { return pool == null ? false : DockerStoragePoolConstants.DOCKER_KIND.equals(pool.getKind()); } }