]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.structural.ui/src/org/simantics/structural/ui/modelBrowser/contributions/ExperimentLabelRule.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.structural.ui / src / org / simantics / structural / ui / modelBrowser / contributions / ExperimentLabelRule.java
1 package org.simantics.structural.ui.modelBrowser.contributions;
2
3 import java.util.Map;
4
5 import org.simantics.browsing.ui.common.ColumnKeys;
6 import org.simantics.browsing.ui.graph.impl.LabelerUtil;
7 import org.simantics.browsing.ui.model.labels.LabelRule;
8 import org.simantics.db.ReadGraph;
9 import org.simantics.db.Resource;
10 import org.simantics.db.exception.DatabaseException;
11 import org.simantics.simulation.ontology.SimulationResource;
12 import org.simantics.utils.datastructures.ArrayMap;
13
14 /**
15  * @author Tuukka Lehtonen
16  */
17 public enum ExperimentLabelRule implements LabelRule {
18
19     INSTANCE;
20
21     public static ExperimentLabelRule get() {
22         return INSTANCE;
23     }
24
25     @Override
26     public boolean isCompatible(Class<?> contentType) {
27         return contentType.equals(Resource.class);
28     }
29
30     @Override
31     public Map<String, String> getLabel(ReadGraph graph, Object content) throws DatabaseException {
32         Resource experiment = (Resource) content;
33
34         String name = LabelerUtil.safeStringRepresentation(graph, experiment);
35         Resource initialState = graph.getPossibleObject(experiment, SimulationResource.getInstance(graph).HasInitialState);
36         if (initialState != null)
37             name += " (" + LabelerUtil.safeStringRepresentation(graph, initialState) + ")";
38         return ArrayMap.make(ColumnKeys.KEYS_SINGLE, new String[] { name });
39     }
40
41 }