]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/src/org/simantics/modeling/ModelingUtils.java
Fixed changes made in commit 3a10ce85.
[simantics/platform.git] / bundles / org.simantics.modeling / src / org / simantics / modeling / ModelingUtils.java
index 3b4806c7ce927a78b46bdc60f8931b3bb6db535d..385947d0ccfbc4616f1729b95eab02f8a0ea77f0 100644 (file)
@@ -1470,7 +1470,7 @@ public class ModelingUtils {
        
     }
        
-    public static void exportSharedOntology(IProgressMonitor monitor, RequestProcessor processor, File location, String format, int version, final LibraryInfo info) throws DatabaseException, IOException {
+    public static TransferableGraph1 exportSharedOntology(IProgressMonitor monitor, RequestProcessor processor, File location, String format, int version, final LibraryInfo info) throws DatabaseException, IOException {
        
        if(monitor == null) monitor = new NullProgressMonitor();
        
@@ -1504,13 +1504,20 @@ public class ModelingUtils {
                metadata.put(ExternalDownloadBean.EXTENSION_KEY, edb);
             }
 
-            monitor.setTaskName("Writing transferable graph...");
-            DataContainers.writeFile(location, new DataContainer(
-                    format, version,
-                    metadata, new Variant(TransferableGraph1.BINDING, tg)));
-
-            monitor.worked(5);
+            if(location != null) {
+                   monitor.setTaskName("Writing transferable graph...");
+                   DataContainers.writeFile(location, new DataContainer(
+                           format, version,
+                           metadata, new Variant(TransferableGraph1.BINDING, tg)));
+                   monitor.worked(5);
+            }
+            
+            return tg;
+            
         }
+        
+        throw new DatabaseException("Failed to export");
+        
     }
 
     public static TreeMap<String, Variant> getExportMetadata() {
@@ -2205,7 +2212,7 @@ public class ModelingUtils {
 
        }
 
-       public static void exportSharedOntology(ReadGraph graph, Resource library, String fileName, String format, int version) throws DatabaseException {
+       public static TransferableGraph1 exportSharedOntology(ReadGraph graph, Resource library, String fileName, String format, int version) throws DatabaseException {
                
         Layer0 L0 = Layer0.getInstance(graph);
         String name = graph.getRelatedValue(library, L0.HasName, Bindings.STRING);
@@ -2217,7 +2224,7 @@ public class ModelingUtils {
         LibraryInfo info = new LibraryInfo(name, library, draft);
                
        try {
-                       exportSharedOntology(new NullProgressMonitor(), graph, new File(fileName), format, version, info);
+                       return exportSharedOntology(new NullProgressMonitor(), graph, fileName != null ? new File(fileName) : null, format, version, info);
                } catch (IOException e) {
                        throw new DatabaseException(e);
                }
@@ -2253,7 +2260,7 @@ public class ModelingUtils {
                Layer0 L0 = Layer0.getInstance(graph);
                while(!todo.isEmpty()) {
                        Resource resource = todo.remove(todo.size()-1);
-            graph.claimLiteral(resource, L0.identifier, L0.GUID, GUID.random(), GUID.BINDING);
+                       Layer0Utils.claimNewIdentifier(graph, resource, false);
             if(deep)
                todo.addAll(graph.getObjects(resource, L0.ConsistsOf));
                }
@@ -2284,7 +2291,7 @@ public class ModelingUtils {
                                
                                GUID existing = graph.getPossibleRelatedValue(r, L0.identifier, GUID.BINDING);
                                if(existing == null) {
-                                       graph.addLiteral(r, L0.identifier, L0.identifier_Inverse, L0.GUID, GUID.random(), GUID.BINDING);
+                                   Layer0Utils.claimNewIdentifier(graph, r, true);
                                        madeChanges = true;
                                }