package com.tibco.as.spacebar.ui.wizards.transfer.excel; import java.io.File; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; 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.SpaceBarPlugin; import com.tibco.as.spacebar.ui.preferences.Preferences; import com.tibco.as.spacebar.ui.wizards.transfer.AbstractImportWizard; import com.tibco.as.io.IMetaspaceTransfer; import com.tibco.as.io.IOUtils; import com.tibco.as.io.AbstractImport; import com.tibco.as.io.AbstractTransfer; import com.tibco.as.excel.ExcelImport; import com.tibco.as.excel.ExcelImporter; import com.tibco.as.space.Metaspace; public class ExcelImportWizard extends AbstractImportWizard<Object[]> { public ExcelImportWizard() { super("ExcelImportWizard", Image.WIZBAN_EXCEL); } @Override protected AbstractTransfer createTransfer() { return new ExcelImport(); } @Override protected ExcelImportMainPage getMainPage(IStructuredSelection selection) { return new ExcelImportMainPage(); } @Override protected IWizardPage getConfigurationPage(AbstractTransfer transfer) { ExcelImport excelImport = (ExcelImport) transfer; Preferences.configureExcelImport(excelImport); return new ExcelImportConfigurationPage(excelImport); } @Override protected Collection<IMetaspaceTransfer> getImporters(List<File> files, AbstractImport defaultImport) { Collection<IMetaspaceTransfer> importers = new ArrayList<IMetaspaceTransfer>(); Map<String, Metaspace> metaspaces = getConnectedMetaspaces(); if (metaspaces.isEmpty()) { SpaceBarPlugin .errorDialog("Import Error", "No connected metaspace, connect to a metaspace before importing."); } else { for (File file : files) { String metaspaceName = IOUtils.getBaseName(file.getName()); Metaspace metaspace = metaspaces.containsKey(metaspaceName) ? metaspaces .get(metaspaceName) : metaspaces.values().iterator() .next(); ExcelImporter importer = new ExcelImporter(metaspace, file); importer.setDefaultTransfer(defaultImport); importers.add(importer); } } return importers; } }