@Override public UISelectOne<VALUETYPE> setRequired(boolean required) { getDelegate().setRequired(required); return this; }
@Override public void initializeUI(UIBuilder builder) throws Exception { InputComponentFactory factory = builder.getInputComponentFactory(); furnaceContainer = factory.createSelectOne("furnaceContainer", AddonId.class).setLabel("Furnace container") .setRequired(true).setRequiredMessage("You must select one Furnace container"); splitProjects = factory.createInput("splitProjects", Boolean.class) .setLabel("Create API, Impl, SPI, Tests, and Addon modules"); addons = factory.createSelectMany("addons", AddonId.class).setLabel("Depend on these addons"); configureAddonDependencies(); builder.add(furnaceContainer).add(splitProjects).add(addons); }
@Override public UISelectOne<VALUETYPE> setRequired(Callable<Boolean> required) { getDelegate().setRequired(required); return this; }
furnaceContainer.setEnabled(reuseProjectDepsCallable).setRequired(reuseProjectDepsCallable); addonDependencies.setEnabled(reuseProjectDepsCallable);
private void configureProjectTypeInput(InputComponentFactory factory, final UIContext uiContext) type = factory.createSelectOne("type", ProjectType.class).setLabel("Project type").setRequired(true); if (uiContext.getProvider().isGUI())
ProjectProvider.class); buildSystem = factory.createSelectOne("buildSystem", ProjectProvider.class).setLabel("Build system") .setRequired(true).setItemLabelConverter((source) -> source.getType()); buildSystem.setValueChoices(new Callable<Iterable<ProjectProvider>>()
@Override public void initializeUI(final UIBuilder uiBuilder) throws Exception { InputComponentFactory factory = uiBuilder.getInputComponentFactory(); testFramework = factory.createSelectOne("testFramework", TestingFacet.class).setLabel("Test Framework"); version = factory.createSelectOne("version", String.class).setLabel("Test Framework Version"); uiBuilder.add(testFramework) .add(version); testFramework.setEnabled(true); testFramework.setItemLabelConverter(source -> buildFrameworkName(uiBuilder, source)); testFramework.setRequired(true); version.setRequired(true); version.setEnabled(() -> testFramework.hasValue()); version.setValueChoices(this::getAvailableVersions); version.setDefaultValue(this::getDefaultFrameworkVersion); }
.setRequired(true) .setItemLabelConverter(new Converter<ArchetypeCatalogFactory, String>() .setRequired(true).setItemLabelConverter(new Converter<Archetype, String>()
@Override public void initializeUI(UIBuilder builder) throws Exception { dependencyResolver = SimpleContainer.getServices(getClass().getClassLoader(), DependencyResolver.class).get(); InputComponentFactory factory = builder.getInputComponentFactory(); dbType = factory.createSelectOne("dbType", DatabaseType.class).setLabel("Database Type") .setDescription("The database driver to be added to this project").setRequired(true) .setNote(() -> { return (dbType.hasValue()) ? dbType.getValue().getDriverCoordinate().toString() : null; }) .setValueChoices(DatabaseType.getTypesWithDriverSet()); version = factory.createInput("version", String.class).setLabel("Driver Version") .setDescription("The JDBC driver version to be used") .setCompleter(new UICompleter<String>() { @Override public Iterable<String> getCompletionProposals(UIContext context, InputComponent<?, String> input, String value) { return Completers.fromValues(getVersionsFor(dbType.getValue())).getCompletionProposals(context, input, value); } }); scope = factory.createSelectOne("scope", String.class).setLabel("Dependency Scope") .setDescription("The scope this database driver dependency should use when added to this project") .setRequired(true) .setDefaultValue("runtime") .setValueChoices(Arrays.asList("compile", "provided", "runtime", "test")); builder.add(dbType).add(version).add(scope); }
@Override public void initializeUI(UIBuilder builder) throws Exception { InputComponentFactory factory = builder.getInputComponentFactory(); provider = factory.createSelectOne("provider", ScaffoldProvider.class).setLabel("Scaffold Type") .setRequired(true); webRoot = factory.createInput("webRoot", String.class).setLabel("Web Root Path").setDefaultValue("/") .setDescription( "The web root path where the scaffolding will be placed/accessible from the client browser (default '/')."); Imported<ScaffoldProvider> scaffoldProviders = SimpleContainer.getServices(getClass().getClassLoader(), ScaffoldProvider.class); if (!scaffoldProviders.isUnsatisfied() && !scaffoldProviders.isAmbiguous()) { provider.setDefaultValue(scaffoldProviders.get()); } provider.setValueChoices(scaffoldProviders); provider.setItemLabelConverter((source) -> source.getName()); builder.add(provider).add(webRoot); }
@Override public void initializeUI(UIBuilder builder) throws Exception { InputComponentFactory factory = builder.getInputComponentFactory(); provider = factory.createSelectOne("provider", ScaffoldProvider.class).setLabel("Scaffold Type") .setRequired(true); webRoot = factory.createInput("webRoot", String.class).setLabel("Web Root Path").setDefaultValue("/") .setDescription( "The web root path where the scaffolding will be placed/accessible from the client browser (default '/')."); Imported<ScaffoldProvider> scaffoldProviders = SimpleContainer.getServices(getClass().getClassLoader(), ScaffoldProvider.class); if (!scaffoldProviders.isUnsatisfied() && !scaffoldProviders.isAmbiguous()) { provider.setDefaultValue(scaffoldProviders.get()); } provider.setValueChoices(scaffoldProviders); provider.setItemLabelConverter(new Converter<ScaffoldProvider, String>() { @Override public String convert(ScaffoldProvider source) { return source == null ? null : source.getName(); } }); builder.add(provider).add(webRoot); }
.setRequired(true).setItemLabelConverter(new Converter<Archetype, String>() { @Override public String convert(Archetype source) {
@Override public void initializeUI(UIBuilder builder) throws Exception { boolean gui = builder.getUIContext().getProvider().isGUI(); InputComponentFactory factory = builder.getInputComponentFactory(); this.addon = factory.createSelectOne("addon", AddonDescriptor.class) .setLabel("Addon") .setRequired(true) .setNote(() -> addon.hasValue() ? addon.getValue().getDescription() : null) .setValueChoices(AddonDescriptorCatalogRegistry.INSTANCE.find("")) .setItemLabelConverter(gui ? AddonDescriptor::getName : AddonDescriptor::getId); builder.add(addon); }
targetClass = inputFactory.createSelectOne("targetClass", JavaResource.class); targetClass.setDescription("The class where the field will be created"); targetClass.setRequired(true);
hibernateDialect = factory.createSelectOne("hibernateDialect", HibernateDialect.class) .setLabel("Hibernate Dialect") .setDescription("The Hibernate dialect to use").setRequired(true); driverLocation = factory.createInput("driverLocation", FileResource.class) .setLabel("Driver Location") driverClass = factory.createSelectOne("driverClass", Class.class) .setLabel("Driver Class") .setDescription("The class name of the JDBC driver").setRequired(true); verifyConnection = factory.createInput("verifyConnection", Boolean.class).setLabel("Verify Database Connection") .setDescription("Attempt to connect to the database and verify connectivity");