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%2FObtainedFontAdapter.java;h=1c7d1d823720ce48499a959a28944a846736a1c1;hp=72a66f391cf8b619dbd409198e8887874f54cb33;hb=4e8f62e4f5a8da113ee576a856b18274ca2a472f;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/ObtainedFontAdapter.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/ObtainedFontAdapter.java index 72a66f391..1c7d1d823 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/ObtainedFontAdapter.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/ObtainedFontAdapter.java @@ -1,41 +1,42 @@ -package org.simantics.modeling.ui.diagram.monitor; - -import java.util.ArrayList; -import java.util.Collections; - -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; -import org.simantics.ui.fonts.FontDescriptor; - -public class ObtainedFontAdapter extends SimpleContextualAdapter { - - @Override - public FontDescriptor 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) { - FontDescriptor result = graph.getPossibleRelatedAdapter(or.r, DIA.HasFont, FontDescriptor.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.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; +import org.simantics.ui.fonts.FontDescriptor; + +public class ObtainedFontAdapter extends SimpleContextualAdapter { + + @Override + public FontDescriptor 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) { + FontDescriptor result = graph.getPossibleRelatedAdapter(or.r, DIA.HasFont, FontDescriptor.class); + if(result != null) return result; + } + + throw new AdaptionException("No obtained font available"); + + } + +}