]> gerrit.simantics Code Review - simantics/district.git/commitdiff
Minor UI bug fixes for dynamic visualisations 00/3300/2
authorjsimomaa <jani.simomaa@gmail.com>
Mon, 30 Sep 2019 07:59:25 +0000 (10:59 +0300)
committerJani Simomaa <jani.simomaa@semantum.fi>
Mon, 30 Sep 2019 08:04:18 +0000 (08:04 +0000)
gitlab #59

Change-Id: I21c6467b898d2d724cf180758974567120cb7702

org.simantics.district.network.ui/src/org/simantics/district/network/ui/DistrictDiagramViewer.java
org.simantics.district.network.ui/src/org/simantics/district/network/ui/visualisations/DynamicVisualisationsUI.java

index d7f530dfd025e8df8ff49a8e5077841ac4ceeec1..7ee2f2faa03a2c5b771e7d52de2d05db1a21f034 100644 (file)
@@ -309,9 +309,13 @@ public class DistrictDiagramViewer extends DiagramViewer {
             DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
             Resource model = graph.syncRequest(new IndexRoot(parameter));
             Resource vf = DistrictNetworkUtil.getVisualisationFolder(graph, model);
-            Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation);
-            if (activeVisualisation != null) {
-                return DistrictNetworkUtil.colorBarOptions(graph, activeVisualisation);
+            if (vf != null) {
+                Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation);
+                if (activeVisualisation != null) {
+                    return DistrictNetworkUtil.colorBarOptions(graph, activeVisualisation);
+                }
+            } else {
+                LOGGER.debug("No visualisation folder available for model {}", model);
             }
             return ColorBarOptions.useDefault();
         }
@@ -328,9 +332,13 @@ public class DistrictDiagramViewer extends DiagramViewer {
             DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
             Resource model = graph.syncRequest(new IndexRoot(parameter));
             Resource vf = DistrictNetworkUtil.getVisualisationFolder(graph, model);
-            Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation);
-            if (activeVisualisation != null) {
-                return DistrictNetworkUtil.colorContributions(graph, activeVisualisation);
+            if (vf != null) {
+                Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation);
+                if (activeVisualisation != null) {
+                    return DistrictNetworkUtil.colorContributions(graph, activeVisualisation);
+                }
+            } else {
+                LOGGER.debug("No visualisation folder available for model {}", model);
             }
             return Collections.emptyMap();
         }
@@ -403,9 +411,13 @@ public class DistrictDiagramViewer extends DiagramViewer {
             DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
             Resource model = graph.syncRequest(new IndexRoot(parameter));
             Resource vf = DistrictNetworkUtil.getVisualisationFolder(graph, model);
-            Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation);
-            if (activeVisualisation != null) {
-                return DistrictNetworkUtil.sizeBarOptions(graph, activeVisualisation);
+            if (vf != null) {
+                Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation);
+                if (activeVisualisation != null) {
+                    return DistrictNetworkUtil.sizeBarOptions(graph, activeVisualisation);
+                }
+            } else {
+                LOGGER.debug("No visualisation folder available for model {}", model);
             }
             return SizeBarOptions.useDefault();
         }
@@ -450,9 +462,13 @@ public class DistrictDiagramViewer extends DiagramViewer {
             DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
             Resource model = graph.syncRequest(new IndexRoot(parameter));
             Resource vf = DistrictNetworkUtil.getVisualisationFolder(graph, model);
-            Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation);
-            if (activeVisualisation != null) {
-                return DistrictNetworkUtil.sizeContributions(graph, activeVisualisation);
+            if (vf != null) {
+                Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation);
+                if (activeVisualisation != null) {
+                    return DistrictNetworkUtil.sizeContributions(graph, activeVisualisation);
+                }
+            } else {
+                LOGGER.debug("No visualisation folder available for model {}", model);
             }
             return Collections.emptyMap();
         }
index c5be0451242f8fafccbe0fd3f4cdf1eb4626c997..bc0551527590a5aa7793cf0a5125f4de29340fec 100644 (file)
@@ -228,6 +228,19 @@ public class DynamicVisualisationsUI extends Composite {
         }
     }
 
+    private void persistCurrentVisualisationTemplateIfAvailable() {
+        if (visualisation != null) {
+            try {
+                persistVisualisationTemplate(visualisation.getName(), Optional.of(visualisation.getVisualisationResource()));
+            } catch (Exception e1) {
+                LOGGER.error("Could not persist visualisation template", e1);
+                ShowError.showError("Could not persist visualisation template", e1.getMessage(), e1);
+            }
+        } else {
+            LOGGER.info("No current visualisation template selected for saving");
+        }
+    }
+    
     private void persistVisualisationTemplate(String templateName, Optional<Resource> existing) throws Exception {
         
         List<Pair<String, DynamicColorContribution>> colorCollect = colorSuppliers.stream().map(s -> s.get()).filter(Objects::nonNull).collect(Collectors.toList());
@@ -880,12 +893,7 @@ public class DynamicVisualisationsUI extends Composite {
 
                 @Override
                 public void widgetSelected(SelectionEvent e) {
-                    try {
-                        persistVisualisationTemplate(visualisation.getName(), Optional.of(visualisation.getVisualisationResource()));
-                    } catch (Exception e1) {
-                        LOGGER.error("Could not persist visualisation template", e1);
-                        ShowError.showError("Could not persist visualisation template", e1.getMessage(), e1);
-                    }
+                    persistCurrentVisualisationTemplateIfAvailable();
                 }
             });
         } else if (widget instanceof Combo) {
@@ -893,12 +901,7 @@ public class DynamicVisualisationsUI extends Composite {
 
                 @Override
                 public void widgetSelected(SelectionEvent e) {
-                    try {
-                        persistVisualisationTemplate(visualisation.getName(), Optional.of(visualisation.getVisualisationResource()));
-                    } catch (Exception e1) {
-                        LOGGER.error("Could not persist visualisation template", e1);
-                        ShowError.showError("Could not persist visualisation template", e1.getMessage(), e1);
-                    }
+                    persistCurrentVisualisationTemplateIfAvailable();
                 }
             });
         } else if (widget instanceof Text) {
@@ -906,12 +909,7 @@ public class DynamicVisualisationsUI extends Composite {
                 
                 @Override
                 public void focusLost(FocusEvent e) {
-                    try {
-                        persistVisualisationTemplate(visualisation.getName(), Optional.of(visualisation.getVisualisationResource()));
-                    } catch (Exception e1) {
-                        LOGGER.error("Could not persist visualisation template", e1);
-                        ShowError.showError("Could not persist visualisation template", e1.getMessage(), e1);
-                    }
+                    persistCurrentVisualisationTemplateIfAvailable();
                 }
             });
             ((Text) widget).addKeyListener(new KeyAdapter() {
@@ -919,12 +917,7 @@ public class DynamicVisualisationsUI extends Composite {
                 @Override
                 public void keyReleased(KeyEvent e) {
                     if(e.keyCode == SWT.CR || e.keyCode == SWT.LF) {
-                        try {
-                            persistVisualisationTemplate(visualisation.getName(), Optional.of(visualisation.getVisualisationResource()));
-                        } catch (Exception e1) {
-                            LOGGER.error("Could not persist visualisation template", e1);
-                            ShowError.showError("Could not persist visualisation template", e1.getMessage(), e1);
-                        }
+                        persistCurrentVisualisationTemplateIfAvailable();
                     }
                 }
             });