]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.charts/src/org/simantics/charts/ui/ChartItemLabelRule.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.charts / src / org / simantics / charts / ui / ChartItemLabelRule.java
index 189c9e09b9606d62024c0597c2a0d1d20909c461..8fdd945b27fadfda412faacb1b8024ec682a6232 100644 (file)
-package org.simantics.charts.ui;\r
-\r
-import java.util.Collections;\r
-import java.util.Map;\r
-\r
-import org.simantics.browsing.ui.model.labels.LabelRule;\r
-import org.simantics.charts.ontology.ChartResource;\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.databoard.Databoard;\r
-import org.simantics.databoard.binding.Binding;\r
-import org.simantics.databoard.util.URIStringUtils;\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.request.PossibleActiveExperiment;\r
-import org.simantics.db.layer0.request.PossibleModel;\r
-import org.simantics.db.layer0.variable.RVI;\r
-import org.simantics.db.layer0.variable.Variable;\r
-import org.simantics.db.layer0.variable.Variables;\r
-import org.simantics.layer0.Layer0;\r
-import org.simantics.modeling.ModelingResources;\r
-import org.simantics.modeling.subscription.SubscriptionItemLabel;\r
-\r
-/**\r
- * Used for labeling both chart plots and subscription items.\r
- * \r
- * @author Tuukka Lehtonen\r
- */\r
-public class ChartItemLabelRule implements LabelRule {\r
-\r
-    public static final ChartItemLabelRule INSTANCE = new ChartItemLabelRule();\r
-\r
-    @Override\r
-    public boolean isCompatible(Class<?> contentType) {\r
-        return contentType.equals(Resource.class);\r
-    }\r
-\r
-    public String getLabel_(ReadGraph graph, Resource item) throws DatabaseException {\r
-        Layer0 L0 = Layer0.getInstance(graph);\r
-        ChartResource CHART = ChartResource.getInstance(graph);\r
-        ModelingResources MOD = ModelingResources.getInstance(graph);\r
-\r
-        StringBuilder sb = new StringBuilder();\r
-\r
-        Integer index = graph.getPossibleRelatedValue(item, CHART.Chart_Item_Index, Bindings.INTEGER);\r
-        sb.append( index==null ? "" : index+". " );\r
-\r
-        String subscriptionItemLabel = null;\r
-        String unitStr = null;\r
-        SubscriptionState subscriptionState = SubscriptionState.IGNORE;\r
-        Resource subscriptionItem = graph.getPossibleObject(item, CHART.Chart_Item_HasSubscriptionItem);\r
-        if (subscriptionItem != null) {\r
-            subscriptionItemLabel = graph.getPossibleRelatedValue(subscriptionItem, L0.HasLabel, Bindings.STRING);\r
-\r
-            Binding rviBinding = graph.getService(Databoard.class).getBindingUnchecked( RVI.class );\r
-            RVI rvi = graph.getPossibleRelatedValue(subscriptionItem, MOD.Subscription_Item_VariableId, rviBinding);\r
-\r
-            // Create label from rvi if subscription has no label\r
-            if (subscriptionItemLabel == null || subscriptionItemLabel.isEmpty()) {\r
-                Variable configuration = Variables.getPossibleConfigurationContext(graph, subscriptionItem);\r
-                if (rvi != null && configuration != null) {\r
-                    subscriptionItemLabel = rvi.asPossibleString(graph, configuration);\r
-                    if (subscriptionItemLabel == null)\r
-                        subscriptionItemLabel = rvi.toPossibleString(graph, configuration);\r
-                    if (subscriptionItemLabel != null) {\r
-                        subscriptionItemLabel = SubscriptionItemLabel.removeVariablePrefixPath(subscriptionItemLabel);\r
-                        subscriptionItemLabel = URIStringUtils.unescape(subscriptionItemLabel);\r
-                    }\r
-                }\r
-            }\r
-\r
-            subscriptionState = getSubscriptionState(graph, rvi, subscriptionItem);\r
-            unitStr = graph.getPossibleRelatedValue(subscriptionItem, MOD.Subscription_Item_Unit, Bindings.STRING);\r
-        }\r
-        if (subscriptionItemLabel!=null) {\r
-            sb.append(subscriptionItemLabel);\r
-        } else {\r
-            sb.append("<not associated to a subscription item>");\r
-        }\r
-\r
-        if ( unitStr != null && !unitStr.isEmpty() ) {\r
-            sb.append(" [");\r
-            sb.append(unitStr);\r
-            sb.append("]");\r
-        }\r
-\r
-        if (subscriptionState == SubscriptionState.INVALID)\r
-            sb.append(" (invalid subscription)");\r
-\r
-        return sb.toString();\r
-    }\r
-\r
-    private static SubscriptionState getSubscriptionState(ReadGraph graph, RVI rvi, Resource subscriptionItem) throws DatabaseException {\r
-        Resource model = graph.sync( new PossibleModel(subscriptionItem) );\r
-        if (model == null)\r
-            return SubscriptionState.IGNORE;\r
-        Resource run = graph.sync( new PossibleActiveExperiment(model) );\r
-        if (run == null)\r
-            return SubscriptionState.IGNORE;\r
-        Variable base = Variables.getPossibleVariable(graph, run);\r
-        if (base == null)\r
-            return SubscriptionState.IGNORE;\r
-        Variable var = rvi.resolvePossible(graph, base);\r
-        return var != null ? SubscriptionState.VALID :  SubscriptionState.INVALID;\r
-    }\r
-\r
-    @Override\r
-    public Map<String, String> getLabel(ReadGraph graph, Object content) throws DatabaseException {\r
-        return Collections.singletonMap(ChartItemImageRule.COLUMN_KEY, getLabel_(graph, (Resource) content));\r
-    }\r
-\r
-    public static enum SubscriptionState {\r
-        IGNORE,\r
-        INVALID,\r
-        VALID\r
-    }\r
-\r
-}\r
+package org.simantics.charts.ui;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.simantics.browsing.ui.model.labels.LabelRule;
+import org.simantics.charts.ontology.ChartResource;
+import org.simantics.databoard.Bindings;
+import org.simantics.databoard.Databoard;
+import org.simantics.databoard.binding.Binding;
+import org.simantics.databoard.util.URIStringUtils;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.request.PossibleActiveExperiment;
+import org.simantics.db.layer0.request.PossibleModel;
+import org.simantics.db.layer0.variable.RVI;
+import org.simantics.db.layer0.variable.Variable;
+import org.simantics.db.layer0.variable.Variables;
+import org.simantics.layer0.Layer0;
+import org.simantics.modeling.ModelingResources;
+import org.simantics.modeling.subscription.SubscriptionItemLabel;
+
+/**
+ * Used for labeling both chart plots and subscription items.
+ * 
+ * @author Tuukka Lehtonen
+ */
+public class ChartItemLabelRule implements LabelRule {
+
+    public static final ChartItemLabelRule INSTANCE = new ChartItemLabelRule();
+
+    @Override
+    public boolean isCompatible(Class<?> contentType) {
+        return contentType.equals(Resource.class);
+    }
+
+    public String getLabel_(ReadGraph graph, Resource item) throws DatabaseException {
+        Layer0 L0 = Layer0.getInstance(graph);
+        ChartResource CHART = ChartResource.getInstance(graph);
+        ModelingResources MOD = ModelingResources.getInstance(graph);
+
+        StringBuilder sb = new StringBuilder();
+
+        Integer index = graph.getPossibleRelatedValue(item, CHART.Chart_Item_Index, Bindings.INTEGER);
+        sb.append( index==null ? "" : index+". " );
+
+        String subscriptionItemLabel = null;
+        String unitStr = null;
+        SubscriptionState subscriptionState = SubscriptionState.IGNORE;
+        Resource subscriptionItem = graph.getPossibleObject(item, CHART.Chart_Item_HasSubscriptionItem);
+        if (subscriptionItem != null) {
+            subscriptionItemLabel = graph.getPossibleRelatedValue(subscriptionItem, L0.HasLabel, Bindings.STRING);
+
+            Binding rviBinding = graph.getService(Databoard.class).getBindingUnchecked( RVI.class );
+            RVI rvi = graph.getPossibleRelatedValue(subscriptionItem, MOD.Subscription_Item_VariableId, rviBinding);
+
+            // Create label from rvi if subscription has no label
+            if (subscriptionItemLabel == null || subscriptionItemLabel.isEmpty()) {
+                Variable configuration = Variables.getPossibleConfigurationContext(graph, subscriptionItem);
+                if (rvi != null && configuration != null) {
+                    subscriptionItemLabel = rvi.asPossibleString(graph, configuration);
+                    if (subscriptionItemLabel == null)
+                        subscriptionItemLabel = rvi.toPossibleString(graph, configuration);
+                    if (subscriptionItemLabel != null) {
+                        subscriptionItemLabel = SubscriptionItemLabel.removeVariablePrefixPath(subscriptionItemLabel);
+                        subscriptionItemLabel = URIStringUtils.unescape(subscriptionItemLabel);
+                    }
+                }
+            }
+
+            subscriptionState = getSubscriptionState(graph, rvi, subscriptionItem);
+            unitStr = graph.getPossibleRelatedValue(subscriptionItem, MOD.Subscription_Item_Unit, Bindings.STRING);
+        }
+        if (subscriptionItemLabel!=null) {
+            sb.append(subscriptionItemLabel);
+        } else {
+            sb.append("<not associated to a subscription item>");
+        }
+
+        if ( unitStr != null && !unitStr.isEmpty() ) {
+            sb.append(" [");
+            sb.append(unitStr);
+            sb.append("]");
+        }
+
+        if (subscriptionState == SubscriptionState.INVALID)
+            sb.append(" (invalid subscription)");
+
+        return sb.toString();
+    }
+
+    private static SubscriptionState getSubscriptionState(ReadGraph graph, RVI rvi, Resource subscriptionItem) throws DatabaseException {
+        Resource model = graph.sync( new PossibleModel(subscriptionItem) );
+        if (model == null)
+            return SubscriptionState.IGNORE;
+        Resource run = graph.sync( new PossibleActiveExperiment(model) );
+        if (run == null)
+            return SubscriptionState.IGNORE;
+        Variable base = Variables.getPossibleVariable(graph, run);
+        if (base == null)
+            return SubscriptionState.IGNORE;
+        Variable var = rvi.resolvePossible(graph, base);
+        return var != null ? SubscriptionState.VALID :  SubscriptionState.INVALID;
+    }
+
+    @Override
+    public Map<String, String> getLabel(ReadGraph graph, Object content) throws DatabaseException {
+        return Collections.singletonMap(ChartItemImageRule.COLUMN_KEY, getLabel_(graph, (Resource) content));
+    }
+
+    public static enum SubscriptionState {
+        IGNORE,
+        INVALID,
+        VALID
+    }
+
+}