diff --git a/src/main/java/tech/jhipster/lite/module/domain/landscape/JHipsterLandscape.java b/src/main/java/tech/jhipster/lite/module/domain/landscape/JHipsterLandscape.java index 6672ad553ea..41708ca2b20 100644 --- a/src/main/java/tech/jhipster/lite/module/domain/landscape/JHipsterLandscape.java +++ b/src/main/java/tech/jhipster/lite/module/domain/landscape/JHipsterLandscape.java @@ -73,6 +73,7 @@ private JHipsterLandscapeModule moduleWithoutNestedDependencies(JHipsterLandscap .module(module.slug()) .operation(module.operation()) .propertiesDefinition(module.propertiesDefinition()) + .rank(module.rank()) .dependencies(dependenciesWithoutNested(module, knownDependencies)); } diff --git a/src/main/java/tech/jhipster/lite/module/domain/landscape/JHipsterLandscapeLevels.java b/src/main/java/tech/jhipster/lite/module/domain/landscape/JHipsterLandscapeLevels.java index 8dffcda4a6c..52223d30ed3 100644 --- a/src/main/java/tech/jhipster/lite/module/domain/landscape/JHipsterLandscapeLevels.java +++ b/src/main/java/tech/jhipster/lite/module/domain/landscape/JHipsterLandscapeLevels.java @@ -1,12 +1,7 @@ package tech.jhipster.lite.module.domain.landscape; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.Map.Entry; -import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Consumer; import java.util.function.Function; @@ -76,6 +71,7 @@ private static JHipsterLandscapeModule landscapeModule(JHipsterModuleResource re .module(resource.slug()) .operation(resource.apiDoc().operation()) .propertiesDefinition(resource.propertiesDefinition()) + .rank(resource.rank()) .dependencies(resource.organization().dependencies()); } diff --git a/src/main/java/tech/jhipster/lite/module/domain/landscape/JHipsterLandscapeModule.java b/src/main/java/tech/jhipster/lite/module/domain/landscape/JHipsterLandscapeModule.java index ff89124ce34..fc8530c8548 100644 --- a/src/main/java/tech/jhipster/lite/module/domain/landscape/JHipsterLandscapeModule.java +++ b/src/main/java/tech/jhipster/lite/module/domain/landscape/JHipsterLandscapeModule.java @@ -12,6 +12,7 @@ import tech.jhipster.lite.module.domain.JHipsterSlug; import tech.jhipster.lite.module.domain.resource.JHipsterModuleOperation; import tech.jhipster.lite.module.domain.resource.JHipsterModulePropertiesDefinition; +import tech.jhipster.lite.module.domain.resource.JHipsterModuleRank; import tech.jhipster.lite.shared.error.domain.Assert; import tech.jhipster.lite.shared.generation.domain.ExcludeFromGeneratedCodeCoverage; @@ -21,6 +22,7 @@ public final class JHipsterLandscapeModule implements JHipsterLandscapeElement { private final JHipsterModuleOperation operation; private final JHipsterModulePropertiesDefinition propertiesDefinition; private final Optional dependencies; + private final JHipsterModuleRank rank; private JHipsterLandscapeModule(JHipsterLandscapeModuleBuilder builder) { Assert.notNull("module", builder.module); @@ -31,6 +33,7 @@ private JHipsterLandscapeModule(JHipsterLandscapeModuleBuilder builder) { operation = builder.operation; propertiesDefinition = builder.propertiesDefinition; dependencies = JHipsterLandscapeDependencies.of(builder.dependencies); + rank = builder.rank; } public static JHipsterLandscapeModuleSlugBuilder builder() { @@ -50,6 +53,10 @@ public JHipsterModulePropertiesDefinition propertiesDefinition() { return propertiesDefinition; } + public JHipsterModuleRank rank() { + return rank; + } + @Override public Optional dependencies() { return dependencies; @@ -94,6 +101,7 @@ public String toString() { .append("operation", operation) .append("propertiesDefinition", propertiesDefinition) .append("dependencies", dependencies) + .append("rank", rank) .build(); } @@ -108,6 +116,7 @@ private static final class JHipsterLandscapeModuleBuilder private JHipsterModuleOperation operation; private Collection dependencies; private JHipsterModulePropertiesDefinition propertiesDefinition; + private JHipsterModuleRank rank; @Override public JHipsterLandscapeModuleOperationBuilder module(JHipsterModuleSlug module) { @@ -130,6 +139,13 @@ public JHipsterLandscapeModuleDependenciesBuilder propertiesDefinition(JHipsterM return this; } + @Override + public JHipsterLandscapeModuleDependenciesBuilder rank(JHipsterModuleRank rank) { + this.rank = rank; + + return this; + } + @Override public JHipsterLandscapeModule dependencies(Collection dependencies) { this.dependencies = dependencies; @@ -159,6 +175,8 @@ public interface JHipsterLandscapeModulePropertiesDefinitionBuilder { } public interface JHipsterLandscapeModuleDependenciesBuilder { + JHipsterLandscapeModuleDependenciesBuilder rank(JHipsterModuleRank rank); + JHipsterLandscapeModule dependencies(Collection dependencies); default JHipsterLandscapeModule withoutDependencies() { diff --git a/src/main/java/tech/jhipster/lite/module/infrastructure/primary/RestJHipsterLandscapeModule.java b/src/main/java/tech/jhipster/lite/module/infrastructure/primary/RestJHipsterLandscapeModule.java index 4b3d9d4cbb4..4027f2a850f 100644 --- a/src/main/java/tech/jhipster/lite/module/infrastructure/primary/RestJHipsterLandscapeModule.java +++ b/src/main/java/tech/jhipster/lite/module/infrastructure/primary/RestJHipsterLandscapeModule.java @@ -7,8 +7,9 @@ import java.util.List; import tech.jhipster.lite.module.domain.landscape.JHipsterLandscapeElementType; import tech.jhipster.lite.module.domain.landscape.JHipsterLandscapeModule; +import tech.jhipster.lite.module.domain.resource.JHipsterModuleRank; -@JsonPropertyOrder({ "type", "slug", "operation", "properties", "dependencies" }) +@JsonPropertyOrder({ "type", "slug", "operation", "properties", "dependencies", "rank" }) @Schema(name = "JHipsterLandscapeModule", description = "Module in a landscape") final class RestJHipsterLandscapeModule implements RestJHipsterLandscapeElement { @@ -16,12 +17,14 @@ final class RestJHipsterLandscapeModule implements RestJHipsterLandscapeElement private final String operation; private final RestJHipsterModulePropertiesDefinition properties; private final Collection dependencies; + private final JHipsterModuleRank rank; private RestJHipsterLandscapeModule(RestJHipsterLandscapeModuleBuilder builder) { slug = builder.slug; operation = builder.operation; properties = builder.properties; dependencies = builder.dependencies; + rank = builder.rank; } static RestJHipsterLandscapeModule fromModule(JHipsterLandscapeModule module) { @@ -29,6 +32,7 @@ static RestJHipsterLandscapeModule fromModule(JHipsterLandscapeModule module) { .slug(module.slug().get()) .operation(module.operation().get()) .properties(RestJHipsterModulePropertiesDefinition.from(module.propertiesDefinition())) + .rank(module.rank()) .dependencies(buildDependencies(module)) .build(); } @@ -66,12 +70,18 @@ public Collection getDependencies() { return dependencies; } + @Schema(description = "Rank of this module", requiredMode = RequiredMode.REQUIRED) + public JHipsterModuleRank getRank() { + return rank; + } + private static final class RestJHipsterLandscapeModuleBuilder { private String slug; private String operation; private RestJHipsterModulePropertiesDefinition properties; private List dependencies; + private JHipsterModuleRank rank; public RestJHipsterLandscapeModuleBuilder slug(String slug) { this.slug = slug; @@ -97,6 +107,12 @@ public RestJHipsterLandscapeModuleBuilder dependencies(List