use of org.gephi.io.importer.api.Container in project gephi by gephi.
the class DesktopImportControllerUI method importWizard.
@Override
public void importWizard(final WizardImporter importer) {
try {
if (importer == null) {
NotifyDescriptor.Message msg = new NotifyDescriptor.Message(NbBundle.getMessage(DesktopImportControllerUI.class, "DesktopImportControllerUI.error_no_matching_db_importer"), NotifyDescriptor.WARNING_MESSAGE);
DialogDisplayer.getDefault().notify(msg);
return;
}
String containerSource = NbBundle.getMessage(DesktopImportControllerUI.class, "DesktopImportControllerUI.wizardSource", "");
ImporterUI ui = controller.getUI(importer);
if (ui != null) {
String title = NbBundle.getMessage(DesktopImportControllerUI.class, "DesktopImportControllerUI.wizard.ui.dialog.title", ui.getDisplayName());
JPanel panel = ui.getPanel();
ui.setup(new WizardImporter[] { importer });
final DialogDescriptor dd = new DialogDescriptor(panel, title);
if (panel instanceof ValidationPanel) {
ValidationPanel vp = (ValidationPanel) panel;
vp.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
dd.setValid(!((ValidationPanel) e.getSource()).isProblem());
}
});
}
Object result = DialogDisplayer.getDefault().notify(dd);
if (result.equals(NotifyDescriptor.CANCEL_OPTION) || result.equals(NotifyDescriptor.CLOSED_OPTION)) {
ui.unsetup(false);
return;
}
ui.unsetup(true);
containerSource = ui.getDisplayName();
}
ImporterWizardUI wizardUI = controller.getWizardUI(importer);
if (wizardUI != null) {
containerSource = wizardUI.getCategory() + ":" + wizardUI.getDisplayName();
}
LongTask task = null;
if (importer instanceof LongTask) {
task = (LongTask) importer;
}
//Execute task
final String source = containerSource;
String taskName = NbBundle.getMessage(DesktopImportControllerUI.class, "DesktopImportControllerUI.taskName", containerSource);
executor.execute(task, new Runnable() {
@Override
public void run() {
try {
Container container = controller.importWizard(importer);
if (container != null) {
container.setSource(source);
finishImport(container);
}
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
}, taskName, errorHandler);
} catch (Exception ex) {
Logger.getLogger("").log(Level.WARNING, "", ex);
}
}
use of org.gephi.io.importer.api.Container in project gephi by gephi.
the class ImportControllerImpl method importFile.
@Override
public Container importFile(File file) throws FileNotFoundException {
FileObject fileObject = FileUtil.toFileObject(file);
if (fileObject != null) {
//Unzip and return content file
fileObject = getArchivedFile(fileObject);
FileImporterBuilder builder = getMatchingImporter(fileObject);
if (fileObject != null && builder != null) {
Container c = importFile(fileObject.getInputStream(), builder.buildImporter());
return c;
}
}
return null;
}
use of org.gephi.io.importer.api.Container in project gephi by gephi.
the class ImportControllerImpl method process.
@Override
public void process(Container[] containers, Processor processor, Workspace workspace) {
ContainerUnloader[] unloaders = new ContainerUnloader[containers.length];
int i = 0;
for (Container container : containers) {
container.closeLoader();
if (container.getUnloader().isAutoScale()) {
Scaler scaler = Lookup.getDefault().lookup(Scaler.class);
if (scaler != null) {
scaler.doScale(container);
}
}
unloaders[i++] = container.getUnloader();
}
processor.setContainers(unloaders);
processor.setWorkspace(workspace);
processor.process();
}
use of org.gephi.io.importer.api.Container in project gephi by gephi.
the class ImportControllerImpl method importDatabase.
@Override
public Container importDatabase(Database database, DatabaseImporter importer) {
//Create Container
final Container container = Lookup.getDefault().lookup(Container.Factory.class).newContainer();
//Report
Report report = new Report();
container.setReport(report);
importer.setDatabase(database);
try {
if (importer.execute(container.getLoader())) {
if (importer.getReport() != null && importer.getReport() != report) {
report.append(importer.getReport());
}
report.close();
return container;
}
} catch (RuntimeException ex) {
throw ex;
} catch (Exception ex) {
throw new RuntimeException(ex);
}
return null;
}
Aggregations