@Override public void renderElement(Element element, ProjectImporterDescriptor data) { element.setInnerText(data.getId().toUpperCase()); }
/** Creates or returns import wizard for the specified importer. */ private ImportWizard getWizardForImporter(@NotNull ProjectImporterDescriptor importer) { if (wizardsCache.containsKey(importer)) { return wizardsCache.get(importer); } final Optional<ImportWizardRegistrar> wizardRegistrar = wizardRegistry.getWizardRegistrar(importer.getId()); if (!wizardRegistrar.isPresent()) { // should never occur throw new IllegalStateException( "WizardRegistrar for the importer " + importer.getId() + " isn't registered."); } List<Provider<? extends WizardPage<MutableProjectConfig>>> pageProviders = wizardRegistrar.get().getWizardPages(); final ImportWizard importWizard = createDefaultWizard(); for (Provider<? extends WizardPage<MutableProjectConfig>> provider : pageProviders) { importWizard.addPage(provider.get(), 1, false); } wizardsCache.put(importer, importWizard); return importWizard; }
public ProjectImporterDescriptorImpl(org.eclipse.che.api.project.shared.dto.ProjectImporterDescriptor origin) { this.internal = origin.isInternal(); java.util.Map<java.lang.String, java.lang.String> attributesIn = origin.getAttributes(); if (attributesIn != null) { java.util.Map<java.lang.String, java.lang.String> attributesOut = new java.util.HashMap<java.lang.String, java.lang.String>(); for (java.util.Map.Entry<String, java.lang.String> entry0 : attributesIn.entrySet()) { java.lang.String attributesIn_ = entry0.getValue(); attributesOut.put(entry0.getKey(), attributesIn_); } this.attributes = attributesOut; } this.category = origin.getCategory(); this.id = origin.getId(); this.description = origin.getDescription(); }
@Override protected void onSuccess(ProjectImporterData data) { List<ProjectImporterDescriptor> result = data.getImporters(); String defaultImporterId = data.getConfiguration().get(DEFAULT_PROJECT_IMPORTER); result.sort(getProjectImporterComparator(defaultImporterId)); ProjectImporterDescriptor defaultImporter = null; for (ProjectImporterDescriptor importer : result) { if (importer.isInternal() || importer.getCategory() == null || !importWizardRegistry.getWizardRegistrar(importer.getId()).isPresent()) { continue; } if (importersByCategory.containsKey(importer.getCategory())) { importersByCategory.get(importer.getCategory()).add(importer); } else { Set<ProjectImporterDescriptor> importersSet = new LinkedHashSet<>(); importersSet.add(importer); importersByCategory.put(importer.getCategory(), importersSet); } if (importer.getId().equals(defaultImporterId)) { defaultImporter = importer; } } setImporters(defaultImporter); }
@Override public void onImporterSelected(ProjectImporterDescriptor importer) { final MutableProjectConfig prevData = wizard.getDataObject(); wizard = getWizardForImporter(importer); final MutableProjectConfig dataObject = wizard.getDataObject(); dataObject.getSource().setType(importer.getId()); // some values should be shared between wizards for different project types dataObject.setName(prevData.getName()); dataObject.setDescription(prevData.getDescription()); WizardPage<MutableProjectConfig> firstPage = wizard.navigateToFirst(); if (firstPage != null) { firstPage.init(dataObject); } WizardPage<MutableProjectConfig> importerPage = wizard.navigateToNext(); importerPage.go(mainPage.getImporterPanel()); } }