diff --git a/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/Repository.java b/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepository.java similarity index 85% rename from spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/Repository.java rename to spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepository.java index 9852896..679821e 100644 --- a/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/Repository.java +++ b/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepository.java @@ -4,7 +4,7 @@ package io.reflectoring.argumentresolver; import lombok.Value; @Value -class Repository { +class GitRepository { private final Long id; private final String slug; diff --git a/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/RepositoryArgumentResolver.java b/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepositoryArgumentResolver.java similarity index 78% rename from spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/RepositoryArgumentResolver.java rename to spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepositoryArgumentResolver.java index 67ad9be..4226c74 100644 --- a/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/RepositoryArgumentResolver.java +++ b/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepositoryArgumentResolver.java @@ -1,7 +1,6 @@ package io.reflectoring.argumentresolver; import java.util.Optional; -import java.util.regex.Pattern; import lombok.RequiredArgsConstructor; import org.springframework.core.MethodParameter; import org.springframework.web.bind.support.WebDataBinderFactory; @@ -11,13 +10,13 @@ import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.method.support.ModelAndViewContainer; @RequiredArgsConstructor -class RepositoryArgumentResolver implements HandlerMethodArgumentResolver { +class GitRepositoryArgumentResolver implements HandlerMethodArgumentResolver { - private final RepositoryFinder repositoryFinder; + private final GitRepositoryFinder gitRepositoryFinder; @Override public boolean supportsParameter(MethodParameter parameter) { - return parameter.getParameter().getType() == Repository.class; + return parameter.getParameter().getType() == GitRepository.class; } @Override @@ -33,7 +32,7 @@ class RepositoryArgumentResolver implements HandlerMethodArgumentResolver { .substring(0, requestPath.indexOf("/", 1)) .replaceAll("^/", ""); - Optional repository = repositoryFinder.findBySlug(slug); + Optional repository = gitRepositoryFinder.findBySlug(slug); if (repository.isEmpty()) { throw new NotFoundException(); diff --git a/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/RepositoryArgumentResolverConfiguration.java b/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepositoryArgumentResolverConfiguration.java similarity index 67% rename from spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/RepositoryArgumentResolverConfiguration.java rename to spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepositoryArgumentResolverConfiguration.java index a12e9c7..f34f9aa 100644 --- a/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/RepositoryArgumentResolverConfiguration.java +++ b/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepositoryArgumentResolverConfiguration.java @@ -8,13 +8,13 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Component @RequiredArgsConstructor -class RepositoryArgumentResolverConfiguration implements WebMvcConfigurer { +class GitRepositoryArgumentResolverConfiguration implements WebMvcConfigurer { - private final RepositoryFinder repositoryFinder; + private final GitRepositoryFinder gitRepositoryFinder; @Override public void addArgumentResolvers(List resolvers) { - resolvers.add(new RepositoryArgumentResolver(repositoryFinder)); + resolvers.add(new GitRepositoryArgumentResolver(gitRepositoryFinder)); } } diff --git a/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepositoryFinder.java b/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepositoryFinder.java new file mode 100644 index 0000000..80fe5c1 --- /dev/null +++ b/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepositoryFinder.java @@ -0,0 +1,9 @@ +package io.reflectoring.argumentresolver; + +import java.util.Optional; + +public interface GitRepositoryFinder { + + Optional findBySlug(String slug); + +} diff --git a/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/RepositoryId.java b/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepositoryId.java similarity index 81% rename from spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/RepositoryId.java rename to spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepositoryId.java index f55ef68..06b57bb 100644 --- a/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/RepositoryId.java +++ b/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepositoryId.java @@ -3,7 +3,7 @@ package io.reflectoring.argumentresolver; import lombok.Value; @Value -class RepositoryId { +class GitRepositoryId { private final long value; diff --git a/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepositoryIdConverter.java b/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepositoryIdConverter.java new file mode 100644 index 0000000..0c26644 --- /dev/null +++ b/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/GitRepositoryIdConverter.java @@ -0,0 +1,13 @@ +package io.reflectoring.argumentresolver; + +import org.springframework.core.convert.converter.Converter; +import org.springframework.stereotype.Component; + +@Component +class GitRepositoryIdConverter implements Converter { + + @Override + public GitRepositoryId convert(String source) { + return new GitRepositoryId(Long.parseLong(source)); + } +} diff --git a/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/RepositoryFinder.java b/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/RepositoryFinder.java deleted file mode 100644 index 02d5684..0000000 --- a/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/RepositoryFinder.java +++ /dev/null @@ -1,9 +0,0 @@ -package io.reflectoring.argumentresolver; - -import java.util.Optional; - -public interface RepositoryFinder { - - Optional findBySlug(String slug); - -} diff --git a/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/RepositoryIdConverter.java b/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/RepositoryIdConverter.java deleted file mode 100644 index bc054a9..0000000 --- a/spring-boot/argumentresolver/src/main/java/io/reflectoring/argumentresolver/RepositoryIdConverter.java +++ /dev/null @@ -1,13 +0,0 @@ -package io.reflectoring.argumentresolver; - -import org.springframework.core.convert.converter.Converter; -import org.springframework.stereotype.Component; - -@Component -class RepositoryIdConverter implements Converter { - - @Override - public RepositoryId convert(String source) { - return new RepositoryId(Long.parseLong(source)); - } -} diff --git a/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/RepositoryArgumentResolverTest.java b/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/GitRepositoryArgumentResolverTest.java similarity index 74% rename from spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/RepositoryArgumentResolverTest.java rename to spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/GitRepositoryArgumentResolverTest.java index 74d6fe8..c9d45ea 100644 --- a/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/RepositoryArgumentResolverTest.java +++ b/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/GitRepositoryArgumentResolverTest.java @@ -11,20 +11,20 @@ import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.web.servlet.MockMvc; -@WebMvcTest(controllers = RepositoryArgumentResolverTestController.class) -class RepositoryArgumentResolverTest { +@WebMvcTest(controllers = GitRepositoryArgumentResolverTestController.class) +class GitRepositoryArgumentResolverTest { @Autowired private MockMvc mockMvc; @MockBean - private RepositoryFinder repositoryFinder; + private GitRepositoryFinder gitRepositoryFinder; @Test void resolvesSiteSuccessfully() throws Exception { - given(repositoryFinder.findBySlug("my-repo")) - .willReturn(Optional.of(new Repository(1L, "my-repo"))); + given(gitRepositoryFinder.findBySlug("my-repo")) + .willReturn(Optional.of(new GitRepository(1L, "my-repo"))); mockMvc.perform(get("/my-repo/listContributors")) .andExpect(status().isOk()); @@ -33,7 +33,7 @@ class RepositoryArgumentResolverTest { @Test void notFoundOnUnknownSlug() throws Exception { - given(repositoryFinder.findBySlug("unknownSlug")) + given(gitRepositoryFinder.findBySlug("unknownSlug")) .willReturn(Optional.empty()); mockMvc.perform(get("/unknownSlug/listContributors")) diff --git a/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/RepositoryArgumentResolverTestController.java b/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/GitRepositoryArgumentResolverTestController.java similarity index 71% rename from spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/RepositoryArgumentResolverTestController.java rename to spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/GitRepositoryArgumentResolverTestController.java index 39deda6..5335ba5 100644 --- a/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/RepositoryArgumentResolverTestController.java +++ b/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/GitRepositoryArgumentResolverTestController.java @@ -8,11 +8,11 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping(path = "/{repositorySlug}") -class RepositoryArgumentResolverTestController { +class GitRepositoryArgumentResolverTestController { @GetMapping("/listContributors") - String listContributors(Repository repository) { - assertThat(repository.getId()).isEqualTo(1L); + String listContributors(GitRepository gitRepository) { + assertThat(gitRepository.getId()).isEqualTo(1L); return "test"; } diff --git a/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/RepositoryIdConverterTest.java b/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/GitRepositoryIdConverterTest.java similarity index 81% rename from spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/RepositoryIdConverterTest.java rename to spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/GitRepositoryIdConverterTest.java index 13545ca..d0393bd 100644 --- a/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/RepositoryIdConverterTest.java +++ b/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/GitRepositoryIdConverterTest.java @@ -9,14 +9,14 @@ import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.web.servlet.MockMvc; -@WebMvcTest(controllers = RepositoryIdConverterTestController.class) -class RepositoryIdConverterTest { +@WebMvcTest(controllers = GitRepositoryIdConverterTestController.class) +class GitRepositoryIdConverterTest { @Autowired private MockMvc mockMvc; @MockBean - private RepositoryFinder repositoryFinder; + private GitRepositoryFinder gitRepositoryFinder; @Test void resolvesRepositoryId() throws Exception { diff --git a/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/RepositoryIdConverterTestController.java b/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/GitRepositoryIdConverterTestController.java similarity index 67% rename from spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/RepositoryIdConverterTestController.java rename to spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/GitRepositoryIdConverterTestController.java index fdf7ff8..90783ce 100644 --- a/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/RepositoryIdConverterTestController.java +++ b/spring-boot/argumentresolver/src/test/java/io/reflectoring/argumentresolver/GitRepositoryIdConverterTestController.java @@ -7,11 +7,11 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; @RestController -class RepositoryIdConverterTestController { +class GitRepositoryIdConverterTestController { @GetMapping("/repositories/{repositoryId}") - String getRepository(@PathVariable("repositoryId") RepositoryId repositoryId) { - assertThat(repositoryId).isNotNull(); + String getRepository(@PathVariable("repositoryId") GitRepositoryId gitRepositoryId) { + assertThat(gitRepositoryId).isNotNull(); return "test"; } diff --git a/spring-data/spring-data-jdbc-converter/src/main/java/io/reflectoring/ConverterConfiguration.java b/spring-data/spring-data-jdbc-converter/src/main/java/io/reflectoring/ConverterConfiguration.java index ee07b55..d872fdc 100644 --- a/spring-data/spring-data-jdbc-converter/src/main/java/io/reflectoring/ConverterConfiguration.java +++ b/spring-data/spring-data-jdbc-converter/src/main/java/io/reflectoring/ConverterConfiguration.java @@ -13,6 +13,12 @@ class ConverterConfiguration extends AbstractJdbcConfiguration { @Override public JdbcCustomConversions jdbcCustomConversions() { + System.out.println("HHHHHHHHHHHHHHHHHHHHHHHHAAAAAAAAAAAAAAAAAAAAAAAAAALLLLLLLLLLLLLLLLLLLLLLLLLLLLLOOOOOOOOOOOOOOOOOOO"); + System.out.println("HHHHHHHHHHHHHHHHHHHHHHHHAAAAAAAAAAAAAAAAAAAAAAAAAALLLLLLLLLLLLLLLLLLLLLLLLLLLLLOOOOOOOOOOOOOOOOOOO"); + System.out.println("HHHHHHHHHHHHHHHHHHHHHHHHAAAAAAAAAAAAAAAAAAAAAAAAAALLLLLLLLLLLLLLLLLLLLLLLLLLLLLOOOOOOOOOOOOOOOOOOO"); + System.out.println("HHHHHHHHHHHHHHHHHHHHHHHHAAAAAAAAAAAAAAAAAAAAAAAAAALLLLLLLLLLLLLLLLLLLLLLLLLLLLLOOOOOOOOOOOOOOOOOOO"); + System.out.println("HHHHHHHHHHHHHHHHHHHHHHHHAAAAAAAAAAAAAAAAAAAAAAAAAALLLLLLLLLLLLLLLLLLLLLLLLLLLLLOOOOOOOOOOOOOOOOOOO"); + System.out.println("HHHHHHHHHHHHHHHHHHHHHHHHAAAAAAAAAAAAAAAAAAAAAAAAAALLLLLLLLLLLLLLLLLLLLLLLLLLLLLOOOOOOOOOOOOOOOOOOO"); return new JdbcCustomConversions(Arrays.asList( new UserIdReadingConverter(), new UserIdWritingConverter() diff --git a/spring-data/spring-data-jdbc-converter/src/main/java/io/reflectoring/DemoApplication.java b/spring-data/spring-data-jdbc-converter/src/main/java/io/reflectoring/DemoApplication.java index bcaa6e1..eba414b 100644 --- a/spring-data/spring-data-jdbc-converter/src/main/java/io/reflectoring/DemoApplication.java +++ b/spring-data/spring-data-jdbc-converter/src/main/java/io/reflectoring/DemoApplication.java @@ -5,7 +5,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.data.jdbc.repository.config.EnableJdbcRepositories; @SpringBootApplication -@EnableJdbcRepositories public class DemoApplication { public static void main(String[] args) { diff --git a/spring-data/spring-data-jdbc-converter/src/main/java/io/reflectoring/SpringDataJpaConfiguration.java b/spring-data/spring-data-jdbc-converter/src/main/java/io/reflectoring/SpringDataJpaConfiguration.java new file mode 100644 index 0000000..7febf16 --- /dev/null +++ b/spring-data/spring-data-jdbc-converter/src/main/java/io/reflectoring/SpringDataJpaConfiguration.java @@ -0,0 +1,12 @@ +package io.reflectoring; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.jdbc.repository.config.EnableJdbcRepositories; + +@Configuration +@EnableJdbcRepositories +@ComponentScan +class SpringDataJpaConfiguration { + +}