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
@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