package com.tibco.as.spacebar.ui.wizards.transfer.excel; import java.io.File; import org.apache.poi.ss.SpreadsheetVersion; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.IWizardPage; import com.tibco.as.spacebar.ui.Image; import com.tibco.as.spacebar.ui.preferences.Preferences; import com.tibco.as.spacebar.ui.wizards.transfer.AbstractExportWizard; import com.tibco.as.spacebar.ui.wizards.transfer.AbstractExportWizardPage; import com.tibco.as.io.AbstractExporter; import com.tibco.as.io.AbstractTransfer; import com.tibco.as.excel.ExcelExport; import com.tibco.as.excel.ExcelExporter; import com.tibco.as.space.Metaspace; public class ExcelExportWizard extends AbstractExportWizard<Object[]> { private ExcelExportConfigurationPage configPage; public ExcelExportWizard() { super("ExcelExportWizard", Image.WIZBAN_EXCEL); } @Override protected AbstractTransfer createTransfer() { ExcelExport config = new ExcelExport(); Preferences.configureExcelExport(config); return config; } @Override protected AbstractExportWizardPage getMainPage( IStructuredSelection selection) { return new ExcelExportMainPage(selection); } @Override protected IWizardPage getConfigurationPage(AbstractTransfer transfer) { ExcelExport config = (ExcelExport) transfer; String versionString = Preferences .getString(Preferences.EXPORT_EXCEL_VERSION); SpreadsheetVersion version = SpreadsheetVersion.valueOf(versionString); configPage = new ExcelExportConfigurationPage(version, config); return configPage; } @Override protected AbstractExporter<Object[]> getExporter(Metaspace ms, File directory) { ExcelExporter exporter = new ExcelExporter(ms, directory, configPage.getSpreadsheetVersion()); File file = exporter.getFile(); if (file.exists()) { if (file.isDirectory()) { displayErrorDialog("Export Error", "Target file already exists as a directory."); return null; } if (!isOverwrite()) { if (!queryYesNoQuestion("Target file already exists. Overwrite?")) { return null; } } boolean deleted = file.delete(); if (!deleted) { displayErrorDialog("Export Error", "Target file could not be deleted."); return null; } } return exporter; } }