package org.ovirt.engine.core.bll.storage; import java.util.Collections; import java.util.List; import org.ovirt.engine.core.bll.CommandBase; import org.ovirt.engine.core.bll.HostJobCommand; import org.ovirt.engine.core.bll.StorageJobCallback; import org.ovirt.engine.core.bll.context.CommandContext; import org.ovirt.engine.core.bll.tasks.interfaces.CommandCallback; import org.ovirt.engine.core.bll.utils.PermissionSubject; import org.ovirt.engine.core.common.action.StorageJobCommandParameters; import org.ovirt.engine.core.common.businessentities.HostJobInfo.HostJobStatus; import org.ovirt.engine.core.common.errors.EngineError; import org.ovirt.engine.core.compat.Guid; public abstract class StorageJobCommand<T extends StorageJobCommandParameters> extends CommandBase<T> implements HostJobCommand { public StorageJobCommand(T parameters, CommandContext cmdContext) { super(parameters, cmdContext); if (getParameters().getStorageJobId() == null) { getParameters().setStorageJobId(Guid.newGuid()); } } public StorageJobCommand(Guid commandId) { super(commandId); } @Override public CommandCallback getCallback() { return new StorageJobCallback(); } @Override public HostJobStatus handleJobError(EngineError error) { return HostJobStatus.failed; } @Override public boolean failJobWithUndeterminedStatus() { return false; } @Override public List<PermissionSubject> getPermissionCheckSubjects() { return Collections.emptyList(); } }