@Override public void selectProjectType(final String projectTypeId) { ProjectTypeDto typeDescriptor = null; for (Map.Entry<String, Set<ProjectTypeDto>> entry : typesByCategory.entrySet()) { for (ProjectTypeDto typeDefinition : entry.getValue()) { if (typeDefinition.getId().equals(projectTypeId)) { typeDescriptor = typeDefinition; break; } } if (typeDescriptor != null) { break; } } if (typeDescriptor != null) { for (ProjectTypeDto existingProjectTypeDescriptor : availableProjectTypes) { if (existingProjectTypeDescriptor.getId().equals(typeDescriptor.getId())) { categoriesList.selectElement(typeDescriptor); selectNextWizardType(typeDescriptor); } } } projectName.setFocus(true); }
/** Creates or returns project wizard for the specified projectType with the given dataObject. */ private ProjectWizard getWizardForProjectType( @NotNull ProjectTypeDto projectType, @NotNull MutableProjectConfig configDto) { if (wizardsCache.containsKey(projectType)) { return wizardsCache.get(projectType); } final Optional<ProjectWizardRegistrar> wizardRegistrar = wizardRegistry.getWizardRegistrar(projectType.getId()); if (!wizardRegistrar.isPresent()) { // should never occur throw new IllegalStateException( "WizardRegistrar for the project type " + projectType.getId() + " isn't registered."); } List<Provider<? extends WizardPage<MutableProjectConfig>>> pageProviders = wizardRegistrar.get().getWizardPages(); final ProjectWizard projectWizard = createDefaultWizard(configDto, wizardMode); for (Provider<? extends WizardPage<MutableProjectConfig>> provider : pageProviders) { projectWizard.addPage(provider.get(), 1, false); } wizardsCache.put(projectType, projectWizard); return projectWizard; }
private void loadProjectTypesAndTemplates() { List<ProjectTypeDto> projectTypes = projectTypeRegistry.getProjectTypes(); Map<String, Set<ProjectTypeDto>> typesByCategory = new HashMap<>(); Map<String, Set<ProjectTemplateDescriptor>> templatesByCategory = new HashMap<>(); for (ProjectTypeDto type : projectTypes) { if (wizardRegistry.getWizardRegistrar(type.getId()).isPresent()) { final Optional<String> category = wizardRegistry.getWizardCategory(type.getId()); if (category.isPresent()) { if (!typesByCategory.containsKey(category.get())) { typesByCategory.put(category.get(), new HashSet<ProjectTypeDto>()); } typesByCategory.get(category.get()).add(type); } } List<ProjectTemplateDescriptor> templateDescriptors = projectTemplateRegistry.getTemplates(type.getId()); for (ProjectTemplateDescriptor template : templateDescriptors) { final String category = template.getCategory() == null ? DEFAULT_TEMPLATE_CATEGORY : template.getCategory(); if (!templatesByCategory.containsKey(category)) { templatesByCategory.put(category, new HashSet<ProjectTemplateDescriptor>()); } templatesByCategory.get(category).add(template); } } view.setProjectTypes(projectTypes); view.setCategories(typesByCategory, templatesByCategory); }
private void registerProjectTypes() { fetchProjectTypes() .then( typeDescriptors -> { typeDescriptors.forEach( projectTypeDto -> projectTypes.put(projectTypeDto.getId(), projectTypeDto)); eventBus.fireEvent(new ProjectTypesLoadedEvent()); }) .catchError( error -> { Log.error( ProjectTypeRegistryImpl.this.getClass(), "Can't load project types: " + error.getCause()); }); }
this.id = origin.getId(); this.persisted = origin.isPersisted();
/** Updates view from data-object. */ private void updateView() { if (dataObject.getType() != null && (selectedProjectType == null || !selectedProjectType.getId().equals(dataObject.getType()))) { view.selectProjectType(dataObject.getType()); } view.setName(dataObject.getName()); view.setDescription(dataObject.getDescription()); final ProjectWizardMode wizardMode = ProjectWizardMode.parse(context.get(WIZARD_MODE_KEY)); view.setNameFieldReadOnly(wizardMode == UPDATE); }
newProject.setType(projectType.getId());