]> gerrit.simantics Code Review - simantics/interop.git/blobdiff - 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
diff --git a/org.simantics.xml.sax.ui/src/org/simantics/xml/sax/ui/datawizard/DataConversionWizard.java b/org.simantics.xml.sax.ui/src/org/simantics/xml/sax/ui/datawizard/DataConversionWizard.java
new file mode 100644 (file)
index 0000000..ada9602
--- /dev/null
@@ -0,0 +1,56 @@
+package org.simantics.xml.sax.ui.datawizard;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.IImportWizard;
+import org.eclipse.ui.IWorkbench;
+import org.simantics.xml.data.XmlDataConverter;
+
+public class DataConversionWizard extends Wizard implements IImportWizard {
+
+       InputSelectionPage inputSelectionPage;
+       ImportProcessPage importProcessPage;
+       
+       public DataConversionWizard() {
+               setWindowTitle("XML Data conversion");
+       }
+
+       @Override
+       public void init(IWorkbench workbench, IStructuredSelection selection) {
+
+       }
+
+       @Override
+       public boolean performFinish() {
+               if (importProcessPage.isImporting())
+                       return false;
+               return true;
+       }
+       
+       
+       @Override
+       public void addPages() {
+               addPage(inputSelectionPage = new InputSelectionPage());
+               addPage(importProcessPage = new ImportProcessPage());
+       }
+       
+       public void doConversion() throws Exception {
+               
+               List<File> inputFiles = new ArrayList<>();
+               for (String name : inputSelectionPage.getDataFilenames())
+                       inputFiles.add(new File(name));
+               File configurationFile = null;
+               if (inputSelectionPage.getConfigurationFilename() != null)
+                       configurationFile = new File(inputSelectionPage.getConfigurationFilename());
+               File outputPlugin = new File(inputSelectionPage.getPluginFilename());
+
+               XmlDataConverter converter = new XmlDataConverter(inputFiles,configurationFile,outputPlugin);
+               
+               converter.convert();
+       }
+
+}