X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2Fdiagram%2Fmonitor%2FObtainedFormatterAdapter.java;h=3f0200c961ecfbe34c4bcc82123c9f95d08a8305;hp=20846c61b5c96d9e76787c0190c4be1ea1fc88fe;hb=4e8f62e4f5a8da113ee576a856b18274ca2a472f;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/ObtainedFormatterAdapter.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/ObtainedFormatterAdapter.java index 20846c61b..3f0200c96 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/ObtainedFormatterAdapter.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/ObtainedFormatterAdapter.java @@ -1,41 +1,42 @@ -package org.simantics.modeling.ui.diagram.monitor; - -import java.util.ArrayList; -import java.util.Collections; - -import org.simantics.common.format.Formatter; -import org.simantics.databoard.Bindings; -import org.simantics.db.ReadGraph; -import org.simantics.db.RelationContext; -import org.simantics.db.Resource; -import org.simantics.db.Statement; -import org.simantics.db.common.adaption.SimpleContextualAdapter; -import org.simantics.db.exception.DatabaseException; -import org.simantics.db.layer0.property.OrderedResource; -import org.simantics.diagram.stubs.DiagramResource; -import org.simantics.operation.Layer0X; - -public class ObtainedFormatterAdapter extends SimpleContextualAdapter { - - @Override - public Formatter adapt(ReadGraph graph, Resource source, RelationContext context) throws DatabaseException { - - Layer0X L0X = Layer0X.getInstance(graph); - DiagramResource DIA = DiagramResource.getInstance(graph); - ArrayList order = new ArrayList(); - for(Statement stm : graph.getStatements(context.getSubject(), L0X.ObtainsProperty)) { - Integer position = graph.getRelatedValue(stm.getPredicate(), L0X.NaturalNumberOrderRelation, Bindings.INTEGER); - order.add(new OrderedResource(position, stm.getObject())); - } - if (order.size() > 1) - Collections.sort(order); - for(OrderedResource or : order) { - Formatter result = graph.getPossibleRelatedAdapter(or.r, DIA.HasFormatter, Formatter.class); - if(result != null) return result; - } - - return null; - - } - -} +package org.simantics.modeling.ui.diagram.monitor; + +import java.util.ArrayList; +import java.util.Collections; + +import org.simantics.common.format.Formatter; +import org.simantics.databoard.Bindings; +import org.simantics.db.ReadGraph; +import org.simantics.db.RelationContext; +import org.simantics.db.Resource; +import org.simantics.db.Statement; +import org.simantics.db.common.adaption.SimpleContextualAdapter; +import org.simantics.db.exception.AdaptionException; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.layer0.property.OrderedResource; +import org.simantics.diagram.stubs.DiagramResource; +import org.simantics.operation.Layer0X; + +public class ObtainedFormatterAdapter extends SimpleContextualAdapter { + + @Override + public Formatter adapt(ReadGraph graph, Resource source, RelationContext context) throws DatabaseException { + + Layer0X L0X = Layer0X.getInstance(graph); + DiagramResource DIA = DiagramResource.getInstance(graph); + ArrayList order = new ArrayList(); + for(Statement stm : graph.getStatements(context.getSubject(), L0X.ObtainsProperty)) { + Integer position = graph.getRelatedValue(stm.getPredicate(), L0X.NaturalNumberOrderRelation, Bindings.INTEGER); + order.add(new OrderedResource(position, stm.getObject())); + } + if (order.size() > 1) + Collections.sort(order); + for(OrderedResource or : order) { + Formatter result = graph.getPossibleRelatedAdapter(or.r, DIA.HasFormatter, Formatter.class); + if(result != null) return result; + } + + throw new AdaptionException("No obtained formatter available"); + + } + +}