1 package org.simantics.modeling.ui.viewpoint;
\r
3 import java.util.ArrayList;
\r
4 import java.util.Collection;
\r
5 import java.util.Collections;
\r
6 import java.util.Set;
\r
8 import org.simantics.db.ReadGraph;
\r
9 import org.simantics.db.exception.DatabaseException;
\r
10 import org.simantics.db.layer0.variable.Variable;
\r
13 * @author Tuukka Lehtonen
\r
15 public class VariableChildren {
\r
20 * @param requiredClassification
\r
22 * @throws DatabaseException
\r
24 public static Collection<Variable> filterByClassification(ReadGraph graph, Collection<Variable> variables, String requiredClassification) throws DatabaseException {
\r
25 if (variables.isEmpty())
\r
26 return Collections.emptyList();
\r
27 Collection<Variable> result = null;
\r
28 for (Variable v : variables) {
\r
29 //System.out.println("child : " + v.getURI(graph));
\r
30 Set<String> classifications = v.getClassifications(graph);
\r
31 //System.out.println("classifications: " + classifications);
\r
32 if (classifications != null && classifications.contains(requiredClassification)) {
\r
34 result = new ArrayList<Variable>(variables.size());
\r
38 return result != null ? result : Collections.<Variable>emptyList();
\r