@Override public void initializeUI(UIBuilder builder) throws Exception { InputComponentFactory factory = builder.getInputComponentFactory(); addonDependencies = factory.createSelectMany("addonDependencies", AddonId.class).setLabel("Dependency addons") .setDescription("Addons this test depends upon"); Set<AddonId> choices = new TreeSet<>(); Furnace furnace = SimpleContainer.getFurnace(getClass().getClassLoader()); for (AddonRepository repository : furnace.getRepositories()) { for (AddonId id : repository.listEnabled()) { if (id.getName().contains(":")) choices.add(id); } } addonDependencies.setValueChoices(choices); addonDependencies.setDefaultValue(new ArrayList<AddonId>()); builder.add(addonDependencies); }
@Override public Iterable<VALUETYPE> getValue() { return getDelegate().getValue(); }
@Override public UISelectMany<VALUETYPE> setItemLabelConverter(Converter<VALUETYPE, String> converter) { getDelegate().setItemLabelConverter(converter); return this; }
@Override public void initializeUI(UIBuilder builder) throws Exception { InputComponentFactory factory = builder.getInputComponentFactory(); names = factory.createSelectMany("names", String.class).setLabel("Connection Name") .setDescription("The name of the database connection profiles you want to remove."); ConnectionProfileManagerProvider provider = SimpleContainer .getServices(getClass().getClassLoader(), ConnectionProfileManagerProvider.class).get(); profiles = provider.getConnectionProfileManager().loadConnectionProfiles(); names.setValueChoices(profiles.keySet()); builder.add(names); }
@Override public Result execute(UIExecutionContext context) throws Exception { Project project = getSelectedProject(context); VertxMavenFacet facet = project.getFacet(VertxMavenFacet.class); if (dependencies.hasValue()) { List<VertxDependency> deps = Lists.toList(dependencies.getValue()); facet.removeDependencies(deps); List<String> artifactIds = deps.stream().map(VertxDependency::getArtifactId) .collect(Collectors.toList()); return Results.success("Vert.x Dependency '" + artifactIds + "' were successfully removed from the project descriptor"); } return Results.success(); }
@Override public void initializeUI(UIBuilder builder) throws Exception { final Project project = getSelectedProject(builder.getUIContext()); featureSelect.setLabel(getSelectionLabel()); featureSelect.setDescription(getSelectionDescription()); final List<Feature> features = new ArrayList<Feature>(); final FeatureFilter filter = getFilter(); for (final Feature feature : facetReflections.iterable()) { if (filter.filter(feature, project)) { features.add(feature); } } featureSelect.setValueChoices(features); featureSelect.setValueConverter(new FeatureValueConverter()); // Workaround FORGE-1639 if (!builder.getUIContext().getProvider().isGUI()) featureSelect.setItemLabelConverter(new FeatureLabelConverter()); builder.add(featureSelect); }
addons = factory.createSelectMany("addons", AddonId.class).setLabel("Installed addons") .setDescription("The installed addons in mutable addon repositories that may be removed") .setRequired(true).setRequiredMessage( "The specified addon coordinates were not found within any configured furnace repository"); Furnace furnace = SimpleContainer.getFurnace(getClass().getClassLoader()); addons.setValueChoices(choices); Project project = Projects.getSelectedProject(projectFactory, builder.getUIContext()); if (project != null) if (choices.contains(selectedAddonId)) addons.setDefaultValue(Collections.singleton(selectedAddonId));
fields.setDescription("Fields, which should be used in the hashCode/equals method generation"); fields.setRequired(true).setRequiredMessage("At least one field should be selected"); fields.setValueChoices(new Callable<Iterable<String>>() fields.setEnabled(() -> targetClass.hasValue()); builder.add(targetClass).add(fields);
@Override public void initializeUI(UIBuilder builder) throws Exception { springBootVersion.setValueChoices(Arrays.asList(SPRING_BOOT_VERSIONS)); springBootVersion.setDefaultValue(SPRING_BOOT_DEFAULT_VERSION); try { choices = initDependencies(); } catch (Exception e) { throw new IllegalStateException("Error loading dependencies from spring-boot-application.yaml due: " + e.getMessage(), e); } dependencies.setValueChoices(choices); if (builder.getUIContext().getProvider().isGUI()) { dependencies.setItemLabelConverter(SpringBootDependencyDTO::getGroupAndName); } else { // if in CLI mode then use shorter names so they are tab friendly in the shell dependencies.setItemLabelConverter(dto -> Commands.shellifyCommandName(dto.getName())); } dependencies.setValueConverter(s -> { for (SpringBootDependencyDTO dto : choices) { if (dto.getId().equals(s)) { return dto; } } return null; }); builder.add(springBootVersion).add(dependencies); }
addons.setValueChoices(addonChoices); if (defaultDependency != null) addons.setDefaultValue(Arrays.asList(defaultDependency));
addonDependencies.setValueChoices(addonChoices); if (defaultDependency != null) addonDependencies.setDefaultValue(Arrays.asList(defaultDependency)); addonDependencies.setEnabled(reuseProjectDepsCallable);
@Override public Result execute(UIExecutionContext context) throws Exception { AddonProjectConfigurator addonProjectFactory = SimpleContainer .getServices(getClass().getClassLoader(), AddonProjectConfigurator.class).get(); final Project project = (Project) context.getUIContext().getAttributeMap().get(Project.class); Set<AddonId> dependencyAddons = new TreeSet<>(); if (addons.hasValue() || addons.hasDefaultValue()) { for (AddonId id : addons.getValue()) { dependencyAddons.add(id); } } dependencyAddons.add(furnaceContainer.getValue()); if (splitProjects.getValue()) { addonProjectFactory.setupComplexAddonProject(project, dependencyAddons); } else { addonProjectFactory.setupSimpleAddonProject(project, dependencyAddons); } return Results.success(); }
@Override public void initializeUI(UIBuilder builder) throws Exception { InputComponentFactory factory = builder.getInputComponentFactory(); packageName = factory.createInput("packageName", String.class).setLabel("Package Name"); packageName.getFacet(HintsFacet.class).setInputType(InputType.JAVA_PACKAGE_PICKER); named = factory.createInput("named", String.class).setLabel("Test Class Name").setRequired(true); reuseProjectAddons = factory.createInput("reuseProjectAddons", Boolean.class) .setLabel("Use Addons from current project as dependencies (automatic discovery)") .setDescription( "This will create an empty @AddonDependencies and reuse the addons in the current project's pom.xml") .setDefaultValue(true); furnaceContainer = factory.createSelectOne("furnaceContainer", AddonId.class).setLabel("Furnace container") .setRequiredMessage("You must select one Furnace container"); addonDependencies = factory.createSelectMany("addonDependencies", AddonId.class).setLabel("Dependency addons") .setDescription("Addons this test depends upon"); configureAddonDependencies(); Project project = getSelectedProject(builder.getUIContext()); packageName.setDefaultValue(project.getFacet(JavaSourceFacet.class).getBasePackage()); builder.add(packageName).add(named).add(reuseProjectAddons).add(furnaceContainer).add(addonDependencies); }
@Override public UISelectMany<VALUETYPE> setValueChoices(Iterable<VALUETYPE> values) { getDelegate().setValueChoices(values); return this; }
@Override public UISelectMany<VALUETYPE> setDescription(Callable<String> description) { getDelegate().setDescription(description); return this; }
@Override public UISelectMany<VALUETYPE> setLabel(String label) { getDelegate().setLabel(label); return this; }
@Override public UISelectMany<VALUETYPE> setRequired(Callable<Boolean> required) { getDelegate().setRequired(required); return this; }
@Override public boolean hasValue() { return getDelegate().hasValue(); }
@Override public UISelectMany<VALUETYPE> setDefaultValue(Iterable<VALUETYPE> value) { getDelegate().setDefaultValue(value); return this; }
@Override public UISelectMany<VALUETYPE> setValueConverter(Converter<String, VALUETYPE> converter) { getDelegate().setValueConverter(converter); return this; }