X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.document.ui%2Fsrc%2Forg%2Fsimantics%2Fdocument%2Fui%2Factions%2FExportDocumentFile.java;h=090437081ffca668b16b9d64b73dcb457911d04a;hp=c612f99bc6b7f53acd8a05b2fb52304f725f0c27;hb=0b471805f017da83d715a0d8409f53bdd009d31e;hpb=145a2884933f2ffdd48d6835729e58f1152d274e diff --git a/bundles/org.simantics.document.ui/src/org/simantics/document/ui/actions/ExportDocumentFile.java b/bundles/org.simantics.document.ui/src/org/simantics/document/ui/actions/ExportDocumentFile.java index c612f99bc..090437081 100644 --- a/bundles/org.simantics.document.ui/src/org/simantics/document/ui/actions/ExportDocumentFile.java +++ b/bundles/org.simantics.document.ui/src/org/simantics/document/ui/actions/ExportDocumentFile.java @@ -24,6 +24,7 @@ import org.simantics.db.request.Read; import org.simantics.document.DocumentResource; import org.simantics.graphfile.ontology.GraphFileResource; import org.simantics.graphfile.util.GraphFileUtil; +import org.simantics.layer0.Layer0; import org.simantics.ui.SimanticsUI; import org.simantics.utils.ui.ExceptionUtils; @@ -48,18 +49,24 @@ public class ExportDocumentFile implements ActionFactory { @Override public void run() { try { - String resourceName = SimanticsUI.getSession().syncRequest(new Read() { + String name = SimanticsUI.getSession().syncRequest(new Read() { public String perform(ReadGraph graph) throws DatabaseException { DocumentResource doc = DocumentResource.getInstance(graph); GraphFileResource gf = GraphFileResource.getInstance(graph); if (!graph.isInstanceOf(resource, doc.FileDocument)) return null; - return graph.getPossibleRelatedValue(resource, gf.HasResourceName); + String resourceName = graph.getPossibleRelatedValue(resource, gf.HasResourceName); + if (resourceName != null) { + return resourceName; + } else { + Layer0 L0 = Layer0.getInstance(graph); + return graph.getPossibleRelatedValue(resource, L0.HasName); + } }; }); FileDialog dialog = new FileDialog(Display.getCurrent().getActiveShell(),SWT.SAVE); - dialog.setFileName(resourceName); + dialog.setFileName(name); final String filename = dialog.open(); if (filename == null) return;