package org.ovirt.engine.core.bll.storage.connection;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import org.ovirt.engine.core.bll.QueriesCommandBase;
import org.ovirt.engine.core.common.businessentities.StorageServerConnections;
import org.ovirt.engine.core.common.queries.IdQueryParameters;
import org.ovirt.engine.core.dao.IscsiBondDao;
import org.ovirt.engine.core.dao.StorageServerConnectionDao;
public class GetStorageServerConnectionByIscsiBondIdQuery<P extends IdQueryParameters> extends QueriesCommandBase<P> {
@Inject
private StorageServerConnectionDao storageServerConnectionDao;
@Inject
private IscsiBondDao iscsiBondDao;
public GetStorageServerConnectionByIscsiBondIdQuery(P parameters) {
super(parameters);
}
@Override
protected void executeQueryCommand() {
List<StorageServerConnections> conns = new ArrayList<>();
for (String id : getConnectionsIds()) {
conns.add(storageServerConnectionDao.get(id));
}
getQueryReturnValue().setReturnValue(conns);
}
private List<String> getConnectionsIds() {
return iscsiBondDao.getStorageConnectionIdsByIscsiBondId(getParameters().getId());
}
}