package org.genedb.querying.history;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import org.apache.log4j.Logger;
import org.genedb.querying.core.QueryException;
public class QueryHistoryItem extends HistoryItem {
private static final long serialVersionUID = 1178201547605983421L;
Logger logger = Logger.getLogger(QueryHistoryItem.class);
public QueryHistoryItem(String name) {
super(name);
}
@Override
public List<String> getIds() {
// only generate ids if not done before, or if the query returns 0 results it's unlikely to be expensive
if (ids.size() == 0) {
int maxIndex = query.getTotalResultsSize() -1;
if (maxIndex >= 0) {
try {
ids = new HashSet<String>(query.getResults(0, maxIndex));
logger.info(" ids ");
logger.info(ids);
} catch (QueryException e) {
throw new RuntimeException(e);
}
}
}
return new ArrayList<String>(ids);
}
@Override
public int getNumberItems() {
if (ids.size() == 0) {
return query.getTotalResultsSize();
}
return ids.size();
}
}