]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.issues.ui/src/org/simantics/issues/ui/DynamicIssueSourceRule.java
Preliminary support for purely Variable based dynamic issue sources
[simantics/platform.git] / bundles / org.simantics.issues.ui / src / org / simantics / issues / ui / DynamicIssueSourceRule.java
1 package org.simantics.issues.ui;
2
3 import java.util.Collection;
4 import java.util.Collections;
5
6 import org.simantics.browsing.ui.model.children.ChildRule;
7 import org.simantics.db.ReadGraph;
8 import org.simantics.db.Resource;
9 import org.simantics.db.exception.DatabaseException;
10 import org.simantics.issues.common.DynamicIssueSources;
11
12 /**
13  * @author Tuukka Lehtonen
14  * @since 1.27
15  */
16 public class DynamicIssueSourceRule implements ChildRule {
17
18     @Override
19     public boolean isCompatible(Class<?> contentType) {
20         return contentType.equals(Resource.class);
21     }
22
23     @Override
24     public Collection<?> getChildren(ReadGraph graph, Object parent) throws DatabaseException {
25         return graph.syncRequest(new DynamicIssueSources((Resource) parent));
26     }
27
28     @Override
29     public Collection<?> getParents(ReadGraph graph, Object child) throws DatabaseException {
30         return Collections.singleton(child);
31     }
32
33 }