package plugins.matrix.manager;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.molgenis.framework.db.Database;
import org.molgenis.framework.db.DatabaseException;
import org.molgenis.framework.db.QueryRule;
import org.molgenis.framework.db.QueryRule.Operator;
import org.molgenis.pheno.ObservationElement;
public class OverlibText
{
public static Map<String, ObservationElement> getObservationElements(Database db, List<String> names, String type)
throws DatabaseException
{
Class subClass = db.getClassForName(type);
Map<String, ObservationElement> res = new HashMap<String, ObservationElement>();
List<ObservationElement> obsvElem = db.find(subClass, new QueryRule("name", Operator.IN, names));
List<String> found = new ArrayList<String>();
for (ObservationElement el : obsvElem)
{
found.add(el.getName());
}
for (String name : names)
{
if (found.contains(name))
{
for (ObservationElement o : obsvElem)
{
if (o.getName().equals(name))
{
res.put(name, o);
break;
}
}
}
else
{
res.put(name, null);
}
}
return res;
}
}