package org.simantics.xml.sax.ui.wizard; import java.io.File; 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.sax.SchemaConverter; public class SchemaConversionWizard extends Wizard implements IImportWizard { InputSelectionPage inputSelectionPage; ImportProcessPage importProcessPage; SchemaCombinationPage schemaCombinationPage; public SchemaConversionWizard() { setWindowTitle("XML Schema 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()); addPage(schemaCombinationPage = new SchemaCombinationPage()); } public void doConversion() throws Exception { SchemaConverter converter = new SchemaConverter(); converter.setCreateExporter(inputSelectionPage.createExporter); converter.setCreateImporter(inputSelectionPage.createImporter); converter.setCreatePGraph(inputSelectionPage.createPGraph); File inputFile = new File(inputSelectionPage.getSchemaFilename()); File configurationFile = null; if (inputSelectionPage.getConfigurationFilename() != null) configurationFile = new File(inputSelectionPage.getConfigurationFilename()); File outputPlugin = new File(inputSelectionPage.getPluginFilename()); converter.convertSchema(inputFile,configurationFile,outputPlugin); schemaCombinationPage.setOutputPlugin(outputPlugin); } }