]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.selectionview/src/org/simantics/selectionview/VariablePropertyLabelRule.java
Sync git svn branch with SVN repository r33216.
[simantics/platform.git] / bundles / org.simantics.selectionview / src / org / simantics / selectionview / VariablePropertyLabelRule.java
1 package org.simantics.selectionview;\r
2 \r
3 import java.util.HashMap;\r
4 import java.util.Map;\r
5 \r
6 import org.simantics.browsing.ui.model.labels.LabelRule;\r
7 import org.simantics.databoard.Bindings;\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
11 import org.simantics.db.layer0.variable.Variables;\r
12 \r
13 public class VariablePropertyLabelRule implements LabelRule {\r
14         \r
15     @Override\r
16     public boolean isCompatible(Class<?> contentType) {\r
17         return contentType.equals(Variable.class);\r
18     }\r
19 \r
20     @Override\r
21     public Map<String, String> getLabel(ReadGraph graph, Object content)\r
22             throws DatabaseException {\r
23         \r
24         Variable variable = (Variable)content;\r
25         \r
26         Map<String, String> result = new HashMap<String, String>();\r
27         \r
28         for(Variable property : variable.getProperties(graph)) {\r
29                 String column = property.getPossiblePropertyValue(graph, Variables.DISPLAY_COLUMN);\r
30                 if(column != null) {\r
31                         String value = property.getPossibleValue(graph, Bindings.STRING);\r
32                         if (value != null)\r
33                                 result.put(column, value);\r
34                 }\r
35         }\r
36         \r
37                 return result;\r
38                 \r
39     }\r
40 \r
41 }\r