@Override protected void startProcessHandler( DBRProgressMonitor monitor, final MySQLDatabaseExportInfo arg, ProcessBuilder processBuilder, Process process) { super.startProcessHandler(monitor, arg, processBuilder, process); String outFileName = GeneralUtils.replaceVariables( outputFilePattern, new GeneralUtils.IVariableResolver() { @Override public String get(String name) { switch (name) { case VARIABLE_DATABASE: return arg.getDatabase().getName(); case VARIABLE_HOST: return arg.getDatabase() .getDataSource() .getContainer() .getConnectionConfiguration() .getHostName(); case VARIABLE_TABLE: final Iterator<MySQLTableBase> iterator = arg.getTables() == null ? null : arg.getTables().iterator(); if (iterator != null && iterator.hasNext()) { return iterator.next().getName(); } else { return "null"; } case VARIABLE_TIMESTAMP: return RuntimeUtils.getCurrentTimeStamp(); default: System.getProperty(name); } return null; } }); File outFile = new File(outputFolder, outFileName); boolean isFiltering = removeDefiner; Thread job = isFiltering ? new DumpFilterJob(monitor, process.getInputStream(), outFile) : new DumpCopierJob( monitor, MySQLMessages.tools_db_export_wizard_monitor_export_db, process.getInputStream(), outFile); job.start(); }
@Override public void init(IWorkbench workbench, IStructuredSelection selection) { super.init(workbench, selection); objectsPage = new MySQLExportWizardPageObjects(this); settingsPage = new MySQLExportWizardPageSettings(this); }
@Override public void addPages() { addPage(objectsPage); addPage(settingsPage); super.addPages(); }