]> gerrit.simantics Code Review - simantics/interop.git/blob - org.simantics.xml.sax.ui/src/org/simantics/xml/sax/ui/datawizard/DataConversionWizard.java
XML data based schema and ontology generation
[simantics/interop.git] / org.simantics.xml.sax.ui / src / org / simantics / xml / sax / ui / datawizard / DataConversionWizard.java
1 package org.simantics.xml.sax.ui.datawizard;
2
3 import java.io.File;
4 import java.util.ArrayList;
5 import java.util.List;
6
7 import org.eclipse.jface.viewers.IStructuredSelection;
8 import org.eclipse.jface.wizard.Wizard;
9 import org.eclipse.ui.IImportWizard;
10 import org.eclipse.ui.IWorkbench;
11 import org.simantics.xml.data.XmlDataConverter;
12
13 public class DataConversionWizard extends Wizard implements IImportWizard {
14
15         InputSelectionPage inputSelectionPage;
16         ImportProcessPage importProcessPage;
17         
18         public DataConversionWizard() {
19                 setWindowTitle("XML Data conversion");
20         }
21
22         @Override
23         public void init(IWorkbench workbench, IStructuredSelection selection) {
24
25         }
26
27         @Override
28         public boolean performFinish() {
29                 if (importProcessPage.isImporting())
30                         return false;
31                 return true;
32         }
33         
34         
35         @Override
36         public void addPages() {
37                 addPage(inputSelectionPage = new InputSelectionPage());
38                 addPage(importProcessPage = new ImportProcessPage());
39         }
40         
41         public void doConversion() throws Exception {
42                 
43                 List<File> inputFiles = new ArrayList<>();
44                 for (String name : inputSelectionPage.getDataFilenames())
45                         inputFiles.add(new File(name));
46                 File configurationFile = null;
47                 if (inputSelectionPage.getConfigurationFilename() != null)
48                         configurationFile = new File(inputSelectionPage.getConfigurationFilename());
49                 File outputPlugin = new File(inputSelectionPage.getPluginFilename());
50
51                 XmlDataConverter converter = new XmlDataConverter(inputFiles,configurationFile,outputPlugin);
52                 
53                 converter.convert();
54         }
55
56 }