]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.graph/tests/org/simantics/graph/tests/conversion/TG0_TG1.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.graph / tests / org / simantics / graph / tests / conversion / TG0_TG1.java
diff --git a/bundles/org.simantics.graph/tests/org/simantics/graph/tests/conversion/TG0_TG1.java b/bundles/org.simantics.graph/tests/org/simantics/graph/tests/conversion/TG0_TG1.java
new file mode 100644 (file)
index 0000000..72c7213
--- /dev/null
@@ -0,0 +1,55 @@
+package org.simantics.graph.tests.conversion;\r
+\r
+import java.io.File;\r
+\r
+import org.simantics.databoard.Files;\r
+import org.simantics.databoard.binding.mutable.Variant;\r
+import org.simantics.databoard.container.DataContainer;\r
+import org.simantics.databoard.container.DataContainers;\r
+import org.simantics.graph.representation.TransferableGraph1;\r
+\r
+public class TG0_TG1 {\r
+\r
+       public static void main(String[] args) throws Exception {\r
+               if(args.length != 3) {\r
+                       System.err.println(TG0_TG1.class.getName() + " formatName input.tg output.tg");\r
+                       return;\r
+               }\r
+               String formatName = args[0];\r
+               File input = new File(args[1]);\r
+               File output = new File(args[2]);\r
+               \r
+               if(!input.exists()) {\r
+                       System.err.println(input + " does not exist.");\r
+                       return;\r
+               }\r
+               if(output.exists())\r
+                       output.delete();\r
+               \r
+               try {\r
+                       DataContainer header = DataContainers.readHeader(input);\r
+                       if (formatName.equals(header.format)) {\r
+                               System.err.println(input + " already has a data container with the required format, version is " + header.version);\r
+                               return;\r
+                       } else {\r
+                               System.err.println(input + " already has a data container with another format '" + header.format + ", version is " + header.version);\r
+                               return;\r
+                       }\r
+               } catch (Throwable e) {\r
+                       // There is no DataContainer in the input file yet.\r
+                       // Continue conversion.\r
+               }\r
+               \r
+               TransferableGraph0 tg0 = (TransferableGraph0)Files.readFile(input, TransferableGraph0.BINDING);\r
+               TransferableGraph1 tg1 = new TransferableGraph1(\r
+                               tg0.resourceCount,\r
+                               tg0.identities,\r
+                               tg0.statements,\r
+                               tg0.values,\r
+                               tg0.extensions\r
+                               );\r
+               DataContainers.writeFile(output, \r
+                               new DataContainer(formatName, 1, new Variant(TransferableGraph1.BINDING, tg1)));\r
+       }\r
+       \r
+}\r