]> gerrit.simantics Code Review - simantics/interop.git/blob - org.simantics.xml.sax.ui/src/org/simantics/xml/sax/ui/wizard/SchemaConversionWizard.java
Initial support for XML export (order of Elements is not kept)
[simantics/interop.git] / org.simantics.xml.sax.ui / src / org / simantics / xml / sax / ui / wizard / SchemaConversionWizard.java
1 package org.simantics.xml.sax.ui.wizard;\r
2 \r
3 import java.io.File;\r
4 \r
5 import org.eclipse.jface.viewers.IStructuredSelection;\r
6 import org.eclipse.jface.wizard.Wizard;\r
7 import org.eclipse.ui.IImportWizard;\r
8 import org.eclipse.ui.IWorkbench;\r
9 import org.simantics.xml.sax.SchemaConverter;\r
10 \r
11 public class SchemaConversionWizard extends Wizard implements IImportWizard {\r
12 \r
13         InputSelectionPage inputSelectionPage;\r
14         ImportProcessPage importProcessPage;\r
15         SchemaCombinationPage schemaCombinationPage;\r
16         \r
17         public SchemaConversionWizard() {\r
18                 setWindowTitle("XML Schema conversion");\r
19         }\r
20 \r
21         @Override\r
22         public void init(IWorkbench workbench, IStructuredSelection selection) {\r
23 \r
24         }\r
25 \r
26         @Override\r
27         public boolean performFinish() {\r
28                 if (importProcessPage.isImporting())\r
29                         return false;\r
30                 return true;\r
31         }\r
32         \r
33         \r
34         @Override\r
35         public void addPages() {\r
36                 addPage(inputSelectionPage = new InputSelectionPage());\r
37                 addPage(importProcessPage = new ImportProcessPage());\r
38                 addPage(schemaCombinationPage = new SchemaCombinationPage());\r
39         }\r
40         \r
41         public void doConversion() throws Exception {\r
42                 SchemaConverter converter = new SchemaConverter();\r
43                 converter.setCreateExporter(inputSelectionPage.createExporter);\r
44                 converter.setCreateImporter(inputSelectionPage.createImporter);\r
45                 converter.setCreatePGraph(inputSelectionPage.createPGraph);\r
46 \r
47                 File inputFile = new File(inputSelectionPage.getSchemaFilename());\r
48                 File configurationFile = null;\r
49                 if (inputSelectionPage.getConfigurationFilename() != null)\r
50                         configurationFile = new File(inputSelectionPage.getConfigurationFilename());\r
51                 File outputPlugin = new File(inputSelectionPage.getPluginFilename());\r
52                 \r
53                 converter.convertSchema(inputFile,configurationFile,outputPlugin);\r
54                 \r
55                 schemaCombinationPage.setOutputPlugin(outputPlugin);\r
56         }\r
57 \r
58 }\r