]> gerrit.simantics Code Review - simantics/platform.git/blob - 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
1 package org.simantics.graph.tests.conversion;\r
2 \r
3 import java.io.File;\r
4 \r
5 import org.simantics.databoard.Files;\r
6 import org.simantics.databoard.binding.mutable.Variant;\r
7 import org.simantics.databoard.container.DataContainer;\r
8 import org.simantics.databoard.container.DataContainers;\r
9 import org.simantics.graph.representation.TransferableGraph1;\r
10 \r
11 public class TG0_TG1 {\r
12 \r
13         public static void main(String[] args) throws Exception {\r
14                 if(args.length != 3) {\r
15                         System.err.println(TG0_TG1.class.getName() + " formatName input.tg output.tg");\r
16                         return;\r
17                 }\r
18                 String formatName = args[0];\r
19                 File input = new File(args[1]);\r
20                 File output = new File(args[2]);\r
21                 \r
22                 if(!input.exists()) {\r
23                         System.err.println(input + " does not exist.");\r
24                         return;\r
25                 }\r
26                 if(output.exists())\r
27                         output.delete();\r
28                 \r
29                 try {\r
30                         DataContainer header = DataContainers.readHeader(input);\r
31                         if (formatName.equals(header.format)) {\r
32                                 System.err.println(input + " already has a data container with the required format, version is " + header.version);\r
33                                 return;\r
34                         } else {\r
35                                 System.err.println(input + " already has a data container with another format '" + header.format + ", version is " + header.version);\r
36                                 return;\r
37                         }\r
38                 } catch (Throwable e) {\r
39                         // There is no DataContainer in the input file yet.\r
40                         // Continue conversion.\r
41                 }\r
42                 \r
43                 TransferableGraph0 tg0 = (TransferableGraph0)Files.readFile(input, TransferableGraph0.BINDING);\r
44                 TransferableGraph1 tg1 = new TransferableGraph1(\r
45                                 tg0.resourceCount,\r
46                                 tg0.identities,\r
47                                 tg0.statements,\r
48                                 tg0.values,\r
49                                 tg0.extensions\r
50                                 );\r
51                 DataContainers.writeFile(output, \r
52                                 new DataContainer(formatName, 1, new Variant(TransferableGraph1.BINDING, tg1)));\r
53         }\r
54         \r
55 }\r