/** Creates and returns 'default' project wizard with pre-defined pages only. */ private ImportWizard createDefaultWizard() { final ProjectConfigDto dataObject = dtoFactory .createDto(ProjectConfigDto.class) .withSource(dtoFactory.createDto(SourceStorageDto.class).withType("").withLocation("")); final ImportWizard importWizard = importWizardFactory.newWizard(dataObject); importWizard.setUpdateDelegate(this); // add pre-defined first page importWizard.addPage(mainPage); return importWizard; }
/** Creates or returns import wizard for the specified importer. */ private ImportWizard getWizardForImporter(@NotNull ProjectImporterDescriptor importer) { if (wizardsCache.containsKey(importer)) { return wizardsCache.get(importer); } final ImportWizardRegistrar wizardRegistrar = wizardRegistry.getWizardRegistrar(importer.getId()); if (wizardRegistrar == null) { // should never occur throw new IllegalStateException( "WizardRegistrar for the importer " + importer.getId() + " isn't registered."); } List<Provider<? extends WizardPage<ProjectConfigDto>>> pageProviders = wizardRegistrar.getWizardPages(); final ImportWizard importWizard = createDefaultWizard(); for (Provider<? extends WizardPage<ProjectConfigDto>> provider : pageProviders) { importWizard.addPage(provider.get(), 1, false); } wizardsCache.put(importer, importWizard); return importWizard; }