-package org.simantics.modeling.ui.diagram.monitor;\r
-\r
-import java.util.Collections;\r
-import java.util.Map;\r
-import java.util.TreeMap;\r
-\r
-import org.simantics.browsing.ui.swt.widgets.impl.ReadFactoryImpl;\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.adapter.Instances;\r
-import org.simantics.db.layer0.request.PossibleModel;\r
-import org.simantics.diagram.stubs.DiagramResource;\r
-import org.simantics.layer0.Layer0;\r
-import org.simantics.utils.datastructures.ArrayMap;\r
-import org.simantics.utils.strings.AlphanumComparator;\r
-import org.simantics.utils.strings.StringUtils;\r
-\r
-public class AvailableFormatFactory extends ReadFactoryImpl<Resource, Map<String, Object>> {\r
-\r
- @Override\r
- public Map<String, Object> perform(ReadGraph graph, Resource input) throws DatabaseException {\r
- \r
- Layer0 L0 = Layer0.getInstance(graph);\r
- DiagramResource DIA = DiagramResource.getInstance(graph);\r
- Instances query = graph.adapt(DIA.RealizedFormatter, Instances.class);\r
- Resource model = graph.syncRequest(new PossibleModel(input));\r
- if (model == null) return Collections.emptyMap();\r
-\r
- Map<String, Resource> result = new TreeMap<>(AlphanumComparator.CASE_INSENSITIVE_COMPARATOR);\r
- for (Resource template : query.find(graph, model)) {\r
- String sortKey = graph.getPossibleRelatedAdapter(template, DIA.RealizedFormatter_sortKey, String.class);\r
- result.put(StringUtils.safeString(sortKey), template);\r
- }\r
- String[] keys = new String[result.size()];\r
- Object[] values = new Object[result.size()];\r
- int i = 0;\r
- for (Resource template : result.values()) {\r
- String label = graph.getPossibleRelatedAdapter(template, L0.HasLabel, String.class);\r
- String format = graph.getPossibleRelatedValue(template, DIA.RealizedFormatter_HasDefinition, Bindings.STRING);\r
- keys[i] = "" + label + " (" + format + ")";\r
- values[i] = template;\r
- ++i;\r
- }\r
- return ArrayMap.make(keys, values);\r
-\r
- }\r
-\r
-}\r
+package org.simantics.modeling.ui.diagram.monitor;
+
+import java.util.Collections;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.simantics.browsing.ui.swt.widgets.impl.ReadFactoryImpl;
+import org.simantics.databoard.Bindings;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.adapter.Instances;
+import org.simantics.db.layer0.request.PossibleModel;
+import org.simantics.diagram.stubs.DiagramResource;
+import org.simantics.layer0.Layer0;
+import org.simantics.utils.datastructures.ArrayMap;
+import org.simantics.utils.strings.AlphanumComparator;
+import org.simantics.utils.strings.StringUtils;
+
+public class AvailableFormatFactory extends ReadFactoryImpl<Resource, Map<String, Object>> {
+
+ @Override
+ public Map<String, Object> perform(ReadGraph graph, Resource input) throws DatabaseException {
+
+ Layer0 L0 = Layer0.getInstance(graph);
+ DiagramResource DIA = DiagramResource.getInstance(graph);
+ Instances query = graph.adapt(DIA.RealizedFormatter, Instances.class);
+ Resource model = graph.syncRequest(new PossibleModel(input));
+ if (model == null) return Collections.emptyMap();
+
+ Map<String, Resource> result = new TreeMap<>(AlphanumComparator.CASE_INSENSITIVE_COMPARATOR);
+ for (Resource template : query.find(graph, model)) {
+ String sortKey = graph.getPossibleRelatedAdapter(template, DIA.RealizedFormatter_sortKey, String.class);
+ result.put(StringUtils.safeString(sortKey), template);
+ }
+ String[] keys = new String[result.size()];
+ Object[] values = new Object[result.size()];
+ int i = 0;
+ for (Resource template : result.values()) {
+ String label = graph.getPossibleRelatedAdapter(template, L0.HasLabel, String.class);
+ String format = graph.getPossibleRelatedValue(template, DIA.RealizedFormatter_HasDefinition, Bindings.STRING);
+ keys[i] = "" + label + " (" + format + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ values[i] = template;
+ ++i;
+ }
+ return ArrayMap.make(keys, values);
+
+ }
+
+}