From 115807e6eb37bbd35198035804b4b0f01e151c2b Mon Sep 17 00:00:00 2001 From: Colin DAMON Date: Wed, 24 Aug 2022 15:51:31 +0200 Subject: [PATCH] Rename missleading properties --- .../module/domain/JHipsterModuleContext.java | 12 +-- .../properties/JHipsterModuleParameters.java | 41 +++++++++ .../properties/JHipsterModuleProperties.java | 78 +++++----------- .../JHipsterModulePropertyDefinition.java | 10 +-- .../primary/RestJHipsterModuleProperties.java | 24 ++++- .../domain/history/ModuleParameters.java | 28 ++++++ .../domain/history/ModuleProperties.java | 28 ------ .../project/domain/history/ProjectAction.java | 30 +++---- .../domain/history/ProjectHistory.java | 4 +- .../infrastructure/primary/JavaProjects.java | 2 +- .../secondary/PersistedProjectAction.java | 4 +- .../SpringJHipsterModuleEventListener.java | 2 +- .../app/module/domain/ModuleParameter.ts | 7 ++ .../app/module/domain/ModuleParameters.ts | 3 + .../app/module/domain/ModuleProperties.ts | 3 - .../app/module/domain/ModuleProperty.ts | 7 -- .../module/domain/ModulePropertyValueType.ts | 1 - .../webapp/app/module/domain/ModuleToApply.ts | 4 +- .../app/module/domain/ModulesToApply.ts | 4 +- .../app/module/primary/PropertyValue.ts | 6 +- .../primary/landscape/Landscape.component.ts | 22 ++--- .../module/primary/landscape/Landscape.html | 2 +- .../ModuleParameters.component.ts} | 28 +++--- .../module-parameters/ModuleParameters.html | 27 ++++++ .../module-parameters/ModuleParameters.vue | 74 ++++++++++++++++ .../module/primary/module-parameters/index.ts | 3 + .../ModulePropertiesForm.component.ts | 10 +-- .../ModulePropertiesForm.html | 26 +++--- .../module-properties/ModuleProperties.html | 27 ------ .../module-properties/ModuleProperties.vue | 74 ---------------- .../module/primary/module-properties/index.ts | 3 - .../modules-patch/ModulesPatch.component.ts | 26 +++--- .../primary/modules-patch/ModulesPatch.html | 14 +-- .../app/module/secondary/RestModuleToApply.ts | 4 +- .../module/secondary/RestModulesToApply.ts | 2 +- .../module/secondary/RestProjectHistory.ts | 4 +- src/test/features/banner.feature | 12 +-- src/test/features/codespace.feature | 2 +- src/test/features/dummy.feature | 4 +- src/test/features/flyway.feature | 2 +- src/test/features/github-actions.feature | 2 +- src/test/features/gitlab-ci.feature | 2 +- src/test/features/gitpod.feature | 2 +- ...xagonal-architecture-documentation.feature | 2 +- src/test/features/infinitest.feature | 2 +- src/test/features/jacoco-threshold.feature | 2 +- src/test/features/spring-boot-docker.feature | 2 +- src/test/features/typescript.feature | 2 +- src/test/features/vue.feature | 6 +- .../jhipster/lite/generator/ModulesSteps.java | 44 +++++----- .../module/domain/JHipsterModulesFixture.java | 5 +- .../RestJHipsterModulePropertiesTest.java | 2 +- .../RestJHipsterModulesToApplyTest.java | 2 +- .../domain/history/ProjectHistoryFixture.java | 2 +- .../domain/history/ProjectHistoryTest.java | 4 +- .../cypress/integration/Landscape.spec.ts | 4 +- .../cypress/integration/Patch.spec.ts | 10 +-- .../spec/module/domain/Modules.fixture.ts | 8 +- .../primary/landscape/Landscape.spec.ts | 18 ++-- .../modules-patch/ModulesPatch.spec.ts | 88 +++++++++---------- 60 files changed, 448 insertions(+), 425 deletions(-) create mode 100644 src/main/java/tech/jhipster/lite/module/domain/properties/JHipsterModuleParameters.java create mode 100644 src/main/java/tech/jhipster/lite/project/domain/history/ModuleParameters.java delete mode 100644 src/main/java/tech/jhipster/lite/project/domain/history/ModuleProperties.java create mode 100644 src/main/webapp/app/module/domain/ModuleParameter.ts create mode 100644 src/main/webapp/app/module/domain/ModuleParameters.ts delete mode 100644 src/main/webapp/app/module/domain/ModuleProperties.ts delete mode 100644 src/main/webapp/app/module/domain/ModuleProperty.ts delete mode 100644 src/main/webapp/app/module/domain/ModulePropertyValueType.ts rename src/main/webapp/app/module/primary/{module-properties/ModuleProperties.component.ts => module-parameters/ModuleParameters.component.ts} (64%) create mode 100644 src/main/webapp/app/module/primary/module-parameters/ModuleParameters.html create mode 100644 src/main/webapp/app/module/primary/module-parameters/ModuleParameters.vue create mode 100644 src/main/webapp/app/module/primary/module-parameters/index.ts delete mode 100644 src/main/webapp/app/module/primary/module-properties/ModuleProperties.html delete mode 100644 src/main/webapp/app/module/primary/module-properties/ModuleProperties.vue delete mode 100644 src/main/webapp/app/module/primary/module-properties/index.ts diff --git a/src/main/java/tech/jhipster/lite/module/domain/JHipsterModuleContext.java b/src/main/java/tech/jhipster/lite/module/domain/JHipsterModuleContext.java index 3e14115c138..88f9c9c6091 100644 --- a/src/main/java/tech/jhipster/lite/module/domain/JHipsterModuleContext.java +++ b/src/main/java/tech/jhipster/lite/module/domain/JHipsterModuleContext.java @@ -22,7 +22,7 @@ private JHipsterModuleContext(JHipsterModuleContextBuilder builder) { } private Indentation loadIndentation() { - Object contextIndentation = context.get(JHipsterModuleProperties.INDENTATION_PROPERTY); + Object contextIndentation = context.get(JHipsterModuleProperties.INDENTATION_PARAMETER); if (contextIndentation instanceof Integer integerIndentation) { return Indentation.from(integerIndentation); @@ -59,11 +59,11 @@ private JHipsterModuleContextBuilder(JHipsterModuleBuilder module) { private Map initialContext(JHipsterModuleProperties properties) { HashMap init = new HashMap<>(); - init.put(JHipsterModuleProperties.PROJECT_BASE_NAME_PROPERTY, properties.projectBaseName().get()); - init.put(JHipsterModuleProperties.PROJECT_NAME_PROPERTY, properties.projectName().get()); - init.put(JHipsterModuleProperties.BASE_PACKAGE_PROPERTY, properties.basePackage().get()); - init.put(JHipsterModuleProperties.SERVER_PORT_PROPERTY, properties.serverPort().get()); - init.put(JHipsterModuleProperties.INDENTATION_PROPERTY, properties.indentation().spacesCount()); + init.put(JHipsterModuleProperties.PROJECT_BASE_NAME_PARAMETER, properties.projectBaseName().get()); + init.put(JHipsterModuleProperties.PROJECT_NAME_PARAMETER, properties.projectName().get()); + init.put(JHipsterModuleProperties.BASE_PACKAGE_PARAMETER, properties.basePackage().get()); + init.put(JHipsterModuleProperties.SERVER_PORT_PARAMETER, properties.serverPort().get()); + init.put(JHipsterModuleProperties.INDENTATION_PARAMETER, properties.indentation().spacesCount()); return init; } diff --git a/src/main/java/tech/jhipster/lite/module/domain/properties/JHipsterModuleParameters.java b/src/main/java/tech/jhipster/lite/module/domain/properties/JHipsterModuleParameters.java new file mode 100644 index 00000000000..cb5383952c5 --- /dev/null +++ b/src/main/java/tech/jhipster/lite/module/domain/properties/JHipsterModuleParameters.java @@ -0,0 +1,41 @@ +package tech.jhipster.lite.module.domain.properties; + +import java.util.Map; +import tech.jhipster.lite.common.domain.JHipsterCollections; +import tech.jhipster.lite.error.domain.Assert; + +record JHipsterModuleParameters(Map parameters) { + public JHipsterModuleParameters(Map parameters) { + this.parameters = JHipsterCollections.immutable(parameters); + } + + T getOrDefault(String key, T defaultValue, Class clazz) { + Assert.notBlank("key", key); + + if (!parameters.containsKey(key)) { + return defaultValue; + } + + return get(key, clazz); + } + + T get(String key, Class clazz) { + Assert.notBlank("key", key); + + Object property = parameters.get(key); + + if (property == null) { + throw new UnknownPropertyException(key); + } + + if (clazz.isInstance(property)) { + return clazz.cast(property); + } + + throw InvalidPropertyTypeException.builder().key(key).expectedType(clazz).actualType(property.getClass()); + } + + public Map get() { + return parameters(); + } +} diff --git a/src/main/java/tech/jhipster/lite/module/domain/properties/JHipsterModuleProperties.java b/src/main/java/tech/jhipster/lite/module/domain/properties/JHipsterModuleProperties.java index 58d2e6492f1..fe560e43ee8 100644 --- a/src/main/java/tech/jhipster/lite/module/domain/properties/JHipsterModuleProperties.java +++ b/src/main/java/tech/jhipster/lite/module/domain/properties/JHipsterModuleProperties.java @@ -1,43 +1,37 @@ package tech.jhipster.lite.module.domain.properties; import java.util.Map; -import tech.jhipster.lite.common.domain.JHipsterCollections; import tech.jhipster.lite.error.domain.Assert; import tech.jhipster.lite.module.domain.Indentation; public class JHipsterModuleProperties { - public static final String BASE_PACKAGE_PROPERTY = "packageName"; - public static final String INDENTATION_PROPERTY = "prettierDefaultIndent"; - public static final String PROJECT_NAME_PROPERTY = "projectName"; - public static final String PROJECT_BASE_NAME_PROPERTY = "baseName"; - public static final String SERVER_PORT_PROPERTY = "serverPort"; + public static final String BASE_PACKAGE_PARAMETER = "packageName"; + public static final String INDENTATION_PARAMETER = "prettierDefaultIndent"; + public static final String PROJECT_NAME_PARAMETER = "projectName"; + public static final String PROJECT_BASE_NAME_PARAMETER = "baseName"; + public static final String SERVER_PORT_PARAMETER = "serverPort"; private final JHipsterProjectFolder projectFolder; private final boolean commitModule; - private final Map properties; + private final JHipsterModuleParameters parameters; + private final Indentation indentation; private final JHipsterBasePackage basePackage; private final JHipsterProjectName projectName; private final JHipsterProjectBaseName projectBaseName; private final JHipsterServerPort serverPort; - public JHipsterModuleProperties(String projectFolder, boolean commitModule, Map properties) { - this(new JHipsterProjectFolder(projectFolder), commitModule, properties); - } - - public JHipsterModuleProperties(JHipsterProjectFolder projectFolder, boolean commitModule, Map properties) { - Assert.notNull("projectFolder", projectFolder); - - this.projectFolder = projectFolder; + public JHipsterModuleProperties(String projectFolder, boolean commitModule, Map parameters) { + this.projectFolder = new JHipsterProjectFolder(projectFolder); this.commitModule = commitModule; - this.properties = JHipsterCollections.immutable(properties); + this.parameters = new JHipsterModuleParameters(parameters); - indentation = Indentation.from(getOrDefault(INDENTATION_PROPERTY, null, Integer.class)); - basePackage = new JHipsterBasePackage(getOrDefault(BASE_PACKAGE_PROPERTY, null, String.class)); - projectName = new JHipsterProjectName(getOrDefault(PROJECT_NAME_PROPERTY, null, String.class)); - projectBaseName = new JHipsterProjectBaseName(getOrDefault(PROJECT_BASE_NAME_PROPERTY, null, String.class)); - serverPort = new JHipsterServerPort(getOrDefault(SERVER_PORT_PROPERTY, null, Integer.class)); + indentation = Indentation.from(this.parameters.getOrDefault(INDENTATION_PARAMETER, null, Integer.class)); + basePackage = new JHipsterBasePackage(this.parameters.getOrDefault(BASE_PACKAGE_PARAMETER, null, String.class)); + projectName = new JHipsterProjectName(this.parameters.getOrDefault(PROJECT_NAME_PARAMETER, null, String.class)); + projectBaseName = new JHipsterProjectBaseName(this.parameters.getOrDefault(PROJECT_BASE_NAME_PARAMETER, null, String.class)); + serverPort = new JHipsterServerPort(this.parameters.getOrDefault(SERVER_PORT_PARAMETER, null, Integer.class)); } public JHipsterProjectFolder projectFolder() { @@ -49,29 +43,29 @@ public boolean commitNeeded() { } public String getString(String key) { - return get(key, String.class); + return parameters.get(key, String.class); } public String getOrDefaultString(String key, String defaultValue) { Assert.notBlank("defaultValue", defaultValue); - return getOrDefault(key, defaultValue, String.class); + return parameters.getOrDefault(key, defaultValue, String.class); } public boolean getBoolean(String key) { - return get(key, Boolean.class); + return parameters.get(key, Boolean.class); } public boolean getOrDefaultBoolean(String key, boolean defaultValue) { - return getOrDefault(key, defaultValue, Boolean.class); + return parameters.getOrDefault(key, defaultValue, Boolean.class); } public int getInteger(String key) { - return get(key, Integer.class); + return parameters.get(key, Integer.class); } public int getOrDefaultInteger(String key, int defaultValue) { - return getOrDefault(key, defaultValue, Integer.class); + return parameters.getOrDefault(key, defaultValue, Integer.class); } public Indentation indentation() { @@ -98,33 +92,7 @@ public JHipsterServerPort serverPort() { return serverPort; } - private T getOrDefault(String key, T defaultValue, Class clazz) { - Assert.notBlank("key", key); - - if (!properties.containsKey(key)) { - return defaultValue; - } - - return get(key, clazz); - } - - private T get(String key, Class clazz) { - Assert.notBlank("key", key); - - Object property = properties.get(key); - - if (property == null) { - throw new UnknownPropertyException(key); - } - - if (clazz.isInstance(property)) { - return clazz.cast(property); - } - - throw InvalidPropertyTypeException.builder().key(key).expectedType(clazz).actualType(property.getClass()); - } - - public Map get() { - return properties; + public Map getParameters() { + return parameters.get(); } } diff --git a/src/main/java/tech/jhipster/lite/module/domain/resource/JHipsterModulePropertyDefinition.java b/src/main/java/tech/jhipster/lite/module/domain/resource/JHipsterModulePropertyDefinition.java index cd326055dfc..0f432c0f537 100644 --- a/src/main/java/tech/jhipster/lite/module/domain/resource/JHipsterModulePropertyDefinition.java +++ b/src/main/java/tech/jhipster/lite/module/domain/resource/JHipsterModulePropertyDefinition.java @@ -30,7 +30,7 @@ private JHipsterModulePropertyDefinition(JHipsterModulePropertyDefinitionBuilder } public static JHipsterModulePropertyDefinition basePackageProperty() { - return mandatoryStringProperty(JHipsterModuleProperties.BASE_PACKAGE_PROPERTY) + return mandatoryStringProperty(JHipsterModuleProperties.BASE_PACKAGE_PARAMETER) .description("Base java package") .example("tech.jhipster.lite") .order(-300) @@ -38,7 +38,7 @@ public static JHipsterModulePropertyDefinition basePackageProperty() { } public static JHipsterModulePropertyDefinition projectNameProperty() { - return mandatoryStringProperty(JHipsterModuleProperties.PROJECT_NAME_PROPERTY) + return mandatoryStringProperty(JHipsterModuleProperties.PROJECT_NAME_PARAMETER) .description("Project full name") .example("JHipster Project") .order(-200) @@ -46,7 +46,7 @@ public static JHipsterModulePropertyDefinition projectNameProperty() { } static JHipsterModulePropertyDefinition projectBaseNameProperty() { - return mandatoryStringProperty(JHipsterModuleProperties.PROJECT_BASE_NAME_PROPERTY) + return mandatoryStringProperty(JHipsterModuleProperties.PROJECT_BASE_NAME_PARAMETER) .description("Project short name (only letters and numbers)") .example("jhipster") .order(-100) @@ -54,7 +54,7 @@ static JHipsterModulePropertyDefinition projectBaseNameProperty() { } static JHipsterModulePropertyDefinition serverPortProperty() { - return mandatoryIntegerProperty(JHipsterModuleProperties.SERVER_PORT_PROPERTY) + return mandatoryIntegerProperty(JHipsterModuleProperties.SERVER_PORT_PARAMETER) .description("Server port") .example("8080") .order(-50) @@ -62,7 +62,7 @@ static JHipsterModulePropertyDefinition serverPortProperty() { } public static JHipsterModulePropertyDefinition indentationProperty() { - return optionalIntegerProperty(JHipsterModuleProperties.INDENTATION_PROPERTY) + return optionalIntegerProperty(JHipsterModuleProperties.INDENTATION_PARAMETER) .description("Number of spaces in indentation") .example("2") .order(500) diff --git a/src/main/java/tech/jhipster/lite/module/infrastructure/primary/RestJHipsterModuleProperties.java b/src/main/java/tech/jhipster/lite/module/infrastructure/primary/RestJHipsterModuleProperties.java index 69720313a46..c8e013d7b2d 100644 --- a/src/main/java/tech/jhipster/lite/module/infrastructure/primary/RestJHipsterModuleProperties.java +++ b/src/main/java/tech/jhipster/lite/module/infrastructure/primary/RestJHipsterModuleProperties.java @@ -1,6 +1,7 @@ package tech.jhipster.lite.module.infrastructure.primary; import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.Map; import tech.jhipster.lite.error.domain.Assert; import tech.jhipster.lite.module.domain.properties.JHipsterModuleProperties; @@ -10,16 +11,16 @@ class RestJHipsterModuleProperties { private final String projectFolder; private final boolean commit; - private final Map properties; + private final Map parameters; RestJHipsterModuleProperties( @JsonProperty("projectFolder") String projectFolder, @JsonProperty("commit") boolean commit, - @JsonProperty("properties") Map properties + @JsonProperty("parameters") Map parameters ) { this.projectFolder = projectFolder; this.commit = commit; - this.properties = properties; + this.parameters = parameters; } public JHipsterModuleProperties toDomain(ProjectFolder jHipsterProjectFolderFactory) { @@ -27,7 +28,7 @@ public JHipsterModuleProperties toDomain(ProjectFolder jHipsterProjectFolderFact assertValidProjectFolder(jHipsterProjectFolderFactory); - return new JHipsterModuleProperties(projectFolder, commit, properties); + return new JHipsterModuleProperties(getProjectFolder(), isCommit(), getParameters()); } private void assertValidProjectFolder(ProjectFolder jHipsterProjectFolderFactory) { @@ -35,4 +36,19 @@ private void assertValidProjectFolder(ProjectFolder jHipsterProjectFolderFactory throw new InvalidProjectFolderException(); } } + + @Schema(description = "Path to the project folder", required = true) + public String getProjectFolder() { + return projectFolder; + } + + @Schema(description = "True to commit each module application, false otherwise", required = true) + public boolean isCommit() { + return commit; + } + + @Schema(description = "Parameters to apply on modules") + public Map getParameters() { + return parameters; + } } diff --git a/src/main/java/tech/jhipster/lite/project/domain/history/ModuleParameters.java b/src/main/java/tech/jhipster/lite/project/domain/history/ModuleParameters.java new file mode 100644 index 00000000000..b612c9b6fa5 --- /dev/null +++ b/src/main/java/tech/jhipster/lite/project/domain/history/ModuleParameters.java @@ -0,0 +1,28 @@ +package tech.jhipster.lite.project.domain.history; + +import java.util.HashMap; +import java.util.Map; +import tech.jhipster.lite.common.domain.JHipsterCollections; +import tech.jhipster.lite.error.domain.Assert; + +public record ModuleParameters(Map parameters) { + public static final ModuleParameters EMPTY = new ModuleParameters(Map.of()); + + public ModuleParameters(Map parameters) { + this.parameters = JHipsterCollections.immutable(parameters); + } + + public Map get() { + return parameters(); + } + + public ModuleParameters merge(ModuleParameters other) { + Assert.notNull("other", other); + + Map mergedParameters = new HashMap<>(); + mergedParameters.putAll(parameters); + mergedParameters.putAll(other.parameters); + + return new ModuleParameters(mergedParameters); + } +} diff --git a/src/main/java/tech/jhipster/lite/project/domain/history/ModuleProperties.java b/src/main/java/tech/jhipster/lite/project/domain/history/ModuleProperties.java deleted file mode 100644 index eac0722d2f3..00000000000 --- a/src/main/java/tech/jhipster/lite/project/domain/history/ModuleProperties.java +++ /dev/null @@ -1,28 +0,0 @@ -package tech.jhipster.lite.project.domain.history; - -import java.util.HashMap; -import java.util.Map; -import tech.jhipster.lite.common.domain.JHipsterCollections; -import tech.jhipster.lite.error.domain.Assert; - -public record ModuleProperties(Map properties) { - public static final ModuleProperties EMPTY = new ModuleProperties(Map.of()); - - public ModuleProperties(Map properties) { - this.properties = JHipsterCollections.immutable(properties); - } - - public Map get() { - return properties(); - } - - public ModuleProperties merge(ModuleProperties other) { - Assert.notNull("other", other); - - Map mergedProperties = new HashMap<>(); - mergedProperties.putAll(properties); - mergedProperties.putAll(other.properties); - - return new ModuleProperties(mergedProperties); - } -} diff --git a/src/main/java/tech/jhipster/lite/project/domain/history/ProjectAction.java b/src/main/java/tech/jhipster/lite/project/domain/history/ProjectAction.java index c5b0aa9f6a6..d47a2410fcf 100644 --- a/src/main/java/tech/jhipster/lite/project/domain/history/ProjectAction.java +++ b/src/main/java/tech/jhipster/lite/project/domain/history/ProjectAction.java @@ -8,16 +8,16 @@ public class ProjectAction { private final ModuleSlug module; private final Instant date; - private final ModuleProperties properties; + private final ModuleParameters parameters; private ProjectAction(ProjectActionBuilder builder) { Assert.notNull("module", builder.module); Assert.notNull("date", builder.date); - Assert.notNull("properties", builder.properties); + Assert.notNull("parameters", builder.parameters); module = builder.module; date = builder.date; - properties = builder.properties; + parameters = builder.parameters; } public static ProjectActionModuleBuilder builder() { @@ -32,15 +32,15 @@ public Instant date() { return date; } - public ModuleProperties properties() { - return properties; + public ModuleParameters parameters() { + return parameters; } - public static class ProjectActionBuilder implements ProjectActionModuleBuilder, ProjectActionDateBuilder, ProjectActionPropertiesBuilder { + public static class ProjectActionBuilder implements ProjectActionModuleBuilder, ProjectActionDateBuilder, ProjectActionParametersBuilder { private ModuleSlug module; private Instant date; - private ModuleProperties properties; + private ModuleParameters parameters; @Override public ProjectActionDateBuilder module(ModuleSlug module) { @@ -50,15 +50,15 @@ public ProjectActionDateBuilder module(ModuleSlug module) { } @Override - public ProjectActionPropertiesBuilder date(Instant date) { + public ProjectActionParametersBuilder date(Instant date) { this.date = date; return this; } @Override - public ProjectAction properties(ModuleProperties properties) { - this.properties = properties; + public ProjectAction parameters(ModuleParameters properties) { + this.parameters = properties; return new ProjectAction(this); } @@ -73,14 +73,14 @@ default ProjectActionDateBuilder module(String module) { } public interface ProjectActionDateBuilder { - ProjectActionPropertiesBuilder date(Instant date); + ProjectActionParametersBuilder date(Instant date); } - public interface ProjectActionPropertiesBuilder { - ProjectAction properties(ModuleProperties properties); + public interface ProjectActionParametersBuilder { + ProjectAction parameters(ModuleParameters properties); - default ProjectAction properties(Map properties) { - return properties(new ModuleProperties(properties)); + default ProjectAction parameters(Map properties) { + return parameters(new ModuleParameters(properties)); } } } diff --git a/src/main/java/tech/jhipster/lite/project/domain/history/ProjectHistory.java b/src/main/java/tech/jhipster/lite/project/domain/history/ProjectHistory.java index d92ffd3ea48..e471ac00cf6 100644 --- a/src/main/java/tech/jhipster/lite/project/domain/history/ProjectHistory.java +++ b/src/main/java/tech/jhipster/lite/project/domain/history/ProjectHistory.java @@ -38,7 +38,7 @@ public Collection actions() { return actions; } - public ModuleProperties latestProperties() { - return actions.stream().map(ProjectAction::properties).reduce(ModuleProperties.EMPTY, ModuleProperties::merge); + public ModuleParameters latestProperties() { + return actions.stream().map(ProjectAction::parameters).reduce(ModuleParameters.EMPTY, ModuleParameters::merge); } } diff --git a/src/main/java/tech/jhipster/lite/project/infrastructure/primary/JavaProjects.java b/src/main/java/tech/jhipster/lite/project/infrastructure/primary/JavaProjects.java index e6be84a02f8..5d5ea2cc9ef 100644 --- a/src/main/java/tech/jhipster/lite/project/infrastructure/primary/JavaProjects.java +++ b/src/main/java/tech/jhipster/lite/project/infrastructure/primary/JavaProjects.java @@ -30,7 +30,7 @@ private static ProjectActionToAppend projectActionToAdd(JHipsterModuleApplied mo .builder() .module(moduleApplied.slug().get()) .date(moduleApplied.time()) - .properties(moduleApplied.properties().get()); + .parameters(moduleApplied.properties().getParameters()); return new ProjectActionToAppend(path, action); } diff --git a/src/main/java/tech/jhipster/lite/project/infrastructure/secondary/PersistedProjectAction.java b/src/main/java/tech/jhipster/lite/project/infrastructure/secondary/PersistedProjectAction.java index ad3a1d6e7cc..977abbb98b2 100644 --- a/src/main/java/tech/jhipster/lite/project/infrastructure/secondary/PersistedProjectAction.java +++ b/src/main/java/tech/jhipster/lite/project/infrastructure/secondary/PersistedProjectAction.java @@ -22,11 +22,11 @@ private PersistedProjectAction( } static PersistedProjectAction from(ProjectAction action) { - return new PersistedProjectAction(action.module().get(), action.date(), action.properties().get()); + return new PersistedProjectAction(action.module().get(), action.date(), action.parameters().get()); } ProjectAction toDomain() { - return ProjectAction.builder().module(getModule()).date(getDate()).properties(getProperties()); + return ProjectAction.builder().module(getModule()).date(getDate()).parameters(getProperties()); } public String getModule() { diff --git a/src/main/java/tech/jhipster/lite/statistic/infrastructure/primary/SpringJHipsterModuleEventListener.java b/src/main/java/tech/jhipster/lite/statistic/infrastructure/primary/SpringJHipsterModuleEventListener.java index e8f52d829fa..2dd76da6bba 100644 --- a/src/main/java/tech/jhipster/lite/statistic/infrastructure/primary/SpringJHipsterModuleEventListener.java +++ b/src/main/java/tech/jhipster/lite/statistic/infrastructure/primary/SpringJHipsterModuleEventListener.java @@ -32,6 +32,6 @@ private AppliedModule toModuleApplied(JHipsterModuleApplied moduleApplied) { .path(new ProjectPath(moduleApplied.properties().projectFolder().get())) .module(new Module(moduleApplied.slug().get())) .date(moduleApplied.time()) - .properties(new ModuleProperties(moduleApplied.properties().get())); + .properties(new ModuleProperties(moduleApplied.properties().getParameters())); } } diff --git a/src/main/webapp/app/module/domain/ModuleParameter.ts b/src/main/webapp/app/module/domain/ModuleParameter.ts new file mode 100644 index 00000000000..535661f8925 --- /dev/null +++ b/src/main/webapp/app/module/domain/ModuleParameter.ts @@ -0,0 +1,7 @@ +import { ModuleParameterType } from './ModuleParameters'; +import { ModulePropertyKey } from './ModulePropertyKey'; + +export interface ModuleParameter { + key: ModulePropertyKey; + value: ModuleParameterType; +} diff --git a/src/main/webapp/app/module/domain/ModuleParameters.ts b/src/main/webapp/app/module/domain/ModuleParameters.ts new file mode 100644 index 00000000000..96c3d899190 --- /dev/null +++ b/src/main/webapp/app/module/domain/ModuleParameters.ts @@ -0,0 +1,3 @@ +export type ModuleParameterType = string | boolean | number; + +export type ModuleParameters = Map; diff --git a/src/main/webapp/app/module/domain/ModuleProperties.ts b/src/main/webapp/app/module/domain/ModuleProperties.ts deleted file mode 100644 index 38cf0b65179..00000000000 --- a/src/main/webapp/app/module/domain/ModuleProperties.ts +++ /dev/null @@ -1,3 +0,0 @@ -export type ModulePropertyValueType = string | boolean | number; - -export type ModuleProperties = Map; diff --git a/src/main/webapp/app/module/domain/ModuleProperty.ts b/src/main/webapp/app/module/domain/ModuleProperty.ts deleted file mode 100644 index 74168e46a42..00000000000 --- a/src/main/webapp/app/module/domain/ModuleProperty.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { ModulePropertyKey } from './ModulePropertyKey'; -import { ModulePropertyType } from './ModulePropertyValueType'; - -export interface ModuleProperty { - key: ModulePropertyKey; - value: ModulePropertyType; -} diff --git a/src/main/webapp/app/module/domain/ModulePropertyValueType.ts b/src/main/webapp/app/module/domain/ModulePropertyValueType.ts deleted file mode 100644 index c9a0d2340a2..00000000000 --- a/src/main/webapp/app/module/domain/ModulePropertyValueType.ts +++ /dev/null @@ -1 +0,0 @@ -export type ModulePropertyType = string | boolean | number; diff --git a/src/main/webapp/app/module/domain/ModuleToApply.ts b/src/main/webapp/app/module/domain/ModuleToApply.ts index 778be7cf630..996dbdfc3d4 100644 --- a/src/main/webapp/app/module/domain/ModuleToApply.ts +++ b/src/main/webapp/app/module/domain/ModuleToApply.ts @@ -1,8 +1,8 @@ -import { ModuleProperties } from './ModuleProperties'; +import { ModuleParameters } from './ModuleParameters'; import { ProjectFolder } from './ProjectFolder'; export interface ModuleToApply { projectFolder: ProjectFolder; commit: boolean; - properties: ModuleProperties; + parameters: ModuleParameters; } diff --git a/src/main/webapp/app/module/domain/ModulesToApply.ts b/src/main/webapp/app/module/domain/ModulesToApply.ts index 226f6aad47f..fc98b303f08 100644 --- a/src/main/webapp/app/module/domain/ModulesToApply.ts +++ b/src/main/webapp/app/module/domain/ModulesToApply.ts @@ -1,4 +1,4 @@ -import { ModuleProperties } from './ModuleProperties'; +import { ModuleParameters } from './ModuleParameters'; import { ModuleSlug } from './ModuleSlug'; import { ProjectFolder } from './ProjectFolder'; @@ -6,5 +6,5 @@ export interface ModulesToApply { modules: ModuleSlug[]; projectFolder: ProjectFolder; commit: boolean; - properties: ModuleProperties; + parameters: ModuleParameters; } diff --git a/src/main/webapp/app/module/primary/PropertyValue.ts b/src/main/webapp/app/module/primary/PropertyValue.ts index 72e01cdb755..dc37356afed 100644 --- a/src/main/webapp/app/module/primary/PropertyValue.ts +++ b/src/main/webapp/app/module/primary/PropertyValue.ts @@ -1,10 +1,10 @@ -import { ModulePropertyValueType } from '../domain/ModuleProperties'; +import { ModuleParameterType } from '../domain/ModuleParameters'; -export const notEmpty = (value: ModulePropertyValueType | undefined): boolean => { +export const notEmpty = (value: ModuleParameterType | undefined): boolean => { return !empty(value); }; -export const empty = (value: ModulePropertyValueType | undefined): boolean => { +export const empty = (value: ModuleParameterType | undefined): boolean => { if (value === undefined) { return true; } diff --git a/src/main/webapp/app/module/primary/landscape/Landscape.component.ts b/src/main/webapp/app/module/primary/landscape/Landscape.component.ts index 0b5f6c01a73..68b67e6a355 100644 --- a/src/main/webapp/app/module/primary/landscape/Landscape.component.ts +++ b/src/main/webapp/app/module/primary/landscape/Landscape.component.ts @@ -11,14 +11,14 @@ import { ComponentLandscapeElement } from './ComponentLandscapeElement'; import { Optional } from '@/common/domain/Optional'; import { emptyLandscapeSize, LandscapeConnectorsSize } from './LandscapeConnectorsSize'; import { ModulePropertiesFormVue } from '../module-properties-form'; -import { ModulePropertyType } from '@/module/domain/ModulePropertyValueType'; import { ModulePropertyDefinition } from '@/module/domain/ModulePropertyDefinition'; -import { ModuleProperty } from '@/module/domain/ModuleProperty'; import { AlertBus } from '@/common/domain/alert/AlertBus'; import { ProjectHistory } from '@/module/domain/ProjectHistory'; import { ProjectFoldersRepository } from '@/module/domain/ProjectFoldersRepository'; import { ProjectActionsVue } from '../project-actions'; import { empty } from '../PropertyValue'; +import { ModuleParameterType } from '@/module/domain/ModuleParameters'; +import { ModuleParameter } from '@/module/domain/ModuleParameter'; export default defineComponent({ name: 'LandscapeVue', @@ -41,7 +41,7 @@ export default defineComponent({ const emphasizedModule = ref(); const folderPath = ref(''); - const valuatedModuleProperties = ref(new Map()); + const valuatedModuleParameters = ref(new Map()); let commitModule = true; @@ -288,7 +288,7 @@ export default defineComponent({ }; const missingMandatoryProperty = () => { - return selectedModulesProperties().some(property => property.mandatory && empty(valuatedModuleProperties.value.get(property.key))); + return selectedModulesProperties().some(property => property.mandatory && empty(valuatedModuleParameters.value.get(property.key))); }; const selectedModulesProperties = (): ModulePropertyDefinition[] => { @@ -317,21 +317,21 @@ export default defineComponent({ projectHistory.properties.forEach(property => { if (unknownProperty(property.key)) { - valuatedModuleProperties.value.set(property.key, property.value); + valuatedModuleParameters.value.set(property.key, property.value); } }); }; const unknownProperty = (key: string) => { - return !valuatedModuleProperties.value.has(key); + return !valuatedModuleParameters.value.has(key); }; - const updateProperty = (property: ModuleProperty): void => { - valuatedModuleProperties.value.set(property.key, property.value); + const updateProperty = (property: ModuleParameter): void => { + valuatedModuleParameters.value.set(property.key, property.value); }; const deleteProperty = (key: string): void => { - valuatedModuleProperties.value.delete(key); + valuatedModuleParameters.value.delete(key); }; const landscapeValue = (): ComponentLandscape => { @@ -346,7 +346,7 @@ export default defineComponent({ modules: landscapeValue().selectedModulesSlugs(), projectFolder: folderPath.value, commit: commitModule, - properties: valuatedModuleProperties.value, + parameters: valuatedModuleParameters.value, }) .then(() => { operationEnded(); @@ -386,7 +386,7 @@ export default defineComponent({ disabledApplication, folderPath, selectedModulesProperties, - valuatedModuleProperties, + valuatedModuleParameters, updateModuleCommit, updateFolderPath, projectFolderUpdated, diff --git a/src/main/webapp/app/module/primary/landscape/Landscape.html b/src/main/webapp/app/module/primary/landscape/Landscape.html index 48786495638..d978bd892a5 100644 --- a/src/main/webapp/app/module/primary/landscape/Landscape.html +++ b/src/main/webapp/app/module/primary/landscape/Landscape.html @@ -25,7 +25,7 @@ >, required: true, }, @@ -15,8 +15,8 @@ export default defineComponent({ type: String, required: true, }, - moduleProperties: { - type: Map, + moduleParameters: { + type: Map, required: true, }, propertiesType: { @@ -37,8 +37,8 @@ export default defineComponent({ return 'Optional'; }; - const propertiesStats = (): string => { - return `${propertiesWithValueCount()} / ${props.properties.length}`; + const parametersStats = (): string => { + return `${parametersWithValueCount()} / ${props.propertiesDefinitions.length}`; }; const stateClass = (): string => { @@ -46,23 +46,23 @@ export default defineComponent({ }; const validityClass = (): string => { - if (propertiesWithValueCount() === props.properties.length) { - return 'all-valid-properties'; + if (parametersWithValueCount() === props.propertiesDefinitions.length) { + return 'all-valid-parameters'; } if (mandatoryProperties()) { - return 'invalid-mandatory-property'; + return 'invalid-mandatory-parameter'; } - return 'invalid-optional-property'; + return 'invalid-optional-parameter'; }; const mandatoryProperties = (): boolean => { return props.propertiesType === 'MANDATORY'; }; - const propertiesWithValueCount = (): number => { - return props.properties.filter(property => notEmpty(props.moduleProperties.get(property.key))).length; + const parametersWithValueCount = (): number => { + return props.propertiesDefinitions.filter(property => notEmpty(props.moduleParameters.get(property.key))).length; }; const selectionClass = (): string => { @@ -75,7 +75,7 @@ export default defineComponent({ return { typeLabel, - propertiesStats, + parametersStats, stateClass, }; }, diff --git a/src/main/webapp/app/module/primary/module-parameters/ModuleParameters.html b/src/main/webapp/app/module/primary/module-parameters/ModuleParameters.html new file mode 100644 index 00000000000..76fd55facc2 --- /dev/null +++ b/src/main/webapp/app/module/primary/module-parameters/ModuleParameters.html @@ -0,0 +1,27 @@ +
+
+
{{ typeLabel() }}
+
+ {{ parametersStats() }} +
+
+
+
{{ propertyDefinition.key }}
+
+ {{ moduleParameters.get(propertyDefinition.key) }} +
+
+
diff --git a/src/main/webapp/app/module/primary/module-parameters/ModuleParameters.vue b/src/main/webapp/app/module/primary/module-parameters/ModuleParameters.vue new file mode 100644 index 00000000000..3ea8667ddec --- /dev/null +++ b/src/main/webapp/app/module/primary/module-parameters/ModuleParameters.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/src/main/webapp/app/module/primary/module-parameters/index.ts b/src/main/webapp/app/module/primary/module-parameters/index.ts new file mode 100644 index 00000000000..26bec2eabe6 --- /dev/null +++ b/src/main/webapp/app/module/primary/module-parameters/index.ts @@ -0,0 +1,3 @@ +import ModuleParametersVue from './ModuleParameters.vue'; + +export { ModuleParametersVue }; diff --git a/src/main/webapp/app/module/primary/module-properties-form/ModulePropertiesForm.component.ts b/src/main/webapp/app/module/primary/module-properties-form/ModulePropertiesForm.component.ts index bee1962d4d8..e717a1e8ecd 100644 --- a/src/main/webapp/app/module/primary/module-properties-form/ModulePropertiesForm.component.ts +++ b/src/main/webapp/app/module/primary/module-properties-form/ModulePropertiesForm.component.ts @@ -1,7 +1,7 @@ -import { ModuleProperty } from '@/module/domain/ModuleProperty'; +import { ModuleParameter } from '@/module/domain/ModuleParameter'; +import { ModuleParameterType } from '@/module/domain/ModuleParameters'; import { ModulePropertyDefinition } from '@/module/domain/ModulePropertyDefinition'; import { ModulePropertyKey } from '@/module/domain/ModulePropertyKey'; -import { ModulePropertyType } from '@/module/domain/ModulePropertyValueType'; import { defineComponent, PropType } from 'vue'; import { empty } from '../PropertyValue'; @@ -16,8 +16,8 @@ export default defineComponent({ type: Array as PropType>, required: true, }, - knownValues: { - type: Object as PropType>, + parameters: { + type: Object as PropType>, required: true, }, }, @@ -57,7 +57,7 @@ export default defineComponent({ } }; - const property = (key: string, value: ModulePropertyType): ModuleProperty => ({ + const property = (key: string, value: ModuleParameterType): ModuleParameter => ({ key, value, }); diff --git a/src/main/webapp/app/module/primary/module-properties-form/ModulePropertiesForm.html b/src/main/webapp/app/module/primary/module-properties-form/ModulePropertiesForm.html index 572534e3f57..369bbcc673f 100644 --- a/src/main/webapp/app/module/primary/module-properties-form/ModulePropertiesForm.html +++ b/src/main/webapp/app/module/primary/module-properties-form/ModulePropertiesForm.html @@ -26,7 +26,7 @@

Properties

-