@@ -0,0 +1,1370 @@
+package org.ovirt.engine.core.bll.storage;%0A%0Aimport org.ovirt.engine.core.bll.CommandBase;%0Aimport org.ovirt.engine.core.bll.tasks.CommandCoordinatorUtil;%0Aimport org.ovirt.engine.core.bll.tasks.interfaces.CommandCallback;%0Aimport org.ovirt.engine.core.common.businessentities.storage.CinderDisk;%0Aimport org.ovirt.engine.core.compat.Guid;%0Aimport org.slf4j.Logger;%0Aimport org.slf4j.LoggerFactory;%0A%0Aimport java.util.List;%0A%0Apublic abstract class AbstractCinderDiskCommandCallback%3CC extends CommandBase%3C?%3E%3E extends CommandCallback %7B%0A    protected static final Logger log = LoggerFactory.getLogger(AbstractCinderDiskCommandCallback.class);%0A%0A    private Guid cmdId;%0A%0A    private C command;%0A%0A    protected CinderDisk disk;%0A%0A    @Override%0A    public void doPolling(Guid cmdId, List%3CGuid%3E childCmdIds) %7B%0A        this.cmdId = cmdId;%0A    %7D%0A%0A    @Override%0A    public void onFailed(Guid cmdId, List%3CGuid%3E childCmdIds) %7B%0A        this.cmdId = cmdId;%0A    %7D%0A%0A    @Override%0A    public void onSucceeded(Guid cmdId, List%3CGuid%3E childCmdIds) %7B%0A        this.cmdId = cmdId;%0A    %7D%0A%0A    protected C getCommand() %7B%0A        if (command == null) %7B%0A            command = CommandCoordinatorUtil.retrieveCommand(cmdId);%0A        %7D%0A        return command;%0A    %7D%0A%0A    protected abstract CinderBroker getCinderBroker();%0A%0A    protected abstract Guid getDiskId();%0A%0A    protected abstract CinderDisk getDisk();%0A%7D%0A

add AbstractCinderDiskCommandCallback