]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.ui/src/org/simantics/document/ui/actions/ExportDocumentFile.java
Sync git svn branch with SVN repository r33345.
[simantics/platform.git] / bundles / org.simantics.document.ui / src / org / simantics / document / ui / actions / ExportDocumentFile.java
index c612f99bc6b7f53acd8a05b2fb52304f725f0c27..090437081ffca668b16b9d64b73dcb457911d04a 100644 (file)
@@ -24,6 +24,7 @@ import org.simantics.db.request.Read;
 import org.simantics.document.DocumentResource;\r
 import org.simantics.graphfile.ontology.GraphFileResource;\r
 import org.simantics.graphfile.util.GraphFileUtil;\r
+import org.simantics.layer0.Layer0;\r
 import org.simantics.ui.SimanticsUI;\r
 import org.simantics.utils.ui.ExceptionUtils;\r
 \r
@@ -48,18 +49,24 @@ public class ExportDocumentFile implements ActionFactory {
                        @Override\r
                        public void run() {\r
                                try {\r
-                                       String resourceName = SimanticsUI.getSession().syncRequest(new Read<String>() {\r
+                                       String name = SimanticsUI.getSession().syncRequest(new Read<String>() {\r
                                                public String perform(ReadGraph graph) throws DatabaseException {\r
                                                        DocumentResource doc = DocumentResource.getInstance(graph);\r
                                                        GraphFileResource gf = GraphFileResource.getInstance(graph);\r
                                                        if (!graph.isInstanceOf(resource, doc.FileDocument))\r
                                                                return null;\r
-                                                       return graph.getPossibleRelatedValue(resource, gf.HasResourceName);\r
+                                                       String resourceName = graph.getPossibleRelatedValue(resource, gf.HasResourceName);\r
+                                                       if (resourceName != null) {\r
+                                                               return resourceName;\r
+                                                       } else {\r
+                                                               Layer0 L0 = Layer0.getInstance(graph);\r
+                                                               return graph.getPossibleRelatedValue(resource, L0.HasName);\r
+                                                       }\r
                                                };\r
                                        });\r
                                        \r
                                        FileDialog dialog = new FileDialog(Display.getCurrent().getActiveShell(),SWT.SAVE);\r
-                                       dialog.setFileName(resourceName);\r
+                                       dialog.setFileName(name);\r
                                        final String filename = dialog.open();\r
                                        if (filename == null)\r
                                                return;\r