import org.simantics.diagram.stubs.DiagramResource;
import org.simantics.layer0.Layer0;
import org.simantics.scenegraph.profile.Group;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* @author Tuukka Lehtonen
*/
public class TypeGroup implements Group {
+ private static final Logger LOGGER = LoggerFactory.getLogger(TypeGroup.class);
+
private final Collection<Resource> types;
private final String name;
// for (Resource t : types)
// System.out.println("\t" + NameUtils.getSafeName(graph, t, true));
- Collection<Resource> elements = graph.syncRequest(new OrderedSet(realDiagram));
- for (Resource element : elements) {
-// System.out.println("checking element " + NameUtils.getSafeName(graph, element, true));
- Collection<Resource> elementTypes = graph.getTypes(element);
- if (!Collections.disjoint(types, elementTypes))
- result.add(element);
+ if (graph.hasStatement(realDiagram)) {
+ Collection<Resource> elements = graph.syncRequest(new OrderedSet(realDiagram));
+ for (Resource element : elements) {
+ // System.out.println("checking element " + NameUtils.getSafeName(graph, element, true));
+ Collection<Resource> elementTypes = graph.getTypes(element);
+ if (!Collections.disjoint(types, elementTypes))
+ result.add(element);
+ }
+ } else {
+ LOGGER.warn("Most likely after deleting a diagram or something therefore no ordered set can be found for {}", realDiagram);
}
-
return result;
}