X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2Fdiagram%2Fmonitor%2FAvailableFormatFactory.java;h=5156f5014a5cdd44eb9e0f177e6449eae5037c53;hb=0d9b90834ce56b292c00b1a39850ed842c3e4d42;hp=1567b092f22c679691022196875742a923a60540;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/AvailableFormatFactory.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/AvailableFormatFactory.java index 1567b092f..5156f5014 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/AvailableFormatFactory.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/AvailableFormatFactory.java @@ -1,50 +1,50 @@ -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> { - - @Override - public Map 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 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 + ")"; - values[i] = template; - ++i; - } - return ArrayMap.make(keys, values); - - } - -} +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> { + + @Override + public Map 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 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 + ")"; + values[i] = template; + ++i; + } + return ArrayMap.make(keys, values); + + } + +}