1 package org.simantics.issues.ui;
3 import java.util.Collection;
4 import java.util.Collections;
7 import org.simantics.browsing.ui.model.children.ChildRule;
8 import org.simantics.db.ReadGraph;
9 import org.simantics.db.Resource;
10 import org.simantics.db.exception.DatabaseException;
11 import org.simantics.db.layer0.variable.Variable;
12 import org.simantics.issues.common.IssuesOfSeverity;
13 import org.simantics.issues.ui.ontology.IssueUIResource;
15 public class SeverityFolderRule implements ChildRule {
19 public SeverityFolderRule(Resource rule) {
24 public boolean isCompatible(Class<?> contentType) {
25 return contentType.equals(Resource.class);
29 public Collection<?> getChildren(ReadGraph graph, Object parent) throws DatabaseException {
31 IssueUIResource UI = IssueUIResource.getInstance(graph);
32 Resource project = (Resource)parent;
33 Resource severity = graph.getSingleObject(rule, UI.IssueBrowseContext_SeverityFolderRule_HasSeverity);
34 Set<Variable> issues = graph.syncRequest(new IssuesOfSeverity(project, severity));
35 if(!issues.isEmpty()) return Collections.singleton(project);
36 else return Collections.emptyList();
41 public Collection<?> getParents(ReadGraph graph, Object child)
42 throws DatabaseException {
43 return Collections.singleton(child);