Skip to content

Commit

Permalink
Springdoc / fix review comments
Browse files Browse the repository at this point in the history
  • Loading branch information
Bolo89 committed Jun 11, 2022
1 parent 0900556 commit 3eaedfc
Show file tree
Hide file tree
Showing 9 changed files with 33 additions and 175 deletions.
Empty file.
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
package tech.jhipster.lite.generator.module.application;

import java.time.Instant;
import java.util.Optional;
import org.springframework.stereotype.Service;
import tech.jhipster.lite.generator.module.domain.JHipsterModuleApplied;
import tech.jhipster.lite.generator.module.domain.JHipsterModuleEvents;
import tech.jhipster.lite.generator.module.domain.JHipsterModuleToApply;
import tech.jhipster.lite.generator.module.domain.JHipsterModulesDomainService;
import tech.jhipster.lite.generator.module.domain.JHipsterModulesRepository;
import tech.jhipster.lite.generator.module.domain.javadependency.DependencyId;
import tech.jhipster.lite.generator.module.domain.javadependency.JavaDependenciesCurrentVersionsRepository;
import tech.jhipster.lite.generator.module.domain.javadependency.JavaDependency;
import tech.jhipster.lite.generator.module.domain.javadependency.ProjectJavaDependenciesRepository;

@Service
Expand All @@ -34,8 +31,4 @@ public void apply(JHipsterModuleToApply toApply) {

events.dispatch(new JHipsterModuleApplied(toApply.project(), toApply.slug(), Instant.now()));
}

public Optional<JavaDependency> getDependency(String projectFolder, DependencyId dependencyId) {
return modules.getDependency(projectFolder, dependencyId);
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
package tech.jhipster.lite.generator.module.domain;

import java.util.Optional;
import tech.jhipster.lite.error.domain.Assert;
import tech.jhipster.lite.generator.module.domain.javadependency.DependencyId;
import tech.jhipster.lite.generator.module.domain.javadependency.JavaDependenciesCurrentVersionsRepository;
import tech.jhipster.lite.generator.module.domain.javadependency.JavaDependency;
import tech.jhipster.lite.generator.module.domain.javadependency.ProjectJavaDependenciesRepository;
import tech.jhipster.lite.generator.module.domain.javadependency.command.JavaDependenciesCommands;

Expand Down Expand Up @@ -42,10 +39,6 @@ public void apply(JHipsterModule module) {
modules.apply(changes);
}

public Optional<JavaDependency> getDependency(String projectFolder, DependencyId dependencyId) {
return projectDependencies.get(new JHipsterProjectFolder(projectFolder)).dependency(dependencyId);
}

private JavaDependenciesCommands buildDependenciesChanges(JHipsterModule module) {
return module.javaDependencies().buildChanges(currentVersions.get(), projectDependencies.get(module.projectFolder()));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@
import tech.jhipster.lite.error.domain.GeneratorException;
import tech.jhipster.lite.generator.buildtool.generic.domain.BuildToolService;
import tech.jhipster.lite.generator.buildtool.generic.domain.Dependency;
import tech.jhipster.lite.generator.module.JHipsterModules;
import tech.jhipster.lite.generator.module.domain.javadependency.ProjectJavaDependenciesRepository;
import tech.jhipster.lite.generator.module.domain.properties.JHipsterProjectFolder;
import tech.jhipster.lite.generator.project.domain.Project;
import tech.jhipster.lite.generator.project.domain.ProjectFile;
import tech.jhipster.lite.generator.project.domain.ProjectRepository;
Expand All @@ -43,18 +44,18 @@ public class SpringdocDomainService implements SpringdocService {
private final BuildToolService buildToolService;
private final ProjectRepository projectRepository;
private final SpringBootCommonService springBootCommonService;
private final JHipsterModules jHipsterModules;
private final ProjectJavaDependenciesRepository projectJavaDependenciesRepository;

public SpringdocDomainService(
BuildToolService buildToolService,
ProjectRepository projectRepository,
SpringBootCommonService springBootCommonService,
JHipsterModules jHipsterModules
ProjectJavaDependenciesRepository projectJavaDependenciesRepository
) {
this.buildToolService = buildToolService;
this.projectRepository = projectRepository;
this.springBootCommonService = springBootCommonService;
this.jHipsterModules = jHipsterModules;
this.projectJavaDependenciesRepository = projectJavaDependenciesRepository;
}

@Override
Expand All @@ -79,8 +80,10 @@ public void addSpringdocDependency(Project project) {
buildToolService.addProperty(project, "springdoc-openapi-ui.version", version);
Dependency dependency;
dependency =
jHipsterModules
.getDependency(project.getFolder(), WEBFLUX_DEPENDENCY_ID)
projectJavaDependenciesRepository
.get(new JHipsterProjectFolder(project.getFolder()))
.dependencies()
.get(WEBFLUX_DEPENDENCY_ID)
.map(d -> springdocDependencyForWebflux())
.orElse(springdocDependencyForMvc());
buildToolService.addDependency(project, dependency);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import tech.jhipster.lite.generator.buildtool.generic.domain.BuildToolService;
import tech.jhipster.lite.generator.module.JHipsterModules;
import tech.jhipster.lite.generator.module.domain.javadependency.ProjectJavaDependenciesRepository;
import tech.jhipster.lite.generator.project.domain.ProjectRepository;
import tech.jhipster.lite.generator.server.springboot.apidocumentation.springdoc.domain.SpringdocDomainService;
import tech.jhipster.lite.generator.server.springboot.apidocumentation.springdoc.domain.SpringdocService;
Expand All @@ -15,22 +15,22 @@ public class SpringdocBeanConfiguration {
private final BuildToolService buildToolService;
private final ProjectRepository projectRepository;
private final SpringBootCommonService springBootCommonService;
private final JHipsterModules jHipsterModules;
private final ProjectJavaDependenciesRepository projectJavaDependenciesRepository;

public SpringdocBeanConfiguration(
BuildToolService buildToolService,
ProjectRepository projectRepository,
SpringBootCommonService springBootCommonService,
JHipsterModules jHipsterModules
ProjectJavaDependenciesRepository projectJavaDependenciesRepository
) {
this.buildToolService = buildToolService;
this.projectRepository = projectRepository;
this.springBootCommonService = springBootCommonService;
this.jHipsterModules = jHipsterModules;
this.projectJavaDependenciesRepository = projectJavaDependenciesRepository;
}

@Bean
public SpringdocService springdocService() {
return new SpringdocDomainService(buildToolService, projectRepository, springBootCommonService, jHipsterModules);
return new SpringdocDomainService(buildToolService, projectRepository, springBootCommonService, projectJavaDependenciesRepository);
}
}

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import static tech.jhipster.lite.generator.server.springboot.apidocumentation.springdoc.domain.SpringdocConstants.DEFAULT_TRY_OUT_ENABLED;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import org.junit.jupiter.api.Test;
Expand All @@ -36,8 +37,11 @@
import tech.jhipster.lite.UnitTest;
import tech.jhipster.lite.generator.buildtool.generic.domain.BuildToolService;
import tech.jhipster.lite.generator.buildtool.generic.domain.Dependency;
import tech.jhipster.lite.generator.module.JHipsterModules;
import tech.jhipster.lite.generator.module.domain.javadependency.JavaDependencies;
import tech.jhipster.lite.generator.module.domain.javadependency.JavaDependency;
import tech.jhipster.lite.generator.module.domain.javadependency.ProjectJavaDependencies;
import tech.jhipster.lite.generator.module.domain.javadependency.ProjectJavaDependenciesRepository;
import tech.jhipster.lite.generator.module.domain.properties.JHipsterProjectFolder;
import tech.jhipster.lite.generator.project.domain.Project;
import tech.jhipster.lite.generator.project.domain.ProjectFile;
import tech.jhipster.lite.generator.project.domain.ProjectRepository;
Expand All @@ -57,7 +61,7 @@ class SpringdocDomainServiceTest {
SpringBootCommonService springBootCommonService;

@Mock
JHipsterModules jHipsterModules;
ProjectJavaDependenciesRepository projectJavaDependenciesRepository;

@InjectMocks
SpringdocDomainService springdocDomainService;
Expand All @@ -69,6 +73,8 @@ void shouldInitWithDefaultValues() {
config.put(BASE_NAME, "foo");
Project project = Project.builder().folder("/path/to/folder").config(config).build();

when(projectJavaDependenciesRepository.get(any(JHipsterProjectFolder.class))).thenReturn(new ProjectJavaDependencies(null, null));

// When
when(buildToolService.getVersion(project, "springdoc-openapi")).thenReturn(Optional.of("0.0.0"));
springdocDomainService.init(project);
Expand Down Expand Up @@ -110,6 +116,8 @@ void shouldInitWithAdditionalConfigFromProject() {

Project project = Project.builder().folder("/path/to/folder").config(projectConfig).build();

when(projectJavaDependenciesRepository.get(any(JHipsterProjectFolder.class))).thenReturn(new ProjectJavaDependencies(null, null));

// When
when(buildToolService.getVersion(project, "springdoc-openapi")).thenReturn(Optional.of("0.0.0"));
springdocDomainService.init(project);
Expand Down Expand Up @@ -138,12 +146,11 @@ void shouldInitForWebflux() {
config.put(BASE_NAME, "foo");
Project project = Project.builder().folder("/path/to/folder").config(config).build();

when(jHipsterModules.getDependency(project.getFolder(), WEBFLUX_DEPENDENCY_ID))
.thenReturn(
Optional.of(
JavaDependency.builder().groupId(WEBFLUX_DEPENDENCY_ID.groupId()).artifactId(WEBFLUX_DEPENDENCY_ID.artifactId()).build()
)
);
List<JavaDependency> dependencies = List.of(
JavaDependency.builder().groupId(WEBFLUX_DEPENDENCY_ID.groupId()).artifactId(WEBFLUX_DEPENDENCY_ID.artifactId()).build()
);
when(projectJavaDependenciesRepository.get(any(JHipsterProjectFolder.class)))
.thenReturn(new ProjectJavaDependencies(null, new JavaDependencies(dependencies)));

// When
when(buildToolService.getVersion(project, "springdoc-openapi")).thenReturn(Optional.of("0.0.0"));
Expand All @@ -159,6 +166,10 @@ void shouldInitForWebflux() {

verify(springBootCommonService, times(3)).addProperties(any(), anyString(), any());
verify(springBootCommonService).addProperties(project, "springdoc.swagger-ui.operationsSorter", DEFAULT_SWAGGER_UI_SORT_VALUE);

ArgumentCaptor<JHipsterProjectFolder> jHipsterProjectFolderArgCaptor = ArgumentCaptor.forClass(JHipsterProjectFolder.class);
verify(projectJavaDependenciesRepository).get(jHipsterProjectFolderArgCaptor.capture());
assertThat(jHipsterProjectFolderArgCaptor.getValue().folder()).isEqualTo("/path/to/folder");
}

private static Dependency getExpectedDependency() {
Expand Down

0 comments on commit 3eaedfc

Please sign in to comment.