From 3867574cd78a7fef2a38762fed8d93ac49a0c80b Mon Sep 17 00:00:00 2001 From: Denis Date: Sun, 21 Jul 2019 10:09:49 +0200 Subject: [PATCH 001/199] BAEL-3084 remove xmlunit-2 ref from 'integration-lite-second' profile --- pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/pom.xml b/pom.xml index b888994a43..21a42f89d6 100644 --- a/pom.xml +++ b/pom.xml @@ -1456,7 +1456,6 @@ wicket xml - xmlunit-2 xstream From 80757dce5f875b649f82e2b892229c1937a10633 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 21 Jul 2019 21:29:18 +0530 Subject: [PATCH 002/199] [BAEL-16045] - Fixed article code for https://www.baeldung.com/get-user-in-spring-security --- ...roller5.java => GetUserWithCustomInterfaceController.java} | 4 ++-- ...ler4.java => GetUserWithHTTPServletRequestController.java} | 4 ++-- .../{SecurityController2.java => SecurityController.java} | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) rename spring-security-rest-custom/src/main/java/org/baeldung/web/controller/{SecurityController5.java => GetUserWithCustomInterfaceController.java} (88%) rename spring-security-rest-custom/src/main/java/org/baeldung/web/controller/{SecurityController4.java => GetUserWithHTTPServletRequestController.java} (86%) rename spring-security-rest-custom/src/main/java/org/baeldung/web/controller/{SecurityController2.java => SecurityController.java} (88%) diff --git a/spring-security-rest-custom/src/main/java/org/baeldung/web/controller/SecurityController5.java b/spring-security-rest-custom/src/main/java/org/baeldung/web/controller/GetUserWithCustomInterfaceController.java similarity index 88% rename from spring-security-rest-custom/src/main/java/org/baeldung/web/controller/SecurityController5.java rename to spring-security-rest-custom/src/main/java/org/baeldung/web/controller/GetUserWithCustomInterfaceController.java index e1a0c35cc6..b8521d6663 100644 --- a/spring-security-rest-custom/src/main/java/org/baeldung/web/controller/SecurityController5.java +++ b/spring-security-rest-custom/src/main/java/org/baeldung/web/controller/GetUserWithCustomInterfaceController.java @@ -9,12 +9,12 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; @Controller -public class SecurityController5 { +public class GetUserWithCustomInterfaceController { @Autowired private IAuthenticationFacade authenticationFacade; - public SecurityController5() { + public GetUserWithCustomInterfaceController() { super(); } diff --git a/spring-security-rest-custom/src/main/java/org/baeldung/web/controller/SecurityController4.java b/spring-security-rest-custom/src/main/java/org/baeldung/web/controller/GetUserWithHTTPServletRequestController.java similarity index 86% rename from spring-security-rest-custom/src/main/java/org/baeldung/web/controller/SecurityController4.java rename to spring-security-rest-custom/src/main/java/org/baeldung/web/controller/GetUserWithHTTPServletRequestController.java index 0434cc5fdc..ace5688697 100644 --- a/spring-security-rest-custom/src/main/java/org/baeldung/web/controller/SecurityController4.java +++ b/spring-security-rest-custom/src/main/java/org/baeldung/web/controller/GetUserWithHTTPServletRequestController.java @@ -10,9 +10,9 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; @Controller -public class SecurityController4 { +public class GetUserWithHTTPServletRequestController { - public SecurityController4() { + public GetUserWithHTTPServletRequestController() { super(); } diff --git a/spring-security-rest-custom/src/main/java/org/baeldung/web/controller/SecurityController2.java b/spring-security-rest-custom/src/main/java/org/baeldung/web/controller/SecurityController.java similarity index 88% rename from spring-security-rest-custom/src/main/java/org/baeldung/web/controller/SecurityController2.java rename to spring-security-rest-custom/src/main/java/org/baeldung/web/controller/SecurityController.java index ac02738d0c..7cf57a5275 100644 --- a/spring-security-rest-custom/src/main/java/org/baeldung/web/controller/SecurityController2.java +++ b/spring-security-rest-custom/src/main/java/org/baeldung/web/controller/SecurityController.java @@ -8,9 +8,9 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; @Controller -public class SecurityController2 { +public class SecurityController { - public SecurityController2() { + public SecurityController() { super(); } From 95aab7441bc4ed0aa9b3481b92d36a04988af7ec Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 28 Jul 2019 11:40:22 +0530 Subject: [PATCH 003/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/spring-mvc-tutorial article --- .../config/{AppInitializer.java => MainWebAppInitializer.java} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename spring-mvc-basics/src/main/java/com/baeldung/config/{AppInitializer.java => MainWebAppInitializer.java} (92%) diff --git a/spring-mvc-basics/src/main/java/com/baeldung/config/AppInitializer.java b/spring-mvc-basics/src/main/java/com/baeldung/config/MainWebAppInitializer.java similarity index 92% rename from spring-mvc-basics/src/main/java/com/baeldung/config/AppInitializer.java rename to spring-mvc-basics/src/main/java/com/baeldung/config/MainWebAppInitializer.java index a76d955e4f..0a2368619a 100644 --- a/spring-mvc-basics/src/main/java/com/baeldung/config/AppInitializer.java +++ b/spring-mvc-basics/src/main/java/com/baeldung/config/MainWebAppInitializer.java @@ -9,7 +9,7 @@ import org.springframework.web.context.ContextLoaderListener; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; import org.springframework.web.servlet.DispatcherServlet; -public class AppInitializer implements WebApplicationInitializer { +public class MainWebAppInitializer implements WebApplicationInitializer { @Override public void onStartup(ServletContext container) throws ServletException { From 9b77ae82eeb51bbc2068a80212da9ffcffac40b9 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 28 Jul 2019 11:52:43 +0530 Subject: [PATCH 004/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/java-pairs article --- .../java/com/baeldung/pairs/CustomPair.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 libraries/src/main/java/com/baeldung/pairs/CustomPair.java diff --git a/libraries/src/main/java/com/baeldung/pairs/CustomPair.java b/libraries/src/main/java/com/baeldung/pairs/CustomPair.java new file mode 100644 index 0000000000..bd37977f92 --- /dev/null +++ b/libraries/src/main/java/com/baeldung/pairs/CustomPair.java @@ -0,0 +1,33 @@ +package com.baeldung.pairs; + +public class CustomPair { + + private String key; + private String value; + + public CustomPair(String key, String value) { + super(); + this.key = key; + this.value = value; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public Object[] getPair() { + return new Object[] { this.key, this.value}; + } +} From 12325b9be1808e4d201a73e0a3bc4595cdeeceea Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 28 Jul 2019 16:28:33 +0530 Subject: [PATCH 005/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/java-spring-mockito-mock-mockbean article --- .../test/java/org/baeldung/mockito/MockAnnotationUnitTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing-modules/spring-testing/src/test/java/org/baeldung/mockito/MockAnnotationUnitTest.java b/testing-modules/spring-testing/src/test/java/org/baeldung/mockito/MockAnnotationUnitTest.java index fcc646e8ea..1fa7f241e7 100644 --- a/testing-modules/spring-testing/src/test/java/org/baeldung/mockito/MockAnnotationUnitTest.java +++ b/testing-modules/spring-testing/src/test/java/org/baeldung/mockito/MockAnnotationUnitTest.java @@ -25,7 +25,7 @@ public class MockAnnotationUnitTest { } @Test - public void givenCountMethodOfLocalMockVariableMocked_WhenCountInvoked_ThenMockedValueReturned() { + public void givenCountMethodMocked_WhenCountInvoked_ThenMockedValueReturned() { UserRepository localMockRepository = Mockito.mock(UserRepository.class); Mockito.when(localMockRepository.count()).thenReturn(111L); From 5aa543699b8bc676b43c7fabe57b6dea1db6434c Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 28 Jul 2019 21:26:41 +0530 Subject: [PATCH 006/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/jackson-mapping-dynamic-object article --- .../dynamicobject/{ProductJsonAnySetter.java => Product.java} | 2 +- .../dynamicobject/DynamicObjectDeserializationUnitTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename jackson/src/main/java/com/baeldung/jackson/deserialization/dynamicobject/{ProductJsonAnySetter.java => Product.java} (95%) diff --git a/jackson/src/main/java/com/baeldung/jackson/deserialization/dynamicobject/ProductJsonAnySetter.java b/jackson/src/main/java/com/baeldung/jackson/deserialization/dynamicobject/Product.java similarity index 95% rename from jackson/src/main/java/com/baeldung/jackson/deserialization/dynamicobject/ProductJsonAnySetter.java rename to jackson/src/main/java/com/baeldung/jackson/deserialization/dynamicobject/Product.java index 13c21e37af..9c997886e5 100644 --- a/jackson/src/main/java/com/baeldung/jackson/deserialization/dynamicobject/ProductJsonAnySetter.java +++ b/jackson/src/main/java/com/baeldung/jackson/deserialization/dynamicobject/Product.java @@ -5,7 +5,7 @@ import java.util.Map; import com.fasterxml.jackson.annotation.JsonAnySetter; -public class ProductJsonAnySetter { +public class Product { private String name; private String category; diff --git a/jackson/src/test/java/com/baeldung/jackson/deserialization/dynamicobject/DynamicObjectDeserializationUnitTest.java b/jackson/src/test/java/com/baeldung/jackson/deserialization/dynamicobject/DynamicObjectDeserializationUnitTest.java index d49677c1a2..c9536bc35a 100644 --- a/jackson/src/test/java/com/baeldung/jackson/deserialization/dynamicobject/DynamicObjectDeserializationUnitTest.java +++ b/jackson/src/test/java/com/baeldung/jackson/deserialization/dynamicobject/DynamicObjectDeserializationUnitTest.java @@ -59,7 +59,7 @@ public class DynamicObjectDeserializationUnitTest { String json = readResource("/deserialize-dynamic-object/flat.json"); // when - ProductJsonAnySetter product = objectMapper.readValue(json, ProductJsonAnySetter.class); + Product product = objectMapper.readValue(json, Product.class); // then assertThat(product.getName()).isEqualTo("Pear yPhone 72"); From 1621b33ef1a60b2ead703983865536518b08aa28 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Mon, 29 Jul 2019 00:32:39 +0530 Subject: [PATCH 007/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/spring-http-logging article --- spring-rest/pom.xml | 6 ++++ .../com/baeldung/web/log/app/Application.java | 24 +++++++++++++ .../TaxiFareControllerIntegrationTest.java | 35 +++++++++++++++++++ 3 files changed, 65 insertions(+) create mode 100644 spring-rest/src/test/java/com/baeldung/web/controller/TaxiFareControllerIntegrationTest.java diff --git a/spring-rest/pom.xml b/spring-rest/pom.xml index 670bac9805..46220cac84 100644 --- a/spring-rest/pom.xml +++ b/spring-rest/pom.xml @@ -150,6 +150,11 @@ io.rest-assured rest-assured + + org.apache.httpcomponents + httpclient + ${httpclient.version} + @@ -276,6 +281,7 @@ 2.2.0 3.5.11 3.1.0 + 4.5.2 com.baeldung.sampleapp.config.MainApplication diff --git a/spring-rest/src/main/java/com/baeldung/web/log/app/Application.java b/spring-rest/src/main/java/com/baeldung/web/log/app/Application.java index e9d451b55e..6e2607339c 100644 --- a/spring-rest/src/main/java/com/baeldung/web/log/app/Application.java +++ b/spring-rest/src/main/java/com/baeldung/web/log/app/Application.java @@ -1,9 +1,19 @@ package com.baeldung.web.log.app; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.ServletRegistration; + import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; +import org.springframework.web.context.ContextLoaderListener; +import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; +import org.springframework.web.servlet.DispatcherServlet; + +import com.baeldung.web.log.config.CustomeRequestLoggingFilter; + import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @EnableAutoConfiguration @@ -14,4 +24,18 @@ public class Application extends SpringBootServletInitializer { public static void main(final String[] args) { SpringApplication.run(Application.class, args); } + + @Override + public void onStartup(ServletContext container) throws ServletException { + + AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); + context.setConfigLocation("com.baeldung.web.log"); + container.addListener(new ContextLoaderListener(context)); + + ServletRegistration.Dynamic dispatcher = container.addServlet("dispatcher", new DispatcherServlet(context)); + dispatcher.setLoadOnStartup(1); + dispatcher.addMapping("/"); + + container.addFilter("customRequestLoggingFilter", CustomeRequestLoggingFilter.class).addMappingForServletNames(null, false, "dispatcher"); + } } \ No newline at end of file diff --git a/spring-rest/src/test/java/com/baeldung/web/controller/TaxiFareControllerIntegrationTest.java b/spring-rest/src/test/java/com/baeldung/web/controller/TaxiFareControllerIntegrationTest.java new file mode 100644 index 0000000000..1cc098abf1 --- /dev/null +++ b/spring-rest/src/test/java/com/baeldung/web/controller/TaxiFareControllerIntegrationTest.java @@ -0,0 +1,35 @@ +package com.baeldung.web.controller; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.web.client.TestRestTemplate; +import org.springframework.boot.web.server.LocalServerPort; +import org.springframework.test.context.junit4.SpringRunner; + +import com.baeldung.web.log.app.Application; +import com.baeldung.web.log.data.TaxiRide; + +@RunWith(SpringRunner.class) +@SpringBootTest(classes = { Application.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class TaxiFareControllerIntegrationTest { + + @LocalServerPort + private int port; + + @Test + public void givenRequest_whenFetchTaxiFareRateCard_thanOK() { + + String URL = "http://localhost:" + port + "/spring-rest"; + TestRestTemplate testRestTemplate = new TestRestTemplate(); + TaxiRide taxiRide = new TaxiRide(true, 10l); + String fare = testRestTemplate.postForObject( + URL + "/taxifare/calculate/", + taxiRide, String.class); + + assertThat(fare, equalTo("200")); + } +} \ No newline at end of file From 4492c680a72f75a14a1761af0daebcceaca1f818 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Mon, 29 Jul 2019 00:57:31 +0530 Subject: [PATCH 008/199] [BAEL-16045] - Modified .gitignore, otherwise it is ignoring CustomeRequestLoggingFilter.java file --- .gitignore | 2 +- .../web/log/config/CustomeRequestLoggingFilter.java | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 spring-rest/src/main/java/com/baeldung/web/log/config/CustomeRequestLoggingFilter.java diff --git a/.gitignore b/.gitignore index 2edea19340..305a51b54c 100644 --- a/.gitignore +++ b/.gitignore @@ -29,7 +29,7 @@ out/ .DS_Store # Maven -log/ +log/* target/ # Gradle diff --git a/spring-rest/src/main/java/com/baeldung/web/log/config/CustomeRequestLoggingFilter.java b/spring-rest/src/main/java/com/baeldung/web/log/config/CustomeRequestLoggingFilter.java new file mode 100644 index 0000000000..3accb0a06e --- /dev/null +++ b/spring-rest/src/main/java/com/baeldung/web/log/config/CustomeRequestLoggingFilter.java @@ -0,0 +1,12 @@ +package com.baeldung.web.log.config; + +import org.springframework.web.filter.CommonsRequestLoggingFilter; + +public class CustomeRequestLoggingFilter extends CommonsRequestLoggingFilter { + + public CustomeRequestLoggingFilter() { + super.setIncludeQueryString(true); + super.setIncludePayload(true); + super.setMaxPayloadLength(10000); + } +} From de257ee78ea86f75fca6d49d6101261dd2cef636 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Thu, 1 Aug 2019 23:37:49 +0530 Subject: [PATCH 009/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/httpclient-ssl article --- .../baeldung/client/RestClientLiveManualTest.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/httpclient-simple/src/test/java/com/baeldung/client/RestClientLiveManualTest.java b/httpclient-simple/src/test/java/com/baeldung/client/RestClientLiveManualTest.java index a485641b34..d133bc376c 100644 --- a/httpclient-simple/src/test/java/com/baeldung/client/RestClientLiveManualTest.java +++ b/httpclient-simple/src/test/java/com/baeldung/client/RestClientLiveManualTest.java @@ -6,9 +6,9 @@ import static org.junit.Assert.assertThat; import java.io.IOException; import java.security.GeneralSecurityException; -import java.security.cert.X509Certificate; import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLPeerUnverifiedException; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; @@ -46,7 +46,7 @@ public class RestClientLiveManualTest { // old httpClient will throw UnsupportedOperationException @Ignore @Test - public final void givenAcceptingAllCertificates_whenHttpsUrlIsConsumed_thenOk_1() throws GeneralSecurityException { + public final void givenAcceptingAllCertificates_whenHttpsUrlIsConsumed_thenOk() throws GeneralSecurityException { final HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(); final CloseableHttpClient httpClient = (CloseableHttpClient) requestFactory.getHttpClient(); @@ -92,7 +92,7 @@ public class RestClientLiveManualTest { } @Test - public final void givenAcceptingAllCertificatesUsing4_4_whenHttpsUrlIsConsumedUsingRestTemplate_thenCorrect() throws ClientProtocolException, IOException { + public final void givenAcceptingAllCertificatesUsing4_4_whenUsingRestTemplate_thenCorrect() throws ClientProtocolException, IOException { final CloseableHttpClient httpClient = HttpClients.custom().setSSLHostnameVerifier(new NoopHostnameVerifier()).build(); final HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(); requestFactory.setHttpClient(httpClient); @@ -101,4 +101,12 @@ public class RestClientLiveManualTest { assertThat(response.getStatusCode().value(), equalTo(200)); } + @Test(expected = SSLPeerUnverifiedException.class) + public void whenHttpsUrlIsConsumed_thenException() throws ClientProtocolException, IOException { + CloseableHttpClient httpClient = HttpClients.createDefault(); + String urlOverHttps = "https://localhost:8082/httpclient-simple"; + HttpGet getMethod = new HttpGet(urlOverHttps); + HttpResponse response = httpClient.execute(getMethod); + assertThat(response.getStatusLine().getStatusCode(), equalTo(200)); + } } From 4586025196e151505ef69cd8c9b2f93c1ff80ba8 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Thu, 1 Aug 2019 23:45:15 +0530 Subject: [PATCH 010/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/spring-graphql article --- spring-boot/src/main/java/com/baeldung/graphql/Query.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot/src/main/java/com/baeldung/graphql/Query.java b/spring-boot/src/main/java/com/baeldung/graphql/Query.java index 7bb625798c..6988cdd37f 100644 --- a/spring-boot/src/main/java/com/baeldung/graphql/Query.java +++ b/spring-boot/src/main/java/com/baeldung/graphql/Query.java @@ -11,7 +11,7 @@ public class Query implements GraphQLQueryResolver { this.postDao = postDao; } - public List recentPosts(int count, int offset) { + public List getRecentPosts(int count, int offset) { return postDao.getRecentPosts(count, offset); } } From 01c0a5632cb7670f29d689674b087802c4838139 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sat, 3 Aug 2019 23:14:29 +0530 Subject: [PATCH 011/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/mapstruct article --- .../java/com/baeldung/mapper/EmployeeMapperUnitTest.java | 6 +++--- .../SimpleSourceDestinationMapperIntegrationTest.java | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mapstruct/src/test/java/com/baeldung/mapper/EmployeeMapperUnitTest.java b/mapstruct/src/test/java/com/baeldung/mapper/EmployeeMapperUnitTest.java index 330c12eb13..1a48b341b9 100644 --- a/mapstruct/src/test/java/com/baeldung/mapper/EmployeeMapperUnitTest.java +++ b/mapstruct/src/test/java/com/baeldung/mapper/EmployeeMapperUnitTest.java @@ -46,7 +46,7 @@ public class EmployeeMapperUnitTest { } @Test - public void givenEmployeeDTOwithNestedMappingToEmployee_whenMaps_thenCorrect() { + public void givenEmpDTONestedMappingToEmp_whenMaps_thenCorrect() { EmployeeDTO dto = new EmployeeDTO(); dto.setDivision(new DivisionDTO(1, "Division1")); @@ -102,7 +102,7 @@ public class EmployeeMapperUnitTest { } @Test - public void givenEmployeeWithStartDateMappingToEmployeeDTO_whenMaps_thenCorrect() throws ParseException { + public void givenEmpStartDtMappingToEmpDTO_whenMaps_thenCorrect() throws ParseException { Employee entity = new Employee(); entity.setStartDt(new Date()); @@ -112,7 +112,7 @@ public class EmployeeMapperUnitTest { } @Test - public void givenEmployeeDTOWithStartDateMappingToEmployee_whenMaps_thenCorrect() throws ParseException { + public void givenEmpDTOStartDtMappingToEmp_whenMaps_thenCorrect() throws ParseException { EmployeeDTO dto = new EmployeeDTO(); dto.setEmployeeStartDt("01-04-2016 01:00:00"); diff --git a/mapstruct/src/test/java/com/baeldung/mapper/SimpleSourceDestinationMapperIntegrationTest.java b/mapstruct/src/test/java/com/baeldung/mapper/SimpleSourceDestinationMapperIntegrationTest.java index 31d60c0d7d..78527e70e4 100644 --- a/mapstruct/src/test/java/com/baeldung/mapper/SimpleSourceDestinationMapperIntegrationTest.java +++ b/mapstruct/src/test/java/com/baeldung/mapper/SimpleSourceDestinationMapperIntegrationTest.java @@ -18,7 +18,7 @@ public class SimpleSourceDestinationMapperIntegrationTest { SimpleSourceDestinationMapper simpleSourceDestinationMapper; @Test - public void givenSimpleSourceToSimpleDestination_whenMaps_thenCorrect() { + public void givenSourceToDestination_whenMaps_thenCorrect() { SimpleSource simpleSource = new SimpleSource(); simpleSource.setName("SourceName"); simpleSource.setDescription("SourceDescription"); @@ -30,7 +30,7 @@ public class SimpleSourceDestinationMapperIntegrationTest { } @Test - public void givenSimpleDestinationToSourceDestination_whenMaps_thenCorrect() { + public void givenDestinationToSource_whenMaps_thenCorrect() { SimpleDestination destination = new SimpleDestination(); destination.setName("DestinationName"); destination.setDescription("DestinationDescription"); From eea20faf08f24e201f33bc2667dfe0cf17207bc6 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sat, 3 Aug 2019 23:24:53 +0530 Subject: [PATCH 012/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/spring-boot-configure-data-source-programmatic article --- .../datasources/{DataSourceBean.java => DataSourceConfig.java} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/springbootdatasourceconfig/application/datasources/{DataSourceBean.java => DataSourceConfig.java} (92%) diff --git a/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/springbootdatasourceconfig/application/datasources/DataSourceBean.java b/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/springbootdatasourceconfig/application/datasources/DataSourceConfig.java similarity index 92% rename from persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/springbootdatasourceconfig/application/datasources/DataSourceBean.java rename to persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/springbootdatasourceconfig/application/datasources/DataSourceConfig.java index 9ef9b77aed..52792d3a23 100644 --- a/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/springbootdatasourceconfig/application/datasources/DataSourceBean.java +++ b/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/springbootdatasourceconfig/application/datasources/DataSourceConfig.java @@ -6,7 +6,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration -public class DataSourceBean { +public class DataSourceConfig { @Bean public DataSource getDataSource() { From 68b99216a367f4e71d721653cbb44a93a6503bbf Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sat, 3 Aug 2019 23:31:04 +0530 Subject: [PATCH 013/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/integration-testing-in-spring article --- .../web/controller/GreetControllerIntegrationTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spring-mvc-java/src/test/java/com/baeldung/web/controller/GreetControllerIntegrationTest.java b/spring-mvc-java/src/test/java/com/baeldung/web/controller/GreetControllerIntegrationTest.java index bce5ab0a8c..079ea3e5cd 100644 --- a/spring-mvc-java/src/test/java/com/baeldung/web/controller/GreetControllerIntegrationTest.java +++ b/spring-mvc-java/src/test/java/com/baeldung/web/controller/GreetControllerIntegrationTest.java @@ -40,7 +40,7 @@ public class GreetControllerIntegrationTest { } @Test - public void givenWAC_whenServletContext_thenItProvidesGreetController() { + public void givenWac_whenServletContext_thenItProvidesGreetController() { final ServletContext servletContext = wac.getServletContext(); Assert.assertNotNull(servletContext); Assert.assertTrue(servletContext instanceof MockServletContext); @@ -59,7 +59,7 @@ public class GreetControllerIntegrationTest { } @Test - public void givenGreetURIWithPathVariable_whenMockMVC_thenVerifyResponse() throws Exception { + public void givenGreetURIWithPathVariable_whenMockMVC_thenResponseOK() throws Exception { this.mockMvc.perform(MockMvcRequestBuilders.get("/greetWithPathVariable/John")).andDo(print()).andExpect(MockMvcResultMatchers.status().isOk()).andExpect(MockMvcResultMatchers.content().contentType(CONTENT_TYPE)) .andExpect(MockMvcResultMatchers.jsonPath("$.message").value("Hello World John!!!")); } @@ -71,7 +71,7 @@ public class GreetControllerIntegrationTest { } @Test - public void givenGreetURIWithQueryParameter_whenMockMVC_thenVerifyResponse() throws Exception { + public void givenGreetURIWithQueryParameter_whenMockMVC_thenResponseOK() throws Exception { this.mockMvc.perform(MockMvcRequestBuilders.get("/greetWithQueryVariable").param("name", "John Doe")).andDo(print()).andExpect(MockMvcResultMatchers.status().isOk()).andExpect(MockMvcResultMatchers.content().contentType(CONTENT_TYPE)) .andExpect(MockMvcResultMatchers.jsonPath("$.message").value("Hello World John Doe!!!")); } @@ -83,7 +83,7 @@ public class GreetControllerIntegrationTest { } @Test - public void givenGreetURIWithPostAndFormData_whenMockMVC_thenVerifyResponse() throws Exception { + public void givenGreetURIWithPostAndFormData_whenMockMVC_thenResponseOK() throws Exception { this.mockMvc.perform(MockMvcRequestBuilders.post("/greetWithPostAndFormData").param("id", "1").param("name", "John Doe")).andDo(print()).andExpect(MockMvcResultMatchers.status().isOk()) .andExpect(MockMvcResultMatchers.content().contentType(CONTENT_TYPE)).andExpect(MockMvcResultMatchers.jsonPath("$.message").value("Hello World John Doe!!!")).andExpect(MockMvcResultMatchers.jsonPath("$.id").value(1)); } From d4f1c3bce5b61e9393577507be810272e2dcaa1c Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 4 Aug 2019 11:11:07 +0530 Subject: [PATCH 014/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/injecting-mocks-in-spring article --- .../test/java/com/baeldung/NameServiceTestConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-mockito/src/test/java/com/baeldung/NameServiceTestConfiguration.java b/spring-mockito/src/test/java/com/baeldung/NameServiceTestConfiguration.java index c50377a22a..2c63ff6203 100644 --- a/spring-mockito/src/test/java/com/baeldung/NameServiceTestConfiguration.java +++ b/spring-mockito/src/test/java/com/baeldung/NameServiceTestConfiguration.java @@ -11,7 +11,7 @@ import org.springframework.context.annotation.Profile; public class NameServiceTestConfiguration { @Bean @Primary - public NameService nameServiceTest() { + public NameService nameService() { return Mockito.mock(NameService.class); } } From 6b2e156d8035cb30136d69654cf3e048e4b2465e Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 4 Aug 2019 11:16:42 +0530 Subject: [PATCH 015/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/rest-api-search-language-spring-data-specifications article --- .../main/java/com/baeldung/web/controller/UserController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-rest-query-language/src/main/java/com/baeldung/web/controller/UserController.java b/spring-rest-query-language/src/main/java/com/baeldung/web/controller/UserController.java index 101231c7ab..54e8618b27 100644 --- a/spring-rest-query-language/src/main/java/com/baeldung/web/controller/UserController.java +++ b/spring-rest-query-language/src/main/java/com/baeldung/web/controller/UserController.java @@ -61,7 +61,7 @@ public class UserController { @RequestMapping(method = RequestMethod.GET, value = "/users") @ResponseBody - public List findAll(@RequestParam(value = "search", required = false) String search) { + public List search(@RequestParam(value = "search", required = false) String search) { List params = new ArrayList(); if (search != null) { Pattern pattern = Pattern.compile("(\\w+?)(:|<|>)(\\w+?),"); From 085bd371ed9f7985ee34dbf56a2115f010e0f3f7 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 4 Aug 2019 11:26:40 +0530 Subject: [PATCH 016/199] [BAEL-16045] - Added bean overriding property in application..properties --- spring-mockito/src/main/resources/application.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/spring-mockito/src/main/resources/application.properties b/spring-mockito/src/main/resources/application.properties index e69de29bb2..709574239b 100644 --- a/spring-mockito/src/main/resources/application.properties +++ b/spring-mockito/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.main.allow-bean-definition-overriding=true \ No newline at end of file From ec59a9cecf461cdb16ea4aee3cc96573bdc445d8 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 4 Aug 2019 11:46:31 +0530 Subject: [PATCH 017/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/java-deep-copy article --- .../java/com/baeldung/deepcopy/DeepCopyUnitTest.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core-java-modules/core-java-lang-oop/src/test/java/com/baeldung/deepcopy/DeepCopyUnitTest.java b/core-java-modules/core-java-lang-oop/src/test/java/com/baeldung/deepcopy/DeepCopyUnitTest.java index d6b1cd90b9..d60ab155dc 100644 --- a/core-java-modules/core-java-lang-oop/src/test/java/com/baeldung/deepcopy/DeepCopyUnitTest.java +++ b/core-java-modules/core-java-lang-oop/src/test/java/com/baeldung/deepcopy/DeepCopyUnitTest.java @@ -25,7 +25,7 @@ public class DeepCopyUnitTest { } @Test - public void whenModifyingOriginalObject_thenConstructorCopyShouldNotChange() { + public void whenModifyingOriginalObject_thenCopyShouldNotChange() { Address address = new Address("Downing St 10", "London", "England"); User pm = new User("Prime", "Minister", address); User deepCopy = new User(pm); @@ -125,4 +125,13 @@ public class DeepCopyUnitTest { end = System.currentTimeMillis(); System.out.println("Cloning with Jackson took " + (end - start) + " milliseconds."); } + + @Test + public void whenModifyingOriginalObject_ThenCopyShouldChange() { + Address address = new Address("Downing St 10", "London", "England"); + User pm = new User("Prime", "Minister", address); + User shallowCopy = new User(pm.getFirstName(), pm.getLastName(), pm.getAddress()); + address.setCountry("Great Britain"); + assertThat(shallowCopy.getAddress().getCountry()).isEqualTo(pm.getAddress().getCountry()); + } } From 887eeaf802e0b8728ec9367ad23495303f9a1f38 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 4 Aug 2019 11:55:52 +0530 Subject: [PATCH 018/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/java-generics article --- .../src/main/java/com/baeldung/generics/Generics.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/generics/Generics.java b/core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/generics/Generics.java index 1c4082c58b..b8d4aa3263 100644 --- a/core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/generics/Generics.java +++ b/core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/generics/Generics.java @@ -35,4 +35,11 @@ public class Generics { return list; } + public List genericMethod(List list) { + return list.stream().collect(Collectors.toList()); + } + + public List withErasure(List list) { + return list.stream().collect(Collectors.toList()); + } } \ No newline at end of file From 28c60f19a84ec028896e5cd63b8f5048c4ead9f1 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 4 Aug 2019 17:16:53 +0530 Subject: [PATCH 019/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/spring-bean-annotations article --- spring-boot-mvc/pom.xml | 12 +++++++ .../annotations/PerformanceAspect.java | 32 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 spring-boot-mvc/src/main/java/com/baeldung/annotations/PerformanceAspect.java diff --git a/spring-boot-mvc/pom.xml b/spring-boot-mvc/pom.xml index fee725847f..a414ed7bb2 100644 --- a/spring-boot-mvc/pom.xml +++ b/spring-boot-mvc/pom.xml @@ -89,6 +89,18 @@ provided + + + org.aspectj + aspectjrt + 1.9.1 + + + org.aspectj + aspectjweaver + 1.9.1 + + diff --git a/spring-boot-mvc/src/main/java/com/baeldung/annotations/PerformanceAspect.java b/spring-boot-mvc/src/main/java/com/baeldung/annotations/PerformanceAspect.java new file mode 100644 index 0000000000..534a2ba333 --- /dev/null +++ b/spring-boot-mvc/src/main/java/com/baeldung/annotations/PerformanceAspect.java @@ -0,0 +1,32 @@ +package com.baeldung.annotations; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.stereotype.Component; + +import java.util.concurrent.TimeUnit; +import java.util.logging.Logger; + +@Aspect +@Component +public class PerformanceAspect { + + private static Logger logger = Logger.getLogger(PerformanceAspect.class.getName()); + + @Pointcut("within(@org.springframework.stereotype.Repository *)") + public void repositoryClassMethods() { + } + + @Around("repositoryClassMethods()") + public Object measureMethodExecutionTime(ProceedingJoinPoint pjp) throws Throwable { + long start = System.nanoTime(); + Object retval = pjp.proceed(); + long end = System.nanoTime(); + String methodName = pjp.getSignature().getName(); + logger.info("Execution of " + methodName + " took " + TimeUnit.NANOSECONDS.toMillis(end - start) + " ms"); + return retval; + } + +} From 2d6e5b0156e6e3327b6aaca680ff56747b31fdd6 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Mon, 5 Aug 2019 00:38:32 +0530 Subject: [PATCH 020/199] [BAEL-16045] - Check Article Code Matches GitHub for https://www.baeldung.com/java-pdf-creation article --- .../java/com/baeldung/pdf/PDFSampleMain.java | 77 ++++++++++++++++++ pdf/src/main/resources/Java_logo.png | Bin 0 -> 13960 bytes 2 files changed, 77 insertions(+) create mode 100644 pdf/src/main/java/com/baeldung/pdf/PDFSampleMain.java create mode 100644 pdf/src/main/resources/Java_logo.png diff --git a/pdf/src/main/java/com/baeldung/pdf/PDFSampleMain.java b/pdf/src/main/java/com/baeldung/pdf/PDFSampleMain.java new file mode 100644 index 0000000000..195f49e962 --- /dev/null +++ b/pdf/src/main/java/com/baeldung/pdf/PDFSampleMain.java @@ -0,0 +1,77 @@ +package com.baeldung.pdf; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.net.URISyntaxException; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +import com.itextpdf.text.BadElementException; +import com.itextpdf.text.BaseColor; +import com.itextpdf.text.Document; +import com.itextpdf.text.Element; +import com.itextpdf.text.Image; +import com.itextpdf.text.Phrase; +import com.itextpdf.text.pdf.PdfPCell; +import com.itextpdf.text.pdf.PdfPTable; +import com.itextpdf.text.pdf.PdfWriter; + +public class PDFSampleMain { + + public static void main(String[] args) { + + try { + + Document document = new Document(); + PdfWriter.getInstance(document, new FileOutputStream("iTextTable.pdf")); + + document.open(); + + PdfPTable table = new PdfPTable(3); + addTableHeader(table); + addRows(table); + addCustomRows(table); + + document.add(table); + document.close(); + + } catch (Exception e) { + e.printStackTrace(); + } + } + + private static void addTableHeader(PdfPTable table) { + Stream.of("column header 1", "column header 2", "column header 3") + .forEach(columnTitle -> { + PdfPCell header = new PdfPCell(); + header.setBackgroundColor(BaseColor.LIGHT_GRAY); + header.setBorderWidth(2); + header.setPhrase(new Phrase(columnTitle)); + table.addCell(header); + }); + } + + private static void addRows(PdfPTable table) { + table.addCell("row 1, col 1"); + table.addCell("row 1, col 2"); + table.addCell("row 1, col 3"); + } + + private static void addCustomRows(PdfPTable table) throws URISyntaxException, BadElementException, IOException { + Path path = Paths.get(ClassLoader.getSystemResource("Java_logo.png").toURI()); + Image img = Image.getInstance(path.toAbsolutePath().toString()); + img.scalePercent(10); + + PdfPCell imageCell = new PdfPCell(img); + table.addCell(imageCell); + + PdfPCell horizontalAlignCell = new PdfPCell(new Phrase("row 2, col 2")); + horizontalAlignCell.setHorizontalAlignment(Element.ALIGN_CENTER); + table.addCell(horizontalAlignCell); + + PdfPCell verticalAlignCell = new PdfPCell(new Phrase("row 2, col 3")); + verticalAlignCell.setVerticalAlignment(Element.ALIGN_BOTTOM); + table.addCell(verticalAlignCell); + } +} diff --git a/pdf/src/main/resources/Java_logo.png b/pdf/src/main/resources/Java_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..383327b2036404570dae04d6ed37084384d1d0e3 GIT binary patch literal 13960 zcmcJ01z20#wr;3UC=@GFXn{g-E$*;!2~xaxaYAqiPU)r;ml8s7C=#@R0tqffOVQ%) zQlPj?fk*e=-#ho+ea=4joO|BLmwfq`j45l(ImZ0gnAhXi^8g|h1!V;Q78Vvj>E;8t zo&v}MZr}PTKYwrE$Q|rEKLrOH`z|&v&i(tiIJmg?@d@$o;}PKD;yxgLKtM=DL`-xa zpX4D4(ZienL_d{a{k-$`9h{pRiSTgoZjSzoa{UQFjDvLt>&|T~V!$n8tlPv`*KGjm z->Q21roLE!Kjbd6@7WqwyZm@-20YPmG_i~D$J-O>i0RGL5w}@{O1Ec^)ssMmerrm`x zfCK=*uKo{zpZ!1|khA6T^BGgk|L?&~ow_G8t^rSPbKCp-_!~CL(x(o zbJk=>X}$~AJ7{m;%RdzPY0oYHp=hru{_B>d{!lfbQ*`y)vp*Cy6z=T*q3Cq(%bI6d z@%l8tirU>h=?^`o!zX6|%HQ<(J1-xKy%;&%2JjNp)b#wJ=eHK%|4k3pQvg8!-TGtk zU&uZIu;u;(;Ai)n%H}%k0rUX?N}~Tg001Db0e8ZWV=VyB6b!@y{r;+Gs4ZzIJaYC@7fTj$)>Y`zF6Bw(VFnG2#JHROVbe4+Xv- z0|0OzZqY(s-}(gr`0oI4BMchofD!;M0C3y*p92ESe5rj}vVtjD!n#@~SRyyv^Pz;R z5fs9w>}|==-y^d?RT`FtKAxM^ zhRmY8xbJwD{v1i|VS}yz+4lZE5^m-RvSm?)exkcB0Iayb02-N-xB`gyb`8{>_M}HR z{EuTLHwxf!uWaXqb&Bslb59)rvUPPVkyJ;cK0L{1&Q@BJUz-&`wKN_wRuZ(!iieBH zrMlqLSnytYC;AnnWd3UNokyjagQ=BeypazXrAhfqs5vdQLKe?QEB3Ua`g@EW3lt{dU`03a-sr`VvL2ZdI*|rV1OfV&%9~AyJ^Wq|l!JLG#Q<4*#rvvczp;d1 z6e^@*uz;fL!RIpTK|Ae2;wvG-qXcyfjm0i$aotpuUQw`KUvRAE$|mZ~etHYwT1}I28E{^O)FZIS!G#u00l74dWuS{p3iq$aN*PeLPbfWfyWbEUl zY~_+FUA~!iw~7*cF)VC2U{yZ#t1@Hu037^9MXlYgnzrn4@gL8`|3gRSiaeWpn^9vV z0JjY1akp#HvfjN@#5zJ@m~i^sB!5{(il~jwTqEtcs)pi8YJAB7^jkJ^b1=5)rlS|< zWJKv(y{g_q*B(NACg6iSx&my4A+JM$-}AMIO!ER(Ef5X1f1{Wo!>}39FrWrqSdNN^HDAIqX>Bk8ZbhopkhG9 z8c?6c_;OYiEtrZ@SXhCaiJXl0Fz0tn%3sA1KS$9&bx@RJMBN~t*6io;TCvq(kB7j= zJnr`Fe&QvKM$M_F=}Wzw_?D4|6hsByOb{(_a4{LK@~eX#KAsZp5^En<*2eADDIbm7 zS%}>TJ@{xer`72flu_X9(!dXjZ50!DeRo`fO;LgXK}TY3r3k;%BOvu$0`8;NSG%j#{hR;1O5a6ccT6lu>k(}kvC;Nu5gDg6_?Ywxe#;k;m)yPNT7yrg2K9;n1{3s_@FK&uqDNeQG9aru2!$H%riA%IidEn-xZMdQYp zk0n04mH+heh7YiR4+H-tZ~s4tWPkI=H=+AoAA-1wHmsYd$m*BB53ok?1wTT=t9Z*B z*eS8|nae|5Ewd&ynkewomUH8vD9S73A=#!g0d(m*X(GDnD97DRH$5v@?}FyaP_y6? zaiXA+Q*QQ9`3?1E>ukbQOF+@n7$}p<%RJ8Hiw-awU6&V26Zv3}lBhs@N?Y z!I;S7b3n0S4`Gpvt{ZdT{~GzWy{FAIAVh9a9^a|o;aF@_5O$JjwLU0l@+~Q<9@GZ4 z)Z^NYm83a*btjhbten#Qq2~#=iU3;e%D_V^Ui`9R=xihgO{5p1OuGD}%YY~`*;NGo zHupSspZ7dMO*B47K-j_VNPa85k=aoU5{y)bC{*Y9uDI(*w0}4G5HpP);9qW`J(rd9 zNey5EyD~0BDQeuND|0B(oxvF~VUFOF#N}v+7;VixdhSO{dRz*$=MDP{$9&_me@ZFc zprH3__SXRXuzvugTIqSS5|lnsD_2n%iPl{Bd(A+JK)zT@QY#GML02_zqyjp$OpqsK zeqG2>tEVNL%+^L@oQVF(Sbfb(7yr-BDK1R|^=^i00loSITyL41x5q*bG8rnuq3_`> z>MK0BuLwlojoslJS~|LP0_v`XWWw7vC3To$OHhK5|Rd%R3 zE+0K(K}4Q%?|Fwz&wj20*w;b5JZQeMvE@UB$Iiw%KG&Pn#bcl~UEJLC^bnbYBRWQD zvcUEpbK+sQ#;>(|$-WG2YQCpx+%}W&{4wTy*m*qpA&>9uNbif*B6c&OLlLT5WaGkm z3$xL_oOT>L5|J@Ed+qex({x43>c-3H4Y?WNYI*qv-w6zFiRBXl+tz#B2!jbf6zHjP zm=){ib8O;NN(Fm8HcIcJp{W3}iAw7x|%*(@d|uSeT?E-chFuzPmAI&9ia7 zwFyEZRSk;4zQSm?f&_u}eYrlyXCRQPyOM$)#sbMD4o|u9m;J(<(Nyt<9h@iBZYcG~ zj0|=C*^@7DzB`;h-)caUg!>3Z9vjGh2@xp9sCbc%2Fmc#C4&7P%a_Bgxp=2ms$1*J z5|*a)G-GiZ#81+}joqn@kdy>DQ{5r6yG2RO-JtyF*GU~kbar;Nqq;?Uuq`0lP`&Z9 zD1E|qdv>w!-prig$h^5Y)sAOria2lTKUSx~J<+puk~S6CJxs<;ltwUiHG(#QJUB4d zV}e6(ae`0TBV1!6nZ}aq!?G291()dsjXjD2CE~i~kLysHbT#n?X#m!egv1W74(M{e z|Fh4#8P)%Y7r`1;1-b~ioo(?UCKVmiUndI>Qt5EmtBqSQB;XNsi?UDZ@Rqo`esb4p zu{+18_15~g*g{A+_mLX5oAWvFQI za1sy`A00=Mby$7cd%R1B zSC)V#QTg}v_ON>z&RO6p~apm=F)bh~D_z)O+8gbY5OicP0t&EiMvO6XohXNKC%@07O_x`=S z&Fj8J%zUW1svLk5Oh6Ysvna-NR`#Q8JQADwS3~nUaEV6~e`Q5#oAfhlZc`tY3NHva zpKs*-`>YjLYC0~si4iZuX>xL$cAKp^+TPeyD<9+sJ53T!xA#1T+UrhdU){@0!t2W8 zNo*w+c2|u)_u0ciw$Ku<|X4RSsPp5k0DPAyZvB8)gv|J@NeOwanspHI}!jY z`1Jq(u%X8nvo8Kc7hNNusfq05vY-c5?D5t|}0(Fmk%s*I6BL zO3(hN9Xx+rvYI`X#l^AcK=U!FV(i`YDAyh*I-_4za!{>VB`t>&8KHwv=ePza7D29lND2qQ$& zip$SWjLUq`=`#L80f{TnSQY7*MPH5!P4|)1d9ko5V6gl+#xC8Hg0x0|ujI zi*)@-pqrHFj}9_TH43Kq&8X;wVaa{8zAtb22WF@HP%zzQ+uemqS7Mbm#}jkJut@R8 z==SFk4GEMO-VRokNEDkNg+gu9ZES>nOR=7gxjtllNPe-;!bxSS0EAK{L30!(FbV*< z_C>?6Q+#<_QXo41@sZA~75ih~9#%d2H7G<}K>kr%ZdHqns*%WyBUCXMpwKdL^gm>{chG1J-!dO7^jC{X@Ex!)Ycp$PX+R;Nvb z_umLje`mB90DnPl5Vm!EHYoOanlzDW#A0E|8Nm=ARjbREV3#dfuIWi>OG#d(`=O|4 zn6VeO&a;hTnH}_S0`^6&iOxARq?1cZe4}@ez$B@Z^%aIj+hsr2_?4whR|6$KIwUbI z&FHQMLOHOU_+ZcGj85jnYEK>7QhoLl=XS!i7m+Wm*kk3&5u&kHT!{!wN(}KSOKegH zHUH=YFSDOYjSNTbnE@rP-s&GmS!LU@^6n;c6xWJ1seVkn;6BqIUcbEGehuIcOui({ zin{9@@ob&i&Pt8KNnE@5$2(z=*uvKnI_|qiA|E2dHRjUv{mvibac^#>sFETL@ji!` zv*hubKZRHHo91XHdbzZqGR-fFxEqp(eIyI6&dayWv=I(f6;~_Ek+MVMHN!`3-}sw| zRMEDVqn)uQVUV<~uu(%T%}|Sxvv|FU#{@Z*#qbN$$j(j1j0%!SS~~lF13U8h1-j?p zP`hCyl6gX#j}PfDuh-BHDk?$Q7W;KuME7+(>3+l_bYZl7F}uAiH~J|nKtSxQX1!J{yAE-6?1qn! zXR3f5uV_&kb2L7HWj_kBOO^2tlhZ5JT697hhzJdSN#SQTlGe^4BdsNG1^oq*|HfLryUN)wBK-@(r~`5!Z3zn{5{JUI$^usFfK>f2ey?q*_}OT4D4$}6S#kk_uj zCV(|=5owatkZvQWj+cPq`gmm0ZP4rBH*980HVWZz7ML|$yqA5{sdwCg3>9xKm*Zbrsq}R`0Ga%&$<>jMR zf(04{seR1q4~koRv{wTm`!O6D8L_>TWqrbOiL*X@ryUCkE?>h1=m+K7lF3{RUVHRh zDuua)Xtdil;(DT8Gu&F}E*y`UZ0RrGpExqhwgb!Kzre;+wcT^f1=xa5G=?TJ8o{o-ak2C z*|dZHJTbL-6Mo77OJ-L!IpJdIg$a4lf+UN9B!<#da5L3epkyO)sCj>?mup`l4yXTY zi)08-xCMK^u!)@yxyE0+6@JP$@~a zR=Ea_h`xHaPU}NeK@mrUnq7UOa1GGa%K-(A*GCG(7`M7yGODCFM^66eQ=zA4BYqwx z6CYBIg{Z0ur>jc>8$+`U;|Tea`8Z@?R`#HnWS9m8O5RW}xicn5u&V=g0S7xrIDcwx zY(j>1@S#`v2arwe@uFG4^yk-zlQ>J>X^oxnr6kg>wh<<9RA?zISSoM3D0aATCQG_f1 z#vc;L+6hdk4K}N7qR)-d`n05}K8%J?N|xA)YMGJFsrM`S zCmN2h=?qnK$oOGH&)iBubB21mc`fTPzpbpOIp3UMoiD4VZ4}QJ`@OC_j&XA(n>mTx$bIh;hZPp8j$@XCJ^~T@w~f#Es*(R zYxB$-da>3}lfXNCT|Z!wA5alZGd`t-?W;X>uP(k^;!j@#9;njlsHO=NMTE7XlxzHE z&^yXr1Zyk!hGriVeMPO)K89WGHLhA)?5@^?D0LCg1d^Aus1h?Z7EwO`A{>8`rXP67 zW1Hd9zFjD}v*FLV5KAp-CTqT}HQbBH$yQTp*T`VgJ&XAa2TDVr?l{+gfX`Ze+9ih= zOj=VTN-d50V=LF}0B>!9|x(FND3 zO2YDSorfGUA$**>N`nO@du%1SOBhHw&!$m?i%_o(_pPy_o^kmiS3Gt{`(!nPYk-cm zt&FUanRX;!VLBf%#f#RO7KnjS(U@d6V(qYzvn1Ho$l}ns#01X_tT>w}GatWhlPgd1 z>Cdad{}=;G%VDKc{xa>w87aRqRCAdzFhx;VCtV7Pc1dT^IT^I2n1V2xXNI|sZ_>U< zl@Ur?w0`%jv^rbzxaVtQ>qbFpMO|%*3WXEl8#hxw&AWbJ2(FNryg&yV=c$7&g{t)< zy7I*ow7!uLOzgbu819$}3`; zLU!IIlC_131dninXy~Odt+AU{c7)E#9h~9AJPC!L|Kc9>1b~|oYU<_G@Jh7U8&yEAy;kYzUk?R!zWb~ z6$J%xEhSuCm77%9TDddbbw2gwJeH=F`B;J;;$Exrb0IGhE5kmx52iJwV?K+)W7Evv zGMQ-)3~<==scg`&8SHcJo{!x)T3)Df#>V7=HFGON;4an7s^>8~<#aLD% z4Riv`hBjQik~1!>*)(%&uK^`ZSlrFN6H|71t3qdf4fKew7fy#?1N?3%d1p+_YN>xpNIbzm;j?r7kPgquET^ zu~kK_Ys^Ljbhe0i9TP7BJv)>}tw*A{?XCgmF)M){Rl13hqNcQVCxfv;QnbCjbJu{c zK7?0k{TDeqlR|+T-R+r@eHGUL6{)Vqx2a+;IoM4^FqRBpUjAe)(}Cv)*MNy9CP%|n z!-k+gU0&2wQdc-w>F($D0_r$ry05v?cK$DicR`OH!AFKoASEp7hp-Jt0q zH-70a-rW7ed|?1Xn~m3MxCX| zgPtp!P9kI^9r8jwXQV>QHWkl-@0szWp=_!;r(L2#o7?oy;FvEW`7b#8KePFN6~28f zwWBy*ojVm5TFp}Gp^e;DEUI~Y4d7}zW84>e8zc>LftD3%evNq0%6CJNz9?Uy4GJ~S z@liBfjYK!`UIU7FDH1~xx(o_Fq;n@LXjo*ybA^+z*(TVKskyp1=XGqNkR=4%H2fe_ zlR0=_Gs#t$ts)3Xah5T6w|Gyu`-(`6ameBtAXMQL(G)MFjq! z4eT8oT`1kHNGeIi@vCXP%XYu-v)BVZ$4B22I~d+=bA$6mV4d~&Dh7)l+@9LLlK5k1 zsq~9yx@?KAT6xFrOBk=ik^}jGYQ>4iVUY+~!!I0*j1TojD{0<<@5?{8Qc+%FsrUvw zpye)O^L)S-zBTXGRYP+kB$K;YBrPmZ6c65-K4vnkNnJ1ZTCk<(WQ5yuhGfyJldW0| z!mHmB6UQYp^b}b6RK!fNPkMcI&;R<;CJN;T-_8O14!IfTQ+o_~sVKk(>!n{`lCE9Fov<(k-V`R#E zBx~$bS+gr@=FzG5*Hp3uYNaT1X9pz_$(Td+shRD!22oDysxg?4(4f=cdUG%?q z6ODEO0OBMEj;jGTl*5A?a3i~sHx|*K42HXqzG0I9Ax(6wv zDOz^^aWkbaCw6Yr;4CY?!9)Yu;+ku&0X=2bEmC(0S{3$Vuk7ls7;i!bo3u~cOV--@ z-*^zv^<23Y#_%>lrbnAqrne_9jx5e zoTia#sEt=!*!V&~$%H!2E16$@DYWCSBF0u2LZ$PuM8!&o+l#T83qpattBm93`e9}@~g4!WW1RJa|i z^OHBk75Lq0Owx)JCyGJo`423Mc5VG!c0MBQw>3Q@s6W^h3y_8lCzHQ=`)VmOMWfSj zZ-WLgmQnQ?{4GPN%(29-L@lZZ9-G5` z8BA~4e`GUrjjie>Fb_6jx2@#k9;NZd0Pj}9(E+flLhtn27MiaK3AK^35}z50Xbgzp zlve_|?=okz$sy;BA(QSK{OVdCFF;Q)l}p0k$1_U5&;-syZFKE+I`qlWR4MW3!)9A` zB#EnbefA;gCP^Z)K5_wl_?c}y;$yci7_xKC&i0hd2mfOt91w_5%%qONveS*G;GylRfcXNOjXS zcD0YIJW*q@4`74ZE=3_JV~ATmETVM==8WL@-KPF$rfQyci9w1QF4NUwlu+VwF*Wm- zK}jLatw#eNRxysb@1^5fuf18QA?hrs3*3{cA3)kKCFEdXA$WTRR!a-p@BjV z^s(LHLfh&G927^3kDDFhbA6RIQ;HNGfxYM=8tiBV+XZT#hezG|P-J*uCM%H7p~sKn zyH%_PUVoZ<0fm?WGusx5{+#3n!2LbB@b_%Te=kXqP;~b&;==m4az`=z8bB(Wz-~Hn zU*Y8sGdBtC&bc$6Yrq%oxG4v+d=zNcr(EHJm1!af3UUQyktmNOC$IK!B!LFI9_;c5 zvXr^^3TZ}+)Nlt0E1c}ErS^RLY|UlgFGQLv>az8@{;haHLUP=z@ND`*oeIj)h8DIR zn)u8djN#GVrb1hH+Pmk`bR_hfcNAHuo&y`sE1C(tgM$0poh!?`P6bo9ZeCemOaDIhNx;x3Ic7H|*PNZ}bLJsbXsboX35Bpu|i^ zu29nczN^6`p)D00H2Ya;5T zsou~t>Qe`ki)0Sw{%Y4lHtYze*pdQD?~4ViG>U1hW?v*Vt@=sk`AvNHVmA&NFukKv zD^=MT?!j}zI1BA?bW1I2fjT{`yQpNKnd&Y2h-m|znyOa%%i+}v)Ar@e@a}3^vxcN< z1IPn8s=SJ|!;}TaPH_#F3Xd4J{D_p*jlyGGam9!E=G1joC-kAPea=~zVpjPBmd~?@ zl&$$h&?&XY>lQ-%$a$lWBWltU?+poVmax%9feKEYdJa_SaXq`BcRTTP9RBrQz z$aJl1wcA6aPL#j@D4TXozXntVyIBt+&7vGYyAfgTn+)Hh3Sg_;4KmKfLf*}7mi{@k zMl%C-%ZB^94*6Ob-9&mg%y^3w(d+5_U5s<{EcgOCqCU0GBg#4$TZAd*yar%NBnA?4 z&BYa*L9PK*IXB;HK!up{&+J``PvElOvv~i5*|+zSliaTX4qM-@0kEuVfWZGdK%O)z z3MgeS&AU(-t71T)^|*Q%KNP06LQ85xG)9)?P6YNjfhFqd~Q?)yiXzuHpRCzvaUpU2Ain0_X# zZ7XK?Q*m7S5muAuLM zNI`p-$9gn*x@bbSzBnO6^_g*T4Pw1XrYR1=C|qbOOyv;* z#+u$4gQWBt4d7)Hs?LvKe3k?K0Y%!G+rdf9Ri zX!m2d8%JmDBE?R1;3^+ColjZSk&*Y%#?+*bkl+#_O$THSQm!>9)l$g~>^Bw!GVyrJ zPTo;W*)yLCv40X{A)?KU@vnaI~m zv4bWO;<;NhJ1TK}$bb@3@*>)54~%ILi$b^|?ne=X+QV&*7u{0Y$NGU%U=XFi`qQC%RAoLHAE=wN(33Le>o z>b37mr>!>z5NIk$b80O1O6r4Br>sbAICI_@SzqKC%A4#%$t{W+d&`^gmJaa@14FQN z!PS@!aqzafP;F*O;QJL2R!z~^2MzhD!htZix*+qzm1BV_(VTVH=O*Wl*2M;|#kcC( zL(^uKyY%ncnwtc>7I;^sX&*Vn4^pP%NA=3tu8KikKGcO5pmRQcYOOJ^LQt?h%4KBR z*HUZea+>j2Uo!+^3OICNei1=~cK0x8bitR+Jv-$_jJg?7Z-SFmGF+lN<24yoKSUJv zD5gb)UCJqNhN@igtV&P`Dl!{P#ym$Em~?36YjQ?rm83VQE~UnP@*SG!{tTZ?wH1cT zcP;ObYGsWJ-1G*F&!NCdUey99^**}%lf7msRe~Ydk?SloVTuEEA7vXllxDBy4)wK* zpR3vVy7LsB5h%JIe1-dQY=N}BxFTN9+B1d{W^Qw?IuYqm9HGM7mq4Z-D%(Tns>*04 zrF<{9k!he)JiDK@MNj{^`}^5Cq4vY|cFB7$kls%g@a`l4V~m`s`=lm;SPgEZ=!a?1$wChAG*n&YOCFfeUbspdl3 zT~N@~7DejtM0-zjh4igVN;E^fG*hS+$B}ZlI9rz|e;S*FkuO~Gd4*buLmTVNq7P=>|M9++ClYV(Hr9(Z)QvHX-hZALJ@S~xb)>`iK3Nh1t}W@F zC!}f9L%#<}IUW`nrhv?woryL-OY<8YN!|pu03dC@f2|z)q7+GFJA9e z5qn?dxHjU!{cw={kqsqcVPOj7$Pbetf@Lu>=+JZ1dERgg;-w;8xoNpa4#__kI)wQo zzx;U*#J{mSg0LIKe_;<^9b6>Uxk(NKa+5rRm_)5mst~4A`CD(N0r3)-iEsVSn_k~iOg?{2W4i$u{aW|>K84FI)stgWvV)B) z0PfGDKA8o#jbyd~EGD0D`Q|3P_4|uY0Sq@su~uKbf8dB$4ao8WF!TpnFPKS|&I96Z Vj^4XbD1iRAi@A$ejdeZoe*iJj$MOIG literal 0 HcmV?d00001 From ae2b60ff8080769fc76bba439345e37c7c7604dd Mon Sep 17 00:00:00 2001 From: caroline Date: Wed, 14 Aug 2019 09:35:46 +0200 Subject: [PATCH 021/199] Example added for BAEL-3083 --- .../findastring/FindAStringInGivenList.java | 79 ++++++++++++++++ .../FindAStringInListUnitTest.java | 93 +++++++++++++++++++ 2 files changed, 172 insertions(+) create mode 100644 core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java create mode 100644 core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findastring/FindAStringInListUnitTest.java diff --git a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java new file mode 100644 index 0000000000..c63a50e084 --- /dev/null +++ b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java @@ -0,0 +1,79 @@ +package com.baeldung.findastring; + +import com.google.common.base.Predicates; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.IterableUtils; +import org.apache.commons.collections4.IteratorUtils; +import org.apache.commons.collections4.PredicateUtils; +import org.apache.commons.lang3.StringUtils; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +public class FindAStringInGivenList { + + + public List findUsingLoopWithRegex(String search, List list) { + + List matches = new ArrayList(); + + String pattern = ".*\\b"+search+"\\b.*"; + Pattern p = Pattern.compile(pattern); + + for(String str: list) { + if (p.matcher(str).matches()) { + matches.add(str); + } + } + + return matches; + } + + + public List findUsingLoop(String search, List list) { + + List matches = new ArrayList(); + + for(String str: list) { + if (search != null && str.contains(search)) { + matches.add(str); + } + } + + return matches; + } + + public List findUsingStream(String search, List list) { + + List matchingElements = + list.stream() + .filter(str -> search != null) + .filter(str -> str.trim().contains(search)) + .collect(Collectors.toList()); + + return matchingElements; + } + + public List findUsingGuava(String search, List list) { + if (search == null) return Lists.newArrayList(); + + Iterable result = Iterables.filter(Iterables.filter(list,Predicates.notNull()), Predicates.containsPattern(search)); + + return Lists.newArrayList(result.iterator()); + } + + public List findUsingApacheCommon(String search, List list) { + CollectionUtils.filter(list, PredicateUtils.notNullPredicate()); + Iterable result = IterableUtils.filteredIterable(list, new org.apache.commons.collections4.Predicate() { + public boolean evaluate(String listElement) { + return search != null && StringUtils.isNotEmpty(listElement) ? listElement.contains(search) : false; + } + }); + + return IteratorUtils.toList(result.iterator()); + } + +} \ No newline at end of file diff --git a/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findastring/FindAStringInListUnitTest.java b/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findastring/FindAStringInListUnitTest.java new file mode 100644 index 0000000000..bc2fbb0000 --- /dev/null +++ b/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findastring/FindAStringInListUnitTest.java @@ -0,0 +1,93 @@ +package com.baeldung.findastring; + +import java.util.ArrayList; +import java.util.List; +import static org.junit.jupiter.api.Assertions.assertEquals; +import org.junit.Test; +public class FindAStringInListUnitTest { + + private static List list = new ArrayList<>(); + + static { + list.add("Jack and Jill"); + list.add("James and Sarah"); + list.add("Sam and Louise"); + list.add("Jack"); + list.add(null); + list.add(""); + } + + private static FindAStringInGivenList findAStringInGivenList = new FindAStringInGivenList(); + + @Test + public void givenAString_whenFoundUsingLoopWithRegex_thenReturnList() { + List matchingElements = findAStringInGivenList.findUsingLoopWithRegex("Jack", list); + assertEquals(2, matchingElements.size()); + assertEquals("Jack and Jill", matchingElements.get(0)); + assertEquals("Jack", matchingElements.get(1)); + } + + @Test + public void givenAString_whenNullFoundUsingLoopWithRegex_thenReturnEmptyList(){ + List matchingElements = findAStringInGivenList.findUsingLoopWithRegex(null, list); + assertEquals(0, matchingElements.size()); + } + + @Test + public void givenAString_whenFoundUsingLoop_thenReturnList() { + List matchingElements = findAStringInGivenList.findUsingLoop("Jack", list); + assertEquals(2, matchingElements.size()); + assertEquals("Jack and Jill", matchingElements.get(0)); + assertEquals("Jack", matchingElements.get(1)); + } + + @Test + public void givenAString_whenNullFoundUsingLoop_thenReturnEmptyList(){ + List matchingElements = findAStringInGivenList.findUsingLoop(null, list); + assertEquals(0, matchingElements.size()); + } + + + @Test + public void givenAString_whenFoundUsingStream_thenReturnList(){ + List matchingElements = findAStringInGivenList.findUsingStream("Jack", list); + assertEquals(2, matchingElements.size()); + assertEquals("Jack and Jill", matchingElements.get(0)); + assertEquals("Jack", matchingElements.get(1)); + } + + @Test + public void givenAString_whenNullFoundUsingStream_thenReturnEmptyList(){ + List matchingElements = findAStringInGivenList.findUsingStream(null, list); + assertEquals(0, matchingElements.size()); + } + + @Test + public void givenAString_whenFoundUsingApacheCommons_thenReturnList(){ + List matchingElements = findAStringInGivenList.findUsingApacheCommon("Jack", list); + assertEquals(2, matchingElements.size()); + assertEquals("Jack and Jill", matchingElements.get(0)); + assertEquals("Jack", matchingElements.get(1)); + } + + @Test + public void givenAString_whenNullFoundUsingApacheCommons_thenReturnEmptyList(){ + List matchingElements = findAStringInGivenList.findUsingApacheCommon(null, list); + assertEquals(0, matchingElements.size()); + } + + @Test + public void givenAString_whenFoundUsingGuava_thenReturnList(){ + List matchingElements = findAStringInGivenList.findUsingGuava("Jack", list); + assertEquals(2, matchingElements.size()); + assertEquals("Jack and Jill", matchingElements.get(0)); + assertEquals("Jack", matchingElements.get(1)); + } + + @Test + public void givenAString_whenNullFoundUsingGuava_thenReturnEmptyList(){ + List matchingElements = findAStringInGivenList.findUsingGuava(null, list); + assertEquals(0, matchingElements.size()); + } + +} From 7a77f060bebbbe9f2e953d1d1f371866bff1246c Mon Sep 17 00:00:00 2001 From: caroline Date: Fri, 30 Aug 2019 16:07:18 +0200 Subject: [PATCH 022/199] Small change for BAEL-3083 --- .../java/com/baeldung/findastring/FindAStringInGivenList.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java index c63a50e084..2b7c9feb11 100644 --- a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java +++ b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java @@ -58,7 +58,9 @@ public class FindAStringInGivenList { } public List findUsingGuava(String search, List list) { - if (search == null) return Lists.newArrayList(); + if (search == null) { + return Lists.newArrayList(); + } Iterable result = Iterables.filter(Iterables.filter(list,Predicates.notNull()), Predicates.containsPattern(search)); From 9fd2fb32cacd1562a2931f4e47bc94ca846222a6 Mon Sep 17 00:00:00 2001 From: Denis Date: Sat, 31 Aug 2019 15:39:30 +0200 Subject: [PATCH 023/199] extract spring-scheduling module --- spring-all/README.md | 3 -- spring-scheduling/README.md | 5 +++ spring-scheduling/pom.xml | 36 +++++++++++++++++++ .../scheduling/ScheduledFixedRateExample.java | 0 .../SpringSchedulingFixedRateConfig.java | 0 .../org/baeldung/async/AsyncComponent.java | 0 .../async/CustomAsyncExceptionHandler.java | 0 .../async/config/SpringAsyncConfig.java | 0 .../ScheduledAnnotationExample.java | 0 .../scheduling/SchedulingWithXmlConfig.java | 0 .../scheduling/SpringSchedulingConfig.java | 0 .../org/baeldung/springretry/AppConfig.java | 0 .../springretry/DefaultListenerSupport.java | 0 .../org/baeldung/springretry/MyService.java | 0 .../baeldung/springretry/MyServiceImpl.java | 0 .../ThreadPoolTaskSchedulerConfig.java | 0 .../ThreadPoolTaskSchedulerExamples.java | 0 .../src/main/resources/retryadvice.xml | 2 +- .../src/main/resources/springAsync-config.xml | 0 .../main/resources/springScheduled-config.xml | 0 .../main/resources/springScheduled.properties | 0 ...eduledFixedRateExampleIntegrationTest.java | 0 ...AsyncAnnotationExampleIntegrationTest.java | 0 .../async/AsyncWithXMLIntegrationTest.java | 0 ...duledAnnotationExampleIntegrationTest.java | 0 ...chedulingWithXmlConfigIntegrationTest.java | 0 .../SpringRetryIntegrationTest.java | 0 ...hreadPoolTaskSchedulerIntegrationTest.java | 0 28 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 spring-scheduling/README.md create mode 100644 spring-scheduling/pom.xml rename {spring-all => spring-scheduling}/src/main/java/com/baeldung/scheduling/ScheduledFixedRateExample.java (100%) rename {spring-all => spring-scheduling}/src/main/java/com/baeldung/scheduling/SpringSchedulingFixedRateConfig.java (100%) rename {spring-all => spring-scheduling}/src/main/java/org/baeldung/async/AsyncComponent.java (100%) rename {spring-all => spring-scheduling}/src/main/java/org/baeldung/async/CustomAsyncExceptionHandler.java (100%) rename {spring-all => spring-scheduling}/src/main/java/org/baeldung/async/config/SpringAsyncConfig.java (100%) rename {spring-all => spring-scheduling}/src/main/java/org/baeldung/scheduling/ScheduledAnnotationExample.java (100%) rename {spring-all => spring-scheduling}/src/main/java/org/baeldung/scheduling/SchedulingWithXmlConfig.java (100%) rename {spring-all => spring-scheduling}/src/main/java/org/baeldung/scheduling/SpringSchedulingConfig.java (100%) rename {spring-all => spring-scheduling}/src/main/java/org/baeldung/springretry/AppConfig.java (100%) rename {spring-all => spring-scheduling}/src/main/java/org/baeldung/springretry/DefaultListenerSupport.java (100%) rename {spring-all => spring-scheduling}/src/main/java/org/baeldung/springretry/MyService.java (100%) rename {spring-all => spring-scheduling}/src/main/java/org/baeldung/springretry/MyServiceImpl.java (100%) rename {spring-all => spring-scheduling}/src/main/java/org/baeldung/taskscheduler/ThreadPoolTaskSchedulerConfig.java (100%) rename {spring-all => spring-scheduling}/src/main/java/org/baeldung/taskscheduler/ThreadPoolTaskSchedulerExamples.java (100%) rename {spring-all => spring-scheduling}/src/main/resources/retryadvice.xml (97%) rename {spring-all => spring-scheduling}/src/main/resources/springAsync-config.xml (100%) rename {spring-all => spring-scheduling}/src/main/resources/springScheduled-config.xml (100%) rename {spring-all => spring-scheduling}/src/main/resources/springScheduled.properties (100%) rename {spring-all => spring-scheduling}/src/test/java/com/baeldung/scheduling/ScheduledFixedRateExampleIntegrationTest.java (100%) rename {spring-all => spring-scheduling}/src/test/java/org/baeldung/async/AsyncAnnotationExampleIntegrationTest.java (100%) rename {spring-all => spring-scheduling}/src/test/java/org/baeldung/async/AsyncWithXMLIntegrationTest.java (100%) rename {spring-all => spring-scheduling}/src/test/java/org/baeldung/scheduling/ScheduledAnnotationExampleIntegrationTest.java (100%) rename {spring-all => spring-scheduling}/src/test/java/org/baeldung/scheduling/SchedulingWithXmlConfigIntegrationTest.java (100%) rename {spring-all => spring-scheduling}/src/test/java/org/baeldung/springretry/SpringRetryIntegrationTest.java (100%) rename {spring-all => spring-scheduling}/src/test/java/org/baeldung/taskscheduler/ThreadPoolTaskSchedulerIntegrationTest.java (100%) diff --git a/spring-all/README.md b/spring-all/README.md index c5825b47fb..3db7599914 100644 --- a/spring-all/README.md +++ b/spring-all/README.md @@ -18,14 +18,11 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring - [Quick Guide to Spring Controllers](http://www.baeldung.com/spring-controllers) - [Quick Guide to Spring Bean Scopes](http://www.baeldung.com/spring-bean-scopes) - [Introduction To Ehcache](http://www.baeldung.com/ehcache) -- [A Guide to the Spring Task Scheduler](http://www.baeldung.com/spring-task-scheduler) -- [Guide to Spring Retry](http://www.baeldung.com/spring-retry) - [Custom Scope in Spring](http://www.baeldung.com/spring-custom-scope) - [A CLI with Spring Shell](http://www.baeldung.com/spring-shell-cli) - [JasperReports with Spring](http://www.baeldung.com/spring-jasper) - [Model, ModelMap, and ModelView in Spring MVC](http://www.baeldung.com/spring-mvc-model-model-map-model-view) - [A Guide To Caching in Spring](http://www.baeldung.com/spring-cache-tutorial) -- [How To Do @Async in Spring](http://www.baeldung.com/spring-async) - [@Order in Spring](http://www.baeldung.com/spring-order) - [Spring Web Contexts](http://www.baeldung.com/spring-web-contexts) - [Spring Cache – Creating a Custom KeyGenerator](http://www.baeldung.com/spring-cache-custom-keygenerator) diff --git a/spring-scheduling/README.md b/spring-scheduling/README.md new file mode 100644 index 0000000000..72d5a7dc83 --- /dev/null +++ b/spring-scheduling/README.md @@ -0,0 +1,5 @@ +### Relevant articles: +- [A Guide to the Spring Task Scheduler](http://www.baeldung.com/spring-task-scheduler) +- [Guide to Spring Retry](http://www.baeldung.com/spring-retry) +- [How To Do @Async in Spring](http://www.baeldung.com/spring-async) + diff --git a/spring-scheduling/pom.xml b/spring-scheduling/pom.xml new file mode 100644 index 0000000000..1b48b55bd7 --- /dev/null +++ b/spring-scheduling/pom.xml @@ -0,0 +1,36 @@ + + 4.0.0 + spring-scheduling + 0.1-SNAPSHOT + spring-scheduling + war + + + parent-boot-2 + com.baeldung + 0.0.1-SNAPSHOT + ../parent-boot-2 + + + + + org.springframework + spring-context + + + org.springframework.retry + spring-retry + + + org.springframework + spring-aspects + + + org.springframework + spring-test + test + + + + \ No newline at end of file diff --git a/spring-all/src/main/java/com/baeldung/scheduling/ScheduledFixedRateExample.java b/spring-scheduling/src/main/java/com/baeldung/scheduling/ScheduledFixedRateExample.java similarity index 100% rename from spring-all/src/main/java/com/baeldung/scheduling/ScheduledFixedRateExample.java rename to spring-scheduling/src/main/java/com/baeldung/scheduling/ScheduledFixedRateExample.java diff --git a/spring-all/src/main/java/com/baeldung/scheduling/SpringSchedulingFixedRateConfig.java b/spring-scheduling/src/main/java/com/baeldung/scheduling/SpringSchedulingFixedRateConfig.java similarity index 100% rename from spring-all/src/main/java/com/baeldung/scheduling/SpringSchedulingFixedRateConfig.java rename to spring-scheduling/src/main/java/com/baeldung/scheduling/SpringSchedulingFixedRateConfig.java diff --git a/spring-all/src/main/java/org/baeldung/async/AsyncComponent.java b/spring-scheduling/src/main/java/org/baeldung/async/AsyncComponent.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/async/AsyncComponent.java rename to spring-scheduling/src/main/java/org/baeldung/async/AsyncComponent.java diff --git a/spring-all/src/main/java/org/baeldung/async/CustomAsyncExceptionHandler.java b/spring-scheduling/src/main/java/org/baeldung/async/CustomAsyncExceptionHandler.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/async/CustomAsyncExceptionHandler.java rename to spring-scheduling/src/main/java/org/baeldung/async/CustomAsyncExceptionHandler.java diff --git a/spring-all/src/main/java/org/baeldung/async/config/SpringAsyncConfig.java b/spring-scheduling/src/main/java/org/baeldung/async/config/SpringAsyncConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/async/config/SpringAsyncConfig.java rename to spring-scheduling/src/main/java/org/baeldung/async/config/SpringAsyncConfig.java diff --git a/spring-all/src/main/java/org/baeldung/scheduling/ScheduledAnnotationExample.java b/spring-scheduling/src/main/java/org/baeldung/scheduling/ScheduledAnnotationExample.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/scheduling/ScheduledAnnotationExample.java rename to spring-scheduling/src/main/java/org/baeldung/scheduling/ScheduledAnnotationExample.java diff --git a/spring-all/src/main/java/org/baeldung/scheduling/SchedulingWithXmlConfig.java b/spring-scheduling/src/main/java/org/baeldung/scheduling/SchedulingWithXmlConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/scheduling/SchedulingWithXmlConfig.java rename to spring-scheduling/src/main/java/org/baeldung/scheduling/SchedulingWithXmlConfig.java diff --git a/spring-all/src/main/java/org/baeldung/scheduling/SpringSchedulingConfig.java b/spring-scheduling/src/main/java/org/baeldung/scheduling/SpringSchedulingConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/scheduling/SpringSchedulingConfig.java rename to spring-scheduling/src/main/java/org/baeldung/scheduling/SpringSchedulingConfig.java diff --git a/spring-all/src/main/java/org/baeldung/springretry/AppConfig.java b/spring-scheduling/src/main/java/org/baeldung/springretry/AppConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springretry/AppConfig.java rename to spring-scheduling/src/main/java/org/baeldung/springretry/AppConfig.java diff --git a/spring-all/src/main/java/org/baeldung/springretry/DefaultListenerSupport.java b/spring-scheduling/src/main/java/org/baeldung/springretry/DefaultListenerSupport.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springretry/DefaultListenerSupport.java rename to spring-scheduling/src/main/java/org/baeldung/springretry/DefaultListenerSupport.java diff --git a/spring-all/src/main/java/org/baeldung/springretry/MyService.java b/spring-scheduling/src/main/java/org/baeldung/springretry/MyService.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springretry/MyService.java rename to spring-scheduling/src/main/java/org/baeldung/springretry/MyService.java diff --git a/spring-all/src/main/java/org/baeldung/springretry/MyServiceImpl.java b/spring-scheduling/src/main/java/org/baeldung/springretry/MyServiceImpl.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springretry/MyServiceImpl.java rename to spring-scheduling/src/main/java/org/baeldung/springretry/MyServiceImpl.java diff --git a/spring-all/src/main/java/org/baeldung/taskscheduler/ThreadPoolTaskSchedulerConfig.java b/spring-scheduling/src/main/java/org/baeldung/taskscheduler/ThreadPoolTaskSchedulerConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/taskscheduler/ThreadPoolTaskSchedulerConfig.java rename to spring-scheduling/src/main/java/org/baeldung/taskscheduler/ThreadPoolTaskSchedulerConfig.java diff --git a/spring-all/src/main/java/org/baeldung/taskscheduler/ThreadPoolTaskSchedulerExamples.java b/spring-scheduling/src/main/java/org/baeldung/taskscheduler/ThreadPoolTaskSchedulerExamples.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/taskscheduler/ThreadPoolTaskSchedulerExamples.java rename to spring-scheduling/src/main/java/org/baeldung/taskscheduler/ThreadPoolTaskSchedulerExamples.java diff --git a/spring-all/src/main/resources/retryadvice.xml b/spring-scheduling/src/main/resources/retryadvice.xml similarity index 97% rename from spring-all/src/main/resources/retryadvice.xml rename to spring-scheduling/src/main/resources/retryadvice.xml index 8de7801a58..79a9fc8660 100644 --- a/spring-all/src/main/resources/retryadvice.xml +++ b/spring-scheduling/src/main/resources/retryadvice.xml @@ -7,7 +7,7 @@ http://www.springframework.org/schema/beans/spring-beans.xsd"> + expression="execution(* org.baeldung.springretry..*MyService.defaultXmlRetryService(..))" /> diff --git a/spring-all/src/main/resources/springAsync-config.xml b/spring-scheduling/src/main/resources/springAsync-config.xml similarity index 100% rename from spring-all/src/main/resources/springAsync-config.xml rename to spring-scheduling/src/main/resources/springAsync-config.xml diff --git a/spring-all/src/main/resources/springScheduled-config.xml b/spring-scheduling/src/main/resources/springScheduled-config.xml similarity index 100% rename from spring-all/src/main/resources/springScheduled-config.xml rename to spring-scheduling/src/main/resources/springScheduled-config.xml diff --git a/spring-all/src/main/resources/springScheduled.properties b/spring-scheduling/src/main/resources/springScheduled.properties similarity index 100% rename from spring-all/src/main/resources/springScheduled.properties rename to spring-scheduling/src/main/resources/springScheduled.properties diff --git a/spring-all/src/test/java/com/baeldung/scheduling/ScheduledFixedRateExampleIntegrationTest.java b/spring-scheduling/src/test/java/com/baeldung/scheduling/ScheduledFixedRateExampleIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/com/baeldung/scheduling/ScheduledFixedRateExampleIntegrationTest.java rename to spring-scheduling/src/test/java/com/baeldung/scheduling/ScheduledFixedRateExampleIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/async/AsyncAnnotationExampleIntegrationTest.java b/spring-scheduling/src/test/java/org/baeldung/async/AsyncAnnotationExampleIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/async/AsyncAnnotationExampleIntegrationTest.java rename to spring-scheduling/src/test/java/org/baeldung/async/AsyncAnnotationExampleIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/async/AsyncWithXMLIntegrationTest.java b/spring-scheduling/src/test/java/org/baeldung/async/AsyncWithXMLIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/async/AsyncWithXMLIntegrationTest.java rename to spring-scheduling/src/test/java/org/baeldung/async/AsyncWithXMLIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/scheduling/ScheduledAnnotationExampleIntegrationTest.java b/spring-scheduling/src/test/java/org/baeldung/scheduling/ScheduledAnnotationExampleIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/scheduling/ScheduledAnnotationExampleIntegrationTest.java rename to spring-scheduling/src/test/java/org/baeldung/scheduling/ScheduledAnnotationExampleIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/scheduling/SchedulingWithXmlConfigIntegrationTest.java b/spring-scheduling/src/test/java/org/baeldung/scheduling/SchedulingWithXmlConfigIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/scheduling/SchedulingWithXmlConfigIntegrationTest.java rename to spring-scheduling/src/test/java/org/baeldung/scheduling/SchedulingWithXmlConfigIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/springretry/SpringRetryIntegrationTest.java b/spring-scheduling/src/test/java/org/baeldung/springretry/SpringRetryIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/springretry/SpringRetryIntegrationTest.java rename to spring-scheduling/src/test/java/org/baeldung/springretry/SpringRetryIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/taskscheduler/ThreadPoolTaskSchedulerIntegrationTest.java b/spring-scheduling/src/test/java/org/baeldung/taskscheduler/ThreadPoolTaskSchedulerIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/taskscheduler/ThreadPoolTaskSchedulerIntegrationTest.java rename to spring-scheduling/src/test/java/org/baeldung/taskscheduler/ThreadPoolTaskSchedulerIntegrationTest.java From e848a0ffcfb907d6db86e14d43bee8cd6032225f Mon Sep 17 00:00:00 2001 From: Denis Date: Sat, 31 Aug 2019 15:51:56 +0200 Subject: [PATCH 024/199] extract spring-caching module --- spring-all/README.md | 3 - spring-all/pom.xml | 5 - .../main/java/org/baeldung/model/User.java | 2 +- .../baeldung/repository/UserRepository.java | 2 +- .../UserRepositoryIntegrationTest.java | 2 +- spring-caching/README.md | 4 + spring-caching/pom.xml | 43 ++++ .../config/ApplicationCacheConfig.java | 0 .../caching/config/CachingConfig.java | 0 .../caching/config/CustomKeyGenerator.java | 0 .../controllers/CachingController.java | 36 ++-- .../eviction/service/CachingService.java | 106 +++++----- .../caching/example/AbstractService.java | 0 .../baeldung/caching/example/BookService.java | 2 +- .../baeldung/caching/example/Customer.java | 0 .../caching/example/CustomerDataService.java | 0 .../example/CustomerServiceWithParent.java | 0 .../org/baeldung/caching}/model/Book.java | 2 +- .../ehcache/calculator/SquaredCalculator.java | 0 .../baeldung/ehcache/config/CacheHelper.java | 0 .../src/main/resources/config.xml | 0 .../CacheEvictAnnotationIntegrationTest.java | 158 +++++++------- .../CacheManagerEvictIntegrationTest.java | 192 +++++++++--------- .../test/SpringCachingIntegrationTest.java | 0 .../ehcache/SquareCalculatorUnitTest.java | 80 ++++---- 25 files changed, 338 insertions(+), 299 deletions(-) create mode 100644 spring-caching/README.md create mode 100644 spring-caching/pom.xml rename {spring-all => spring-caching}/src/main/java/org/baeldung/caching/config/ApplicationCacheConfig.java (100%) rename {spring-all => spring-caching}/src/main/java/org/baeldung/caching/config/CachingConfig.java (100%) rename {spring-all => spring-caching}/src/main/java/org/baeldung/caching/config/CustomKeyGenerator.java (100%) rename {spring-all => spring-caching}/src/main/java/org/baeldung/caching/eviction/controllers/CachingController.java (96%) rename {spring-all => spring-caching}/src/main/java/org/baeldung/caching/eviction/service/CachingService.java (96%) rename {spring-all => spring-caching}/src/main/java/org/baeldung/caching/example/AbstractService.java (100%) rename {spring-all => spring-caching}/src/main/java/org/baeldung/caching/example/BookService.java (93%) rename {spring-all => spring-caching}/src/main/java/org/baeldung/caching/example/Customer.java (100%) rename {spring-all => spring-caching}/src/main/java/org/baeldung/caching/example/CustomerDataService.java (100%) rename {spring-all => spring-caching}/src/main/java/org/baeldung/caching/example/CustomerServiceWithParent.java (100%) rename {spring-all/src/main/java/org/baeldung => spring-caching/src/main/java/org/baeldung/caching}/model/Book.java (94%) rename {spring-all => spring-caching}/src/main/java/org/baeldung/ehcache/calculator/SquaredCalculator.java (100%) mode change 100755 => 100644 rename {spring-all => spring-caching}/src/main/java/org/baeldung/ehcache/config/CacheHelper.java (100%) mode change 100755 => 100644 rename {spring-all => spring-caching}/src/main/resources/config.xml (100%) rename {spring-all => spring-caching}/src/test/java/org/baeldung/caching/test/CacheEvictAnnotationIntegrationTest.java (96%) rename {spring-all => spring-caching}/src/test/java/org/baeldung/caching/test/CacheManagerEvictIntegrationTest.java (97%) rename {spring-all => spring-caching}/src/test/java/org/baeldung/caching/test/SpringCachingIntegrationTest.java (100%) rename {spring-all => spring-caching}/src/test/java/org/baeldung/ehcache/SquareCalculatorUnitTest.java (97%) diff --git a/spring-all/README.md b/spring-all/README.md index 3db7599914..95b87cfee1 100644 --- a/spring-all/README.md +++ b/spring-all/README.md @@ -17,15 +17,12 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring - [Running Setup Data on Startup in Spring](http://www.baeldung.com/running-setup-logic-on-startup-in-spring) - [Quick Guide to Spring Controllers](http://www.baeldung.com/spring-controllers) - [Quick Guide to Spring Bean Scopes](http://www.baeldung.com/spring-bean-scopes) -- [Introduction To Ehcache](http://www.baeldung.com/ehcache) - [Custom Scope in Spring](http://www.baeldung.com/spring-custom-scope) - [A CLI with Spring Shell](http://www.baeldung.com/spring-shell-cli) - [JasperReports with Spring](http://www.baeldung.com/spring-jasper) - [Model, ModelMap, and ModelView in Spring MVC](http://www.baeldung.com/spring-mvc-model-model-map-model-view) -- [A Guide To Caching in Spring](http://www.baeldung.com/spring-cache-tutorial) - [@Order in Spring](http://www.baeldung.com/spring-order) - [Spring Web Contexts](http://www.baeldung.com/spring-web-contexts) -- [Spring Cache – Creating a Custom KeyGenerator](http://www.baeldung.com/spring-cache-custom-keygenerator) - [Spring @Primary Annotation](http://www.baeldung.com/spring-primary) - [Spring Events](https://www.baeldung.com/spring-events) - [Spring Null-Safety Annotations](https://www.baeldung.com/spring-null-safety-annotations) diff --git a/spring-all/pom.xml b/spring-all/pom.xml index 8c88efb970..1b733555da 100644 --- a/spring-all/pom.xml +++ b/spring-all/pom.xml @@ -147,10 +147,6 @@ ${easymock.version} test - - org.ehcache - ehcache - org.apache.logging.log4j log4j-api @@ -243,7 +239,6 @@ 25.1-jre - 3.5.2 3.6 3.6.1 6.6.0 diff --git a/spring-boot/src/main/java/org/baeldung/model/User.java b/spring-boot/src/main/java/org/baeldung/model/User.java index eb886338a0..049b118b12 100644 --- a/spring-boot/src/main/java/org/baeldung/model/User.java +++ b/spring-boot/src/main/java/org/baeldung/model/User.java @@ -1,4 +1,4 @@ -package org.baeldung.model; +package org.baeldung.caching.model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; diff --git a/spring-boot/src/main/java/org/baeldung/repository/UserRepository.java b/spring-boot/src/main/java/org/baeldung/repository/UserRepository.java index 7335af2616..0113c4c5d4 100644 --- a/spring-boot/src/main/java/org/baeldung/repository/UserRepository.java +++ b/spring-boot/src/main/java/org/baeldung/repository/UserRepository.java @@ -1,6 +1,6 @@ package org.baeldung.repository; -import org.baeldung.model.User; +import org.baeldung.caching.model.User; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; diff --git a/spring-boot/src/test/java/org/baeldung/repository/UserRepositoryIntegrationTest.java b/spring-boot/src/test/java/org/baeldung/repository/UserRepositoryIntegrationTest.java index 04bb1170f8..54ce3b4bf3 100644 --- a/spring-boot/src/test/java/org/baeldung/repository/UserRepositoryIntegrationTest.java +++ b/spring-boot/src/test/java/org/baeldung/repository/UserRepositoryIntegrationTest.java @@ -1,7 +1,7 @@ package org.baeldung.repository; import org.baeldung.boot.config.H2JpaConfig; -import org.baeldung.model.User; +import org.baeldung.caching.model.User; import org.junit.After; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/spring-caching/README.md b/spring-caching/README.md new file mode 100644 index 0000000000..14dfe94041 --- /dev/null +++ b/spring-caching/README.md @@ -0,0 +1,4 @@ +### Relevant articles: +- [Introduction To Ehcache](http://www.baeldung.com/ehcache) +- [A Guide To Caching in Spring](http://www.baeldung.com/spring-cache-tutorial) +- [Spring Cache – Creating a Custom KeyGenerator](http://www.baeldung.com/spring-cache-custom-keygenerator) diff --git a/spring-caching/pom.xml b/spring-caching/pom.xml new file mode 100644 index 0000000000..3329cd5f77 --- /dev/null +++ b/spring-caching/pom.xml @@ -0,0 +1,43 @@ + + 4.0.0 + spring-caching + 0.1-SNAPSHOT + spring-caching + war + + + parent-boot-2 + com.baeldung + 0.0.1-SNAPSHOT + ../parent-boot-2 + + + + + org.springframework + spring-context + + + org.springframework + spring-web + + + org.springframework + spring-webmvc + + + org.ehcache + ehcache + + + org.springframework + spring-test + test + + + + + 3.5.2 + + \ No newline at end of file diff --git a/spring-all/src/main/java/org/baeldung/caching/config/ApplicationCacheConfig.java b/spring-caching/src/main/java/org/baeldung/caching/config/ApplicationCacheConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/caching/config/ApplicationCacheConfig.java rename to spring-caching/src/main/java/org/baeldung/caching/config/ApplicationCacheConfig.java diff --git a/spring-all/src/main/java/org/baeldung/caching/config/CachingConfig.java b/spring-caching/src/main/java/org/baeldung/caching/config/CachingConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/caching/config/CachingConfig.java rename to spring-caching/src/main/java/org/baeldung/caching/config/CachingConfig.java diff --git a/spring-all/src/main/java/org/baeldung/caching/config/CustomKeyGenerator.java b/spring-caching/src/main/java/org/baeldung/caching/config/CustomKeyGenerator.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/caching/config/CustomKeyGenerator.java rename to spring-caching/src/main/java/org/baeldung/caching/config/CustomKeyGenerator.java diff --git a/spring-all/src/main/java/org/baeldung/caching/eviction/controllers/CachingController.java b/spring-caching/src/main/java/org/baeldung/caching/eviction/controllers/CachingController.java similarity index 96% rename from spring-all/src/main/java/org/baeldung/caching/eviction/controllers/CachingController.java rename to spring-caching/src/main/java/org/baeldung/caching/eviction/controllers/CachingController.java index 675cb7a516..aaaf8a5918 100644 --- a/spring-all/src/main/java/org/baeldung/caching/eviction/controllers/CachingController.java +++ b/spring-caching/src/main/java/org/baeldung/caching/eviction/controllers/CachingController.java @@ -1,18 +1,18 @@ -package org.baeldung.caching.eviction.controllers; - -import org.baeldung.caching.eviction.service.CachingService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class CachingController { - - @Autowired - CachingService cachingService; - - @GetMapping("clearAllCaches") - public void clearAllCaches() { - cachingService.evictAllCaches(); - } -} +package org.baeldung.caching.eviction.controllers; + +import org.baeldung.caching.eviction.service.CachingService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class CachingController { + + @Autowired + CachingService cachingService; + + @GetMapping("clearAllCaches") + public void clearAllCaches() { + cachingService.evictAllCaches(); + } +} diff --git a/spring-all/src/main/java/org/baeldung/caching/eviction/service/CachingService.java b/spring-caching/src/main/java/org/baeldung/caching/eviction/service/CachingService.java similarity index 96% rename from spring-all/src/main/java/org/baeldung/caching/eviction/service/CachingService.java rename to spring-caching/src/main/java/org/baeldung/caching/eviction/service/CachingService.java index 7e37215954..a0dd30c329 100644 --- a/spring-all/src/main/java/org/baeldung/caching/eviction/service/CachingService.java +++ b/spring-caching/src/main/java/org/baeldung/caching/eviction/service/CachingService.java @@ -1,53 +1,53 @@ -package org.baeldung.caching.eviction.service; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cache.CacheManager; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -@Component -public class CachingService { - - @Autowired - CacheManager cacheManager; - - public void putToCache(String cacheName, String key, String value) { - cacheManager.getCache(cacheName).put(key, value); - } - - public String getFromCache(String cacheName, String key) { - String value = null; - if (cacheManager.getCache(cacheName).get(key) != null) { - value = cacheManager.getCache(cacheName).get(key).get().toString(); - } - return value; - } - - @CacheEvict(value = "first", key = "#cacheKey") - public void evictSingleCacheValue(String cacheKey) { - } - - @CacheEvict(value = "first", allEntries = true) - public void evictAllCacheValues() { - } - - public void evictSingleCacheValue(String cacheName, String cacheKey) { - cacheManager.getCache(cacheName).evict(cacheKey); - } - - public void evictAllCacheValues(String cacheName) { - cacheManager.getCache(cacheName).clear(); - } - - public void evictAllCaches() { - cacheManager.getCacheNames() - .parallelStream() - .forEach(cacheName -> cacheManager.getCache(cacheName).clear()); - } - - @Scheduled(fixedRate = 6000) - public void evictAllcachesAtIntervals() { - evictAllCaches(); - } -} +package org.baeldung.caching.eviction.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.CacheManager; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +@Component +public class CachingService { + + @Autowired + CacheManager cacheManager; + + public void putToCache(String cacheName, String key, String value) { + cacheManager.getCache(cacheName).put(key, value); + } + + public String getFromCache(String cacheName, String key) { + String value = null; + if (cacheManager.getCache(cacheName).get(key) != null) { + value = cacheManager.getCache(cacheName).get(key).get().toString(); + } + return value; + } + + @CacheEvict(value = "first", key = "#cacheKey") + public void evictSingleCacheValue(String cacheKey) { + } + + @CacheEvict(value = "first", allEntries = true) + public void evictAllCacheValues() { + } + + public void evictSingleCacheValue(String cacheName, String cacheKey) { + cacheManager.getCache(cacheName).evict(cacheKey); + } + + public void evictAllCacheValues(String cacheName) { + cacheManager.getCache(cacheName).clear(); + } + + public void evictAllCaches() { + cacheManager.getCacheNames() + .parallelStream() + .forEach(cacheName -> cacheManager.getCache(cacheName).clear()); + } + + @Scheduled(fixedRate = 6000) + public void evictAllcachesAtIntervals() { + evictAllCaches(); + } +} diff --git a/spring-all/src/main/java/org/baeldung/caching/example/AbstractService.java b/spring-caching/src/main/java/org/baeldung/caching/example/AbstractService.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/caching/example/AbstractService.java rename to spring-caching/src/main/java/org/baeldung/caching/example/AbstractService.java diff --git a/spring-all/src/main/java/org/baeldung/caching/example/BookService.java b/spring-caching/src/main/java/org/baeldung/caching/example/BookService.java similarity index 93% rename from spring-all/src/main/java/org/baeldung/caching/example/BookService.java rename to spring-caching/src/main/java/org/baeldung/caching/example/BookService.java index 26118d61de..9f3aaf89cf 100644 --- a/spring-all/src/main/java/org/baeldung/caching/example/BookService.java +++ b/spring-caching/src/main/java/org/baeldung/caching/example/BookService.java @@ -1,6 +1,6 @@ package org.baeldung.caching.example; -import org.baeldung.model.Book; +import org.baeldung.caching.model.Book; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Component; diff --git a/spring-all/src/main/java/org/baeldung/caching/example/Customer.java b/spring-caching/src/main/java/org/baeldung/caching/example/Customer.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/caching/example/Customer.java rename to spring-caching/src/main/java/org/baeldung/caching/example/Customer.java diff --git a/spring-all/src/main/java/org/baeldung/caching/example/CustomerDataService.java b/spring-caching/src/main/java/org/baeldung/caching/example/CustomerDataService.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/caching/example/CustomerDataService.java rename to spring-caching/src/main/java/org/baeldung/caching/example/CustomerDataService.java diff --git a/spring-all/src/main/java/org/baeldung/caching/example/CustomerServiceWithParent.java b/spring-caching/src/main/java/org/baeldung/caching/example/CustomerServiceWithParent.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/caching/example/CustomerServiceWithParent.java rename to spring-caching/src/main/java/org/baeldung/caching/example/CustomerServiceWithParent.java diff --git a/spring-all/src/main/java/org/baeldung/model/Book.java b/spring-caching/src/main/java/org/baeldung/caching/model/Book.java similarity index 94% rename from spring-all/src/main/java/org/baeldung/model/Book.java rename to spring-caching/src/main/java/org/baeldung/caching/model/Book.java index 9305ce9653..c110c79db0 100644 --- a/spring-all/src/main/java/org/baeldung/model/Book.java +++ b/spring-caching/src/main/java/org/baeldung/caching/model/Book.java @@ -1,4 +1,4 @@ -package org.baeldung.model; +package org.baeldung.caching.model; public class Book { diff --git a/spring-all/src/main/java/org/baeldung/ehcache/calculator/SquaredCalculator.java b/spring-caching/src/main/java/org/baeldung/ehcache/calculator/SquaredCalculator.java old mode 100755 new mode 100644 similarity index 100% rename from spring-all/src/main/java/org/baeldung/ehcache/calculator/SquaredCalculator.java rename to spring-caching/src/main/java/org/baeldung/ehcache/calculator/SquaredCalculator.java diff --git a/spring-all/src/main/java/org/baeldung/ehcache/config/CacheHelper.java b/spring-caching/src/main/java/org/baeldung/ehcache/config/CacheHelper.java old mode 100755 new mode 100644 similarity index 100% rename from spring-all/src/main/java/org/baeldung/ehcache/config/CacheHelper.java rename to spring-caching/src/main/java/org/baeldung/ehcache/config/CacheHelper.java diff --git a/spring-all/src/main/resources/config.xml b/spring-caching/src/main/resources/config.xml similarity index 100% rename from spring-all/src/main/resources/config.xml rename to spring-caching/src/main/resources/config.xml diff --git a/spring-all/src/test/java/org/baeldung/caching/test/CacheEvictAnnotationIntegrationTest.java b/spring-caching/src/test/java/org/baeldung/caching/test/CacheEvictAnnotationIntegrationTest.java similarity index 96% rename from spring-all/src/test/java/org/baeldung/caching/test/CacheEvictAnnotationIntegrationTest.java rename to spring-caching/src/test/java/org/baeldung/caching/test/CacheEvictAnnotationIntegrationTest.java index f24cdef917..e00305d4a2 100644 --- a/spring-all/src/test/java/org/baeldung/caching/test/CacheEvictAnnotationIntegrationTest.java +++ b/spring-caching/src/test/java/org/baeldung/caching/test/CacheEvictAnnotationIntegrationTest.java @@ -1,79 +1,79 @@ -package org.baeldung.caching.test; - -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.nullValue; -import static org.junit.Assert.assertThat; - -import java.util.ArrayList; -import java.util.List; - -import org.baeldung.caching.eviction.service.CachingService; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cache.Cache; -import org.springframework.cache.CacheManager; -import org.springframework.cache.annotation.EnableCaching; -import org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean; -import org.springframework.cache.support.SimpleCacheManager; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration -public class CacheEvictAnnotationIntegrationTest { - - @Configuration - @EnableCaching - static class ContextConfiguration { - - @Bean - public CachingService cachingService() { - return new CachingService(); - } - - @Bean - public CacheManager cacheManager(){ - SimpleCacheManager cacheManager = new SimpleCacheManager(); - List caches = new ArrayList<>(); - caches.add(cacheBean().getObject()); - cacheManager.setCaches(caches ); - return cacheManager; - } - - @Bean - public ConcurrentMapCacheFactoryBean cacheBean(){ - ConcurrentMapCacheFactoryBean cacheFactoryBean = new ConcurrentMapCacheFactoryBean(); - cacheFactoryBean.setName("first"); - return cacheFactoryBean; - } - } - - @Autowired - CachingService cachingService; - - @Before - public void before() { - cachingService.putToCache("first", "key1", "Baeldung"); - cachingService.putToCache("first", "key2", "Article"); - } - - @Test - public void givenFirstCache_whenSingleCacheValueEvictRequested_thenEmptyCacheValue() { - cachingService.evictSingleCacheValue("key1"); - String key1 = cachingService.getFromCache("first", "key1"); - assertThat(key1, is(nullValue())); - } - - @Test - public void givenFirstCache_whenAllCacheValueEvictRequested_thenEmptyCache() { - cachingService.evictAllCacheValues(); - String key1 = cachingService.getFromCache("first", "key1"); - String key2 = cachingService.getFromCache("first", "key2"); - assertThat(key1, is(nullValue())); - assertThat(key2, is(nullValue())); - } -} +package org.baeldung.caching.test; + +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.CoreMatchers.nullValue; +import static org.junit.Assert.assertThat; + +import java.util.ArrayList; +import java.util.List; + +import org.baeldung.caching.eviction.service.CachingService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.Cache; +import org.springframework.cache.CacheManager; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean; +import org.springframework.cache.support.SimpleCacheManager; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration +public class CacheEvictAnnotationIntegrationTest { + + @Configuration + @EnableCaching + static class ContextConfiguration { + + @Bean + public CachingService cachingService() { + return new CachingService(); + } + + @Bean + public CacheManager cacheManager(){ + SimpleCacheManager cacheManager = new SimpleCacheManager(); + List caches = new ArrayList<>(); + caches.add(cacheBean().getObject()); + cacheManager.setCaches(caches ); + return cacheManager; + } + + @Bean + public ConcurrentMapCacheFactoryBean cacheBean(){ + ConcurrentMapCacheFactoryBean cacheFactoryBean = new ConcurrentMapCacheFactoryBean(); + cacheFactoryBean.setName("first"); + return cacheFactoryBean; + } + } + + @Autowired + CachingService cachingService; + + @Before + public void before() { + cachingService.putToCache("first", "key1", "Baeldung"); + cachingService.putToCache("first", "key2", "Article"); + } + + @Test + public void givenFirstCache_whenSingleCacheValueEvictRequested_thenEmptyCacheValue() { + cachingService.evictSingleCacheValue("key1"); + String key1 = cachingService.getFromCache("first", "key1"); + assertThat(key1, is(nullValue())); + } + + @Test + public void givenFirstCache_whenAllCacheValueEvictRequested_thenEmptyCache() { + cachingService.evictAllCacheValues(); + String key1 = cachingService.getFromCache("first", "key1"); + String key2 = cachingService.getFromCache("first", "key2"); + assertThat(key1, is(nullValue())); + assertThat(key2, is(nullValue())); + } +} diff --git a/spring-all/src/test/java/org/baeldung/caching/test/CacheManagerEvictIntegrationTest.java b/spring-caching/src/test/java/org/baeldung/caching/test/CacheManagerEvictIntegrationTest.java similarity index 97% rename from spring-all/src/test/java/org/baeldung/caching/test/CacheManagerEvictIntegrationTest.java rename to spring-caching/src/test/java/org/baeldung/caching/test/CacheManagerEvictIntegrationTest.java index 9c6aaea892..4b12ed60b6 100644 --- a/spring-all/src/test/java/org/baeldung/caching/test/CacheManagerEvictIntegrationTest.java +++ b/spring-caching/src/test/java/org/baeldung/caching/test/CacheManagerEvictIntegrationTest.java @@ -1,96 +1,96 @@ -package org.baeldung.caching.test; - -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.nullValue; -import static org.junit.Assert.assertThat; - -import java.util.ArrayList; -import java.util.List; - -import org.baeldung.caching.eviction.service.CachingService; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cache.Cache; -import org.springframework.cache.CacheManager; -import org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean; -import org.springframework.cache.support.SimpleCacheManager; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration -public class CacheManagerEvictIntegrationTest { - - @Configuration - static class ContextConfiguration { - - @Bean - public CachingService cachingService() { - return new CachingService(); - } - - @Bean - public CacheManager cacheManager(){ - SimpleCacheManager cacheManager = new SimpleCacheManager(); - List caches = new ArrayList<>(); - caches.add(cacheBeanFirst().getObject()); - caches.add(cacheBeanSecond().getObject()); - cacheManager.setCaches(caches ); - return cacheManager; - } - - @Bean - public ConcurrentMapCacheFactoryBean cacheBeanFirst(){ - ConcurrentMapCacheFactoryBean cacheFactoryBean = new ConcurrentMapCacheFactoryBean(); - cacheFactoryBean.setName("first"); - return cacheFactoryBean; - } - - @Bean - public ConcurrentMapCacheFactoryBean cacheBeanSecond(){ - ConcurrentMapCacheFactoryBean cacheFactoryBean = new ConcurrentMapCacheFactoryBean(); - cacheFactoryBean.setName("second"); - return cacheFactoryBean; - } - } - - @Autowired - CachingService cachingService; - - @Before - public void before() { - cachingService.putToCache("first", "key1", "Baeldung"); - cachingService.putToCache("first", "key2", "Article"); - cachingService.putToCache("second", "key", "Article"); - } - - @Test - public void givenFirstCache_whenSingleCacheValueEvictRequested_thenEmptyCacheValue() { - cachingService.evictSingleCacheValue("first", "key1"); - String key1 = cachingService.getFromCache("first", "key1"); - assertThat(key1, is(nullValue())); - } - - @Test - public void givenFirstCache_whenAllCacheValueEvictRequested_thenEmptyCache() { - cachingService.evictAllCacheValues("first"); - String key1 = cachingService.getFromCache("first", "key1"); - String key2 = cachingService.getFromCache("first", "key2"); - assertThat(key1, is(nullValue())); - assertThat(key2, is(nullValue())); - } - - @Test - public void givenAllCaches_whenAllCacheEvictRequested_thenEmptyAllCaches() { - cachingService.evictAllCaches(); - String key1 = cachingService.getFromCache("first", "key1"); - assertThat(key1, is(nullValue())); - - String key = cachingService.getFromCache("second", "key"); - assertThat(key, is(nullValue())); - } -} +package org.baeldung.caching.test; + +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.CoreMatchers.nullValue; +import static org.junit.Assert.assertThat; + +import java.util.ArrayList; +import java.util.List; + +import org.baeldung.caching.eviction.service.CachingService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.Cache; +import org.springframework.cache.CacheManager; +import org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean; +import org.springframework.cache.support.SimpleCacheManager; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration +public class CacheManagerEvictIntegrationTest { + + @Configuration + static class ContextConfiguration { + + @Bean + public CachingService cachingService() { + return new CachingService(); + } + + @Bean + public CacheManager cacheManager(){ + SimpleCacheManager cacheManager = new SimpleCacheManager(); + List caches = new ArrayList<>(); + caches.add(cacheBeanFirst().getObject()); + caches.add(cacheBeanSecond().getObject()); + cacheManager.setCaches(caches ); + return cacheManager; + } + + @Bean + public ConcurrentMapCacheFactoryBean cacheBeanFirst(){ + ConcurrentMapCacheFactoryBean cacheFactoryBean = new ConcurrentMapCacheFactoryBean(); + cacheFactoryBean.setName("first"); + return cacheFactoryBean; + } + + @Bean + public ConcurrentMapCacheFactoryBean cacheBeanSecond(){ + ConcurrentMapCacheFactoryBean cacheFactoryBean = new ConcurrentMapCacheFactoryBean(); + cacheFactoryBean.setName("second"); + return cacheFactoryBean; + } + } + + @Autowired + CachingService cachingService; + + @Before + public void before() { + cachingService.putToCache("first", "key1", "Baeldung"); + cachingService.putToCache("first", "key2", "Article"); + cachingService.putToCache("second", "key", "Article"); + } + + @Test + public void givenFirstCache_whenSingleCacheValueEvictRequested_thenEmptyCacheValue() { + cachingService.evictSingleCacheValue("first", "key1"); + String key1 = cachingService.getFromCache("first", "key1"); + assertThat(key1, is(nullValue())); + } + + @Test + public void givenFirstCache_whenAllCacheValueEvictRequested_thenEmptyCache() { + cachingService.evictAllCacheValues("first"); + String key1 = cachingService.getFromCache("first", "key1"); + String key2 = cachingService.getFromCache("first", "key2"); + assertThat(key1, is(nullValue())); + assertThat(key2, is(nullValue())); + } + + @Test + public void givenAllCaches_whenAllCacheEvictRequested_thenEmptyAllCaches() { + cachingService.evictAllCaches(); + String key1 = cachingService.getFromCache("first", "key1"); + assertThat(key1, is(nullValue())); + + String key = cachingService.getFromCache("second", "key"); + assertThat(key, is(nullValue())); + } +} diff --git a/spring-all/src/test/java/org/baeldung/caching/test/SpringCachingIntegrationTest.java b/spring-caching/src/test/java/org/baeldung/caching/test/SpringCachingIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/caching/test/SpringCachingIntegrationTest.java rename to spring-caching/src/test/java/org/baeldung/caching/test/SpringCachingIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/ehcache/SquareCalculatorUnitTest.java b/spring-caching/src/test/java/org/baeldung/ehcache/SquareCalculatorUnitTest.java similarity index 97% rename from spring-all/src/test/java/org/baeldung/ehcache/SquareCalculatorUnitTest.java rename to spring-caching/src/test/java/org/baeldung/ehcache/SquareCalculatorUnitTest.java index 96265c11f5..0e6ac6fd8e 100644 --- a/spring-all/src/test/java/org/baeldung/ehcache/SquareCalculatorUnitTest.java +++ b/spring-caching/src/test/java/org/baeldung/ehcache/SquareCalculatorUnitTest.java @@ -1,40 +1,40 @@ -package org.baeldung.ehcache; - -import org.baeldung.ehcache.calculator.SquaredCalculator; -import org.baeldung.ehcache.config.CacheHelper; -import org.junit.Before; -import org.junit.Test; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -public class SquareCalculatorUnitTest { - private SquaredCalculator squaredCalculator = new SquaredCalculator(); - private CacheHelper cacheHelper = new CacheHelper(); - - @Before - public void setup() { - squaredCalculator.setCache(cacheHelper); - } - - @Test - public void whenCalculatingSquareValueOnce_thenCacheDontHaveValues() { - for (int i = 10; i < 15; i++) { - assertFalse(cacheHelper.getSquareNumberCache().containsKey(i)); - System.out.println("Square value of " + i + " is: " + squaredCalculator.getSquareValueOfNumber(i) + "\n"); - } - } - - @Test - public void whenCalculatingSquareValueAgain_thenCacheHasAllValues() { - for (int i = 10; i < 15; i++) { - assertFalse(cacheHelper.getSquareNumberCache().containsKey(i)); - System.out.println("Square value of " + i + " is: " + squaredCalculator.getSquareValueOfNumber(i) + "\n"); - } - - for (int i = 10; i < 15; i++) { - assertTrue(cacheHelper.getSquareNumberCache().containsKey(i)); - System.out.println("Square value of " + i + " is: " + squaredCalculator.getSquareValueOfNumber(i) + "\n"); - } - } -} +package org.baeldung.ehcache; + +import org.baeldung.ehcache.calculator.SquaredCalculator; +import org.baeldung.ehcache.config.CacheHelper; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +public class SquareCalculatorUnitTest { + private SquaredCalculator squaredCalculator = new SquaredCalculator(); + private CacheHelper cacheHelper = new CacheHelper(); + + @Before + public void setup() { + squaredCalculator.setCache(cacheHelper); + } + + @Test + public void whenCalculatingSquareValueOnce_thenCacheDontHaveValues() { + for (int i = 10; i < 15; i++) { + assertFalse(cacheHelper.getSquareNumberCache().containsKey(i)); + System.out.println("Square value of " + i + " is: " + squaredCalculator.getSquareValueOfNumber(i) + "\n"); + } + } + + @Test + public void whenCalculatingSquareValueAgain_thenCacheHasAllValues() { + for (int i = 10; i < 15; i++) { + assertFalse(cacheHelper.getSquareNumberCache().containsKey(i)); + System.out.println("Square value of " + i + " is: " + squaredCalculator.getSquareValueOfNumber(i) + "\n"); + } + + for (int i = 10; i < 15; i++) { + assertTrue(cacheHelper.getSquareNumberCache().containsKey(i)); + System.out.println("Square value of " + i + " is: " + squaredCalculator.getSquareValueOfNumber(i) + "\n"); + } + } +} From e479bea0b88012b4830f4206a6956cd137243ba6 Mon Sep 17 00:00:00 2001 From: caroline Date: Tue, 10 Sep 2019 14:40:07 +0200 Subject: [PATCH 025/199] Minor changes to class names and return type List for BAEL-3083 --- .../com/baeldung/findastring/FindAStringInGivenList.java | 8 ++++---- .../baeldung/findastring/FindAStringInListUnitTest.java | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java index 2b7c9feb11..bfc666b36d 100644 --- a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java +++ b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java @@ -16,7 +16,7 @@ import java.util.stream.Collectors; public class FindAStringInGivenList { - public List findUsingLoopWithRegex(String search, List list) { + public List findUsingLoopWithRegex(String search, List list) { List matches = new ArrayList(); @@ -33,7 +33,7 @@ public class FindAStringInGivenList { } - public List findUsingLoop(String search, List list) { + public List findUsingLoop(String search, List list) { List matches = new ArrayList(); @@ -46,7 +46,7 @@ public class FindAStringInGivenList { return matches; } - public List findUsingStream(String search, List list) { + public List findUsingStream(String search, List list) { List matchingElements = list.stream() @@ -67,7 +67,7 @@ public class FindAStringInGivenList { return Lists.newArrayList(result.iterator()); } - public List findUsingApacheCommon(String search, List list) { + public List findUsingCommonsCollection(String search, List list) { CollectionUtils.filter(list, PredicateUtils.notNullPredicate()); Iterable result = IterableUtils.filteredIterable(list, new org.apache.commons.collections4.Predicate() { public boolean evaluate(String listElement) { diff --git a/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findastring/FindAStringInListUnitTest.java b/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findastring/FindAStringInListUnitTest.java index bc2fbb0000..ee293034c9 100644 --- a/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findastring/FindAStringInListUnitTest.java +++ b/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findastring/FindAStringInListUnitTest.java @@ -63,16 +63,16 @@ public class FindAStringInListUnitTest { } @Test - public void givenAString_whenFoundUsingApacheCommons_thenReturnList(){ - List matchingElements = findAStringInGivenList.findUsingApacheCommon("Jack", list); + public void givenAString_whenFoundUsingCommonsCollection_thenReturnList(){ + List matchingElements = findAStringInGivenList.findUsingCommonsCollection("Jack", list); assertEquals(2, matchingElements.size()); assertEquals("Jack and Jill", matchingElements.get(0)); assertEquals("Jack", matchingElements.get(1)); } @Test - public void givenAString_whenNullFoundUsingApacheCommons_thenReturnEmptyList(){ - List matchingElements = findAStringInGivenList.findUsingApacheCommon(null, list); + public void givenAString_whenNullFoundUsingCommonsCollection_thenReturnEmptyList(){ + List matchingElements = findAStringInGivenList.findUsingCommonsCollection(null, list); assertEquals(0, matchingElements.size()); } From 51820357620bf80207af5fac3d37802657f4d8ce Mon Sep 17 00:00:00 2001 From: Denis Date: Sat, 31 Aug 2019 16:51:59 +0200 Subject: [PATCH 026/199] extract spring-mvc-basics-2 module --- spring-all/README.md | 3 - spring-mvc-basics-2/.gitignore | 13 ++ spring-mvc-basics-2/README.md | 11 ++ spring-mvc-basics-2/pom.xml | 37 ++++ .../java/com/baeldung/contexts/Greeting.java | 0 ...BasedApplicationAndServletInitializer.java | 1 - ...nnotationsBasedApplicationInitializer.java | 1 - .../config/ApplicationInitializer.java | 0 .../contexts/config/NormalWebAppConfig.java | 0 .../config/RootApplicationConfig.java | 0 ...BasedApplicationAndServletInitializer.java | 1 - .../contexts/config/SecureWebAppConfig.java | 0 .../contexts/normal/HelloWorldController.java | 0 .../secure/HelloWorldSecureController.java | 0 .../ApplicationContextUtilService.java | 0 .../contexts/services/GreeterService.java | 0 .../config/StudentControllerConfig.java | 60 ++++--- .../baeldung/controller/config/WebConfig.java | 54 +++--- .../controller/PassParametersController.java | 0 .../controller/RestAnnotatedController.java | 0 .../controller/controller/RestController.java | 3 +- .../controller/controller/TestController.java | 0 .../baeldung/controller/student/Student.java | 0 .../src/main/resources/application.properties | 1 + .../src/main/resources/logback.xml | 13 ++ .../src/main/resources/test-mvc.xml | 0 .../src/main/webapp/WEB-INF/greeting.xml | 0 .../src/main/webapp/WEB-INF/index.jsp | 0 .../webapp/WEB-INF/normal-webapp-servlet.xml | 0 .../webapp/WEB-INF/rootApplicationContext.xml | 0 .../webapp/WEB-INF/secure-webapp-servlet.xml | 0 .../webapp/WEB-INF/secure/view/welcome.jsp | 0 .../src/main/webapp/WEB-INF/view/sample.jsp | 0 .../webapp/WEB-INF/view/scopesExample.jsp | 0 .../main/webapp/WEB-INF/view/viewPage.html | 0 .../src/main/webapp/WEB-INF/view/welcome.jsp | 0 .../src/main/webapp/WEB-INF/web-old.xml | 0 .../src/main/webapp/WEB-INF/welcome.jsp | 0 .../src/main/webapp/index.jsp | 0 .../ControllerAnnotationIntegrationTest.java | 158 +++++++++--------- .../controller/ControllerIntegrationTest.java | 0 ...ssParametersControllerIntegrationTest.java | 0 .../src/test/resources/test-mvc.xml | 24 +++ 43 files changed, 235 insertions(+), 145 deletions(-) create mode 100644 spring-mvc-basics-2/.gitignore create mode 100644 spring-mvc-basics-2/README.md create mode 100644 spring-mvc-basics-2/pom.xml rename {spring-all => spring-mvc-basics-2}/src/main/java/com/baeldung/contexts/Greeting.java (100%) rename {spring-all => spring-mvc-basics-2}/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationAndServletInitializer.java (94%) rename {spring-all => spring-mvc-basics-2}/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationInitializer.java (89%) rename {spring-all => spring-mvc-basics-2}/src/main/java/com/baeldung/contexts/config/ApplicationInitializer.java (100%) rename {spring-all => spring-mvc-basics-2}/src/main/java/com/baeldung/contexts/config/NormalWebAppConfig.java (100%) rename {spring-all => spring-mvc-basics-2}/src/main/java/com/baeldung/contexts/config/RootApplicationConfig.java (100%) rename {spring-all => spring-mvc-basics-2}/src/main/java/com/baeldung/contexts/config/SecureAnnotationsBasedApplicationAndServletInitializer.java (92%) rename {spring-all => spring-mvc-basics-2}/src/main/java/com/baeldung/contexts/config/SecureWebAppConfig.java (100%) rename {spring-all => spring-mvc-basics-2}/src/main/java/com/baeldung/contexts/normal/HelloWorldController.java (100%) rename {spring-all => spring-mvc-basics-2}/src/main/java/com/baeldung/contexts/secure/HelloWorldSecureController.java (100%) rename {spring-all => spring-mvc-basics-2}/src/main/java/com/baeldung/contexts/services/ApplicationContextUtilService.java (100%) rename {spring-all => spring-mvc-basics-2}/src/main/java/com/baeldung/contexts/services/GreeterService.java (100%) rename {spring-all => spring-mvc-basics-2}/src/main/java/org/baeldung/controller/config/StudentControllerConfig.java (77%) rename {spring-all => spring-mvc-basics-2}/src/main/java/org/baeldung/controller/config/WebConfig.java (97%) rename {spring-all => spring-mvc-basics-2}/src/main/java/org/baeldung/controller/controller/PassParametersController.java (100%) rename {spring-all => spring-mvc-basics-2}/src/main/java/org/baeldung/controller/controller/RestAnnotatedController.java (100%) rename {spring-all => spring-mvc-basics-2}/src/main/java/org/baeldung/controller/controller/RestController.java (86%) rename {spring-all => spring-mvc-basics-2}/src/main/java/org/baeldung/controller/controller/TestController.java (100%) rename {spring-all => spring-mvc-basics-2}/src/main/java/org/baeldung/controller/student/Student.java (100%) create mode 100644 spring-mvc-basics-2/src/main/resources/application.properties create mode 100644 spring-mvc-basics-2/src/main/resources/logback.xml rename {spring-all => spring-mvc-basics-2}/src/main/resources/test-mvc.xml (100%) rename {spring-all => spring-mvc-basics-2}/src/main/webapp/WEB-INF/greeting.xml (100%) rename {spring-all => spring-mvc-basics-2}/src/main/webapp/WEB-INF/index.jsp (100%) rename {spring-all => spring-mvc-basics-2}/src/main/webapp/WEB-INF/normal-webapp-servlet.xml (100%) rename {spring-all => spring-mvc-basics-2}/src/main/webapp/WEB-INF/rootApplicationContext.xml (100%) rename {spring-all => spring-mvc-basics-2}/src/main/webapp/WEB-INF/secure-webapp-servlet.xml (100%) rename {spring-all => spring-mvc-basics-2}/src/main/webapp/WEB-INF/secure/view/welcome.jsp (100%) rename {spring-all => spring-mvc-basics-2}/src/main/webapp/WEB-INF/view/sample.jsp (100%) rename {spring-all => spring-mvc-basics-2}/src/main/webapp/WEB-INF/view/scopesExample.jsp (100%) rename {spring-all => spring-mvc-basics-2}/src/main/webapp/WEB-INF/view/viewPage.html (100%) rename {spring-all => spring-mvc-basics-2}/src/main/webapp/WEB-INF/view/welcome.jsp (100%) rename {spring-all => spring-mvc-basics-2}/src/main/webapp/WEB-INF/web-old.xml (100%) rename {spring-all => spring-mvc-basics-2}/src/main/webapp/WEB-INF/welcome.jsp (100%) rename {spring-all => spring-mvc-basics-2}/src/main/webapp/index.jsp (100%) rename {spring-all => spring-mvc-basics-2}/src/test/java/org/baeldung/controller/ControllerAnnotationIntegrationTest.java (97%) rename {spring-all => spring-mvc-basics-2}/src/test/java/org/baeldung/controller/ControllerIntegrationTest.java (100%) rename {spring-all => spring-mvc-basics-2}/src/test/java/org/baeldung/controller/PassParametersControllerIntegrationTest.java (100%) create mode 100644 spring-mvc-basics-2/src/test/resources/test-mvc.xml diff --git a/spring-all/README.md b/spring-all/README.md index 95b87cfee1..96572c1d0e 100644 --- a/spring-all/README.md +++ b/spring-all/README.md @@ -15,14 +15,11 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring - [A Spring Custom Annotation for a Better DAO](http://www.baeldung.com/spring-annotation-bean-pre-processor) - [What’s New in Spring 4.3?](http://www.baeldung.com/whats-new-in-spring-4-3) - [Running Setup Data on Startup in Spring](http://www.baeldung.com/running-setup-logic-on-startup-in-spring) -- [Quick Guide to Spring Controllers](http://www.baeldung.com/spring-controllers) - [Quick Guide to Spring Bean Scopes](http://www.baeldung.com/spring-bean-scopes) - [Custom Scope in Spring](http://www.baeldung.com/spring-custom-scope) - [A CLI with Spring Shell](http://www.baeldung.com/spring-shell-cli) - [JasperReports with Spring](http://www.baeldung.com/spring-jasper) -- [Model, ModelMap, and ModelView in Spring MVC](http://www.baeldung.com/spring-mvc-model-model-map-model-view) - [@Order in Spring](http://www.baeldung.com/spring-order) -- [Spring Web Contexts](http://www.baeldung.com/spring-web-contexts) - [Spring @Primary Annotation](http://www.baeldung.com/spring-primary) - [Spring Events](https://www.baeldung.com/spring-events) - [Spring Null-Safety Annotations](https://www.baeldung.com/spring-null-safety-annotations) diff --git a/spring-mvc-basics-2/.gitignore b/spring-mvc-basics-2/.gitignore new file mode 100644 index 0000000000..83c05e60c8 --- /dev/null +++ b/spring-mvc-basics-2/.gitignore @@ -0,0 +1,13 @@ +*.class + +#folders# +/target +/neoDb* +/data +/src/main/webapp/WEB-INF/classes +*/META-INF/* + +# Packaged files # +*.jar +*.war +*.ear \ No newline at end of file diff --git a/spring-mvc-basics-2/README.md b/spring-mvc-basics-2/README.md new file mode 100644 index 0000000000..8cf753bbdc --- /dev/null +++ b/spring-mvc-basics-2/README.md @@ -0,0 +1,11 @@ +========= + +## Spring MVC Basics with Java Configuration Example Project + +### The Course +The "REST With Spring" Classes: http://bit.ly/restwithspring + +### Relevant Articles: +- [Quick Guide to Spring Controllers](http://www.baeldung.com/spring-controllers)- [The Spring @Controller and @RestController Annotations](http://www.baeldung.com/spring-controller-vs-restcontroller) +- [Model, ModelMap, and ModelView in Spring MVC](http://www.baeldung.com/spring-mvc-model-model-map-model-view) +- [Spring Web Contexts](http://www.baeldung.com/spring-web-contexts) \ No newline at end of file diff --git a/spring-mvc-basics-2/pom.xml b/spring-mvc-basics-2/pom.xml new file mode 100644 index 0000000000..706459a268 --- /dev/null +++ b/spring-mvc-basics-2/pom.xml @@ -0,0 +1,37 @@ + + + 4.0.0 + spring-mvc-basics-2 + spring-mvc-basics-2 + war + + + parent-boot-2 + com.baeldung + 0.0.1-SNAPSHOT + ../parent-boot-2 + + + + + com.fasterxml.jackson.core + jackson-databind + + + org.springframework + spring-web + + + javax.servlet + javax.servlet-api + provided + + + org.springframework + spring-webmvc + + + + \ No newline at end of file diff --git a/spring-all/src/main/java/com/baeldung/contexts/Greeting.java b/spring-mvc-basics-2/src/main/java/com/baeldung/contexts/Greeting.java similarity index 100% rename from spring-all/src/main/java/com/baeldung/contexts/Greeting.java rename to spring-mvc-basics-2/src/main/java/com/baeldung/contexts/Greeting.java diff --git a/spring-all/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationAndServletInitializer.java b/spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationAndServletInitializer.java similarity index 94% rename from spring-all/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationAndServletInitializer.java rename to spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationAndServletInitializer.java index 318dc5ea65..1dffad637a 100644 --- a/spring-all/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationAndServletInitializer.java +++ b/spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationAndServletInitializer.java @@ -2,7 +2,6 @@ package com.baeldung.contexts.config; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; -import org.springframework.web.servlet.support.AbstractDispatcherServletInitializer; public class AnnotationsBasedApplicationAndServletInitializer //extends AbstractDispatcherServletInitializer { diff --git a/spring-all/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationInitializer.java b/spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationInitializer.java similarity index 89% rename from spring-all/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationInitializer.java rename to spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationInitializer.java index b685d2fa83..ffa80d58bf 100644 --- a/spring-all/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationInitializer.java +++ b/spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationInitializer.java @@ -1,6 +1,5 @@ package com.baeldung.contexts.config; -import org.springframework.web.context.AbstractContextLoaderInitializer; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; diff --git a/spring-all/src/main/java/com/baeldung/contexts/config/ApplicationInitializer.java b/spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/ApplicationInitializer.java similarity index 100% rename from spring-all/src/main/java/com/baeldung/contexts/config/ApplicationInitializer.java rename to spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/ApplicationInitializer.java diff --git a/spring-all/src/main/java/com/baeldung/contexts/config/NormalWebAppConfig.java b/spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/NormalWebAppConfig.java similarity index 100% rename from spring-all/src/main/java/com/baeldung/contexts/config/NormalWebAppConfig.java rename to spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/NormalWebAppConfig.java diff --git a/spring-all/src/main/java/com/baeldung/contexts/config/RootApplicationConfig.java b/spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/RootApplicationConfig.java similarity index 100% rename from spring-all/src/main/java/com/baeldung/contexts/config/RootApplicationConfig.java rename to spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/RootApplicationConfig.java diff --git a/spring-all/src/main/java/com/baeldung/contexts/config/SecureAnnotationsBasedApplicationAndServletInitializer.java b/spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/SecureAnnotationsBasedApplicationAndServletInitializer.java similarity index 92% rename from spring-all/src/main/java/com/baeldung/contexts/config/SecureAnnotationsBasedApplicationAndServletInitializer.java rename to spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/SecureAnnotationsBasedApplicationAndServletInitializer.java index d74d4a6c63..580e86d2b5 100644 --- a/spring-all/src/main/java/com/baeldung/contexts/config/SecureAnnotationsBasedApplicationAndServletInitializer.java +++ b/spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/SecureAnnotationsBasedApplicationAndServletInitializer.java @@ -2,7 +2,6 @@ package com.baeldung.contexts.config; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; -import org.springframework.web.servlet.support.AbstractDispatcherServletInitializer; public class SecureAnnotationsBasedApplicationAndServletInitializer// extends AbstractDispatcherServletInitializer { diff --git a/spring-all/src/main/java/com/baeldung/contexts/config/SecureWebAppConfig.java b/spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/SecureWebAppConfig.java similarity index 100% rename from spring-all/src/main/java/com/baeldung/contexts/config/SecureWebAppConfig.java rename to spring-mvc-basics-2/src/main/java/com/baeldung/contexts/config/SecureWebAppConfig.java diff --git a/spring-all/src/main/java/com/baeldung/contexts/normal/HelloWorldController.java b/spring-mvc-basics-2/src/main/java/com/baeldung/contexts/normal/HelloWorldController.java similarity index 100% rename from spring-all/src/main/java/com/baeldung/contexts/normal/HelloWorldController.java rename to spring-mvc-basics-2/src/main/java/com/baeldung/contexts/normal/HelloWorldController.java diff --git a/spring-all/src/main/java/com/baeldung/contexts/secure/HelloWorldSecureController.java b/spring-mvc-basics-2/src/main/java/com/baeldung/contexts/secure/HelloWorldSecureController.java similarity index 100% rename from spring-all/src/main/java/com/baeldung/contexts/secure/HelloWorldSecureController.java rename to spring-mvc-basics-2/src/main/java/com/baeldung/contexts/secure/HelloWorldSecureController.java diff --git a/spring-all/src/main/java/com/baeldung/contexts/services/ApplicationContextUtilService.java b/spring-mvc-basics-2/src/main/java/com/baeldung/contexts/services/ApplicationContextUtilService.java similarity index 100% rename from spring-all/src/main/java/com/baeldung/contexts/services/ApplicationContextUtilService.java rename to spring-mvc-basics-2/src/main/java/com/baeldung/contexts/services/ApplicationContextUtilService.java diff --git a/spring-all/src/main/java/com/baeldung/contexts/services/GreeterService.java b/spring-mvc-basics-2/src/main/java/com/baeldung/contexts/services/GreeterService.java similarity index 100% rename from spring-all/src/main/java/com/baeldung/contexts/services/GreeterService.java rename to spring-mvc-basics-2/src/main/java/com/baeldung/contexts/services/GreeterService.java diff --git a/spring-all/src/main/java/org/baeldung/controller/config/StudentControllerConfig.java b/spring-mvc-basics-2/src/main/java/org/baeldung/controller/config/StudentControllerConfig.java similarity index 77% rename from spring-all/src/main/java/org/baeldung/controller/config/StudentControllerConfig.java rename to spring-mvc-basics-2/src/main/java/org/baeldung/controller/config/StudentControllerConfig.java index 85305e057f..218418ecc8 100644 --- a/spring-all/src/main/java/org/baeldung/controller/config/StudentControllerConfig.java +++ b/spring-mvc-basics-2/src/main/java/org/baeldung/controller/config/StudentControllerConfig.java @@ -1,32 +1,28 @@ -package org.baeldung.controller.config; - -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.ServletRegistration; - -import org.springframework.context.support.GenericApplicationContext; -import org.springframework.web.WebApplicationInitializer; -import org.springframework.web.context.ContextLoaderListener; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; -import org.springframework.web.context.support.GenericWebApplicationContext; -import org.springframework.web.servlet.DispatcherServlet; - -public class StudentControllerConfig //implements WebApplicationInitializer -{ - - //uncomment to run the student controller example - //@Override - public void onStartup(ServletContext sc) throws ServletException { - AnnotationConfigWebApplicationContext root = new AnnotationConfigWebApplicationContext(); - root.register(WebConfig.class); - root.setServletContext(sc); - sc.addListener(new ContextLoaderListener(root)); - - DispatcherServlet dv = new DispatcherServlet(root); - - ServletRegistration.Dynamic appServlet = sc.addServlet("test-mvc", dv); - appServlet.setLoadOnStartup(1); - appServlet.addMapping("/test/*"); - } -} +package org.baeldung.controller.config; + +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.ServletRegistration; + +import org.springframework.web.context.ContextLoaderListener; +import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; +import org.springframework.web.servlet.DispatcherServlet; + +public class StudentControllerConfig //implements WebApplicationInitializer +{ + + //uncomment to run the student controller example + //@Override + public void onStartup(ServletContext sc) throws ServletException { + AnnotationConfigWebApplicationContext root = new AnnotationConfigWebApplicationContext(); + root.register(WebConfig.class); + root.setServletContext(sc); + sc.addListener(new ContextLoaderListener(root)); + + DispatcherServlet dv = new DispatcherServlet(root); + + ServletRegistration.Dynamic appServlet = sc.addServlet("test-mvc", dv); + appServlet.setLoadOnStartup(1); + appServlet.addMapping("/test/*"); + } +} diff --git a/spring-all/src/main/java/org/baeldung/controller/config/WebConfig.java b/spring-mvc-basics-2/src/main/java/org/baeldung/controller/config/WebConfig.java similarity index 97% rename from spring-all/src/main/java/org/baeldung/controller/config/WebConfig.java rename to spring-mvc-basics-2/src/main/java/org/baeldung/controller/config/WebConfig.java index a17210f3b8..485c1d9032 100644 --- a/spring-all/src/main/java/org/baeldung/controller/config/WebConfig.java +++ b/spring-mvc-basics-2/src/main/java/org/baeldung/controller/config/WebConfig.java @@ -1,28 +1,28 @@ -package org.baeldung.controller.config; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.ViewResolver; -import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; -import org.springframework.web.servlet.config.annotation.EnableWebMvc; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import org.springframework.web.servlet.view.InternalResourceViewResolver; - -@Configuration -@EnableWebMvc -@ComponentScan(basePackages = { "org.baeldung.controller.controller", "org.baeldung.controller.config" }) -public class WebConfig implements WebMvcConfigurer { - @Override - public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { - configurer.enable(); - } - - @Bean - public ViewResolver viewResolver() { - InternalResourceViewResolver bean = new InternalResourceViewResolver(); - bean.setPrefix("/WEB-INF/"); - bean.setSuffix(".jsp"); - return bean; - } +package org.baeldung.controller.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.ViewResolver; +import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import org.springframework.web.servlet.view.InternalResourceViewResolver; + +@Configuration +@EnableWebMvc +@ComponentScan(basePackages = { "org.baeldung.controller.controller", "org.baeldung.controller.config" }) +public class WebConfig implements WebMvcConfigurer { + @Override + public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { + configurer.enable(); + } + + @Bean + public ViewResolver viewResolver() { + InternalResourceViewResolver bean = new InternalResourceViewResolver(); + bean.setPrefix("/WEB-INF/"); + bean.setSuffix(".jsp"); + return bean; + } } \ No newline at end of file diff --git a/spring-all/src/main/java/org/baeldung/controller/controller/PassParametersController.java b/spring-mvc-basics-2/src/main/java/org/baeldung/controller/controller/PassParametersController.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/controller/controller/PassParametersController.java rename to spring-mvc-basics-2/src/main/java/org/baeldung/controller/controller/PassParametersController.java diff --git a/spring-all/src/main/java/org/baeldung/controller/controller/RestAnnotatedController.java b/spring-mvc-basics-2/src/main/java/org/baeldung/controller/controller/RestAnnotatedController.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/controller/controller/RestAnnotatedController.java rename to spring-mvc-basics-2/src/main/java/org/baeldung/controller/controller/RestAnnotatedController.java diff --git a/spring-all/src/main/java/org/baeldung/controller/controller/RestController.java b/spring-mvc-basics-2/src/main/java/org/baeldung/controller/controller/RestController.java similarity index 86% rename from spring-all/src/main/java/org/baeldung/controller/controller/RestController.java rename to spring-mvc-basics-2/src/main/java/org/baeldung/controller/controller/RestController.java index 4b38b4dd34..4e5d1d9e17 100644 --- a/spring-all/src/main/java/org/baeldung/controller/controller/RestController.java +++ b/spring-mvc-basics-2/src/main/java/org/baeldung/controller/controller/RestController.java @@ -10,7 +10,8 @@ import org.springframework.web.bind.annotation.ResponseBody; public class RestController { @GetMapping(value = "/student/{studentId}") - public @ResponseBody Student getTestData(@PathVariable Integer studentId) { + public @ResponseBody + Student getTestData(@PathVariable Integer studentId) { Student student = new Student(); student.setName("Peter"); student.setId(studentId); diff --git a/spring-all/src/main/java/org/baeldung/controller/controller/TestController.java b/spring-mvc-basics-2/src/main/java/org/baeldung/controller/controller/TestController.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/controller/controller/TestController.java rename to spring-mvc-basics-2/src/main/java/org/baeldung/controller/controller/TestController.java diff --git a/spring-all/src/main/java/org/baeldung/controller/student/Student.java b/spring-mvc-basics-2/src/main/java/org/baeldung/controller/student/Student.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/controller/student/Student.java rename to spring-mvc-basics-2/src/main/java/org/baeldung/controller/student/Student.java diff --git a/spring-mvc-basics-2/src/main/resources/application.properties b/spring-mvc-basics-2/src/main/resources/application.properties new file mode 100644 index 0000000000..709574239b --- /dev/null +++ b/spring-mvc-basics-2/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.main.allow-bean-definition-overriding=true \ No newline at end of file diff --git a/spring-mvc-basics-2/src/main/resources/logback.xml b/spring-mvc-basics-2/src/main/resources/logback.xml new file mode 100644 index 0000000000..7d900d8ea8 --- /dev/null +++ b/spring-mvc-basics-2/src/main/resources/logback.xml @@ -0,0 +1,13 @@ + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + \ No newline at end of file diff --git a/spring-all/src/main/resources/test-mvc.xml b/spring-mvc-basics-2/src/main/resources/test-mvc.xml similarity index 100% rename from spring-all/src/main/resources/test-mvc.xml rename to spring-mvc-basics-2/src/main/resources/test-mvc.xml diff --git a/spring-all/src/main/webapp/WEB-INF/greeting.xml b/spring-mvc-basics-2/src/main/webapp/WEB-INF/greeting.xml similarity index 100% rename from spring-all/src/main/webapp/WEB-INF/greeting.xml rename to spring-mvc-basics-2/src/main/webapp/WEB-INF/greeting.xml diff --git a/spring-all/src/main/webapp/WEB-INF/index.jsp b/spring-mvc-basics-2/src/main/webapp/WEB-INF/index.jsp similarity index 100% rename from spring-all/src/main/webapp/WEB-INF/index.jsp rename to spring-mvc-basics-2/src/main/webapp/WEB-INF/index.jsp diff --git a/spring-all/src/main/webapp/WEB-INF/normal-webapp-servlet.xml b/spring-mvc-basics-2/src/main/webapp/WEB-INF/normal-webapp-servlet.xml similarity index 100% rename from spring-all/src/main/webapp/WEB-INF/normal-webapp-servlet.xml rename to spring-mvc-basics-2/src/main/webapp/WEB-INF/normal-webapp-servlet.xml diff --git a/spring-all/src/main/webapp/WEB-INF/rootApplicationContext.xml b/spring-mvc-basics-2/src/main/webapp/WEB-INF/rootApplicationContext.xml similarity index 100% rename from spring-all/src/main/webapp/WEB-INF/rootApplicationContext.xml rename to spring-mvc-basics-2/src/main/webapp/WEB-INF/rootApplicationContext.xml diff --git a/spring-all/src/main/webapp/WEB-INF/secure-webapp-servlet.xml b/spring-mvc-basics-2/src/main/webapp/WEB-INF/secure-webapp-servlet.xml similarity index 100% rename from spring-all/src/main/webapp/WEB-INF/secure-webapp-servlet.xml rename to spring-mvc-basics-2/src/main/webapp/WEB-INF/secure-webapp-servlet.xml diff --git a/spring-all/src/main/webapp/WEB-INF/secure/view/welcome.jsp b/spring-mvc-basics-2/src/main/webapp/WEB-INF/secure/view/welcome.jsp similarity index 100% rename from spring-all/src/main/webapp/WEB-INF/secure/view/welcome.jsp rename to spring-mvc-basics-2/src/main/webapp/WEB-INF/secure/view/welcome.jsp diff --git a/spring-all/src/main/webapp/WEB-INF/view/sample.jsp b/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/sample.jsp similarity index 100% rename from spring-all/src/main/webapp/WEB-INF/view/sample.jsp rename to spring-mvc-basics-2/src/main/webapp/WEB-INF/view/sample.jsp diff --git a/spring-all/src/main/webapp/WEB-INF/view/scopesExample.jsp b/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/scopesExample.jsp similarity index 100% rename from spring-all/src/main/webapp/WEB-INF/view/scopesExample.jsp rename to spring-mvc-basics-2/src/main/webapp/WEB-INF/view/scopesExample.jsp diff --git a/spring-all/src/main/webapp/WEB-INF/view/viewPage.html b/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/viewPage.html similarity index 100% rename from spring-all/src/main/webapp/WEB-INF/view/viewPage.html rename to spring-mvc-basics-2/src/main/webapp/WEB-INF/view/viewPage.html diff --git a/spring-all/src/main/webapp/WEB-INF/view/welcome.jsp b/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/welcome.jsp similarity index 100% rename from spring-all/src/main/webapp/WEB-INF/view/welcome.jsp rename to spring-mvc-basics-2/src/main/webapp/WEB-INF/view/welcome.jsp diff --git a/spring-all/src/main/webapp/WEB-INF/web-old.xml b/spring-mvc-basics-2/src/main/webapp/WEB-INF/web-old.xml similarity index 100% rename from spring-all/src/main/webapp/WEB-INF/web-old.xml rename to spring-mvc-basics-2/src/main/webapp/WEB-INF/web-old.xml diff --git a/spring-all/src/main/webapp/WEB-INF/welcome.jsp b/spring-mvc-basics-2/src/main/webapp/WEB-INF/welcome.jsp similarity index 100% rename from spring-all/src/main/webapp/WEB-INF/welcome.jsp rename to spring-mvc-basics-2/src/main/webapp/WEB-INF/welcome.jsp diff --git a/spring-all/src/main/webapp/index.jsp b/spring-mvc-basics-2/src/main/webapp/index.jsp similarity index 100% rename from spring-all/src/main/webapp/index.jsp rename to spring-mvc-basics-2/src/main/webapp/index.jsp diff --git a/spring-all/src/test/java/org/baeldung/controller/ControllerAnnotationIntegrationTest.java b/spring-mvc-basics-2/src/test/java/org/baeldung/controller/ControllerAnnotationIntegrationTest.java similarity index 97% rename from spring-all/src/test/java/org/baeldung/controller/ControllerAnnotationIntegrationTest.java rename to spring-mvc-basics-2/src/test/java/org/baeldung/controller/ControllerAnnotationIntegrationTest.java index 82c8704360..e32d9f7aca 100644 --- a/spring-all/src/test/java/org/baeldung/controller/ControllerAnnotationIntegrationTest.java +++ b/spring-mvc-basics-2/src/test/java/org/baeldung/controller/ControllerAnnotationIntegrationTest.java @@ -1,79 +1,79 @@ -package org.baeldung.controller; - -import com.fasterxml.jackson.databind.ObjectMapper; -import org.baeldung.controller.config.WebConfig; -import org.baeldung.controller.student.Student; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.AnnotationConfigWebContextLoader; -import org.springframework.test.context.web.WebAppConfiguration; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.servlet.ModelAndView; - -@RunWith(SpringJUnit4ClassRunner.class) -@WebAppConfiguration -@ContextConfiguration(classes = { WebConfig.class }, loader = AnnotationConfigWebContextLoader.class) -public class ControllerAnnotationIntegrationTest { - - private MockMvc mockMvc; - - @Autowired - private WebApplicationContext wac; - - private Student selectedStudent; - - @Before - public void setUp() { - this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build(); - - selectedStudent = new Student(); - selectedStudent.setId(1); - selectedStudent.setName("Peter"); - } - - @Test - public void testTestController() throws Exception { - - ModelAndView mv = this.mockMvc.perform(MockMvcRequestBuilders.get("/test/")).andReturn().getModelAndView(); - - // validate modal data - Assert.assertSame(mv.getModelMap().get("data").toString(), "Welcome home man"); - - // validate view name - Assert.assertSame(mv.getViewName(), "welcome"); - } - - @Test - public void testRestController() throws Exception { - - String responseBody = this.mockMvc.perform(MockMvcRequestBuilders.get("/student/{studentId}", 1)).andReturn().getResponse().getContentAsString(); - - ObjectMapper reader = new ObjectMapper(); - - Student studentDetails = reader.readValue(responseBody, Student.class); - - Assert.assertEquals(selectedStudent, studentDetails); - - } - - @Test - public void testRestAnnotatedController() throws Exception { - - String responseBody = this.mockMvc.perform(MockMvcRequestBuilders.get("/annotated/student/{studentId}", 1)).andReturn().getResponse().getContentAsString(); - - ObjectMapper reader = new ObjectMapper(); - - Student studentDetails = reader.readValue(responseBody, Student.class); - - Assert.assertEquals(selectedStudent, studentDetails); - } - -} +package org.baeldung.controller; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.baeldung.controller.config.WebConfig; +import org.baeldung.controller.student.Student; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.web.AnnotationConfigWebContextLoader; +import org.springframework.test.context.web.WebAppConfiguration; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; +import org.springframework.web.servlet.ModelAndView; + +@RunWith(SpringJUnit4ClassRunner.class) +@WebAppConfiguration +@ContextConfiguration(classes = { WebConfig.class }, loader = AnnotationConfigWebContextLoader.class) +public class ControllerAnnotationIntegrationTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext wac; + + private Student selectedStudent; + + @Before + public void setUp() { + this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build(); + + selectedStudent = new Student(); + selectedStudent.setId(1); + selectedStudent.setName("Peter"); + } + + @Test + public void testTestController() throws Exception { + + ModelAndView mv = this.mockMvc.perform(MockMvcRequestBuilders.get("/test/")).andReturn().getModelAndView(); + + // validate modal data + Assert.assertSame(mv.getModelMap().get("data").toString(), "Welcome home man"); + + // validate view name + Assert.assertSame(mv.getViewName(), "welcome"); + } + + @Test + public void testRestController() throws Exception { + + String responseBody = this.mockMvc.perform(MockMvcRequestBuilders.get("/student/{studentId}", 1)).andReturn().getResponse().getContentAsString(); + + ObjectMapper reader = new ObjectMapper(); + + Student studentDetails = reader.readValue(responseBody, Student.class); + + Assert.assertEquals(selectedStudent, studentDetails); + + } + + @Test + public void testRestAnnotatedController() throws Exception { + + String responseBody = this.mockMvc.perform(MockMvcRequestBuilders.get("/annotated/student/{studentId}", 1)).andReturn().getResponse().getContentAsString(); + + ObjectMapper reader = new ObjectMapper(); + + Student studentDetails = reader.readValue(responseBody, Student.class); + + Assert.assertEquals(selectedStudent, studentDetails); + } + +} diff --git a/spring-all/src/test/java/org/baeldung/controller/ControllerIntegrationTest.java b/spring-mvc-basics-2/src/test/java/org/baeldung/controller/ControllerIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/controller/ControllerIntegrationTest.java rename to spring-mvc-basics-2/src/test/java/org/baeldung/controller/ControllerIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/controller/PassParametersControllerIntegrationTest.java b/spring-mvc-basics-2/src/test/java/org/baeldung/controller/PassParametersControllerIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/controller/PassParametersControllerIntegrationTest.java rename to spring-mvc-basics-2/src/test/java/org/baeldung/controller/PassParametersControllerIntegrationTest.java diff --git a/spring-mvc-basics-2/src/test/resources/test-mvc.xml b/spring-mvc-basics-2/src/test/resources/test-mvc.xml new file mode 100644 index 0000000000..15f950ed4f --- /dev/null +++ b/spring-mvc-basics-2/src/test/resources/test-mvc.xml @@ -0,0 +1,24 @@ + + + + + + + + /WEB-INF/ + + + .jsp + + + \ No newline at end of file From f8ca31c99bd40a282d0d796d2cc873e76c3006d5 Mon Sep 17 00:00:00 2001 From: Denis Date: Tue, 10 Sep 2019 22:49:19 +0200 Subject: [PATCH 027/199] extract jasperreports to libraries-2 module --- libraries-2/README.md | 1 + libraries-2/pom.xml | 35 +++++++++++++++++-- .../com}/baeldung/jasperreports/Main.java | 7 ++-- .../jasperreports/SimpleReportExporter.java | 15 +++----- .../jasperreports/SimpleReportFiller.java | 17 ++++----- .../config/JasperRerportsSimpleConfig.java | 9 ++--- .../src/main/resources/employee-schema.sql | 0 .../main/resources/employeeEmailReport.jrxml | 0 .../src/main/resources/employeeReport.jrxml | 0 spring-all/README.md | 3 +- 10 files changed, 55 insertions(+), 32 deletions(-) rename {spring-all/src/main/java/org => libraries-2/src/main/java/com}/baeldung/jasperreports/Main.java (93%) rename {spring-all/src/main/java/org => libraries-2/src/main/java/com}/baeldung/jasperreports/SimpleReportExporter.java (87%) rename {spring-all/src/main/java/org => libraries-2/src/main/java/com}/baeldung/jasperreports/SimpleReportFiller.java (88%) rename {spring-all/src/main/java/org => libraries-2/src/main/java/com}/baeldung/jasperreports/config/JasperRerportsSimpleConfig.java (83%) rename {spring-all => libraries-2}/src/main/resources/employee-schema.sql (100%) rename {spring-all => libraries-2}/src/main/resources/employeeEmailReport.jrxml (100%) rename {spring-all => libraries-2}/src/main/resources/employeeReport.jrxml (100%) diff --git a/libraries-2/README.md b/libraries-2/README.md index 400aa475d1..a9f0e86a5f 100644 --- a/libraries-2/README.md +++ b/libraries-2/README.md @@ -11,3 +11,4 @@ - [Matrix Multiplication in Java](https://www.baeldung.com/java-matrix-multiplication) - [Guide to MapDB](https://www.baeldung.com/mapdb) - [A Guide to Apache Mesos](https://www.baeldung.com/apache-mesos) +- [JasperReports with Spring](http://www.baeldung.com/spring-jasper) \ No newline at end of file diff --git a/libraries-2/pom.xml b/libraries-2/pom.xml index 708006fa15..1ffaf0bbd7 100644 --- a/libraries-2/pom.xml +++ b/libraries-2/pom.xml @@ -1,7 +1,7 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 libraries-2 libraries-2 @@ -112,10 +112,36 @@ mesos ${mesos.library.version} + + net.sf.jasperreports + jasperreports + ${jasperreports.version} + + + commons-logging + commons-logging + + + + + org.hsqldb + hsqldb + ${hsqldb.version} + + + org.springframework + spring-context + ${spring.version} + + + org.springframework + spring-jdbc + ${spring.version} + - 3.0.7 + 3.0.7 3.6.2 4.8.28 6.0.0.Final @@ -129,5 +155,8 @@ 2.8.5 3.14.2 4.1.2 + 6.6.0 + 5.1.9.RELEASE + 2.5.0 diff --git a/spring-all/src/main/java/org/baeldung/jasperreports/Main.java b/libraries-2/src/main/java/com/baeldung/jasperreports/Main.java similarity index 93% rename from spring-all/src/main/java/org/baeldung/jasperreports/Main.java rename to libraries-2/src/main/java/com/baeldung/jasperreports/Main.java index 79aee100a6..1c75c161fb 100644 --- a/spring-all/src/main/java/org/baeldung/jasperreports/Main.java +++ b/libraries-2/src/main/java/com/baeldung/jasperreports/Main.java @@ -1,9 +1,10 @@ -package org.baeldung.jasperreports; +package com.baeldung.jasperreports; + +import com.baeldung.jasperreports.config.JasperRerportsSimpleConfig; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; import java.util.HashMap; import java.util.Map; -import org.baeldung.jasperreports.config.JasperRerportsSimpleConfig; -import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class Main { public static void main(String[] args) { diff --git a/spring-all/src/main/java/org/baeldung/jasperreports/SimpleReportExporter.java b/libraries-2/src/main/java/com/baeldung/jasperreports/SimpleReportExporter.java similarity index 87% rename from spring-all/src/main/java/org/baeldung/jasperreports/SimpleReportExporter.java rename to libraries-2/src/main/java/com/baeldung/jasperreports/SimpleReportExporter.java index 103bb37eb4..fa4b25707b 100644 --- a/spring-all/src/main/java/org/baeldung/jasperreports/SimpleReportExporter.java +++ b/libraries-2/src/main/java/com/baeldung/jasperreports/SimpleReportExporter.java @@ -1,22 +1,17 @@ -package org.baeldung.jasperreports; +package com.baeldung.jasperreports; -import java.util.logging.Level; -import java.util.logging.Logger; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.export.HtmlExporter; import net.sf.jasperreports.engine.export.JRCsvExporter; import net.sf.jasperreports.engine.export.JRPdfExporter; import net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter; -import net.sf.jasperreports.export.SimpleExporterInput; -import net.sf.jasperreports.export.SimpleHtmlExporterOutput; -import net.sf.jasperreports.export.SimpleOutputStreamExporterOutput; -import net.sf.jasperreports.export.SimplePdfExporterConfiguration; -import net.sf.jasperreports.export.SimplePdfReportConfiguration; -import net.sf.jasperreports.export.SimpleWriterExporterOutput; -import net.sf.jasperreports.export.SimpleXlsxReportConfiguration; +import net.sf.jasperreports.export.*; import org.springframework.stereotype.Component; +import java.util.logging.Level; +import java.util.logging.Logger; + @Component public class SimpleReportExporter { diff --git a/spring-all/src/main/java/org/baeldung/jasperreports/SimpleReportFiller.java b/libraries-2/src/main/java/com/baeldung/jasperreports/SimpleReportFiller.java similarity index 88% rename from spring-all/src/main/java/org/baeldung/jasperreports/SimpleReportFiller.java rename to libraries-2/src/main/java/com/baeldung/jasperreports/SimpleReportFiller.java index 08891d940a..5f0f7e1345 100644 --- a/spring-all/src/main/java/org/baeldung/jasperreports/SimpleReportFiller.java +++ b/libraries-2/src/main/java/com/baeldung/jasperreports/SimpleReportFiller.java @@ -1,20 +1,17 @@ -package org.baeldung.jasperreports; +package com.baeldung.jasperreports; +import net.sf.jasperreports.engine.*; +import net.sf.jasperreports.engine.util.JRSaver; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.sql.DataSource; import java.io.InputStream; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import javax.sql.DataSource; -import net.sf.jasperreports.engine.JRException; -import net.sf.jasperreports.engine.JasperCompileManager; -import net.sf.jasperreports.engine.JasperFillManager; -import net.sf.jasperreports.engine.JasperPrint; -import net.sf.jasperreports.engine.JasperReport; -import net.sf.jasperreports.engine.util.JRSaver; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; @Component public class SimpleReportFiller { diff --git a/spring-all/src/main/java/org/baeldung/jasperreports/config/JasperRerportsSimpleConfig.java b/libraries-2/src/main/java/com/baeldung/jasperreports/config/JasperRerportsSimpleConfig.java similarity index 83% rename from spring-all/src/main/java/org/baeldung/jasperreports/config/JasperRerportsSimpleConfig.java rename to libraries-2/src/main/java/com/baeldung/jasperreports/config/JasperRerportsSimpleConfig.java index 5cc2d894c9..10bae0052f 100644 --- a/spring-all/src/main/java/org/baeldung/jasperreports/config/JasperRerportsSimpleConfig.java +++ b/libraries-2/src/main/java/com/baeldung/jasperreports/config/JasperRerportsSimpleConfig.java @@ -1,13 +1,14 @@ -package org.baeldung.jasperreports.config; +package com.baeldung.jasperreports.config; -import javax.sql.DataSource; -import org.baeldung.jasperreports.SimpleReportExporter; -import org.baeldung.jasperreports.SimpleReportFiller; +import com.baeldung.jasperreports.SimpleReportExporter; +import com.baeldung.jasperreports.SimpleReportFiller; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType; +import javax.sql.DataSource; + @Configuration public class JasperRerportsSimpleConfig { diff --git a/spring-all/src/main/resources/employee-schema.sql b/libraries-2/src/main/resources/employee-schema.sql similarity index 100% rename from spring-all/src/main/resources/employee-schema.sql rename to libraries-2/src/main/resources/employee-schema.sql diff --git a/spring-all/src/main/resources/employeeEmailReport.jrxml b/libraries-2/src/main/resources/employeeEmailReport.jrxml similarity index 100% rename from spring-all/src/main/resources/employeeEmailReport.jrxml rename to libraries-2/src/main/resources/employeeEmailReport.jrxml diff --git a/spring-all/src/main/resources/employeeReport.jrxml b/libraries-2/src/main/resources/employeeReport.jrxml similarity index 100% rename from spring-all/src/main/resources/employeeReport.jrxml rename to libraries-2/src/main/resources/employeeReport.jrxml diff --git a/spring-all/README.md b/spring-all/README.md index 96572c1d0e..16da3bc8a1 100644 --- a/spring-all/README.md +++ b/spring-all/README.md @@ -18,9 +18,8 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring - [Quick Guide to Spring Bean Scopes](http://www.baeldung.com/spring-bean-scopes) - [Custom Scope in Spring](http://www.baeldung.com/spring-custom-scope) - [A CLI with Spring Shell](http://www.baeldung.com/spring-shell-cli) -- [JasperReports with Spring](http://www.baeldung.com/spring-jasper) - [@Order in Spring](http://www.baeldung.com/spring-order) - [Spring @Primary Annotation](http://www.baeldung.com/spring-primary) - [Spring Events](https://www.baeldung.com/spring-events) - [Spring Null-Safety Annotations](https://www.baeldung.com/spring-null-safety-annotations) -- [Using @Autowired in Abstract Classes](https://www.baeldung.com/spring-autowired-abstract-class) +- [Using @Autowired in Abstract Classes](https://www.baeldung.com/spring-autowired-abstract-class) \ No newline at end of file From 369f73e7b38a214ed4337604b732d0879dfa7c4e Mon Sep 17 00:00:00 2001 From: "m.raheem" Date: Sun, 15 Sep 2019 00:32:01 +0200 Subject: [PATCH 028/199] enum deserialization --- .../com/baeldung/jackson/entities/City.java | 22 ++++++++++ .../com/baeldung/jackson/enums/Distance.java | 38 +++++++++++++--- .../JacksonEnumSerializationUnitTest.java | 43 ++++++++++++++++++- 3 files changed, 95 insertions(+), 8 deletions(-) create mode 100644 jackson/src/main/java/com/baeldung/jackson/entities/City.java diff --git a/jackson/src/main/java/com/baeldung/jackson/entities/City.java b/jackson/src/main/java/com/baeldung/jackson/entities/City.java new file mode 100644 index 0000000000..d4c5d715de --- /dev/null +++ b/jackson/src/main/java/com/baeldung/jackson/entities/City.java @@ -0,0 +1,22 @@ +package com.baeldung.jackson.entities; + +import com.baeldung.jackson.enums.Distance; + +public class City { + + private Distance distance; + + public Distance getDistance() { + return distance; + } + + public void setDistance(Distance distance) { + this.distance = distance; + } + + @Override + public String toString() { + return "City [distance=" + distance + "]"; + } + +} diff --git a/jackson/src/main/java/com/baeldung/jackson/enums/Distance.java b/jackson/src/main/java/com/baeldung/jackson/enums/Distance.java index 8026eedc44..fdda32d16c 100644 --- a/jackson/src/main/java/com/baeldung/jackson/enums/Distance.java +++ b/jackson/src/main/java/com/baeldung/jackson/enums/Distance.java @@ -1,20 +1,29 @@ package com.baeldung.jackson.enums; import com.baeldung.jackson.serialization.DistanceSerializer; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; /** * Use @JsonFormat to handle representation of Enum as JSON (available since Jackson 2.1.2) * Use @JsonSerialize to configure a custom Jackson serializer */ -// @JsonFormat(shape = JsonFormat.Shape.OBJECT) -@JsonSerialize(using = DistanceSerializer.class) +@JsonFormat(shape = JsonFormat.Shape.OBJECT) +//@JsonSerialize(using = DistanceSerializer.class) public enum Distance { - KILOMETER("km", 1000), MILE("miles", 1609.34), METER("meters", 1), INCH("inches", 0.0254), CENTIMETER("cm", 0.01), MILLIMETER("mm", 0.001); + @JsonProperty("distance-in-km") + KILOMETER("km", 1000), + @JsonProperty("distance-in-miles") + MILE("miles", 1609.34), METER("meters", 1), INCH("inches", 0.0254), CENTIMETER("cm", 0.01), + MILLIMETER("mm", 0.001); private String unit; private final double meters; - + private Distance(String unit, double meters) { this.unit = unit; this.meters = meters; @@ -23,11 +32,11 @@ public enum Distance { /** * Use @JsonValue to control marshalling output for an enum */ - // @JsonValue +// @JsonValue public double getMeters() { return meters; } - + public String getUnit() { return unit; } @@ -35,7 +44,7 @@ public enum Distance { public void setUnit(String unit) { this.unit = unit; } - + /** * Usage example: Distance.MILE.convertFromMeters(1205.5); */ @@ -51,4 +60,19 @@ public enum Distance { return distanceInMeters * meters; } +// @JsonCreator + public static Distance forValues(@JsonProperty("unit") String unit, @JsonProperty("meters") double meters) { + + for (Distance distance : Distance.values()) { + if (distance.unit.equals(unit) + && Double.compare(distance.meters, meters) == 0) { + + return distance; + } + } + + return null; + + } + } \ No newline at end of file diff --git a/jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumSerializationUnitTest.java b/jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumSerializationUnitTest.java index 45c0ba1382..3108773a00 100644 --- a/jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumSerializationUnitTest.java +++ b/jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumSerializationUnitTest.java @@ -1,13 +1,17 @@ package com.baeldung.jackson.enums; import static org.hamcrest.Matchers.containsString; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertThat; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.IOException; - +import org.junit.Ignore; import org.junit.Test; +import com.baeldung.jackson.entities.City; import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; public class JacksonEnumSerializationUnitTest { @@ -19,4 +23,41 @@ public class JacksonEnumSerializationUnitTest { assertThat(dtoAsString, containsString("1609.34")); } + @Test + @Ignore + public final void givenEnum_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { + String json = "{\"distance\":\"KILOMETER\"}"; + City city = new ObjectMapper().readValue(json, City.class); + + assertEquals(Distance.KILOMETER, city.getDistance()); + } + + @Test + @Ignore + public final void givenEnumWithJsonValue_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { + String json = "{\"JacksonDeserializationUnitTestdistance\": \"0.0254\"}"; + + City city = new ObjectMapper().readValue(json, City.class); + assertEquals(Distance.INCH, city.getDistance()); + } + + @Test + public final void givenEnumWithGsonProperty_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { + String json = "{\"distance\": \"distance-in-km\"}"; + + City city = new ObjectMapper().readValue(json, City.class); + assertEquals(Distance.KILOMETER, city.getDistance()); + + } + + @Test + @Ignore + public final void givenEnumWithGsonCreator_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { + String json = "{\"distance\": {\"unit\":\"miles\",\"meters\":1609.34}}"; + + City city = new ObjectMapper().readValue(json, City.class); + assertEquals(Distance.MILE, city.getDistance()); + System.out.println(city); + } + } From ed9463faa125fbb0b56412ca0a4a999162d0ced1 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Tue, 17 Sep 2019 19:13:21 +0200 Subject: [PATCH 029/199] Split the first 2 modules: java-dates-conversion and java-dates-string. --- java-dates-2/README.md | 4 - .../.gitignore | 5 +- java-dates-conversion/README.md | 9 ++ .../pom.xml | 28 +++---- .../DateToLocalDateConverter.java | 0 .../DateToLocalDateTimeConverter.java | 0 .../LocalDateTimeToDateConverter.java | 0 .../LocalDateToDateConverter.java | 0 .../convert/ConvertDateTimeUnitTest.java | 0 .../ConvertInstantToTimestampUnitTest.java | 5 +- .../DateToLocalDateConverterUnitTest.java | 0 .../DateToLocalDateTimeConverterUnitTest.java | 0 .../LocalDateTimeToDateConverterUnitTest.java | 0 .../LocalDateToDateConverterUnitTest.java | 0 ...XmlGregorianCalendarConverterUnitTest.java | 0 java-dates-string/.gitignore | 26 ++++++ java-dates-string/README.md | 12 +++ java-dates-string/pom.xml | 83 +++++++++++++++++++ .../date/validation/DateValidator.java | 0 .../DateValidatorUsingApacheValidator.java | 0 .../DateValidatorUsingDateFormat.java | 0 .../DateValidatorUsingDateTimeFormatter.java | 0 .../DateValidatorUsingLocalDate.java | 0 .../regexp/datepattern/DateMatcher.java | 0 .../datepattern/FormattedDateMatcher.java | 0 .../regexp/datepattern/RangedDateMatcher.java | 0 .../gregorian/February29thMatcher.java | 0 .../gregorian/FebruaryGeneralMatcher.java | 0 .../gregorian/GregorianDateMatcher.java | 0 .../gregorian/MonthsOf30DaysMatcher.java | 0 .../gregorian/MonthsOf31DaysMatcher.java | 0 .../optmization/OptimizedMatcher.java | 0 .../timezonedisplay/TimezoneDisplay.java | 0 .../timezonedisplay/TimezoneDisplayApp.java | 0 .../timezonedisplay/TimezoneDisplayJava7.java | 0 .../TimezoneDisplayJava7App.java | 0 .../zonedatetime}/OffsetDateTimeExample.java | 2 +- .../zonedatetime}/OffsetTimeExample.java | 2 +- .../zonedatetime}/ZoneDateTimeExample.java | 2 +- ...ValidatorUsingApacheValidatorUnitTest.java | 0 .../DateValidatorUsingDateFormatUnitTest.java | 0 ...lidatorUsingDateTimeFormatterUnitTest.java | 0 .../DateValidatorUsingLocalDateUnitTest.java | 0 .../datetime/DateTimeFormatterUnitTest.java | 0 .../FormattedDateMatcherUnitTest.java | 0 .../RangedDateMatcherUnitTest.java | 0 .../February29thMatcherUnitTest.java | 0 .../FebruaryGeneralMatcherUnitTest.java | 0 .../GregorianDateMatcherUnitTest.java | 0 .../MonthsOf30DaysMatcherUnitTest.java | 0 .../MonthsOf31DaysMatcherUnitTest.java | 0 .../testhelper/GregorianDateTestHelper.java | 0 .../SimpleDateFormatUnitTest.java | 0 .../StringToTimestampConverterUnitTest.java | 0 .../TimestampToStringConverterTest.java | 0 .../OffsetDateTimeExampleUnitTest.java | 2 +- .../OffsetTimeExampleUnitTest.java | 2 +- .../ZoneDateTimeExampleUnitTest.java | 2 +- .../zonedatetime}/ZonedDateTimeUnitTest.java | 2 +- java-dates/README.md | 8 -- java-dates/pom.xml | 6 -- pom.xml | 6 +- 62 files changed, 158 insertions(+), 48 deletions(-) delete mode 100644 java-dates-2/README.md rename {java-dates-2 => java-dates-conversion}/.gitignore (90%) create mode 100644 java-dates-conversion/README.md rename {java-dates-2 => java-dates-conversion}/pom.xml (76%) rename {java-dates => java-dates-conversion}/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java (100%) rename {java-dates => java-dates-conversion}/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java (100%) rename {java-dates => java-dates-conversion}/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java (100%) rename {java-dates => java-dates-conversion}/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java (100%) rename {java-dates-2 => java-dates-conversion}/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java (100%) rename {java-dates => java-dates-conversion}/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java (97%) rename {java-dates => java-dates-conversion}/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java (100%) rename {java-dates => java-dates-conversion}/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java (100%) rename {java-dates => java-dates-conversion}/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java (100%) rename {java-dates => java-dates-conversion}/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java (100%) rename {java-dates-2 => java-dates-conversion}/src/test/java/com/baeldung/xmlgregoriancalendar/XmlGregorianCalendarConverterUnitTest.java (100%) create mode 100644 java-dates-string/.gitignore create mode 100644 java-dates-string/README.md create mode 100644 java-dates-string/pom.xml rename {java-dates-2 => java-dates-string}/src/main/java/com/baeldung/date/validation/DateValidator.java (100%) rename {java-dates-2 => java-dates-string}/src/main/java/com/baeldung/date/validation/DateValidatorUsingApacheValidator.java (100%) rename {java-dates-2 => java-dates-string}/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateFormat.java (100%) rename {java-dates-2 => java-dates-string}/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatter.java (100%) rename {java-dates-2 => java-dates-string}/src/main/java/com/baeldung/date/validation/DateValidatorUsingLocalDate.java (100%) rename {java-dates => java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java (100%) rename {java-dates => java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java (100%) rename {java-dates => java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java (100%) rename {java-dates => java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java (100%) rename {java-dates => java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java (100%) rename {java-dates => java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java (100%) rename {java-dates => java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java (100%) rename {java-dates => java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java (100%) rename {java-dates => java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java (100%) rename {java-dates => java-dates-string}/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java (100%) rename {java-dates => java-dates-string}/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayApp.java (100%) rename {java-dates => java-dates-string}/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7.java (100%) rename {java-dates => java-dates-string}/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7App.java (100%) rename {java-dates/src/main/java/com/baeldung/zoneddatetime => java-dates-string/src/main/java/com/baeldung/zonedatetime}/OffsetDateTimeExample.java (89%) rename {java-dates/src/main/java/com/baeldung/zoneddatetime => java-dates-string/src/main/java/com/baeldung/zonedatetime}/OffsetTimeExample.java (89%) rename {java-dates/src/main/java/com/baeldung/zoneddatetime => java-dates-string/src/main/java/com/baeldung/zonedatetime}/ZoneDateTimeExample.java (93%) rename {java-dates-2 => java-dates-string}/src/test/java/com/baeldung/date/validation/DateValidatorUsingApacheValidatorUnitTest.java (100%) rename {java-dates-2 => java-dates-string}/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateFormatUnitTest.java (100%) rename {java-dates-2 => java-dates-string}/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatterUnitTest.java (100%) rename {java-dates-2 => java-dates-string}/src/test/java/com/baeldung/date/validation/DateValidatorUsingLocalDateUnitTest.java (100%) rename {java-dates => java-dates-string}/src/test/java/com/baeldung/datetime/DateTimeFormatterUnitTest.java (100%) rename {java-dates => java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java (100%) rename {java-dates => java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java (100%) rename {java-dates => java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java (100%) rename {java-dates => java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java (100%) rename {java-dates => java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java (100%) rename {java-dates => java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java (100%) rename {java-dates => java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java (100%) rename {java-dates => java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java (100%) rename {java-dates => java-dates-string}/src/test/java/com/baeldung/simpledateformat/SimpleDateFormatUnitTest.java (100%) rename {java-dates => java-dates-string}/src/test/java/com/baeldung/timestamp/StringToTimestampConverterUnitTest.java (100%) rename {java-dates => java-dates-string}/src/test/java/com/baeldung/timestamp/TimestampToStringConverterTest.java (100%) rename {java-dates/src/test/java/com/baeldung/zoneddatetime => java-dates-string/src/test/java/com/baeldung/zonedatetime}/OffsetDateTimeExampleUnitTest.java (93%) rename {java-dates/src/test/java/com/baeldung/zoneddatetime => java-dates-string/src/test/java/com/baeldung/zonedatetime}/OffsetTimeExampleUnitTest.java (93%) rename {java-dates/src/test/java/com/baeldung/zoneddatetime => java-dates-string/src/test/java/com/baeldung/zonedatetime}/ZoneDateTimeExampleUnitTest.java (96%) rename {java-dates/src/test/java/com/baeldung/zoneddatetime => java-dates-string/src/test/java/com/baeldung/zonedatetime}/ZonedDateTimeUnitTest.java (98%) diff --git a/java-dates-2/README.md b/java-dates-2/README.md deleted file mode 100644 index b2f8319e58..0000000000 --- a/java-dates-2/README.md +++ /dev/null @@ -1,4 +0,0 @@ -## Relevant Articles: -- [Converting Between LocalDate and XMLGregorianCalendar](https://www.baeldung.com/java-localdate-to-xmlgregoriancalendar) -- [Convert Time to Milliseconds in Java](https://www.baeldung.com/java-time-milliseconds) -- [Check If a String Is a Valid Date in Java](https://www.baeldung.com/java-string-valid-date) diff --git a/java-dates-2/.gitignore b/java-dates-conversion/.gitignore similarity index 90% rename from java-dates-2/.gitignore rename to java-dates-conversion/.gitignore index 6471aabbcf..3de4cc647e 100644 --- a/java-dates-2/.gitignore +++ b/java-dates-conversion/.gitignore @@ -23,7 +23,4 @@ backup-pom.xml #IntelliJ specific .idea/ -*.iml - -#jenv -.java-version \ No newline at end of file +*.iml \ No newline at end of file diff --git a/java-dates-conversion/README.md b/java-dates-conversion/README.md new file mode 100644 index 0000000000..f781a9515c --- /dev/null +++ b/java-dates-conversion/README.md @@ -0,0 +1,9 @@ +========= + +## Java Date/time conversion Cookbooks and Examples + +### Relevant Articles: +- [Converting Between LocalDate and XMLGregorianCalendar](https://www.baeldung.com/java-localdate-to-xmlgregoriancalendar) +- [Convert Time to Milliseconds in Java](https://www.baeldung.com/java-time-milliseconds) +- [Convert Date to LocalDate or LocalDateTime and Back](http://www.baeldung.com/java-date-to-localdate-and-localdatetime) +- [Convert Between java.time.Instant and java.sql.Timestamp](https://www.baeldung.com/java-time-instant-to-java-sql-timestamp) diff --git a/java-dates-2/pom.xml b/java-dates-conversion/pom.xml similarity index 76% rename from java-dates-2/pom.xml rename to java-dates-conversion/pom.xml index c1419514ef..c9326eb44c 100644 --- a/java-dates-2/pom.xml +++ b/java-dates-conversion/pom.xml @@ -1,11 +1,10 @@ 4.0.0 - com.baeldung - java-dates-2 - 0.1.0-SNAPSHOT + java-dates-conversion + ${project.parent.version} + java-dates jar - java-dates-2 com.baeldung @@ -20,14 +19,16 @@ joda-time ${joda-time.version} - - - commons-validator - commons-validator - ${commons-validator.version} + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + log4j + log4j + ${log4j.version} - org.assertj @@ -38,7 +39,7 @@ - java-dates-2 + java-dates src/main/resources @@ -60,11 +61,10 @@ + 2.10 3.6.1 - 2.10 - 1.6 - 1.9 + 1.9 1.9 diff --git a/java-dates/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java b/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java rename to java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java diff --git a/java-dates/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java b/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java rename to java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java diff --git a/java-dates/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java b/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java rename to java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java diff --git a/java-dates/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java b/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java rename to java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java diff --git a/java-dates-2/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java b/java-dates-conversion/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java similarity index 100% rename from java-dates-2/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java rename to java-dates-conversion/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java diff --git a/java-dates/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java b/java-dates-conversion/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java similarity index 97% rename from java-dates/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java rename to java-dates-conversion/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java index 3ba01a591a..e5fd80285c 100644 --- a/java-dates/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java +++ b/java-dates-conversion/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java @@ -1,15 +1,14 @@ package com.baeldung.datetime; -import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Test; import java.sql.Timestamp; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.time.Instant; -import java.time.ZoneId; import java.util.TimeZone; -import org.junit.Test; +import static org.assertj.core.api.Assertions.assertThat; public class ConvertInstantToTimestampUnitTest { diff --git a/java-dates/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java b/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java rename to java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java diff --git a/java-dates/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java b/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java rename to java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java diff --git a/java-dates/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java b/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java rename to java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java diff --git a/java-dates/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java b/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java rename to java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java diff --git a/java-dates-2/src/test/java/com/baeldung/xmlgregoriancalendar/XmlGregorianCalendarConverterUnitTest.java b/java-dates-conversion/src/test/java/com/baeldung/xmlgregoriancalendar/XmlGregorianCalendarConverterUnitTest.java similarity index 100% rename from java-dates-2/src/test/java/com/baeldung/xmlgregoriancalendar/XmlGregorianCalendarConverterUnitTest.java rename to java-dates-conversion/src/test/java/com/baeldung/xmlgregoriancalendar/XmlGregorianCalendarConverterUnitTest.java diff --git a/java-dates-string/.gitignore b/java-dates-string/.gitignore new file mode 100644 index 0000000000..3de4cc647e --- /dev/null +++ b/java-dates-string/.gitignore @@ -0,0 +1,26 @@ +*.class + +0.* + +#folders# +/target +/neoDb* +/data +/src/main/webapp/WEB-INF/classes +*/META-INF/* +.resourceCache + +# Packaged files # +*.jar +*.war +*.ear + +# Files generated by integration tests +*.txt +backup-pom.xml +/bin/ +/temp + +#IntelliJ specific +.idea/ +*.iml \ No newline at end of file diff --git a/java-dates-string/README.md b/java-dates-string/README.md new file mode 100644 index 0000000000..9becf8a460 --- /dev/null +++ b/java-dates-string/README.md @@ -0,0 +1,12 @@ +========= + +## Java Dates Parsing and Formatting Cookbooks and Examples + +### Relevant Articles: +- [Check If a String Is a Valid Date in Java](https://www.baeldung.com/java-string-valid-date) +- [RegEx for matching Date Pattern in Java](http://www.baeldung.com/java-date-regular-expressions) +- [Guide to DateTimeFormatter](https://www.baeldung.com/java-datetimeformatter) +- [Format ZonedDateTime to String](https://www.baeldung.com/java-format-zoned-datetime-string) +- [A Guide to SimpleDateFormat](https://www.baeldung.com/java-simple-date-format) +- [Display All Time Zones With GMT And UTC in Java](http://www.baeldung.com/java-time-zones) +- [Convert between String and Timestamp](https://www.baeldung.com/java-string-to-timestamp) diff --git a/java-dates-string/pom.xml b/java-dates-string/pom.xml new file mode 100644 index 0000000000..d65ac140fb --- /dev/null +++ b/java-dates-string/pom.xml @@ -0,0 +1,83 @@ + + 4.0.0 + java-dates-string + ${project.parent.version} + java-dates + jar + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../parent-java + + + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + + commons-validator + commons-validator + ${commons-validator.version} + + + log4j + log4j + ${log4j.version} + + + + org.assertj + assertj-core + ${assertj.version} + test + + + joda-time + joda-time + ${joda-time.version} + + + com.darwinsys + hirondelle-date4j + RELEASE + test + + + + + java-dates + + + src/main/resources + true + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + + ${maven.compiler.source} + ${maven.compiler.target} + + + + + + + 1.6 + 2.10 + + 3.6.1 + 1.9 + 1.9 + + diff --git a/java-dates-2/src/main/java/com/baeldung/date/validation/DateValidator.java b/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidator.java similarity index 100% rename from java-dates-2/src/main/java/com/baeldung/date/validation/DateValidator.java rename to java-dates-string/src/main/java/com/baeldung/date/validation/DateValidator.java diff --git a/java-dates-2/src/main/java/com/baeldung/date/validation/DateValidatorUsingApacheValidator.java b/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingApacheValidator.java similarity index 100% rename from java-dates-2/src/main/java/com/baeldung/date/validation/DateValidatorUsingApacheValidator.java rename to java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingApacheValidator.java diff --git a/java-dates-2/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateFormat.java b/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateFormat.java similarity index 100% rename from java-dates-2/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateFormat.java rename to java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateFormat.java diff --git a/java-dates-2/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatter.java b/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatter.java similarity index 100% rename from java-dates-2/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatter.java rename to java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatter.java diff --git a/java-dates-2/src/main/java/com/baeldung/date/validation/DateValidatorUsingLocalDate.java b/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingLocalDate.java similarity index 100% rename from java-dates-2/src/main/java/com/baeldung/date/validation/DateValidatorUsingLocalDate.java rename to java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingLocalDate.java diff --git a/java-dates/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java b/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java rename to java-dates-string/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java diff --git a/java-dates/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java b/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java rename to java-dates-string/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java diff --git a/java-dates/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java b/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java rename to java-dates-string/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java diff --git a/java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java b/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java rename to java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java diff --git a/java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java b/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java rename to java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java diff --git a/java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java b/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java rename to java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java diff --git a/java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java b/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java rename to java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java diff --git a/java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java b/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java rename to java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java diff --git a/java-dates/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java b/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java rename to java-dates-string/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java diff --git a/java-dates/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java b/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java rename to java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java diff --git a/java-dates/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayApp.java b/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayApp.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayApp.java rename to java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayApp.java diff --git a/java-dates/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7.java b/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7.java rename to java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7.java diff --git a/java-dates/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7App.java b/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7App.java similarity index 100% rename from java-dates/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7App.java rename to java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7App.java diff --git a/java-dates/src/main/java/com/baeldung/zoneddatetime/OffsetDateTimeExample.java b/java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetDateTimeExample.java similarity index 89% rename from java-dates/src/main/java/com/baeldung/zoneddatetime/OffsetDateTimeExample.java rename to java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetDateTimeExample.java index fb92eb8d0d..90077795f0 100644 --- a/java-dates/src/main/java/com/baeldung/zoneddatetime/OffsetDateTimeExample.java +++ b/java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetDateTimeExample.java @@ -1,4 +1,4 @@ -package com.baeldung.zoneddatetime; +package com.baeldung.zonedatetime; import java.time.OffsetDateTime; import java.time.ZoneOffset; diff --git a/java-dates/src/main/java/com/baeldung/zoneddatetime/OffsetTimeExample.java b/java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetTimeExample.java similarity index 89% rename from java-dates/src/main/java/com/baeldung/zoneddatetime/OffsetTimeExample.java rename to java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetTimeExample.java index 58e2d4d5ad..e280d365c2 100644 --- a/java-dates/src/main/java/com/baeldung/zoneddatetime/OffsetTimeExample.java +++ b/java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetTimeExample.java @@ -1,4 +1,4 @@ -package com.baeldung.zoneddatetime; +package com.baeldung.zonedatetime; import java.time.OffsetTime; import java.time.ZoneOffset; diff --git a/java-dates/src/main/java/com/baeldung/zoneddatetime/ZoneDateTimeExample.java b/java-dates-string/src/main/java/com/baeldung/zonedatetime/ZoneDateTimeExample.java similarity index 93% rename from java-dates/src/main/java/com/baeldung/zoneddatetime/ZoneDateTimeExample.java rename to java-dates-string/src/main/java/com/baeldung/zonedatetime/ZoneDateTimeExample.java index b54b8c5225..a0dd304876 100644 --- a/java-dates/src/main/java/com/baeldung/zoneddatetime/ZoneDateTimeExample.java +++ b/java-dates-string/src/main/java/com/baeldung/zonedatetime/ZoneDateTimeExample.java @@ -1,4 +1,4 @@ -package com.baeldung.zoneddatetime; +package com.baeldung.zonedatetime; import java.time.ZoneId; import java.time.ZonedDateTime; diff --git a/java-dates-2/src/test/java/com/baeldung/date/validation/DateValidatorUsingApacheValidatorUnitTest.java b/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingApacheValidatorUnitTest.java similarity index 100% rename from java-dates-2/src/test/java/com/baeldung/date/validation/DateValidatorUsingApacheValidatorUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingApacheValidatorUnitTest.java diff --git a/java-dates-2/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateFormatUnitTest.java b/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateFormatUnitTest.java similarity index 100% rename from java-dates-2/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateFormatUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateFormatUnitTest.java diff --git a/java-dates-2/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatterUnitTest.java b/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatterUnitTest.java similarity index 100% rename from java-dates-2/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatterUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatterUnitTest.java diff --git a/java-dates-2/src/test/java/com/baeldung/date/validation/DateValidatorUsingLocalDateUnitTest.java b/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingLocalDateUnitTest.java similarity index 100% rename from java-dates-2/src/test/java/com/baeldung/date/validation/DateValidatorUsingLocalDateUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingLocalDateUnitTest.java diff --git a/java-dates/src/test/java/com/baeldung/datetime/DateTimeFormatterUnitTest.java b/java-dates-string/src/test/java/com/baeldung/datetime/DateTimeFormatterUnitTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/datetime/DateTimeFormatterUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/datetime/DateTimeFormatterUnitTest.java diff --git a/java-dates/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java b/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java diff --git a/java-dates/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java b/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java diff --git a/java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java b/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java diff --git a/java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java b/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java diff --git a/java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java b/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java diff --git a/java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java b/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java diff --git a/java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java b/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java diff --git a/java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java b/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java rename to java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java diff --git a/java-dates/src/test/java/com/baeldung/simpledateformat/SimpleDateFormatUnitTest.java b/java-dates-string/src/test/java/com/baeldung/simpledateformat/SimpleDateFormatUnitTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/simpledateformat/SimpleDateFormatUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/simpledateformat/SimpleDateFormatUnitTest.java diff --git a/java-dates/src/test/java/com/baeldung/timestamp/StringToTimestampConverterUnitTest.java b/java-dates-string/src/test/java/com/baeldung/timestamp/StringToTimestampConverterUnitTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/timestamp/StringToTimestampConverterUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/timestamp/StringToTimestampConverterUnitTest.java diff --git a/java-dates/src/test/java/com/baeldung/timestamp/TimestampToStringConverterTest.java b/java-dates-string/src/test/java/com/baeldung/timestamp/TimestampToStringConverterTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/timestamp/TimestampToStringConverterTest.java rename to java-dates-string/src/test/java/com/baeldung/timestamp/TimestampToStringConverterTest.java diff --git a/java-dates/src/test/java/com/baeldung/zoneddatetime/OffsetDateTimeExampleUnitTest.java b/java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetDateTimeExampleUnitTest.java similarity index 93% rename from java-dates/src/test/java/com/baeldung/zoneddatetime/OffsetDateTimeExampleUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetDateTimeExampleUnitTest.java index a08d3737cd..7634ff1572 100644 --- a/java-dates/src/test/java/com/baeldung/zoneddatetime/OffsetDateTimeExampleUnitTest.java +++ b/java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetDateTimeExampleUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.zoneddatetime; +package com.baeldung.zonedatetime; import static org.junit.Assert.assertTrue; diff --git a/java-dates/src/test/java/com/baeldung/zoneddatetime/OffsetTimeExampleUnitTest.java b/java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetTimeExampleUnitTest.java similarity index 93% rename from java-dates/src/test/java/com/baeldung/zoneddatetime/OffsetTimeExampleUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetTimeExampleUnitTest.java index 488f934179..6134e48f70 100644 --- a/java-dates/src/test/java/com/baeldung/zoneddatetime/OffsetTimeExampleUnitTest.java +++ b/java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetTimeExampleUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.zoneddatetime; +package com.baeldung.zonedatetime; import static org.junit.Assert.assertTrue; diff --git a/java-dates/src/test/java/com/baeldung/zoneddatetime/ZoneDateTimeExampleUnitTest.java b/java-dates-string/src/test/java/com/baeldung/zonedatetime/ZoneDateTimeExampleUnitTest.java similarity index 96% rename from java-dates/src/test/java/com/baeldung/zoneddatetime/ZoneDateTimeExampleUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/zonedatetime/ZoneDateTimeExampleUnitTest.java index e78ff3e3fd..cc19055beb 100644 --- a/java-dates/src/test/java/com/baeldung/zoneddatetime/ZoneDateTimeExampleUnitTest.java +++ b/java-dates-string/src/test/java/com/baeldung/zonedatetime/ZoneDateTimeExampleUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.zoneddatetime; +package com.baeldung.zonedatetime; import static org.junit.Assert.assertTrue; diff --git a/java-dates/src/test/java/com/baeldung/zoneddatetime/ZonedDateTimeUnitTest.java b/java-dates-string/src/test/java/com/baeldung/zonedatetime/ZonedDateTimeUnitTest.java similarity index 98% rename from java-dates/src/test/java/com/baeldung/zoneddatetime/ZonedDateTimeUnitTest.java rename to java-dates-string/src/test/java/com/baeldung/zonedatetime/ZonedDateTimeUnitTest.java index 65f63bc787..150983c61b 100644 --- a/java-dates/src/test/java/com/baeldung/zoneddatetime/ZonedDateTimeUnitTest.java +++ b/java-dates-string/src/test/java/com/baeldung/zonedatetime/ZonedDateTimeUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.zoneddatetime; +package com.baeldung.zonedatetime; import static org.junit.jupiter.api.Assertions.assertThrows; diff --git a/java-dates/README.md b/java-dates/README.md index 7da309924d..ef4cffe6d8 100644 --- a/java-dates/README.md +++ b/java-dates/README.md @@ -7,14 +7,11 @@ - [Handling Daylight Savings Time in Java](http://www.baeldung.com/java-daylight-savings) - [Period and Duration in Java](http://www.baeldung.com/java-period-duration) - [Difference Between Two Dates in Java](http://www.baeldung.com/java-date-difference) -- [RegEx for matching Date Pattern in Java](http://www.baeldung.com/java-date-regular-expressions) - [Migrating to the New Java 8 Date Time API](http://www.baeldung.com/migrating-to-java-8-date-time-api) - [Introduction to the Java 8 Date/Time API](http://www.baeldung.com/java-8-date-time-intro) - [Get the Current Date, Time and Timestamp in Java 8](http://www.baeldung.com/current-date-time-and-timestamp-in-java-8) - [Get Date Without Time in Java](http://www.baeldung.com/java-date-without-time) - [How to Get All Dates Between Two Dates?](http://www.baeldung.com/java-between-dates) -- [Convert Date to LocalDate or LocalDateTime and Back](http://www.baeldung.com/java-date-to-localdate-and-localdatetime) -- [Display All Time Zones With GMT And UTC in Java](http://www.baeldung.com/java-time-zones) - [Extracting Year, Month and Day from Date in Java](http://www.baeldung.com/java-year-month-day) - [Guide to java.util.GregorianCalendar](http://www.baeldung.com/java-gregorian-calendar) - [Measure Elapsed Time in Java](http://www.baeldung.com/java-measure-elapsed-time) @@ -22,11 +19,6 @@ - [Calculate Age in Java](http://www.baeldung.com/java-get-age) - [Increment Date in Java](http://www.baeldung.com/java-increment-date) - [Add Hours To a Date In Java](http://www.baeldung.com/java-add-hours-date) -- [Guide to DateTimeFormatter](https://www.baeldung.com/java-datetimeformatter) -- [Format ZonedDateTime to String](https://www.baeldung.com/java-format-zoned-datetime-string) -- [Convert Between java.time.Instant and java.sql.Timestamp](https://www.baeldung.com/java-time-instant-to-java-sql-timestamp) -- [Convert between String and Timestamp](https://www.baeldung.com/java-string-to-timestamp) -- [A Guide to SimpleDateFormat](https://www.baeldung.com/java-simple-date-format) - [ZoneOffset in Java](https://www.baeldung.com/java-zone-offset) - [Differences Between ZonedDateTime and OffsetDateTime](https://www.baeldung.com/java-zoneddatetime-offsetdatetime) - [Introduction to Joda-Time](http://www.baeldung.com/joda-time) diff --git a/java-dates/pom.xml b/java-dates/pom.xml index 3fddf3f0f8..761ebd71a6 100644 --- a/java-dates/pom.xml +++ b/java-dates/pom.xml @@ -25,12 +25,6 @@ log4j ${log4j.version} - - org.projectlombok - lombok - ${lombok.version} - provided - org.assertj diff --git a/pom.xml b/pom.xml index c3f3a62da1..52a5922273 100644 --- a/pom.xml +++ b/pom.xml @@ -467,8 +467,10 @@ java-collections-maps java-collections-maps-2 java-jdi - - + java-lite java-math From 16b7d2178086dfccd033a970ed967fdf4d60ac00 Mon Sep 17 00:00:00 2001 From: enpy303 Date: Wed, 18 Sep 2019 08:27:59 +0200 Subject: [PATCH 030/199] BAEL 1383 --- spring-integration/pom.xml | 13 +++- .../com/baeldung/tx/ServiceActivator.java | 27 ++++++++ .../spring-integration-tx-context.xml | 67 +++++++++++++++++++ .../src/main/resources/table.sql | 4 ++ .../com/baeldung/tx/TxIntegrationTest.java | 56 ++++++++++++++++ 5 files changed, 166 insertions(+), 1 deletion(-) create mode 100755 spring-integration/src/main/java/com/baeldung/tx/ServiceActivator.java create mode 100755 spring-integration/src/main/resources/META-INF/spring/integration/spring-integration-tx-context.xml create mode 100644 spring-integration/src/main/resources/table.sql create mode 100644 spring-integration/src/test/java/com/baeldung/tx/TxIntegrationTest.java diff --git a/spring-integration/pom.xml b/spring-integration/pom.xml index 367d25de98..f06cb91ef6 100644 --- a/spring-integration/pom.xml +++ b/spring-integration/pom.xml @@ -68,6 +68,11 @@ spring-integration-security ${spring.version} + + org.springframework.integration + spring-integration-jdbc + ${spring.version} + org.springframework.security @@ -75,6 +80,12 @@ ${spring.version} test + + + com.h2database + h2 + 1.4.197 + @@ -106,7 +117,7 @@ UTF-8 - 5.0.3.RELEASE + 5.0.13.RELEASE 1.1.4.RELEASE 1.4.7 1.1.1 diff --git a/spring-integration/src/main/java/com/baeldung/tx/ServiceActivator.java b/spring-integration/src/main/java/com/baeldung/tx/ServiceActivator.java new file mode 100755 index 0000000000..874d5d6957 --- /dev/null +++ b/spring-integration/src/main/java/com/baeldung/tx/ServiceActivator.java @@ -0,0 +1,27 @@ +package com.baeldung.tx; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; + +public class ServiceActivator { + + @Autowired + private JdbcTemplate jdbcTemplate; + + private final Logger log = LoggerFactory.getLogger(this.getClass()); + + public void checkTestResults(String payload) { + + this.jdbcTemplate.update("insert into STUDENT values(?)", payload); + + if (payload.toLowerCase().startsWith("fail")) { + log.error("Service failure. Test result: {} ", payload); + throw new RuntimeException("Service failure."); + } + + log.info("Service success. Test result: {}", payload); + } + +} diff --git a/spring-integration/src/main/resources/META-INF/spring/integration/spring-integration-tx-context.xml b/spring-integration/src/main/resources/META-INF/spring/integration/spring-integration-tx-context.xml new file mode 100755 index 0000000000..2861826521 --- /dev/null +++ b/spring-integration/src/main/resources/META-INF/spring/integration/spring-integration-tx-context.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/spring-integration/src/main/resources/table.sql b/spring-integration/src/main/resources/table.sql new file mode 100644 index 0000000000..9ca58f6f27 --- /dev/null +++ b/spring-integration/src/main/resources/table.sql @@ -0,0 +1,4 @@ + +CREATE TABLE IF NOT EXISTS STUDENT ( + TEST VARCHAR(256) +); \ No newline at end of file diff --git a/spring-integration/src/test/java/com/baeldung/tx/TxIntegrationTest.java b/spring-integration/src/test/java/com/baeldung/tx/TxIntegrationTest.java new file mode 100644 index 0000000000..dd9f4ab286 --- /dev/null +++ b/spring-integration/src/test/java/com/baeldung/tx/TxIntegrationTest.java @@ -0,0 +1,56 @@ +package com.baeldung.tx; + +import org.junit.Assert; +import org.junit.Test; +import org.springframework.context.support.AbstractApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; + +public final class TxIntegrationTest { + + private static final String CONTEXT_CONFIG = "classpath:META-INF/spring/integration/spring-integration-tx-context.xml"; + + @Test + public void whenFileDoesntStartWithFail_thanTxSuccessful() throws InterruptedException, IOException { + final AbstractApplicationContext context = + new ClassPathXmlApplicationContext(CONTEXT_CONFIG); + + String fileName = System.getProperty("java.io.tmpdir") + "/tx/test1.txt"; + FileWriter fw = new FileWriter(fileName); + fw.write("PASSED!"); + fw.close(); + + context.registerShutdownHook(); + Thread.sleep(5000); + + File file = new File(fileName + ".PASSED"); + Assert.assertTrue(file.exists()); + } + + @Test + public void whenFileStartsWithFail_thanTxFailed() { + + String fileName = System.getProperty("java.io.tmpdir") + "/tx/test2.txt"; + + try { + final AbstractApplicationContext context = + new ClassPathXmlApplicationContext(CONTEXT_CONFIG); + + FileWriter fw = new FileWriter(fileName); + fw.write("FAILED!"); + fw.close(); + + context.registerShutdownHook(); + Thread.sleep(5000); + } catch (Exception e) { + // Exception is expected, do nothing + } + + File file = new File(fileName + ".FAILED"); + Assert.assertTrue(file.exists()); + } + +} From 48cc9a440938d81d26012c0244ee4beb8c3cab26 Mon Sep 17 00:00:00 2001 From: caroline Date: Mon, 23 Sep 2019 14:44:51 +0200 Subject: [PATCH 031/199] Removing null checks as suggested by editor for BAEL-3083 --- .../findastring/FindAStringInGivenList.java | 14 ++------- .../FindAStringInListUnitTest.java | 31 ------------------- 2 files changed, 3 insertions(+), 42 deletions(-) diff --git a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java index bfc666b36d..7324ad0492 100644 --- a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java +++ b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java @@ -3,11 +3,8 @@ package com.baeldung.findastring; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.IterableUtils; import org.apache.commons.collections4.IteratorUtils; -import org.apache.commons.collections4.PredicateUtils; -import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; @@ -38,7 +35,7 @@ public class FindAStringInGivenList { List matches = new ArrayList(); for(String str: list) { - if (search != null && str.contains(search)) { + if (str.contains(search)) { matches.add(str); } } @@ -58,20 +55,15 @@ public class FindAStringInGivenList { } public List findUsingGuava(String search, List list) { - if (search == null) { - return Lists.newArrayList(); - } - - Iterable result = Iterables.filter(Iterables.filter(list,Predicates.notNull()), Predicates.containsPattern(search)); + Iterable result = Iterables.filter(list, Predicates.containsPattern(search)); return Lists.newArrayList(result.iterator()); } public List findUsingCommonsCollection(String search, List list) { - CollectionUtils.filter(list, PredicateUtils.notNullPredicate()); Iterable result = IterableUtils.filteredIterable(list, new org.apache.commons.collections4.Predicate() { public boolean evaluate(String listElement) { - return search != null && StringUtils.isNotEmpty(listElement) ? listElement.contains(search) : false; + return listElement.contains(search); } }); diff --git a/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findastring/FindAStringInListUnitTest.java b/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findastring/FindAStringInListUnitTest.java index ee293034c9..ff5ca21505 100644 --- a/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findastring/FindAStringInListUnitTest.java +++ b/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findastring/FindAStringInListUnitTest.java @@ -13,7 +13,6 @@ public class FindAStringInListUnitTest { list.add("James and Sarah"); list.add("Sam and Louise"); list.add("Jack"); - list.add(null); list.add(""); } @@ -27,12 +26,6 @@ public class FindAStringInListUnitTest { assertEquals("Jack", matchingElements.get(1)); } - @Test - public void givenAString_whenNullFoundUsingLoopWithRegex_thenReturnEmptyList(){ - List matchingElements = findAStringInGivenList.findUsingLoopWithRegex(null, list); - assertEquals(0, matchingElements.size()); - } - @Test public void givenAString_whenFoundUsingLoop_thenReturnList() { List matchingElements = findAStringInGivenList.findUsingLoop("Jack", list); @@ -41,12 +34,6 @@ public class FindAStringInListUnitTest { assertEquals("Jack", matchingElements.get(1)); } - @Test - public void givenAString_whenNullFoundUsingLoop_thenReturnEmptyList(){ - List matchingElements = findAStringInGivenList.findUsingLoop(null, list); - assertEquals(0, matchingElements.size()); - } - @Test public void givenAString_whenFoundUsingStream_thenReturnList(){ @@ -56,12 +43,6 @@ public class FindAStringInListUnitTest { assertEquals("Jack", matchingElements.get(1)); } - @Test - public void givenAString_whenNullFoundUsingStream_thenReturnEmptyList(){ - List matchingElements = findAStringInGivenList.findUsingStream(null, list); - assertEquals(0, matchingElements.size()); - } - @Test public void givenAString_whenFoundUsingCommonsCollection_thenReturnList(){ List matchingElements = findAStringInGivenList.findUsingCommonsCollection("Jack", list); @@ -70,12 +51,6 @@ public class FindAStringInListUnitTest { assertEquals("Jack", matchingElements.get(1)); } - @Test - public void givenAString_whenNullFoundUsingCommonsCollection_thenReturnEmptyList(){ - List matchingElements = findAStringInGivenList.findUsingCommonsCollection(null, list); - assertEquals(0, matchingElements.size()); - } - @Test public void givenAString_whenFoundUsingGuava_thenReturnList(){ List matchingElements = findAStringInGivenList.findUsingGuava("Jack", list); @@ -84,10 +59,4 @@ public class FindAStringInListUnitTest { assertEquals("Jack", matchingElements.get(1)); } - @Test - public void givenAString_whenNullFoundUsingGuava_thenReturnEmptyList(){ - List matchingElements = findAStringInGivenList.findUsingGuava(null, list); - assertEquals(0, matchingElements.size()); - } - } From b27a5ae4cdb6f2d136b6ed833d82313b145134a7 Mon Sep 17 00:00:00 2001 From: caroline Date: Tue, 24 Sep 2019 15:05:06 +0200 Subject: [PATCH 032/199] Removing null checks as suggested by editor for BAEL-3083 --- .../java/com/baeldung/findastring/FindAStringInGivenList.java | 1 - 1 file changed, 1 deletion(-) diff --git a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java index 7324ad0492..816b87dc86 100644 --- a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java +++ b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java @@ -47,7 +47,6 @@ public class FindAStringInGivenList { List matchingElements = list.stream() - .filter(str -> search != null) .filter(str -> str.trim().contains(search)) .collect(Collectors.toList()); From ed92f5579de3caa6cf391262a95272d466d76f0d Mon Sep 17 00:00:00 2001 From: amit2103 Date: Fri, 27 Sep 2019 01:07:06 +0530 Subject: [PATCH 033/199] [BAEL-17473] - Initial commit --- spring-boot-artifacts/README.md | 7 + .../pom.xml | 4 +- .../baeldung/properties/ConfProperties.java | 0 .../ExternalPropertyConfigurer.java | 0 .../ExternalPropertyFileLoader.java | 0 .../com/baeldung/webjar/TestController.java | 0 .../webjar/WebjarsdemoApplication.java | 0 .../src/main/resources/application.properties | 1 + .../main/resources/external/conf.properties | 0 .../src/main/resources/logback.xml | 0 .../src/main/resources/templates/index.html | 0 ...rnalPropertyFileLoaderIntegrationTest.java | 0 ...WebjarsdemoApplicationIntegrationTest.java | 0 spring-boot-deployment/README.md | 5 + spring-boot-deployment/pom.xml | 203 ++++++++++++++++++ .../SpringBootConfigurationApplication.java | 0 .../controller/GreetingsController.java | 0 .../SpringBootConsoleApplication.java | 0 .../SpringBootTomcatApplication.java | 0 .../springbootsimple/TomcatController.java | 0 .../resources/application-tomcat.properties | 0 .../src/main/resources/application.properties | 1 + .../src/main/resources/logback.xml | 10 +- .../SpringContextIntegrationTest.java | 0 .../SpringContextTest.java | 0 ...gBootTomcatApplicationIntegrationTest.java | 0 spring-boot-environment/README.md | 2 + spring-boot-environment/pom.xml | 148 +++++++++++++ .../PriceCalculationApplication.java | 0 ...ceCalculationEnvironmentPostProcessor.java | 0 .../PriceCalculationAutoConfig.java | 0 .../calculator/GrossPriceCalculator.java | 0 .../calculator/NetPriceCalculator.java | 0 .../calculator/PriceCalculator.java | 0 .../service/PriceCalculationService.java | 0 .../main/resources/META-INF/spring.factories | 0 .../src/main/resources/application.properties | 0 .../src/main/resources/logback.xml | 13 ++ ...ationEnvironmentPostProcessorLiveTest.java | 0 spring-boot-management/pom.xml | 56 ----- spring-boot-ops-2/.gitignore | 29 --- spring-boot-ops-2/README.MD | 4 - spring-boot-ops-2/pom.xml | 40 ---- .../src/main/resources/application.properties | 1 - spring-boot-ops/README.md | 14 -- spring-boot-runtime/README.md | 5 + .../docker/Dockerfile | 0 .../docker/logback.xml | 0 .../docker/run.sh | 0 spring-boot-runtime/pom.xml | 159 ++++++++++++++ .../compare/ComparisonApplication.java | 0 .../baeldung/compare/StartupEventHandler.java | 0 .../com/baeldung/restart/Application.java | 0 .../baeldung/restart/RestartController.java | 0 .../com/baeldung/restart/RestartService.java | 0 .../com/baeldung/shutdown/Application.java | 0 .../com/baeldung/shutdown/ShutdownConfig.java | 0 .../com/baeldung/shutdown/TerminateBean.java | 0 .../shutdown/shutdown/ShutdownController.java | 0 .../logging/LoggingApplication.java | 2 + .../management/logging/LoggingController.java | 0 .../management/logging/SecurityConfig.java | 0 .../spring/boot/management/trace/App.java | 2 + .../trace/CustomTraceRepository.java | 0 .../boot/management/trace/EchoController.java | 0 .../management/trace/TraceRequestFilter.java | 0 .../resources/application-logging.properties | 0 .../src/main/resources/application.properties | 7 + .../src/main/resources/logback.xml | 13 ++ .../restart/RestartApplicationManualTest.java | 0 .../ShutdownApplicationIntegrationTest.java | 0 .../application-integrationtest.properties | 0 .../src/test/resources/application.properties | 0 spring-mvc-simple-2/README.md | 1 + spring-mvc-simple-2/pom.xml | 147 +++++++++++-- .../java/org/baeldung/boot/Application.java | 0 .../org/baeldung/boot/config/WebConfig.java | 0 .../controller/GenericEntityController.java | 0 .../converter/GenericBigDecimalConverter.java | 0 ...tringToAbstractEntityConverterFactory.java | 0 .../converter/StringToEmployeeConverter.java | 0 .../boot/converter/StringToEnumConverter.java | 0 .../StringToLocalDateTimeConverter.java | 0 .../controller/AbstractEntityController.java | 0 .../StringToEmployeeConverterController.java | 0 .../baeldung/boot/domain/AbstractEntity.java | 0 .../java/org/baeldung/boot/domain/Bar.java | 0 .../org/baeldung/boot/domain/Employee.java | 0 .../java/org/baeldung/boot/domain/Foo.java | 0 .../baeldung/boot/domain/GenericEntity.java | 0 .../java/org/baeldung/boot/domain/Modes.java | 0 .../repository/GenericEntityRepository.java | 0 .../HeaderVersionArgumentResolver.java | 0 .../baeldung/boot/web/resolver/Version.java | 0 .../SpringBootApplicationIntegrationTest.java | 2 +- .../SpringBootJPAIntegrationTest.java | 2 +- .../SpringBootMailIntegrationTest.java | 2 +- 97 files changed, 710 insertions(+), 170 deletions(-) create mode 100644 spring-boot-artifacts/README.md rename {spring-boot-ops => spring-boot-artifacts}/pom.xml (98%) rename {spring-boot-ops => spring-boot-artifacts}/src/main/java/com/baeldung/properties/ConfProperties.java (100%) rename {spring-boot-ops => spring-boot-artifacts}/src/main/java/com/baeldung/properties/ExternalPropertyConfigurer.java (100%) rename {spring-boot-ops => spring-boot-artifacts}/src/main/java/com/baeldung/properties/ExternalPropertyFileLoader.java (100%) rename {spring-boot-ops => spring-boot-artifacts}/src/main/java/com/baeldung/webjar/TestController.java (100%) rename {spring-boot-ops => spring-boot-artifacts}/src/main/java/com/baeldung/webjar/WebjarsdemoApplication.java (100%) create mode 100644 spring-boot-artifacts/src/main/resources/application.properties rename {spring-boot-ops => spring-boot-artifacts}/src/main/resources/external/conf.properties (100%) rename {spring-boot-ops => spring-boot-artifacts}/src/main/resources/logback.xml (100%) rename {spring-boot-ops => spring-boot-artifacts}/src/main/resources/templates/index.html (100%) rename {spring-boot-ops => spring-boot-artifacts}/src/test/java/com/baeldung/properties/ExternalPropertyFileLoaderIntegrationTest.java (100%) rename {spring-boot-ops => spring-boot-artifacts}/src/test/java/com/baeldung/webjar/WebjarsdemoApplicationIntegrationTest.java (100%) create mode 100644 spring-boot-deployment/README.md create mode 100644 spring-boot-deployment/pom.xml rename {spring-boot-ops-2 => spring-boot-deployment}/src/main/java/com/baeldung/springbootconfiguration/SpringBootConfigurationApplication.java (100%) rename {spring-boot-ops-2 => spring-boot-deployment}/src/main/java/com/baeldung/springbootconfiguration/controller/GreetingsController.java (100%) rename {spring-boot-ops => spring-boot-deployment}/src/main/java/com/baeldung/springbootnonwebapp/SpringBootConsoleApplication.java (100%) rename {spring-boot-ops => spring-boot-deployment}/src/main/java/com/baeldung/springbootsimple/SpringBootTomcatApplication.java (100%) rename {spring-boot-ops => spring-boot-deployment}/src/main/java/com/baeldung/springbootsimple/TomcatController.java (100%) rename {spring-boot-ops-2 => spring-boot-deployment}/src/main/resources/application-tomcat.properties (100%) create mode 100644 spring-boot-deployment/src/main/resources/application.properties rename {spring-boot-management => spring-boot-deployment}/src/main/resources/logback.xml (58%) rename {spring-boot-ops-2 => spring-boot-deployment}/src/test/java/com/baeldung/springbootconfiguration/SpringContextIntegrationTest.java (100%) rename {spring-boot-ops-2 => spring-boot-deployment}/src/test/java/com/baeldung/springbootconfiguration/SpringContextTest.java (100%) rename {spring-boot-ops => spring-boot-deployment}/src/test/java/com/baeldung/springbootsimple/SpringBootTomcatApplicationIntegrationTest.java (100%) create mode 100644 spring-boot-environment/README.md create mode 100644 spring-boot-environment/pom.xml rename {spring-boot-ops => spring-boot-environment}/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationApplication.java (100%) rename {spring-boot-ops => spring-boot-environment}/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessor.java (100%) rename {spring-boot-ops => spring-boot-environment}/src/main/java/com/baeldung/environmentpostprocessor/autoconfig/PriceCalculationAutoConfig.java (100%) rename {spring-boot-ops => spring-boot-environment}/src/main/java/com/baeldung/environmentpostprocessor/calculator/GrossPriceCalculator.java (100%) rename {spring-boot-ops => spring-boot-environment}/src/main/java/com/baeldung/environmentpostprocessor/calculator/NetPriceCalculator.java (100%) rename {spring-boot-ops => spring-boot-environment}/src/main/java/com/baeldung/environmentpostprocessor/calculator/PriceCalculator.java (100%) rename {spring-boot-ops => spring-boot-environment}/src/main/java/com/baeldung/environmentpostprocessor/service/PriceCalculationService.java (100%) rename {spring-boot-ops => spring-boot-environment}/src/main/resources/META-INF/spring.factories (100%) rename {spring-boot-ops => spring-boot-environment}/src/main/resources/application.properties (100%) create mode 100644 spring-boot-environment/src/main/resources/logback.xml rename {spring-boot-ops => spring-boot-environment}/src/test/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessorLiveTest.java (100%) delete mode 100644 spring-boot-management/pom.xml delete mode 100644 spring-boot-ops-2/.gitignore delete mode 100644 spring-boot-ops-2/README.MD delete mode 100644 spring-boot-ops-2/pom.xml delete mode 100644 spring-boot-ops-2/src/main/resources/application.properties delete mode 100644 spring-boot-ops/README.md create mode 100644 spring-boot-runtime/README.md rename {spring-boot-ops => spring-boot-runtime}/docker/Dockerfile (100%) rename {spring-boot-ops => spring-boot-runtime}/docker/logback.xml (100%) rename {spring-boot-ops => spring-boot-runtime}/docker/run.sh (100%) mode change 100755 => 100644 create mode 100644 spring-boot-runtime/pom.xml rename {spring-boot-ops => spring-boot-runtime}/src/main/java/com/baeldung/compare/ComparisonApplication.java (100%) rename {spring-boot-ops => spring-boot-runtime}/src/main/java/com/baeldung/compare/StartupEventHandler.java (100%) rename {spring-boot-ops => spring-boot-runtime}/src/main/java/com/baeldung/restart/Application.java (100%) rename {spring-boot-ops => spring-boot-runtime}/src/main/java/com/baeldung/restart/RestartController.java (100%) rename {spring-boot-ops => spring-boot-runtime}/src/main/java/com/baeldung/restart/RestartService.java (100%) rename {spring-boot-ops => spring-boot-runtime}/src/main/java/com/baeldung/shutdown/Application.java (100%) rename {spring-boot-ops => spring-boot-runtime}/src/main/java/com/baeldung/shutdown/ShutdownConfig.java (100%) rename {spring-boot-ops => spring-boot-runtime}/src/main/java/com/baeldung/shutdown/TerminateBean.java (100%) rename {spring-boot-ops => spring-boot-runtime}/src/main/java/com/baeldung/shutdown/shutdown/ShutdownController.java (100%) rename {spring-boot-management => spring-boot-runtime}/src/main/java/com/baeldung/spring/boot/management/logging/LoggingApplication.java (82%) rename {spring-boot-management => spring-boot-runtime}/src/main/java/com/baeldung/spring/boot/management/logging/LoggingController.java (100%) rename {spring-boot-management => spring-boot-runtime}/src/main/java/com/baeldung/spring/boot/management/logging/SecurityConfig.java (100%) rename {spring-boot-management => spring-boot-runtime}/src/main/java/com/baeldung/spring/boot/management/trace/App.java (80%) rename {spring-boot-management => spring-boot-runtime}/src/main/java/com/baeldung/spring/boot/management/trace/CustomTraceRepository.java (100%) rename {spring-boot-management => spring-boot-runtime}/src/main/java/com/baeldung/spring/boot/management/trace/EchoController.java (100%) rename {spring-boot-management => spring-boot-runtime}/src/main/java/com/baeldung/spring/boot/management/trace/TraceRequestFilter.java (100%) rename spring-boot-management/src/main/resources/application.properties => spring-boot-runtime/src/main/resources/application-logging.properties (100%) create mode 100644 spring-boot-runtime/src/main/resources/application.properties create mode 100644 spring-boot-runtime/src/main/resources/logback.xml rename {spring-boot-ops => spring-boot-runtime}/src/test/java/com/baeldung/restart/RestartApplicationManualTest.java (100%) rename {spring-boot-ops => spring-boot-runtime}/src/test/java/com/baeldung/shutdown/ShutdownApplicationIntegrationTest.java (100%) rename {spring-boot-ops => spring-boot-runtime}/src/test/resources/application-integrationtest.properties (100%) rename {spring-boot-ops => spring-boot-runtime}/src/test/resources/application.properties (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/Application.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/config/WebConfig.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/controller/GenericEntityController.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/converter/GenericBigDecimalConverter.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/converter/StringToAbstractEntityConverterFactory.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/converter/StringToEmployeeConverter.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/converter/StringToEnumConverter.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/converter/StringToLocalDateTimeConverter.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/converter/controller/AbstractEntityController.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/converter/controller/StringToEmployeeConverterController.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/domain/AbstractEntity.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/domain/Bar.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/domain/Employee.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/domain/Foo.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/domain/GenericEntity.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/domain/Modes.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/repository/GenericEntityRepository.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/web/resolver/HeaderVersionArgumentResolver.java (100%) rename {spring-boot-ops => spring-mvc-simple-2}/src/main/java/org/baeldung/boot/web/resolver/Version.java (100%) rename {spring-boot-ops/src/test/java/org => spring-mvc-simple-2/src/test/java/com}/baeldung/SpringBootApplicationIntegrationTest.java (99%) rename {spring-boot-ops/src/test/java/org => spring-mvc-simple-2/src/test/java/com}/baeldung/SpringBootJPAIntegrationTest.java (98%) rename {spring-boot-ops/src/test/java/org => spring-mvc-simple-2/src/test/java/com}/baeldung/SpringBootMailIntegrationTest.java (99%) diff --git a/spring-boot-artifacts/README.md b/spring-boot-artifacts/README.md new file mode 100644 index 0000000000..0a3f1b7e60 --- /dev/null +++ b/spring-boot-artifacts/README.md @@ -0,0 +1,7 @@ +### Relevant Articles: + - [Spring Boot Dependency Management with a Custom Parent](https://www.baeldung.com/spring-boot-dependency-management-custom-parent) + - [Create a Fat Jar App with Spring Boot](https://www.baeldung.com/deployable-fat-jar-spring-boot) + - [Intro to Spring Boot Starters](https://www.baeldung.com/spring-boot-starters) + - [Spring Properties File Outside jar](https://www.baeldung.com/spring-properties-file-outside-jar) + - [Introduction to WebJars](https://www.baeldung.com/maven-webjars) + - [A Quick Guide to Maven Wrapper](https://www.baeldung.com/maven-wrapper) \ No newline at end of file diff --git a/spring-boot-ops/pom.xml b/spring-boot-artifacts/pom.xml similarity index 98% rename from spring-boot-ops/pom.xml rename to spring-boot-artifacts/pom.xml index f578a24163..756864895d 100644 --- a/spring-boot-ops/pom.xml +++ b/spring-boot-artifacts/pom.xml @@ -2,8 +2,8 @@ 4.0.0 - spring-boot-ops - spring-boot-ops + spring-boot-artifacts + spring-boot-artifacts war Demo project for Spring Boot diff --git a/spring-boot-ops/src/main/java/com/baeldung/properties/ConfProperties.java b/spring-boot-artifacts/src/main/java/com/baeldung/properties/ConfProperties.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/properties/ConfProperties.java rename to spring-boot-artifacts/src/main/java/com/baeldung/properties/ConfProperties.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/properties/ExternalPropertyConfigurer.java b/spring-boot-artifacts/src/main/java/com/baeldung/properties/ExternalPropertyConfigurer.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/properties/ExternalPropertyConfigurer.java rename to spring-boot-artifacts/src/main/java/com/baeldung/properties/ExternalPropertyConfigurer.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/properties/ExternalPropertyFileLoader.java b/spring-boot-artifacts/src/main/java/com/baeldung/properties/ExternalPropertyFileLoader.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/properties/ExternalPropertyFileLoader.java rename to spring-boot-artifacts/src/main/java/com/baeldung/properties/ExternalPropertyFileLoader.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/webjar/TestController.java b/spring-boot-artifacts/src/main/java/com/baeldung/webjar/TestController.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/webjar/TestController.java rename to spring-boot-artifacts/src/main/java/com/baeldung/webjar/TestController.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/webjar/WebjarsdemoApplication.java b/spring-boot-artifacts/src/main/java/com/baeldung/webjar/WebjarsdemoApplication.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/webjar/WebjarsdemoApplication.java rename to spring-boot-artifacts/src/main/java/com/baeldung/webjar/WebjarsdemoApplication.java diff --git a/spring-boot-artifacts/src/main/resources/application.properties b/spring-boot-artifacts/src/main/resources/application.properties new file mode 100644 index 0000000000..709574239b --- /dev/null +++ b/spring-boot-artifacts/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.main.allow-bean-definition-overriding=true \ No newline at end of file diff --git a/spring-boot-ops/src/main/resources/external/conf.properties b/spring-boot-artifacts/src/main/resources/external/conf.properties similarity index 100% rename from spring-boot-ops/src/main/resources/external/conf.properties rename to spring-boot-artifacts/src/main/resources/external/conf.properties diff --git a/spring-boot-ops/src/main/resources/logback.xml b/spring-boot-artifacts/src/main/resources/logback.xml similarity index 100% rename from spring-boot-ops/src/main/resources/logback.xml rename to spring-boot-artifacts/src/main/resources/logback.xml diff --git a/spring-boot-ops/src/main/resources/templates/index.html b/spring-boot-artifacts/src/main/resources/templates/index.html similarity index 100% rename from spring-boot-ops/src/main/resources/templates/index.html rename to spring-boot-artifacts/src/main/resources/templates/index.html diff --git a/spring-boot-ops/src/test/java/com/baeldung/properties/ExternalPropertyFileLoaderIntegrationTest.java b/spring-boot-artifacts/src/test/java/com/baeldung/properties/ExternalPropertyFileLoaderIntegrationTest.java similarity index 100% rename from spring-boot-ops/src/test/java/com/baeldung/properties/ExternalPropertyFileLoaderIntegrationTest.java rename to spring-boot-artifacts/src/test/java/com/baeldung/properties/ExternalPropertyFileLoaderIntegrationTest.java diff --git a/spring-boot-ops/src/test/java/com/baeldung/webjar/WebjarsdemoApplicationIntegrationTest.java b/spring-boot-artifacts/src/test/java/com/baeldung/webjar/WebjarsdemoApplicationIntegrationTest.java similarity index 100% rename from spring-boot-ops/src/test/java/com/baeldung/webjar/WebjarsdemoApplicationIntegrationTest.java rename to spring-boot-artifacts/src/test/java/com/baeldung/webjar/WebjarsdemoApplicationIntegrationTest.java diff --git a/spring-boot-deployment/README.md b/spring-boot-deployment/README.md new file mode 100644 index 0000000000..90c5d05e33 --- /dev/null +++ b/spring-boot-deployment/README.md @@ -0,0 +1,5 @@ +### Relevant Articles: + - [Deploy a Spring Boot WAR into a Tomcat Server](https://www.baeldung.com/spring-boot-war-tomcat-deploy) + - [Spring Boot Console Application](https://www.baeldung.com/spring-boot-console-app) + - [How to Configure Spring Boot Tomcat](https://www.baeldung.com/spring-boot-configure-tomcat) + - [Spring Boot Embedded Tomcat Logs](https://www.baeldung.com/spring-boot-embedded-tomcat-logs) diff --git a/spring-boot-deployment/pom.xml b/spring-boot-deployment/pom.xml new file mode 100644 index 0000000000..6802452ddf --- /dev/null +++ b/spring-boot-deployment/pom.xml @@ -0,0 +1,203 @@ + + + 4.0.0 + spring-boot-deployment + spring-boot-deployment + war + Demo project for Spring Boot + + + parent-boot-2 + com.baeldung + 0.0.1-SNAPSHOT + ../parent-boot-2 + + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-thymeleaf + provided + + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.springframework.boot + spring-boot-starter-mail + + + + org.springframework.boot + spring-boot-starter-actuator + + + + com.h2database + h2 + runtime + + + + javax.persistence + javax.persistence-api + ${jpa.version} + + + + com.google.guava + guava + ${guava.version} + + + + org.subethamail + subethasmtp + ${subethasmtp.version} + test + + + + org.webjars + bootstrap + ${bootstrap.version} + + + + org.webjars + jquery + ${jquery.version} + + + + org.springframework.cloud + spring-cloud-context + ${springcloud.version} + + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + + + + ${project.artifactId} + + + src/main/resources + true + + **/conf.properties + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + com.baeldung.webjar.WebjarsdemoApplication + + + + + + org.apache.maven.plugins + maven-failsafe-plugin + 2.18 + + + + integration-tests + + integration-test + verify + + + + + **/ExternalPropertyFileLoaderIntegrationTest.java + + + + + + + + + + + autoconfiguration + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration-test + + test + + + + **/*LiveTest.java + **/*IntegrationTest.java + **/*IntTest.java + + + **/AutoconfigurationTest.java + + + + + + + json + + + + + + + + + + + org.baeldung.boot.Application + 3.1.1 + 3.3.7-1 + 2.2 + 18.0 + 3.1.7 + 2.0.2.RELEASE + 4.5.8 + + + diff --git a/spring-boot-ops-2/src/main/java/com/baeldung/springbootconfiguration/SpringBootConfigurationApplication.java b/spring-boot-deployment/src/main/java/com/baeldung/springbootconfiguration/SpringBootConfigurationApplication.java similarity index 100% rename from spring-boot-ops-2/src/main/java/com/baeldung/springbootconfiguration/SpringBootConfigurationApplication.java rename to spring-boot-deployment/src/main/java/com/baeldung/springbootconfiguration/SpringBootConfigurationApplication.java diff --git a/spring-boot-ops-2/src/main/java/com/baeldung/springbootconfiguration/controller/GreetingsController.java b/spring-boot-deployment/src/main/java/com/baeldung/springbootconfiguration/controller/GreetingsController.java similarity index 100% rename from spring-boot-ops-2/src/main/java/com/baeldung/springbootconfiguration/controller/GreetingsController.java rename to spring-boot-deployment/src/main/java/com/baeldung/springbootconfiguration/controller/GreetingsController.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/springbootnonwebapp/SpringBootConsoleApplication.java b/spring-boot-deployment/src/main/java/com/baeldung/springbootnonwebapp/SpringBootConsoleApplication.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/springbootnonwebapp/SpringBootConsoleApplication.java rename to spring-boot-deployment/src/main/java/com/baeldung/springbootnonwebapp/SpringBootConsoleApplication.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/springbootsimple/SpringBootTomcatApplication.java b/spring-boot-deployment/src/main/java/com/baeldung/springbootsimple/SpringBootTomcatApplication.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/springbootsimple/SpringBootTomcatApplication.java rename to spring-boot-deployment/src/main/java/com/baeldung/springbootsimple/SpringBootTomcatApplication.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/springbootsimple/TomcatController.java b/spring-boot-deployment/src/main/java/com/baeldung/springbootsimple/TomcatController.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/springbootsimple/TomcatController.java rename to spring-boot-deployment/src/main/java/com/baeldung/springbootsimple/TomcatController.java diff --git a/spring-boot-ops-2/src/main/resources/application-tomcat.properties b/spring-boot-deployment/src/main/resources/application-tomcat.properties similarity index 100% rename from spring-boot-ops-2/src/main/resources/application-tomcat.properties rename to spring-boot-deployment/src/main/resources/application-tomcat.properties diff --git a/spring-boot-deployment/src/main/resources/application.properties b/spring-boot-deployment/src/main/resources/application.properties new file mode 100644 index 0000000000..709574239b --- /dev/null +++ b/spring-boot-deployment/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.main.allow-bean-definition-overriding=true \ No newline at end of file diff --git a/spring-boot-management/src/main/resources/logback.xml b/spring-boot-deployment/src/main/resources/logback.xml similarity index 58% rename from spring-boot-management/src/main/resources/logback.xml rename to spring-boot-deployment/src/main/resources/logback.xml index 36314cbeeb..7d900d8ea8 100644 --- a/spring-boot-management/src/main/resources/logback.xml +++ b/spring-boot-deployment/src/main/resources/logback.xml @@ -1,13 +1,13 @@ - + + - %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + - - - + \ No newline at end of file diff --git a/spring-boot-ops-2/src/test/java/com/baeldung/springbootconfiguration/SpringContextIntegrationTest.java b/spring-boot-deployment/src/test/java/com/baeldung/springbootconfiguration/SpringContextIntegrationTest.java similarity index 100% rename from spring-boot-ops-2/src/test/java/com/baeldung/springbootconfiguration/SpringContextIntegrationTest.java rename to spring-boot-deployment/src/test/java/com/baeldung/springbootconfiguration/SpringContextIntegrationTest.java diff --git a/spring-boot-ops-2/src/test/java/com/baeldung/springbootconfiguration/SpringContextTest.java b/spring-boot-deployment/src/test/java/com/baeldung/springbootconfiguration/SpringContextTest.java similarity index 100% rename from spring-boot-ops-2/src/test/java/com/baeldung/springbootconfiguration/SpringContextTest.java rename to spring-boot-deployment/src/test/java/com/baeldung/springbootconfiguration/SpringContextTest.java diff --git a/spring-boot-ops/src/test/java/com/baeldung/springbootsimple/SpringBootTomcatApplicationIntegrationTest.java b/spring-boot-deployment/src/test/java/com/baeldung/springbootsimple/SpringBootTomcatApplicationIntegrationTest.java similarity index 100% rename from spring-boot-ops/src/test/java/com/baeldung/springbootsimple/SpringBootTomcatApplicationIntegrationTest.java rename to spring-boot-deployment/src/test/java/com/baeldung/springbootsimple/SpringBootTomcatApplicationIntegrationTest.java diff --git a/spring-boot-environment/README.md b/spring-boot-environment/README.md new file mode 100644 index 0000000000..57cf8b2461 --- /dev/null +++ b/spring-boot-environment/README.md @@ -0,0 +1,2 @@ +### Relevant Articles: + - [EnvironmentPostProcessor in Spring Boot](https://www.baeldung.com/spring-boot-environmentpostprocessor) diff --git a/spring-boot-environment/pom.xml b/spring-boot-environment/pom.xml new file mode 100644 index 0000000000..a957dcde1b --- /dev/null +++ b/spring-boot-environment/pom.xml @@ -0,0 +1,148 @@ + + + 4.0.0 + spring-boot-environment + spring-boot-environment + war + Demo project for Spring Boot + + + parent-boot-2 + com.baeldung + 0.0.1-SNAPSHOT + ../parent-boot-2 + + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-thymeleaf + provided + + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.springframework.boot + spring-boot-starter-mail + + + + org.springframework.boot + spring-boot-starter-actuator + + + + com.h2database + h2 + runtime + + + + javax.persistence + javax.persistence-api + ${jpa.version} + + + + com.google.guava + guava + ${guava.version} + + + + org.subethamail + subethasmtp + ${subethasmtp.version} + test + + + + org.springframework.cloud + spring-cloud-context + ${springcloud.version} + + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + + + + ${project.artifactId} + + + src/main/resources + true + + **/conf.properties + + + + + + + + autoconfiguration + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration-test + + test + + + + **/*LiveTest.java + **/*IntegrationTest.java + **/*IntTest.java + + + **/AutoconfigurationTest.java + + + + + + + json + + + + + + + + + + 2.2 + 18.0 + 3.1.7 + 2.0.2.RELEASE + 4.5.8 + + + diff --git a/spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationApplication.java b/spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationApplication.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationApplication.java rename to spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationApplication.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessor.java b/spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessor.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessor.java rename to spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessor.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/autoconfig/PriceCalculationAutoConfig.java b/spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/autoconfig/PriceCalculationAutoConfig.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/autoconfig/PriceCalculationAutoConfig.java rename to spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/autoconfig/PriceCalculationAutoConfig.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/calculator/GrossPriceCalculator.java b/spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/calculator/GrossPriceCalculator.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/calculator/GrossPriceCalculator.java rename to spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/calculator/GrossPriceCalculator.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/calculator/NetPriceCalculator.java b/spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/calculator/NetPriceCalculator.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/calculator/NetPriceCalculator.java rename to spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/calculator/NetPriceCalculator.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/calculator/PriceCalculator.java b/spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/calculator/PriceCalculator.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/calculator/PriceCalculator.java rename to spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/calculator/PriceCalculator.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/service/PriceCalculationService.java b/spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/service/PriceCalculationService.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/service/PriceCalculationService.java rename to spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/service/PriceCalculationService.java diff --git a/spring-boot-ops/src/main/resources/META-INF/spring.factories b/spring-boot-environment/src/main/resources/META-INF/spring.factories similarity index 100% rename from spring-boot-ops/src/main/resources/META-INF/spring.factories rename to spring-boot-environment/src/main/resources/META-INF/spring.factories diff --git a/spring-boot-ops/src/main/resources/application.properties b/spring-boot-environment/src/main/resources/application.properties similarity index 100% rename from spring-boot-ops/src/main/resources/application.properties rename to spring-boot-environment/src/main/resources/application.properties diff --git a/spring-boot-environment/src/main/resources/logback.xml b/spring-boot-environment/src/main/resources/logback.xml new file mode 100644 index 0000000000..7d900d8ea8 --- /dev/null +++ b/spring-boot-environment/src/main/resources/logback.xml @@ -0,0 +1,13 @@ + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + \ No newline at end of file diff --git a/spring-boot-ops/src/test/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessorLiveTest.java b/spring-boot-environment/src/test/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessorLiveTest.java similarity index 100% rename from spring-boot-ops/src/test/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessorLiveTest.java rename to spring-boot-environment/src/test/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessorLiveTest.java diff --git a/spring-boot-management/pom.xml b/spring-boot-management/pom.xml deleted file mode 100644 index ca483d2f61..0000000000 --- a/spring-boot-management/pom.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - 4.0.0 - - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../parent-boot-2 - - com.baeldung - spring-boot-management - 0.0.1-SNAPSHOT - spring-boot-management - - - com.baeldung.spring.boot.management.logging.LoggingApplication - 1.8 - 2.1.6 - - - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-security - - - de.codecentric - spring-boot-admin-starter-client - ${spring-boot-admin-starter-client.version} - - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - diff --git a/spring-boot-ops-2/.gitignore b/spring-boot-ops-2/.gitignore deleted file mode 100644 index 153c9335eb..0000000000 --- a/spring-boot-ops-2/.gitignore +++ /dev/null @@ -1,29 +0,0 @@ -HELP.md -/target/ -!.mvn/wrapper/maven-wrapper.jar - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ -/build/ - -### VS Code ### -.vscode/ diff --git a/spring-boot-ops-2/README.MD b/spring-boot-ops-2/README.MD deleted file mode 100644 index b4218dc395..0000000000 --- a/spring-boot-ops-2/README.MD +++ /dev/null @@ -1,4 +0,0 @@ -### Relevant Articles - -- [How to Configure Spring Boot Tomcat](https://www.baeldung.com/spring-boot-configure-tomcat) -- [Spring Boot Embedded Tomcat Logs](https://www.baeldung.com/spring-boot-embedded-tomcat-logs) diff --git a/spring-boot-ops-2/pom.xml b/spring-boot-ops-2/pom.xml deleted file mode 100644 index 74fcd79169..0000000000 --- a/spring-boot-ops-2/pom.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - 4.0.0 - com.baeldung - spring-boot-ops-2 - 0.0.1-SNAPSHOT - spring-boot-ops-2 - - - parent-boot-2 - com.baeldung - 0.0.1-SNAPSHOT - ../parent-boot-2 - - - - - org.springframework.boot - spring-boot-starter-web - - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - diff --git a/spring-boot-ops-2/src/main/resources/application.properties b/spring-boot-ops-2/src/main/resources/application.properties deleted file mode 100644 index fc3fff1d38..0000000000 --- a/spring-boot-ops-2/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -spring.profiles.active=tomcat diff --git a/spring-boot-ops/README.md b/spring-boot-ops/README.md deleted file mode 100644 index 5be5c974d3..0000000000 --- a/spring-boot-ops/README.md +++ /dev/null @@ -1,14 +0,0 @@ -### Relevant Articles: - - [Deploy a Spring Boot WAR into a Tomcat Server](http://www.baeldung.com/spring-boot-war-tomcat-deploy) - - [Spring Boot Dependency Management with a Custom Parent](http://www.baeldung.com/spring-boot-dependency-management-custom-parent) - - [A Custom Data Binder in Spring MVC](http://www.baeldung.com/spring-mvc-custom-data-binder) - - [Create a Fat Jar App with Spring Boot](http://www.baeldung.com/deployable-fat-jar-spring-boot) - - [Introduction to WebJars](http://www.baeldung.com/maven-webjars) - - [Intro to Spring Boot Starters](http://www.baeldung.com/spring-boot-starters) - - [A Quick Guide to Maven Wrapper](http://www.baeldung.com/maven-wrapper) - - [Shutdown a Spring Boot Application](http://www.baeldung.com/spring-boot-shutdown) - - [Spring Boot Console Application](http://www.baeldung.com/spring-boot-console-app) - - [Comparing Embedded Servlet Containers in Spring Boot](http://www.baeldung.com/spring-boot-servlet-containers) - - [Programmatically Restarting a Spring Boot Application](https://www.baeldung.com/java-restart-spring-boot-app) - - [Spring Properties File Outside jar](https://www.baeldung.com/spring-properties-file-outside-jar) - - [EnvironmentPostProcessor in Spring Boot](https://www.baeldung.com/spring-boot-environmentpostprocessor) diff --git a/spring-boot-runtime/README.md b/spring-boot-runtime/README.md new file mode 100644 index 0000000000..fb5e0b14de --- /dev/null +++ b/spring-boot-runtime/README.md @@ -0,0 +1,5 @@ +### Relevant Articles: + - [Shutdown a Spring Boot Application](https://www.baeldung.com/spring-boot-shutdown) + - [Comparing Embedded Servlet Containers in Spring Boot](https://www.baeldung.com/spring-boot-servlet-containers) + - [Programmatically Restarting a Spring Boot Application](https://www.baeldung.com/java-restart-spring-boot-app) + diff --git a/spring-boot-ops/docker/Dockerfile b/spring-boot-runtime/docker/Dockerfile similarity index 100% rename from spring-boot-ops/docker/Dockerfile rename to spring-boot-runtime/docker/Dockerfile diff --git a/spring-boot-ops/docker/logback.xml b/spring-boot-runtime/docker/logback.xml similarity index 100% rename from spring-boot-ops/docker/logback.xml rename to spring-boot-runtime/docker/logback.xml diff --git a/spring-boot-ops/docker/run.sh b/spring-boot-runtime/docker/run.sh old mode 100755 new mode 100644 similarity index 100% rename from spring-boot-ops/docker/run.sh rename to spring-boot-runtime/docker/run.sh diff --git a/spring-boot-runtime/pom.xml b/spring-boot-runtime/pom.xml new file mode 100644 index 0000000000..eab8ca3cc2 --- /dev/null +++ b/spring-boot-runtime/pom.xml @@ -0,0 +1,159 @@ + + + 4.0.0 + spring-boot-runtime + spring-boot-runtime + war + Demo project for Spring Boot + + + parent-boot-2 + com.baeldung + 0.0.1-SNAPSHOT + ../parent-boot-2 + + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-thymeleaf + provided + + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.springframework.boot + spring-boot-starter-mail + + + + org.springframework.boot + spring-boot-starter-actuator + + + + org.springframework.boot + spring-boot-starter-security + + + de.codecentric + spring-boot-admin-starter-client + ${spring-boot-admin-starter-client.version} + + + + com.h2database + h2 + runtime + + + + javax.persistence + javax.persistence-api + ${jpa.version} + + + + com.google.guava + guava + ${guava.version} + + + + org.subethamail + subethasmtp + ${subethasmtp.version} + test + + + + org.springframework.cloud + spring-cloud-context + ${springcloud.version} + + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + + + + ${project.artifactId} + + + src/main/resources + true + + **/conf.properties + + + + + + + + autoconfiguration + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration-test + + test + + + + **/*LiveTest.java + **/*IntegrationTest.java + **/*IntTest.java + + + **/AutoconfigurationTest.java + + + + + + + json + + + + + + + + + + 2.2 + 18.0 + 3.1.7 + 2.0.2.RELEASE + 4.5.8 + 2.1.6 + + + diff --git a/spring-boot-ops/src/main/java/com/baeldung/compare/ComparisonApplication.java b/spring-boot-runtime/src/main/java/com/baeldung/compare/ComparisonApplication.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/compare/ComparisonApplication.java rename to spring-boot-runtime/src/main/java/com/baeldung/compare/ComparisonApplication.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/compare/StartupEventHandler.java b/spring-boot-runtime/src/main/java/com/baeldung/compare/StartupEventHandler.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/compare/StartupEventHandler.java rename to spring-boot-runtime/src/main/java/com/baeldung/compare/StartupEventHandler.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/restart/Application.java b/spring-boot-runtime/src/main/java/com/baeldung/restart/Application.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/restart/Application.java rename to spring-boot-runtime/src/main/java/com/baeldung/restart/Application.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/restart/RestartController.java b/spring-boot-runtime/src/main/java/com/baeldung/restart/RestartController.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/restart/RestartController.java rename to spring-boot-runtime/src/main/java/com/baeldung/restart/RestartController.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/restart/RestartService.java b/spring-boot-runtime/src/main/java/com/baeldung/restart/RestartService.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/restart/RestartService.java rename to spring-boot-runtime/src/main/java/com/baeldung/restart/RestartService.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/shutdown/Application.java b/spring-boot-runtime/src/main/java/com/baeldung/shutdown/Application.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/shutdown/Application.java rename to spring-boot-runtime/src/main/java/com/baeldung/shutdown/Application.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/shutdown/ShutdownConfig.java b/spring-boot-runtime/src/main/java/com/baeldung/shutdown/ShutdownConfig.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/shutdown/ShutdownConfig.java rename to spring-boot-runtime/src/main/java/com/baeldung/shutdown/ShutdownConfig.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/shutdown/TerminateBean.java b/spring-boot-runtime/src/main/java/com/baeldung/shutdown/TerminateBean.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/shutdown/TerminateBean.java rename to spring-boot-runtime/src/main/java/com/baeldung/shutdown/TerminateBean.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/shutdown/shutdown/ShutdownController.java b/spring-boot-runtime/src/main/java/com/baeldung/shutdown/shutdown/ShutdownController.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/shutdown/shutdown/ShutdownController.java rename to spring-boot-runtime/src/main/java/com/baeldung/shutdown/shutdown/ShutdownController.java diff --git a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/logging/LoggingApplication.java b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/logging/LoggingApplication.java similarity index 82% rename from spring-boot-management/src/main/java/com/baeldung/spring/boot/management/logging/LoggingApplication.java rename to spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/logging/LoggingApplication.java index 6371ac4c64..5c1b143c4e 100644 --- a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/logging/LoggingApplication.java +++ b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/logging/LoggingApplication.java @@ -2,7 +2,9 @@ package com.baeldung.spring.boot.management.logging; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Profile; +@Profile("logging") @SpringBootApplication public class LoggingApplication { public static void main(String[] args) { diff --git a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/logging/LoggingController.java b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/logging/LoggingController.java similarity index 100% rename from spring-boot-management/src/main/java/com/baeldung/spring/boot/management/logging/LoggingController.java rename to spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/logging/LoggingController.java diff --git a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/logging/SecurityConfig.java b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/logging/SecurityConfig.java similarity index 100% rename from spring-boot-management/src/main/java/com/baeldung/spring/boot/management/logging/SecurityConfig.java rename to spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/logging/SecurityConfig.java diff --git a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/App.java b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/App.java similarity index 80% rename from spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/App.java rename to spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/App.java index 150e451c57..ffc30e9b33 100644 --- a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/App.java +++ b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/App.java @@ -2,7 +2,9 @@ package com.baeldung.spring.boot.management.trace; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Profile; +@Profile("logging") @SpringBootApplication public class App { diff --git a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/CustomTraceRepository.java b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/CustomTraceRepository.java similarity index 100% rename from spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/CustomTraceRepository.java rename to spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/CustomTraceRepository.java diff --git a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/EchoController.java b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/EchoController.java similarity index 100% rename from spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/EchoController.java rename to spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/EchoController.java diff --git a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/TraceRequestFilter.java b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/TraceRequestFilter.java similarity index 100% rename from spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/TraceRequestFilter.java rename to spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/TraceRequestFilter.java diff --git a/spring-boot-management/src/main/resources/application.properties b/spring-boot-runtime/src/main/resources/application-logging.properties similarity index 100% rename from spring-boot-management/src/main/resources/application.properties rename to spring-boot-runtime/src/main/resources/application-logging.properties diff --git a/spring-boot-runtime/src/main/resources/application.properties b/spring-boot-runtime/src/main/resources/application.properties new file mode 100644 index 0000000000..27b7915cff --- /dev/null +++ b/spring-boot-runtime/src/main/resources/application.properties @@ -0,0 +1,7 @@ +management.endpoints.web.exposure.include=* +management.metrics.enable.root=true +management.metrics.enable.jvm=true +management.endpoint.restart.enabled=true +spring.datasource.jmx-enabled=false +spring.main.allow-bean-definition-overriding=true +management.endpoint.shutdown.enabled=true \ No newline at end of file diff --git a/spring-boot-runtime/src/main/resources/logback.xml b/spring-boot-runtime/src/main/resources/logback.xml new file mode 100644 index 0000000000..7d900d8ea8 --- /dev/null +++ b/spring-boot-runtime/src/main/resources/logback.xml @@ -0,0 +1,13 @@ + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + \ No newline at end of file diff --git a/spring-boot-ops/src/test/java/com/baeldung/restart/RestartApplicationManualTest.java b/spring-boot-runtime/src/test/java/com/baeldung/restart/RestartApplicationManualTest.java similarity index 100% rename from spring-boot-ops/src/test/java/com/baeldung/restart/RestartApplicationManualTest.java rename to spring-boot-runtime/src/test/java/com/baeldung/restart/RestartApplicationManualTest.java diff --git a/spring-boot-ops/src/test/java/com/baeldung/shutdown/ShutdownApplicationIntegrationTest.java b/spring-boot-runtime/src/test/java/com/baeldung/shutdown/ShutdownApplicationIntegrationTest.java similarity index 100% rename from spring-boot-ops/src/test/java/com/baeldung/shutdown/ShutdownApplicationIntegrationTest.java rename to spring-boot-runtime/src/test/java/com/baeldung/shutdown/ShutdownApplicationIntegrationTest.java diff --git a/spring-boot-ops/src/test/resources/application-integrationtest.properties b/spring-boot-runtime/src/test/resources/application-integrationtest.properties similarity index 100% rename from spring-boot-ops/src/test/resources/application-integrationtest.properties rename to spring-boot-runtime/src/test/resources/application-integrationtest.properties diff --git a/spring-boot-ops/src/test/resources/application.properties b/spring-boot-runtime/src/test/resources/application.properties similarity index 100% rename from spring-boot-ops/src/test/resources/application.properties rename to spring-boot-runtime/src/test/resources/application.properties diff --git a/spring-mvc-simple-2/README.md b/spring-mvc-simple-2/README.md index 6dfe789be4..312c174fff 100644 --- a/spring-mvc-simple-2/README.md +++ b/spring-mvc-simple-2/README.md @@ -1,2 +1,3 @@ ## Relevant articles: - [How to Read HTTP Headers in Spring REST Controllers](https://www.baeldung.com/spring-rest-http-headers) +- [A Custom Data Binder in Spring MVC](https://www.baeldung.com/spring-mvc-custom-data-binder) \ No newline at end of file diff --git a/spring-mvc-simple-2/pom.xml b/spring-mvc-simple-2/pom.xml index 74302cff78..ac1f9a661c 100644 --- a/spring-mvc-simple-2/pom.xml +++ b/spring-mvc-simple-2/pom.xml @@ -1,37 +1,152 @@ - - + + 4.0.0 spring-mvc-simple-2 - war spring-mvc-simple-2 + war + Demo project for Spring Boot - com.baeldung parent-boot-2 + com.baeldung 0.0.1-SNAPSHOT ../parent-boot-2 + org.springframework.boot spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-thymeleaf + provided + + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.springframework.boot + spring-boot-starter-mail + + + + org.springframework.boot + spring-boot-starter-actuator + + + + com.h2database + h2 + runtime + + + + javax.persistence + javax.persistence-api + ${jpa.version} + + + + com.google.guava + guava + ${guava.version} + + + + org.subethamail + subethasmtp + ${subethasmtp.version} + test + + + + org.springframework.cloud + spring-cloud-context + ${springcloud.version} + + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + + ${project.artifactId} + + + src/main/resources + true + + **/conf.properties + + + + + + + + autoconfiguration + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration-test + + test + + + + **/*LiveTest.java + **/*IntegrationTest.java + **/*IntTest.java + + + **/AutoconfigurationTest.java + + + + + + + json + + + + + + + + - 1.8 - 1.8 + + org.baeldung.boot.Application + 3.1.1 + 3.3.7-1 + 2.2 + 18.0 + 3.1.7 + 2.0.2.RELEASE + 4.5.8 - - - - org.apache.maven.plugins - maven-war-plugin - - - spring-mvc-simple2 - diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/Application.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/Application.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/Application.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/Application.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/config/WebConfig.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/config/WebConfig.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/config/WebConfig.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/config/WebConfig.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/controller/GenericEntityController.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/controller/GenericEntityController.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/controller/GenericEntityController.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/controller/GenericEntityController.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/converter/GenericBigDecimalConverter.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/GenericBigDecimalConverter.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/converter/GenericBigDecimalConverter.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/GenericBigDecimalConverter.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToAbstractEntityConverterFactory.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToAbstractEntityConverterFactory.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToAbstractEntityConverterFactory.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToAbstractEntityConverterFactory.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToEmployeeConverter.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToEmployeeConverter.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToEmployeeConverter.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToEmployeeConverter.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToEnumConverter.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToEnumConverter.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToEnumConverter.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToEnumConverter.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToLocalDateTimeConverter.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToLocalDateTimeConverter.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToLocalDateTimeConverter.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToLocalDateTimeConverter.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/converter/controller/AbstractEntityController.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/controller/AbstractEntityController.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/converter/controller/AbstractEntityController.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/controller/AbstractEntityController.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/converter/controller/StringToEmployeeConverterController.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/controller/StringToEmployeeConverterController.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/converter/controller/StringToEmployeeConverterController.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/controller/StringToEmployeeConverterController.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/domain/AbstractEntity.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/AbstractEntity.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/domain/AbstractEntity.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/AbstractEntity.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/domain/Bar.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Bar.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/domain/Bar.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Bar.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/domain/Employee.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Employee.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/domain/Employee.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Employee.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/domain/Foo.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Foo.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/domain/Foo.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Foo.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/domain/GenericEntity.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/GenericEntity.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/domain/GenericEntity.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/GenericEntity.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/domain/Modes.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Modes.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/domain/Modes.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Modes.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/repository/GenericEntityRepository.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/repository/GenericEntityRepository.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/repository/GenericEntityRepository.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/repository/GenericEntityRepository.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/web/resolver/HeaderVersionArgumentResolver.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/web/resolver/HeaderVersionArgumentResolver.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/web/resolver/HeaderVersionArgumentResolver.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/web/resolver/HeaderVersionArgumentResolver.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/web/resolver/Version.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/web/resolver/Version.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/web/resolver/Version.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/web/resolver/Version.java diff --git a/spring-boot-ops/src/test/java/org/baeldung/SpringBootApplicationIntegrationTest.java b/spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootApplicationIntegrationTest.java similarity index 99% rename from spring-boot-ops/src/test/java/org/baeldung/SpringBootApplicationIntegrationTest.java rename to spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootApplicationIntegrationTest.java index 5627543b62..7190c4f427 100644 --- a/spring-boot-ops/src/test/java/org/baeldung/SpringBootApplicationIntegrationTest.java +++ b/spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootApplicationIntegrationTest.java @@ -1,4 +1,4 @@ -package org.baeldung; +package com.baeldung; import org.baeldung.boot.Application; import org.baeldung.boot.domain.Modes; diff --git a/spring-boot-ops/src/test/java/org/baeldung/SpringBootJPAIntegrationTest.java b/spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootJPAIntegrationTest.java similarity index 98% rename from spring-boot-ops/src/test/java/org/baeldung/SpringBootJPAIntegrationTest.java rename to spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootJPAIntegrationTest.java index c368cf5219..c283529435 100644 --- a/spring-boot-ops/src/test/java/org/baeldung/SpringBootJPAIntegrationTest.java +++ b/spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootJPAIntegrationTest.java @@ -1,4 +1,4 @@ -package org.baeldung; +package com.baeldung; import org.baeldung.boot.Application; import org.baeldung.boot.domain.GenericEntity; diff --git a/spring-boot-ops/src/test/java/org/baeldung/SpringBootMailIntegrationTest.java b/spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootMailIntegrationTest.java similarity index 99% rename from spring-boot-ops/src/test/java/org/baeldung/SpringBootMailIntegrationTest.java rename to spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootMailIntegrationTest.java index a6a84184fa..1a2a4e22d9 100644 --- a/spring-boot-ops/src/test/java/org/baeldung/SpringBootMailIntegrationTest.java +++ b/spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootMailIntegrationTest.java @@ -1,4 +1,4 @@ -package org.baeldung; +package com.baeldung; import org.baeldung.boot.Application; import org.junit.After; From 9cb83205fe4e4c46465a9672362c3e5da5d32faf Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sat, 28 Sep 2019 20:31:00 +0530 Subject: [PATCH 034/199] [BAEL-17473] - Retired spring-boot-ops, spring-boot-ops-2, and spring-boot-management modules --- .../gracefulshutdown/GracefulShutdownApplication.java | 0 .../gracefulshutdown/beans/LongRunningProcessBean.java | 0 .../gracefulshutdown/config/SpringConfiguration.java | 0 spring-boot-management/README.md | 7 ------- spring-boot-runtime/README.md | 2 +- spring-mvc-simple-2/pom.xml | 6 ++++++ .../src/main/resources/application.properties | 1 + 7 files changed, 8 insertions(+), 8 deletions(-) rename {spring-boot-ops-2 => spring-boot-deployment}/src/main/java/com/baeldung/gracefulshutdown/GracefulShutdownApplication.java (100%) rename {spring-boot-ops-2 => spring-boot-deployment}/src/main/java/com/baeldung/gracefulshutdown/beans/LongRunningProcessBean.java (100%) rename {spring-boot-ops-2 => spring-boot-deployment}/src/main/java/com/baeldung/gracefulshutdown/config/SpringConfiguration.java (100%) delete mode 100644 spring-boot-management/README.md create mode 100644 spring-mvc-simple-2/src/main/resources/application.properties diff --git a/spring-boot-ops-2/src/main/java/com/baeldung/gracefulshutdown/GracefulShutdownApplication.java b/spring-boot-deployment/src/main/java/com/baeldung/gracefulshutdown/GracefulShutdownApplication.java similarity index 100% rename from spring-boot-ops-2/src/main/java/com/baeldung/gracefulshutdown/GracefulShutdownApplication.java rename to spring-boot-deployment/src/main/java/com/baeldung/gracefulshutdown/GracefulShutdownApplication.java diff --git a/spring-boot-ops-2/src/main/java/com/baeldung/gracefulshutdown/beans/LongRunningProcessBean.java b/spring-boot-deployment/src/main/java/com/baeldung/gracefulshutdown/beans/LongRunningProcessBean.java similarity index 100% rename from spring-boot-ops-2/src/main/java/com/baeldung/gracefulshutdown/beans/LongRunningProcessBean.java rename to spring-boot-deployment/src/main/java/com/baeldung/gracefulshutdown/beans/LongRunningProcessBean.java diff --git a/spring-boot-ops-2/src/main/java/com/baeldung/gracefulshutdown/config/SpringConfiguration.java b/spring-boot-deployment/src/main/java/com/baeldung/gracefulshutdown/config/SpringConfiguration.java similarity index 100% rename from spring-boot-ops-2/src/main/java/com/baeldung/gracefulshutdown/config/SpringConfiguration.java rename to spring-boot-deployment/src/main/java/com/baeldung/gracefulshutdown/config/SpringConfiguration.java diff --git a/spring-boot-management/README.md b/spring-boot-management/README.md deleted file mode 100644 index 53d4c439ff..0000000000 --- a/spring-boot-management/README.md +++ /dev/null @@ -1,7 +0,0 @@ -## Spring Boot Logging HTTP Requests - -This module contains articles about the management of Spring Boot applications. - -### Relevant Articles: -- [Logging HTTP Requests with Spring Boot Actuator HTTP Tracing](https://www.baeldung.com/spring-boot-actuator-http) - diff --git a/spring-boot-runtime/README.md b/spring-boot-runtime/README.md index fb5e0b14de..002615b934 100644 --- a/spring-boot-runtime/README.md +++ b/spring-boot-runtime/README.md @@ -2,4 +2,4 @@ - [Shutdown a Spring Boot Application](https://www.baeldung.com/spring-boot-shutdown) - [Comparing Embedded Servlet Containers in Spring Boot](https://www.baeldung.com/spring-boot-servlet-containers) - [Programmatically Restarting a Spring Boot Application](https://www.baeldung.com/java-restart-spring-boot-app) - + - [Logging HTTP Requests with Spring Boot Actuator HTTP Tracing](https://www.baeldung.com/spring-boot-actuator-http) \ No newline at end of file diff --git a/spring-mvc-simple-2/pom.xml b/spring-mvc-simple-2/pom.xml index 4b2eafe97f..3ae577cb03 100644 --- a/spring-mvc-simple-2/pom.xml +++ b/spring-mvc-simple-2/pom.xml @@ -20,6 +20,12 @@ org.springframework.boot spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-test + test + org.springframework.boot diff --git a/spring-mvc-simple-2/src/main/resources/application.properties b/spring-mvc-simple-2/src/main/resources/application.properties new file mode 100644 index 0000000000..709574239b --- /dev/null +++ b/spring-mvc-simple-2/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.main.allow-bean-definition-overriding=true \ No newline at end of file From 9a456ba4f1d1c62819d8712fd35fd751e606f4ec Mon Sep 17 00:00:00 2001 From: Kamlesh Kumar Date: Sat, 28 Sep 2019 10:39:34 +0530 Subject: [PATCH 035/199] BAEL-1363 Fallback for Zuul Routes --- spring-cloud/pom.xml | 7 +- .../spring-cloud-zuul-fallback/README.md | 2 + .../api-gateway/pom.xml | 43 ++++++++++++ .../apigateway/ApiGatewayApplication.java | 15 ++++ .../fallback/GatewayClientResponse.java | 69 +++++++++++++++++++ .../fallback/GatewayServiceFallback.java | 29 ++++++++ .../fallback/WeatherServiceFallback.java | 29 ++++++++ .../src/main/resources/application.yml | 22 ++++++ .../ApiGatewayApplicationIntegrationTest.java | 16 +++++ .../GatewayServiceFallbackUnitTest.java | 46 +++++++++++++ .../WeatherServiceFallbackUnitTest.java | 46 +++++++++++++ .../spring-cloud-zuul-fallback/pom.xml | 28 ++++++++ .../weather-service/pom.xml | 39 +++++++++++ .../weatherservice/WeatherController.java | 16 +++++ .../WeatherServiceApplication.java | 13 ++++ .../src/main/resources/application.yml | 5 ++ .../WeatherControllerIntegrationTest.java | 31 +++++++++ ...therServiceApplicationIntegrationTest.java | 16 +++++ 18 files changed, 469 insertions(+), 3 deletions(-) create mode 100644 spring-cloud/spring-cloud-zuul-fallback/README.md create mode 100644 spring-cloud/spring-cloud-zuul-fallback/api-gateway/pom.xml create mode 100644 spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplication.java create mode 100644 spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayClientResponse.java create mode 100644 spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallback.java create mode 100644 spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallback.java create mode 100644 spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/resources/application.yml create mode 100644 spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplicationIntegrationTest.java create mode 100644 spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallbackUnitTest.java create mode 100644 spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallbackUnitTest.java create mode 100644 spring-cloud/spring-cloud-zuul-fallback/pom.xml create mode 100644 spring-cloud/spring-cloud-zuul-fallback/weather-service/pom.xml create mode 100644 spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherController.java create mode 100644 spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplication.java create mode 100644 spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/resources/application.yml create mode 100644 spring-cloud/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherControllerIntegrationTest.java create mode 100644 spring-cloud/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplicationIntegrationTest.java diff --git a/spring-cloud/pom.xml b/spring-cloud/pom.xml index baf86a4386..7138efc128 100644 --- a/spring-cloud/pom.xml +++ b/spring-cloud/pom.xml @@ -25,7 +25,7 @@ spring-cloud-zookeeper spring-cloud-gateway spring-cloud-stream - spring-cloud-stream-starters/twitterhdfs + spring-cloud-stream-starters/twitterhdfs spring-cloud-connectors-heroku spring-cloud-aws spring-cloud-consul @@ -35,9 +35,10 @@ spring-cloud-archaius spring-cloud-functions spring-cloud-vault - - spring-cloud-task + + spring-cloud-task spring-cloud-zuul + spring-cloud-zuul-fallback diff --git a/spring-cloud/spring-cloud-zuul-fallback/README.md b/spring-cloud/spring-cloud-zuul-fallback/README.md new file mode 100644 index 0000000000..2f13c1923b --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/README.md @@ -0,0 +1,2 @@ +### Relevant Articles: +- [Fallback for Zuul Route](TODO) diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/pom.xml b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/pom.xml new file mode 100644 index 0000000000..ee0f607d8a --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/pom.xml @@ -0,0 +1,43 @@ + + 4.0.0 + api-gateway + api-gateway + API Gateway using Zuul + jar + + + com.baeldung.spring.cloud + spring-cloud-zuul-fallback + 1.0.0-SNAPSHOT + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.cloud + spring-cloud-starter-netflix-zuul + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.cloud + spring-cloud-starter-parent + ${spring-cloud-dependencies.version} + pom + import + + + + diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplication.java b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplication.java new file mode 100644 index 0000000000..78f489f2bb --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplication.java @@ -0,0 +1,15 @@ +package com.baeldung.spring.cloud.apigateway; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.netflix.zuul.EnableZuulProxy; + +@SpringBootApplication +@EnableZuulProxy +public class ApiGatewayApplication { + + public static void main(String[] args) { + SpringApplication.run(ApiGatewayApplication.class, args); + } + +} diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayClientResponse.java b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayClientResponse.java new file mode 100644 index 0000000000..ce0c7819f1 --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayClientResponse.java @@ -0,0 +1,69 @@ +package com.baeldung.spring.cloud.apigateway.fallback; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; + +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.client.ClientHttpResponse; + +public class GatewayClientResponse implements ClientHttpResponse { + + private HttpStatus status; + private String message; + + public GatewayClientResponse(HttpStatus status, String message) { + this.status = status; + this.message = message; + } + + @Override + public HttpStatus getStatusCode() throws IOException { + return status; + } + + @Override + public int getRawStatusCode() throws IOException { + return status.value(); + } + + @Override + public String getStatusText() throws IOException { + return status.getReasonPhrase(); + } + + @Override + public void close() { + } + + @Override + public InputStream getBody() throws IOException { + return new ByteArrayInputStream(message.getBytes()); + } + + @Override + public HttpHeaders getHeaders() { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + return headers; + } + + public HttpStatus getStatus() { + return status; + } + + public void setStatus(HttpStatus status) { + this.status = status; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + +} diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallback.java b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallback.java new file mode 100644 index 0000000000..73f72492c9 --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallback.java @@ -0,0 +1,29 @@ +package com.baeldung.spring.cloud.apigateway.fallback; + +import org.springframework.cloud.netflix.zuul.filters.route.FallbackProvider; +import org.springframework.http.HttpStatus; +import org.springframework.http.client.ClientHttpResponse; +import org.springframework.stereotype.Component; + +import com.netflix.hystrix.exception.HystrixTimeoutException; + +@Component +class GatewayServiceFallback implements FallbackProvider { + + private static final String DEFAULT_MESSAGE = "Service not available."; + + @Override + public String getRoute() { + return "*"; // or return null; + } + + @Override + public ClientHttpResponse fallbackResponse(String route, Throwable cause) { + if (cause instanceof HystrixTimeoutException) { + return new GatewayClientResponse(HttpStatus.GATEWAY_TIMEOUT, DEFAULT_MESSAGE); + } else { + return new GatewayClientResponse(HttpStatus.INTERNAL_SERVER_ERROR, DEFAULT_MESSAGE); + } + } + +} diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallback.java b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallback.java new file mode 100644 index 0000000000..28fb6fb6e5 --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallback.java @@ -0,0 +1,29 @@ +package com.baeldung.spring.cloud.apigateway.fallback; + +import org.springframework.cloud.netflix.zuul.filters.route.FallbackProvider; +import org.springframework.http.HttpStatus; +import org.springframework.http.client.ClientHttpResponse; +import org.springframework.stereotype.Component; + +import com.netflix.hystrix.exception.HystrixTimeoutException; + +@Component +class WeatherServiceFallback implements FallbackProvider { + + private static final String DEFAULT_MESSAGE = "Weather information is not available."; + + @Override + public String getRoute() { + return "weather-service"; + } + + @Override + public ClientHttpResponse fallbackResponse(String route, Throwable cause) { + if (cause instanceof HystrixTimeoutException) { + return new GatewayClientResponse(HttpStatus.GATEWAY_TIMEOUT, DEFAULT_MESSAGE); + } else { + return new GatewayClientResponse(HttpStatus.INTERNAL_SERVER_ERROR, DEFAULT_MESSAGE); + } + } + +} diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/resources/application.yml b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/resources/application.yml new file mode 100644 index 0000000000..9a7d3314a3 --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/resources/application.yml @@ -0,0 +1,22 @@ +spring: + application: + name: api-gateway +server: + port: 8008 + +zuul: + igoredServices: '*' + routes: + weather-service: + path: /weather/** + serviceId: weather-service + strip-prefix: false + +ribbon: + eureka: + enabled: false + +weather-service: + ribbon: + listOfServers: localhost:7070 + diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplicationIntegrationTest.java b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplicationIntegrationTest.java new file mode 100644 index 0000000000..4052edc1f3 --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplicationIntegrationTest.java @@ -0,0 +1,16 @@ +package com.baeldung.spring.cloud.apigateway; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class ApiGatewayApplicationIntegrationTest { + + @Test + public void whenSpringContextIsBootstrapped_thenNoExceptions() { + } + +} diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallbackUnitTest.java b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallbackUnitTest.java new file mode 100644 index 0000000000..db2f703084 --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallbackUnitTest.java @@ -0,0 +1,46 @@ +package com.baeldung.spring.cloud.apigateway.fallback; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.HttpStatus; +import org.springframework.http.client.ClientHttpResponse; +import org.springframework.test.context.junit4.SpringRunner; + +import com.netflix.hystrix.exception.HystrixTimeoutException; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class GatewayServiceFallbackUnitTest { + + private static final String ROUTE = "*"; + + @Autowired + private GatewayServiceFallback fallback; + + @Test + public void testWhenGetRouteThenReturnWeatherServiceRoute() { + assertEquals(ROUTE, fallback.getRoute()); + + } + + @Test + public void testFallbackResponse_whenHystrixException_thenGatewayTimeout() throws Exception { + HystrixTimeoutException exception = new HystrixTimeoutException(); + ClientHttpResponse response = fallback.fallbackResponse(ROUTE, exception); + + assertEquals(HttpStatus.GATEWAY_TIMEOUT, response.getStatusCode()); + } + + @Test + public void testFallbackResponse_whenNonHystrixException_thenInternalServerError() throws Exception { + RuntimeException exception = new RuntimeException("Test exception"); + ClientHttpResponse response = fallback.fallbackResponse(ROUTE, exception); + + assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, response.getStatusCode()); + } + +} diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallbackUnitTest.java b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallbackUnitTest.java new file mode 100644 index 0000000000..ccd59531b5 --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallbackUnitTest.java @@ -0,0 +1,46 @@ +package com.baeldung.spring.cloud.apigateway.fallback; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.HttpStatus; +import org.springframework.http.client.ClientHttpResponse; +import org.springframework.test.context.junit4.SpringRunner; + +import com.netflix.hystrix.exception.HystrixTimeoutException; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class WeatherServiceFallbackUnitTest { + + private static final String ROUTE = "weather-service"; + + @Autowired + private WeatherServiceFallback fallback; + + @Test + public void testWhenGetRouteThenReturnWeatherServiceRoute() { + assertEquals(ROUTE, fallback.getRoute()); + + } + + @Test + public void testFallbackResponse_whenHystrixException_thenGatewayTimeout() throws Exception { + HystrixTimeoutException exception = new HystrixTimeoutException(); + ClientHttpResponse response = fallback.fallbackResponse(ROUTE, exception); + + assertEquals(HttpStatus.GATEWAY_TIMEOUT, response.getStatusCode()); + } + + @Test + public void testFallbackResponse_whenNonHystrixException_thenInternalServerError() throws Exception { + RuntimeException exception = new RuntimeException("Test exception"); + ClientHttpResponse response = fallback.fallbackResponse(ROUTE, exception); + + assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, response.getStatusCode()); + } + +} diff --git a/spring-cloud/spring-cloud-zuul-fallback/pom.xml b/spring-cloud/spring-cloud-zuul-fallback/pom.xml new file mode 100644 index 0000000000..5bdd1d49ca --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/pom.xml @@ -0,0 +1,28 @@ + + + 4.0.0 + spring-cloud-zuul-fallback + pom + spring-cloud-zuul-fallback + Spring Cloud Zuul Fallback + + + com.baeldung.spring.cloud + spring-cloud + 1.0.0-SNAPSHOT + .. + + + + api-gateway + weather-service + + + + 1.8 + Finchley.SR2 + 3.1.1 + + diff --git a/spring-cloud/spring-cloud-zuul-fallback/weather-service/pom.xml b/spring-cloud/spring-cloud-zuul-fallback/weather-service/pom.xml new file mode 100644 index 0000000000..611f1dcd4f --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/weather-service/pom.xml @@ -0,0 +1,39 @@ + + 4.0.0 + weather-service + Weather Service + Weather Service for Zuul Fallback Test + + + com.baeldung.spring.cloud + spring-cloud-zuul-fallback + 1.0.0-SNAPSHOT + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.cloud + spring-cloud-starter-parent + ${spring-cloud-dependencies.version} + pom + import + + + + diff --git a/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherController.java b/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherController.java new file mode 100644 index 0000000000..3cf451dcf7 --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherController.java @@ -0,0 +1,16 @@ +package com.baeldung.spring.cloud.weatherservice; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/weather") +public class WeatherController { + + @GetMapping("/today") + public String getMessage() { + return "It's a bright sunny day today!"; + } + +} diff --git a/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplication.java b/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplication.java new file mode 100644 index 0000000000..3a6d85e8d1 --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplication.java @@ -0,0 +1,13 @@ +package com.baeldung.spring.cloud.weatherservice; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class WeatherServiceApplication { + + public static void main(String[] args) { + SpringApplication.run(WeatherServiceApplication.class, args); + } + +} diff --git a/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/resources/application.yml b/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/resources/application.yml new file mode 100644 index 0000000000..30ceeee438 --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/resources/application.yml @@ -0,0 +1,5 @@ +spring: + application: + name: weather-service +server: + port: 7070 diff --git a/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherControllerIntegrationTest.java b/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherControllerIntegrationTest.java new file mode 100644 index 0000000000..3ffd2b0e7a --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherControllerIntegrationTest.java @@ -0,0 +1,31 @@ +package com.baeldung.spring.cloud.weatherservice; + +import static org.hamcrest.Matchers.containsString; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; + +@RunWith(SpringRunner.class) +@WebMvcTest(WeatherController.class) +public class WeatherControllerIntegrationTest { + + @Autowired + private MockMvc mockMvc; + + @Test + public void whenWeatherControllerInvoked_thenReturnWeatherInformation() throws Exception { + this.mockMvc.perform(get("/weather/today")) + .andDo(print()) + .andExpect(status().isOk()) + .andExpect(content().string(containsString("bright sunny day"))); + } + +} diff --git a/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplicationIntegrationTest.java b/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplicationIntegrationTest.java new file mode 100644 index 0000000000..fec7ec1560 --- /dev/null +++ b/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplicationIntegrationTest.java @@ -0,0 +1,16 @@ +package com.baeldung.spring.cloud.weatherservice; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class WeatherServiceApplicationIntegrationTest { + + @Test + public void whenSpringContextIsBootstrapped_thenNoExceptions() { + } + +} From 7a70863a29d48b810436f9dfb77028b710195619 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 29 Sep 2019 00:59:40 +0530 Subject: [PATCH 036/199] [BAEL-17473] - Retired spring-boot-disable-console-logging --- pom.xml | 22 ++++++++++++------- spring-boot-disable-console-logging/README.md | 6 ----- spring-boot-disable-console-logging/pom.xml | 21 ------------------ spring-boot-runtime/README.md | 3 ++- .../disabling-console-jul/.gitignore | 0 .../disabling-console-jul/pom.xml | 0 .../properties/DisablingConsoleJulApp.java | 0 .../DisabledConsoleRestController.java | 0 .../src/main/resources/application.properties | 0 .../src/main/resources/logging.properties | 0 .../disabling-console-log4j2/.gitignore | 0 .../disabling-console-log4j2/pom.xml | 0 .../log4j2/xml/DisablingConsoleLog4j2App.java | 0 .../DisabledConsoleRestController.java | 0 .../src/main/resources/log4j2.xml | 0 .../disabling-console-logback/.gitignore | 0 .../disabling-console-logback/pom.xml | 0 .../xml/DisablingConsoleLogbackApp.java | 0 .../DisabledConsoleRestController.java | 0 .../src/main/resources/application.properties | 0 .../src/main/resources/logback-spring.xml | 0 21 files changed, 16 insertions(+), 36 deletions(-) delete mode 100644 spring-boot-disable-console-logging/README.md delete mode 100644 spring-boot-disable-console-logging/pom.xml rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-jul/.gitignore (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-jul/pom.xml (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/DisablingConsoleJulApp.java (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/controllers/DisabledConsoleRestController.java (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-jul/src/main/resources/application.properties (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-jul/src/main/resources/logging.properties (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-log4j2/.gitignore (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-log4j2/pom.xml (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/DisablingConsoleLog4j2App.java (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/controllers/DisabledConsoleRestController.java (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-log4j2/src/main/resources/log4j2.xml (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-logback/.gitignore (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-logback/pom.xml (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/DisablingConsoleLogbackApp.java (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/controllers/DisabledConsoleRestController.java (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-logback/src/main/resources/application.properties (100%) rename {spring-boot-disable-console-logging => spring-boot-runtime}/disabling-console-logback/src/main/resources/logback-spring.xml (100%) diff --git a/pom.xml b/pom.xml index 4f40f8261f..b5607da6bd 100644 --- a/pom.xml +++ b/pom.xml @@ -684,17 +684,20 @@ spring-boot-crud spring-boot-ctx-fluent spring-boot-custom-starter - spring-boot-disable-console-logging spring-boot-jasypt spring-boot-keycloak spring-boot-kotlin spring-boot-logging-log4j2 - spring-boot-management spring-boot-mvc spring-boot-mvc-birt - spring-boot-ops - spring-boot-ops-2 + spring-boot-environment + spring-boot-deployment + spring-boot-runtime + spring-boot-runtime/disabling-console-jul + spring-boot-runtime/disabling-console-log4j2 + spring-boot-runtime/disabling-console-logback + spring-boot-artifacts spring-boot-rest spring-boot-data spring-boot-parent @@ -1404,16 +1407,19 @@ spring-boot-crud spring-boot-ctx-fluent spring-boot-custom-starter - spring-boot-disable-console-logging spring-boot-jasypt spring-boot-keycloak spring-boot-logging-log4j2 - spring-boot-management spring-boot-mvc spring-boot-mvc-birt - spring-boot-ops - spring-boot-ops-2 + spring-boot-environment + spring-boot-deployment + spring-boot-runtime + spring-boot-runtime/disabling-console-jul + spring-boot-runtime/disabling-console-log4j2 + spring-boot-runtime/disabling-console-logback + spring-boot-artifacts spring-boot-rest spring-boot-data spring-boot-parent diff --git a/spring-boot-disable-console-logging/README.md b/spring-boot-disable-console-logging/README.md deleted file mode 100644 index 7f1c06042f..0000000000 --- a/spring-boot-disable-console-logging/README.md +++ /dev/null @@ -1,6 +0,0 @@ -## Spring Boot Disable Console Logging - -This module contains articles about disabling Spring Boot console logging. - -### Relevant Articles: -- [How to Disable Console Logging in Spring Boot](https://www.baeldung.com/spring-boot-disable-console-logging) diff --git a/spring-boot-disable-console-logging/pom.xml b/spring-boot-disable-console-logging/pom.xml deleted file mode 100644 index 63ed129347..0000000000 --- a/spring-boot-disable-console-logging/pom.xml +++ /dev/null @@ -1,21 +0,0 @@ - - 4.0.0 - spring-boot-disable-console-logging - spring-boot-disable-console-logging - pom - Projects for Disabling Spring Boot Console Logging tutorials - - - parent-boot-2 - com.baeldung - 0.0.1-SNAPSHOT - ../parent-boot-2 - - - - disabling-console-logback - disabling-console-log4j2 - disabling-console-jul - - \ No newline at end of file diff --git a/spring-boot-runtime/README.md b/spring-boot-runtime/README.md index 002615b934..f9ca12c605 100644 --- a/spring-boot-runtime/README.md +++ b/spring-boot-runtime/README.md @@ -2,4 +2,5 @@ - [Shutdown a Spring Boot Application](https://www.baeldung.com/spring-boot-shutdown) - [Comparing Embedded Servlet Containers in Spring Boot](https://www.baeldung.com/spring-boot-servlet-containers) - [Programmatically Restarting a Spring Boot Application](https://www.baeldung.com/java-restart-spring-boot-app) - - [Logging HTTP Requests with Spring Boot Actuator HTTP Tracing](https://www.baeldung.com/spring-boot-actuator-http) \ No newline at end of file + - [Logging HTTP Requests with Spring Boot Actuator HTTP Tracing](https://www.baeldung.com/spring-boot-actuator-http) + - [How to Disable Console Logging in Spring Boot](https://www.baeldung.com/spring-boot-disable-console-logging) \ No newline at end of file diff --git a/spring-boot-disable-console-logging/disabling-console-jul/.gitignore b/spring-boot-runtime/disabling-console-jul/.gitignore similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-jul/.gitignore rename to spring-boot-runtime/disabling-console-jul/.gitignore diff --git a/spring-boot-disable-console-logging/disabling-console-jul/pom.xml b/spring-boot-runtime/disabling-console-jul/pom.xml similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-jul/pom.xml rename to spring-boot-runtime/disabling-console-jul/pom.xml diff --git a/spring-boot-disable-console-logging/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/DisablingConsoleJulApp.java b/spring-boot-runtime/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/DisablingConsoleJulApp.java similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/DisablingConsoleJulApp.java rename to spring-boot-runtime/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/DisablingConsoleJulApp.java diff --git a/spring-boot-disable-console-logging/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/controllers/DisabledConsoleRestController.java b/spring-boot-runtime/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/controllers/DisabledConsoleRestController.java similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/controllers/DisabledConsoleRestController.java rename to spring-boot-runtime/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/controllers/DisabledConsoleRestController.java diff --git a/spring-boot-disable-console-logging/disabling-console-jul/src/main/resources/application.properties b/spring-boot-runtime/disabling-console-jul/src/main/resources/application.properties similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-jul/src/main/resources/application.properties rename to spring-boot-runtime/disabling-console-jul/src/main/resources/application.properties diff --git a/spring-boot-disable-console-logging/disabling-console-jul/src/main/resources/logging.properties b/spring-boot-runtime/disabling-console-jul/src/main/resources/logging.properties similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-jul/src/main/resources/logging.properties rename to spring-boot-runtime/disabling-console-jul/src/main/resources/logging.properties diff --git a/spring-boot-disable-console-logging/disabling-console-log4j2/.gitignore b/spring-boot-runtime/disabling-console-log4j2/.gitignore similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-log4j2/.gitignore rename to spring-boot-runtime/disabling-console-log4j2/.gitignore diff --git a/spring-boot-disable-console-logging/disabling-console-log4j2/pom.xml b/spring-boot-runtime/disabling-console-log4j2/pom.xml similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-log4j2/pom.xml rename to spring-boot-runtime/disabling-console-log4j2/pom.xml diff --git a/spring-boot-disable-console-logging/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/DisablingConsoleLog4j2App.java b/spring-boot-runtime/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/DisablingConsoleLog4j2App.java similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/DisablingConsoleLog4j2App.java rename to spring-boot-runtime/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/DisablingConsoleLog4j2App.java diff --git a/spring-boot-disable-console-logging/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/controllers/DisabledConsoleRestController.java b/spring-boot-runtime/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/controllers/DisabledConsoleRestController.java similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/controllers/DisabledConsoleRestController.java rename to spring-boot-runtime/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/controllers/DisabledConsoleRestController.java diff --git a/spring-boot-disable-console-logging/disabling-console-log4j2/src/main/resources/log4j2.xml b/spring-boot-runtime/disabling-console-log4j2/src/main/resources/log4j2.xml similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-log4j2/src/main/resources/log4j2.xml rename to spring-boot-runtime/disabling-console-log4j2/src/main/resources/log4j2.xml diff --git a/spring-boot-disable-console-logging/disabling-console-logback/.gitignore b/spring-boot-runtime/disabling-console-logback/.gitignore similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-logback/.gitignore rename to spring-boot-runtime/disabling-console-logback/.gitignore diff --git a/spring-boot-disable-console-logging/disabling-console-logback/pom.xml b/spring-boot-runtime/disabling-console-logback/pom.xml similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-logback/pom.xml rename to spring-boot-runtime/disabling-console-logback/pom.xml diff --git a/spring-boot-disable-console-logging/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/DisablingConsoleLogbackApp.java b/spring-boot-runtime/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/DisablingConsoleLogbackApp.java similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/DisablingConsoleLogbackApp.java rename to spring-boot-runtime/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/DisablingConsoleLogbackApp.java diff --git a/spring-boot-disable-console-logging/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/controllers/DisabledConsoleRestController.java b/spring-boot-runtime/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/controllers/DisabledConsoleRestController.java similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/controllers/DisabledConsoleRestController.java rename to spring-boot-runtime/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/controllers/DisabledConsoleRestController.java diff --git a/spring-boot-disable-console-logging/disabling-console-logback/src/main/resources/application.properties b/spring-boot-runtime/disabling-console-logback/src/main/resources/application.properties similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-logback/src/main/resources/application.properties rename to spring-boot-runtime/disabling-console-logback/src/main/resources/application.properties diff --git a/spring-boot-disable-console-logging/disabling-console-logback/src/main/resources/logback-spring.xml b/spring-boot-runtime/disabling-console-logback/src/main/resources/logback-spring.xml similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-logback/src/main/resources/logback-spring.xml rename to spring-boot-runtime/disabling-console-logback/src/main/resources/logback-spring.xml From f59fa07851d426421cdd36240f0a15e5a0354f0c Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Sun, 29 Sep 2019 09:11:53 +0200 Subject: [PATCH 037/199] #BAEL-16646 moved modules java-dates-conversion and java-dates-string under core-java/core-java-datetime --- .../core-java-datetime/README.md | 3 +++ .../java-dates-conversion}/.gitignore | 0 .../java-dates-conversion}/README.md | 4 ++-- .../java-dates-conversion}/pom.xml | 0 .../DateToLocalDateConverter.java | 0 .../DateToLocalDateTimeConverter.java | 0 .../LocalDateTimeToDateConverter.java | 0 .../LocalDateToDateConverter.java | 0 .../convert/ConvertDateTimeUnitTest.java | 0 .../ConvertInstantToTimestampUnitTest.java | 0 .../DateToLocalDateConverterUnitTest.java | 0 .../DateToLocalDateTimeConverterUnitTest.java | 0 .../LocalDateTimeToDateConverterUnitTest.java | 0 .../LocalDateToDateConverterUnitTest.java | 0 ...XmlGregorianCalendarConverterUnitTest.java | 0 .../java-dates-string}/.gitignore | 0 .../java-dates-string}/README.md | 4 ++-- .../java-dates-string}/pom.xml | 0 .../date/validation/DateValidator.java | 0 .../DateValidatorUsingApacheValidator.java | 0 .../DateValidatorUsingDateFormat.java | 0 .../DateValidatorUsingDateTimeFormatter.java | 0 .../DateValidatorUsingLocalDate.java | 0 .../regexp/datepattern/DateMatcher.java | 0 .../datepattern/FormattedDateMatcher.java | 0 .../regexp/datepattern/RangedDateMatcher.java | 0 .../gregorian/February29thMatcher.java | 0 .../gregorian/FebruaryGeneralMatcher.java | 0 .../gregorian/GregorianDateMatcher.java | 0 .../gregorian/MonthsOf30DaysMatcher.java | 0 .../gregorian/MonthsOf31DaysMatcher.java | 0 .../optmization/OptimizedMatcher.java | 0 .../timezonedisplay/TimezoneDisplay.java | 0 .../timezonedisplay/TimezoneDisplayApp.java | 0 .../timezonedisplay/TimezoneDisplayJava7.java | 0 .../TimezoneDisplayJava7App.java | 0 .../zonedatetime/OffsetDateTimeExample.java | 0 .../zonedatetime/OffsetTimeExample.java | 0 .../zonedatetime/ZoneDateTimeExample.java | 0 ...ValidatorUsingApacheValidatorUnitTest.java | 0 .../DateValidatorUsingDateFormatUnitTest.java | 0 ...lidatorUsingDateTimeFormatterUnitTest.java | 0 .../DateValidatorUsingLocalDateUnitTest.java | 0 .../datetime/DateTimeFormatterUnitTest.java | 0 .../FormattedDateMatcherUnitTest.java | 0 .../RangedDateMatcherUnitTest.java | 0 .../February29thMatcherUnitTest.java | 0 .../FebruaryGeneralMatcherUnitTest.java | 0 .../GregorianDateMatcherUnitTest.java | 0 .../MonthsOf30DaysMatcherUnitTest.java | 0 .../MonthsOf31DaysMatcherUnitTest.java | 0 .../testhelper/GregorianDateTestHelper.java | 0 .../SimpleDateFormatUnitTest.java | 0 .../StringToTimestampConverterUnitTest.java | 0 .../TimestampToStringConverterTest.java | 0 .../OffsetDateTimeExampleUnitTest.java | 0 .../OffsetTimeExampleUnitTest.java | 0 .../ZoneDateTimeExampleUnitTest.java | 0 .../zonedatetime/ZonedDateTimeUnitTest.java | 0 core-java-modules/core-java-datetime/pom.xml | 23 +++++++++++++++++++ .../hibernate-mapping/README.md | 2 +- pom.xml | 6 ++--- 62 files changed, 33 insertions(+), 9 deletions(-) create mode 100644 core-java-modules/core-java-datetime/README.md rename {java-dates-conversion => core-java-modules/core-java-datetime/java-dates-conversion}/.gitignore (100%) rename {java-dates-conversion => core-java-modules/core-java-datetime/java-dates-conversion}/README.md (86%) rename {java-dates-conversion => core-java-modules/core-java-datetime/java-dates-conversion}/pom.xml (100%) rename {java-dates-conversion => core-java-modules/core-java-datetime/java-dates-conversion}/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java (100%) rename {java-dates-conversion => core-java-modules/core-java-datetime/java-dates-conversion}/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java (100%) rename {java-dates-conversion => core-java-modules/core-java-datetime/java-dates-conversion}/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java (100%) rename {java-dates-conversion => core-java-modules/core-java-datetime/java-dates-conversion}/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java (100%) rename {java-dates-conversion => core-java-modules/core-java-datetime/java-dates-conversion}/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java (100%) rename {java-dates-conversion => core-java-modules/core-java-datetime/java-dates-conversion}/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java (100%) rename {java-dates-conversion => core-java-modules/core-java-datetime/java-dates-conversion}/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java (100%) rename {java-dates-conversion => core-java-modules/core-java-datetime/java-dates-conversion}/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java (100%) rename {java-dates-conversion => core-java-modules/core-java-datetime/java-dates-conversion}/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java (100%) rename {java-dates-conversion => core-java-modules/core-java-datetime/java-dates-conversion}/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java (100%) rename {java-dates-conversion => core-java-modules/core-java-datetime/java-dates-conversion}/src/test/java/com/baeldung/xmlgregoriancalendar/XmlGregorianCalendarConverterUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/.gitignore (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/README.md (89%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/pom.xml (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/date/validation/DateValidator.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/date/validation/DateValidatorUsingApacheValidator.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateFormat.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatter.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/date/validation/DateValidatorUsingLocalDate.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayApp.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7App.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/zonedatetime/OffsetDateTimeExample.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/zonedatetime/OffsetTimeExample.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/main/java/com/baeldung/zonedatetime/ZoneDateTimeExample.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/date/validation/DateValidatorUsingApacheValidatorUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateFormatUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatterUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/date/validation/DateValidatorUsingLocalDateUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/datetime/DateTimeFormatterUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/simpledateformat/SimpleDateFormatUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/timestamp/StringToTimestampConverterUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/timestamp/TimestampToStringConverterTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/zonedatetime/OffsetDateTimeExampleUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/zonedatetime/OffsetTimeExampleUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/zonedatetime/ZoneDateTimeExampleUnitTest.java (100%) rename {java-dates-string => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/zonedatetime/ZonedDateTimeUnitTest.java (100%) create mode 100644 core-java-modules/core-java-datetime/pom.xml diff --git a/core-java-modules/core-java-datetime/README.md b/core-java-modules/core-java-datetime/README.md new file mode 100644 index 0000000000..51f52e239d --- /dev/null +++ b/core-java-modules/core-java-datetime/README.md @@ -0,0 +1,3 @@ +## Java Date and Time + +This module contains articles about date and time in Java. diff --git a/java-dates-conversion/.gitignore b/core-java-modules/core-java-datetime/java-dates-conversion/.gitignore similarity index 100% rename from java-dates-conversion/.gitignore rename to core-java-modules/core-java-datetime/java-dates-conversion/.gitignore diff --git a/java-dates-conversion/README.md b/core-java-modules/core-java-datetime/java-dates-conversion/README.md similarity index 86% rename from java-dates-conversion/README.md rename to core-java-modules/core-java-datetime/java-dates-conversion/README.md index f781a9515c..2503459f50 100644 --- a/java-dates-conversion/README.md +++ b/core-java-modules/core-java-datetime/java-dates-conversion/README.md @@ -1,7 +1,7 @@ -========= - ## Java Date/time conversion Cookbooks and Examples +This module contains articles about converting between Java date and time objects. + ### Relevant Articles: - [Converting Between LocalDate and XMLGregorianCalendar](https://www.baeldung.com/java-localdate-to-xmlgregoriancalendar) - [Convert Time to Milliseconds in Java](https://www.baeldung.com/java-time-milliseconds) diff --git a/java-dates-conversion/pom.xml b/core-java-modules/core-java-datetime/java-dates-conversion/pom.xml similarity index 100% rename from java-dates-conversion/pom.xml rename to core-java-modules/core-java-datetime/java-dates-conversion/pom.xml diff --git a/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java b/core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java similarity index 100% rename from java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java rename to core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java diff --git a/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java b/core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java similarity index 100% rename from java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java rename to core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java diff --git a/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java b/core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java similarity index 100% rename from java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java rename to core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java diff --git a/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java b/core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java similarity index 100% rename from java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java rename to core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java diff --git a/java-dates-conversion/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java b/core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java similarity index 100% rename from java-dates-conversion/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java diff --git a/java-dates-conversion/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java b/core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java similarity index 100% rename from java-dates-conversion/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java diff --git a/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java b/core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java similarity index 100% rename from java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java diff --git a/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java b/core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java similarity index 100% rename from java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java diff --git a/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java b/core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java similarity index 100% rename from java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java diff --git a/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java b/core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java similarity index 100% rename from java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java diff --git a/java-dates-conversion/src/test/java/com/baeldung/xmlgregoriancalendar/XmlGregorianCalendarConverterUnitTest.java b/core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/xmlgregoriancalendar/XmlGregorianCalendarConverterUnitTest.java similarity index 100% rename from java-dates-conversion/src/test/java/com/baeldung/xmlgregoriancalendar/XmlGregorianCalendarConverterUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/xmlgregoriancalendar/XmlGregorianCalendarConverterUnitTest.java diff --git a/java-dates-string/.gitignore b/core-java-modules/core-java-datetime/java-dates-string/.gitignore similarity index 100% rename from java-dates-string/.gitignore rename to core-java-modules/core-java-datetime/java-dates-string/.gitignore diff --git a/java-dates-string/README.md b/core-java-modules/core-java-datetime/java-dates-string/README.md similarity index 89% rename from java-dates-string/README.md rename to core-java-modules/core-java-datetime/java-dates-string/README.md index 9becf8a460..76c3298bd5 100644 --- a/java-dates-string/README.md +++ b/core-java-modules/core-java-datetime/java-dates-string/README.md @@ -1,7 +1,7 @@ -========= - ## Java Dates Parsing and Formatting Cookbooks and Examples +This module contains articles about parsing and formatting Java date and time objects. + ### Relevant Articles: - [Check If a String Is a Valid Date in Java](https://www.baeldung.com/java-string-valid-date) - [RegEx for matching Date Pattern in Java](http://www.baeldung.com/java-date-regular-expressions) diff --git a/java-dates-string/pom.xml b/core-java-modules/core-java-datetime/java-dates-string/pom.xml similarity index 100% rename from java-dates-string/pom.xml rename to core-java-modules/core-java-datetime/java-dates-string/pom.xml diff --git a/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidator.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidator.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/date/validation/DateValidator.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidator.java diff --git a/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingApacheValidator.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingApacheValidator.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingApacheValidator.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingApacheValidator.java diff --git a/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateFormat.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateFormat.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateFormat.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateFormat.java diff --git a/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatter.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatter.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatter.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatter.java diff --git a/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingLocalDate.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingLocalDate.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingLocalDate.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingLocalDate.java diff --git a/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java diff --git a/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java diff --git a/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java diff --git a/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java diff --git a/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java diff --git a/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java diff --git a/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java diff --git a/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java diff --git a/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java diff --git a/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java diff --git a/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayApp.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayApp.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayApp.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayApp.java diff --git a/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7.java diff --git a/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7App.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7App.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7App.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7App.java diff --git a/java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetDateTimeExample.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetDateTimeExample.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetDateTimeExample.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetDateTimeExample.java diff --git a/java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetTimeExample.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetTimeExample.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetTimeExample.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetTimeExample.java diff --git a/java-dates-string/src/main/java/com/baeldung/zonedatetime/ZoneDateTimeExample.java b/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/zonedatetime/ZoneDateTimeExample.java similarity index 100% rename from java-dates-string/src/main/java/com/baeldung/zonedatetime/ZoneDateTimeExample.java rename to core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/zonedatetime/ZoneDateTimeExample.java diff --git a/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingApacheValidatorUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingApacheValidatorUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingApacheValidatorUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingApacheValidatorUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateFormatUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateFormatUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateFormatUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateFormatUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatterUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatterUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatterUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatterUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingLocalDateUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingLocalDateUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingLocalDateUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingLocalDateUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/datetime/DateTimeFormatterUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/datetime/DateTimeFormatterUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/datetime/DateTimeFormatterUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/datetime/DateTimeFormatterUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java diff --git a/java-dates-string/src/test/java/com/baeldung/simpledateformat/SimpleDateFormatUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/simpledateformat/SimpleDateFormatUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/simpledateformat/SimpleDateFormatUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/simpledateformat/SimpleDateFormatUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/timestamp/StringToTimestampConverterUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/timestamp/StringToTimestampConverterUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/timestamp/StringToTimestampConverterUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/timestamp/StringToTimestampConverterUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/timestamp/TimestampToStringConverterTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/timestamp/TimestampToStringConverterTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/timestamp/TimestampToStringConverterTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/timestamp/TimestampToStringConverterTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetDateTimeExampleUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetDateTimeExampleUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetDateTimeExampleUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetDateTimeExampleUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetTimeExampleUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetTimeExampleUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetTimeExampleUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetTimeExampleUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/zonedatetime/ZoneDateTimeExampleUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/ZoneDateTimeExampleUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/zonedatetime/ZoneDateTimeExampleUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/ZoneDateTimeExampleUnitTest.java diff --git a/java-dates-string/src/test/java/com/baeldung/zonedatetime/ZonedDateTimeUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/ZonedDateTimeUnitTest.java similarity index 100% rename from java-dates-string/src/test/java/com/baeldung/zonedatetime/ZonedDateTimeUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/ZonedDateTimeUnitTest.java diff --git a/core-java-modules/core-java-datetime/pom.xml b/core-java-modules/core-java-datetime/pom.xml new file mode 100644 index 0000000000..cab5c9fe98 --- /dev/null +++ b/core-java-modules/core-java-datetime/pom.xml @@ -0,0 +1,23 @@ + + 4.0.0 + com.baeldung.exception.numberformat + core-java-datetime + 0.0.1-SNAPSHOT + pom + core-java-datetime + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + + + + java-dates-conversion + java-dates-string + + + diff --git a/persistence-modules/hibernate-mapping/README.md b/persistence-modules/hibernate-mapping/README.md index 99374f9135..c227620324 100644 --- a/persistence-modules/hibernate-mapping/README.md +++ b/persistence-modules/hibernate-mapping/README.md @@ -4,4 +4,4 @@ - [Persisting Maps with Hibernate](https://www.baeldung.com/hibernate-persisting-maps) - [Difference Between @Size, @Length, and @Column(length=value)](https://www.baeldung.com/jpa-size-length-column-differences) - [Hibernate Validator Specific Constraints](https://www.baeldung.com/hibernate-validator-constraints) -- [Hibernate One to Many Annotation Tutorial](http://www.baeldung.com/hibernate-one-to-many) \ No newline at end of file +- [Hibernate One to Many Annotation Tutorial](http://www.baeldung.com/hibernate-one-to-many) diff --git a/pom.xml b/pom.xml index 128320951c..927e1a25b4 100644 --- a/pom.xml +++ b/pom.xml @@ -469,10 +469,8 @@ java-collections-maps java-collections-maps-2 java-jdi - + + java-lite java-math From e456cead7d943ef38df058c4b348091e021d09b3 Mon Sep 17 00:00:00 2001 From: fejera Date: Sun, 29 Sep 2019 10:46:50 +0200 Subject: [PATCH 038/199] changed link from http to https in core-java-concurrency-advanced --- .../core-java-concurrency-advanced/README.md | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/core-java-modules/core-java-concurrency-advanced/README.md b/core-java-modules/core-java-concurrency-advanced/README.md index 8e99858693..6222af8a82 100644 --- a/core-java-modules/core-java-concurrency-advanced/README.md +++ b/core-java-modules/core-java-concurrency-advanced/README.md @@ -3,23 +3,24 @@ ## Core Java Concurrency Advanced Examples ### Relevant Articles: -- [Introduction to Thread Pools in Java](http://www.baeldung.com/thread-pool-java-and-guava) -- [Guide to CountDownLatch in Java](http://www.baeldung.com/java-countdown-latch) -- [Guide to java.util.concurrent.Locks](http://www.baeldung.com/java-concurrent-locks) -- [An Introduction to ThreadLocal in Java](http://www.baeldung.com/java-threadlocal) -- [LongAdder and LongAccumulator in Java](http://www.baeldung.com/java-longadder-and-longaccumulator) -- [The Dining Philosophers Problem in Java](http://www.baeldung.com/java-dining-philoshophers) -- [Guide to the Java Phaser](http://www.baeldung.com/java-phaser) -- [An Introduction to Atomic Variables in Java](http://www.baeldung.com/java-atomic-variables) -- [CyclicBarrier in Java](http://www.baeldung.com/java-cyclic-barrier) -- [Guide to the Volatile Keyword in Java](http://www.baeldung.com/java-volatile) -- [Semaphores in Java](http://www.baeldung.com/java-semaphore) -- [Daemon Threads in Java](http://www.baeldung.com/java-daemon-thread) -- [Priority-based Job Scheduling in Java](http://www.baeldung.com/java-priority-job-schedule) +- [Introduction to Thread Pools in Java](https://www.baeldung.com/thread-pool-java-and-guava) +- [Guide to CountDownLatch in Java](https://www.baeldung.com/java-countdown-latch) +- [Guide to java.util.concurrent.Locks](https://www.baeldung.com/java-concurrent-locks) +- [An Introduction to ThreadLocal in Java](https://www.baeldung.com/java-threadlocal) +- [LongAdder and LongAccumulator in Java](https://www.baeldung.com/java-longadder-and-longaccumulator) +- [The Dining Philosophers Problem in Java](https://www.baeldung.com/java-dining-philoshophers) +- [Guide to the Java Phaser](https://www.baeldung.com/java-phaser) +- [An Introduction to Atomic Variables in Java](https://www.baeldung.com/java-atomic-variables) +- [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) +- [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) + +- [Semaphores in Java](https://www.baeldung.com/java-semaphore) +- [Daemon Threads in Java](https://www.baeldung.com/java-daemon-thread) +- [Priority-based Job Scheduling in Java](https://www.baeldung.com/java-priority-job-schedule) - [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield) - [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads) - [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch) -- [Guide to the Fork/Join Framework in Java](http://www.baeldung.com/java-fork-join) -- [Guide to ThreadLocalRandom in Java](http://www.baeldung.com/java-thread-local-random) -- [The Thread.join() Method in Java](http://www.baeldung.com/java-thread-join) +- [Guide to the Fork/Join Framework in Java](https://www.baeldung.com/java-fork-join) +- [Guide to ThreadLocalRandom in Java](https://www.baeldung.com/java-thread-local-random) +- [The Thread.join() Method in Java](https://www.baeldung.com/java-thread-join) - [Passing Parameters to Java Threads](https://www.baeldung.com/java-thread-parameters) From 5be06e3d96197c61127a8b6857c558ef1c67f216 Mon Sep 17 00:00:00 2001 From: fejera Date: Sun, 29 Sep 2019 10:50:35 +0200 Subject: [PATCH 039/199] added module core-java-concurrency-advanced-2 --- .../.gitignore | 26 +++++++++++++++ .../README.md | 26 +++++++++++++++ .../core-java-concurrency-advanced-2/pom.xml | 33 +++++++++++++++++++ pom.xml | 2 ++ 4 files changed, 87 insertions(+) create mode 100644 core-java-modules/core-java-concurrency-advanced-2/.gitignore create mode 100644 core-java-modules/core-java-concurrency-advanced-2/README.md create mode 100644 core-java-modules/core-java-concurrency-advanced-2/pom.xml diff --git a/core-java-modules/core-java-concurrency-advanced-2/.gitignore b/core-java-modules/core-java-concurrency-advanced-2/.gitignore new file mode 100644 index 0000000000..3de4cc647e --- /dev/null +++ b/core-java-modules/core-java-concurrency-advanced-2/.gitignore @@ -0,0 +1,26 @@ +*.class + +0.* + +#folders# +/target +/neoDb* +/data +/src/main/webapp/WEB-INF/classes +*/META-INF/* +.resourceCache + +# Packaged files # +*.jar +*.war +*.ear + +# Files generated by integration tests +*.txt +backup-pom.xml +/bin/ +/temp + +#IntelliJ specific +.idea/ +*.iml \ No newline at end of file diff --git a/core-java-modules/core-java-concurrency-advanced-2/README.md b/core-java-modules/core-java-concurrency-advanced-2/README.md new file mode 100644 index 0000000000..6222af8a82 --- /dev/null +++ b/core-java-modules/core-java-concurrency-advanced-2/README.md @@ -0,0 +1,26 @@ +========= + +## Core Java Concurrency Advanced Examples + +### Relevant Articles: +- [Introduction to Thread Pools in Java](https://www.baeldung.com/thread-pool-java-and-guava) +- [Guide to CountDownLatch in Java](https://www.baeldung.com/java-countdown-latch) +- [Guide to java.util.concurrent.Locks](https://www.baeldung.com/java-concurrent-locks) +- [An Introduction to ThreadLocal in Java](https://www.baeldung.com/java-threadlocal) +- [LongAdder and LongAccumulator in Java](https://www.baeldung.com/java-longadder-and-longaccumulator) +- [The Dining Philosophers Problem in Java](https://www.baeldung.com/java-dining-philoshophers) +- [Guide to the Java Phaser](https://www.baeldung.com/java-phaser) +- [An Introduction to Atomic Variables in Java](https://www.baeldung.com/java-atomic-variables) +- [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) +- [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) + +- [Semaphores in Java](https://www.baeldung.com/java-semaphore) +- [Daemon Threads in Java](https://www.baeldung.com/java-daemon-thread) +- [Priority-based Job Scheduling in Java](https://www.baeldung.com/java-priority-job-schedule) +- [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield) +- [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads) +- [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch) +- [Guide to the Fork/Join Framework in Java](https://www.baeldung.com/java-fork-join) +- [Guide to ThreadLocalRandom in Java](https://www.baeldung.com/java-thread-local-random) +- [The Thread.join() Method in Java](https://www.baeldung.com/java-thread-join) +- [Passing Parameters to Java Threads](https://www.baeldung.com/java-thread-parameters) diff --git a/core-java-modules/core-java-concurrency-advanced-2/pom.xml b/core-java-modules/core-java-concurrency-advanced-2/pom.xml new file mode 100644 index 0000000000..785c81edd2 --- /dev/null +++ b/core-java-modules/core-java-concurrency-advanced-2/pom.xml @@ -0,0 +1,33 @@ + + 4.0.0 + com.baeldung + core-java-concurrency-advanced-2 + 0.1.0-SNAPSHOT + core-java-concurrency-advanced-2 + jar + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + + + + + + + core-java-concurrency-advanced-2 + + + src/main/resources + true + + + + + + + + diff --git a/pom.xml b/pom.xml index 4f40f8261f..3218e06754 100644 --- a/pom.xml +++ b/pom.xml @@ -1034,6 +1034,7 @@ parent-kotlin core-java-modules/core-java-concurrency-advanced + core-java-modules/core-java-concurrency-advanced-2 core-kotlin core-kotlin-2 core-kotlin-io @@ -1584,6 +1585,7 @@ core-java-modules/core-java core-java-modules/core-java-concurrency-advanced + core-java-modules/core-java-concurrency-advanced-2 core-kotlin core-kotlin-2 From 22838726967f800ad9816178e989fa73d7353dd5 Mon Sep 17 00:00:00 2001 From: fejera Date: Sun, 29 Sep 2019 10:51:31 +0200 Subject: [PATCH 040/199] added module core-java-concurrency-advanced-3 --- .../.gitignore | 26 +++++++++++++++ .../README.md | 26 +++++++++++++++ .../core-java-concurrency-advanced-3/pom.xml | 33 +++++++++++++++++++ pom.xml | 2 ++ 4 files changed, 87 insertions(+) create mode 100644 core-java-modules/core-java-concurrency-advanced-3/.gitignore create mode 100644 core-java-modules/core-java-concurrency-advanced-3/README.md create mode 100644 core-java-modules/core-java-concurrency-advanced-3/pom.xml diff --git a/core-java-modules/core-java-concurrency-advanced-3/.gitignore b/core-java-modules/core-java-concurrency-advanced-3/.gitignore new file mode 100644 index 0000000000..3de4cc647e --- /dev/null +++ b/core-java-modules/core-java-concurrency-advanced-3/.gitignore @@ -0,0 +1,26 @@ +*.class + +0.* + +#folders# +/target +/neoDb* +/data +/src/main/webapp/WEB-INF/classes +*/META-INF/* +.resourceCache + +# Packaged files # +*.jar +*.war +*.ear + +# Files generated by integration tests +*.txt +backup-pom.xml +/bin/ +/temp + +#IntelliJ specific +.idea/ +*.iml \ No newline at end of file diff --git a/core-java-modules/core-java-concurrency-advanced-3/README.md b/core-java-modules/core-java-concurrency-advanced-3/README.md new file mode 100644 index 0000000000..6222af8a82 --- /dev/null +++ b/core-java-modules/core-java-concurrency-advanced-3/README.md @@ -0,0 +1,26 @@ +========= + +## Core Java Concurrency Advanced Examples + +### Relevant Articles: +- [Introduction to Thread Pools in Java](https://www.baeldung.com/thread-pool-java-and-guava) +- [Guide to CountDownLatch in Java](https://www.baeldung.com/java-countdown-latch) +- [Guide to java.util.concurrent.Locks](https://www.baeldung.com/java-concurrent-locks) +- [An Introduction to ThreadLocal in Java](https://www.baeldung.com/java-threadlocal) +- [LongAdder and LongAccumulator in Java](https://www.baeldung.com/java-longadder-and-longaccumulator) +- [The Dining Philosophers Problem in Java](https://www.baeldung.com/java-dining-philoshophers) +- [Guide to the Java Phaser](https://www.baeldung.com/java-phaser) +- [An Introduction to Atomic Variables in Java](https://www.baeldung.com/java-atomic-variables) +- [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) +- [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) + +- [Semaphores in Java](https://www.baeldung.com/java-semaphore) +- [Daemon Threads in Java](https://www.baeldung.com/java-daemon-thread) +- [Priority-based Job Scheduling in Java](https://www.baeldung.com/java-priority-job-schedule) +- [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield) +- [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads) +- [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch) +- [Guide to the Fork/Join Framework in Java](https://www.baeldung.com/java-fork-join) +- [Guide to ThreadLocalRandom in Java](https://www.baeldung.com/java-thread-local-random) +- [The Thread.join() Method in Java](https://www.baeldung.com/java-thread-join) +- [Passing Parameters to Java Threads](https://www.baeldung.com/java-thread-parameters) diff --git a/core-java-modules/core-java-concurrency-advanced-3/pom.xml b/core-java-modules/core-java-concurrency-advanced-3/pom.xml new file mode 100644 index 0000000000..cc7b7b1e70 --- /dev/null +++ b/core-java-modules/core-java-concurrency-advanced-3/pom.xml @@ -0,0 +1,33 @@ + + 4.0.0 + com.baeldung + core-java-concurrency-advanced-3 + 0.1.0-SNAPSHOT + core-java-concurrency-advanced-3 + jar + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + + + + + + + core-java-concurrency-advanced-3 + + + src/main/resources + true + + + + + + + + diff --git a/pom.xml b/pom.xml index 3218e06754..cdc42906d3 100644 --- a/pom.xml +++ b/pom.xml @@ -1035,6 +1035,7 @@ core-java-modules/core-java-concurrency-advanced core-java-modules/core-java-concurrency-advanced-2 + core-java-modules/core-java-concurrency-advanced-3 core-kotlin core-kotlin-2 core-kotlin-io @@ -1586,6 +1587,7 @@ core-java-modules/core-java core-java-modules/core-java-concurrency-advanced core-java-modules/core-java-concurrency-advanced-2 + core-java-modules/core-java-concurrency-advanced-3 core-kotlin core-kotlin-2 From 95324865a81ced01b94226889bc796df242d63a1 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Sun, 29 Sep 2019 10:59:04 +0200 Subject: [PATCH 041/199] #BAEL-16646 fix project names --- core-java-modules/core-java-datetime/README.md | 2 +- .../core-java-datetime/java-dates-conversion/pom.xml | 6 +++--- .../core-java-datetime/java-dates-string/pom.xml | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/core-java-modules/core-java-datetime/README.md b/core-java-modules/core-java-datetime/README.md index 51f52e239d..ddb2d336b5 100644 --- a/core-java-modules/core-java-datetime/README.md +++ b/core-java-modules/core-java-datetime/README.md @@ -1,3 +1,3 @@ ## Java Date and Time -This module contains articles about date and time in Java. +This module contains articles about date and time in Java. It's split in several submodules. diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/pom.xml b/core-java-modules/core-java-datetime/java-dates-conversion/pom.xml index c9326eb44c..8f3d35f4f3 100644 --- a/core-java-modules/core-java-datetime/java-dates-conversion/pom.xml +++ b/core-java-modules/core-java-datetime/java-dates-conversion/pom.xml @@ -3,14 +3,14 @@ 4.0.0 java-dates-conversion ${project.parent.version} - java-dates + java-dates-conversion jar com.baeldung parent-java 0.0.1-SNAPSHOT - ../parent-java + ../../parent-java @@ -39,7 +39,7 @@ - java-dates + java-dates-conversion src/main/resources diff --git a/core-java-modules/core-java-datetime/java-dates-string/pom.xml b/core-java-modules/core-java-datetime/java-dates-string/pom.xml index d65ac140fb..d599818924 100644 --- a/core-java-modules/core-java-datetime/java-dates-string/pom.xml +++ b/core-java-modules/core-java-datetime/java-dates-string/pom.xml @@ -3,14 +3,14 @@ 4.0.0 java-dates-string ${project.parent.version} - java-dates + java-dates-string jar com.baeldung parent-java 0.0.1-SNAPSHOT - ../parent-java + ../../parent-java @@ -51,7 +51,7 @@ - java-dates + java-dates-string src/main/resources From ab8bab1948f9521880a82ccea0142b971e62ee89 Mon Sep 17 00:00:00 2001 From: fejera Date: Sun, 29 Sep 2019 11:01:59 +0200 Subject: [PATCH 042/199] fixed code for failing tests --- .../cyclicbarrier/CyclicBarrierCompletionMethodExample.java | 6 ++++++ .../concurrent/cyclicbarrier/CyclicBarrierResetExample.java | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCompletionMethodExample.java b/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCompletionMethodExample.java index 7c1299da62..00cf314706 100644 --- a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCompletionMethodExample.java +++ b/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCompletionMethodExample.java @@ -4,6 +4,7 @@ import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; public class CyclicBarrierCompletionMethodExample { @@ -35,6 +36,11 @@ public class CyclicBarrierCompletionMethodExample { }); } es.shutdown(); + try { + es.awaitTermination(1, TimeUnit.SECONDS); + } catch (InterruptedException e) { + e.printStackTrace(); + } return updateCount.get(); } diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExample.java b/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExample.java index 76b6198bc4..cf497687cc 100644 --- a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExample.java +++ b/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExample.java @@ -4,6 +4,7 @@ import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; public class CyclicBarrierResetExample { @@ -36,6 +37,11 @@ public class CyclicBarrierResetExample { }); } es.shutdown(); + try { + es.awaitTermination(1, TimeUnit.SECONDS); + } catch (InterruptedException e) { + e.printStackTrace(); + } return updateCount.get(); } From 432395628b66b996252f86619522a8323037b177 Mon Sep 17 00:00:00 2001 From: fejera Date: Sun, 29 Sep 2019 11:09:26 +0200 Subject: [PATCH 043/199] moved semaphore examples from core-java-concurrency-advanced to core-java-concurrency-advanced-2 --- .../README.md | 20 ------------------- .../core-java-concurrency-advanced-2/pom.xml | 13 ++++++++++++ .../semaphores/CounterUsingMutex.java | 0 .../DelayQueueUsingTimedSemaphore.java | 0 .../semaphores/LoginQueueUsingSemaphore.java | 0 .../semaphores/SemaphoresManualTest.java | 0 .../core-java-concurrency-advanced/README.md | 1 - 7 files changed, 13 insertions(+), 21 deletions(-) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/concurrent/semaphores/CounterUsingMutex.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/concurrent/semaphores/DelayQueueUsingTimedSemaphore.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/concurrent/semaphores/LoginQueueUsingSemaphore.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/test/java/com/baeldung/concurrent/semaphores/SemaphoresManualTest.java (100%) diff --git a/core-java-modules/core-java-concurrency-advanced-2/README.md b/core-java-modules/core-java-concurrency-advanced-2/README.md index 6222af8a82..ca108f956e 100644 --- a/core-java-modules/core-java-concurrency-advanced-2/README.md +++ b/core-java-modules/core-java-concurrency-advanced-2/README.md @@ -3,24 +3,4 @@ ## Core Java Concurrency Advanced Examples ### Relevant Articles: -- [Introduction to Thread Pools in Java](https://www.baeldung.com/thread-pool-java-and-guava) -- [Guide to CountDownLatch in Java](https://www.baeldung.com/java-countdown-latch) -- [Guide to java.util.concurrent.Locks](https://www.baeldung.com/java-concurrent-locks) -- [An Introduction to ThreadLocal in Java](https://www.baeldung.com/java-threadlocal) -- [LongAdder and LongAccumulator in Java](https://www.baeldung.com/java-longadder-and-longaccumulator) -- [The Dining Philosophers Problem in Java](https://www.baeldung.com/java-dining-philoshophers) -- [Guide to the Java Phaser](https://www.baeldung.com/java-phaser) -- [An Introduction to Atomic Variables in Java](https://www.baeldung.com/java-atomic-variables) -- [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) -- [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) - - [Semaphores in Java](https://www.baeldung.com/java-semaphore) -- [Daemon Threads in Java](https://www.baeldung.com/java-daemon-thread) -- [Priority-based Job Scheduling in Java](https://www.baeldung.com/java-priority-job-schedule) -- [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield) -- [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads) -- [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch) -- [Guide to the Fork/Join Framework in Java](https://www.baeldung.com/java-fork-join) -- [Guide to ThreadLocalRandom in Java](https://www.baeldung.com/java-thread-local-random) -- [The Thread.join() Method in Java](https://www.baeldung.com/java-thread-join) -- [Passing Parameters to Java Threads](https://www.baeldung.com/java-thread-parameters) diff --git a/core-java-modules/core-java-concurrency-advanced-2/pom.xml b/core-java-modules/core-java-concurrency-advanced-2/pom.xml index 785c81edd2..2ce337bea1 100644 --- a/core-java-modules/core-java-concurrency-advanced-2/pom.xml +++ b/core-java-modules/core-java-concurrency-advanced-2/pom.xml @@ -15,6 +15,18 @@ + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + + org.assertj + assertj-core + ${assertj.version} + test + @@ -28,6 +40,7 @@ + 3.6.1 diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/semaphores/CounterUsingMutex.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/semaphores/CounterUsingMutex.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/semaphores/CounterUsingMutex.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/semaphores/CounterUsingMutex.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/semaphores/DelayQueueUsingTimedSemaphore.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/semaphores/DelayQueueUsingTimedSemaphore.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/semaphores/DelayQueueUsingTimedSemaphore.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/semaphores/DelayQueueUsingTimedSemaphore.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/semaphores/LoginQueueUsingSemaphore.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/semaphores/LoginQueueUsingSemaphore.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/semaphores/LoginQueueUsingSemaphore.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/semaphores/LoginQueueUsingSemaphore.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/semaphores/SemaphoresManualTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/semaphores/SemaphoresManualTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/semaphores/SemaphoresManualTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/semaphores/SemaphoresManualTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/README.md b/core-java-modules/core-java-concurrency-advanced/README.md index 6222af8a82..a2e14376e3 100644 --- a/core-java-modules/core-java-concurrency-advanced/README.md +++ b/core-java-modules/core-java-concurrency-advanced/README.md @@ -14,7 +14,6 @@ - [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) - [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) -- [Semaphores in Java](https://www.baeldung.com/java-semaphore) - [Daemon Threads in Java](https://www.baeldung.com/java-daemon-thread) - [Priority-based Job Scheduling in Java](https://www.baeldung.com/java-priority-job-schedule) - [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield) From c98254dbe013f852e08a7f79f8f2c2d4775fdcd4 Mon Sep 17 00:00:00 2001 From: fejera Date: Sun, 29 Sep 2019 11:14:11 +0200 Subject: [PATCH 044/199] moved daemon thread examples from core-java-concurrency-advanced to core-java-concurrency-advanced-2 --- .../README.md | 1 + .../baeldung/concurrent/daemon/NewThread.java | 23 +++++++++++++++++++ .../daemon/DaemonThreadUnitTest.java | 0 .../core-java-concurrency-advanced/README.md | 1 - 4 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/daemon/NewThread.java rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/test/java/com/baeldung/concurrent/daemon/DaemonThreadUnitTest.java (100%) diff --git a/core-java-modules/core-java-concurrency-advanced-2/README.md b/core-java-modules/core-java-concurrency-advanced-2/README.md index ca108f956e..7dc0660f58 100644 --- a/core-java-modules/core-java-concurrency-advanced-2/README.md +++ b/core-java-modules/core-java-concurrency-advanced-2/README.md @@ -4,3 +4,4 @@ ### Relevant Articles: - [Semaphores in Java](https://www.baeldung.com/java-semaphore) +- [Daemon Threads in Java](https://www.baeldung.com/java-daemon-thread) diff --git a/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/daemon/NewThread.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/daemon/NewThread.java new file mode 100644 index 0000000000..370ce99c09 --- /dev/null +++ b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/daemon/NewThread.java @@ -0,0 +1,23 @@ +package com.baeldung.concurrent.daemon; + +public class NewThread extends Thread { + public void run() { + long startTime = System.currentTimeMillis(); + while (true) { + for (int i = 0; i < 10; i++) { + System.out.println(this.getName() + ": New Thread is running..." + i); + try { + //Wait for one sec so it doesn't print too fast + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + // prevent the Thread to run forever. It will finish it's execution after 2 seconds + if (System.currentTimeMillis() - startTime > 2000) { + Thread.currentThread().interrupt(); + break; + } + } + } +} diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/daemon/DaemonThreadUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/daemon/DaemonThreadUnitTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/daemon/DaemonThreadUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/daemon/DaemonThreadUnitTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/README.md b/core-java-modules/core-java-concurrency-advanced/README.md index a2e14376e3..f19b4c8375 100644 --- a/core-java-modules/core-java-concurrency-advanced/README.md +++ b/core-java-modules/core-java-concurrency-advanced/README.md @@ -14,7 +14,6 @@ - [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) - [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) -- [Daemon Threads in Java](https://www.baeldung.com/java-daemon-thread) - [Priority-based Job Scheduling in Java](https://www.baeldung.com/java-priority-job-schedule) - [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield) - [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads) From fa3cc1e953d87e6f000ebe9b8cdad52877875794 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Sun, 29 Sep 2019 11:15:25 +0200 Subject: [PATCH 045/199] #BAEL-16646 fix pom parent --- .../core-java-datetime/java-dates-conversion/pom.xml | 2 +- core-java-modules/core-java-datetime/java-dates-string/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/pom.xml b/core-java-modules/core-java-datetime/java-dates-conversion/pom.xml index 8f3d35f4f3..b56cadc340 100644 --- a/core-java-modules/core-java-datetime/java-dates-conversion/pom.xml +++ b/core-java-modules/core-java-datetime/java-dates-conversion/pom.xml @@ -10,7 +10,7 @@ com.baeldung parent-java 0.0.1-SNAPSHOT - ../../parent-java + ../../../parent-java diff --git a/core-java-modules/core-java-datetime/java-dates-string/pom.xml b/core-java-modules/core-java-datetime/java-dates-string/pom.xml index d599818924..714a65195a 100644 --- a/core-java-modules/core-java-datetime/java-dates-string/pom.xml +++ b/core-java-modules/core-java-datetime/java-dates-string/pom.xml @@ -10,7 +10,7 @@ com.baeldung parent-java 0.0.1-SNAPSHOT - ../../parent-java + ../../../parent-java From 0bfbfffac16c05ebf9a37ffee3dead86c85465a9 Mon Sep 17 00:00:00 2001 From: fejera Date: Sun, 29 Sep 2019 11:18:13 +0200 Subject: [PATCH 046/199] moved priority scheduling examples from core-java-concurrency-advanced to core-java-concurrency-advanced-2 --- core-java-modules/core-java-concurrency-advanced-2/README.md | 1 + .../java/com/baeldung/concurrent/prioritytaskexecution/Job.java | 0 .../baeldung/concurrent/prioritytaskexecution/JobPriority.java | 0 .../concurrent/prioritytaskexecution/PriorityJobScheduler.java | 0 .../prioritytaskexecution/PriorityJobSchedulerUnitTest.java | 0 core-java-modules/core-java-concurrency-advanced/README.md | 1 - 6 files changed, 1 insertion(+), 1 deletion(-) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/concurrent/prioritytaskexecution/Job.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/concurrent/prioritytaskexecution/JobPriority.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobScheduler.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/test/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobSchedulerUnitTest.java (100%) diff --git a/core-java-modules/core-java-concurrency-advanced-2/README.md b/core-java-modules/core-java-concurrency-advanced-2/README.md index 7dc0660f58..9db768036a 100644 --- a/core-java-modules/core-java-concurrency-advanced-2/README.md +++ b/core-java-modules/core-java-concurrency-advanced-2/README.md @@ -5,3 +5,4 @@ ### Relevant Articles: - [Semaphores in Java](https://www.baeldung.com/java-semaphore) - [Daemon Threads in Java](https://www.baeldung.com/java-daemon-thread) +- [Priority-based Job Scheduling in Java](https://www.baeldung.com/java-priority-job-schedule) diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/prioritytaskexecution/Job.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/prioritytaskexecution/Job.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/prioritytaskexecution/Job.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/prioritytaskexecution/Job.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/prioritytaskexecution/JobPriority.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/prioritytaskexecution/JobPriority.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/prioritytaskexecution/JobPriority.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/prioritytaskexecution/JobPriority.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobScheduler.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobScheduler.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobScheduler.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobScheduler.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobSchedulerUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobSchedulerUnitTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobSchedulerUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobSchedulerUnitTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/README.md b/core-java-modules/core-java-concurrency-advanced/README.md index f19b4c8375..ac75ca4933 100644 --- a/core-java-modules/core-java-concurrency-advanced/README.md +++ b/core-java-modules/core-java-concurrency-advanced/README.md @@ -14,7 +14,6 @@ - [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) - [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) -- [Priority-based Job Scheduling in Java](https://www.baeldung.com/java-priority-job-schedule) - [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield) - [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads) - [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch) From 735462e6a8be435cdf0f4d233d8011b252b23fdd Mon Sep 17 00:00:00 2001 From: fejera Date: Sun, 29 Sep 2019 11:19:56 +0200 Subject: [PATCH 047/199] moved yield examples from core-java-concurrency-advanced to core-java-concurrency-advanced-2 --- core-java-modules/core-java-concurrency-advanced-2/README.md | 1 + .../src/main/java/com/baeldung/concurrent/yield/ThreadYield.java | 0 core-java-modules/core-java-concurrency-advanced/README.md | 1 - 3 files changed, 1 insertion(+), 1 deletion(-) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/concurrent/yield/ThreadYield.java (100%) diff --git a/core-java-modules/core-java-concurrency-advanced-2/README.md b/core-java-modules/core-java-concurrency-advanced-2/README.md index 9db768036a..68a6550264 100644 --- a/core-java-modules/core-java-concurrency-advanced-2/README.md +++ b/core-java-modules/core-java-concurrency-advanced-2/README.md @@ -6,3 +6,4 @@ - [Semaphores in Java](https://www.baeldung.com/java-semaphore) - [Daemon Threads in Java](https://www.baeldung.com/java-daemon-thread) - [Priority-based Job Scheduling in Java](https://www.baeldung.com/java-priority-job-schedule) +- [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield) diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/yield/ThreadYield.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/yield/ThreadYield.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/yield/ThreadYield.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/yield/ThreadYield.java diff --git a/core-java-modules/core-java-concurrency-advanced/README.md b/core-java-modules/core-java-concurrency-advanced/README.md index ac75ca4933..f5d40b7976 100644 --- a/core-java-modules/core-java-concurrency-advanced/README.md +++ b/core-java-modules/core-java-concurrency-advanced/README.md @@ -14,7 +14,6 @@ - [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) - [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) -- [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield) - [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads) - [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch) - [Guide to the Fork/Join Framework in Java](https://www.baeldung.com/java-fork-join) From fd61088fc29a38286d677644fab70f0b78bf0737 Mon Sep 17 00:00:00 2001 From: fejera Date: Sun, 29 Sep 2019 11:21:47 +0200 Subject: [PATCH 048/199] moved threaded even and odd number print examples from core-java-concurrency-advanced to core-java-concurrency-advanced-2 --- core-java-modules/core-java-concurrency-advanced-2/README.md | 1 + .../baeldung/concurrent/evenandodd/PrintEvenOddSemaphore.java | 0 .../baeldung/concurrent/evenandodd/PrintEvenOddWaitNotify.java | 0 core-java-modules/core-java-concurrency-advanced/README.md | 1 - 4 files changed, 1 insertion(+), 1 deletion(-) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddSemaphore.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddWaitNotify.java (100%) diff --git a/core-java-modules/core-java-concurrency-advanced-2/README.md b/core-java-modules/core-java-concurrency-advanced-2/README.md index 68a6550264..81e12c2bd5 100644 --- a/core-java-modules/core-java-concurrency-advanced-2/README.md +++ b/core-java-modules/core-java-concurrency-advanced-2/README.md @@ -7,3 +7,4 @@ - [Daemon Threads in Java](https://www.baeldung.com/java-daemon-thread) - [Priority-based Job Scheduling in Java](https://www.baeldung.com/java-priority-job-schedule) - [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield) +- [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads) diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddSemaphore.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddSemaphore.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddSemaphore.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddSemaphore.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddWaitNotify.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddWaitNotify.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddWaitNotify.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddWaitNotify.java diff --git a/core-java-modules/core-java-concurrency-advanced/README.md b/core-java-modules/core-java-concurrency-advanced/README.md index f5d40b7976..af956b9b81 100644 --- a/core-java-modules/core-java-concurrency-advanced/README.md +++ b/core-java-modules/core-java-concurrency-advanced/README.md @@ -14,7 +14,6 @@ - [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) - [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) -- [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads) - [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch) - [Guide to the Fork/Join Framework in Java](https://www.baeldung.com/java-fork-join) - [Guide to ThreadLocalRandom in Java](https://www.baeldung.com/java-thread-local-random) From 582de7b60e560a9f620d93cd3549b12800a75fba Mon Sep 17 00:00:00 2001 From: fejera Date: Sun, 29 Sep 2019 11:33:40 +0200 Subject: [PATCH 049/199] moved cyclicbarrier vs countdownlatch examples from core-java-concurrency-advanced to core-java-concurrency-advanced-2 --- core-java-modules/core-java-concurrency-advanced-2/README.md | 1 + .../concurrent/countdownlatch/CountdownLatchCountExample.java | 0 .../concurrent/countdownlatch/CountdownLatchResetExample.java | 0 .../concurrent/cyclicbarrier/CyclicBarrierCountExample.java | 0 .../concurrent/cyclicbarrier/CyclicBarrierResetExample.java | 0 .../countdownlatch/CountdownLatchCountExampleUnitTest.java | 0 .../countdownlatch/CountdownLatchResetExampleUnitTest.java | 0 .../cyclicbarrier/CyclicBarrierCountExampleUnitTest.java | 0 .../cyclicbarrier/CyclicBarrierResetExampleUnitTest.java | 0 core-java-modules/core-java-concurrency-advanced/README.md | 1 - 10 files changed, 1 insertion(+), 1 deletion(-) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExample.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExample.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExample.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExample.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExampleUnitTest.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExampleUnitTest.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExampleUnitTest.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExampleUnitTest.java (100%) diff --git a/core-java-modules/core-java-concurrency-advanced-2/README.md b/core-java-modules/core-java-concurrency-advanced-2/README.md index 81e12c2bd5..d1618bddc5 100644 --- a/core-java-modules/core-java-concurrency-advanced-2/README.md +++ b/core-java-modules/core-java-concurrency-advanced-2/README.md @@ -8,3 +8,4 @@ - [Priority-based Job Scheduling in Java](https://www.baeldung.com/java-priority-job-schedule) - [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield) - [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads) +- [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch) diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExample.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExample.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExample.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExample.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExample.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExample.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExample.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExample.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExample.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExample.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExample.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExample.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExample.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExample.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExample.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExample.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExampleUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExampleUnitTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExampleUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExampleUnitTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExampleUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExampleUnitTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExampleUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExampleUnitTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExampleUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExampleUnitTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExampleUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExampleUnitTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExampleUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExampleUnitTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExampleUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExampleUnitTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/README.md b/core-java-modules/core-java-concurrency-advanced/README.md index af956b9b81..5a3e92299f 100644 --- a/core-java-modules/core-java-concurrency-advanced/README.md +++ b/core-java-modules/core-java-concurrency-advanced/README.md @@ -14,7 +14,6 @@ - [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) - [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) -- [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch) - [Guide to the Fork/Join Framework in Java](https://www.baeldung.com/java-fork-join) - [Guide to ThreadLocalRandom in Java](https://www.baeldung.com/java-thread-local-random) - [The Thread.join() Method in Java](https://www.baeldung.com/java-thread-join) From 487c0df48213b7f281ad497db5a43a79d8e5ad91 Mon Sep 17 00:00:00 2001 From: fejera Date: Sun, 29 Sep 2019 11:37:53 +0200 Subject: [PATCH 050/199] moved fork-join examples from core-java-concurrency-advanced to core-java-concurrency-advanced-2 --- core-java-modules/core-java-concurrency-advanced-2/README.md | 1 + .../main/java/com/baeldung/forkjoin/CustomRecursiveAction.java | 0 .../main/java/com/baeldung/forkjoin/CustomRecursiveTask.java | 0 .../src/main/java/com/baeldung/forkjoin/util/PoolUtil.java | 0 .../com/baeldung/forkjoin}/Java8ForkJoinIntegrationTest.java | 2 +- core-java-modules/core-java-concurrency-advanced/README.md | 1 - 6 files changed, 2 insertions(+), 2 deletions(-) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/forkjoin/CustomRecursiveAction.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/forkjoin/CustomRecursiveTask.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/forkjoin/util/PoolUtil.java (100%) rename core-java-modules/{core-java-concurrency-advanced/src/test/java/com/baeldung/java8 => core-java-concurrency-advanced-2/src/test/java/com/baeldung/forkjoin}/Java8ForkJoinIntegrationTest.java (98%) diff --git a/core-java-modules/core-java-concurrency-advanced-2/README.md b/core-java-modules/core-java-concurrency-advanced-2/README.md index d1618bddc5..b1c8b93a74 100644 --- a/core-java-modules/core-java-concurrency-advanced-2/README.md +++ b/core-java-modules/core-java-concurrency-advanced-2/README.md @@ -9,3 +9,4 @@ - [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield) - [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads) - [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch) +- [Guide to the Fork/Join Framework in Java](https://www.baeldung.com/java-fork-join) diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/forkjoin/CustomRecursiveAction.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/forkjoin/CustomRecursiveAction.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/forkjoin/CustomRecursiveAction.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/forkjoin/CustomRecursiveAction.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/forkjoin/CustomRecursiveTask.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/forkjoin/CustomRecursiveTask.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/forkjoin/CustomRecursiveTask.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/forkjoin/CustomRecursiveTask.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/forkjoin/util/PoolUtil.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/forkjoin/util/PoolUtil.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/forkjoin/util/PoolUtil.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/forkjoin/util/PoolUtil.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/java8/Java8ForkJoinIntegrationTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/forkjoin/Java8ForkJoinIntegrationTest.java similarity index 98% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/java8/Java8ForkJoinIntegrationTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/forkjoin/Java8ForkJoinIntegrationTest.java index 6778fd782b..c469fe0195 100644 --- a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/java8/Java8ForkJoinIntegrationTest.java +++ b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/forkjoin/Java8ForkJoinIntegrationTest.java @@ -1,4 +1,4 @@ -package com.baeldung.java8; +package com.baeldung.forkjoin; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; diff --git a/core-java-modules/core-java-concurrency-advanced/README.md b/core-java-modules/core-java-concurrency-advanced/README.md index 5a3e92299f..48ca49564b 100644 --- a/core-java-modules/core-java-concurrency-advanced/README.md +++ b/core-java-modules/core-java-concurrency-advanced/README.md @@ -14,7 +14,6 @@ - [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) - [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) -- [Guide to the Fork/Join Framework in Java](https://www.baeldung.com/java-fork-join) - [Guide to ThreadLocalRandom in Java](https://www.baeldung.com/java-thread-local-random) - [The Thread.join() Method in Java](https://www.baeldung.com/java-thread-join) - [Passing Parameters to Java Threads](https://www.baeldung.com/java-thread-parameters) From 2940c2bde57a1e703ed6483bec7301850c4783ac Mon Sep 17 00:00:00 2001 From: fejera Date: Sun, 29 Sep 2019 11:43:37 +0200 Subject: [PATCH 051/199] moved thread local random examples from core-java-concurrency-advanced to core-java-concurrency-advanced-2 --- .../core-java-concurrency-advanced-2/README.md | 1 + .../core-java-concurrency-advanced-2/pom.xml | 13 +++++++++++++ .../ThreadLocalRandomBenchMarkRunner.java | 0 .../ThreadLocalRandomBenchMarker.java | 0 .../ThreadLocalRandomIntegrationTest.java | 0 .../core-java-concurrency-advanced/README.md | 1 - .../core-java-concurrency-advanced/pom.xml | 12 ------------ 7 files changed, 14 insertions(+), 13 deletions(-) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarkRunner.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarker.java (100%) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/test/java/com/baeldung/threadlocalrandom/ThreadLocalRandomIntegrationTest.java (100%) diff --git a/core-java-modules/core-java-concurrency-advanced-2/README.md b/core-java-modules/core-java-concurrency-advanced-2/README.md index b1c8b93a74..583c2e7312 100644 --- a/core-java-modules/core-java-concurrency-advanced-2/README.md +++ b/core-java-modules/core-java-concurrency-advanced-2/README.md @@ -10,3 +10,4 @@ - [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads) - [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch) - [Guide to the Fork/Join Framework in Java](https://www.baeldung.com/java-fork-join) +- [Guide to ThreadLocalRandom in Java](https://www.baeldung.com/java-thread-local-random) diff --git a/core-java-modules/core-java-concurrency-advanced-2/pom.xml b/core-java-modules/core-java-concurrency-advanced-2/pom.xml index 2ce337bea1..cad492b1ea 100644 --- a/core-java-modules/core-java-concurrency-advanced-2/pom.xml +++ b/core-java-modules/core-java-concurrency-advanced-2/pom.xml @@ -20,6 +20,16 @@ commons-lang3 ${commons-lang3.version} + + org.openjdk.jmh + jmh-core + ${jmh-core.version} + + + org.openjdk.jmh + jmh-generator-annprocess + ${jmh-generator-annprocess.version} + org.assertj @@ -40,6 +50,9 @@ + 1.19 + 1.19 + 3.6.1 diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarkRunner.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarkRunner.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarkRunner.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarkRunner.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarker.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarker.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarker.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarker.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/threadlocalrandom/ThreadLocalRandomIntegrationTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/threadlocalrandom/ThreadLocalRandomIntegrationTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/threadlocalrandom/ThreadLocalRandomIntegrationTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/threadlocalrandom/ThreadLocalRandomIntegrationTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/README.md b/core-java-modules/core-java-concurrency-advanced/README.md index 48ca49564b..ab85716907 100644 --- a/core-java-modules/core-java-concurrency-advanced/README.md +++ b/core-java-modules/core-java-concurrency-advanced/README.md @@ -14,6 +14,5 @@ - [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) - [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) -- [Guide to ThreadLocalRandom in Java](https://www.baeldung.com/java-thread-local-random) - [The Thread.join() Method in Java](https://www.baeldung.com/java-thread-join) - [Passing Parameters to Java Threads](https://www.baeldung.com/java-thread-parameters) diff --git a/core-java-modules/core-java-concurrency-advanced/pom.xml b/core-java-modules/core-java-concurrency-advanced/pom.xml index 5d41909ed3..4a9ee30d65 100644 --- a/core-java-modules/core-java-concurrency-advanced/pom.xml +++ b/core-java-modules/core-java-concurrency-advanced/pom.xml @@ -47,16 +47,6 @@ ${avaitility.version} test - - org.openjdk.jmh - jmh-core - ${jmh-core.version} - - - org.openjdk.jmh - jmh-generator-annprocess - ${jmh-generator-annprocess.version} - @@ -78,8 +68,6 @@ 3.6.1 1.7.0 - 1.19 - 1.19 From 0e60db5e5a6590ecd181c380536cd5ad85f92e98 Mon Sep 17 00:00:00 2001 From: fejera Date: Sun, 29 Sep 2019 11:46:08 +0200 Subject: [PATCH 052/199] moved thread join examples from core-java-concurrency-advanced to core-java-concurrency-advanced-2 --- core-java-modules/core-java-concurrency-advanced-2/README.md | 1 + .../test/java/com/baeldung/thread/join/ThreadJoinUnitTest.java | 0 core-java-modules/core-java-concurrency-advanced/README.md | 1 - 3 files changed, 1 insertion(+), 1 deletion(-) rename core-java-modules/{core-java-concurrency-advanced => core-java-concurrency-advanced-2}/src/test/java/com/baeldung/thread/join/ThreadJoinUnitTest.java (100%) diff --git a/core-java-modules/core-java-concurrency-advanced-2/README.md b/core-java-modules/core-java-concurrency-advanced-2/README.md index 583c2e7312..328a0579c7 100644 --- a/core-java-modules/core-java-concurrency-advanced-2/README.md +++ b/core-java-modules/core-java-concurrency-advanced-2/README.md @@ -11,3 +11,4 @@ - [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch) - [Guide to the Fork/Join Framework in Java](https://www.baeldung.com/java-fork-join) - [Guide to ThreadLocalRandom in Java](https://www.baeldung.com/java-thread-local-random) +- [The Thread.join() Method in Java](https://www.baeldung.com/java-thread-join) diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/thread/join/ThreadJoinUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/thread/join/ThreadJoinUnitTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/thread/join/ThreadJoinUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/thread/join/ThreadJoinUnitTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/README.md b/core-java-modules/core-java-concurrency-advanced/README.md index ab85716907..e2b7c85517 100644 --- a/core-java-modules/core-java-concurrency-advanced/README.md +++ b/core-java-modules/core-java-concurrency-advanced/README.md @@ -14,5 +14,4 @@ - [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) - [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) -- [The Thread.join() Method in Java](https://www.baeldung.com/java-thread-join) - [Passing Parameters to Java Threads](https://www.baeldung.com/java-thread-parameters) From 9d4614981b0d3464fc22e8f464c514666a64e443 Mon Sep 17 00:00:00 2001 From: fejera Date: Sun, 29 Sep 2019 11:50:23 +0200 Subject: [PATCH 053/199] moved parameterized thread examples from core-java-concurrency-advanced to core-java-concurrency-advanced-2 --- .../core-java-concurrency-advanced-2/README.md | 1 + .../baeldung/concurrent/parameters}/AverageCalculator.java | 2 +- .../concurrent/parameters}/ParameterizedThreadExample.java | 2 +- .../parameters/ParameterizedThreadUnitTest.java | 7 +++---- core-java-modules/core-java-concurrency-advanced/README.md | 2 -- 5 files changed, 6 insertions(+), 8 deletions(-) rename core-java-modules/{core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/parameter => core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/parameters}/AverageCalculator.java (90%) rename core-java-modules/{core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/parameter => core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/parameters}/ParameterizedThreadExample.java (95%) rename core-java-modules/{core-java-concurrency-advanced/src/test/java/com/baeldung => core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent}/parameters/ParameterizedThreadUnitTest.java (93%) diff --git a/core-java-modules/core-java-concurrency-advanced-2/README.md b/core-java-modules/core-java-concurrency-advanced-2/README.md index 328a0579c7..8db1b89468 100644 --- a/core-java-modules/core-java-concurrency-advanced-2/README.md +++ b/core-java-modules/core-java-concurrency-advanced-2/README.md @@ -12,3 +12,4 @@ - [Guide to the Fork/Join Framework in Java](https://www.baeldung.com/java-fork-join) - [Guide to ThreadLocalRandom in Java](https://www.baeldung.com/java-thread-local-random) - [The Thread.join() Method in Java](https://www.baeldung.com/java-thread-join) +- [Passing Parameters to Java Threads](https://www.baeldung.com/java-thread-parameters) diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/parameter/AverageCalculator.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/parameters/AverageCalculator.java similarity index 90% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/parameter/AverageCalculator.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/parameters/AverageCalculator.java index a548b5d4a7..f0997b30bd 100644 --- a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/parameter/AverageCalculator.java +++ b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/parameters/AverageCalculator.java @@ -1,4 +1,4 @@ -package com.baeldung.concurrent.parameter; +package com.baeldung.concurrent.parameters; import java.util.concurrent.Callable; import java.util.stream.IntStream; diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/parameter/ParameterizedThreadExample.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/parameters/ParameterizedThreadExample.java similarity index 95% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/parameter/ParameterizedThreadExample.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/parameters/ParameterizedThreadExample.java index 73c61f3fb1..177bf14dae 100644 --- a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/parameter/ParameterizedThreadExample.java +++ b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/parameters/ParameterizedThreadExample.java @@ -1,4 +1,4 @@ -package com.baeldung.concurrent.parameter; +package com.baeldung.concurrent.parameters; import java.util.concurrent.Callable; import java.util.stream.IntStream; diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/parameters/ParameterizedThreadUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/parameters/ParameterizedThreadUnitTest.java similarity index 93% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/parameters/ParameterizedThreadUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/parameters/ParameterizedThreadUnitTest.java index 21b374e609..4185d77dc3 100644 --- a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/parameters/ParameterizedThreadUnitTest.java +++ b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/parameters/ParameterizedThreadUnitTest.java @@ -1,14 +1,13 @@ -package com.baeldung.parameters; +package com.baeldung.concurrent.parameters; -import com.baeldung.concurrent.parameter.AverageCalculator; -import org.junit.Test; +import static org.junit.Assert.assertEquals; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.stream.IntStream; -import static org.junit.Assert.assertEquals; +import org.junit.Test; public class ParameterizedThreadUnitTest { diff --git a/core-java-modules/core-java-concurrency-advanced/README.md b/core-java-modules/core-java-concurrency-advanced/README.md index e2b7c85517..5c4a9889e2 100644 --- a/core-java-modules/core-java-concurrency-advanced/README.md +++ b/core-java-modules/core-java-concurrency-advanced/README.md @@ -13,5 +13,3 @@ - [An Introduction to Atomic Variables in Java](https://www.baeldung.com/java-atomic-variables) - [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) - [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) - -- [Passing Parameters to Java Threads](https://www.baeldung.com/java-thread-parameters) From 230b2db438eb991de795be57daf08c08245399be Mon Sep 17 00:00:00 2001 From: Afshin Date: Sun, 29 Sep 2019 18:30:31 +0200 Subject: [PATCH 054/199] MalformedInputException test functions are added --- .../encoding/CharacterEncodingExamples.java | 20 +++++-- .../CharacterEncodingExamplesUnitTest.java | 55 +++++++++++++++++++ 2 files changed, 70 insertions(+), 5 deletions(-) diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java b/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java index bdd92e37f6..51b2347823 100644 --- a/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java +++ b/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java @@ -1,10 +1,9 @@ package com.baeldung.encoding; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.UnsupportedEncodingException; +import java.io.*; +import java.nio.charset.Charset; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.CodingErrorAction; public class CharacterEncodingExamples { @@ -29,4 +28,15 @@ public class CharacterEncodingExamples { } return buffer.toString(); } + + static String decodeText(String input, Charset charset, CodingErrorAction codingErrorAction) throws IOException { + CharsetDecoder charsetDecoder = charset.newDecoder(); + charsetDecoder.onMalformedInput(codingErrorAction); + return new BufferedReader( + new InputStreamReader( + new ByteArrayInputStream(input.getBytes()), + charsetDecoder)) + .readLine(); + + } } diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java b/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java index 95b3605d95..1a875738d0 100644 --- a/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java +++ b/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java @@ -1,9 +1,21 @@ package com.baeldung.encoding; +import java.io.BufferedReader; import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Reader; +import java.nio.charset.*; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import org.junit.Assert; import org.junit.Test; +import org.junit.jupiter.api.Assertions; + +import static java.nio.file.Files.newInputStream; public class CharacterEncodingExamplesUnitTest { @@ -58,4 +70,47 @@ public class CharacterEncodingExamplesUnitTest { "0 0 10001010 10011110 "); } + @Test + public void givenUTF8String_decodeByUS_ASCII_ReplaceMalformedInputSequence() throws IOException { + String input = "The façade pattern is a software design pattern."; + Assertions.assertEquals(CharacterEncodingExamples.decodeText(input, StandardCharsets.US_ASCII, CodingErrorAction.REPLACE), + "The fa��ade pattern is a software design pattern."); + } + + @Test + public void givenUTF8String_decodeByUS_ASCII_IgnoreMalformedInputSequence() throws IOException { + String input = "The façade pattern is a software design pattern."; + Assertions.assertEquals( + CharacterEncodingExamples.decodeText(input, StandardCharsets.US_ASCII, CodingErrorAction.IGNORE), + "The faade pattern is a software design pattern."); + } + + @Test + public void givenUTF8String_decodeByUS_ASCII_ReportMalformedInputSequence() { + String input = "The façade pattern is a software design pattern."; + Assertions.assertThrows(MalformedInputException.class, + () -> CharacterEncodingExamples.decodeText(input, StandardCharsets.US_ASCII, CodingErrorAction.REPORT)); + } + + @Test + public void givenTextFile_FindSuitableCandidateEncodings() { + Path path = Paths.get("src/test/resources/encoding.txt"); + List allCandidateCharSets = Arrays.asList(StandardCharsets.US_ASCII, StandardCharsets.UTF_8, StandardCharsets.ISO_8859_1); + List suitableCharsets = new ArrayList<>(); + allCandidateCharSets.forEach(charset -> { + try { + CharsetDecoder charsetDecoder = charset.newDecoder().onMalformedInput(CodingErrorAction.REPORT); + Reader reader = new InputStreamReader(newInputStream(path), charsetDecoder); + BufferedReader bufferedReader = new BufferedReader(reader); + while (bufferedReader.readLine() != null) { + } + suitableCharsets.add(charset); + } catch (MalformedInputException ignored) { + } catch (IOException ex) { + ex.printStackTrace(); + } + }); + Assertions.assertEquals(suitableCharsets, Arrays.asList(StandardCharsets.UTF_8, StandardCharsets.ISO_8859_1)); + } + } From f3537acf6b7e7e2b4d90f1a21ec9ad841dc23dae Mon Sep 17 00:00:00 2001 From: IgorNB Date: Wed, 2 Oct 2019 12:52:46 +0300 Subject: [PATCH 055/199] SemaPhoreDemo double acquire fix tryAcquire() already acquires a permit, if one is available (no need to call acquire() after it) --- .../java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java | 1 - 1 file changed, 1 deletion(-) diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java b/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java index 3a1d8555d3..211ae78c1f 100644 --- a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java +++ b/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java @@ -12,7 +12,6 @@ public class SemaPhoreDemo { System.out.println("Number of threads waiting to acquire: " + semaphore.getQueueLength()); if (semaphore.tryAcquire()) { - semaphore.acquire(); // perform some critical operations semaphore.release(); } From d2b96ee409b0cc7ce2a72e362d64d015a05f3a24 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Wed, 2 Oct 2019 17:04:11 +0200 Subject: [PATCH 056/199] #BAEL-16646 Move article [Convert String to Date in Java](http://www.baeldung.com/java-string-to-date) from libraries to java-dates-string. The code was already in java-dates (but the article still points to libraries). --- core-java-modules/core-java-datetime/java-dates-string/README.md | 1 + .../src/test/java/com/baeldung/date/StringToDateUnitTest.java | 0 libraries/README.md | 1 - 3 files changed, 1 insertion(+), 1 deletion(-) rename {java-dates => core-java-modules/core-java-datetime/java-dates-string}/src/test/java/com/baeldung/date/StringToDateUnitTest.java (100%) diff --git a/core-java-modules/core-java-datetime/java-dates-string/README.md b/core-java-modules/core-java-datetime/java-dates-string/README.md index 76c3298bd5..cf00bdeb1f 100644 --- a/core-java-modules/core-java-datetime/java-dates-string/README.md +++ b/core-java-modules/core-java-datetime/java-dates-string/README.md @@ -10,3 +10,4 @@ This module contains articles about parsing and formatting Java date and time ob - [A Guide to SimpleDateFormat](https://www.baeldung.com/java-simple-date-format) - [Display All Time Zones With GMT And UTC in Java](http://www.baeldung.com/java-time-zones) - [Convert between String and Timestamp](https://www.baeldung.com/java-string-to-timestamp) +- [Convert String to Date in Java](http://www.baeldung.com/java-string-to-date) diff --git a/java-dates/src/test/java/com/baeldung/date/StringToDateUnitTest.java b/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/StringToDateUnitTest.java similarity index 100% rename from java-dates/src/test/java/com/baeldung/date/StringToDateUnitTest.java rename to core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/StringToDateUnitTest.java diff --git a/libraries/README.md b/libraries/README.md index ebf087ccd8..45713b6b45 100644 --- a/libraries/README.md +++ b/libraries/README.md @@ -31,7 +31,6 @@ - [Publish and Receive Messages with Nats Java Client](http://www.baeldung.com/nats-java-client) - [Java Concurrency Utility with JCTools](http://www.baeldung.com/java-concurrency-jc-tools) - [Introduction to JavaPoet](http://www.baeldung.com/java-poet) -- [Convert String to Date in Java](http://www.baeldung.com/java-string-to-date) - [Guide to Resilience4j](http://www.baeldung.com/resilience4j) - [Exactly Once Processing in Kafka](https://www.baeldung.com/kafka-exactly-once) - [Implementing a FTP-Client in Java](http://www.baeldung.com/java-ftp-client) From efb631f0176e7179212c9d98d5a70a24e901ace2 Mon Sep 17 00:00:00 2001 From: IgorNB Date: Wed, 2 Oct 2019 19:55:06 +0300 Subject: [PATCH 057/199] safe semaphore.release in finally block --- .../com/baeldung/concurrent/semaphore/SemaPhoreDemo.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java b/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java index 211ae78c1f..153853a5b8 100644 --- a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java +++ b/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java @@ -11,9 +11,12 @@ public class SemaPhoreDemo { System.out.println("Available permit : " + semaphore.availablePermits()); System.out.println("Number of threads waiting to acquire: " + semaphore.getQueueLength()); - if (semaphore.tryAcquire()) { + if (semaphore.tryAcquire()) + try { // perform some critical operations - semaphore.release(); + } finally { + semaphore.release(); + } } } From 7f51ae04c015d47b3bb4bbab0500192bdde9de93 Mon Sep 17 00:00:00 2001 From: IgorNB Date: Wed, 2 Oct 2019 19:56:19 +0300 Subject: [PATCH 058/199] Update SemaPhoreDemo.java --- .../java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java b/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java index 153853a5b8..43261e5ee4 100644 --- a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java +++ b/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java @@ -11,7 +11,7 @@ public class SemaPhoreDemo { System.out.println("Available permit : " + semaphore.availablePermits()); System.out.println("Number of threads waiting to acquire: " + semaphore.getQueueLength()); - if (semaphore.tryAcquire()) + if (semaphore.tryAcquire()) { try { // perform some critical operations } finally { From 97b9b2b9a94f25fe62981c7131e640eea65f01b0 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Wed, 2 Oct 2019 22:39:08 +0200 Subject: [PATCH 059/199] #BAEL-17507 add README descriptions --- akka-http/README.md | 6 +++++- akka-streams/README.md | 4 ++++ algorithms-genetic/README.md | 6 +++++- algorithms-miscellaneous-1/README.md | 10 ++++++++-- algorithms-miscellaneous-2/README.md | 8 +++++++- algorithms-miscellaneous-3/README.md | 8 +++++++- algorithms-miscellaneous-4/README.md | 10 ++++++++-- algorithms-miscellaneous-5/README.md | 10 ++++++++-- core-java-modules/core-java-datetime/README.md | 2 +- persistence-modules/java-mongodb/README.md | 6 +++++- persistence-modules/jnosql/README.md | 4 ++++ vaadin/README.md | 6 +++++- vavr/README.md | 4 ++++ 13 files changed, 71 insertions(+), 13 deletions(-) diff --git a/akka-http/README.md b/akka-http/README.md index 3831b5079f..e34a31f381 100644 --- a/akka-http/README.md +++ b/akka-http/README.md @@ -1,3 +1,7 @@ -## Relevant articles: +## Akka HTTP + +This module contains articles about HTTP with Akka. + +### Relevant articles: - [Introduction to Akka HTTP](https://www.baeldung.com/akka-http) diff --git a/akka-streams/README.md b/akka-streams/README.md index 5f71991def..c13a31fd06 100644 --- a/akka-streams/README.md +++ b/akka-streams/README.md @@ -1,3 +1,7 @@ +## Akka Streams + +This module contains articles about streams in Akka. + ### Relevant articles - [Guide to Akka Streams](https://www.baeldung.com/akka-streams) diff --git a/algorithms-genetic/README.md b/algorithms-genetic/README.md index 124e9c09e5..1c9e831ac2 100644 --- a/algorithms-genetic/README.md +++ b/algorithms-genetic/README.md @@ -1,4 +1,8 @@ -## Relevant articles: +## Genetic Algorithms + +This module contains articles about genetic algorithms. + +### Relevant articles: - [Introduction to Jenetics Library](https://www.baeldung.com/jenetics) - [Ant Colony Optimization](https://www.baeldung.com/java-ant-colony-optimization) diff --git a/algorithms-miscellaneous-1/README.md b/algorithms-miscellaneous-1/README.md index 57f5a5d478..6a25f8cac8 100644 --- a/algorithms-miscellaneous-1/README.md +++ b/algorithms-miscellaneous-1/README.md @@ -1,4 +1,9 @@ -## Relevant articles: +## Algorithms - Miscellaneous + +This module contains articles about algorithms. Some classes of algorithms, e.g., [sorting](/../algorithms-sorting) and +[genetic algorithms](/../algorithms-genetic), have their own dedicated modules. + +### Relevant articles: - [Validating Input With Finite Automata in Java](https://www.baeldung.com/java-finite-automata) - [Example of Hill Climbing Algorithm](https://www.baeldung.com/java-hill-climbing-algorithm) @@ -6,4 +11,5 @@ - [Binary Search Algorithm in Java](https://www.baeldung.com/java-binary-search) - [Introduction to Minimax Algorithm](https://www.baeldung.com/java-minimax-algorithm) - [How to Calculate Levenshtein Distance in Java?](https://www.baeldung.com/java-levenshtein-distance) -- [How to Find the Kth Largest Element in Java](https://www.baeldung.com/java-kth-largest-element) \ No newline at end of file +- [How to Find the Kth Largest Element in Java](https://www.baeldung.com/java-kth-largest-element) +- More articles: [[next -->]](/../algorithms-miscellaneous-2) diff --git a/algorithms-miscellaneous-2/README.md b/algorithms-miscellaneous-2/README.md index 76727a1d4f..7560fc4fe7 100644 --- a/algorithms-miscellaneous-2/README.md +++ b/algorithms-miscellaneous-2/README.md @@ -1,4 +1,9 @@ -## Relevant articles: +## Algorithms - Miscellaneous + +This module contains articles about algorithms. Some classes of algorithms, e.g., [sorting](/../algorithms-sorting) and +[genetic algorithms](/../algorithms-genetic), have their own dedicated modules. + +### Relevant articles: - [Dijkstra Shortest Path Algorithm in Java](https://www.baeldung.com/java-dijkstra) - [Introduction to Cobertura](https://www.baeldung.com/cobertura) @@ -8,3 +13,4 @@ - [Create a Sudoku Solver in Java](https://www.baeldung.com/java-sudoku) - [Displaying Money Amounts in Words](https://www.baeldung.com/java-money-into-words) - [A Collaborative Filtering Recommendation System in Java](https://www.baeldung.com/java-collaborative-filtering-recommendations) +- More articles: [[<-- prev]](/../algorithms-miscellaneous-1) [[next -->]](/../algorithms-miscellaneous-3) diff --git a/algorithms-miscellaneous-3/README.md b/algorithms-miscellaneous-3/README.md index d2d73ec8a1..efb277ac04 100644 --- a/algorithms-miscellaneous-3/README.md +++ b/algorithms-miscellaneous-3/README.md @@ -1,4 +1,9 @@ -## Relevant Articles: +## Algorithms - Miscellaneous + +This module contains articles about algorithms. Some classes of algorithms, e.g., [sorting](/../algorithms-sorting) and +[genetic algorithms](/../algorithms-genetic), have their own dedicated modules. + +### Relevant articles: - [Java Two Pointer Technique](https://www.baeldung.com/java-two-pointer-technique) - [Implementing Simple State Machines with Java Enums](https://www.baeldung.com/java-enum-simple-state-machine) @@ -9,3 +14,4 @@ - [A Guide to the Folding Technique in Java](https://www.baeldung.com/folding-hashing-technique) - [Creating a Triangle with for Loops in Java](https://www.baeldung.com/java-print-triangle) - [Efficient Word Frequency Calculator in Java](https://www.baeldung.com/java-word-frequency) +- More articles: [[<-- prev]](/../algorithms-miscellaneous-2) [[next -->]](/../algorithms-miscellaneous-4) diff --git a/algorithms-miscellaneous-4/README.md b/algorithms-miscellaneous-4/README.md index fabb4d29b8..6aad9a43e4 100644 --- a/algorithms-miscellaneous-4/README.md +++ b/algorithms-miscellaneous-4/README.md @@ -1,4 +1,9 @@ -## Relevant articles: +## Algorithms - Miscellaneous + +This module contains articles about algorithms. Some classes of algorithms, e.g., [sorting](/../algorithms-sorting) and +[genetic algorithms](/../algorithms-genetic), have their own dedicated modules. + +### Relevant articles: - [Multi-Swarm Optimization Algorithm in Java](https://www.baeldung.com/java-multi-swarm-algorithm) - [String Search Algorithms for Large Texts](https://www.baeldung.com/java-full-text-search-algorithms) @@ -6,4 +11,5 @@ - [Find the Middle Element of a Linked List](https://www.baeldung.com/java-linked-list-middle-element) - [Find Substrings That Are Palindromes in Java](https://www.baeldung.com/java-palindrome-substrings) - [Find the Longest Substring without Repeating Characters](https://www.baeldung.com/java-longest-substring-without-repeated-characters) -- [Permutations of an Array in Java](https://www.baeldung.com/java-array-permutations) \ No newline at end of file +- [Permutations of an Array in Java](https://www.baeldung.com/java-array-permutations) +- More articles: [[<-- prev]](/../algorithms-miscellaneous-3) [[next -->]](/../algorithms-miscellaneous-5) diff --git a/algorithms-miscellaneous-5/README.md b/algorithms-miscellaneous-5/README.md index 7ed71e61cc..7a8f2e0a36 100644 --- a/algorithms-miscellaneous-5/README.md +++ b/algorithms-miscellaneous-5/README.md @@ -1,5 +1,11 @@ -## Relevant articles: +## Algorithms - Miscellaneous + +This module contains articles about algorithms. Some classes of algorithms, e.g., [sorting](/../algorithms-sorting) and +[genetic algorithms](/../algorithms-genetic), have their own dedicated modules. + +### Relevant articles: - [Converting Between Byte Arrays and Hexadecimal Strings in Java](https://www.baeldung.com/java-byte-arrays-hex-strings) - [Reversing a Binary Tree in Java](https://www.baeldung.com/java-reversing-a-binary-tree) -- [Find If Two Numbers Are Relatively Prime in Java](https://www.baeldung.com/java-two-relatively-prime-numbers) \ No newline at end of file +- [Find If Two Numbers Are Relatively Prime in Java](https://www.baeldung.com/java-two-relatively-prime-numbers) +- More articles: [[<-- prev]](/../algorithms-miscellaneous-4) diff --git a/core-java-modules/core-java-datetime/README.md b/core-java-modules/core-java-datetime/README.md index 71aea2e9db..a576367623 100644 --- a/core-java-modules/core-java-datetime/README.md +++ b/core-java-modules/core-java-datetime/README.md @@ -4,4 +4,4 @@ ### Relevant Articles: - [Set the Time Zone of a Date in Java](https://www.baeldung.com/java-set-date-time-zone) -- [Overriding System Time for Testing in Java](https://www.baeldung.com/java-override-system-time) \ No newline at end of file +- [Overriding System Time for Testing in Java](https://www.baeldung.com/java-override-system-time) diff --git a/persistence-modules/java-mongodb/README.md b/persistence-modules/java-mongodb/README.md index f1542e3ee9..41d0ad63f8 100644 --- a/persistence-modules/java-mongodb/README.md +++ b/persistence-modules/java-mongodb/README.md @@ -1,4 +1,8 @@ -## Relevant articles: +## MongoDB + +This module contains articles about MongoDB in Java. + +### Relevant articles: - [A Guide to MongoDB with Java](http://www.baeldung.com/java-mongodb) - [A Simple Tagging Implementation with MongoDB](http://www.baeldung.com/mongodb-tagging) diff --git a/persistence-modules/jnosql/README.md b/persistence-modules/jnosql/README.md index d580cbc920..cb126914e9 100644 --- a/persistence-modules/jnosql/README.md +++ b/persistence-modules/jnosql/README.md @@ -1,2 +1,6 @@ +## JNoSQL + +This module contains articles about JNoSQL. + ### Relevant Articles: - [A Guide to Eclipse JNoSQL](http://www.baeldung.com/eclipse-jnosql) diff --git a/vaadin/README.md b/vaadin/README.md index 1d570d1f58..92ee8b938e 100644 --- a/vaadin/README.md +++ b/vaadin/README.md @@ -1,4 +1,8 @@ -## Relevant articles: +## Vaadin + +This module contains articles about Vaadin. + +### Relevant articles: - [Introduction to Vaadin](https://www.baeldung.com/vaadin) - [Sample Application with Spring Boot and Vaadin](https://www.baeldung.com/spring-boot-vaadin) diff --git a/vavr/README.md b/vavr/README.md index 6832f78a62..2b8bb25356 100644 --- a/vavr/README.md +++ b/vavr/README.md @@ -1,3 +1,7 @@ +## Vavr + +This module contains articles about Vavr. + ### Relevant Articles: - [Introduction to Vavr](https://www.baeldung.com/vavr) - [Guide to Try in Vavr](https://www.baeldung.com/vavr-try) From 06fd2119b5604076c90bb173da87608affeb262a Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Thu, 3 Oct 2019 13:37:26 +0200 Subject: [PATCH 060/199] #BAEL-17522 add README descriptions --- jmh/README.md | 6 +++++- jni/README.md | 3 +++ jooby/README.md | 6 +++++- jsf/README.md | 4 ++++ json-path/README.md | 6 +++++- json/README.md | 4 ++-- jsoup/README.md | 4 ++-- jta/README.md | 4 ++++ kotlin-js/README.md | 4 ++++ kotlin-libraries-2/README.md | 7 ++++++- kotlin-libraries/README.md | 7 ++++++- 11 files changed, 46 insertions(+), 9 deletions(-) diff --git a/jmh/README.md b/jmh/README.md index 6876615328..257bb7bf85 100644 --- a/jmh/README.md +++ b/jmh/README.md @@ -1,4 +1,8 @@ -## Relevant articles: +## Java Microbenchmark Harness + +This module contains articles about JMH (the Java Microbenchmark Harness). + +### Relevant articles: - [Microbenchmarking with Java](https://www.baeldung.com/java-microbenchmark-harness) diff --git a/jni/README.md b/jni/README.md index daaeb7819f..e65b89ca8a 100644 --- a/jni/README.md +++ b/jni/README.md @@ -1,3 +1,6 @@ +## JNI + +This module contains articles about JNI (the Java Native Interface). ### Relevant Articles: diff --git a/jooby/README.md b/jooby/README.md index bf8c580633..a2fe1985ba 100644 --- a/jooby/README.md +++ b/jooby/README.md @@ -1,3 +1,7 @@ -## Relevant articles: +## Jooby + +This module contains articles about Jooby. + +### Relevant articles: - [Introduction to Jooby](https://www.baeldung.com/jooby) diff --git a/jsf/README.md b/jsf/README.md index 65735cc406..c82268c14b 100644 --- a/jsf/README.md +++ b/jsf/README.md @@ -1,3 +1,7 @@ +## JSF + +This module contains articles about JSF (JavaServer Faces). + ### Relevant Articles: - [Guide to JSF Expression Language 3.0](https://www.baeldung.com/jsf-expression-language-el-3) - [Introduction to JSF EL 2](https://www.baeldung.com/intro-to-jsf-expression-language) diff --git a/json-path/README.md b/json-path/README.md index 41cc72a842..e3f81e827b 100644 --- a/json-path/README.md +++ b/json-path/README.md @@ -1,4 +1,8 @@ -## Relevant articles: +## JsonPath + +This module contains articles about JsonPath. + +### Relevant articles: - [Introduction to JsonPath](https://www.baeldung.com/guide-to-jayway-jsonpath) - [Count with JsonPath](https://www.baeldung.com/jsonpath-count) diff --git a/json/README.md b/json/README.md index 96acedd0b1..0e50dcfddb 100644 --- a/json/README.md +++ b/json/README.md @@ -1,6 +1,6 @@ -========= +## JSON -## Fast-Json +This module contains articles about JSON. ### Relevant Articles: - [Introduction to JSON Schema in Java](https://www.baeldung.com/introduction-to-json-schema-in-java) diff --git a/jsoup/README.md b/jsoup/README.md index 7624ce77bf..271d04194d 100644 --- a/jsoup/README.md +++ b/jsoup/README.md @@ -1,6 +1,6 @@ -========= +## jsoup -## jsoup Example Project +This module contains articles about jsoup. ### Relevant Articles: - [Parsing HTML in Java with Jsoup](https://www.baeldung.com/java-with-jsoup) diff --git a/jta/README.md b/jta/README.md index 445a291c8f..862c9e620a 100644 --- a/jta/README.md +++ b/jta/README.md @@ -1,2 +1,6 @@ +## JTA + +This module contains articles about JTA. + ### Relevant Articles: - [Guide to Java EE JTA](https://www.baeldung.com/jee-jta) diff --git a/kotlin-js/README.md b/kotlin-js/README.md index 84d0c70427..2ec50bad78 100644 --- a/kotlin-js/README.md +++ b/kotlin-js/README.md @@ -1,3 +1,7 @@ +## JavaScript in Kotlin + +This module contains articles about JavaScript in Kotlin. + ### Relevant Articles: - [Kotlin and Javascript](https://www.baeldung.com/kotlin-javascript) diff --git a/kotlin-libraries-2/README.md b/kotlin-libraries-2/README.md index 0b9f238d51..188f99dc16 100644 --- a/kotlin-libraries-2/README.md +++ b/kotlin-libraries-2/README.md @@ -1,4 +1,9 @@ -## Relevant articles: +## Kotlin Libraries + +This module contains articles about Kotlin Libraries. + +### Relevant articles: - [Jackson Support for Kotlin](https://www.baeldung.com/jackson-kotlin) - [Introduction to RxKotlin](https://www.baeldung.com/rxkotlin) +- More articles: [[<-- prev]](/kotlin-libraries) diff --git a/kotlin-libraries/README.md b/kotlin-libraries/README.md index 6ad90c1cd2..e4b0a35d28 100644 --- a/kotlin-libraries/README.md +++ b/kotlin-libraries/README.md @@ -1,4 +1,8 @@ -## Relevant articles: +## Kotlin Libraries + +This module contains articles about Kotlin Libraries. + +### Relevant articles: - [Kotlin with Mockito](https://www.baeldung.com/kotlin-mockito) - [HTTP Requests with Kotlin and khttp](https://www.baeldung.com/kotlin-khttp) @@ -12,3 +16,4 @@ - [REST API With Kotlin and Kovert](https://www.baeldung.com/kotlin-kovert) - [MockK: A Mocking Library for Kotlin](https://www.baeldung.com/kotlin-mockk) - [Kotlin Immutable Collections](https://www.baeldung.com/kotlin-immutable-collections) +- More articles: [[next -->]](/kotlin-libraries-2) From 4e07b7f7e7864d966ffd9f50f5b4b66d1daf6a02 Mon Sep 17 00:00:00 2001 From: Sjmillington Date: Sun, 29 Sep 2019 16:36:24 +0100 Subject: [PATCH 061/199] [BAEL-17476] Add README descriptions - 20 --- persistence-modules/spring-hibernate4/README.md | 5 +++-- persistence-modules/spring-mybatis/README.md | 6 +++++- spring-remoting/remoting-hessian-burlap/README.md | 5 ++++- spring-remoting/remoting-http/README.md | 8 ++++++++ spring-remoting/remoting-jms/README.md | 8 ++++++++ spring-remoting/remoting-rmi/README.md | 7 +++++++ spring-security-thymeleaf/{README.MD => README.md} | 0 7 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 spring-remoting/remoting-http/README.md create mode 100644 spring-remoting/remoting-jms/README.md create mode 100644 spring-remoting/remoting-rmi/README.md rename spring-security-thymeleaf/{README.MD => README.md} (100%) diff --git a/persistence-modules/spring-hibernate4/README.md b/persistence-modules/spring-hibernate4/README.md index 020e867c82..c9e2b5abfc 100644 --- a/persistence-modules/spring-hibernate4/README.md +++ b/persistence-modules/spring-hibernate4/README.md @@ -1,6 +1,6 @@ -========= +## Spring with Hibernate 4 -## Spring with Hibernate 4 Example Project +This module contains articles about Spring with Hibernate 4 ### Relevant Articles: - [Guide to Hibernate 4 with Spring](http://www.baeldung.com/hibernate-4-spring) @@ -20,5 +20,6 @@ cd REST mvn install mvn cargo:run ``` + - **note**: starts on port `8082` diff --git a/persistence-modules/spring-mybatis/README.md b/persistence-modules/spring-mybatis/README.md index 5be328285f..b88fd1c672 100644 --- a/persistence-modules/spring-mybatis/README.md +++ b/persistence-modules/spring-mybatis/README.md @@ -1,3 +1,7 @@ -##Relevant Articles +## Spring MyBatis + +This module contains articles about Spring with MyBatis + +## Relevant Articles - [MyBatis with Spring](https://www.baeldung.com/spring-mybatis) diff --git a/spring-remoting/remoting-hessian-burlap/README.md b/spring-remoting/remoting-hessian-burlap/README.md index bf90c9676f..cacceddc5a 100644 --- a/spring-remoting/remoting-hessian-burlap/README.md +++ b/spring-remoting/remoting-hessian-burlap/README.md @@ -1,6 +1,9 @@ -## Spring Remoting with Hessian and Burlap Tutorial +## Spring Remoting with Hessian and Burlap + +This module contains articles about Spring Remoting with Hessian and Burlap ### Relevant Articles + - [Spring Remoting with Hessian and Burlap](http://www.baeldung.com/spring-remoting-hessian-burlap) ### Overview diff --git a/spring-remoting/remoting-http/README.md b/spring-remoting/remoting-http/README.md new file mode 100644 index 0000000000..7e30d07a0a --- /dev/null +++ b/spring-remoting/remoting-http/README.md @@ -0,0 +1,8 @@ +## Remoting HTTP + +This module contains articles about Spring Remoting with HTTP + +### Relevant Articles: + +- [Intro to Spring Remoting with HTTP Invokers](https://www.baeldung.com/spring-remoting-http-invoker) + diff --git a/spring-remoting/remoting-jms/README.md b/spring-remoting/remoting-jms/README.md new file mode 100644 index 0000000000..2f48a8f57f --- /dev/null +++ b/spring-remoting/remoting-jms/README.md @@ -0,0 +1,8 @@ +## Remoting JMS + +This module contains articles about Spring Remoting with Java Message Service (JMS) + +### Relevant Articles: + +- [Spring Remoting with JMS and ActiveMQ](https://www.baeldung.com/spring-remoting-jms) + diff --git a/spring-remoting/remoting-rmi/README.md b/spring-remoting/remoting-rmi/README.md new file mode 100644 index 0000000000..082b5c37ed --- /dev/null +++ b/spring-remoting/remoting-rmi/README.md @@ -0,0 +1,7 @@ +## Remoting RMI + +This module contains articles about Spring Remoting with Remote Method Invocation (RMI) + +### Relevant Articles: + +- [Spring Remoting with RMI](https://www.baeldung.com/spring-remoting-rmi) \ No newline at end of file diff --git a/spring-security-thymeleaf/README.MD b/spring-security-thymeleaf/README.md similarity index 100% rename from spring-security-thymeleaf/README.MD rename to spring-security-thymeleaf/README.md From c7174343bf9f3d51fdff589bd08170671ed73b71 Mon Sep 17 00:00:00 2001 From: caroline Date: Thu, 3 Oct 2019 22:52:34 +0200 Subject: [PATCH 062/199] Removing null checks as suggested by editor for BAEL-3083 --- .../java/com/baeldung/findastring/FindAStringInGivenList.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java index 816b87dc86..67c62fe009 100644 --- a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java +++ b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java @@ -17,7 +17,7 @@ public class FindAStringInGivenList { List matches = new ArrayList(); - String pattern = ".*\\b"+search+"\\b.*"; + String pattern = ".*"+search+".*"; Pattern p = Pattern.compile(pattern); for(String str: list) { From 779ae2f7a3134f2cc7d26761e790bad295956408 Mon Sep 17 00:00:00 2001 From: maryarm Date: Fri, 4 Oct 2019 15:44:46 +0330 Subject: [PATCH 063/199] #BAEL-3228: Unit tests for Transaction Propagation and Isolation in Spring @Transactional --- .../FooTransactionalUnitTest.java | 250 ++++++++++++++++++ .../PersistenceTransactionalTestConfig.java | 148 +++++++++++ 2 files changed, 398 insertions(+) create mode 100644 persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/persistence/service/transactional/FooTransactionalUnitTest.java create mode 100644 persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/persistence/service/transactional/PersistenceTransactionalTestConfig.java diff --git a/persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/persistence/service/transactional/FooTransactionalUnitTest.java b/persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/persistence/service/transactional/FooTransactionalUnitTest.java new file mode 100644 index 0000000000..6f2a499bc5 --- /dev/null +++ b/persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/persistence/service/transactional/FooTransactionalUnitTest.java @@ -0,0 +1,250 @@ +package com.baeldung.persistence.service.transactional; + +import com.baeldung.persistence.model.Foo; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; +import org.junit.After; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; +import org.springframework.stereotype.Service; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.support.AnnotationConfigContextLoader; +import org.springframework.transaction.IllegalTransactionStateException; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.support.TransactionTemplate; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(classes = { PersistenceTransactionalTestConfig.class }, loader = AnnotationConfigContextLoader.class) +@DirtiesContext +public class FooTransactionalUnitTest { + + static abstract class BasicFooDao { + @PersistenceContext private EntityManager entityManager; + + public Foo findOne(final long id) { + return entityManager.find(Foo.class, id); + } + + public Foo create(final Foo entity) { + entityManager.persist(entity); + return entity; + } + } + + @Repository + static class RequiredTransactionalFooDao extends BasicFooDao { + @Override + @Transactional(propagation = Propagation.REQUIRED) + public Foo create(Foo entity) { + return super.create(entity); + } + } + + @Repository + static class RequiresNewTransactionalFooDao extends BasicFooDao { + @Override + @Transactional(propagation = Propagation.REQUIRES_NEW) + public Foo create(Foo entity) { + return super.create(entity); + } + } + + @Repository + static class SupportTransactionalFooDao extends BasicFooDao { + @Override + @Transactional(propagation = Propagation.SUPPORTS) + public Foo create(Foo entity) { + return super.create(entity); + } + } + + @Repository + static class MandatoryTransactionalFooDao extends BasicFooDao { + @Override + @Transactional(propagation = Propagation.MANDATORY) + public Foo create(Foo entity) { + return super.create(entity); + } + } + + @Repository + static class SupportTransactionalFooService { + @Transactional(propagation = Propagation.SUPPORTS) + public Foo identity(Foo entity) { + return entity; + } + } + + @Service + static class MandatoryTransactionalFooService { + @Transactional(propagation = Propagation.MANDATORY) + public Foo identity(Foo entity) { + return entity; + } + } + + @Service + static class NotSupportedTransactionalFooService { + @Transactional(propagation = Propagation.NOT_SUPPORTED) + public Foo identity(Foo entity) { + return entity; + } + } + + @Service + static class NeverTransactionalFooService { + @Transactional(propagation = Propagation.NEVER) + public Foo identity(Foo entity) { + return entity; + } + } + + @Autowired private TransactionTemplate transactionTemplate; + + @Autowired private RequiredTransactionalFooDao requiredTransactionalFooDao; + + @Autowired private RequiresNewTransactionalFooDao requiresNewTransactionalFooDao; + + @Autowired private SupportTransactionalFooDao supportTransactionalFooDao; + + @Autowired private MandatoryTransactionalFooDao mandatoryTransactionalFooDao; + + @Autowired private MandatoryTransactionalFooService mandatoryTransactionalFooService; + + @Autowired private NeverTransactionalFooService neverTransactionalFooService; + + @Autowired private NotSupportedTransactionalFooService notSupportedTransactionalFooService; + + @Autowired private SupportTransactionalFooService supportTransactionalFooService; + + @After + public void tearDown(){ + PersistenceTransactionalTestConfig.clearSpy(); + } + + @Test + public void givenRequiredWithNoActiveTransaction_whenCallCreate_thenExpect1NewAnd0Suspend() { + requiredTransactionalFooDao.create(new Foo("baeldung")); + PersistenceTransactionalTestConfig.TransactionSynchronizationAdapterSpy transactionSpy = PersistenceTransactionalTestConfig.getSpy(); + Assert.assertEquals(0, transactionSpy.getSuspend()); + Assert.assertEquals(1, transactionSpy.getCreate()); + } + + + + @Test + public void givenRequiresNewWithNoActiveTransaction_whenCallCreate_thenExpect1NewAnd0Suspend() { + requiresNewTransactionalFooDao.create(new Foo("baeldung")); + PersistenceTransactionalTestConfig.TransactionSynchronizationAdapterSpy transactionSpy = PersistenceTransactionalTestConfig.getSpy(); + Assert.assertEquals(0, transactionSpy.getSuspend()); + Assert.assertEquals(1, transactionSpy.getCreate()); + } + + @Test + public void givenSupportWithNoActiveTransaction_whenCallService_thenExpect0NewAnd0Suspend() { + supportTransactionalFooService.identity(new Foo("baeldung")); + PersistenceTransactionalTestConfig.TransactionSynchronizationAdapterSpy transactionSpy = PersistenceTransactionalTestConfig.getSpy(); + Assert.assertEquals(0, transactionSpy.getSuspend()); + Assert.assertEquals(0, transactionSpy.getCreate()); + } + + @Test(expected = IllegalTransactionStateException.class) + public void givenMandatoryWithNoActiveTransaction_whenCallService_thenExpectIllegalTransactionStateExceptionWith0NewAnd0Suspend() { + mandatoryTransactionalFooService.identity(new Foo("baeldung")); + PersistenceTransactionalTestConfig.TransactionSynchronizationAdapterSpy transactionSpy = PersistenceTransactionalTestConfig.getSpy(); + Assert.assertEquals(0, transactionSpy.getSuspend()); + Assert.assertEquals(0, transactionSpy.getCreate()); + } + + @Test + public void givenNotSupportWithNoActiveTransaction_whenCallService_thenExpect0NewAnd0Suspend() { + notSupportedTransactionalFooService.identity(new Foo("baeldung")); + PersistenceTransactionalTestConfig.TransactionSynchronizationAdapterSpy transactionSpy = PersistenceTransactionalTestConfig.getSpy(); + Assert.assertEquals(0, transactionSpy.getSuspend()); + Assert.assertEquals(0, transactionSpy.getCreate()); + } + + @Test + public void givenNeverWithNoActiveTransaction_whenCallService_thenExpect0NewAnd0Suspend() { + neverTransactionalFooService.identity(new Foo("baeldung")); + PersistenceTransactionalTestConfig.TransactionSynchronizationAdapterSpy transactionSpy = PersistenceTransactionalTestConfig.getSpy(); + Assert.assertEquals(0, transactionSpy.getSuspend()); + Assert.assertEquals(0, transactionSpy.getCreate()); + } + + @Test + public void givenRequiredWithActiveTransaction_whenCallCreate_thenExpect0NewAnd0Suspend() { + transactionTemplate.execute(status -> { + Foo foo = new Foo("baeldung"); + return requiredTransactionalFooDao.create(foo); + }); + PersistenceTransactionalTestConfig.TransactionSynchronizationAdapterSpy transactionSpy = PersistenceTransactionalTestConfig.getSpy(); + Assert.assertEquals(0, transactionSpy.getSuspend()); + Assert.assertEquals(1, transactionSpy.getCreate()); + } + + @Test + public void givenRequiresNewWithActiveTransaction_whenCallCreate_thenExpect1NewAnd1Suspend() { + transactionTemplate.execute(status -> { + Foo foo = new Foo("baeldung"); + return requiresNewTransactionalFooDao.create(foo); + }); + PersistenceTransactionalTestConfig.TransactionSynchronizationAdapterSpy transactionSpy = PersistenceTransactionalTestConfig.getSpy(); + Assert.assertEquals(1, transactionSpy.getSuspend()); + Assert.assertEquals(2, transactionSpy.getCreate()); + } + + @Test + public void givenSupportWithActiveTransaction_whenCallCreate_thenExpect0NewAnd0Suspend() { + transactionTemplate.execute(status -> { + Foo foo = new Foo("baeldung"); + return supportTransactionalFooDao.create(foo); + }); + PersistenceTransactionalTestConfig.TransactionSynchronizationAdapterSpy transactionSpy = PersistenceTransactionalTestConfig.getSpy(); + Assert.assertEquals(0, transactionSpy.getSuspend()); + Assert.assertEquals(1, transactionSpy.getCreate()); + } + + @Test + public void givenMandatoryWithActiveTransaction_whenCallCreate_thenExpect0NewAnd0Suspend() { + + transactionTemplate.execute(status -> { + Foo foo = new Foo("baeldung"); + return mandatoryTransactionalFooDao.create(foo); + }); + + PersistenceTransactionalTestConfig.TransactionSynchronizationAdapterSpy transactionSpy = PersistenceTransactionalTestConfig.getSpy(); + Assert.assertEquals(0, transactionSpy.getSuspend()); + Assert.assertEquals(1, transactionSpy.getCreate()); + } + + @Test + public void givenNotSupportWithActiveTransaction_whenCallCreate_thenExpect0NewAnd1Suspend() { + transactionTemplate.execute(status -> { + Foo foo = new Foo("baeldung"); + return notSupportedTransactionalFooService.identity(foo); + }); + + PersistenceTransactionalTestConfig.TransactionSynchronizationAdapterSpy transactionSpy = PersistenceTransactionalTestConfig.getSpy(); + Assert.assertEquals(1, transactionSpy.getSuspend()); + Assert.assertEquals(1, transactionSpy.getCreate()); + } + + @Test(expected = IllegalTransactionStateException.class) + public void givenNeverWithActiveTransaction_whenCallCreate_thenExpectIllegalTransactionStateExceptionWith0NewAnd0Suspend() { + transactionTemplate.execute(status -> { + Foo foo = new Foo("baeldung"); + return neverTransactionalFooService.identity(foo); + }); + PersistenceTransactionalTestConfig.TransactionSynchronizationAdapterSpy transactionSpy = PersistenceTransactionalTestConfig.getSpy(); + Assert.assertEquals(0, transactionSpy.getSuspend()); + Assert.assertEquals(1, transactionSpy.getCreate()); + } + +} diff --git a/persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/persistence/service/transactional/PersistenceTransactionalTestConfig.java b/persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/persistence/service/transactional/PersistenceTransactionalTestConfig.java new file mode 100644 index 0000000000..fde1857ca2 --- /dev/null +++ b/persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/persistence/service/transactional/PersistenceTransactionalTestConfig.java @@ -0,0 +1,148 @@ +package com.baeldung.persistence.service.transactional; + +import com.google.common.base.Preconditions; +import java.util.Properties; +import javax.persistence.EntityManagerFactory; +import javax.sql.DataSource; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.PropertySource; +import org.springframework.core.env.Environment; +import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; +import org.springframework.jdbc.datasource.DriverManagerDataSource; +import org.springframework.orm.jpa.JpaTransactionManager; +import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; +import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.TransactionDefinition; +import org.springframework.transaction.annotation.EnableTransactionManagement; +import org.springframework.transaction.support.DefaultTransactionStatus; +import org.springframework.transaction.support.TransactionSynchronizationAdapter; +import org.springframework.transaction.support.TransactionSynchronizationManager; +import org.springframework.transaction.support.TransactionTemplate; + +@Configuration +@EnableTransactionManagement +@PropertySource({ "classpath:persistence-h2.properties" }) +@ComponentScan({ "com.baeldung.persistence","com.baeldung.jpa.dao" }) +@EnableJpaRepositories(basePackages = "com.baeldung.jpa.dao") +public class PersistenceTransactionalTestConfig { + + public static class TransactionSynchronizationAdapterSpy extends TransactionSynchronizationAdapter { + private int create, suspend; + + public int getSuspend() { + return suspend; + } + + public int getCreate() { + return create; + } + + public void create() { + create++; + } + + @Override + public void suspend() { + suspend++; + super.suspend(); + } + } + + + public static class JpaTransactionManagerSpy extends JpaTransactionManager { + @Override + protected void prepareSynchronization(DefaultTransactionStatus status, TransactionDefinition definition) { + super.prepareSynchronization(status, definition); + if (status.isNewTransaction()) { + if ( adapterSpyThreadLocal.get() == null ){ + TransactionSynchronizationAdapterSpy spy = new TransactionSynchronizationAdapterSpy(); + TransactionSynchronizationManager.registerSynchronization(spy); + adapterSpyThreadLocal.set(spy); + } + adapterSpyThreadLocal.get().create(); + } + } + } + + private static ThreadLocal adapterSpyThreadLocal = new ThreadLocal<>(); + + @Autowired + private Environment env; + + public PersistenceTransactionalTestConfig() { + super(); + } + + public static TransactionSynchronizationAdapterSpy getSpy(){ + if ( adapterSpyThreadLocal.get() == null ) + return new TransactionSynchronizationAdapterSpy(); + return adapterSpyThreadLocal.get(); + } + + public static void clearSpy(){ + adapterSpyThreadLocal.set(null); + } + + // beans + + @Bean + public LocalContainerEntityManagerFactoryBean entityManagerFactoryBean() { + final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); + em.setDataSource(dataSource()); + em.setPackagesToScan(new String[] { "com.baeldung.persistence.model" }); + + final HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); + em.setJpaVendorAdapter(vendorAdapter); + em.setJpaProperties(additionalProperties()); + + return em; + } + + @Bean + public DataSource dataSource() { + final DriverManagerDataSource dataSource = new DriverManagerDataSource(); + dataSource.setDriverClassName(Preconditions.checkNotNull(env.getProperty("jdbc.driverClassName"))); + dataSource.setUrl(Preconditions.checkNotNull(env.getProperty("jdbc.url"))); + dataSource.setUsername(Preconditions.checkNotNull(env.getProperty("jdbc.user"))); + dataSource.setPassword(Preconditions.checkNotNull(env.getProperty("jdbc.pass"))); + + return dataSource; + } + + + + @Bean + public PlatformTransactionManager transactionManager(final EntityManagerFactory emf) { + final JpaTransactionManagerSpy transactionManager = new JpaTransactionManagerSpy(); + transactionManager.setEntityManagerFactory(emf); + return transactionManager; + } + + @Bean + public PersistenceExceptionTranslationPostProcessor exceptionTranslation() { + return new PersistenceExceptionTranslationPostProcessor(); + } + + final Properties additionalProperties() { + final Properties hibernateProperties = new Properties(); + hibernateProperties.setProperty("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto")); + hibernateProperties.setProperty("hibernate.dialect", env.getProperty("hibernate.dialect")); + hibernateProperties.setProperty("hibernate.cache.use_second_level_cache", "false"); + return hibernateProperties; + } + + + @Bean + public TransactionTemplate transactionTemplate(PlatformTransactionManager transactionManager){ + TransactionTemplate template = new TransactionTemplate(transactionManager); + template.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); + return template; + } + + +} \ No newline at end of file From 1b5d8a6b62e429e7c72db8b7fb4536fac5232b84 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Fri, 4 Oct 2019 21:47:42 +0200 Subject: [PATCH 064/199] #BAEL-16646 flatten java-datetime modules --- .../.gitignore | 0 .../README.md | 0 .../pom.xml | 0 .../DateToLocalDateConverter.java | 0 .../DateToLocalDateTimeConverter.java | 0 .../LocalDateTimeToDateConverter.java | 0 .../LocalDateToDateConverter.java | 0 .../convert/ConvertDateTimeUnitTest.java | 0 .../ConvertInstantToTimestampUnitTest.java | 0 .../DateToLocalDateConverterUnitTest.java | 0 .../DateToLocalDateTimeConverterUnitTest.java | 0 .../LocalDateTimeToDateConverterUnitTest.java | 0 .../LocalDateToDateConverterUnitTest.java | 0 ...XmlGregorianCalendarConverterUnitTest.java | 0 .../.gitignore | 0 .../README.md | 0 .../pom.xml | 0 .../date/validation/DateValidator.java | 0 .../DateValidatorUsingApacheValidator.java | 0 .../DateValidatorUsingDateFormat.java | 0 .../DateValidatorUsingDateTimeFormatter.java | 0 .../DateValidatorUsingLocalDate.java | 0 .../regexp/datepattern/DateMatcher.java | 0 .../datepattern/FormattedDateMatcher.java | 0 .../regexp/datepattern/RangedDateMatcher.java | 0 .../gregorian/February29thMatcher.java | 0 .../gregorian/FebruaryGeneralMatcher.java | 0 .../gregorian/GregorianDateMatcher.java | 0 .../gregorian/MonthsOf30DaysMatcher.java | 0 .../gregorian/MonthsOf31DaysMatcher.java | 0 .../optmization/OptimizedMatcher.java | 0 .../timezonedisplay/TimezoneDisplay.java | 0 .../timezonedisplay/TimezoneDisplayApp.java | 0 .../timezonedisplay/TimezoneDisplayJava7.java | 0 .../TimezoneDisplayJava7App.java | 0 .../zonedatetime/OffsetDateTimeExample.java | 0 .../zonedatetime/OffsetTimeExample.java | 0 .../zonedatetime/ZoneDateTimeExample.java | 0 .../baeldung/date/StringToDateUnitTest.java | 0 ...ValidatorUsingApacheValidatorUnitTest.java | 0 .../DateValidatorUsingDateFormatUnitTest.java | 0 ...lidatorUsingDateTimeFormatterUnitTest.java | 0 .../DateValidatorUsingLocalDateUnitTest.java | 0 .../datetime/DateTimeFormatterUnitTest.java | 0 .../FormattedDateMatcherUnitTest.java | 0 .../RangedDateMatcherUnitTest.java | 0 .../February29thMatcherUnitTest.java | 0 .../FebruaryGeneralMatcherUnitTest.java | 0 .../GregorianDateMatcherUnitTest.java | 0 .../MonthsOf30DaysMatcherUnitTest.java | 0 .../MonthsOf31DaysMatcherUnitTest.java | 0 .../testhelper/GregorianDateTestHelper.java | 0 .../SimpleDateFormatUnitTest.java | 0 .../StringToTimestampConverterUnitTest.java | 0 .../TimestampToStringConverterTest.java | 0 .../OffsetDateTimeExampleUnitTest.java | 0 .../OffsetTimeExampleUnitTest.java | 0 .../ZoneDateTimeExampleUnitTest.java | 0 .../zonedatetime/ZonedDateTimeUnitTest.java | 0 .../core-java-datetime/README.md | 3 --- core-java-modules/core-java-datetime/pom.xml | 23 ------------------- core-java-modules/pom.xml | 2 ++ 62 files changed, 2 insertions(+), 26 deletions(-) rename core-java-modules/{core-java-datetime/java-dates-conversion => core-java-datetime-conversion}/.gitignore (100%) rename core-java-modules/{core-java-datetime/java-dates-conversion => core-java-datetime-conversion}/README.md (100%) rename core-java-modules/{core-java-datetime/java-dates-conversion => core-java-datetime-conversion}/pom.xml (100%) rename core-java-modules/{core-java-datetime/java-dates-conversion => core-java-datetime-conversion}/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java (100%) rename core-java-modules/{core-java-datetime/java-dates-conversion => core-java-datetime-conversion}/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java (100%) rename core-java-modules/{core-java-datetime/java-dates-conversion => core-java-datetime-conversion}/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java (100%) rename core-java-modules/{core-java-datetime/java-dates-conversion => core-java-datetime-conversion}/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java (100%) rename core-java-modules/{core-java-datetime/java-dates-conversion => core-java-datetime-conversion}/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-conversion => core-java-datetime-conversion}/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-conversion => core-java-datetime-conversion}/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-conversion => core-java-datetime-conversion}/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-conversion => core-java-datetime-conversion}/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-conversion => core-java-datetime-conversion}/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-conversion => core-java-datetime-conversion}/src/test/java/com/baeldung/xmlgregoriancalendar/XmlGregorianCalendarConverterUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/.gitignore (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/README.md (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/pom.xml (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/date/validation/DateValidator.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/date/validation/DateValidatorUsingApacheValidator.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateFormat.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatter.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/date/validation/DateValidatorUsingLocalDate.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayApp.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7App.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/zonedatetime/OffsetDateTimeExample.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/zonedatetime/OffsetTimeExample.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/main/java/com/baeldung/zonedatetime/ZoneDateTimeExample.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/date/StringToDateUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/date/validation/DateValidatorUsingApacheValidatorUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateFormatUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatterUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/date/validation/DateValidatorUsingLocalDateUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/datetime/DateTimeFormatterUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/simpledateformat/SimpleDateFormatUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/timestamp/StringToTimestampConverterUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/timestamp/TimestampToStringConverterTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/zonedatetime/OffsetDateTimeExampleUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/zonedatetime/OffsetTimeExampleUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/zonedatetime/ZoneDateTimeExampleUnitTest.java (100%) rename core-java-modules/{core-java-datetime/java-dates-string => core-java-datetime-string}/src/test/java/com/baeldung/zonedatetime/ZonedDateTimeUnitTest.java (100%) delete mode 100644 core-java-modules/core-java-datetime/README.md delete mode 100644 core-java-modules/core-java-datetime/pom.xml diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/.gitignore b/core-java-modules/core-java-datetime-conversion/.gitignore similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-conversion/.gitignore rename to core-java-modules/core-java-datetime-conversion/.gitignore diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/README.md b/core-java-modules/core-java-datetime-conversion/README.md similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-conversion/README.md rename to core-java-modules/core-java-datetime-conversion/README.md diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/pom.xml b/core-java-modules/core-java-datetime-conversion/pom.xml similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-conversion/pom.xml rename to core-java-modules/core-java-datetime-conversion/pom.xml diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java b/core-java-modules/core-java-datetime-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java rename to core-java-modules/core-java-datetime-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java b/core-java-modules/core-java-datetime-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java rename to core-java-modules/core-java-datetime-conversion/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java b/core-java-modules/core-java-datetime-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java rename to core-java-modules/core-java-datetime-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java b/core-java-modules/core-java-datetime-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java rename to core-java-modules/core-java-datetime-conversion/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java b/core-java-modules/core-java-datetime-conversion/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java rename to core-java-modules/core-java-datetime-conversion/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java b/core-java-modules/core-java-datetime-conversion/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java rename to core-java-modules/core-java-datetime-conversion/src/test/java/com/baeldung/datetime/ConvertInstantToTimestampUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java b/core-java-modules/core-java-datetime-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java rename to core-java-modules/core-java-datetime-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java b/core-java-modules/core-java-datetime-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java rename to core-java-modules/core-java-datetime-conversion/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java b/core-java-modules/core-java-datetime-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java rename to core-java-modules/core-java-datetime-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java b/core-java-modules/core-java-datetime-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java rename to core-java-modules/core-java-datetime-conversion/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/xmlgregoriancalendar/XmlGregorianCalendarConverterUnitTest.java b/core-java-modules/core-java-datetime-conversion/src/test/java/com/baeldung/xmlgregoriancalendar/XmlGregorianCalendarConverterUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-conversion/src/test/java/com/baeldung/xmlgregoriancalendar/XmlGregorianCalendarConverterUnitTest.java rename to core-java-modules/core-java-datetime-conversion/src/test/java/com/baeldung/xmlgregoriancalendar/XmlGregorianCalendarConverterUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/.gitignore b/core-java-modules/core-java-datetime-string/.gitignore similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/.gitignore rename to core-java-modules/core-java-datetime-string/.gitignore diff --git a/core-java-modules/core-java-datetime/java-dates-string/README.md b/core-java-modules/core-java-datetime-string/README.md similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/README.md rename to core-java-modules/core-java-datetime-string/README.md diff --git a/core-java-modules/core-java-datetime/java-dates-string/pom.xml b/core-java-modules/core-java-datetime-string/pom.xml similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/pom.xml rename to core-java-modules/core-java-datetime-string/pom.xml diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidator.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/date/validation/DateValidator.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidator.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/date/validation/DateValidator.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingApacheValidator.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingApacheValidator.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingApacheValidator.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingApacheValidator.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateFormat.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateFormat.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateFormat.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateFormat.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatter.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatter.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatter.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatter.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingLocalDate.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingLocalDate.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingLocalDate.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/date/validation/DateValidatorUsingLocalDate.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayApp.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayApp.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayApp.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayApp.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7App.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7App.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7App.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplayJava7App.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetDateTimeExample.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/zonedatetime/OffsetDateTimeExample.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetDateTimeExample.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/zonedatetime/OffsetDateTimeExample.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetTimeExample.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/zonedatetime/OffsetTimeExample.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/zonedatetime/OffsetTimeExample.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/zonedatetime/OffsetTimeExample.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/zonedatetime/ZoneDateTimeExample.java b/core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/zonedatetime/ZoneDateTimeExample.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/main/java/com/baeldung/zonedatetime/ZoneDateTimeExample.java rename to core-java-modules/core-java-datetime-string/src/main/java/com/baeldung/zonedatetime/ZoneDateTimeExample.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/StringToDateUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/date/StringToDateUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/StringToDateUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/date/StringToDateUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingApacheValidatorUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingApacheValidatorUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingApacheValidatorUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingApacheValidatorUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateFormatUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateFormatUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateFormatUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateFormatUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatterUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatterUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatterUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingDateTimeFormatterUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingLocalDateUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingLocalDateUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingLocalDateUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/date/validation/DateValidatorUsingLocalDateUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/datetime/DateTimeFormatterUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/datetime/DateTimeFormatterUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/datetime/DateTimeFormatterUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/datetime/DateTimeFormatterUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/simpledateformat/SimpleDateFormatUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/simpledateformat/SimpleDateFormatUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/simpledateformat/SimpleDateFormatUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/simpledateformat/SimpleDateFormatUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/timestamp/StringToTimestampConverterUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/timestamp/StringToTimestampConverterUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/timestamp/StringToTimestampConverterUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/timestamp/StringToTimestampConverterUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/timestamp/TimestampToStringConverterTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/timestamp/TimestampToStringConverterTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/timestamp/TimestampToStringConverterTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/timestamp/TimestampToStringConverterTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetDateTimeExampleUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/zonedatetime/OffsetDateTimeExampleUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetDateTimeExampleUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/zonedatetime/OffsetDateTimeExampleUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetTimeExampleUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/zonedatetime/OffsetTimeExampleUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/OffsetTimeExampleUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/zonedatetime/OffsetTimeExampleUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/ZoneDateTimeExampleUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/zonedatetime/ZoneDateTimeExampleUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/ZoneDateTimeExampleUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/zonedatetime/ZoneDateTimeExampleUnitTest.java diff --git a/core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/ZonedDateTimeUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/zonedatetime/ZonedDateTimeUnitTest.java similarity index 100% rename from core-java-modules/core-java-datetime/java-dates-string/src/test/java/com/baeldung/zonedatetime/ZonedDateTimeUnitTest.java rename to core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/zonedatetime/ZonedDateTimeUnitTest.java diff --git a/core-java-modules/core-java-datetime/README.md b/core-java-modules/core-java-datetime/README.md deleted file mode 100644 index ddb2d336b5..0000000000 --- a/core-java-modules/core-java-datetime/README.md +++ /dev/null @@ -1,3 +0,0 @@ -## Java Date and Time - -This module contains articles about date and time in Java. It's split in several submodules. diff --git a/core-java-modules/core-java-datetime/pom.xml b/core-java-modules/core-java-datetime/pom.xml deleted file mode 100644 index cab5c9fe98..0000000000 --- a/core-java-modules/core-java-datetime/pom.xml +++ /dev/null @@ -1,23 +0,0 @@ - - 4.0.0 - com.baeldung.exception.numberformat - core-java-datetime - 0.0.1-SNAPSHOT - pom - core-java-datetime - - - com.baeldung - parent-java - 0.0.1-SNAPSHOT - ../../parent-java - - - - java-dates-conversion - java-dates-string - - - diff --git a/core-java-modules/pom.xml b/core-java-modules/pom.xml index 082ffbef53..7e646d4bc0 100644 --- a/core-java-modules/pom.xml +++ b/core-java-modules/pom.xml @@ -20,6 +20,8 @@ core-java-lang-operators core-java-networking-2 core-java-security-manager + core-java-datetime-conversion + core-java-datetime-string From 850b6bf2f879f927a0f18c70b08c18c2bc1847c9 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Fri, 4 Oct 2019 21:56:40 +0200 Subject: [PATCH 065/199] #BAEL-16646 flatten java-datetime modules --- core-java-modules/core-java-datetime-conversion/pom.xml | 8 ++++---- core-java-modules/core-java-datetime-string/pom.xml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/core-java-modules/core-java-datetime-conversion/pom.xml b/core-java-modules/core-java-datetime-conversion/pom.xml index b56cadc340..a93eca00af 100644 --- a/core-java-modules/core-java-datetime-conversion/pom.xml +++ b/core-java-modules/core-java-datetime-conversion/pom.xml @@ -1,16 +1,16 @@ 4.0.0 - java-dates-conversion + core-java-datetime-conversion ${project.parent.version} - java-dates-conversion + core-java-datetime-conversion jar com.baeldung parent-java 0.0.1-SNAPSHOT - ../../../parent-java + ../../parent-java @@ -39,7 +39,7 @@ - java-dates-conversion + core-java-datetime-conversion src/main/resources diff --git a/core-java-modules/core-java-datetime-string/pom.xml b/core-java-modules/core-java-datetime-string/pom.xml index 714a65195a..b4e7aff524 100644 --- a/core-java-modules/core-java-datetime-string/pom.xml +++ b/core-java-modules/core-java-datetime-string/pom.xml @@ -1,16 +1,16 @@ 4.0.0 - java-dates-string + core-java-datetime-string ${project.parent.version} - java-dates-string + core-java-datetime-string jar com.baeldung parent-java 0.0.1-SNAPSHOT - ../../../parent-java + ../../parent-java @@ -51,7 +51,7 @@ - java-dates-string + core-java-datetime-string src/main/resources From 1d383ee388833ee84d626350d0469975a9bf5265 Mon Sep 17 00:00:00 2001 From: Sjmillington Date: Sat, 5 Oct 2019 16:48:57 +0100 Subject: [PATCH 066/199] Changed `with HTTP` to `over HTTP` --- spring-remoting/remoting-http/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-remoting/remoting-http/README.md b/spring-remoting/remoting-http/README.md index 7e30d07a0a..a4f3ea82a9 100644 --- a/spring-remoting/remoting-http/README.md +++ b/spring-remoting/remoting-http/README.md @@ -1,6 +1,6 @@ ## Remoting HTTP -This module contains articles about Spring Remoting with HTTP +This module contains articles about Spring Remoting over HTTP ### Relevant Articles: From 2bb48cbedc50c26d055ce82c79c0770f658ecce1 Mon Sep 17 00:00:00 2001 From: Afshin Date: Sat, 5 Oct 2019 21:07:21 +0200 Subject: [PATCH 067/199] Wildcard imports are replaced by named classes and static import is removed --- .../baeldung/encoding/CharacterEncodingExamples.java | 8 +++++++- .../encoding/CharacterEncodingExamplesUnitTest.java | 11 +++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java b/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java index 51b2347823..c1898a6723 100644 --- a/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java +++ b/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java @@ -1,6 +1,12 @@ package com.baeldung.encoding; -import java.io.*; +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; import java.nio.charset.CodingErrorAction; diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java b/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java index 1a875738d0..d87eafcee9 100644 --- a/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java +++ b/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java @@ -4,7 +4,12 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; -import java.nio.charset.*; +import java.nio.charset.Charset; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.CodingErrorAction; +import java.nio.charset.MalformedInputException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; @@ -15,8 +20,6 @@ import org.junit.Assert; import org.junit.Test; import org.junit.jupiter.api.Assertions; -import static java.nio.file.Files.newInputStream; - public class CharacterEncodingExamplesUnitTest { @Test @@ -100,7 +103,7 @@ public class CharacterEncodingExamplesUnitTest { allCandidateCharSets.forEach(charset -> { try { CharsetDecoder charsetDecoder = charset.newDecoder().onMalformedInput(CodingErrorAction.REPORT); - Reader reader = new InputStreamReader(newInputStream(path), charsetDecoder); + Reader reader = new InputStreamReader(Files.newInputStream(path), charsetDecoder); BufferedReader bufferedReader = new BufferedReader(reader); while (bufferedReader.readLine() != null) { } From c3f60b7f1490d6b55bda03d909944621e2b04fb3 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Sun, 6 Oct 2019 08:34:37 +0200 Subject: [PATCH 068/199] #BAEL-16646 reindent parent pom.xml with spaces. Remove .gitignore files in datetime modules. --- .../core-java-datetime-conversion/.gitignore | 26 - .../core-java-datetime-string/.gitignore | 26 - pom.xml | 3001 +++++++++-------- 3 files changed, 1501 insertions(+), 1552 deletions(-) delete mode 100644 core-java-modules/core-java-datetime-conversion/.gitignore delete mode 100644 core-java-modules/core-java-datetime-string/.gitignore diff --git a/core-java-modules/core-java-datetime-conversion/.gitignore b/core-java-modules/core-java-datetime-conversion/.gitignore deleted file mode 100644 index 3de4cc647e..0000000000 --- a/core-java-modules/core-java-datetime-conversion/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -*.class - -0.* - -#folders# -/target -/neoDb* -/data -/src/main/webapp/WEB-INF/classes -*/META-INF/* -.resourceCache - -# Packaged files # -*.jar -*.war -*.ear - -# Files generated by integration tests -*.txt -backup-pom.xml -/bin/ -/temp - -#IntelliJ specific -.idea/ -*.iml \ No newline at end of file diff --git a/core-java-modules/core-java-datetime-string/.gitignore b/core-java-modules/core-java-datetime-string/.gitignore deleted file mode 100644 index 3de4cc647e..0000000000 --- a/core-java-modules/core-java-datetime-string/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -*.class - -0.* - -#folders# -/target -/neoDb* -/data -/src/main/webapp/WEB-INF/classes -*/META-INF/* -.resourceCache - -# Packaged files # -*.jar -*.war -*.ear - -# Files generated by integration tests -*.txt -backup-pom.xml -/bin/ -/temp - -#IntelliJ specific -.idea/ -*.iml \ No newline at end of file diff --git a/pom.xml b/pom.xml index cb3c7c06c4..adf55b762a 100644 --- a/pom.xml +++ b/pom.xml @@ -1,415 +1,416 @@ - 4.0.0 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - parent-modules - pom + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + parent-modules + pom - - - - org.slf4j - slf4j-api - ${org.slf4j.version} - - - ch.qos.logback - logback-classic - ${logback.version} - - - ch.qos.logback - logback-core - ${logback.version} - - - org.slf4j - jcl-over-slf4j - ${org.slf4j.version} - + + + + org.slf4j + slf4j-api + ${org.slf4j.version} + + + ch.qos.logback + logback-classic + ${logback.version} + + + ch.qos.logback + logback-core + ${logback.version} + + + org.slf4j + jcl-over-slf4j + ${org.slf4j.version} + - - - junit - junit - ${junit.version} - test - - - org.junit.jupiter - junit-jupiter-engine - ${junit-jupiter.version} - test - - - org.junit.jupiter - junit-jupiter-params - ${junit-jupiter.version} - test - - - org.junit.jupiter - junit-jupiter-api - ${junit-jupiter.version} - test - - - org.hamcrest - hamcrest-core - ${org.hamcrest.version} - test - - - org.hamcrest - hamcrest-library - ${org.hamcrest.version} - test - - - org.hamcrest - hamcrest-all - ${org.hamcrest.version} - test - - - org.mockito - mockito-core - ${mockito.version} - test - - - org.apache.maven.surefire - surefire-logger-api - ${maven-surefire-plugin.version} - - test - true - - + + + junit + junit + ${junit.version} + test + + + org.junit.jupiter + junit-jupiter-engine + ${junit-jupiter.version} + test + + + org.junit.jupiter + junit-jupiter-params + ${junit-jupiter.version} + test + + + org.junit.jupiter + junit-jupiter-api + ${junit-jupiter.version} + test + + + org.hamcrest + hamcrest-core + ${org.hamcrest.version} + test + + + org.hamcrest + hamcrest-library + ${org.hamcrest.version} + test + + + org.hamcrest + hamcrest-all + ${org.hamcrest.version} + test + + + org.mockito + mockito-core + ${mockito.version} + test + + + org.apache.maven.surefire + surefire-logger-api + ${maven-surefire-plugin.version} + + test + true + + - - - - org.codehaus.mojo - exec-maven-plugin - ${exec-maven-plugin.version} - - maven - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - 3 - true - - **/*IntegrationTest.java - **/*IntTest.java - **/*LongRunningUnitTest.java - **/*ManualTest.java - **/JdbcTest.java - **/*LiveTest.java - - - - - org.junit.platform - junit-platform-surefire-provider - ${junit-platform.version} - - - org.junit.jupiter - junit-jupiter-engine - ${junit-jupiter.version} - - - org.junit.vintage - junit-vintage-engine - ${junit-jupiter.version} - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - ${java.version} - ${java.version} - - - - org.apache.maven.plugins - maven-pmd-plugin - ${maven-pmd-plugin.version} - - - org.baeldung.pmd - custom-pmd - ${custom-pmd.version} - - - - 5 - false - true - true - true - true - UTF-8 - ${java.version} - - ${tutorialsproject.basedir}/baeldung-pmd-rules.xml - - - target/generated-sources - - - - - compile - - check - - - - - - org.commonjava.maven.plugins - directory-maven-plugin - ${directory-maven-plugin.version} - - - directories - - directory-of - - validate - - tutorialsproject.basedir - - com.baeldung - parent-modules - - - - - - - org.apache.maven.plugins - maven-install-plugin - ${maven-install-plugin.version} - - org.baeldung.pmd - custom-pmd - ${custom-pmd.version} - jar - ${tutorialsproject.basedir}/custom-pmd-${custom-pmd.version}.jar - true - - - - install-jar-lib - - install-file - - validate - - - - - maven-war-plugin - ${maven-war-plugin.version} - - + + + + org.codehaus.mojo + exec-maven-plugin + ${exec-maven-plugin.version} + + maven + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + 3 + true + + **/*IntegrationTest.java + **/*IntTest.java + **/*LongRunningUnitTest.java + **/*ManualTest.java + **/JdbcTest.java + **/*LiveTest.java + + + + + org.junit.platform + junit-platform-surefire-provider + ${junit-platform.version} + + + org.junit.jupiter + junit-jupiter-engine + ${junit-jupiter.version} + + + org.junit.vintage + junit-vintage-engine + ${junit-jupiter.version} + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + + ${java.version} + ${java.version} + + + + org.apache.maven.plugins + maven-pmd-plugin + ${maven-pmd-plugin.version} + + + org.baeldung.pmd + custom-pmd + ${custom-pmd.version} + + + + 5 + false + true + true + true + true + UTF-8 + ${java.version} + + ${tutorialsproject.basedir}/baeldung-pmd-rules.xml + + + target/generated-sources + + + + + compile + + check + + + + + + org.commonjava.maven.plugins + directory-maven-plugin + ${directory-maven-plugin.version} + + + directories + + directory-of + + validate + + tutorialsproject.basedir + + com.baeldung + parent-modules + + + + + + + org.apache.maven.plugins + maven-install-plugin + ${maven-install-plugin.version} + + org.baeldung.pmd + custom-pmd + ${custom-pmd.version} + jar + ${tutorialsproject.basedir}/custom-pmd-${custom-pmd.version}.jar + true + + + + install-jar-lib + + install-file + + validate + + + + + maven-war-plugin + ${maven-war-plugin.version} + + - - - com.vackosar.gitflowincrementalbuilder - gitflow-incremental-builder - ${gitflow-incremental-builder.version} - - - - - - - org.eclipse.m2e - lifecycle-mapping - 1.0.0 - - - - - - - org.commonjava.maven.plugins - - - directory-maven-plugin - - - [0.3.1,) - - - directory-of - - - - - - - - - - org.apache.maven.plugins - - - maven-install-plugin - - - [2.5.1,) - - - install-file - - - - - - - - - - - - - + + + com.vackosar.gitflowincrementalbuilder + gitflow-incremental-builder + ${gitflow-incremental-builder.version} + + + + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + + org.commonjava.maven.plugins + + + directory-maven-plugin + + + [0.3.1,) + + + directory-of + + + + + + + + + + org.apache.maven.plugins + + + maven-install-plugin + + + [2.5.1,) + + + install-file + + + + + + + + + + + + + - + - - default-first - - + + default-first + + - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - 3 - true - - SpringContextTest - **/*UnitTest - - - **/*IntegrationTest.java - **/*IntTest.java - **/*LongRunningUnitTest.java - **/*ManualTest.java - **/JdbcTest.java - **/*LiveTest.java - - - + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + 3 + true + + SpringContextTest + **/*UnitTest + + + **/*IntegrationTest.java + **/*IntTest.java + **/*LongRunningUnitTest.java + **/*ManualTest.java + **/JdbcTest.java + **/*LiveTest.java + + + - - + + - - parent-boot-1 - parent-boot-2 - parent-spring-4 - parent-spring-5 - parent-java - parent-kotlin - - akka-streams - algorithms-genetic - algorithms-miscellaneous-1 - algorithms-miscellaneous-2 - algorithms-miscellaneous-3 - algorithms-miscellaneous-4 - algorithms-miscellaneous-5 - algorithms-sorting - animal-sniffer-mvn-plugin - annotations - antlr - apache-avro - apache-bval - apache-curator - apache-cxf - apache-fop - apache-geode - apache-meecrowave - apache-olingo/olingo2 - apache-opennlp - apache-poi - apache-pulsar - apache-shiro - apache-solrj - apache-spark - apache-thrift - apache-tika - apache-velocity - apache-zookeeper - asciidoctor - asm - atomix - autovalue - aws - aws-lambda - axon - azure + + parent-boot-1 + parent-boot-2 + parent-spring-4 + parent-spring-5 + parent-java + parent-kotlin + + akka-streams + algorithms-genetic + algorithms-miscellaneous-1 + algorithms-miscellaneous-2 + algorithms-miscellaneous-3 + algorithms-miscellaneous-4 + algorithms-miscellaneous-5 + algorithms-sorting + animal-sniffer-mvn-plugin + annotations + antlr + apache-avro + apache-bval + apache-curator + apache-cxf + apache-fop + apache-geode + apache-meecrowave + apache-olingo/olingo2 + apache-opennlp + apache-poi + apache-pulsar + apache-shiro + apache-solrj + apache-spark + apache-thrift + apache-tika + apache-velocity + apache-zookeeper + asciidoctor + asm + atomix + autovalue + aws + aws-lambda + axon + azure - bazel - blade - bootique + bazel + blade + bootique - cas - cdi - checker-plugin - cloud-foundry-uaa/cf-uaa-oauth2-client - cloud-foundry-uaa/cf-uaa-oauth2-resource-server - core-groovy - core-groovy-2 - core-groovy-collections - - - - core-java-modules/core-java-8 - core-java-modules/core-java-8-2 - core-java-modules/core-java-annotations - core-java-modules/core-java-streams - core-java-modules/core-java-function - core-java-modules/core-java-lang-math - core-java-modules/core-java-datetime - core-java-modules/core-java-text - core-java-modules/core-java-lambdas + cas + cdi + checker-plugin + cloud-foundry-uaa/cf-uaa-oauth2-client + cloud-foundry-uaa/cf-uaa-oauth2-resource-server + core-groovy + core-groovy-2 + core-groovy-collections + + + + core-java-modules/core-java-8 + core-java-modules/core-java-8-2 + core-java-modules/core-java-annotations + core-java-modules/core-java-streams + core-java-modules/core-java-function + core-java-modules/core-java-lang-math + core-java-modules/core-java-datetime-conversion + core-java-modules/core-java-datetime-string + core-java-modules/core-java-text + core-java-modules/core-java-lambdas core-java-modules/core-java-arrays core-java-modules/core-java-arrays-2 core-java-modules/core-java-collections - core-java-modules/core-java-collections-2 - core-java-modules/core-java-collections-3 + core-java-modules/core-java-collections-2 + core-java-modules/core-java-collections-3 core-java-modules/core-java-collections-list core-java-modules/core-java-collections-list-2 core-java-modules/core-java-collections-list-3 core-java-modules/core-java-collections-array-list core-java-modules/core-java-collections-set core-java-modules/core-java-concurrency-basic - core-java-modules/core-java-concurrency-basic-2 + core-java-modules/core-java-concurrency-basic-2 core-java-modules/core-java-concurrency-collections core-java-modules/core-java-io core-java-modules/core-java-io-files @@ -418,10 +419,10 @@ core-java-modules/core-java-lang-syntax core-java-modules/core-java-lang-syntax-2 core-java-modules/core-java-lang - core-java-modules/core-java-lang-2 + core-java-modules/core-java-lang-2 core-java-modules/core-java-lang-oop core-java-modules/core-java-lang-oop-2 - core-java-modules/core-java-lang-oop-3 + core-java-modules/core-java-lang-oop-3 core-java-modules core-java-modules/core-java-networking core-java-modules/core-java-perf @@ -456,9 +457,9 @@ grpc gson guava - guava-io + guava-io guava-collections - guava-collections-set + guava-collections-set guava-modules guice @@ -479,11 +480,11 @@ java-collections-maps java-collections-maps-2 java-jdi - - + + java-lite - java-math + java-math java-numbers java-numbers-2 java-rmi @@ -502,1178 +503,1178 @@ jaxb - jee-7-security - jee-kotlin - jersey - jgit - jgroups - jhipster-5 - jib - jjwt - jmeter - jmh - jni - jooby - jsf - json - json-path - jsoup - jta + jee-7-security + jee-kotlin + jersey + jgit + jgroups + jhipster-5 + jib + jjwt + jmeter + jmh + jni + jooby + jsf + json + json-path + jsoup + jta - - kotlin-libraries - kotlin-libraries-2 + + kotlin-libraries + kotlin-libraries-2 - - libraries - libraries-2 - libraries-data - libraries-data-2 - libraries-apache-commons - libraries-apache-commons-collections - libraries-apache-commons-io - libraries-primitive - libraries-testing - libraries-security - libraries-server - libraries-http - libraries-io - linkrest - logging-modules - lombok - lucene + + libraries + libraries-2 + libraries-data + libraries-data-2 + libraries-apache-commons + libraries-apache-commons-collections + libraries-apache-commons-io + libraries-primitive + libraries-testing + libraries-security + libraries-server + libraries-http + libraries-io + linkrest + logging-modules + lombok + lucene - mapstruct - - maven-all/maven - maven-all/maven-war-plugin - maven-all/profiles - maven-all/versions-maven-plugin - maven-archetype - - maven-polyglot/maven-polyglot-json-extension - - mesos-marathon - metrics - - microprofile + mapstruct + + maven-all/maven + maven-all/maven-war-plugin + maven-all/profiles + maven-all/versions-maven-plugin + maven-archetype + + maven-polyglot/maven-polyglot-json-extension + + mesos-marathon + metrics + + microprofile ml - msf4j - - mustache - mybatis - - - optaplanner - orika - osgi - - patterns - pdf - performance-tests - - protobuffer - - persistence-modules - quarkus - - rabbitmq - - ratpack - reactor-core - resteasy - restx - - rule-engines - rsocket - rxjava - rxjava-2 - software-security/sql-injection-samples - - tensorflow-java - spf4j - spring-boot-flowable - spring-boot-mvc-2 - spring-boot-performance - spring-boot-properties - - spring-security-kerberos - oauth2-framework-impl - - spring-boot-nashorn - java-blockchain - - - - - - - default-second - - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - 3 - true - - SpringContextTest - **/*UnitTest - - - **/*IntegrationTest.java - **/*IntTest.java - **/*LongRunningUnitTest.java - **/*ManualTest.java - **/*JdbcTest.java - **/*LiveTest.java - - - - - - - - - parent-boot-1 - parent-boot-2 - parent-spring-4 - parent-spring-5 - parent-java - parent-kotlin - - saas - spark-java - - spring-4 - - spring-5 - spring-5-webflux - spring-5-data-reactive - spring-5-mvc - spring-5-reactive - spring-5-reactive-2 - spring-5-reactive-client - spring-5-reactive-oauth - spring-5-reactive-security - spring-5-security - spring-5-security-oauth - spring-5-security-cognito - - spring-activiti - spring-akka - spring-all - spring-amqp - spring-aop - spring-apache-camel - spring-batch - spring-bom - - spring-boot - spring-boot-admin - spring-boot-angular - spring-boot-autoconfiguration - spring-boot-bootstrap - spring-boot-camel - - spring-boot-client - - spring-boot-crud - spring-boot-ctx-fluent - spring-boot-custom-starter - spring-boot-disable-console-logging - - spring-boot-jasypt - spring-boot-keycloak - spring-boot-kotlin - spring-boot-logging-log4j2 - spring-boot-management - spring-boot-mvc - spring-boot-mvc-birt - spring-boot-ops - spring-boot-ops-2 - spring-boot-rest - spring-boot-data - spring-boot-parent - spring-boot-property-exp - spring-boot-security - spring-boot-testing - spring-boot-vue - spring-boot-libraries - - - spring-cloud - spring-cloud-bus - - spring-cloud-data-flow - - spring-core - spring-core-2 - spring-cucumber - - spring-data-rest - spring-data-rest-querydsl - spring-dispatcher-servlet - spring-drools - spring-di - - spring-ehcache - spring-ejb - spring-exceptions - - spring-freemarker - - spring-groovy - - spring-integration - - spring-jenkins-pipeline - spring-jersey - spring-jinq - spring-jms - spring-jooq - - spring-kafka - spring-katharsis - - spring-ldap - - spring-mobile - spring-mockito - spring-mvc-forms-jsp - spring-mvc-forms-thymeleaf - spring-mvc-java - spring-mvc-kotlin - spring-mvc-simple - spring-mvc-simple-2 - spring-mvc-velocity - spring-mvc-webflow - spring-mvc-xml - - spring-protobuf - - - spring-quartz - - spring-reactive-kotlin - spring-reactor - spring-remoting - spring-rest - spring-rest-angular - spring-rest-compress - spring-rest-full - spring-rest-hal-browser - spring-rest-query-language - spring-rest-shell - spring-rest-simple - spring-resttemplate - spring-roo - spring-security-acl - spring-security-angular/server - spring-security-cache-control - - spring-security-core - spring-security-mvc-boot - spring-security-mvc-custom - spring-security-mvc-digest-auth - spring-security-mvc-jsonview - spring-security-mvc-ldap - spring-security-mvc-login - spring-security-mvc-persisted-remember-me - spring-security-mvc - spring-security-mvc-socket - spring-security-openid - - spring-security-rest - spring-security-rest-basic-auth - spring-security-rest-custom - spring-security-sso - spring-security-stormpath - spring-security-thymeleaf - spring-security-x509 - spring-session - spring-sleuth - spring-soap - spring-social-login - spring-spel - spring-state-machine - spring-static-resources - spring-swagger-codegen - - spring-thymeleaf - - spring-vault - spring-vertx - - spring-webflux-amqp - - spring-zuul - - static-analysis - stripe - structurizr - struts-2 - - testing-modules - - twilio - twitter4j - - undertow - - vertx - vertx-and-rxjava - video-tutorials - vraptor - - wicket - - xml - xstream - - tensorflow-java - spring-boot-flowable - spring-security-kerberos - - spring-boot-nashorn - java-blockchain - - - - - - - spring-context - - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - 3 - true - - **/*SpringContextIntegrationTest.java - - - - - - - - - spring-5 - spring-5-data-reactive - spring-5-reactive - spring-5-reactive-2 - spring-5-reactive-client - spring-5-reactive-security - spring-5-security - spring-5-security-oauth - spring-5-security-cognito - spring-activiti - spring-akka - spring-all - spring-aop - spring-apache-camel - spring-batch - spring-bom - spring-boot-admin - spring-boot-bootstrap - spring-boot-bootstrap - spring-boot-camel - spring-boot-client - spring-boot-custom-starter - spring-boot-di - greeter-spring-boot-autoconfigure - greeter-spring-boot-sample-app - persistence-modules/spring-boot-h2/spring-boot-h2-database - spring-boot-jasypt - spring-boot-keycloak - spring-boot-mvc - spring-boot-property-exp - spring-boot-vue - spring-cloud - spring-cloud/spring-cloud-archaius/basic-config - spring-cloud/spring-cloud-archaius/extra-configs - spring-cloud/spring-cloud-bootstrap/config - spring-cloud/spring-cloud-contract - spring-cloud/spring-cloud-gateway - spring-cloud/spring-cloud-kubernetes/demo-backend - spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server - spring-cloud/spring-cloud-ribbon-client - spring-cloud/spring-cloud-security - spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit - spring-cloud/spring-cloud-task/springcloudtasksink - spring-cloud/spring-cloud-zookeeper - spring-cloud/spring-cloud-bus/spring-cloud-config-server - spring-cloud/spring-cloud-data-flow/log-sink - spring-cloud/spring-cloud-data-flow/time-processor - spring-cloud/spring-cloud-data-flow/time-source - spring-cucumber - persistence-modules/spring-data-keyvalue - spring-data-rest - spring-dispatcher-servlet - spring-drools - spring-di - spring-ehcache - spring-freemarker - persistence-modules/spring-hibernate-3 - persistence-modules/spring-hibernate4 - persistence-modules/spring-mybatis - spring-integration - spring-jenkins-pipeline - spring-jersey - spring-jinq - spring-jms - spring-kafka - spring-katharsis - spring-ldap - spring-mobile - spring-mockito - spring-mvc-forms-thymeleaf - spring-mvc-java - spring-mvc-velocity - spring-mvc-webflow - spring-protobuf - spring-quartz - remoting-hessian-burlap/spring-remoting-hessian-burlap-client - remoting-hessian-burlap/remoting-hessian-burlap-server - spring-reactor - spring-remoting/ - spring-remoting/remoting-http/remoting-http-server - spring-remoting/remoting-jms/remoting-jms-client - spring-remoting/remoting-rmi/remoting-rmi-server - spring-rest - spring-rest-angular - spring-rest-compress - spring-rest-full - spring-rest-simple - spring-resttemplate - spring-security-acl - spring-security-angular - spring-security-cache-control - spring-security-core - spring-security-mvc-boot - spring-security-mvc-custom - spring-security-mvc-digest-auth - spring-security-mvc-ldap - spring-security-mvc-persisted-remember-me - spring-security-mvc - spring-security-mvc-socket - spring-security-rest - spring-security-sso - spring-security-thymeleaf/spring-security-thymeleaf-authentication - spring-security-thymeleaf/spring-security-thymeleaf-authorize - spring-security-thymeleaf/spring-security-thymeleaf-config - spring-security-x509 - spring-session/spring-session-jdbc - spring-sleuth - spring-social-login - spring-spel - spring-state-machine - spring-swagger-codegen/spring-swagger-codegen-app - spring-thymeleaf - spring-vault - spring-vertx - spring-zuul/spring-zuul-foos-resource - persistence-modules/hibernate-mapping - persistence-modules/spring-data-dynamodb - persistence-modules/spring-data-eclipselink - persistence-modules/spring-data-solr - persistence-modules/spring-hibernate-5 - - spring-boot-flowable - spring-security-kerberos - spring-boot-nashorn - - - - - - default-heavy - - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - 3 - true - - SpringContextTest - **/*UnitTest - - - **/*IntegrationTest.java - **/*IntTest.java - **/*LongRunningUnitTest.java - **/*ManualTest.java - **/*JdbcTest.java - **/*LiveTest.java - - - - - - - - - parent-boot-1 - parent-boot-2 - parent-spring-4 - parent-spring-5 - parent-java - parent-kotlin - - core-java-modules/core-java-concurrency-advanced - core-kotlin - core-kotlin-2 - core-kotlin-io - - jenkins/hello-world - jhipster - jws - - libraries - persistence-modules/hibernate5 - persistence-modules/hibernate-mapping - persistence-modules/java-jpa - persistence-modules/java-jpa-2 - persistence-modules/java-mongodb - persistence-modules/jnosql - - vaadin - vavr - - - - - integration-lite-first - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - **/*ManualTest.java - **/*LiveTest.java - - - **/*IntegrationTest.java - **/*IntTest.java - - - - - - - - parent-boot-1 - parent-boot-2 - parent-spring-4 - parent-spring-5 - parent-java - parent-kotlin - - akka-streams - algorithms-genetic - algorithms-miscellaneous-1 - algorithms-miscellaneous-2 - algorithms-miscellaneous-3 - algorithms-miscellaneous-4 - algorithms-miscellaneous-5 - algorithms-sorting - animal-sniffer-mvn-plugin - annotations - antlr - apache-avro - apache-bval - apache-curator - apache-cxf - apache-fop - apache-geode - apache-meecrowave - apache-olingo/olingo2 - apache-opennlp - apache-poi - apache-pulsar - apache-shiro - apache-solrj - apache-spark - apache-thrift - apache-tika - apache-velocity - apache-zookeeper - asciidoctor - asm - atomix - autovalue - aws - aws-lambda - axon - azure - bazel - bootique - - cas - cdi - checker-plugin - cloud-foundry-uaa/cf-uaa-oauth2-client - cloud-foundry-uaa/cf-uaa-oauth2-resource-server - core-groovy - core-groovy-2 - core-groovy-collections - - - core-java-modules/core-java-8 - core-java-modules/core-java-8-2 - core-java-modules/core-java-annotations - core-java-modules/core-java-streams - core-java-modules/core-java-function - core-java-modules/core-java-lang-math - core-java-modules/core-java-datetime - core-java-modules/core-java-text - - - core-java-modules/core-java-arrays - core-java-modules/core-java-arrays-2 - core-java-modules/core-java-collections - core-java-modules/core-java-collections-2 - core-java-modules/core-java-collections-3 - core-java-modules/core-java-collections-list - core-java-modules/core-java-collections-list-2 - core-java-modules/core-java-collections-list-3 - core-java-modules/core-java-collections-array-list - core-java-modules/core-java-collections-set - core-java-modules/core-java-concurrency-basic - core-java-modules/core-java-concurrency-basic-2 - core-java-modules/core-java-concurrency-collections - core-java-modules/core-java-io - core-java-modules/core-java-io-files - core-java-modules/core-java-nio - core-java-modules/core-java-security - core-java-modules/core-java-lang-syntax - core-java-modules/core-java-lang-syntax-2 - core-java-modules/core-java-lang - core-java-modules/core-java-lang-2 - core-java-modules/core-java-lang-oop - core-java-modules/core-java-lang-oop-2 - core-java-modules/core-java-lang-oop-3 - core-java-modules - core-java-modules/core-java-networking - core-java-modules/core-java-perf - core-java-modules/core-java-sun - core-scala - couchbase - custom-pmd - - dagger - data-structures - ddd - deeplearning4j - disruptor - dozer - drools - dubbo - - ethereum - - feign - flyway-cdi-extension - - geotools - google-cloud - google-web-toolkit - - - graphql/graphql-java - grpc - gson - guava - guava-io - guava-collections - guava-collections-set - guava-modules - - guice - - hazelcast - helidon - httpclient - httpclient-simple - hystrix - - image-processing - immutables - - jackson - jackson-2 - jackson-simple - java-collections-conversions - java-collections-maps - java-collections-maps-2 - java-jdi - - java-ee-8-security-api - java-lite - java-math - java-numbers - java-numbers-2 - java-rmi - java-spi - java-streams - - java-strings - java-strings-2 - java-strings-3 - java-strings-ops - java-vavr-stream - java-websocket - javafx - javax-servlets - javaxval - jaxb - + mustache + mybatis + + + optaplanner + orika + osgi + + patterns + pdf + performance-tests + + protobuffer + + persistence-modules + quarkus + + rabbitmq + + ratpack + reactor-core + resteasy + restx + + rule-engines + rsocket + rxjava + rxjava-2 + software-security/sql-injection-samples + + tensorflow-java + spf4j + spring-boot-flowable + spring-boot-mvc-2 + spring-boot-performance + spring-boot-properties + + spring-security-kerberos + oauth2-framework-impl + + spring-boot-nashorn + java-blockchain + + + + + + + default-second + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + 3 + true + + SpringContextTest + **/*UnitTest + + + **/*IntegrationTest.java + **/*IntTest.java + **/*LongRunningUnitTest.java + **/*ManualTest.java + **/*JdbcTest.java + **/*LiveTest.java + + + + + + + + + parent-boot-1 + parent-boot-2 + parent-spring-4 + parent-spring-5 + parent-java + parent-kotlin + + saas + spark-java + + spring-4 + + spring-5 + spring-5-webflux + spring-5-data-reactive + spring-5-mvc + spring-5-reactive + spring-5-reactive-2 + spring-5-reactive-client + spring-5-reactive-oauth + spring-5-reactive-security + spring-5-security + spring-5-security-oauth + spring-5-security-cognito + + spring-activiti + spring-akka + spring-all + spring-amqp + spring-aop + spring-apache-camel + spring-batch + spring-bom + + spring-boot + spring-boot-admin + spring-boot-angular + spring-boot-autoconfiguration + spring-boot-bootstrap + spring-boot-camel + + spring-boot-client + + spring-boot-crud + spring-boot-ctx-fluent + spring-boot-custom-starter + spring-boot-disable-console-logging + + spring-boot-jasypt + spring-boot-keycloak + spring-boot-kotlin + spring-boot-logging-log4j2 + spring-boot-management + spring-boot-mvc + spring-boot-mvc-birt + spring-boot-ops + spring-boot-ops-2 + spring-boot-rest + spring-boot-data + spring-boot-parent + spring-boot-property-exp + spring-boot-security + spring-boot-testing + spring-boot-vue + spring-boot-libraries + + + spring-cloud + spring-cloud-bus + + spring-cloud-data-flow + + spring-core + spring-core-2 + spring-cucumber + + spring-data-rest + spring-data-rest-querydsl + spring-dispatcher-servlet + spring-drools + spring-di + + spring-ehcache + spring-ejb + spring-exceptions + + spring-freemarker + + spring-groovy + + spring-integration + + spring-jenkins-pipeline + spring-jersey + spring-jinq + spring-jms + spring-jooq + + spring-kafka + spring-katharsis + + spring-ldap + + spring-mobile + spring-mockito + spring-mvc-forms-jsp + spring-mvc-forms-thymeleaf + spring-mvc-java + spring-mvc-kotlin + spring-mvc-simple + spring-mvc-simple-2 + spring-mvc-velocity + spring-mvc-webflow + spring-mvc-xml + + spring-protobuf + + + spring-quartz + + spring-reactive-kotlin + spring-reactor + spring-remoting + spring-rest + spring-rest-angular + spring-rest-compress + spring-rest-full + spring-rest-hal-browser + spring-rest-query-language + spring-rest-shell + spring-rest-simple + spring-resttemplate + spring-roo + spring-security-acl + spring-security-angular/server + spring-security-cache-control + + spring-security-core + spring-security-mvc-boot + spring-security-mvc-custom + spring-security-mvc-digest-auth + spring-security-mvc-jsonview + spring-security-mvc-ldap + spring-security-mvc-login + spring-security-mvc-persisted-remember-me + spring-security-mvc + spring-security-mvc-socket + spring-security-openid + + spring-security-rest + spring-security-rest-basic-auth + spring-security-rest-custom + spring-security-sso + spring-security-stormpath + spring-security-thymeleaf + spring-security-x509 + spring-session + spring-sleuth + spring-soap + spring-social-login + spring-spel + spring-state-machine + spring-static-resources + spring-swagger-codegen + + spring-thymeleaf + + spring-vault + spring-vertx + + spring-webflux-amqp + + spring-zuul + + static-analysis + stripe + structurizr + struts-2 + + testing-modules + + twilio + twitter4j + + undertow + + vertx + vertx-and-rxjava + video-tutorials + vraptor + + wicket + + xml + xstream + + tensorflow-java + spring-boot-flowable + spring-security-kerberos + + spring-boot-nashorn + java-blockchain + + + + + + + spring-context + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + 3 + true + + **/*SpringContextIntegrationTest.java + + + + + + + + + spring-5 + spring-5-data-reactive + spring-5-reactive + spring-5-reactive-2 + spring-5-reactive-client + spring-5-reactive-security + spring-5-security + spring-5-security-oauth + spring-5-security-cognito + spring-activiti + spring-akka + spring-all + spring-aop + spring-apache-camel + spring-batch + spring-bom + spring-boot-admin + spring-boot-bootstrap + spring-boot-bootstrap + spring-boot-camel + spring-boot-client + spring-boot-custom-starter + spring-boot-di + greeter-spring-boot-autoconfigure + greeter-spring-boot-sample-app + persistence-modules/spring-boot-h2/spring-boot-h2-database + spring-boot-jasypt + spring-boot-keycloak + spring-boot-mvc + spring-boot-property-exp + spring-boot-vue + spring-cloud + spring-cloud/spring-cloud-archaius/basic-config + spring-cloud/spring-cloud-archaius/extra-configs + spring-cloud/spring-cloud-bootstrap/config + spring-cloud/spring-cloud-contract + spring-cloud/spring-cloud-gateway + spring-cloud/spring-cloud-kubernetes/demo-backend + spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server + spring-cloud/spring-cloud-ribbon-client + spring-cloud/spring-cloud-security + spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit + spring-cloud/spring-cloud-task/springcloudtasksink + spring-cloud/spring-cloud-zookeeper + spring-cloud/spring-cloud-bus/spring-cloud-config-server + spring-cloud/spring-cloud-data-flow/log-sink + spring-cloud/spring-cloud-data-flow/time-processor + spring-cloud/spring-cloud-data-flow/time-source + spring-cucumber + persistence-modules/spring-data-keyvalue + spring-data-rest + spring-dispatcher-servlet + spring-drools + spring-di + spring-ehcache + spring-freemarker + persistence-modules/spring-hibernate-3 + persistence-modules/spring-hibernate4 + persistence-modules/spring-mybatis + spring-integration + spring-jenkins-pipeline + spring-jersey + spring-jinq + spring-jms + spring-kafka + spring-katharsis + spring-ldap + spring-mobile + spring-mockito + spring-mvc-forms-thymeleaf + spring-mvc-java + spring-mvc-velocity + spring-mvc-webflow + spring-protobuf + spring-quartz + remoting-hessian-burlap/spring-remoting-hessian-burlap-client + remoting-hessian-burlap/remoting-hessian-burlap-server + spring-reactor + spring-remoting/ + spring-remoting/remoting-http/remoting-http-server + spring-remoting/remoting-jms/remoting-jms-client + spring-remoting/remoting-rmi/remoting-rmi-server + spring-rest + spring-rest-angular + spring-rest-compress + spring-rest-full + spring-rest-simple + spring-resttemplate + spring-security-acl + spring-security-angular + spring-security-cache-control + spring-security-core + spring-security-mvc-boot + spring-security-mvc-custom + spring-security-mvc-digest-auth + spring-security-mvc-ldap + spring-security-mvc-persisted-remember-me + spring-security-mvc + spring-security-mvc-socket + spring-security-rest + spring-security-sso + spring-security-thymeleaf/spring-security-thymeleaf-authentication + spring-security-thymeleaf/spring-security-thymeleaf-authorize + spring-security-thymeleaf/spring-security-thymeleaf-config + spring-security-x509 + spring-session/spring-session-jdbc + spring-sleuth + spring-social-login + spring-spel + spring-state-machine + spring-swagger-codegen/spring-swagger-codegen-app + spring-thymeleaf + spring-vault + spring-vertx + spring-zuul/spring-zuul-foos-resource + persistence-modules/hibernate-mapping + persistence-modules/spring-data-dynamodb + persistence-modules/spring-data-eclipselink + persistence-modules/spring-data-solr + persistence-modules/spring-hibernate-5 + + spring-boot-flowable + spring-security-kerberos + spring-boot-nashorn + + + + + + default-heavy + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + 3 + true + + SpringContextTest + **/*UnitTest + + + **/*IntegrationTest.java + **/*IntTest.java + **/*LongRunningUnitTest.java + **/*ManualTest.java + **/*JdbcTest.java + **/*LiveTest.java + + + + + + + + + parent-boot-1 + parent-boot-2 + parent-spring-4 + parent-spring-5 + parent-java + parent-kotlin + + core-java-modules/core-java-concurrency-advanced + core-kotlin + core-kotlin-2 + core-kotlin-io + + jenkins/hello-world + jhipster + jws + + libraries + persistence-modules/hibernate5 + persistence-modules/hibernate-mapping + persistence-modules/java-jpa + persistence-modules/java-jpa-2 + persistence-modules/java-mongodb + persistence-modules/jnosql + + vaadin + vavr + + + + + integration-lite-first + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + **/*ManualTest.java + **/*LiveTest.java + + + **/*IntegrationTest.java + **/*IntTest.java + + + + + + + + parent-boot-1 + parent-boot-2 + parent-spring-4 + parent-spring-5 + parent-java + parent-kotlin + + akka-streams + algorithms-genetic + algorithms-miscellaneous-1 + algorithms-miscellaneous-2 + algorithms-miscellaneous-3 + algorithms-miscellaneous-4 + algorithms-miscellaneous-5 + algorithms-sorting + animal-sniffer-mvn-plugin + annotations + antlr + apache-avro + apache-bval + apache-curator + apache-cxf + apache-fop + apache-geode + apache-meecrowave + apache-olingo/olingo2 + apache-opennlp + apache-poi + apache-pulsar + apache-shiro + apache-solrj + apache-spark + apache-thrift + apache-tika + apache-velocity + apache-zookeeper + asciidoctor + asm + atomix + autovalue + aws + aws-lambda + axon + azure + bazel + bootique + + cas + cdi + checker-plugin + cloud-foundry-uaa/cf-uaa-oauth2-client + cloud-foundry-uaa/cf-uaa-oauth2-resource-server + core-groovy + core-groovy-2 + core-groovy-collections + + + core-java-modules/core-java-8 + core-java-modules/core-java-8-2 + core-java-modules/core-java-annotations + core-java-modules/core-java-streams + core-java-modules/core-java-function + core-java-modules/core-java-lang-math + core-java-modules/core-java-datetime + core-java-modules/core-java-text + + + core-java-modules/core-java-arrays + core-java-modules/core-java-arrays-2 + core-java-modules/core-java-collections + core-java-modules/core-java-collections-2 + core-java-modules/core-java-collections-3 + core-java-modules/core-java-collections-list + core-java-modules/core-java-collections-list-2 + core-java-modules/core-java-collections-list-3 + core-java-modules/core-java-collections-array-list + core-java-modules/core-java-collections-set + core-java-modules/core-java-concurrency-basic + core-java-modules/core-java-concurrency-basic-2 + core-java-modules/core-java-concurrency-collections + core-java-modules/core-java-io + core-java-modules/core-java-io-files + core-java-modules/core-java-nio + core-java-modules/core-java-security + core-java-modules/core-java-lang-syntax + core-java-modules/core-java-lang-syntax-2 + core-java-modules/core-java-lang + core-java-modules/core-java-lang-2 + core-java-modules/core-java-lang-oop + core-java-modules/core-java-lang-oop-2 + core-java-modules/core-java-lang-oop-3 + core-java-modules + core-java-modules/core-java-networking + core-java-modules/core-java-perf + core-java-modules/core-java-sun + core-scala + couchbase + custom-pmd + + dagger + data-structures + ddd + deeplearning4j + disruptor + dozer + drools + dubbo + + ethereum + + feign + flyway-cdi-extension + + geotools + google-cloud + google-web-toolkit + + + graphql/graphql-java + grpc + gson + guava + guava-io + guava-collections + guava-collections-set + guava-modules + + guice + + hazelcast + helidon + httpclient + httpclient-simple + hystrix + + image-processing + immutables + + jackson + jackson-2 + jackson-simple + java-collections-conversions + java-collections-maps + java-collections-maps-2 + java-jdi + + java-ee-8-security-api + java-lite + java-math + java-numbers + java-numbers-2 + java-rmi + java-spi + java-streams + + java-strings + java-strings-2 + java-strings-3 + java-strings-ops + java-vavr-stream + java-websocket + javafx + javax-servlets + javaxval + jaxb + - jee-7-security - jee-kotlin - jersey - jgit - jgroups - jhipster-5 - jib - jjwt - jmeter - jmh - jni - jooby - jsf - json - json-path - jsoup - jta + jee-7-security + jee-kotlin + jersey + jgit + jgroups + jhipster-5 + jib + jjwt + jmeter + jmh + jni + jooby + jsf + json + json-path + jsoup + jta - - kotlin-libraries + + kotlin-libraries - - libraries - libraries-data - libraries-data-2 - libraries-apache-commons - libraries-apache-commons-collections - libraries-apache-commons-io - libraries-testing - libraries-security - libraries-server - libraries-http - linkrest - logging-modules - lombok - lucene + + libraries + libraries-data + libraries-data-2 + libraries-apache-commons + libraries-apache-commons-collections + libraries-apache-commons-io + libraries-testing + libraries-security + libraries-server + libraries-http + linkrest + logging-modules + lombok + lucene - mapstruct - - maven-all/maven - maven-all/maven-war-plugin - maven-all/profiles - maven-all/versions-maven-plugin - - maven-archetype - - maven-polyglot/maven-polyglot-json-extension - - mesos-marathon - metrics - - microprofile + mapstruct + + maven-all/maven + maven-all/maven-war-plugin + maven-all/profiles + maven-all/versions-maven-plugin + + maven-archetype + + maven-polyglot/maven-polyglot-json-extension + + mesos-marathon + metrics + + microprofile ml - msf4j - - mustache - mybatis + msf4j + + mustache + mybatis - optaplanner - orika - osgi + optaplanner + orika + osgi - patterns - pdf - performance-tests - - protobuffer + patterns + pdf + performance-tests + + protobuffer - persistence-modules + persistence-modules - rabbitmq - - ratpack - reactor-core - resteasy - restx - - rule-engines - rsocket - rxjava - rxjava-2 - oauth2-framework-impl - spf4j - spring-boot-performance - spring-boot-properties - - + rabbitmq + + ratpack + reactor-core + resteasy + restx + + rule-engines + rsocket + rxjava + rxjava-2 + oauth2-framework-impl + spf4j + spring-boot-performance + spring-boot-properties + + - + - + - - integration-lite-second + + integration-lite-second - - - - org.apache.maven.plugins - maven-surefire-plugin - - - **/*ManualTest.java - **/*LiveTest.java - - - **/*IntegrationTest.java - **/*IntTest.java - - - - - + + + + org.apache.maven.plugins + maven-surefire-plugin + + + **/*ManualTest.java + **/*LiveTest.java + + + **/*IntegrationTest.java + **/*IntTest.java + + + + + - - parent-boot-1 - parent-boot-2 - parent-spring-4 - parent-spring-5 - parent-java - parent-kotlin + + parent-boot-1 + parent-boot-2 + parent-spring-4 + parent-spring-5 + parent-java + parent-kotlin - saas - spark-java + saas + spark-java - spring-4 + spring-4 - spring-5 - spring-5-data-reactive - spring-5-mvc - spring-5-reactive - spring-5-reactive-2 - spring-5-reactive-client - spring-5-reactive-oauth - spring-5-reactive-security - spring-5-security - spring-5-security-oauth - spring-5-security-cognito - spring-activiti - spring-akka - spring-all - spring-amqp - spring-aop - spring-apache-camel - spring-batch - spring-bom + spring-5 + spring-5-data-reactive + spring-5-mvc + spring-5-reactive + spring-5-reactive-2 + spring-5-reactive-client + spring-5-reactive-oauth + spring-5-reactive-security + spring-5-security + spring-5-security-oauth + spring-5-security-cognito + spring-activiti + spring-akka + spring-all + spring-amqp + spring-aop + spring-apache-camel + spring-batch + spring-bom - spring-boot - spring-boot-admin - spring-boot-angular - spring-boot-autoconfiguration - spring-boot-bootstrap - spring-boot-camel - - spring-boot-client - spring-boot-crud - spring-boot-ctx-fluent - spring-boot-custom-starter - spring-boot-disable-console-logging - - spring-boot-jasypt - spring-boot-keycloak - spring-boot-logging-log4j2 - spring-boot-management - spring-boot-mvc - spring-boot-mvc-birt - spring-boot-ops - spring-boot-ops-2 - spring-boot-rest - spring-boot-data - spring-boot-parent - spring-boot-property-exp - spring-boot-security - spring-boot-vue + spring-boot + spring-boot-admin + spring-boot-angular + spring-boot-autoconfiguration + spring-boot-bootstrap + spring-boot-camel + + spring-boot-client + spring-boot-crud + spring-boot-ctx-fluent + spring-boot-custom-starter + spring-boot-disable-console-logging + + spring-boot-jasypt + spring-boot-keycloak + spring-boot-logging-log4j2 + spring-boot-management + spring-boot-mvc + spring-boot-mvc-birt + spring-boot-ops + spring-boot-ops-2 + spring-boot-rest + spring-boot-data + spring-boot-parent + spring-boot-property-exp + spring-boot-security + spring-boot-vue - spring-cloud - spring-cloud-bus - - spring-cloud-data-flow + spring-cloud + spring-cloud-bus + + spring-cloud-data-flow - spring-core - spring-core-2 - spring-cucumber + spring-core + spring-core-2 + spring-cucumber - spring-data-rest - spring-data-rest-querydsl - spring-dispatcher-servlet - spring-drools - spring-di + spring-data-rest + spring-data-rest-querydsl + spring-dispatcher-servlet + spring-drools + spring-di - spring-ehcache - spring-ejb - spring-exceptions + spring-ehcache + spring-ejb + spring-exceptions - spring-freemarker + spring-freemarker - spring-groovy + spring-groovy - spring-integration + spring-integration - spring-jenkins-pipeline - spring-jersey - spring-jinq - spring-jms - spring-jooq + spring-jenkins-pipeline + spring-jersey + spring-jinq + spring-jms + spring-jooq - spring-kafka - spring-katharsis + spring-kafka + spring-katharsis - spring-ldap + spring-ldap - spring-mobile - spring-mockito - spring-mvc-forms-jsp - spring-mvc-forms-thymeleaf - spring-mvc-java - spring-mvc-kotlin - spring-mvc-simple - spring-mvc-simple-2 - spring-mvc-velocity - spring-mvc-webflow - spring-mvc-xml + spring-mobile + spring-mockito + spring-mvc-forms-jsp + spring-mvc-forms-thymeleaf + spring-mvc-java + spring-mvc-kotlin + spring-mvc-simple + spring-mvc-simple-2 + spring-mvc-velocity + spring-mvc-webflow + spring-mvc-xml - spring-protobuf - + spring-protobuf + - spring-quartz + spring-quartz - spring-reactive-kotlin - spring-reactor - spring-remoting - spring-rest - spring-rest-angular - spring-rest-compress - spring-rest-full - spring-rest-hal-browser - spring-rest-query-language - spring-rest-shell - spring-rest-simple - spring-resttemplate - spring-roo + spring-reactive-kotlin + spring-reactor + spring-remoting + spring-rest + spring-rest-angular + spring-rest-compress + spring-rest-full + spring-rest-hal-browser + spring-rest-query-language + spring-rest-shell + spring-rest-simple + spring-resttemplate + spring-roo - spring-security-acl - spring-security-angular/server - spring-security-cache-control - spring-security-core - spring-security-mvc-boot - spring-security-mvc-custom - spring-security-mvc-digest-auth - spring-security-mvc-ldap - spring-security-mvc-login - spring-security-mvc-persisted-remember-me - spring-security-mvc - spring-security-mvc-socket - spring-security-openid - - spring-security-rest - spring-security-rest-basic-auth - spring-security-rest-custom - spring-security-sso - spring-security-stormpath - spring-security-thymeleaf - spring-security-x509 - spring-session - spring-sleuth - spring-soap - spring-social-login - spring-spel - spring-state-machine - spring-static-resources - spring-swagger-codegen + spring-security-acl + spring-security-angular/server + spring-security-cache-control + spring-security-core + spring-security-mvc-boot + spring-security-mvc-custom + spring-security-mvc-digest-auth + spring-security-mvc-ldap + spring-security-mvc-login + spring-security-mvc-persisted-remember-me + spring-security-mvc + spring-security-mvc-socket + spring-security-openid + + spring-security-rest + spring-security-rest-basic-auth + spring-security-rest-custom + spring-security-sso + spring-security-stormpath + spring-security-thymeleaf + spring-security-x509 + spring-session + spring-sleuth + spring-soap + spring-social-login + spring-spel + spring-state-machine + spring-static-resources + spring-swagger-codegen - spring-thymeleaf + spring-thymeleaf - spring-vault - spring-vertx + spring-vault + spring-vertx - spring-webflux-amqp + spring-webflux-amqp - spring-zuul + spring-zuul - static-analysis - stripe - structurizr - struts-2 + static-analysis + stripe + structurizr + struts-2 - testing-modules + testing-modules - twilio - twitter4j + twilio + twitter4j - undertow + undertow - vertx - vertx-and-rxjava - video-tutorials - vraptor + vertx + vertx-and-rxjava + video-tutorials + vraptor - wicket + wicket - xml - xstream - + xml + xstream + - + - - integration-heavy + + integration-heavy - - - - org.apache.maven.plugins - maven-surefire-plugin - - - **/*ManualTest.java - **/*LiveTest.java - - - **/*IntegrationTest.java - **/*IntTest.java - - - - - + + + + org.apache.maven.plugins + maven-surefire-plugin + + + **/*ManualTest.java + **/*LiveTest.java + + + **/*IntegrationTest.java + **/*IntTest.java + + + + + - - parent-boot-1 - parent-boot-2 - parent-spring-4 - parent-spring-5 - parent-java - parent-kotlin + + parent-boot-1 + parent-boot-2 + parent-spring-4 + parent-spring-5 + parent-java + parent-kotlin - core-java-modules/core-java - core-java-modules/core-java-concurrency-advanced - core-kotlin - core-kotlin-2 + core-java-modules/core-java + core-java-modules/core-java-concurrency-advanced + core-kotlin + core-kotlin-2 - jenkins/hello-world - jhipster - jws + jenkins/hello-world + jhipster + jws - libraries + libraries - persistence-modules/hibernate5 - persistence-modules/java-jpa - persistence-modules/java-jpa-2 - persistence-modules/java-mongodb - persistence-modules/jnosql + persistence-modules/hibernate5 + persistence-modules/java-jpa + persistence-modules/java-jpa-2 + persistence-modules/java-mongodb + persistence-modules/jnosql - vaadin - vavr - + vaadin + vavr + - + - + - - - - org.apache.maven.plugins - maven-jxr-plugin - ${maven-jxr-plugin.version} - - - + + + + org.apache.maven.plugins + maven-jxr-plugin + ${maven-jxr-plugin.version} + + + - - UTF-8 - UTF-8 - refs/remotes/origin/master - true - false - false - false - false + + UTF-8 + UTF-8 + refs/remotes/origin/master + true + false + false + false + false - 4.12 - 1.3 - 2.21.0 + 4.12 + 1.3 + 2.21.0 - - 1.7.21 - 1.1.7 + + 1.7.21 + 1.1.7 - - - 2.21.0 - 3.7.0 - 1.6.0 - 1.8 - 1.2.17 - 1.1 - 2.1.0.1 - 1.19 - 1.19 - 1.3 - 1.6.0 - 2.21.0 - 2.5 - 2.6 - 3.5 - 1.4 - 3.0.0 - 3.1.0 - 1.2 - 2.3.1 - 1.9.13 - 1.2 - 2.9.8 - 1.3 - 1.2.0 - 5.2.0 - 0.3.1 - 2.5.1 - 0.0.1 - 3.8 - 2.3 - - 3.8 - 1.16.12 - 1.4.197 - + + + 2.21.0 + 3.7.0 + 1.6.0 + 1.8 + 1.2.17 + 1.1 + 2.1.0.1 + 1.19 + 1.19 + 1.3 + 1.6.0 + 2.21.0 + 2.5 + 2.6 + 3.5 + 1.4 + 3.0.0 + 3.1.0 + 1.2 + 2.3.1 + 1.9.13 + 1.2 + 2.9.8 + 1.3 + 1.2.0 + 5.2.0 + 0.3.1 + 2.5.1 + 0.0.1 + 3.8 + 2.3 + + 3.8 + 1.16.12 + 1.4.197 + From afa47a9b313c4ce39697cf6d321d4f3807f29040 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Sun, 6 Oct 2019 08:42:14 +0200 Subject: [PATCH 069/199] #BAEL-17522 update acronyms --- jmh/README.md | 2 +- jni/README.md | 2 +- jsf/README.md | 2 +- jta/README.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/jmh/README.md b/jmh/README.md index 257bb7bf85..3a5370c9f2 100644 --- a/jmh/README.md +++ b/jmh/README.md @@ -1,6 +1,6 @@ ## Java Microbenchmark Harness -This module contains articles about JMH (the Java Microbenchmark Harness). +This module contains articles about the Java Microbenchmark Harness (JMH). ### Relevant articles: diff --git a/jni/README.md b/jni/README.md index e65b89ca8a..6b984e6590 100644 --- a/jni/README.md +++ b/jni/README.md @@ -1,6 +1,6 @@ ## JNI -This module contains articles about JNI (the Java Native Interface). +This module contains articles about the Java Native Interface (JNI). ### Relevant Articles: diff --git a/jsf/README.md b/jsf/README.md index c82268c14b..7d586f9872 100644 --- a/jsf/README.md +++ b/jsf/README.md @@ -1,6 +1,6 @@ ## JSF -This module contains articles about JSF (JavaServer Faces). +This module contains articles about JavaServer Faces (JSF). ### Relevant Articles: - [Guide to JSF Expression Language 3.0](https://www.baeldung.com/jsf-expression-language-el-3) diff --git a/jta/README.md b/jta/README.md index 862c9e620a..0351177a0d 100644 --- a/jta/README.md +++ b/jta/README.md @@ -1,6 +1,6 @@ ## JTA -This module contains articles about JTA. +This module contains articles about the Java Transaction API (JTA). ### Relevant Articles: - [Guide to Java EE JTA](https://www.baeldung.com/jee-jta) From b00015e7f3b4293ad9f1a75dd08f9adaa1f9c7e7 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Sun, 6 Oct 2019 08:47:51 +0200 Subject: [PATCH 070/199] #BAEL-17507 update Akka libraries names --- akka-http/README.md | 2 +- akka-streams/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/akka-http/README.md b/akka-http/README.md index e34a31f381..ebe6581ff6 100644 --- a/akka-http/README.md +++ b/akka-http/README.md @@ -1,6 +1,6 @@ ## Akka HTTP -This module contains articles about HTTP with Akka. +This module contains articles about Akka HTTP. ### Relevant articles: diff --git a/akka-streams/README.md b/akka-streams/README.md index c13a31fd06..a59b7fde5c 100644 --- a/akka-streams/README.md +++ b/akka-streams/README.md @@ -1,6 +1,6 @@ ## Akka Streams -This module contains articles about streams in Akka. +This module contains articles about Akka Streams. ### Relevant articles From be24e03a4848d16a4151b9e013f71571cf398cfa Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 6 Oct 2019 12:27:05 +0530 Subject: [PATCH 071/199] [BAEL-17473] - Moved articles to corrrect places, formatted pom.xmls and added description in readme files --- spring-boot-artifacts/README.md | 5 +- spring-boot-artifacts/pom.xml | 53 +++++++--------- spring-boot-deployment/README.md | 6 +- spring-boot-deployment/pom.xml | 60 +++++++++---------- .../compare/ComparisonApplication.java | 0 .../baeldung/compare/StartupEventHandler.java | 0 .../src/main/resources/application.properties | 8 ++- spring-boot-environment/README.md | 5 ++ spring-boot-environment/pom.xml | 16 ++--- .../baeldung/properties/ConfProperties.java | 0 .../ExternalPropertyConfigurer.java | 0 .../ExternalPropertyFileLoader.java | 0 .../main/resources/external/conf.properties | 0 ...rnalPropertyFileLoaderIntegrationTest.java | 0 spring-boot-runtime/README.md | 8 ++- spring-boot-runtime/pom.xml | 16 ++--- .../resources/application-tomcat.properties | 0 17 files changed, 95 insertions(+), 82 deletions(-) rename {spring-boot-runtime => spring-boot-deployment}/src/main/java/com/baeldung/compare/ComparisonApplication.java (100%) rename {spring-boot-runtime => spring-boot-deployment}/src/main/java/com/baeldung/compare/StartupEventHandler.java (100%) rename {spring-boot-artifacts => spring-boot-environment}/src/main/java/com/baeldung/properties/ConfProperties.java (100%) rename {spring-boot-artifacts => spring-boot-environment}/src/main/java/com/baeldung/properties/ExternalPropertyConfigurer.java (100%) rename {spring-boot-artifacts => spring-boot-environment}/src/main/java/com/baeldung/properties/ExternalPropertyFileLoader.java (100%) rename {spring-boot-artifacts => spring-boot-environment}/src/main/resources/external/conf.properties (100%) rename {spring-boot-artifacts => spring-boot-environment}/src/test/java/com/baeldung/properties/ExternalPropertyFileLoaderIntegrationTest.java (100%) rename {spring-boot-deployment => spring-boot-runtime}/src/main/resources/application-tomcat.properties (100%) diff --git a/spring-boot-artifacts/README.md b/spring-boot-artifacts/README.md index 0a3f1b7e60..4025e43a65 100644 --- a/spring-boot-artifacts/README.md +++ b/spring-boot-artifacts/README.md @@ -1,7 +1,10 @@ +## Spring Boot Artifacts + +This module contains articles about configuring the Spring Boot build process. + ### Relevant Articles: - [Spring Boot Dependency Management with a Custom Parent](https://www.baeldung.com/spring-boot-dependency-management-custom-parent) - [Create a Fat Jar App with Spring Boot](https://www.baeldung.com/deployable-fat-jar-spring-boot) - [Intro to Spring Boot Starters](https://www.baeldung.com/spring-boot-starters) - - [Spring Properties File Outside jar](https://www.baeldung.com/spring-properties-file-outside-jar) - [Introduction to WebJars](https://www.baeldung.com/maven-webjars) - [A Quick Guide to Maven Wrapper](https://www.baeldung.com/maven-wrapper) \ No newline at end of file diff --git a/spring-boot-artifacts/pom.xml b/spring-boot-artifacts/pom.xml index 756864895d..8301533606 100644 --- a/spring-boot-artifacts/pom.xml +++ b/spring-boot-artifacts/pom.xml @@ -101,15 +101,6 @@ ${project.artifactId} - - - src/main/resources - true - - **/conf.properties - - - org.springframework.boot @@ -126,28 +117,28 @@ - org.apache.maven.plugins - maven-failsafe-plugin - 2.18 - - - - integration-tests - - integration-test - verify - - - - - **/ExternalPropertyFileLoaderIntegrationTest.java - - - - - + org.apache.maven.plugins + maven-failsafe-plugin + 2.18 + + + + integration-tests + + integration-test + verify + + + + + **/ExternalPropertyFileLoaderIntegrationTest.java + + + + + diff --git a/spring-boot-deployment/README.md b/spring-boot-deployment/README.md index 90c5d05e33..6171decf2d 100644 --- a/spring-boot-deployment/README.md +++ b/spring-boot-deployment/README.md @@ -1,5 +1,9 @@ +## Spring Boot Deployment + +This module contains articles about deployment of a Spring Boot Application + ### Relevant Articles: - [Deploy a Spring Boot WAR into a Tomcat Server](https://www.baeldung.com/spring-boot-war-tomcat-deploy) - [Spring Boot Console Application](https://www.baeldung.com/spring-boot-console-app) - [How to Configure Spring Boot Tomcat](https://www.baeldung.com/spring-boot-configure-tomcat) - - [Spring Boot Embedded Tomcat Logs](https://www.baeldung.com/spring-boot-embedded-tomcat-logs) + - [Comparing Embedded Servlet Containers in Spring Boot](https://www.baeldung.com/spring-boot-servlet-containers) \ No newline at end of file diff --git a/spring-boot-deployment/pom.xml b/spring-boot-deployment/pom.xml index 6802452ddf..69a54fd482 100644 --- a/spring-boot-deployment/pom.xml +++ b/spring-boot-deployment/pom.xml @@ -102,14 +102,14 @@ ${project.artifactId} - - src/main/resources - true - - **/conf.properties - - - + + src/main/resources + true + + **/conf.properties + + + org.springframework.boot @@ -126,28 +126,28 @@ - org.apache.maven.plugins - maven-failsafe-plugin - 2.18 - - - - integration-tests - - integration-test - verify - - - - - **/ExternalPropertyFileLoaderIntegrationTest.java - - - - - + org.apache.maven.plugins + maven-failsafe-plugin + 2.18 + + + + integration-tests + + integration-test + verify + + + + + **/ExternalPropertyFileLoaderIntegrationTest.java + + + + + diff --git a/spring-boot-runtime/src/main/java/com/baeldung/compare/ComparisonApplication.java b/spring-boot-deployment/src/main/java/com/baeldung/compare/ComparisonApplication.java similarity index 100% rename from spring-boot-runtime/src/main/java/com/baeldung/compare/ComparisonApplication.java rename to spring-boot-deployment/src/main/java/com/baeldung/compare/ComparisonApplication.java diff --git a/spring-boot-runtime/src/main/java/com/baeldung/compare/StartupEventHandler.java b/spring-boot-deployment/src/main/java/com/baeldung/compare/StartupEventHandler.java similarity index 100% rename from spring-boot-runtime/src/main/java/com/baeldung/compare/StartupEventHandler.java rename to spring-boot-deployment/src/main/java/com/baeldung/compare/StartupEventHandler.java diff --git a/spring-boot-deployment/src/main/resources/application.properties b/spring-boot-deployment/src/main/resources/application.properties index 709574239b..27b7915cff 100644 --- a/spring-boot-deployment/src/main/resources/application.properties +++ b/spring-boot-deployment/src/main/resources/application.properties @@ -1 +1,7 @@ -spring.main.allow-bean-definition-overriding=true \ No newline at end of file +management.endpoints.web.exposure.include=* +management.metrics.enable.root=true +management.metrics.enable.jvm=true +management.endpoint.restart.enabled=true +spring.datasource.jmx-enabled=false +spring.main.allow-bean-definition-overriding=true +management.endpoint.shutdown.enabled=true \ No newline at end of file diff --git a/spring-boot-environment/README.md b/spring-boot-environment/README.md index 57cf8b2461..e916c503bc 100644 --- a/spring-boot-environment/README.md +++ b/spring-boot-environment/README.md @@ -1,2 +1,7 @@ +## Spring Boot Environment + +This module contains articles about configuring the Spring Boot `Environment` + ### Relevant Articles: - [EnvironmentPostProcessor in Spring Boot](https://www.baeldung.com/spring-boot-environmentpostprocessor) + - [Spring Properties File Outside jar](https://www.baeldung.com/spring-properties-file-outside-jar) \ No newline at end of file diff --git a/spring-boot-environment/pom.xml b/spring-boot-environment/pom.xml index a957dcde1b..4e4a363fee 100644 --- a/spring-boot-environment/pom.xml +++ b/spring-boot-environment/pom.xml @@ -90,14 +90,14 @@ ${project.artifactId} - - src/main/resources - true - - **/conf.properties - - - + + src/main/resources + true + + **/conf.properties + + + diff --git a/spring-boot-artifacts/src/main/java/com/baeldung/properties/ConfProperties.java b/spring-boot-environment/src/main/java/com/baeldung/properties/ConfProperties.java similarity index 100% rename from spring-boot-artifacts/src/main/java/com/baeldung/properties/ConfProperties.java rename to spring-boot-environment/src/main/java/com/baeldung/properties/ConfProperties.java diff --git a/spring-boot-artifacts/src/main/java/com/baeldung/properties/ExternalPropertyConfigurer.java b/spring-boot-environment/src/main/java/com/baeldung/properties/ExternalPropertyConfigurer.java similarity index 100% rename from spring-boot-artifacts/src/main/java/com/baeldung/properties/ExternalPropertyConfigurer.java rename to spring-boot-environment/src/main/java/com/baeldung/properties/ExternalPropertyConfigurer.java diff --git a/spring-boot-artifacts/src/main/java/com/baeldung/properties/ExternalPropertyFileLoader.java b/spring-boot-environment/src/main/java/com/baeldung/properties/ExternalPropertyFileLoader.java similarity index 100% rename from spring-boot-artifacts/src/main/java/com/baeldung/properties/ExternalPropertyFileLoader.java rename to spring-boot-environment/src/main/java/com/baeldung/properties/ExternalPropertyFileLoader.java diff --git a/spring-boot-artifacts/src/main/resources/external/conf.properties b/spring-boot-environment/src/main/resources/external/conf.properties similarity index 100% rename from spring-boot-artifacts/src/main/resources/external/conf.properties rename to spring-boot-environment/src/main/resources/external/conf.properties diff --git a/spring-boot-artifacts/src/test/java/com/baeldung/properties/ExternalPropertyFileLoaderIntegrationTest.java b/spring-boot-environment/src/test/java/com/baeldung/properties/ExternalPropertyFileLoaderIntegrationTest.java similarity index 100% rename from spring-boot-artifacts/src/test/java/com/baeldung/properties/ExternalPropertyFileLoaderIntegrationTest.java rename to spring-boot-environment/src/test/java/com/baeldung/properties/ExternalPropertyFileLoaderIntegrationTest.java diff --git a/spring-boot-runtime/README.md b/spring-boot-runtime/README.md index f9ca12c605..d3dc19493d 100644 --- a/spring-boot-runtime/README.md +++ b/spring-boot-runtime/README.md @@ -1,6 +1,10 @@ +## Spring Boot Runtime + +This module contains articles about administering a Spring Boot runtime + ### Relevant Articles: - [Shutdown a Spring Boot Application](https://www.baeldung.com/spring-boot-shutdown) - - [Comparing Embedded Servlet Containers in Spring Boot](https://www.baeldung.com/spring-boot-servlet-containers) - [Programmatically Restarting a Spring Boot Application](https://www.baeldung.com/java-restart-spring-boot-app) - [Logging HTTP Requests with Spring Boot Actuator HTTP Tracing](https://www.baeldung.com/spring-boot-actuator-http) - - [How to Disable Console Logging in Spring Boot](https://www.baeldung.com/spring-boot-disable-console-logging) \ No newline at end of file + - [How to Disable Console Logging in Spring Boot](https://www.baeldung.com/spring-boot-disable-console-logging) + - [Spring Boot Embedded Tomcat Logs](https://www.baeldung.com/spring-boot-embedded-tomcat-logs) \ No newline at end of file diff --git a/spring-boot-runtime/pom.xml b/spring-boot-runtime/pom.xml index eab8ca3cc2..dca9b47410 100644 --- a/spring-boot-runtime/pom.xml +++ b/spring-boot-runtime/pom.xml @@ -100,14 +100,14 @@ ${project.artifactId} - - src/main/resources - true - - **/conf.properties - - - + + src/main/resources + true + + **/conf.properties + + + diff --git a/spring-boot-deployment/src/main/resources/application-tomcat.properties b/spring-boot-runtime/src/main/resources/application-tomcat.properties similarity index 100% rename from spring-boot-deployment/src/main/resources/application-tomcat.properties rename to spring-boot-runtime/src/main/resources/application-tomcat.properties From b927b33465523259daf3ab38f7dec45cffb70186 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 6 Oct 2019 12:30:15 +0530 Subject: [PATCH 072/199] [BAEL-17473] - Formatted spring-mvc-simple-2 pom.xml --- spring-mvc-simple-2/pom.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/spring-mvc-simple-2/pom.xml b/spring-mvc-simple-2/pom.xml index 3ae577cb03..7faa832552 100644 --- a/spring-mvc-simple-2/pom.xml +++ b/spring-mvc-simple-2/pom.xml @@ -20,7 +20,7 @@ org.springframework.boot spring-boot-starter-web - + org.springframework.boot spring-boot-starter-test @@ -89,14 +89,14 @@ ${project.artifactId} - - src/main/resources - true - - **/conf.properties - - - + + src/main/resources + true + + **/conf.properties + + + From 1d611db82b2db3d512166812e879d5336e9a9388 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Sun, 6 Oct 2019 10:43:46 +0200 Subject: [PATCH 073/199] #BAEL-17525 add README descriptions --- maven-all/versions-maven-plugin/README.md | 2 +- metrics/README.md | 6 +++++- micronaut/README.md | 4 ++++ microprofile/README.md | 4 ++++ ml/README.md | 5 +++-- msf4j/README.md | 4 ++++ muleesb/README.md | 4 ++++ mustache/README.md | 4 ++++ mybatis/README.md | 4 ++++ optaplanner/README.md | 4 ++++ orika/README.md | 4 ++++ 11 files changed, 41 insertions(+), 4 deletions(-) diff --git a/maven-all/versions-maven-plugin/README.md b/maven-all/versions-maven-plugin/README.md index 8f5670f802..1423fe1131 100644 --- a/maven-all/versions-maven-plugin/README.md +++ b/maven-all/versions-maven-plugin/README.md @@ -1,3 +1,3 @@ ### Relevant Articles -- [Use the Latest Version of a Dependency in Maven](https://www.baeldung.com/maven-dependency-latest-version) \ No newline at end of file +- [Use the Latest Version of a Dependency in Maven](https://www.baeldung.com/maven-dependency-latest-version) diff --git a/metrics/README.md b/metrics/README.md index d344a2707f..f27f5fb795 100644 --- a/metrics/README.md +++ b/metrics/README.md @@ -1,4 +1,8 @@ -## Relevant articles: +## Metrics + +This module contains articles about metrics. + +### Relevant articles: - [Intro to Dropwizard Metrics](https://www.baeldung.com/dropwizard-metrics) - [Introduction to Netflix Servo](https://www.baeldung.com/netflix-servo) diff --git a/micronaut/README.md b/micronaut/README.md index 0a39cf9e33..86ed705a9f 100644 --- a/micronaut/README.md +++ b/micronaut/README.md @@ -1,2 +1,6 @@ +## Micronaut + +This module contains articles about Micronaut. + ### Relevant Articles: - [Introduction to Micronaut Framework](https://www.baeldung.com/micronaut) diff --git a/microprofile/README.md b/microprofile/README.md index 7525ee5bff..faa1e59af0 100644 --- a/microprofile/README.md +++ b/microprofile/README.md @@ -1,3 +1,7 @@ +## Eclipse MicroProfile + +This module contains articles about Eclipse MicroProfile. + ### Relevant articles: - [Building Microservices with Eclipse MicroProfile](https://www.baeldung.com/eclipse-microprofile) diff --git a/ml/README.md b/ml/README.md index 1362f2840c..5fd32012b4 100644 --- a/ml/README.md +++ b/ml/README.md @@ -1,5 +1,6 @@ -### Logistic Regression in Java -This is a soft introduction to ML using [deeplearning4j](https://deeplearning4j.org) library +## Machine Learning + +This module contains articles about Machine Learning (ML) in Java with [deeplearning4j](https://deeplearning4j.org). ### Relevant Articles: - [Logistic Regression in Java](https://www.baeldung.com/) diff --git a/msf4j/README.md b/msf4j/README.md index b7f2c5a546..7655addbc5 100644 --- a/msf4j/README.md +++ b/msf4j/README.md @@ -1,3 +1,7 @@ +## MSF4J + +This module contains articles about MSF4J. + ### Relevant Articles: - [Introduction to Java Microservices with MSF4J](https://www.baeldung.com/msf4j) diff --git a/muleesb/README.md b/muleesb/README.md index 555a10b5cc..8e45d8bc53 100644 --- a/muleesb/README.md +++ b/muleesb/README.md @@ -1,3 +1,7 @@ +## Mule ESB + +This module contains articles about the Mule Enterprise Service Bus (ESB). + ### Relevant Articles: - [Getting Started With Mule ESB](https://www.baeldung.com/mule-esb) diff --git a/mustache/README.md b/mustache/README.md index c36080b56f..e0fd642fda 100644 --- a/mustache/README.md +++ b/mustache/README.md @@ -1,3 +1,7 @@ +## Mustache + +This module contains articles about Mustache. + ### Relevant Articles: - [Introduction to Mustache](https://www.baeldung.com/mustache) - [Guide to Mustache with Spring Boot](https://www.baeldung.com/spring-boot-mustache) diff --git a/mybatis/README.md b/mybatis/README.md index 57687d3da1..2c3a9085e4 100644 --- a/mybatis/README.md +++ b/mybatis/README.md @@ -1,2 +1,6 @@ +## MyBatis + +This module contains articles about MyBatis. + ### Relevant Articles: - [Quick Guide to MyBatis](https://www.baeldung.com/mybatis) diff --git a/optaplanner/README.md b/optaplanner/README.md index 1568a615c0..b7a2dbe14b 100644 --- a/optaplanner/README.md +++ b/optaplanner/README.md @@ -1,3 +1,7 @@ +## OptaPlanner + +This module contains articles about OptaPlanner. + ### Relevant articles - [A Guide to OptaPlanner](https://www.baeldung.com/opta-planner) diff --git a/orika/README.md b/orika/README.md index 0096793507..094a60aa51 100644 --- a/orika/README.md +++ b/orika/README.md @@ -1,2 +1,6 @@ +## Orika + +This module contains articles about Orika. + ### Relevant Articles: - [Mapping with Orika](https://www.baeldung.com/orika-mapping) From 750aab063e2c2da5d6f9cfdb110a24ed9c1b38e3 Mon Sep 17 00:00:00 2001 From: Afshin Date: Sun, 6 Oct 2019 11:07:21 +0200 Subject: [PATCH 074/199] indentations are adjusted --- .../CharacterEncodingExamplesUnitTest.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java b/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java index d87eafcee9..a8cee6881d 100644 --- a/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java +++ b/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java @@ -76,37 +76,37 @@ public class CharacterEncodingExamplesUnitTest { @Test public void givenUTF8String_decodeByUS_ASCII_ReplaceMalformedInputSequence() throws IOException { String input = "The façade pattern is a software design pattern."; - Assertions.assertEquals(CharacterEncodingExamples.decodeText(input, StandardCharsets.US_ASCII, CodingErrorAction.REPLACE), - "The fa��ade pattern is a software design pattern."); + Assertions.assertEquals("The fa��ade pattern is a software design pattern.", + CharacterEncodingExamples.decodeText(input, StandardCharsets.US_ASCII, CodingErrorAction.REPLACE)); } @Test public void givenUTF8String_decodeByUS_ASCII_IgnoreMalformedInputSequence() throws IOException { String input = "The façade pattern is a software design pattern."; Assertions.assertEquals( - CharacterEncodingExamples.decodeText(input, StandardCharsets.US_ASCII, CodingErrorAction.IGNORE), - "The faade pattern is a software design pattern."); + "The faade pattern is a software design pattern.", + CharacterEncodingExamples.decodeText(input, StandardCharsets.US_ASCII, CodingErrorAction.IGNORE)); } @Test public void givenUTF8String_decodeByUS_ASCII_ReportMalformedInputSequence() { String input = "The façade pattern is a software design pattern."; Assertions.assertThrows(MalformedInputException.class, - () -> CharacterEncodingExamples.decodeText(input, StandardCharsets.US_ASCII, CodingErrorAction.REPORT)); + () -> CharacterEncodingExamples.decodeText(input, StandardCharsets.US_ASCII, CodingErrorAction.REPORT)); } @Test public void givenTextFile_FindSuitableCandidateEncodings() { Path path = Paths.get("src/test/resources/encoding.txt"); - List allCandidateCharSets = Arrays.asList(StandardCharsets.US_ASCII, StandardCharsets.UTF_8, StandardCharsets.ISO_8859_1); + List allCandidateCharSets = Arrays.asList( + StandardCharsets.US_ASCII, StandardCharsets.UTF_8, StandardCharsets.ISO_8859_1); List suitableCharsets = new ArrayList<>(); allCandidateCharSets.forEach(charset -> { try { CharsetDecoder charsetDecoder = charset.newDecoder().onMalformedInput(CodingErrorAction.REPORT); Reader reader = new InputStreamReader(Files.newInputStream(path), charsetDecoder); BufferedReader bufferedReader = new BufferedReader(reader); - while (bufferedReader.readLine() != null) { - } + bufferedReader.readLine(); suitableCharsets.add(charset); } catch (MalformedInputException ignored) { } catch (IOException ex) { From da1ac659fb1ae9c982fe3226a0906c5bdfb06a10 Mon Sep 17 00:00:00 2001 From: Afshin Date: Sun, 6 Oct 2019 11:22:18 +0200 Subject: [PATCH 075/199] decodeText implementation is reformatted --- .../com/baeldung/encoding/CharacterEncodingExamples.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java b/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java index c1898a6723..1ed5f9e62a 100644 --- a/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java +++ b/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java @@ -39,10 +39,7 @@ public class CharacterEncodingExamples { CharsetDecoder charsetDecoder = charset.newDecoder(); charsetDecoder.onMalformedInput(codingErrorAction); return new BufferedReader( - new InputStreamReader( - new ByteArrayInputStream(input.getBytes()), - charsetDecoder)) - .readLine(); - + new InputStreamReader( + new ByteArrayInputStream(input.getBytes()), charsetDecoder)).readLine(); } } From 6f6f8913551fefb5d7260e00970c8c393101057f Mon Sep 17 00:00:00 2001 From: Denis Date: Sun, 6 Oct 2019 11:26:14 +0200 Subject: [PATCH 076/199] move spring-all/spring43 to spring-4 module * WebMvcConfigurer default methods are available only in Spring 5+ changed AttributeAnnotationConfiguration to extend WebMvcConfigurerAdapter --- spring-4/README.md | 1 + spring-4/pom.xml | 23 +++++++++++++++++++ .../AttributeAnnotationsTestController.java | 0 .../ParamInterceptor.java | 0 .../java/org/baeldung/spring43/cache/Foo.java | 0 .../baeldung/spring43/cache/FooService.java | 0 .../spring43/composedmapping/Appointment.java | 0 .../composedmapping/AppointmentService.java | 0 .../AppointmentsController.java | 0 .../baeldung/spring43/ctor/FooRepository.java | 0 .../baeldung/spring43/ctor/FooService.java | 0 .../spring43/defaultmethods/DateHolder.java | 0 .../spring43/defaultmethods/IDateHolder.java | 0 .../spring43/depresolution/FooRepository.java | 0 .../spring43/depresolution/FooService.java | 0 .../scopeannotations/AppPreferences.java | 0 .../InstanceCountingService.java | 0 .../scopeannotations/LoginAction.java | 0 .../scopeannotations/ScopeTestController.java | 0 .../scopeannotations/UserPreferences.java | 0 .../main/resources/defaultmethods-context.xml | 0 .../main/resources/implicit-ctor-context.xml | 0 .../AttributeAnnotationConfiguration.java | 4 ++-- .../AttributeAnnotationIntegrationTest.java | 0 .../cache/CacheRefinementsConfiguration.java | 0 .../CacheRefinementsIntegrationTest.java | 0 .../ComposedMappingConfiguration.java | 2 +- .../ComposedMappingIntegrationTest.java | 0 ...onConstructorInjectionIntegrationTest.java | 0 .../ctor/FooRepositoryConfiguration.java | 0 .../ctor/FooServiceConfiguration.java | 0 .../ImplicitConstructorIntegrationTest.java | 0 ...efaultMethodsInjectionIntegrationTest.java | 0 .../ITransactionalUnitTest.java | 0 .../TransactionalIntegrationTest.java | 0 .../TransactionalTestConfiguration.java | 0 .../ObjectProviderConfiguration.java | 0 .../ObjectProviderIntegrationTest.java | 0 .../ScopeAnnotationsConfiguration.java | 0 .../ScopeAnnotationsIntegrationTest.java | 0 spring-all/README.md | 1 - spring-all/pom.xml | 14 ----------- 42 files changed, 27 insertions(+), 18 deletions(-) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationsTestController.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/attributeannotations/ParamInterceptor.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/cache/Foo.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/cache/FooService.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/composedmapping/Appointment.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/composedmapping/AppointmentService.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/composedmapping/AppointmentsController.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/ctor/FooRepository.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/ctor/FooService.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/defaultmethods/DateHolder.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/defaultmethods/IDateHolder.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/depresolution/FooRepository.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/depresolution/FooService.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/scopeannotations/AppPreferences.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/scopeannotations/InstanceCountingService.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/scopeannotations/LoginAction.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/scopeannotations/ScopeTestController.java (100%) rename {spring-all => spring-4}/src/main/java/org/baeldung/spring43/scopeannotations/UserPreferences.java (100%) rename {spring-all => spring-4}/src/main/resources/defaultmethods-context.xml (100%) rename {spring-all => spring-4}/src/main/resources/implicit-ctor-context.xml (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationConfiguration.java (91%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationIntegrationTest.java (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/cache/CacheRefinementsConfiguration.java (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/cache/CacheRefinementsIntegrationTest.java (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingConfiguration.java (97%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingIntegrationTest.java (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/ctor/ConfigurationConstructorInjectionIntegrationTest.java (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/ctor/FooRepositoryConfiguration.java (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/ctor/FooServiceConfiguration.java (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/ctor/ImplicitConstructorIntegrationTest.java (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/defaultmethods/DefaultMethodsInjectionIntegrationTest.java (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/defaultmethods/ITransactionalUnitTest.java (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/defaultmethods/TransactionalIntegrationTest.java (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/defaultmethods/TransactionalTestConfiguration.java (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/depresolution/ObjectProviderConfiguration.java (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/depresolution/ObjectProviderIntegrationTest.java (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/scopeannotations/ScopeAnnotationsConfiguration.java (100%) rename {spring-all => spring-4}/src/test/java/org/baeldung/spring43/scopeannotations/ScopeAnnotationsIntegrationTest.java (100%) diff --git a/spring-4/README.md b/spring-4/README.md index 57cb8c3eeb..584b93a3a3 100644 --- a/spring-4/README.md +++ b/spring-4/README.md @@ -2,3 +2,4 @@ - [A Guide to Flips for Spring](http://www.baeldung.com/flips-spring) - [Configuring a Hikari Connection Pool with Spring Boot](https://www.baeldung.com/spring-boot-hikari) - [Spring JSON-P with Jackson](http://www.baeldung.com/spring-jackson-jsonp) +- [What’s New in Spring 4.3?](http://www.baeldung.com/whats-new-in-spring-4-3) diff --git a/spring-4/pom.xml b/spring-4/pom.xml index 59b74782ec..6c282b76a0 100644 --- a/spring-4/pom.xml +++ b/spring-4/pom.xml @@ -67,6 +67,27 @@ tomcat-embed-jasper provided + + org.apache.logging.log4j + log4j-api + + + org.apache.logging.log4j + log4j-core + + + org.easymock + easymock + ${easymock.version} + test + + + + org.hsqldb + hsqldb + ${hsqldb.version} + test + @@ -88,6 +109,8 @@ com.baeldung.flips.ApplicationConfig 1.0.1 + 3.6 + 2.4.0 diff --git a/spring-all/src/main/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationsTestController.java b/spring-4/src/main/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationsTestController.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationsTestController.java rename to spring-4/src/main/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationsTestController.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/attributeannotations/ParamInterceptor.java b/spring-4/src/main/java/org/baeldung/spring43/attributeannotations/ParamInterceptor.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/attributeannotations/ParamInterceptor.java rename to spring-4/src/main/java/org/baeldung/spring43/attributeannotations/ParamInterceptor.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/cache/Foo.java b/spring-4/src/main/java/org/baeldung/spring43/cache/Foo.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/cache/Foo.java rename to spring-4/src/main/java/org/baeldung/spring43/cache/Foo.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/cache/FooService.java b/spring-4/src/main/java/org/baeldung/spring43/cache/FooService.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/cache/FooService.java rename to spring-4/src/main/java/org/baeldung/spring43/cache/FooService.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/composedmapping/Appointment.java b/spring-4/src/main/java/org/baeldung/spring43/composedmapping/Appointment.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/composedmapping/Appointment.java rename to spring-4/src/main/java/org/baeldung/spring43/composedmapping/Appointment.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/composedmapping/AppointmentService.java b/spring-4/src/main/java/org/baeldung/spring43/composedmapping/AppointmentService.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/composedmapping/AppointmentService.java rename to spring-4/src/main/java/org/baeldung/spring43/composedmapping/AppointmentService.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/composedmapping/AppointmentsController.java b/spring-4/src/main/java/org/baeldung/spring43/composedmapping/AppointmentsController.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/composedmapping/AppointmentsController.java rename to spring-4/src/main/java/org/baeldung/spring43/composedmapping/AppointmentsController.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/ctor/FooRepository.java b/spring-4/src/main/java/org/baeldung/spring43/ctor/FooRepository.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/ctor/FooRepository.java rename to spring-4/src/main/java/org/baeldung/spring43/ctor/FooRepository.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/ctor/FooService.java b/spring-4/src/main/java/org/baeldung/spring43/ctor/FooService.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/ctor/FooService.java rename to spring-4/src/main/java/org/baeldung/spring43/ctor/FooService.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/defaultmethods/DateHolder.java b/spring-4/src/main/java/org/baeldung/spring43/defaultmethods/DateHolder.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/defaultmethods/DateHolder.java rename to spring-4/src/main/java/org/baeldung/spring43/defaultmethods/DateHolder.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/defaultmethods/IDateHolder.java b/spring-4/src/main/java/org/baeldung/spring43/defaultmethods/IDateHolder.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/defaultmethods/IDateHolder.java rename to spring-4/src/main/java/org/baeldung/spring43/defaultmethods/IDateHolder.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/depresolution/FooRepository.java b/spring-4/src/main/java/org/baeldung/spring43/depresolution/FooRepository.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/depresolution/FooRepository.java rename to spring-4/src/main/java/org/baeldung/spring43/depresolution/FooRepository.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/depresolution/FooService.java b/spring-4/src/main/java/org/baeldung/spring43/depresolution/FooService.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/depresolution/FooService.java rename to spring-4/src/main/java/org/baeldung/spring43/depresolution/FooService.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/scopeannotations/AppPreferences.java b/spring-4/src/main/java/org/baeldung/spring43/scopeannotations/AppPreferences.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/scopeannotations/AppPreferences.java rename to spring-4/src/main/java/org/baeldung/spring43/scopeannotations/AppPreferences.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/scopeannotations/InstanceCountingService.java b/spring-4/src/main/java/org/baeldung/spring43/scopeannotations/InstanceCountingService.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/scopeannotations/InstanceCountingService.java rename to spring-4/src/main/java/org/baeldung/spring43/scopeannotations/InstanceCountingService.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/scopeannotations/LoginAction.java b/spring-4/src/main/java/org/baeldung/spring43/scopeannotations/LoginAction.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/scopeannotations/LoginAction.java rename to spring-4/src/main/java/org/baeldung/spring43/scopeannotations/LoginAction.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/scopeannotations/ScopeTestController.java b/spring-4/src/main/java/org/baeldung/spring43/scopeannotations/ScopeTestController.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/scopeannotations/ScopeTestController.java rename to spring-4/src/main/java/org/baeldung/spring43/scopeannotations/ScopeTestController.java diff --git a/spring-all/src/main/java/org/baeldung/spring43/scopeannotations/UserPreferences.java b/spring-4/src/main/java/org/baeldung/spring43/scopeannotations/UserPreferences.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring43/scopeannotations/UserPreferences.java rename to spring-4/src/main/java/org/baeldung/spring43/scopeannotations/UserPreferences.java diff --git a/spring-all/src/main/resources/defaultmethods-context.xml b/spring-4/src/main/resources/defaultmethods-context.xml similarity index 100% rename from spring-all/src/main/resources/defaultmethods-context.xml rename to spring-4/src/main/resources/defaultmethods-context.xml diff --git a/spring-all/src/main/resources/implicit-ctor-context.xml b/spring-4/src/main/resources/implicit-ctor-context.xml similarity index 100% rename from spring-all/src/main/resources/implicit-ctor-context.xml rename to spring-4/src/main/resources/implicit-ctor-context.xml diff --git a/spring-all/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationConfiguration.java b/spring-4/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationConfiguration.java similarity index 91% rename from spring-all/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationConfiguration.java rename to spring-4/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationConfiguration.java index 347dd399e2..97ae651473 100644 --- a/spring-all/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationConfiguration.java +++ b/spring-4/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationConfiguration.java @@ -6,13 +6,13 @@ import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.servlet.view.InternalResourceViewResolver; @Configuration @ComponentScan @EnableWebMvc -public class AttributeAnnotationConfiguration implements WebMvcConfigurer { +public class AttributeAnnotationConfiguration extends WebMvcConfigurerAdapter { @Bean public ViewResolver viewResolver() { diff --git a/spring-all/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationIntegrationTest.java b/spring-4/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationIntegrationTest.java rename to spring-4/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/spring43/cache/CacheRefinementsConfiguration.java b/spring-4/src/test/java/org/baeldung/spring43/cache/CacheRefinementsConfiguration.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/cache/CacheRefinementsConfiguration.java rename to spring-4/src/test/java/org/baeldung/spring43/cache/CacheRefinementsConfiguration.java diff --git a/spring-all/src/test/java/org/baeldung/spring43/cache/CacheRefinementsIntegrationTest.java b/spring-4/src/test/java/org/baeldung/spring43/cache/CacheRefinementsIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/cache/CacheRefinementsIntegrationTest.java rename to spring-4/src/test/java/org/baeldung/spring43/cache/CacheRefinementsIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingConfiguration.java b/spring-4/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingConfiguration.java similarity index 97% rename from spring-all/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingConfiguration.java rename to spring-4/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingConfiguration.java index eddd56a11b..f1028ebefb 100644 --- a/spring-all/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingConfiguration.java +++ b/spring-4/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingConfiguration.java @@ -14,7 +14,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.context.annotation.Scope; -import static org.easymock.EasyMock.*; +import static org.easymock.EasyMock.replay; @Configuration @ComponentScan diff --git a/spring-all/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingIntegrationTest.java b/spring-4/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingIntegrationTest.java rename to spring-4/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/spring43/ctor/ConfigurationConstructorInjectionIntegrationTest.java b/spring-4/src/test/java/org/baeldung/spring43/ctor/ConfigurationConstructorInjectionIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/ctor/ConfigurationConstructorInjectionIntegrationTest.java rename to spring-4/src/test/java/org/baeldung/spring43/ctor/ConfigurationConstructorInjectionIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/spring43/ctor/FooRepositoryConfiguration.java b/spring-4/src/test/java/org/baeldung/spring43/ctor/FooRepositoryConfiguration.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/ctor/FooRepositoryConfiguration.java rename to spring-4/src/test/java/org/baeldung/spring43/ctor/FooRepositoryConfiguration.java diff --git a/spring-all/src/test/java/org/baeldung/spring43/ctor/FooServiceConfiguration.java b/spring-4/src/test/java/org/baeldung/spring43/ctor/FooServiceConfiguration.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/ctor/FooServiceConfiguration.java rename to spring-4/src/test/java/org/baeldung/spring43/ctor/FooServiceConfiguration.java diff --git a/spring-all/src/test/java/org/baeldung/spring43/ctor/ImplicitConstructorIntegrationTest.java b/spring-4/src/test/java/org/baeldung/spring43/ctor/ImplicitConstructorIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/ctor/ImplicitConstructorIntegrationTest.java rename to spring-4/src/test/java/org/baeldung/spring43/ctor/ImplicitConstructorIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/spring43/defaultmethods/DefaultMethodsInjectionIntegrationTest.java b/spring-4/src/test/java/org/baeldung/spring43/defaultmethods/DefaultMethodsInjectionIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/defaultmethods/DefaultMethodsInjectionIntegrationTest.java rename to spring-4/src/test/java/org/baeldung/spring43/defaultmethods/DefaultMethodsInjectionIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/spring43/defaultmethods/ITransactionalUnitTest.java b/spring-4/src/test/java/org/baeldung/spring43/defaultmethods/ITransactionalUnitTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/defaultmethods/ITransactionalUnitTest.java rename to spring-4/src/test/java/org/baeldung/spring43/defaultmethods/ITransactionalUnitTest.java diff --git a/spring-all/src/test/java/org/baeldung/spring43/defaultmethods/TransactionalIntegrationTest.java b/spring-4/src/test/java/org/baeldung/spring43/defaultmethods/TransactionalIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/defaultmethods/TransactionalIntegrationTest.java rename to spring-4/src/test/java/org/baeldung/spring43/defaultmethods/TransactionalIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/spring43/defaultmethods/TransactionalTestConfiguration.java b/spring-4/src/test/java/org/baeldung/spring43/defaultmethods/TransactionalTestConfiguration.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/defaultmethods/TransactionalTestConfiguration.java rename to spring-4/src/test/java/org/baeldung/spring43/defaultmethods/TransactionalTestConfiguration.java diff --git a/spring-all/src/test/java/org/baeldung/spring43/depresolution/ObjectProviderConfiguration.java b/spring-4/src/test/java/org/baeldung/spring43/depresolution/ObjectProviderConfiguration.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/depresolution/ObjectProviderConfiguration.java rename to spring-4/src/test/java/org/baeldung/spring43/depresolution/ObjectProviderConfiguration.java diff --git a/spring-all/src/test/java/org/baeldung/spring43/depresolution/ObjectProviderIntegrationTest.java b/spring-4/src/test/java/org/baeldung/spring43/depresolution/ObjectProviderIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/depresolution/ObjectProviderIntegrationTest.java rename to spring-4/src/test/java/org/baeldung/spring43/depresolution/ObjectProviderIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/spring43/scopeannotations/ScopeAnnotationsConfiguration.java b/spring-4/src/test/java/org/baeldung/spring43/scopeannotations/ScopeAnnotationsConfiguration.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/scopeannotations/ScopeAnnotationsConfiguration.java rename to spring-4/src/test/java/org/baeldung/spring43/scopeannotations/ScopeAnnotationsConfiguration.java diff --git a/spring-all/src/test/java/org/baeldung/spring43/scopeannotations/ScopeAnnotationsIntegrationTest.java b/spring-4/src/test/java/org/baeldung/spring43/scopeannotations/ScopeAnnotationsIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/spring43/scopeannotations/ScopeAnnotationsIntegrationTest.java rename to spring-4/src/test/java/org/baeldung/spring43/scopeannotations/ScopeAnnotationsIntegrationTest.java diff --git a/spring-all/README.md b/spring-all/README.md index 16da3bc8a1..3ee610f370 100644 --- a/spring-all/README.md +++ b/spring-all/README.md @@ -13,7 +13,6 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring - [Guide to Spring @Autowired](http://www.baeldung.com/spring-autowire) - [Spring Profiles](http://www.baeldung.com/spring-profiles) - [A Spring Custom Annotation for a Better DAO](http://www.baeldung.com/spring-annotation-bean-pre-processor) -- [What’s New in Spring 4.3?](http://www.baeldung.com/whats-new-in-spring-4-3) - [Running Setup Data on Startup in Spring](http://www.baeldung.com/running-setup-logic-on-startup-in-spring) - [Quick Guide to Spring Bean Scopes](http://www.baeldung.com/spring-bean-scopes) - [Custom Scope in Spring](http://www.baeldung.com/spring-custom-scope) diff --git a/spring-all/pom.xml b/spring-all/pom.xml index 1b733555da..bb6169085e 100644 --- a/spring-all/pom.xml +++ b/spring-all/pom.xml @@ -141,20 +141,6 @@ mockito-core test - - org.easymock - easymock - ${easymock.version} - test - - - org.apache.logging.log4j - log4j-api - - - org.apache.logging.log4j - log4j-core - From 09195b50c6b4899d478989b209b6f58944c7ed4a Mon Sep 17 00:00:00 2001 From: Sjmillington Date: Sun, 6 Oct 2019 11:28:39 +0100 Subject: [PATCH 077/199] added fullstop to end of spring security thymeleaf description --- spring-security-thymeleaf/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-security-thymeleaf/README.md b/spring-security-thymeleaf/README.md index 2ad7b9d2bd..e0fca4067c 100644 --- a/spring-security-thymeleaf/README.md +++ b/spring-security-thymeleaf/README.md @@ -1,7 +1,7 @@ ## Spring Security Thymeleaf -This module contains articles about Spring Security with Thymeleaf +This module contains articles about Spring Security with Thymeleaf. ### Relevant Articles: -- [Spring Security with Thymeleaf](https://www.baeldung.com/spring-security-thymeleaf) +- [Spring Security with Thymeleaf](https://www.baeldung.com/spring-security-thymeleaf) \ No newline at end of file From 6e8084b36c5e83dcffc90b6e9d2f4fc1ac473a5c Mon Sep 17 00:00:00 2001 From: Sjmillington Date: Sun, 6 Oct 2019 11:30:15 +0100 Subject: [PATCH 078/199] Renamed README.md to README.MD --- jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java | 4 ++-- spring-security-thymeleaf/{README.md => README.MD} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename spring-security-thymeleaf/{README.md => README.MD} (100%) diff --git a/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java b/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java index a50028a9ae..7b2fe3a0f2 100644 --- a/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java +++ b/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java @@ -49,14 +49,14 @@ public class Log { logs = git.log() // for all log.all() - .addPath("README.md") + .addPath("README.MD") .call(); count = 0; for (RevCommit rev : logs) { //System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */); count++; } - System.out.println("Had " + count + " commits on README.md"); + System.out.println("Had " + count + " commits on README.MD"); logs = git.log() // for all log.all() diff --git a/spring-security-thymeleaf/README.md b/spring-security-thymeleaf/README.MD similarity index 100% rename from spring-security-thymeleaf/README.md rename to spring-security-thymeleaf/README.MD From f88952e7ec78c23db69fb58e5fa73d1d154e9022 Mon Sep 17 00:00:00 2001 From: Denis Date: Sun, 6 Oct 2019 12:48:44 +0200 Subject: [PATCH 079/199] rename spring-all module * rename existing spring-core-2 to spring-core-3 * rename spring-all to spring-core-2 --- spring-all/README.md | 24 -- spring-all/pom.xml | 235 ------------------ {spring-all => spring-core-2}/.gitignore | 0 spring-core-2/README.md | 24 +- spring-core-2/pom.xml | 215 ++++++++++++++-- .../org/baeldung/autowire/sample/App.java | 0 .../baeldung/autowire/sample/AppConfig.java | 0 .../autowire/sample/BarFormatter.java | 0 .../org/baeldung/autowire/sample/FooDAO.java | 0 .../autowire/sample/FooFormatter.java | 0 .../baeldung/autowire/sample/FooService.java | 0 .../baeldung/autowire/sample/Formatter.java | 0 .../autowire/sample/FormatterType.java | 0 .../config/ConstructorBasedShipConfig.java | 0 .../bean/config/SetterBasedShipConfig.java | 0 .../org/baeldung/bean/injection/Helm.java | 0 .../org/baeldung/bean/injection/Ship.java | 0 .../CustomAnnotationConfiguration.java | 0 .../baeldung/customannotation/DataAccess.java | 0 .../DataAccessAnnotationProcessor.java | 0 .../DataAccessFieldCallback.java | 0 .../baeldung/customannotation/GenericDAO.java | 0 .../org/baeldung/customscope/TenantBean.java | 0 .../TenantBeanFactoryPostProcessor.java | 0 .../customscope/TenantBeansConfig.java | 0 .../org/baeldung/customscope/TenantScope.java | 0 .../customscope/TenantScopeConfig.java | 0 .../java/org/baeldung/nullibility/Person.java | 0 .../baeldung/nullibility/package-info.java | 0 .../main/java/org/baeldung/order/Average.java | 30 +-- .../java/org/baeldung/order/Excellent.java | 28 +-- .../main/java/org/baeldung/order/Good.java | 28 +-- .../main/java/org/baeldung/order/Rating.java | 12 +- .../java/org/baeldung/persistence/Setup.java | 0 .../java/org/baeldung/primary/Config.java | 0 .../baeldung/primary/DepartmentManager.java | 0 .../java/org/baeldung/primary/Employee.java | 0 .../org/baeldung/primary/GeneralManager.java | 0 .../java/org/baeldung/primary/Manager.java | 0 .../org/baeldung/primary/ManagerService.java | 0 .../baeldung/primary/PrimaryApplication.java | 0 .../baeldung/profiles/DatasourceConfig.java | 0 .../profiles/DevDatasourceConfig.java | 0 .../profiles/ProductionDatasourceConfig.java | 0 .../org/baeldung/profiles/ProfileManager.java | 0 .../profiles/SpringProfilesConfig.java | 0 .../main/java/org/baeldung/sample/Bar.java | 0 .../main/java/org/baeldung/sample/Foo.java | 0 .../baeldung/sampleabstract/BallService.java | 0 .../sampleabstract/BasketballService.java | 0 .../org/baeldung/sampleabstract/DemoApp.java | 0 .../sampleabstract/LogRepository.java | 0 .../sampleabstract/RuleRepository.java | 0 .../scopes/HelloMessageGenerator.java | 0 .../main/java/org/baeldung/scopes/Person.java | 0 .../org/baeldung/scopes/ScopesController.java | 0 .../main/java/org/baeldung/shell/Main.java | 0 .../shell/simple/SimpleBannerProvider.java | 0 .../org/baeldung/shell/simple/SimpleCLI.java | 0 .../simple/SimpleHistoryFileNameProvider.java | 0 .../shell/simple/SimplePromptProvider.java | 0 .../shell/simple/SimpleURLConverter.java | 0 .../baeldung/spring/config/CleanupBean.java | 0 .../baeldung/spring/config/CoreConfig.java | 0 .../spring/config/MainWebAppInitializer.java | 0 .../org/baeldung/spring/config/MvcConfig.java | 0 .../spring/config/PersistenceConfig.java | 0 .../baeldung/spring/config/ScopesConfig.java | 0 .../AsynchronousSpringEventsConfig.java | 0 .../AnnotationDrivenEventListener.java | 0 .../synchronous/ContextRefreshedListener.java | 0 .../synchronous/CustomSpringEvent.java | 0 .../CustomSpringEventListener.java | 0 .../CustomSpringEventPublisher.java | 0 .../synchronous/GenericSpringAppEvent.java | 0 .../synchronous/GenericSpringEvent.java | 0 .../GenericSpringEventListener.java | 0 .../GenericStringSpringAppEvent.java | 0 .../synchronous/GenericStringSpringEvent.java | 0 .../SynchronousSpringEventsConfig.java | 0 .../startup/AllStrategiesExampleBean.java | 0 .../startup/EventListenerExampleBean.java | 0 .../startup/InitMethodExampleBean.java | 0 .../startup/InitializingBeanExampleBean.java | 0 .../startup/InvalidInitExampleBean.java | 0 .../LogicInConstructorExampleBean.java | 0 .../startup/PostConstructExampleBean.java | 0 .../baeldung/startup/SpringStartupConfig.java | 0 .../StartupApplicationListenerExample.java | 0 .../META-INF/spring/spring-shell-plugin.xml | 0 .../src/main/resources/application.properties | 0 .../resources/beanInjection-constructor.xml | 0 .../main/resources/beanInjection-setter.xml | 0 .../src/main/resources/jdbc/schema.sql | 0 .../main/resources/jdbc/springJdbc-config.xml | 0 .../src/main/resources/jdbc/test-data.sql | 0 .../src/main/resources/log4j2.properties | 0 .../src/main/resources/logback.xml | 0 .../src/main/resources/scopes.xml | 0 .../main/resources/springProfiles-config.xml | 0 .../src/main/resources/startupConfig.xml | 0 .../sample/FooServiceIntegrationTest.java | 0 ...njectionWithJavaConfigIntegrationTest.java | 0 ...InjectionWithXMLConfigIntegrationTest.java | 0 ...njectionWithJavaConfigIntegrationTest.java | 0 ...InjectionWithXMLConfigIntegrationTest.java | 0 .../baeldung/customannotation/Account.java | 0 .../customannotation/BeanWithGenericDAO.java | 0 .../DataAccessAnnotationIntegrationTest.java | 0 ...ataAccessFieldCallbackIntegrationTest.java | 0 .../org/baeldung/customannotation/Person.java | 0 .../TenantScopeIntegrationTest.java | 0 .../order/RatingRetrieverUnitTest.java | 74 +++--- ...vProfileWithAnnotationIntegrationTest.java | 0 ...nProfileWithAnnotationIntegrationTest.java | 0 ...lesWithMavenPropertiesIntegrationTest.java | 0 .../SpringProfilesWithXMLIntegrationTest.java | 0 .../scopes/ScopesIntegrationTest.java | 0 .../simple/SimpleCLIIntegrationTest.java | 0 ...nousCustomSpringEventsIntegrationTest.java | 0 ...ntextRefreshedListenerIntegrationTest.java | 0 ...enericAppEventListenerIntegrationTest.java | 0 ...nousCustomSpringEventsIntegrationTest.java | 0 .../startup/SpringStartupIntegrationTest.java | 0 ...SpringStartupXMLConfigIntegrationTest.java | 0 .../src/test/resources/.gitignore | 0 spring-core-3/README.md | 3 + spring-core-3/pom.xml | 60 +++++ .../baeldung/getbean/AnnotationConfig.java | 0 .../main/java/com/baeldung/getbean/Lion.java | 0 .../main/java/com/baeldung/getbean/Tiger.java | 0 .../getbean/GetBeanByNameAndTypeUnitTest.java | 0 .../getbean/GetBeanByNameUnitTest.java | 0 ...NameWithConstructorParametersUnitTest.java | 0 .../getbean/GetBeanByTypeUnitTest.java | 0 ...TypeWithConstructorParametersUnitTest.java | 0 136 files changed, 366 insertions(+), 367 deletions(-) delete mode 100644 spring-all/README.md delete mode 100644 spring-all/pom.xml rename {spring-all => spring-core-2}/.gitignore (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/autowire/sample/App.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/autowire/sample/AppConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/autowire/sample/BarFormatter.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/autowire/sample/FooDAO.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/autowire/sample/FooFormatter.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/autowire/sample/FooService.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/autowire/sample/Formatter.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/autowire/sample/FormatterType.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/bean/config/ConstructorBasedShipConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/bean/config/SetterBasedShipConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/bean/injection/Helm.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/bean/injection/Ship.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/customannotation/CustomAnnotationConfiguration.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/customannotation/DataAccess.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/customannotation/DataAccessAnnotationProcessor.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/customannotation/DataAccessFieldCallback.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/customannotation/GenericDAO.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/customscope/TenantBean.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/customscope/TenantBeanFactoryPostProcessor.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/customscope/TenantBeansConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/customscope/TenantScope.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/customscope/TenantScopeConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/nullibility/Person.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/nullibility/package-info.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/order/Average.java (95%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/order/Excellent.java (94%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/order/Good.java (94%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/order/Rating.java (93%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/persistence/Setup.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/primary/Config.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/primary/DepartmentManager.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/primary/Employee.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/primary/GeneralManager.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/primary/Manager.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/primary/ManagerService.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/primary/PrimaryApplication.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/profiles/DatasourceConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/profiles/DevDatasourceConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/profiles/ProductionDatasourceConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/profiles/ProfileManager.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/profiles/SpringProfilesConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/sample/Bar.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/sample/Foo.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/sampleabstract/BallService.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/sampleabstract/BasketballService.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/sampleabstract/DemoApp.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/sampleabstract/LogRepository.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/sampleabstract/RuleRepository.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/scopes/HelloMessageGenerator.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/scopes/Person.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/scopes/ScopesController.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/shell/Main.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/shell/simple/SimpleBannerProvider.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/shell/simple/SimpleCLI.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/shell/simple/SimpleHistoryFileNameProvider.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/shell/simple/SimplePromptProvider.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/shell/simple/SimpleURLConverter.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/spring/config/CleanupBean.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/spring/config/CoreConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/spring/config/MainWebAppInitializer.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/spring/config/MvcConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/spring/config/PersistenceConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/spring/config/ScopesConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/springevents/asynchronous/AsynchronousSpringEventsConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/springevents/synchronous/AnnotationDrivenEventListener.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/springevents/synchronous/ContextRefreshedListener.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/springevents/synchronous/CustomSpringEvent.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/springevents/synchronous/CustomSpringEventListener.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/springevents/synchronous/CustomSpringEventPublisher.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/springevents/synchronous/GenericSpringAppEvent.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/springevents/synchronous/GenericSpringEvent.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/springevents/synchronous/GenericSpringEventListener.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/springevents/synchronous/GenericStringSpringAppEvent.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/springevents/synchronous/GenericStringSpringEvent.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/springevents/synchronous/SynchronousSpringEventsConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/startup/AllStrategiesExampleBean.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/startup/EventListenerExampleBean.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/startup/InitMethodExampleBean.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/startup/InitializingBeanExampleBean.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/startup/InvalidInitExampleBean.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/startup/LogicInConstructorExampleBean.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/startup/PostConstructExampleBean.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/startup/SpringStartupConfig.java (100%) rename {spring-all => spring-core-2}/src/main/java/org/baeldung/startup/StartupApplicationListenerExample.java (100%) rename {spring-all => spring-core-2}/src/main/resources/META-INF/spring/spring-shell-plugin.xml (100%) rename {spring-all => spring-core-2}/src/main/resources/application.properties (100%) rename {spring-all => spring-core-2}/src/main/resources/beanInjection-constructor.xml (100%) rename {spring-all => spring-core-2}/src/main/resources/beanInjection-setter.xml (100%) rename {spring-all => spring-core-2}/src/main/resources/jdbc/schema.sql (100%) rename {spring-all => spring-core-2}/src/main/resources/jdbc/springJdbc-config.xml (100%) rename {spring-all => spring-core-2}/src/main/resources/jdbc/test-data.sql (100%) rename {spring-all => spring-core-2}/src/main/resources/log4j2.properties (100%) rename {spring-all => spring-core-2}/src/main/resources/logback.xml (100%) rename {spring-all => spring-core-2}/src/main/resources/scopes.xml (100%) rename {spring-all => spring-core-2}/src/main/resources/springProfiles-config.xml (100%) rename {spring-all => spring-core-2}/src/main/resources/startupConfig.xml (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/autowire/sample/FooServiceIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/bean/injection/ConstructorBasedBeanInjectionWithJavaConfigIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/bean/injection/ConstructorBasedBeanInjectionWithXMLConfigIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/bean/injection/SetterBasedBeanInjectionWithJavaConfigIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/bean/injection/SetterBasedBeanInjectionWithXMLConfigIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/customannotation/Account.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/customannotation/BeanWithGenericDAO.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/customannotation/DataAccessAnnotationIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/customannotation/DataAccessFieldCallbackIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/customannotation/Person.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/customscope/TenantScopeIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/order/RatingRetrieverUnitTest.java (97%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/profiles/DevProfileWithAnnotationIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/profiles/ProductionProfileWithAnnotationIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/profiles/SpringProfilesWithMavenPropertiesIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/profiles/SpringProfilesWithXMLIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/scopes/ScopesIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/shell/simple/SimpleCLIIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/springevents/asynchronous/AsynchronousCustomSpringEventsIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/springevents/synchronous/ContextRefreshedListenerIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/springevents/synchronous/GenericAppEventListenerIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/springevents/synchronous/SynchronousCustomSpringEventsIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/startup/SpringStartupIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/java/org/baeldung/startup/SpringStartupXMLConfigIntegrationTest.java (100%) rename {spring-all => spring-core-2}/src/test/resources/.gitignore (100%) create mode 100644 spring-core-3/README.md create mode 100644 spring-core-3/pom.xml rename {spring-core-2 => spring-core-3}/src/main/java/com/baeldung/getbean/AnnotationConfig.java (100%) rename {spring-core-2 => spring-core-3}/src/main/java/com/baeldung/getbean/Lion.java (100%) rename {spring-core-2 => spring-core-3}/src/main/java/com/baeldung/getbean/Tiger.java (100%) rename {spring-core-2 => spring-core-3}/src/test/java/com/baeldung/getbean/GetBeanByNameAndTypeUnitTest.java (100%) rename {spring-core-2 => spring-core-3}/src/test/java/com/baeldung/getbean/GetBeanByNameUnitTest.java (100%) rename {spring-core-2 => spring-core-3}/src/test/java/com/baeldung/getbean/GetBeanByNameWithConstructorParametersUnitTest.java (100%) rename {spring-core-2 => spring-core-3}/src/test/java/com/baeldung/getbean/GetBeanByTypeUnitTest.java (100%) rename {spring-core-2 => spring-core-3}/src/test/java/com/baeldung/getbean/GetBeanByTypeWithConstructorParametersUnitTest.java (100%) diff --git a/spring-all/README.md b/spring-all/README.md deleted file mode 100644 index 3ee610f370..0000000000 --- a/spring-all/README.md +++ /dev/null @@ -1,24 +0,0 @@ -========= - -## Spring General Example Project - -This project is used to replicate Spring Exceptions only. - -### The Course - -The "REST With Spring" Classes: http://bit.ly/restwithspring - -### Relevant articles: - -- [Guide to Spring @Autowired](http://www.baeldung.com/spring-autowire) -- [Spring Profiles](http://www.baeldung.com/spring-profiles) -- [A Spring Custom Annotation for a Better DAO](http://www.baeldung.com/spring-annotation-bean-pre-processor) -- [Running Setup Data on Startup in Spring](http://www.baeldung.com/running-setup-logic-on-startup-in-spring) -- [Quick Guide to Spring Bean Scopes](http://www.baeldung.com/spring-bean-scopes) -- [Custom Scope in Spring](http://www.baeldung.com/spring-custom-scope) -- [A CLI with Spring Shell](http://www.baeldung.com/spring-shell-cli) -- [@Order in Spring](http://www.baeldung.com/spring-order) -- [Spring @Primary Annotation](http://www.baeldung.com/spring-primary) -- [Spring Events](https://www.baeldung.com/spring-events) -- [Spring Null-Safety Annotations](https://www.baeldung.com/spring-null-safety-annotations) -- [Using @Autowired in Abstract Classes](https://www.baeldung.com/spring-autowired-abstract-class) \ No newline at end of file diff --git a/spring-all/pom.xml b/spring-all/pom.xml deleted file mode 100644 index bb6169085e..0000000000 --- a/spring-all/pom.xml +++ /dev/null @@ -1,235 +0,0 @@ - - 4.0.0 - spring-all - 0.1-SNAPSHOT - spring-all - war - - - parent-boot-2 - com.baeldung - 0.0.1-SNAPSHOT - ../parent-boot-2 - - - - - com.fasterxml.jackson.core - jackson-databind - - - - org.springframework - spring-web - - - org.springframework - spring-webmvc - - - org.springframework - spring-orm - - - org.springframework - spring-context - - - org.springframework.retry - spring-retry - - - org.springframework.shell - spring-shell - ${org.springframework.shell.version} - - - org.springframework - spring-websocket - - - org.springframework - spring-messaging - - - javax.annotation - javax.annotation-api - ${annotation-api.version} - - - - org.springframework - spring-aspects - - - - org.hibernate - hibernate-core - - - org.javassist - javassist - ${javassist.version} - - - mysql - mysql-connector-java - runtime - - - org.hsqldb - hsqldb - - - - org.hibernate - hibernate-validator - ${hibernate.version} - - - - javax.servlet - javax.servlet-api - provided - - - javax.servlet - jstl - runtime - - - - com.google.guava - guava - ${guava.version} - - - net.sf.jasperreports - jasperreports - ${jasperreports.version} - - - commons-logging - commons-logging - - - - - - org.springframework - spring-test - test - - - org.assertj - assertj-core - test - - - org.hamcrest - hamcrest-core - test - - - org.hamcrest - hamcrest-library - test - - - org.mockito - mockito-core - test - - - - - net.javacrumbs.shedlock - shedlock-spring - ${shedlock.version} - - - net.javacrumbs.shedlock - shedlock-provider-jdbc-template - ${shedlock.version} - - - - - - - org.springframework - spring-framework-bom - ${org.springframework.version} - pom - import - - - org.springframework - spring-core - ${org.springframework.version} - - - org.springframework.boot - spring-boot-starter-thymeleaf - ${org.springframework.version} - - - - - - spring-all - - - src/main/resources - true - - - - - org.apache.maven.plugins - maven-war-plugin - 3.2.2 - - false - - - - - - - dev - - true - - - dev - - - - prod - - prod - - - - - - org.baeldung.sample.App - - 5.0.6.RELEASE - 1.2.0.RELEASE - 1.3.2 - - 5.2.5.Final - - - 25.1-jre - 3.6 - 3.6.1 - 6.6.0 - 2.1.0 - 3.22.0-GA - - - diff --git a/spring-all/.gitignore b/spring-core-2/.gitignore similarity index 100% rename from spring-all/.gitignore rename to spring-core-2/.gitignore diff --git a/spring-core-2/README.md b/spring-core-2/README.md index 4c9e3b9ddf..d346943ac4 100644 --- a/spring-core-2/README.md +++ b/spring-core-2/README.md @@ -1,3 +1,23 @@ -## Relevant Articles: +========= -- [Understanding getBean() in Spring](https://www.baeldung.com/spring-getbean) +## Spring General Example Project + +This project is used to replicate Spring Exceptions only. + +### The Course + +The "REST With Spring" Classes: http://bit.ly/restwithspring + +### Relevant articles: + +- [Guide to Spring @Autowired](http://www.baeldung.com/spring-autowire) +- [Spring Profiles](http://www.baeldung.com/spring-profiles) +- [A Spring Custom Annotation for a Better DAO](http://www.baeldung.com/spring-annotation-bean-pre-processor) +- [Running Setup Data on Startup in Spring](http://www.baeldung.com/running-setup-logic-on-startup-in-spring) +- [Quick Guide to Spring Bean Scopes](http://www.baeldung.com/spring-bean-scopes) +- [Custom Scope in Spring](http://www.baeldung.com/spring-custom-scope) +- [@Order in Spring](http://www.baeldung.com/spring-order) +- [Spring @Primary Annotation](http://www.baeldung.com/spring-primary) +- [Spring Events](https://www.baeldung.com/spring-events) +- [Spring Null-Safety Annotations](https://www.baeldung.com/spring-null-safety-annotations) +- [Using @Autowired in Abstract Classes](https://www.baeldung.com/spring-autowired-abstract-class) \ No newline at end of file diff --git a/spring-core-2/pom.xml b/spring-core-2/pom.xml index d68beda64a..f4132bfb35 100644 --- a/spring-core-2/pom.xml +++ b/spring-core-2/pom.xml @@ -1,60 +1,235 @@ - - 4.0.0 spring-core-2 + 0.1-SNAPSHOT spring-core-2 + war + parent-boot-2 com.baeldung - parent-spring-5 0.0.1-SNAPSHOT - ../parent-spring-5 + ../parent-boot-2 + + com.fasterxml.jackson.core + jackson-databind + + org.springframework - spring-beans - ${spring.version} + spring-web + + + org.springframework + spring-webmvc + + + org.springframework + spring-orm org.springframework spring-context - ${spring.version} + + + org.springframework.retry + spring-retry + + + org.springframework.shell + spring-shell + ${org.springframework.shell.version} org.springframework - spring-core - ${spring.version} + spring-websocket - org.junit.jupiter - junit-jupiter-engine - ${junit-jupiter.version} + org.springframework + spring-messaging + + + javax.annotation + javax.annotation-api + ${annotation-api.version} + + + + org.springframework + spring-aspects + + + + org.hibernate + hibernate-core + + + org.javassist + javassist + ${javassist.version} + + + mysql + mysql-connector-java + runtime + + + org.hsqldb + hsqldb + + + + org.hibernate + hibernate-validator + ${hibernate.version} + + + + javax.servlet + javax.servlet-api + provided + + + javax.servlet + jstl + runtime + + + + com.google.guava + guava + ${guava.version} + + + net.sf.jasperreports + jasperreports + ${jasperreports.version} + + + commons-logging + commons-logging + + + + + + org.springframework + spring-test test - org.junit.jupiter - junit-jupiter-api - ${junit-jupiter.version} + org.assertj + assertj-core test + + org.hamcrest + hamcrest-core + test + + + org.hamcrest + hamcrest-library + test + + + org.mockito + mockito-core + test + + + + + net.javacrumbs.shedlock + shedlock-spring + ${shedlock.version} + + + net.javacrumbs.shedlock + shedlock-provider-jdbc-template + ${shedlock.version} + + + + + org.springframework + spring-framework-bom + ${org.springframework.version} + pom + import + + + org.springframework + spring-core + ${org.springframework.version} + + + org.springframework.boot + spring-boot-starter-thymeleaf + ${org.springframework.version} + + + + + spring-all + + + src/main/resources + true + + org.apache.maven.plugins - maven-surefire-plugin - ${maven.surefire.version} + maven-war-plugin + 3.2.2 + + false + + + + dev + + true + + + dev + + + + prod + + prod + + + - 2.22.1 + org.baeldung.sample.App + + 5.0.6.RELEASE + 1.2.0.RELEASE + 1.3.2 + + 5.2.5.Final + + + 25.1-jre + 3.6 + 3.6.1 + 6.6.0 + 2.1.0 + 3.22.0-GA - \ No newline at end of file + diff --git a/spring-all/src/main/java/org/baeldung/autowire/sample/App.java b/spring-core-2/src/main/java/org/baeldung/autowire/sample/App.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/autowire/sample/App.java rename to spring-core-2/src/main/java/org/baeldung/autowire/sample/App.java diff --git a/spring-all/src/main/java/org/baeldung/autowire/sample/AppConfig.java b/spring-core-2/src/main/java/org/baeldung/autowire/sample/AppConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/autowire/sample/AppConfig.java rename to spring-core-2/src/main/java/org/baeldung/autowire/sample/AppConfig.java diff --git a/spring-all/src/main/java/org/baeldung/autowire/sample/BarFormatter.java b/spring-core-2/src/main/java/org/baeldung/autowire/sample/BarFormatter.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/autowire/sample/BarFormatter.java rename to spring-core-2/src/main/java/org/baeldung/autowire/sample/BarFormatter.java diff --git a/spring-all/src/main/java/org/baeldung/autowire/sample/FooDAO.java b/spring-core-2/src/main/java/org/baeldung/autowire/sample/FooDAO.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/autowire/sample/FooDAO.java rename to spring-core-2/src/main/java/org/baeldung/autowire/sample/FooDAO.java diff --git a/spring-all/src/main/java/org/baeldung/autowire/sample/FooFormatter.java b/spring-core-2/src/main/java/org/baeldung/autowire/sample/FooFormatter.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/autowire/sample/FooFormatter.java rename to spring-core-2/src/main/java/org/baeldung/autowire/sample/FooFormatter.java diff --git a/spring-all/src/main/java/org/baeldung/autowire/sample/FooService.java b/spring-core-2/src/main/java/org/baeldung/autowire/sample/FooService.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/autowire/sample/FooService.java rename to spring-core-2/src/main/java/org/baeldung/autowire/sample/FooService.java diff --git a/spring-all/src/main/java/org/baeldung/autowire/sample/Formatter.java b/spring-core-2/src/main/java/org/baeldung/autowire/sample/Formatter.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/autowire/sample/Formatter.java rename to spring-core-2/src/main/java/org/baeldung/autowire/sample/Formatter.java diff --git a/spring-all/src/main/java/org/baeldung/autowire/sample/FormatterType.java b/spring-core-2/src/main/java/org/baeldung/autowire/sample/FormatterType.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/autowire/sample/FormatterType.java rename to spring-core-2/src/main/java/org/baeldung/autowire/sample/FormatterType.java diff --git a/spring-all/src/main/java/org/baeldung/bean/config/ConstructorBasedShipConfig.java b/spring-core-2/src/main/java/org/baeldung/bean/config/ConstructorBasedShipConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/bean/config/ConstructorBasedShipConfig.java rename to spring-core-2/src/main/java/org/baeldung/bean/config/ConstructorBasedShipConfig.java diff --git a/spring-all/src/main/java/org/baeldung/bean/config/SetterBasedShipConfig.java b/spring-core-2/src/main/java/org/baeldung/bean/config/SetterBasedShipConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/bean/config/SetterBasedShipConfig.java rename to spring-core-2/src/main/java/org/baeldung/bean/config/SetterBasedShipConfig.java diff --git a/spring-all/src/main/java/org/baeldung/bean/injection/Helm.java b/spring-core-2/src/main/java/org/baeldung/bean/injection/Helm.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/bean/injection/Helm.java rename to spring-core-2/src/main/java/org/baeldung/bean/injection/Helm.java diff --git a/spring-all/src/main/java/org/baeldung/bean/injection/Ship.java b/spring-core-2/src/main/java/org/baeldung/bean/injection/Ship.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/bean/injection/Ship.java rename to spring-core-2/src/main/java/org/baeldung/bean/injection/Ship.java diff --git a/spring-all/src/main/java/org/baeldung/customannotation/CustomAnnotationConfiguration.java b/spring-core-2/src/main/java/org/baeldung/customannotation/CustomAnnotationConfiguration.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/customannotation/CustomAnnotationConfiguration.java rename to spring-core-2/src/main/java/org/baeldung/customannotation/CustomAnnotationConfiguration.java diff --git a/spring-all/src/main/java/org/baeldung/customannotation/DataAccess.java b/spring-core-2/src/main/java/org/baeldung/customannotation/DataAccess.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/customannotation/DataAccess.java rename to spring-core-2/src/main/java/org/baeldung/customannotation/DataAccess.java diff --git a/spring-all/src/main/java/org/baeldung/customannotation/DataAccessAnnotationProcessor.java b/spring-core-2/src/main/java/org/baeldung/customannotation/DataAccessAnnotationProcessor.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/customannotation/DataAccessAnnotationProcessor.java rename to spring-core-2/src/main/java/org/baeldung/customannotation/DataAccessAnnotationProcessor.java diff --git a/spring-all/src/main/java/org/baeldung/customannotation/DataAccessFieldCallback.java b/spring-core-2/src/main/java/org/baeldung/customannotation/DataAccessFieldCallback.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/customannotation/DataAccessFieldCallback.java rename to spring-core-2/src/main/java/org/baeldung/customannotation/DataAccessFieldCallback.java diff --git a/spring-all/src/main/java/org/baeldung/customannotation/GenericDAO.java b/spring-core-2/src/main/java/org/baeldung/customannotation/GenericDAO.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/customannotation/GenericDAO.java rename to spring-core-2/src/main/java/org/baeldung/customannotation/GenericDAO.java diff --git a/spring-all/src/main/java/org/baeldung/customscope/TenantBean.java b/spring-core-2/src/main/java/org/baeldung/customscope/TenantBean.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/customscope/TenantBean.java rename to spring-core-2/src/main/java/org/baeldung/customscope/TenantBean.java diff --git a/spring-all/src/main/java/org/baeldung/customscope/TenantBeanFactoryPostProcessor.java b/spring-core-2/src/main/java/org/baeldung/customscope/TenantBeanFactoryPostProcessor.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/customscope/TenantBeanFactoryPostProcessor.java rename to spring-core-2/src/main/java/org/baeldung/customscope/TenantBeanFactoryPostProcessor.java diff --git a/spring-all/src/main/java/org/baeldung/customscope/TenantBeansConfig.java b/spring-core-2/src/main/java/org/baeldung/customscope/TenantBeansConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/customscope/TenantBeansConfig.java rename to spring-core-2/src/main/java/org/baeldung/customscope/TenantBeansConfig.java diff --git a/spring-all/src/main/java/org/baeldung/customscope/TenantScope.java b/spring-core-2/src/main/java/org/baeldung/customscope/TenantScope.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/customscope/TenantScope.java rename to spring-core-2/src/main/java/org/baeldung/customscope/TenantScope.java diff --git a/spring-all/src/main/java/org/baeldung/customscope/TenantScopeConfig.java b/spring-core-2/src/main/java/org/baeldung/customscope/TenantScopeConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/customscope/TenantScopeConfig.java rename to spring-core-2/src/main/java/org/baeldung/customscope/TenantScopeConfig.java diff --git a/spring-all/src/main/java/org/baeldung/nullibility/Person.java b/spring-core-2/src/main/java/org/baeldung/nullibility/Person.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/nullibility/Person.java rename to spring-core-2/src/main/java/org/baeldung/nullibility/Person.java diff --git a/spring-all/src/main/java/org/baeldung/nullibility/package-info.java b/spring-core-2/src/main/java/org/baeldung/nullibility/package-info.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/nullibility/package-info.java rename to spring-core-2/src/main/java/org/baeldung/nullibility/package-info.java diff --git a/spring-all/src/main/java/org/baeldung/order/Average.java b/spring-core-2/src/main/java/org/baeldung/order/Average.java similarity index 95% rename from spring-all/src/main/java/org/baeldung/order/Average.java rename to spring-core-2/src/main/java/org/baeldung/order/Average.java index d1d9117fb1..3deffaf1ae 100644 --- a/spring-all/src/main/java/org/baeldung/order/Average.java +++ b/spring-core-2/src/main/java/org/baeldung/order/Average.java @@ -1,15 +1,15 @@ -package org.baeldung.order; - -import org.springframework.core.Ordered; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -@Component -@Order(Ordered.LOWEST_PRECEDENCE) -public class Average implements Rating { - - @Override - public int getRating() { - return 3; - } -} +package org.baeldung.order; + +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +@Component +@Order(Ordered.LOWEST_PRECEDENCE) +public class Average implements Rating { + + @Override + public int getRating() { + return 3; + } +} diff --git a/spring-all/src/main/java/org/baeldung/order/Excellent.java b/spring-core-2/src/main/java/org/baeldung/order/Excellent.java similarity index 94% rename from spring-all/src/main/java/org/baeldung/order/Excellent.java rename to spring-core-2/src/main/java/org/baeldung/order/Excellent.java index e5f125593f..96fea4ac9b 100644 --- a/spring-all/src/main/java/org/baeldung/order/Excellent.java +++ b/spring-core-2/src/main/java/org/baeldung/order/Excellent.java @@ -1,14 +1,14 @@ -package org.baeldung.order; - -import org.springframework.stereotype.Component; -import org.springframework.core.annotation.Order; - -@Component -@Order(1) -public class Excellent implements Rating { - - @Override - public int getRating() { - return 1; - } -} +package org.baeldung.order; + +import org.springframework.stereotype.Component; +import org.springframework.core.annotation.Order; + +@Component +@Order(1) +public class Excellent implements Rating { + + @Override + public int getRating() { + return 1; + } +} diff --git a/spring-all/src/main/java/org/baeldung/order/Good.java b/spring-core-2/src/main/java/org/baeldung/order/Good.java similarity index 94% rename from spring-all/src/main/java/org/baeldung/order/Good.java rename to spring-core-2/src/main/java/org/baeldung/order/Good.java index 3dd9852cc4..4b3e268504 100644 --- a/spring-all/src/main/java/org/baeldung/order/Good.java +++ b/spring-core-2/src/main/java/org/baeldung/order/Good.java @@ -1,14 +1,14 @@ -package org.baeldung.order; - -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -@Component -@Order(2) -public class Good implements Rating { - - @Override - public int getRating() { - return 2; - } -} +package org.baeldung.order; + +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +@Component +@Order(2) +public class Good implements Rating { + + @Override + public int getRating() { + return 2; + } +} diff --git a/spring-all/src/main/java/org/baeldung/order/Rating.java b/spring-core-2/src/main/java/org/baeldung/order/Rating.java similarity index 93% rename from spring-all/src/main/java/org/baeldung/order/Rating.java rename to spring-core-2/src/main/java/org/baeldung/order/Rating.java index dd0391a3d9..10f2780522 100644 --- a/spring-all/src/main/java/org/baeldung/order/Rating.java +++ b/spring-core-2/src/main/java/org/baeldung/order/Rating.java @@ -1,6 +1,6 @@ -package org.baeldung.order; - -public interface Rating { - - int getRating(); -} +package org.baeldung.order; + +public interface Rating { + + int getRating(); +} diff --git a/spring-all/src/main/java/org/baeldung/persistence/Setup.java b/spring-core-2/src/main/java/org/baeldung/persistence/Setup.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/persistence/Setup.java rename to spring-core-2/src/main/java/org/baeldung/persistence/Setup.java diff --git a/spring-all/src/main/java/org/baeldung/primary/Config.java b/spring-core-2/src/main/java/org/baeldung/primary/Config.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/primary/Config.java rename to spring-core-2/src/main/java/org/baeldung/primary/Config.java diff --git a/spring-all/src/main/java/org/baeldung/primary/DepartmentManager.java b/spring-core-2/src/main/java/org/baeldung/primary/DepartmentManager.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/primary/DepartmentManager.java rename to spring-core-2/src/main/java/org/baeldung/primary/DepartmentManager.java diff --git a/spring-all/src/main/java/org/baeldung/primary/Employee.java b/spring-core-2/src/main/java/org/baeldung/primary/Employee.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/primary/Employee.java rename to spring-core-2/src/main/java/org/baeldung/primary/Employee.java diff --git a/spring-all/src/main/java/org/baeldung/primary/GeneralManager.java b/spring-core-2/src/main/java/org/baeldung/primary/GeneralManager.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/primary/GeneralManager.java rename to spring-core-2/src/main/java/org/baeldung/primary/GeneralManager.java diff --git a/spring-all/src/main/java/org/baeldung/primary/Manager.java b/spring-core-2/src/main/java/org/baeldung/primary/Manager.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/primary/Manager.java rename to spring-core-2/src/main/java/org/baeldung/primary/Manager.java diff --git a/spring-all/src/main/java/org/baeldung/primary/ManagerService.java b/spring-core-2/src/main/java/org/baeldung/primary/ManagerService.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/primary/ManagerService.java rename to spring-core-2/src/main/java/org/baeldung/primary/ManagerService.java diff --git a/spring-all/src/main/java/org/baeldung/primary/PrimaryApplication.java b/spring-core-2/src/main/java/org/baeldung/primary/PrimaryApplication.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/primary/PrimaryApplication.java rename to spring-core-2/src/main/java/org/baeldung/primary/PrimaryApplication.java diff --git a/spring-all/src/main/java/org/baeldung/profiles/DatasourceConfig.java b/spring-core-2/src/main/java/org/baeldung/profiles/DatasourceConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/profiles/DatasourceConfig.java rename to spring-core-2/src/main/java/org/baeldung/profiles/DatasourceConfig.java diff --git a/spring-all/src/main/java/org/baeldung/profiles/DevDatasourceConfig.java b/spring-core-2/src/main/java/org/baeldung/profiles/DevDatasourceConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/profiles/DevDatasourceConfig.java rename to spring-core-2/src/main/java/org/baeldung/profiles/DevDatasourceConfig.java diff --git a/spring-all/src/main/java/org/baeldung/profiles/ProductionDatasourceConfig.java b/spring-core-2/src/main/java/org/baeldung/profiles/ProductionDatasourceConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/profiles/ProductionDatasourceConfig.java rename to spring-core-2/src/main/java/org/baeldung/profiles/ProductionDatasourceConfig.java diff --git a/spring-all/src/main/java/org/baeldung/profiles/ProfileManager.java b/spring-core-2/src/main/java/org/baeldung/profiles/ProfileManager.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/profiles/ProfileManager.java rename to spring-core-2/src/main/java/org/baeldung/profiles/ProfileManager.java diff --git a/spring-all/src/main/java/org/baeldung/profiles/SpringProfilesConfig.java b/spring-core-2/src/main/java/org/baeldung/profiles/SpringProfilesConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/profiles/SpringProfilesConfig.java rename to spring-core-2/src/main/java/org/baeldung/profiles/SpringProfilesConfig.java diff --git a/spring-all/src/main/java/org/baeldung/sample/Bar.java b/spring-core-2/src/main/java/org/baeldung/sample/Bar.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/sample/Bar.java rename to spring-core-2/src/main/java/org/baeldung/sample/Bar.java diff --git a/spring-all/src/main/java/org/baeldung/sample/Foo.java b/spring-core-2/src/main/java/org/baeldung/sample/Foo.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/sample/Foo.java rename to spring-core-2/src/main/java/org/baeldung/sample/Foo.java diff --git a/spring-all/src/main/java/org/baeldung/sampleabstract/BallService.java b/spring-core-2/src/main/java/org/baeldung/sampleabstract/BallService.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/sampleabstract/BallService.java rename to spring-core-2/src/main/java/org/baeldung/sampleabstract/BallService.java diff --git a/spring-all/src/main/java/org/baeldung/sampleabstract/BasketballService.java b/spring-core-2/src/main/java/org/baeldung/sampleabstract/BasketballService.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/sampleabstract/BasketballService.java rename to spring-core-2/src/main/java/org/baeldung/sampleabstract/BasketballService.java diff --git a/spring-all/src/main/java/org/baeldung/sampleabstract/DemoApp.java b/spring-core-2/src/main/java/org/baeldung/sampleabstract/DemoApp.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/sampleabstract/DemoApp.java rename to spring-core-2/src/main/java/org/baeldung/sampleabstract/DemoApp.java diff --git a/spring-all/src/main/java/org/baeldung/sampleabstract/LogRepository.java b/spring-core-2/src/main/java/org/baeldung/sampleabstract/LogRepository.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/sampleabstract/LogRepository.java rename to spring-core-2/src/main/java/org/baeldung/sampleabstract/LogRepository.java diff --git a/spring-all/src/main/java/org/baeldung/sampleabstract/RuleRepository.java b/spring-core-2/src/main/java/org/baeldung/sampleabstract/RuleRepository.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/sampleabstract/RuleRepository.java rename to spring-core-2/src/main/java/org/baeldung/sampleabstract/RuleRepository.java diff --git a/spring-all/src/main/java/org/baeldung/scopes/HelloMessageGenerator.java b/spring-core-2/src/main/java/org/baeldung/scopes/HelloMessageGenerator.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/scopes/HelloMessageGenerator.java rename to spring-core-2/src/main/java/org/baeldung/scopes/HelloMessageGenerator.java diff --git a/spring-all/src/main/java/org/baeldung/scopes/Person.java b/spring-core-2/src/main/java/org/baeldung/scopes/Person.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/scopes/Person.java rename to spring-core-2/src/main/java/org/baeldung/scopes/Person.java diff --git a/spring-all/src/main/java/org/baeldung/scopes/ScopesController.java b/spring-core-2/src/main/java/org/baeldung/scopes/ScopesController.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/scopes/ScopesController.java rename to spring-core-2/src/main/java/org/baeldung/scopes/ScopesController.java diff --git a/spring-all/src/main/java/org/baeldung/shell/Main.java b/spring-core-2/src/main/java/org/baeldung/shell/Main.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/shell/Main.java rename to spring-core-2/src/main/java/org/baeldung/shell/Main.java diff --git a/spring-all/src/main/java/org/baeldung/shell/simple/SimpleBannerProvider.java b/spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleBannerProvider.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/shell/simple/SimpleBannerProvider.java rename to spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleBannerProvider.java diff --git a/spring-all/src/main/java/org/baeldung/shell/simple/SimpleCLI.java b/spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleCLI.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/shell/simple/SimpleCLI.java rename to spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleCLI.java diff --git a/spring-all/src/main/java/org/baeldung/shell/simple/SimpleHistoryFileNameProvider.java b/spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleHistoryFileNameProvider.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/shell/simple/SimpleHistoryFileNameProvider.java rename to spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleHistoryFileNameProvider.java diff --git a/spring-all/src/main/java/org/baeldung/shell/simple/SimplePromptProvider.java b/spring-core-2/src/main/java/org/baeldung/shell/simple/SimplePromptProvider.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/shell/simple/SimplePromptProvider.java rename to spring-core-2/src/main/java/org/baeldung/shell/simple/SimplePromptProvider.java diff --git a/spring-all/src/main/java/org/baeldung/shell/simple/SimpleURLConverter.java b/spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleURLConverter.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/shell/simple/SimpleURLConverter.java rename to spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleURLConverter.java diff --git a/spring-all/src/main/java/org/baeldung/spring/config/CleanupBean.java b/spring-core-2/src/main/java/org/baeldung/spring/config/CleanupBean.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring/config/CleanupBean.java rename to spring-core-2/src/main/java/org/baeldung/spring/config/CleanupBean.java diff --git a/spring-all/src/main/java/org/baeldung/spring/config/CoreConfig.java b/spring-core-2/src/main/java/org/baeldung/spring/config/CoreConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring/config/CoreConfig.java rename to spring-core-2/src/main/java/org/baeldung/spring/config/CoreConfig.java diff --git a/spring-all/src/main/java/org/baeldung/spring/config/MainWebAppInitializer.java b/spring-core-2/src/main/java/org/baeldung/spring/config/MainWebAppInitializer.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring/config/MainWebAppInitializer.java rename to spring-core-2/src/main/java/org/baeldung/spring/config/MainWebAppInitializer.java diff --git a/spring-all/src/main/java/org/baeldung/spring/config/MvcConfig.java b/spring-core-2/src/main/java/org/baeldung/spring/config/MvcConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring/config/MvcConfig.java rename to spring-core-2/src/main/java/org/baeldung/spring/config/MvcConfig.java diff --git a/spring-all/src/main/java/org/baeldung/spring/config/PersistenceConfig.java b/spring-core-2/src/main/java/org/baeldung/spring/config/PersistenceConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring/config/PersistenceConfig.java rename to spring-core-2/src/main/java/org/baeldung/spring/config/PersistenceConfig.java diff --git a/spring-all/src/main/java/org/baeldung/spring/config/ScopesConfig.java b/spring-core-2/src/main/java/org/baeldung/spring/config/ScopesConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/spring/config/ScopesConfig.java rename to spring-core-2/src/main/java/org/baeldung/spring/config/ScopesConfig.java diff --git a/spring-all/src/main/java/org/baeldung/springevents/asynchronous/AsynchronousSpringEventsConfig.java b/spring-core-2/src/main/java/org/baeldung/springevents/asynchronous/AsynchronousSpringEventsConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springevents/asynchronous/AsynchronousSpringEventsConfig.java rename to spring-core-2/src/main/java/org/baeldung/springevents/asynchronous/AsynchronousSpringEventsConfig.java diff --git a/spring-all/src/main/java/org/baeldung/springevents/synchronous/AnnotationDrivenEventListener.java b/spring-core-2/src/main/java/org/baeldung/springevents/synchronous/AnnotationDrivenEventListener.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springevents/synchronous/AnnotationDrivenEventListener.java rename to spring-core-2/src/main/java/org/baeldung/springevents/synchronous/AnnotationDrivenEventListener.java diff --git a/spring-all/src/main/java/org/baeldung/springevents/synchronous/ContextRefreshedListener.java b/spring-core-2/src/main/java/org/baeldung/springevents/synchronous/ContextRefreshedListener.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springevents/synchronous/ContextRefreshedListener.java rename to spring-core-2/src/main/java/org/baeldung/springevents/synchronous/ContextRefreshedListener.java diff --git a/spring-all/src/main/java/org/baeldung/springevents/synchronous/CustomSpringEvent.java b/spring-core-2/src/main/java/org/baeldung/springevents/synchronous/CustomSpringEvent.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springevents/synchronous/CustomSpringEvent.java rename to spring-core-2/src/main/java/org/baeldung/springevents/synchronous/CustomSpringEvent.java diff --git a/spring-all/src/main/java/org/baeldung/springevents/synchronous/CustomSpringEventListener.java b/spring-core-2/src/main/java/org/baeldung/springevents/synchronous/CustomSpringEventListener.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springevents/synchronous/CustomSpringEventListener.java rename to spring-core-2/src/main/java/org/baeldung/springevents/synchronous/CustomSpringEventListener.java diff --git a/spring-all/src/main/java/org/baeldung/springevents/synchronous/CustomSpringEventPublisher.java b/spring-core-2/src/main/java/org/baeldung/springevents/synchronous/CustomSpringEventPublisher.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springevents/synchronous/CustomSpringEventPublisher.java rename to spring-core-2/src/main/java/org/baeldung/springevents/synchronous/CustomSpringEventPublisher.java diff --git a/spring-all/src/main/java/org/baeldung/springevents/synchronous/GenericSpringAppEvent.java b/spring-core-2/src/main/java/org/baeldung/springevents/synchronous/GenericSpringAppEvent.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springevents/synchronous/GenericSpringAppEvent.java rename to spring-core-2/src/main/java/org/baeldung/springevents/synchronous/GenericSpringAppEvent.java diff --git a/spring-all/src/main/java/org/baeldung/springevents/synchronous/GenericSpringEvent.java b/spring-core-2/src/main/java/org/baeldung/springevents/synchronous/GenericSpringEvent.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springevents/synchronous/GenericSpringEvent.java rename to spring-core-2/src/main/java/org/baeldung/springevents/synchronous/GenericSpringEvent.java diff --git a/spring-all/src/main/java/org/baeldung/springevents/synchronous/GenericSpringEventListener.java b/spring-core-2/src/main/java/org/baeldung/springevents/synchronous/GenericSpringEventListener.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springevents/synchronous/GenericSpringEventListener.java rename to spring-core-2/src/main/java/org/baeldung/springevents/synchronous/GenericSpringEventListener.java diff --git a/spring-all/src/main/java/org/baeldung/springevents/synchronous/GenericStringSpringAppEvent.java b/spring-core-2/src/main/java/org/baeldung/springevents/synchronous/GenericStringSpringAppEvent.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springevents/synchronous/GenericStringSpringAppEvent.java rename to spring-core-2/src/main/java/org/baeldung/springevents/synchronous/GenericStringSpringAppEvent.java diff --git a/spring-all/src/main/java/org/baeldung/springevents/synchronous/GenericStringSpringEvent.java b/spring-core-2/src/main/java/org/baeldung/springevents/synchronous/GenericStringSpringEvent.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springevents/synchronous/GenericStringSpringEvent.java rename to spring-core-2/src/main/java/org/baeldung/springevents/synchronous/GenericStringSpringEvent.java diff --git a/spring-all/src/main/java/org/baeldung/springevents/synchronous/SynchronousSpringEventsConfig.java b/spring-core-2/src/main/java/org/baeldung/springevents/synchronous/SynchronousSpringEventsConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/springevents/synchronous/SynchronousSpringEventsConfig.java rename to spring-core-2/src/main/java/org/baeldung/springevents/synchronous/SynchronousSpringEventsConfig.java diff --git a/spring-all/src/main/java/org/baeldung/startup/AllStrategiesExampleBean.java b/spring-core-2/src/main/java/org/baeldung/startup/AllStrategiesExampleBean.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/startup/AllStrategiesExampleBean.java rename to spring-core-2/src/main/java/org/baeldung/startup/AllStrategiesExampleBean.java diff --git a/spring-all/src/main/java/org/baeldung/startup/EventListenerExampleBean.java b/spring-core-2/src/main/java/org/baeldung/startup/EventListenerExampleBean.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/startup/EventListenerExampleBean.java rename to spring-core-2/src/main/java/org/baeldung/startup/EventListenerExampleBean.java diff --git a/spring-all/src/main/java/org/baeldung/startup/InitMethodExampleBean.java b/spring-core-2/src/main/java/org/baeldung/startup/InitMethodExampleBean.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/startup/InitMethodExampleBean.java rename to spring-core-2/src/main/java/org/baeldung/startup/InitMethodExampleBean.java diff --git a/spring-all/src/main/java/org/baeldung/startup/InitializingBeanExampleBean.java b/spring-core-2/src/main/java/org/baeldung/startup/InitializingBeanExampleBean.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/startup/InitializingBeanExampleBean.java rename to spring-core-2/src/main/java/org/baeldung/startup/InitializingBeanExampleBean.java diff --git a/spring-all/src/main/java/org/baeldung/startup/InvalidInitExampleBean.java b/spring-core-2/src/main/java/org/baeldung/startup/InvalidInitExampleBean.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/startup/InvalidInitExampleBean.java rename to spring-core-2/src/main/java/org/baeldung/startup/InvalidInitExampleBean.java diff --git a/spring-all/src/main/java/org/baeldung/startup/LogicInConstructorExampleBean.java b/spring-core-2/src/main/java/org/baeldung/startup/LogicInConstructorExampleBean.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/startup/LogicInConstructorExampleBean.java rename to spring-core-2/src/main/java/org/baeldung/startup/LogicInConstructorExampleBean.java diff --git a/spring-all/src/main/java/org/baeldung/startup/PostConstructExampleBean.java b/spring-core-2/src/main/java/org/baeldung/startup/PostConstructExampleBean.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/startup/PostConstructExampleBean.java rename to spring-core-2/src/main/java/org/baeldung/startup/PostConstructExampleBean.java diff --git a/spring-all/src/main/java/org/baeldung/startup/SpringStartupConfig.java b/spring-core-2/src/main/java/org/baeldung/startup/SpringStartupConfig.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/startup/SpringStartupConfig.java rename to spring-core-2/src/main/java/org/baeldung/startup/SpringStartupConfig.java diff --git a/spring-all/src/main/java/org/baeldung/startup/StartupApplicationListenerExample.java b/spring-core-2/src/main/java/org/baeldung/startup/StartupApplicationListenerExample.java similarity index 100% rename from spring-all/src/main/java/org/baeldung/startup/StartupApplicationListenerExample.java rename to spring-core-2/src/main/java/org/baeldung/startup/StartupApplicationListenerExample.java diff --git a/spring-all/src/main/resources/META-INF/spring/spring-shell-plugin.xml b/spring-core-2/src/main/resources/META-INF/spring/spring-shell-plugin.xml similarity index 100% rename from spring-all/src/main/resources/META-INF/spring/spring-shell-plugin.xml rename to spring-core-2/src/main/resources/META-INF/spring/spring-shell-plugin.xml diff --git a/spring-all/src/main/resources/application.properties b/spring-core-2/src/main/resources/application.properties similarity index 100% rename from spring-all/src/main/resources/application.properties rename to spring-core-2/src/main/resources/application.properties diff --git a/spring-all/src/main/resources/beanInjection-constructor.xml b/spring-core-2/src/main/resources/beanInjection-constructor.xml similarity index 100% rename from spring-all/src/main/resources/beanInjection-constructor.xml rename to spring-core-2/src/main/resources/beanInjection-constructor.xml diff --git a/spring-all/src/main/resources/beanInjection-setter.xml b/spring-core-2/src/main/resources/beanInjection-setter.xml similarity index 100% rename from spring-all/src/main/resources/beanInjection-setter.xml rename to spring-core-2/src/main/resources/beanInjection-setter.xml diff --git a/spring-all/src/main/resources/jdbc/schema.sql b/spring-core-2/src/main/resources/jdbc/schema.sql similarity index 100% rename from spring-all/src/main/resources/jdbc/schema.sql rename to spring-core-2/src/main/resources/jdbc/schema.sql diff --git a/spring-all/src/main/resources/jdbc/springJdbc-config.xml b/spring-core-2/src/main/resources/jdbc/springJdbc-config.xml similarity index 100% rename from spring-all/src/main/resources/jdbc/springJdbc-config.xml rename to spring-core-2/src/main/resources/jdbc/springJdbc-config.xml diff --git a/spring-all/src/main/resources/jdbc/test-data.sql b/spring-core-2/src/main/resources/jdbc/test-data.sql similarity index 100% rename from spring-all/src/main/resources/jdbc/test-data.sql rename to spring-core-2/src/main/resources/jdbc/test-data.sql diff --git a/spring-all/src/main/resources/log4j2.properties b/spring-core-2/src/main/resources/log4j2.properties similarity index 100% rename from spring-all/src/main/resources/log4j2.properties rename to spring-core-2/src/main/resources/log4j2.properties diff --git a/spring-all/src/main/resources/logback.xml b/spring-core-2/src/main/resources/logback.xml similarity index 100% rename from spring-all/src/main/resources/logback.xml rename to spring-core-2/src/main/resources/logback.xml diff --git a/spring-all/src/main/resources/scopes.xml b/spring-core-2/src/main/resources/scopes.xml similarity index 100% rename from spring-all/src/main/resources/scopes.xml rename to spring-core-2/src/main/resources/scopes.xml diff --git a/spring-all/src/main/resources/springProfiles-config.xml b/spring-core-2/src/main/resources/springProfiles-config.xml similarity index 100% rename from spring-all/src/main/resources/springProfiles-config.xml rename to spring-core-2/src/main/resources/springProfiles-config.xml diff --git a/spring-all/src/main/resources/startupConfig.xml b/spring-core-2/src/main/resources/startupConfig.xml similarity index 100% rename from spring-all/src/main/resources/startupConfig.xml rename to spring-core-2/src/main/resources/startupConfig.xml diff --git a/spring-all/src/test/java/org/baeldung/autowire/sample/FooServiceIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/autowire/sample/FooServiceIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/autowire/sample/FooServiceIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/autowire/sample/FooServiceIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/bean/injection/ConstructorBasedBeanInjectionWithJavaConfigIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/bean/injection/ConstructorBasedBeanInjectionWithJavaConfigIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/bean/injection/ConstructorBasedBeanInjectionWithJavaConfigIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/bean/injection/ConstructorBasedBeanInjectionWithJavaConfigIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/bean/injection/ConstructorBasedBeanInjectionWithXMLConfigIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/bean/injection/ConstructorBasedBeanInjectionWithXMLConfigIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/bean/injection/ConstructorBasedBeanInjectionWithXMLConfigIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/bean/injection/ConstructorBasedBeanInjectionWithXMLConfigIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/bean/injection/SetterBasedBeanInjectionWithJavaConfigIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/bean/injection/SetterBasedBeanInjectionWithJavaConfigIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/bean/injection/SetterBasedBeanInjectionWithJavaConfigIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/bean/injection/SetterBasedBeanInjectionWithJavaConfigIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/bean/injection/SetterBasedBeanInjectionWithXMLConfigIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/bean/injection/SetterBasedBeanInjectionWithXMLConfigIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/bean/injection/SetterBasedBeanInjectionWithXMLConfigIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/bean/injection/SetterBasedBeanInjectionWithXMLConfigIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/customannotation/Account.java b/spring-core-2/src/test/java/org/baeldung/customannotation/Account.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/customannotation/Account.java rename to spring-core-2/src/test/java/org/baeldung/customannotation/Account.java diff --git a/spring-all/src/test/java/org/baeldung/customannotation/BeanWithGenericDAO.java b/spring-core-2/src/test/java/org/baeldung/customannotation/BeanWithGenericDAO.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/customannotation/BeanWithGenericDAO.java rename to spring-core-2/src/test/java/org/baeldung/customannotation/BeanWithGenericDAO.java diff --git a/spring-all/src/test/java/org/baeldung/customannotation/DataAccessAnnotationIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/customannotation/DataAccessAnnotationIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/customannotation/DataAccessAnnotationIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/customannotation/DataAccessAnnotationIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/customannotation/DataAccessFieldCallbackIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/customannotation/DataAccessFieldCallbackIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/customannotation/DataAccessFieldCallbackIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/customannotation/DataAccessFieldCallbackIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/customannotation/Person.java b/spring-core-2/src/test/java/org/baeldung/customannotation/Person.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/customannotation/Person.java rename to spring-core-2/src/test/java/org/baeldung/customannotation/Person.java diff --git a/spring-all/src/test/java/org/baeldung/customscope/TenantScopeIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/customscope/TenantScopeIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/customscope/TenantScopeIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/customscope/TenantScopeIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/order/RatingRetrieverUnitTest.java b/spring-core-2/src/test/java/org/baeldung/order/RatingRetrieverUnitTest.java similarity index 97% rename from spring-all/src/test/java/org/baeldung/order/RatingRetrieverUnitTest.java rename to spring-core-2/src/test/java/org/baeldung/order/RatingRetrieverUnitTest.java index a624f757fc..96993ccd7c 100644 --- a/spring-all/src/test/java/org/baeldung/order/RatingRetrieverUnitTest.java +++ b/spring-core-2/src/test/java/org/baeldung/order/RatingRetrieverUnitTest.java @@ -1,37 +1,37 @@ -package org.baeldung.order; - - -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; - -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.support.AnnotationConfigContextLoader; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(loader = AnnotationConfigContextLoader.class) -public class RatingRetrieverUnitTest { - - @Configuration - @ComponentScan(basePackages = {"org.baeldung.order"}) - static class ContextConfiguration {} - - @Autowired - private List ratings; - - @Test - public void givenOrderOnComponents_whenInjected_thenAutowireByOrderValue() { - assertThat(ratings.get(0).getRating(), is(equalTo(1))); - assertThat(ratings.get(1).getRating(), is(equalTo(2))); - assertThat(ratings.get(2).getRating(), is(equalTo(3))); - } - -} +package org.baeldung.order; + + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertThat; + +import java.util.List; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.support.AnnotationConfigContextLoader; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(loader = AnnotationConfigContextLoader.class) +public class RatingRetrieverUnitTest { + + @Configuration + @ComponentScan(basePackages = {"org.baeldung.order"}) + static class ContextConfiguration {} + + @Autowired + private List ratings; + + @Test + public void givenOrderOnComponents_whenInjected_thenAutowireByOrderValue() { + assertThat(ratings.get(0).getRating(), is(equalTo(1))); + assertThat(ratings.get(1).getRating(), is(equalTo(2))); + assertThat(ratings.get(2).getRating(), is(equalTo(3))); + } + +} diff --git a/spring-all/src/test/java/org/baeldung/profiles/DevProfileWithAnnotationIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/profiles/DevProfileWithAnnotationIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/profiles/DevProfileWithAnnotationIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/profiles/DevProfileWithAnnotationIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/profiles/ProductionProfileWithAnnotationIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/profiles/ProductionProfileWithAnnotationIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/profiles/ProductionProfileWithAnnotationIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/profiles/ProductionProfileWithAnnotationIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/profiles/SpringProfilesWithMavenPropertiesIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/profiles/SpringProfilesWithMavenPropertiesIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/profiles/SpringProfilesWithMavenPropertiesIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/profiles/SpringProfilesWithMavenPropertiesIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/profiles/SpringProfilesWithXMLIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/profiles/SpringProfilesWithXMLIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/profiles/SpringProfilesWithXMLIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/profiles/SpringProfilesWithXMLIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/scopes/ScopesIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/scopes/ScopesIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/scopes/ScopesIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/scopes/ScopesIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/shell/simple/SimpleCLIIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/shell/simple/SimpleCLIIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/shell/simple/SimpleCLIIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/shell/simple/SimpleCLIIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/springevents/asynchronous/AsynchronousCustomSpringEventsIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/springevents/asynchronous/AsynchronousCustomSpringEventsIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/springevents/asynchronous/AsynchronousCustomSpringEventsIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/springevents/asynchronous/AsynchronousCustomSpringEventsIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/springevents/synchronous/ContextRefreshedListenerIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/springevents/synchronous/ContextRefreshedListenerIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/springevents/synchronous/ContextRefreshedListenerIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/springevents/synchronous/ContextRefreshedListenerIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/springevents/synchronous/GenericAppEventListenerIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/springevents/synchronous/GenericAppEventListenerIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/springevents/synchronous/GenericAppEventListenerIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/springevents/synchronous/GenericAppEventListenerIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/springevents/synchronous/SynchronousCustomSpringEventsIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/springevents/synchronous/SynchronousCustomSpringEventsIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/springevents/synchronous/SynchronousCustomSpringEventsIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/springevents/synchronous/SynchronousCustomSpringEventsIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/startup/SpringStartupIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/startup/SpringStartupIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/startup/SpringStartupIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/startup/SpringStartupIntegrationTest.java diff --git a/spring-all/src/test/java/org/baeldung/startup/SpringStartupXMLConfigIntegrationTest.java b/spring-core-2/src/test/java/org/baeldung/startup/SpringStartupXMLConfigIntegrationTest.java similarity index 100% rename from spring-all/src/test/java/org/baeldung/startup/SpringStartupXMLConfigIntegrationTest.java rename to spring-core-2/src/test/java/org/baeldung/startup/SpringStartupXMLConfigIntegrationTest.java diff --git a/spring-all/src/test/resources/.gitignore b/spring-core-2/src/test/resources/.gitignore similarity index 100% rename from spring-all/src/test/resources/.gitignore rename to spring-core-2/src/test/resources/.gitignore diff --git a/spring-core-3/README.md b/spring-core-3/README.md new file mode 100644 index 0000000000..4c9e3b9ddf --- /dev/null +++ b/spring-core-3/README.md @@ -0,0 +1,3 @@ +## Relevant Articles: + +- [Understanding getBean() in Spring](https://www.baeldung.com/spring-getbean) diff --git a/spring-core-3/pom.xml b/spring-core-3/pom.xml new file mode 100644 index 0000000000..4d83d03ffd --- /dev/null +++ b/spring-core-3/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + spring-core-3 + spring-core-3 + + + com.baeldung + parent-spring-5 + 0.0.1-SNAPSHOT + ../parent-spring-5 + + + + + org.springframework + spring-beans + ${spring.version} + + + org.springframework + spring-context + ${spring.version} + + + org.springframework + spring-core + ${spring.version} + + + org.junit.jupiter + junit-jupiter-engine + ${junit-jupiter.version} + test + + + org.junit.jupiter + junit-jupiter-api + ${junit-jupiter.version} + test + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven.surefire.version} + + + + + + 2.22.1 + + + \ No newline at end of file diff --git a/spring-core-2/src/main/java/com/baeldung/getbean/AnnotationConfig.java b/spring-core-3/src/main/java/com/baeldung/getbean/AnnotationConfig.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/getbean/AnnotationConfig.java rename to spring-core-3/src/main/java/com/baeldung/getbean/AnnotationConfig.java diff --git a/spring-core-2/src/main/java/com/baeldung/getbean/Lion.java b/spring-core-3/src/main/java/com/baeldung/getbean/Lion.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/getbean/Lion.java rename to spring-core-3/src/main/java/com/baeldung/getbean/Lion.java diff --git a/spring-core-2/src/main/java/com/baeldung/getbean/Tiger.java b/spring-core-3/src/main/java/com/baeldung/getbean/Tiger.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/getbean/Tiger.java rename to spring-core-3/src/main/java/com/baeldung/getbean/Tiger.java diff --git a/spring-core-2/src/test/java/com/baeldung/getbean/GetBeanByNameAndTypeUnitTest.java b/spring-core-3/src/test/java/com/baeldung/getbean/GetBeanByNameAndTypeUnitTest.java similarity index 100% rename from spring-core-2/src/test/java/com/baeldung/getbean/GetBeanByNameAndTypeUnitTest.java rename to spring-core-3/src/test/java/com/baeldung/getbean/GetBeanByNameAndTypeUnitTest.java diff --git a/spring-core-2/src/test/java/com/baeldung/getbean/GetBeanByNameUnitTest.java b/spring-core-3/src/test/java/com/baeldung/getbean/GetBeanByNameUnitTest.java similarity index 100% rename from spring-core-2/src/test/java/com/baeldung/getbean/GetBeanByNameUnitTest.java rename to spring-core-3/src/test/java/com/baeldung/getbean/GetBeanByNameUnitTest.java diff --git a/spring-core-2/src/test/java/com/baeldung/getbean/GetBeanByNameWithConstructorParametersUnitTest.java b/spring-core-3/src/test/java/com/baeldung/getbean/GetBeanByNameWithConstructorParametersUnitTest.java similarity index 100% rename from spring-core-2/src/test/java/com/baeldung/getbean/GetBeanByNameWithConstructorParametersUnitTest.java rename to spring-core-3/src/test/java/com/baeldung/getbean/GetBeanByNameWithConstructorParametersUnitTest.java diff --git a/spring-core-2/src/test/java/com/baeldung/getbean/GetBeanByTypeUnitTest.java b/spring-core-3/src/test/java/com/baeldung/getbean/GetBeanByTypeUnitTest.java similarity index 100% rename from spring-core-2/src/test/java/com/baeldung/getbean/GetBeanByTypeUnitTest.java rename to spring-core-3/src/test/java/com/baeldung/getbean/GetBeanByTypeUnitTest.java diff --git a/spring-core-2/src/test/java/com/baeldung/getbean/GetBeanByTypeWithConstructorParametersUnitTest.java b/spring-core-3/src/test/java/com/baeldung/getbean/GetBeanByTypeWithConstructorParametersUnitTest.java similarity index 100% rename from spring-core-2/src/test/java/com/baeldung/getbean/GetBeanByTypeWithConstructorParametersUnitTest.java rename to spring-core-3/src/test/java/com/baeldung/getbean/GetBeanByTypeWithConstructorParametersUnitTest.java From 6839533ec04ae7d5d3164e217ebbe1fca1c09f67 Mon Sep 17 00:00:00 2001 From: Denis Date: Sun, 6 Oct 2019 12:55:49 +0200 Subject: [PATCH 080/199] extract spring-shell module --- .gitignore | 3 +- spring-shell/.gitignore | 15 ++++++++++ spring-shell/README.md | 3 ++ spring-shell/pom.xml | 28 +++++++++++++++++++ .../main/java/org/baeldung/shell/Main.java | 0 .../shell/simple/SimpleBannerProvider.java | 0 .../org/baeldung/shell/simple/SimpleCLI.java | 0 .../simple/SimpleHistoryFileNameProvider.java | 0 .../shell/simple/SimplePromptProvider.java | 0 .../shell/simple/SimpleURLConverter.java | 0 .../META-INF/spring/spring-shell-plugin.xml | 0 .../simple/SimpleCLIIntegrationTest.java | 0 spring-shell/src/test/resources/.gitignore | 13 +++++++++ 13 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 spring-shell/.gitignore create mode 100644 spring-shell/README.md create mode 100644 spring-shell/pom.xml rename {spring-core-2 => spring-shell}/src/main/java/org/baeldung/shell/Main.java (100%) rename {spring-core-2 => spring-shell}/src/main/java/org/baeldung/shell/simple/SimpleBannerProvider.java (100%) rename {spring-core-2 => spring-shell}/src/main/java/org/baeldung/shell/simple/SimpleCLI.java (100%) rename {spring-core-2 => spring-shell}/src/main/java/org/baeldung/shell/simple/SimpleHistoryFileNameProvider.java (100%) rename {spring-core-2 => spring-shell}/src/main/java/org/baeldung/shell/simple/SimplePromptProvider.java (100%) rename {spring-core-2 => spring-shell}/src/main/java/org/baeldung/shell/simple/SimpleURLConverter.java (100%) rename {spring-core-2 => spring-shell}/src/main/resources/META-INF/spring/spring-shell-plugin.xml (100%) rename {spring-core-2 => spring-shell}/src/test/java/org/baeldung/shell/simple/SimpleCLIIntegrationTest.java (100%) create mode 100644 spring-shell/src/test/resources/.gitignore diff --git a/.gitignore b/.gitignore index 2edea19340..52c0ca0295 100644 --- a/.gitignore +++ b/.gitignore @@ -82,4 +82,5 @@ jta/transaction-logs/ software-security/sql-injection-samples/derby.log spring-soap/src/main/java/com/baeldung/springsoap/gen/ /report-*.json -transaction.log \ No newline at end of file +transaction.log +*-shell.log \ No newline at end of file diff --git a/spring-shell/.gitignore b/spring-shell/.gitignore new file mode 100644 index 0000000000..786d76230c --- /dev/null +++ b/spring-shell/.gitignore @@ -0,0 +1,15 @@ +*.class + +#folders# +/target +/neoDb* +/data +/src/main/webapp/WEB-INF/classes +*/META-INF/* + +# Packaged files # +*.jar +*.war +*.ear + +*-shell.log \ No newline at end of file diff --git a/spring-shell/README.md b/spring-shell/README.md new file mode 100644 index 0000000000..2762f3a9c0 --- /dev/null +++ b/spring-shell/README.md @@ -0,0 +1,3 @@ +### Relevant articles: + +- [A CLI with Spring Shell](http://www.baeldung.com/spring-shell-cli) diff --git a/spring-shell/pom.xml b/spring-shell/pom.xml new file mode 100644 index 0000000000..8d13e4af5e --- /dev/null +++ b/spring-shell/pom.xml @@ -0,0 +1,28 @@ + + 4.0.0 + spring-core-2 + 0.1-SNAPSHOT + spring-core-2 + war + + + parent-boot-2 + com.baeldung + 0.0.1-SNAPSHOT + ../parent-boot-2 + + + + + org.springframework.shell + spring-shell + ${org.springframework.shell.version} + + + + + 1.2.0.RELEASE + + + diff --git a/spring-core-2/src/main/java/org/baeldung/shell/Main.java b/spring-shell/src/main/java/org/baeldung/shell/Main.java similarity index 100% rename from spring-core-2/src/main/java/org/baeldung/shell/Main.java rename to spring-shell/src/main/java/org/baeldung/shell/Main.java diff --git a/spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleBannerProvider.java b/spring-shell/src/main/java/org/baeldung/shell/simple/SimpleBannerProvider.java similarity index 100% rename from spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleBannerProvider.java rename to spring-shell/src/main/java/org/baeldung/shell/simple/SimpleBannerProvider.java diff --git a/spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleCLI.java b/spring-shell/src/main/java/org/baeldung/shell/simple/SimpleCLI.java similarity index 100% rename from spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleCLI.java rename to spring-shell/src/main/java/org/baeldung/shell/simple/SimpleCLI.java diff --git a/spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleHistoryFileNameProvider.java b/spring-shell/src/main/java/org/baeldung/shell/simple/SimpleHistoryFileNameProvider.java similarity index 100% rename from spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleHistoryFileNameProvider.java rename to spring-shell/src/main/java/org/baeldung/shell/simple/SimpleHistoryFileNameProvider.java diff --git a/spring-core-2/src/main/java/org/baeldung/shell/simple/SimplePromptProvider.java b/spring-shell/src/main/java/org/baeldung/shell/simple/SimplePromptProvider.java similarity index 100% rename from spring-core-2/src/main/java/org/baeldung/shell/simple/SimplePromptProvider.java rename to spring-shell/src/main/java/org/baeldung/shell/simple/SimplePromptProvider.java diff --git a/spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleURLConverter.java b/spring-shell/src/main/java/org/baeldung/shell/simple/SimpleURLConverter.java similarity index 100% rename from spring-core-2/src/main/java/org/baeldung/shell/simple/SimpleURLConverter.java rename to spring-shell/src/main/java/org/baeldung/shell/simple/SimpleURLConverter.java diff --git a/spring-core-2/src/main/resources/META-INF/spring/spring-shell-plugin.xml b/spring-shell/src/main/resources/META-INF/spring/spring-shell-plugin.xml similarity index 100% rename from spring-core-2/src/main/resources/META-INF/spring/spring-shell-plugin.xml rename to spring-shell/src/main/resources/META-INF/spring/spring-shell-plugin.xml diff --git a/spring-core-2/src/test/java/org/baeldung/shell/simple/SimpleCLIIntegrationTest.java b/spring-shell/src/test/java/org/baeldung/shell/simple/SimpleCLIIntegrationTest.java similarity index 100% rename from spring-core-2/src/test/java/org/baeldung/shell/simple/SimpleCLIIntegrationTest.java rename to spring-shell/src/test/java/org/baeldung/shell/simple/SimpleCLIIntegrationTest.java diff --git a/spring-shell/src/test/resources/.gitignore b/spring-shell/src/test/resources/.gitignore new file mode 100644 index 0000000000..83c05e60c8 --- /dev/null +++ b/spring-shell/src/test/resources/.gitignore @@ -0,0 +1,13 @@ +*.class + +#folders# +/target +/neoDb* +/data +/src/main/webapp/WEB-INF/classes +*/META-INF/* + +# Packaged files # +*.jar +*.war +*.ear \ No newline at end of file From 45eab1339e91ed1f5543fe55ba8d919deb645782 Mon Sep 17 00:00:00 2001 From: Sjmillington Date: Sun, 6 Oct 2019 12:15:11 +0100 Subject: [PATCH 081/199] ADD README descriptions 32 --- ethereum/README.md | 2 ++ feign/README.md | 8 +++----- flyway-cdi-extension/README.md | 4 ++++ geotools/README.md | 4 ++++ google-cloud/README.md | 12 ++++++------ google-web-toolkit/README.md | 5 +++++ gradle/README.md | 4 ++++ grails/README.md | 4 ++++ graphql/graphql-java/README.md | 4 ++++ grpc/README.md | 4 ++++ 10 files changed, 40 insertions(+), 11 deletions(-) diff --git a/ethereum/README.md b/ethereum/README.md index 7eccea7135..5bae4bbebd 100644 --- a/ethereum/README.md +++ b/ethereum/README.md @@ -1,5 +1,7 @@ ## Ethereum +This module contains articles about the Ethereum blockchain + ### Relevant Articles: - [Introduction to EthereumJ](https://www.baeldung.com/ethereumj) - [Creating and Deploying Smart Contracts with Solidity](https://www.baeldung.com/smart-contracts-ethereum-solidity) diff --git a/feign/README.md b/feign/README.md index 5aa0e3f56f..03051671d5 100644 --- a/feign/README.md +++ b/feign/README.md @@ -1,10 +1,8 @@ -## Feign Hypermedia Client ## +## Feign -This is the implementation of a [spring-hypermedia-api][1] client using Feign. - -[1]: https://github.com/eugenp/spring-hypermedia-api +This module contains articles about Feign ### Relevant Articles: - [Intro to Feign](https://www.baeldung.com/intro-to-feign) -- [Introduction to SLF4J](https://www.baeldung.com/slf4j-with-log4j2-logback) + diff --git a/flyway-cdi-extension/README.md b/flyway-cdi-extension/README.md index 3e03d5aee8..2f4e8cdb7a 100644 --- a/flyway-cdi-extension/README.md +++ b/flyway-cdi-extension/README.md @@ -1,3 +1,7 @@ +## Flyway CDI Extension + +This module contains articles about context and dependency injection (CDI) with Flyway + ### Relevant articles - [CDI Portable Extension and Flyway](https://www.baeldung.com/cdi-portable-extension) diff --git a/geotools/README.md b/geotools/README.md index 98f1e2c283..5529386070 100644 --- a/geotools/README.md +++ b/geotools/README.md @@ -1,3 +1,7 @@ +## GeoTools + +This module contains articles about GeoTools + ### Relevant Articles [Introduction to GeoTools](https://www.baeldung.com/geo-tools) diff --git a/google-cloud/README.md b/google-cloud/README.md index c6c49b88bf..5458fb1a93 100644 --- a/google-cloud/README.md +++ b/google-cloud/README.md @@ -1,16 +1,16 @@ -## Google Cloud Tutorial Project +## Google Cloud + +This module contains articles about Google Cloud ### Relevant Article: + - [Intro to Google Cloud Storage With Java](https://www.baeldung.com/java-google-cloud-storage) ### Overview + This Maven project contains the Java code for the article linked above. ### Package Organization + Java classes for the intro tutorial are in the org.baeldung.google.cloud package. Please note that Google Cloud requires a user account and credentials, as explained in the tutorial. - - -### Running the tests - -``` diff --git a/google-web-toolkit/README.md b/google-web-toolkit/README.md index d2a8b324ec..df9158cddc 100644 --- a/google-web-toolkit/README.md +++ b/google-web-toolkit/README.md @@ -1,2 +1,7 @@ +## Google Web Toolkit + +This module contains articles about Google Web Toolkit (GWT) + ### Relevant Articles: + - [Introduction to GWT](https://www.baeldung.com/gwt) diff --git a/gradle/README.md b/gradle/README.md index 0ad0ff3e45..84a8508e2c 100644 --- a/gradle/README.md +++ b/gradle/README.md @@ -1,3 +1,7 @@ +## Gradle + +This module contains articles about Gradle + ## Relevant articles: - [Introduction to Gradle](https://www.baeldung.com/gradle) - [Writing Custom Gradle Plugins](https://www.baeldung.com/gradle-create-plugin) diff --git a/grails/README.md b/grails/README.md index b93ac5de2e..ec9bb2a504 100644 --- a/grails/README.md +++ b/grails/README.md @@ -1,3 +1,7 @@ +## Grails + +This module contains articles about Grails + ### Relevant articles - [Build an MVC Web Application with Grails](https://www.baeldung.com/grails-mvc-application) diff --git a/graphql/graphql-java/README.md b/graphql/graphql-java/README.md index 240b62f6b4..e3fd818400 100644 --- a/graphql/graphql-java/README.md +++ b/graphql/graphql-java/README.md @@ -1,3 +1,7 @@ +## GraphQL Java + +This module contains articles about GraphQL with Java + ## Relevant articles: - [Introduction to GraphQL](https://www.baeldung.com/graphql) diff --git a/grpc/README.md b/grpc/README.md index 17128dd19f..d65dc03e54 100644 --- a/grpc/README.md +++ b/grpc/README.md @@ -1,2 +1,6 @@ +## gRPC + +This module contains articles about gRPC + ### Relevant Articles: - [Introduction to gRPC](https://www.baeldung.com/grpc-introduction) From dff3b5b16b40d57a3da717bb6fdaeb8488233369 Mon Sep 17 00:00:00 2001 From: Sjmillington Date: Sun, 6 Oct 2019 12:25:00 +0100 Subject: [PATCH 082/199] Add README descriptions 33 --- gson/README.md | 6 +++--- guava-collections-set/README.md | 4 +++- guava-collections/README.md | 6 +++--- guava-io/README.md | 4 ++++ guava-modules/README.md | 3 ++- guava/README.md | 3 ++- guice/README.md | 5 ++++- hazelcast/README.md | 4 ++++ helidon/README.md | 4 ++++ httpclient/README.md | 7 ++++--- 10 files changed, 33 insertions(+), 13 deletions(-) diff --git a/gson/README.md b/gson/README.md index 8b882f2d3e..df6ba0f516 100644 --- a/gson/README.md +++ b/gson/README.md @@ -1,9 +1,9 @@ -========= - -## GSON Cookbooks and Examples +## GSON +This module contains articles about Gson ### Relevant Articles: + - [Gson Deserialization Cookbook](https://www.baeldung.com/gson-deserialization-guide) - [Jackson vs Gson](https://www.baeldung.com/jackson-vs-gson) - [Exclude Fields from Serialization in Gson](https://www.baeldung.com/gson-exclude-fields-serialization) diff --git a/guava-collections-set/README.md b/guava-collections-set/README.md index e24552aae8..2e8e1ecdd0 100644 --- a/guava-collections-set/README.md +++ b/guava-collections-set/README.md @@ -1,4 +1,6 @@ -# Guava +## Guava Collections Set + +This module contains articles about Google Guava sets ## Relevant Articles: diff --git a/guava-collections/README.md b/guava-collections/README.md index 95397f0ff0..4d8eafc8d7 100644 --- a/guava-collections/README.md +++ b/guava-collections/README.md @@ -1,9 +1,9 @@ -========= - -## Guava and Hamcrest Cookbooks and Examples +## Guava Collections +This module contains articles about Google Guava collections ### Relevant Articles: + - [Guava Collections Cookbook](https://www.baeldung.com/guava-collections) - [Guava Ordering Cookbook](https://www.baeldung.com/guava-order) - [Hamcrest Collections Cookbook](https://www.baeldung.com/hamcrest-collections-arrays) diff --git a/guava-io/README.md b/guava-io/README.md index 0737accbed..81188295e7 100644 --- a/guava-io/README.md +++ b/guava-io/README.md @@ -1,3 +1,7 @@ +## Guava IO + +This module contains articles about input/output (IO) with Google Guava + ### Relevant Articles: - [Using Guava CountingOutputStream](https://www.baeldung.com/guava-counting-outputstream) diff --git a/guava-modules/README.md b/guava-modules/README.md index 79e45a89e7..898b8b7d9f 100644 --- a/guava-modules/README.md +++ b/guava-modules/README.md @@ -1,3 +1,4 @@ - ## Guava Modules +This module contains other modules about Google Guava + diff --git a/guava/README.md b/guava/README.md index a9694daf0b..651506e16d 100644 --- a/guava/README.md +++ b/guava/README.md @@ -1,5 +1,6 @@ +## Guava -## Guava Examples +This module contains articles a Google Guava ### Relevant Articles: - [Guava Functional Cookbook](https://www.baeldung.com/guava-functions-predicates) diff --git a/guice/README.md b/guice/README.md index cc3a8755c0..712639dfce 100644 --- a/guice/README.md +++ b/guice/README.md @@ -1,5 +1,8 @@ -## Google Guice Tutorials Project +## Google Guice + +This module contains articles about Google Guice ### Relevant Articles + - [Guide to Google Guice](https://www.baeldung.com/guice) - [Guice vs Spring – Dependency Injection](https://www.baeldung.com/guice-spring-dependency-injection) diff --git a/hazelcast/README.md b/hazelcast/README.md index 8ba6dc122b..a37009ef7e 100644 --- a/hazelcast/README.md +++ b/hazelcast/README.md @@ -1,3 +1,7 @@ +## Hazelcast + +This module contains articles about Hazelcast + ### Relevant Articles: - [Guide to Hazelcast with Java](https://www.baeldung.com/java-hazelcast) - [Introduction to Hazelcast Jet](https://www.baeldung.com/hazelcast-jet) diff --git a/helidon/README.md b/helidon/README.md index a092faf9f2..fa5bade4fe 100644 --- a/helidon/README.md +++ b/helidon/README.md @@ -1,3 +1,7 @@ +## Helidon + +This module contains articles about Helidon + ### Relevant articles - [Microservices with Oracle Helidon](https://www.baeldung.com/microservices-oracle-helidon) diff --git a/httpclient/README.md b/httpclient/README.md index 6bce5567ec..678b195965 100644 --- a/httpclient/README.md +++ b/httpclient/README.md @@ -1,9 +1,10 @@ -========= -## HttpClient 4.x Cookbooks and Examples +## HttpClient 4.x + +This module contains articles about HttpClient 4.x ###The Course -The "REST With Spring" Classes: http://bit.ly/restwithspring +The "REST With Spring" Classes: http://bit.ly/restwithspring ### Relevant Articles: From 6b80543360fc0a89cdf43184eced0b19eeda3b32 Mon Sep 17 00:00:00 2001 From: catalin-burcea Date: Sun, 6 Oct 2019 15:57:30 +0300 Subject: [PATCH 083/199] Move articles out of core-java-lang part 2 --- .../core-java-lang-oop-2/README.md | 1 - .../core-java-lang-operators/README.md | 1 + .../CompoundOperatorsUnitTest.java | 0 .../diamond => diamondoperator}/Car.java | 2 +- .../DiamondOperatorUnitTest.java | 2 +- .../diamond => diamondoperator}/Diesel.java | 2 +- .../diamond => diamondoperator}/Engine.java | 2 +- .../diamond => diamondoperator}/Vehicle.java | 2 +- .../{test => }/InstanceOfUnitTest.java | 2 +- .../core-java-lang-syntax-2/README.md | 6 +++++ .../ConditionalBranches.java | 2 +- .../core}/controlstructures/Loops.java | 2 +- .../core}/nativekeyword/DateTimeUtils.java | 2 +- .../core}/nativekeyword/NativeMainApp.java | 4 +--- .../com/baeldung/core}/packages/TodoApp.java | 6 ++--- .../com/baeldung/core}/packages/TodoList.java | 6 ++--- .../core}/packages/domain/TodoItem.java | 2 +- .../Employee.java | 2 +- .../ExampleClass.java | 2 +- .../PublicOuterClass.java | 2 +- .../core}/scope/BracketScopeExample.java | 2 +- .../core}/scope/ClassScopeExample.java | 2 +- .../core}/scope/LoopScopeExample.java | 2 +- .../core}/scope/MethodScopeExample.java | 2 +- .../core}/scope/NestedScopesExample.java | 2 +- .../doublebrace/DoubleBraceUnitTest.java | 2 +- .../DateTimeUtilsManualTest.java | 6 ++--- .../core}/packages/PackagesUnitTest.java | 9 ++++---- .../core-java-lang-syntax/README.md | 22 +++++++------------ ...WhenUsingLoops.java => LoopsUnitTest.java} | 2 +- core-java-modules/core-java-lang/README.md | 10 --------- .../java/com/baeldung/system/ChatWindow.java | 0 .../com/baeldung/system/DateTimeService.java | 0 .../baeldung/system/EnvironmentVariables.java | 0 .../com/baeldung/system/SystemErrDemo.java | 0 .../com/baeldung/system/SystemExitDemo.java | 0 .../com/baeldung/system/SystemOutDemo.java | 0 .../com/baeldung/system/UserCredentials.java | 0 .../system/DateTimeServiceUnitTest.java | 0 .../system/EnvironmentVariablesUnitTest.java | 0 .../system/SystemArrayCopyUnitTest.java | 0 .../baeldung/system/SystemNanoUnitTest.java | 0 .../system/SystemPropertiesUnitTest.java | 0 43 files changed, 49 insertions(+), 62 deletions(-) rename core-java-modules/{core-java-lang => core-java-lang-operators}/src/test/java/com/baeldung/compoundoperators/CompoundOperatorsUnitTest.java (100%) rename core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/{java/diamond => diamondoperator}/Car.java (62%) rename core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/{java/diamond => diamondoperator}/DiamondOperatorUnitTest.java (87%) rename core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/{java/diamond => diamondoperator}/Diesel.java (76%) rename core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/{java/diamond => diamondoperator}/Engine.java (54%) rename core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/{java/diamond => diamondoperator}/Vehicle.java (56%) rename core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/keyword/{test => }/InstanceOfUnitTest.java (97%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-lang-syntax-2/src/main/java/com/baeldung/core}/controlstructures/ConditionalBranches.java (97%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-lang-syntax-2/src/main/java/com/baeldung/core}/controlstructures/Loops.java (99%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-lang-syntax-2/src/main/java/com/baeldung/core}/nativekeyword/DateTimeUtils.java (78%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-lang-syntax-2/src/main/java/com/baeldung/core}/nativekeyword/NativeMainApp.java (74%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-lang-syntax-2/src/main/java/com/baeldung/core}/packages/TodoApp.java (86%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-lang-syntax-2/src/main/java/com/baeldung/core}/packages/TodoList.java (84%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-lang-syntax-2/src/main/java/com/baeldung/core}/packages/domain/TodoItem.java (94%) rename core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/{modifiers => privatemodifier}/Employee.java (96%) rename core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/{modifiers => privatemodifier}/ExampleClass.java (84%) rename core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/{modifiers => privatemodifier}/PublicOuterClass.java (90%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-lang-syntax-2/src/main/java/com/baeldung/core}/scope/BracketScopeExample.java (89%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-lang-syntax-2/src/main/java/com/baeldung/core}/scope/ClassScopeExample.java (86%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-lang-syntax-2/src/main/java/com/baeldung/core}/scope/LoopScopeExample.java (92%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-lang-syntax-2/src/main/java/com/baeldung/core}/scope/MethodScopeExample.java (87%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-lang-syntax-2/src/main/java/com/baeldung/core}/scope/NestedScopesExample.java (86%) rename core-java-modules/{core-java-lang-operators/src/test/java/com/baeldung/java => core-java-lang-syntax-2/src/test/java/com/baeldung/core}/doublebrace/DoubleBraceUnitTest.java (96%) rename core-java-modules/{core-java-lang/src/test/java/com/baeldung => core-java-lang-syntax-2/src/test/java/com/baeldung/core}/nativekeyword/DateTimeUtilsManualTest.java (95%) rename core-java-modules/{core-java-lang/src/test/java/com/baeldung => core-java-lang-syntax-2/src/test/java/com/baeldung/core}/packages/PackagesUnitTest.java (85%) rename core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/loops/{WhenUsingLoops.java => LoopsUnitTest.java} (98%) rename core-java-modules/{core-java-lang-syntax => core-java-lang}/src/main/java/com/baeldung/system/ChatWindow.java (100%) rename core-java-modules/{core-java-lang-syntax => core-java-lang}/src/main/java/com/baeldung/system/DateTimeService.java (100%) rename core-java-modules/{core-java-lang-syntax => core-java-lang}/src/main/java/com/baeldung/system/EnvironmentVariables.java (100%) rename core-java-modules/{core-java-lang-syntax => core-java-lang}/src/main/java/com/baeldung/system/SystemErrDemo.java (100%) rename core-java-modules/{core-java-lang-syntax => core-java-lang}/src/main/java/com/baeldung/system/SystemExitDemo.java (100%) rename core-java-modules/{core-java-lang-syntax => core-java-lang}/src/main/java/com/baeldung/system/SystemOutDemo.java (100%) rename core-java-modules/{core-java-lang-syntax => core-java-lang}/src/main/java/com/baeldung/system/UserCredentials.java (100%) rename core-java-modules/{core-java-lang-syntax => core-java-lang}/src/test/java/com/baeldung/system/DateTimeServiceUnitTest.java (100%) rename core-java-modules/{core-java-lang-syntax => core-java-lang}/src/test/java/com/baeldung/system/EnvironmentVariablesUnitTest.java (100%) rename core-java-modules/{core-java-lang-syntax => core-java-lang}/src/test/java/com/baeldung/system/SystemArrayCopyUnitTest.java (100%) rename core-java-modules/{core-java-lang-syntax => core-java-lang}/src/test/java/com/baeldung/system/SystemNanoUnitTest.java (100%) rename core-java-modules/{core-java-lang-syntax => core-java-lang}/src/test/java/com/baeldung/system/SystemPropertiesUnitTest.java (100%) diff --git a/core-java-modules/core-java-lang-oop-2/README.md b/core-java-modules/core-java-lang-oop-2/README.md index dca7b14d68..e2c30bbb40 100644 --- a/core-java-modules/core-java-lang-oop-2/README.md +++ b/core-java-modules/core-java-lang-oop-2/README.md @@ -7,7 +7,6 @@ This module contains articles about Object-oriented programming (OOP) in Java - [Cannot Reference “X” Before Supertype Constructor Has Been Called](https://www.baeldung.com/java-cannot-reference-x-before-supertype-constructor-error) - [Anonymous Classes in Java](https://www.baeldung.com/java-anonymous-classes) - [Raw Types in Java](https://www.baeldung.com/raw-types-java) -- [Java ‘private’ Access Modifier](https://www.baeldung.com/java-private-keyword) - [Marker Interfaces in Java](https://www.baeldung.com/java-marker-interfaces) - [Java equals() and hashCode() Contracts](https://www.baeldung.com/java-equals-hashcode-contracts) - [Immutable Objects in Java](https://www.baeldung.com/java-immutable-object) diff --git a/core-java-modules/core-java-lang-operators/README.md b/core-java-modules/core-java-lang-operators/README.md index 280c630882..f9fa49ee0d 100644 --- a/core-java-modules/core-java-lang-operators/README.md +++ b/core-java-modules/core-java-lang-operators/README.md @@ -4,3 +4,4 @@ - [The Modulo Operator in Java](https://www.baeldung.com/modulo-java) - [Java instanceof Operator](https://www.baeldung.com/java-instanceof) - [A Guide to Increment and Decrement Unary Operators in Java](https://www.baeldung.com/java-unary-operators) +- [Java Compound Operators](https://www.baeldung.com/java-compound-operators) diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/compoundoperators/CompoundOperatorsUnitTest.java b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/compoundoperators/CompoundOperatorsUnitTest.java similarity index 100% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/compoundoperators/CompoundOperatorsUnitTest.java rename to core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/compoundoperators/CompoundOperatorsUnitTest.java diff --git a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/diamond/Car.java b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/diamondoperator/Car.java similarity index 62% rename from core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/diamond/Car.java rename to core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/diamondoperator/Car.java index a680c4e670..7fa52a5eb1 100644 --- a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/diamond/Car.java +++ b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/diamondoperator/Car.java @@ -1,4 +1,4 @@ -package com.baeldung.java.diamond; +package com.baeldung.diamondoperator; public class Car implements Vehicle { diff --git a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/diamond/DiamondOperatorUnitTest.java b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/diamondoperator/DiamondOperatorUnitTest.java similarity index 87% rename from core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/diamond/DiamondOperatorUnitTest.java rename to core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/diamondoperator/DiamondOperatorUnitTest.java index ee5f639926..b50119b3c6 100644 --- a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/diamond/DiamondOperatorUnitTest.java +++ b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/diamondoperator/DiamondOperatorUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.java.diamond; +package com.baeldung.diamondoperator; import static org.junit.Assert.assertNotNull; diff --git a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/diamond/Diesel.java b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/diamondoperator/Diesel.java similarity index 76% rename from core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/diamond/Diesel.java rename to core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/diamondoperator/Diesel.java index 90eb7d9340..0b92d11318 100644 --- a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/diamond/Diesel.java +++ b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/diamondoperator/Diesel.java @@ -1,4 +1,4 @@ -package com.baeldung.java.diamond; +package com.baeldung.diamondoperator; public class Diesel implements Engine { diff --git a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/diamond/Engine.java b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/diamondoperator/Engine.java similarity index 54% rename from core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/diamond/Engine.java rename to core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/diamondoperator/Engine.java index 746baf3254..0afd48114a 100644 --- a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/diamond/Engine.java +++ b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/diamondoperator/Engine.java @@ -1,4 +1,4 @@ -package com.baeldung.java.diamond; +package com.baeldung.diamondoperator; public interface Engine { diff --git a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/diamond/Vehicle.java b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/diamondoperator/Vehicle.java similarity index 56% rename from core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/diamond/Vehicle.java rename to core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/diamondoperator/Vehicle.java index 8395cdd970..89a5dfefef 100644 --- a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/diamond/Vehicle.java +++ b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/diamondoperator/Vehicle.java @@ -1,4 +1,4 @@ -package com.baeldung.java.diamond; +package com.baeldung.diamondoperator; public interface Vehicle { diff --git a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/keyword/test/InstanceOfUnitTest.java b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/keyword/InstanceOfUnitTest.java similarity index 97% rename from core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/keyword/test/InstanceOfUnitTest.java rename to core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/keyword/InstanceOfUnitTest.java index 6966fa3944..0e082b69d3 100644 --- a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/keyword/test/InstanceOfUnitTest.java +++ b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/keyword/InstanceOfUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.keyword.test; +package com.baeldung.keyword; import org.junit.Assert; import org.junit.jupiter.api.Test; diff --git a/core-java-modules/core-java-lang-syntax-2/README.md b/core-java-modules/core-java-lang-syntax-2/README.md index d8daadf2aa..a3b11865af 100644 --- a/core-java-modules/core-java-lang-syntax-2/README.md +++ b/core-java-modules/core-java-lang-syntax-2/README.md @@ -5,4 +5,10 @@ This module contains articles about Java syntax ### Relevant Articles: - [Java ‘private’ Access Modifier](https://www.baeldung.com/java-private-keyword) +- [Guide to Java Packages](https://www.baeldung.com/java-packages) +- [If-Else Statement in Java](https://www.baeldung.com/java-if-else) +- [Control Structures in Java](https://www.baeldung.com/java-control-structures) +- [Java Double Brace Initialization](https://www.baeldung.com/java-double-brace-initialization) +- [The Java Native Keyword and Methods](https://www.baeldung.com/java-native) +- [Variable Scope in Java](https://www.baeldung.com/java-variable-scope) - [[<-- Prev]](/core-java-modules/core-java-lang-syntax) diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/controlstructures/ConditionalBranches.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/controlstructures/ConditionalBranches.java similarity index 97% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/controlstructures/ConditionalBranches.java rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/controlstructures/ConditionalBranches.java index bace609699..e15386f048 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/controlstructures/ConditionalBranches.java +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/controlstructures/ConditionalBranches.java @@ -1,4 +1,4 @@ -package com.baeldung.controlstructures; +package com.baeldung.core.controlstructures; public class ConditionalBranches { diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/controlstructures/Loops.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/controlstructures/Loops.java similarity index 99% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/controlstructures/Loops.java rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/controlstructures/Loops.java index bc4515bfc7..9d73127cae 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/controlstructures/Loops.java +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/controlstructures/Loops.java @@ -1,4 +1,4 @@ -package com.baeldung.controlstructures; +package com.baeldung.core.controlstructures; public class Loops { diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/nativekeyword/DateTimeUtils.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/nativekeyword/DateTimeUtils.java similarity index 78% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/nativekeyword/DateTimeUtils.java rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/nativekeyword/DateTimeUtils.java index 0762b0eb8a..1d101719ca 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/nativekeyword/DateTimeUtils.java +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/nativekeyword/DateTimeUtils.java @@ -1,4 +1,4 @@ -package com.baeldung.nativekeyword; +package com.baeldung.core.nativekeyword; public class DateTimeUtils { diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/nativekeyword/NativeMainApp.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/nativekeyword/NativeMainApp.java similarity index 74% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/nativekeyword/NativeMainApp.java rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/nativekeyword/NativeMainApp.java index 76fe548ed3..4bf6b88840 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/nativekeyword/NativeMainApp.java +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/nativekeyword/NativeMainApp.java @@ -1,6 +1,4 @@ -package com.baeldung.nativekeyword; - -import com.baeldung.nativekeyword.DateTimeUtils; +package com.baeldung.core.nativekeyword; public class NativeMainApp { public static void main(String[] args) { diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/packages/TodoApp.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/packages/TodoApp.java similarity index 86% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/packages/TodoApp.java rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/packages/TodoApp.java index 0f4a56f708..d8283f6b0d 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/packages/TodoApp.java +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/packages/TodoApp.java @@ -1,9 +1,9 @@ -package com.baeldung.packages; +package com.baeldung.core.packages; + +import com.baeldung.core.packages.domain.TodoItem; import java.time.LocalDate; -import com.baeldung.packages.domain.TodoItem; - public class TodoApp { public static void main(String[] args) { diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/packages/TodoList.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/packages/TodoList.java similarity index 84% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/packages/TodoList.java rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/packages/TodoList.java index 6ed6cd4ec1..f9f6ac3aca 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/packages/TodoList.java +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/packages/TodoList.java @@ -1,10 +1,10 @@ -package com.baeldung.packages; +package com.baeldung.core.packages; + +import com.baeldung.core.packages.domain.TodoItem; import java.util.ArrayList; import java.util.List; -import com.baeldung.packages.domain.TodoItem; - public class TodoList { private List todoItems; diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/packages/domain/TodoItem.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/packages/domain/TodoItem.java similarity index 94% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/packages/domain/TodoItem.java rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/packages/domain/TodoItem.java index 972e574a7f..195f763974 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/packages/domain/TodoItem.java +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/packages/domain/TodoItem.java @@ -1,4 +1,4 @@ -package com.baeldung.packages.domain; +package com.baeldung.core.packages.domain; import java.time.LocalDate; diff --git a/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/Employee.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/privatemodifier/Employee.java similarity index 96% rename from core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/Employee.java rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/privatemodifier/Employee.java index 6ec68d6ebb..4598400e93 100644 --- a/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/Employee.java +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/privatemodifier/Employee.java @@ -1,4 +1,4 @@ -package com.baeldung.core.modifiers; +package com.baeldung.core.privatemodifier; public class Employee { diff --git a/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/ExampleClass.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/privatemodifier/ExampleClass.java similarity index 84% rename from core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/ExampleClass.java rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/privatemodifier/ExampleClass.java index 41f0b7a690..8659b4ad9c 100644 --- a/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/ExampleClass.java +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/privatemodifier/ExampleClass.java @@ -1,4 +1,4 @@ -package com.baeldung.core.modifiers; +package com.baeldung.core.privatemodifier; public class ExampleClass { diff --git a/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/PublicOuterClass.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/privatemodifier/PublicOuterClass.java similarity index 90% rename from core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/PublicOuterClass.java rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/privatemodifier/PublicOuterClass.java index 329ebf3bb6..8a9e8a8eb3 100644 --- a/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/PublicOuterClass.java +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/privatemodifier/PublicOuterClass.java @@ -1,4 +1,4 @@ -package com.baeldung.core.modifiers; +package com.baeldung.core.privatemodifier; public class PublicOuterClass { diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/scope/BracketScopeExample.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/scope/BracketScopeExample.java similarity index 89% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/scope/BracketScopeExample.java rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/scope/BracketScopeExample.java index 8deec35c16..99feeb060d 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/scope/BracketScopeExample.java +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/scope/BracketScopeExample.java @@ -1,4 +1,4 @@ -package com.baeldung.scope; +package com.baeldung.core.scope; public class BracketScopeExample { diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/scope/ClassScopeExample.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/scope/ClassScopeExample.java similarity index 86% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/scope/ClassScopeExample.java rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/scope/ClassScopeExample.java index c81fcc9550..8bcfee44f2 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/scope/ClassScopeExample.java +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/scope/ClassScopeExample.java @@ -1,4 +1,4 @@ -package com.baeldung.scope; +package com.baeldung.core.scope; public class ClassScopeExample { diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/scope/LoopScopeExample.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/scope/LoopScopeExample.java similarity index 92% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/scope/LoopScopeExample.java rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/scope/LoopScopeExample.java index be41252623..8067085404 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/scope/LoopScopeExample.java +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/scope/LoopScopeExample.java @@ -1,4 +1,4 @@ -package com.baeldung.scope; +package com.baeldung.core.scope; import java.util.Arrays; import java.util.List; diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/scope/MethodScopeExample.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/scope/MethodScopeExample.java similarity index 87% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/scope/MethodScopeExample.java rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/scope/MethodScopeExample.java index 63a6a25271..86b2021c6d 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/scope/MethodScopeExample.java +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/scope/MethodScopeExample.java @@ -1,4 +1,4 @@ -package com.baeldung.scope; +package com.baeldung.core.scope; public class MethodScopeExample { diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/scope/NestedScopesExample.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/scope/NestedScopesExample.java similarity index 86% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/scope/NestedScopesExample.java rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/scope/NestedScopesExample.java index c3c5bec221..51351d237c 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/scope/NestedScopesExample.java +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/scope/NestedScopesExample.java @@ -1,4 +1,4 @@ -package com.baeldung.scope; +package com.baeldung.core.scope; public class NestedScopesExample { diff --git a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/doublebrace/DoubleBraceUnitTest.java b/core-java-modules/core-java-lang-syntax-2/src/test/java/com/baeldung/core/doublebrace/DoubleBraceUnitTest.java similarity index 96% rename from core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/doublebrace/DoubleBraceUnitTest.java rename to core-java-modules/core-java-lang-syntax-2/src/test/java/com/baeldung/core/doublebrace/DoubleBraceUnitTest.java index b03b01d074..fe47dd4c26 100644 --- a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/java/doublebrace/DoubleBraceUnitTest.java +++ b/core-java-modules/core-java-lang-syntax-2/src/test/java/com/baeldung/core/doublebrace/DoubleBraceUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.java.doublebrace; +package com.baeldung.core.doublebrace; import org.junit.Test; diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nativekeyword/DateTimeUtilsManualTest.java b/core-java-modules/core-java-lang-syntax-2/src/test/java/com/baeldung/core/nativekeyword/DateTimeUtilsManualTest.java similarity index 95% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/nativekeyword/DateTimeUtilsManualTest.java rename to core-java-modules/core-java-lang-syntax-2/src/test/java/com/baeldung/core/nativekeyword/DateTimeUtilsManualTest.java index ac27c11c68..1c70acc483 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nativekeyword/DateTimeUtilsManualTest.java +++ b/core-java-modules/core-java-lang-syntax-2/src/test/java/com/baeldung/core/nativekeyword/DateTimeUtilsManualTest.java @@ -1,11 +1,11 @@ -package com.baeldung.nativekeyword; - -import static org.junit.Assert.assertNotNull; +package com.baeldung.core.nativekeyword; import org.junit.BeforeClass; import org.junit.Test; import org.slf4j.Logger; +import static org.junit.Assert.assertNotNull; + public class DateTimeUtilsManualTest { private static final Logger LOG = org.slf4j.LoggerFactory.getLogger(DateTimeUtilsManualTest.class); diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/packages/PackagesUnitTest.java b/core-java-modules/core-java-lang-syntax-2/src/test/java/com/baeldung/core/packages/PackagesUnitTest.java similarity index 85% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/packages/PackagesUnitTest.java rename to core-java-modules/core-java-lang-syntax-2/src/test/java/com/baeldung/core/packages/PackagesUnitTest.java index 212fb7b3c7..b1237e9948 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/packages/PackagesUnitTest.java +++ b/core-java-modules/core-java-lang-syntax-2/src/test/java/com/baeldung/core/packages/PackagesUnitTest.java @@ -1,12 +1,11 @@ -package com.baeldung.packages; +package com.baeldung.core.packages; -import static org.junit.Assert.assertEquals; +import com.baeldung.core.packages.domain.TodoItem; +import org.junit.Test; import java.time.LocalDate; -import org.junit.Test; - -import com.baeldung.packages.domain.TodoItem; +import static org.junit.Assert.assertEquals; public class PackagesUnitTest { diff --git a/core-java-modules/core-java-lang-syntax/README.md b/core-java-modules/core-java-lang-syntax/README.md index 6f3120ec2c..25f5c63dbc 100644 --- a/core-java-modules/core-java-lang-syntax/README.md +++ b/core-java-modules/core-java-lang-syntax/README.md @@ -3,20 +3,14 @@ This module contains articles about Java syntax ### Relevant Articles: -- [The Basics of Java Generics](http://www.baeldung.com/java-generics) -- [Java Primitive Conversions](http://www.baeldung.com/java-primitive-conversions) -- [Java Double Brace Initialization](http://www.baeldung.com/java-double-brace-initialization) -- [Guide to the Diamond Operator in Java](http://www.baeldung.com/java-diamond-operator) -- [The Java continue and break Keywords](http://www.baeldung.com/java-continue-and-break) -- [A Guide to Creating Objects in Java](http://www.baeldung.com/java-initialization) -- [A Guide to Java Loops](http://www.baeldung.com/java-loops) -- [Varargs in Java](http://www.baeldung.com/java-varargs) -- [A Guide to Java Enums](http://www.baeldung.com/a-guide-to-java-enums) -- [Infinite Loops in Java](http://www.baeldung.com/infinite-loops-java) -- [Quick Guide to java.lang.System](http://www.baeldung.com/java-lang-system) +- [The Basics of Java Generics](https://www.baeldung.com/java-generics) +- [Java Primitive Conversions](https://www.baeldung.com/java-primitive-conversions) +- [The Java continue and break Keywords](https://www.baeldung.com/java-continue-and-break) +- [A Guide to Creating Objects in Java](https://www.baeldung.com/java-initialization) +- [A Guide to Java Loops](https://www.baeldung.com/java-loops) +- [Varargs in Java](https://www.baeldung.com/java-varargs) +- [A Guide to Java Enums](https://www.baeldung.com/a-guide-to-java-enums) +- [Infinite Loops in Java](https://www.baeldung.com/infinite-loops-java) - [Java Switch Statement](https://www.baeldung.com/java-switch) -- [The Modulo Operator in Java](https://www.baeldung.com/modulo-java) -- [Ternary Operator In Java](https://www.baeldung.com/java-ternary-operator) -- [Java instanceof Operator](https://www.baeldung.com/java-instanceof) - [Breaking Out of Nested Loops](https://www.baeldung.com/java-breaking-out-nested-loop) - [[More -->]](/core-java-modules/core-java-lang-syntax-2) diff --git a/core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/loops/WhenUsingLoops.java b/core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/loops/LoopsUnitTest.java similarity index 98% rename from core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/loops/WhenUsingLoops.java rename to core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/loops/LoopsUnitTest.java index f82f9ddaa7..5a8b116a2c 100644 --- a/core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/loops/WhenUsingLoops.java +++ b/core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/loops/LoopsUnitTest.java @@ -12,7 +12,7 @@ import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; -public class WhenUsingLoops { +public class LoopsUnitTest { private LoopsInJava loops = new LoopsInJava(); private static List list = new ArrayList<>(); diff --git a/core-java-modules/core-java-lang/README.md b/core-java-modules/core-java-lang/README.md index 4b211177d9..3c33409e7e 100644 --- a/core-java-modules/core-java-lang/README.md +++ b/core-java-modules/core-java-lang/README.md @@ -6,29 +6,19 @@ This module contains articles about core features in the Java language - [Generate equals() and hashCode() with Eclipse](https://www.baeldung.com/java-eclipse-equals-and-hashcode) - [Iterating Over Enum Values in Java](https://www.baeldung.com/java-enum-iteration) -- [Java Double Brace Initialization](https://www.baeldung.com/java-double-brace-initialization) -- [Guide to the Diamond Operator in Java](https://www.baeldung.com/java-diamond-operator) - [Comparator and Comparable in Java](https://www.baeldung.com/java-comparator-comparable) -- [The Java continue and break Keywords](https://www.baeldung.com/java-continue-and-break) - [Nested Classes in Java](https://www.baeldung.com/java-nested-classes) - [A Guide to Inner Interfaces in Java](https://www.baeldung.com/java-inner-interfaces) - [Recursion In Java](https://www.baeldung.com/java-recursion) - [A Guide to the finalize Method in Java](https://www.baeldung.com/java-finalize) -- [Infinite Loops in Java](https://www.baeldung.com/infinite-loops-java) - [Quick Guide to java.lang.System](https://www.baeldung.com/java-lang-system) - [Using Java Assertions](https://www.baeldung.com/java-assert) - [Static and Dynamic Binding in Java](https://www.baeldung.com/java-static-dynamic-binding) - [Synthetic Constructs in Java](https://www.baeldung.com/java-synthetic) - [How to Separate Double into Integer and Decimal Parts](https://www.baeldung.com/java-separate-double-into-integer-decimal-parts) - [Retrieving a Class Name in Java](https://www.baeldung.com/java-class-name) -- [Java Compound Operators](https://www.baeldung.com/java-compound-operators) -- [Guide to Java Packages](https://www.baeldung.com/java-packages) -- [The Java Native Keyword and Methods](https://www.baeldung.com/java-native) -- [If-Else Statement in Java](https://www.baeldung.com/java-if-else) -- [Control Structures in Java](https://www.baeldung.com/java-control-structures) - [Java Interfaces](https://www.baeldung.com/java-interfaces) - [Attaching Values to Java Enum](https://www.baeldung.com/java-enum-values) -- [Variable Scope in Java](https://www.baeldung.com/java-variable-scope) - [Java Classes and Objects](https://www.baeldung.com/java-classes-objects) - [A Guide to Java Enums](https://www.baeldung.com/a-guide-to-java-enums) - [[More --> ]](/core-java-modules/core-java-lang-2) \ No newline at end of file diff --git a/core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/system/ChatWindow.java b/core-java-modules/core-java-lang/src/main/java/com/baeldung/system/ChatWindow.java similarity index 100% rename from core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/system/ChatWindow.java rename to core-java-modules/core-java-lang/src/main/java/com/baeldung/system/ChatWindow.java diff --git a/core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/system/DateTimeService.java b/core-java-modules/core-java-lang/src/main/java/com/baeldung/system/DateTimeService.java similarity index 100% rename from core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/system/DateTimeService.java rename to core-java-modules/core-java-lang/src/main/java/com/baeldung/system/DateTimeService.java diff --git a/core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/system/EnvironmentVariables.java b/core-java-modules/core-java-lang/src/main/java/com/baeldung/system/EnvironmentVariables.java similarity index 100% rename from core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/system/EnvironmentVariables.java rename to core-java-modules/core-java-lang/src/main/java/com/baeldung/system/EnvironmentVariables.java diff --git a/core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/system/SystemErrDemo.java b/core-java-modules/core-java-lang/src/main/java/com/baeldung/system/SystemErrDemo.java similarity index 100% rename from core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/system/SystemErrDemo.java rename to core-java-modules/core-java-lang/src/main/java/com/baeldung/system/SystemErrDemo.java diff --git a/core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/system/SystemExitDemo.java b/core-java-modules/core-java-lang/src/main/java/com/baeldung/system/SystemExitDemo.java similarity index 100% rename from core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/system/SystemExitDemo.java rename to core-java-modules/core-java-lang/src/main/java/com/baeldung/system/SystemExitDemo.java diff --git a/core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/system/SystemOutDemo.java b/core-java-modules/core-java-lang/src/main/java/com/baeldung/system/SystemOutDemo.java similarity index 100% rename from core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/system/SystemOutDemo.java rename to core-java-modules/core-java-lang/src/main/java/com/baeldung/system/SystemOutDemo.java diff --git a/core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/system/UserCredentials.java b/core-java-modules/core-java-lang/src/main/java/com/baeldung/system/UserCredentials.java similarity index 100% rename from core-java-modules/core-java-lang-syntax/src/main/java/com/baeldung/system/UserCredentials.java rename to core-java-modules/core-java-lang/src/main/java/com/baeldung/system/UserCredentials.java diff --git a/core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/system/DateTimeServiceUnitTest.java b/core-java-modules/core-java-lang/src/test/java/com/baeldung/system/DateTimeServiceUnitTest.java similarity index 100% rename from core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/system/DateTimeServiceUnitTest.java rename to core-java-modules/core-java-lang/src/test/java/com/baeldung/system/DateTimeServiceUnitTest.java diff --git a/core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/system/EnvironmentVariablesUnitTest.java b/core-java-modules/core-java-lang/src/test/java/com/baeldung/system/EnvironmentVariablesUnitTest.java similarity index 100% rename from core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/system/EnvironmentVariablesUnitTest.java rename to core-java-modules/core-java-lang/src/test/java/com/baeldung/system/EnvironmentVariablesUnitTest.java diff --git a/core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/system/SystemArrayCopyUnitTest.java b/core-java-modules/core-java-lang/src/test/java/com/baeldung/system/SystemArrayCopyUnitTest.java similarity index 100% rename from core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/system/SystemArrayCopyUnitTest.java rename to core-java-modules/core-java-lang/src/test/java/com/baeldung/system/SystemArrayCopyUnitTest.java diff --git a/core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/system/SystemNanoUnitTest.java b/core-java-modules/core-java-lang/src/test/java/com/baeldung/system/SystemNanoUnitTest.java similarity index 100% rename from core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/system/SystemNanoUnitTest.java rename to core-java-modules/core-java-lang/src/test/java/com/baeldung/system/SystemNanoUnitTest.java diff --git a/core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/system/SystemPropertiesUnitTest.java b/core-java-modules/core-java-lang/src/test/java/com/baeldung/system/SystemPropertiesUnitTest.java similarity index 100% rename from core-java-modules/core-java-lang-syntax/src/test/java/com/baeldung/system/SystemPropertiesUnitTest.java rename to core-java-modules/core-java-lang/src/test/java/com/baeldung/system/SystemPropertiesUnitTest.java From 322ca0d57896e30d07d234a8559a58959420f3d1 Mon Sep 17 00:00:00 2001 From: Maciej Andrearczyk Date: Sun, 6 Oct 2019 16:59:40 +0200 Subject: [PATCH 084/199] BAEL-3285 | Removed block() calls --- .../reactive/webclient/simultaneous/Client.java | 15 ++++++--------- .../simultaneous/ClientIntegrationTest.java | 4 +++- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/spring-5-reactive-client/src/main/java/com/baeldung/reactive/webclient/simultaneous/Client.java b/spring-5-reactive-client/src/main/java/com/baeldung/reactive/webclient/simultaneous/Client.java index 9afe50af58..bbfc88322b 100644 --- a/spring-5-reactive-client/src/main/java/com/baeldung/reactive/webclient/simultaneous/Client.java +++ b/spring-5-reactive-client/src/main/java/com/baeldung/reactive/webclient/simultaneous/Client.java @@ -41,28 +41,25 @@ public class Client { .bodyToMono(User.class); } - public List fetchUsers(List userIds) { + public Flux fetchUsers(List userIds) { return Flux.fromIterable(userIds) .parallel() .runOn(Schedulers.elastic()) .flatMap(this::getUser) - .collectSortedList((u1, u2) -> u2.id() - u1.id()) - .block(); + .ordered((u1, u2) -> u2.id() - u1.id()); } - public List fetchUserAndOtherUser(int id) { + public Flux fetchUserAndOtherUser(int id) { return Flux.merge(getUser(id), getOtherUser(id)) .parallel() .runOn(Schedulers.elastic()) - .collectSortedList((u1, u2) -> u2.id() - u1.id()) - .block(); + .ordered((u1, u2) -> u2.id() - u1.id()); } - public UserWithItem fetchUserAndItem(int userId, int itemId) { + public Mono fetchUserAndItem(int userId, int itemId) { Mono user = getUser(userId).subscribeOn(Schedulers.elastic()); Mono item = getItem(itemId).subscribeOn(Schedulers.elastic()); - return Mono.zip(user, item, UserWithItem::new) - .block(); + return Mono.zip(user, item, UserWithItem::new); } } diff --git a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/webclient/simultaneous/ClientIntegrationTest.java b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/webclient/simultaneous/ClientIntegrationTest.java index 0acedf15b0..d74a64d9c9 100644 --- a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/webclient/simultaneous/ClientIntegrationTest.java +++ b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/webclient/simultaneous/ClientIntegrationTest.java @@ -56,7 +56,9 @@ public class ClientIntegrationTest { // Act long start = System.currentTimeMillis(); - List users = client.fetchUsers(userIds); + List users = client.fetchUsers(userIds) + .collectList() + .block(); long end = System.currentTimeMillis(); // Assert From 56102c9a519d54de3a25db1f568ec7478745f8c5 Mon Sep 17 00:00:00 2001 From: Denis Date: Sun, 6 Oct 2019 19:37:23 +0200 Subject: [PATCH 085/199] cleanup; fix code formatting --- .../src/main/resources/META-INF/kmodule.xml | 2 +- .../main/resources/employeeEmailReport.jrxml | 34 +++---- .../src/main/resources/employeeReport.jrxml | 11 ++- .../CacheEvictAnnotationIntegrationTest.java | 90 +++++++++---------- .../CacheManagerEvictIntegrationTest.java | 64 ++++++------- spring-core-2/pom.xml | 18 ---- .../resources/beanInjection-constructor.xml | 16 ++-- .../main/resources/beanInjection-setter.xml | 16 ++-- spring-core-2/src/main/resources/logback.xml | 8 +- spring-core-2/src/main/resources/scopes.xml | 8 +- .../main/resources/springProfiles-config.xml | 5 +- .../src/main/resources/test-mvc.xml | 32 +++---- .../src/main/webapp/WEB-INF/greeting.xml | 12 +-- .../webapp/WEB-INF/normal-webapp-servlet.xml | 18 ++-- .../webapp/WEB-INF/rootApplicationContext.xml | 12 +-- .../webapp/WEB-INF/secure-webapp-servlet.xml | 18 ++-- .../src/main/webapp/WEB-INF/view/sample.jsp | 2 +- .../webapp/WEB-INF/view/scopesExample.jsp | 8 +- .../src/main/webapp/WEB-INF/view/welcome.jsp | 10 +-- .../src/main/webapp/WEB-INF/web-old.xml | 12 +-- .../src/main/webapp/WEB-INF/welcome.jsp | 6 +- spring-scheduling/pom.xml | 9 ++ .../src/main/resources/springAsync-config.xml | 7 +- .../main/resources/springScheduled-config.xml | 16 ++-- .../META-INF/spring/spring-shell-plugin.xml | 5 +- 25 files changed, 223 insertions(+), 216 deletions(-) diff --git a/libraries-2/src/main/resources/META-INF/kmodule.xml b/libraries-2/src/main/resources/META-INF/kmodule.xml index 1b9ce1ce71..9e2597d5de 100644 --- a/libraries-2/src/main/resources/META-INF/kmodule.xml +++ b/libraries-2/src/main/resources/META-INF/kmodule.xml @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/libraries-2/src/main/resources/employeeEmailReport.jrxml b/libraries-2/src/main/resources/employeeEmailReport.jrxml index ad4aaaac90..1e60344e47 100644 --- a/libraries-2/src/main/resources/employeeEmailReport.jrxml +++ b/libraries-2/src/main/resources/employeeEmailReport.jrxml @@ -1,17 +1,21 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/libraries-2/src/main/resources/employeeReport.jrxml b/libraries-2/src/main/resources/employeeReport.jrxml index 3d2be226fb..434c3e1338 100644 --- a/libraries-2/src/main/resources/employeeReport.jrxml +++ b/libraries-2/src/main/resources/employeeReport.jrxml @@ -1,12 +1,16 @@ - + - = $P{minSalary} AND $P!{condition}]]> + = $P{minSalary} AND $P!{condition}]]> @@ -44,7 +48,8 @@ - + + diff --git a/spring-caching/src/test/java/org/baeldung/caching/test/CacheEvictAnnotationIntegrationTest.java b/spring-caching/src/test/java/org/baeldung/caching/test/CacheEvictAnnotationIntegrationTest.java index e00305d4a2..28b0d26bed 100644 --- a/spring-caching/src/test/java/org/baeldung/caching/test/CacheEvictAnnotationIntegrationTest.java +++ b/spring-caching/src/test/java/org/baeldung/caching/test/CacheEvictAnnotationIntegrationTest.java @@ -26,54 +26,54 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @ContextConfiguration public class CacheEvictAnnotationIntegrationTest { - @Configuration - @EnableCaching - static class ContextConfiguration { + @Configuration + @EnableCaching + static class ContextConfiguration { - @Bean - public CachingService cachingService() { - return new CachingService(); - } - - @Bean - public CacheManager cacheManager(){ - SimpleCacheManager cacheManager = new SimpleCacheManager(); - List caches = new ArrayList<>(); - caches.add(cacheBean().getObject()); - cacheManager.setCaches(caches ); - return cacheManager; - } - - @Bean - public ConcurrentMapCacheFactoryBean cacheBean(){ - ConcurrentMapCacheFactoryBean cacheFactoryBean = new ConcurrentMapCacheFactoryBean(); - cacheFactoryBean.setName("first"); - return cacheFactoryBean; - } - } + @Bean + public CachingService cachingService() { + return new CachingService(); + } - @Autowired - CachingService cachingService; + @Bean + public CacheManager cacheManager() { + SimpleCacheManager cacheManager = new SimpleCacheManager(); + List caches = new ArrayList<>(); + caches.add(cacheBean().getObject()); + cacheManager.setCaches(caches); + return cacheManager; + } - @Before - public void before() { - cachingService.putToCache("first", "key1", "Baeldung"); - cachingService.putToCache("first", "key2", "Article"); - } + @Bean + public ConcurrentMapCacheFactoryBean cacheBean() { + ConcurrentMapCacheFactoryBean cacheFactoryBean = new ConcurrentMapCacheFactoryBean(); + cacheFactoryBean.setName("first"); + return cacheFactoryBean; + } + } - @Test - public void givenFirstCache_whenSingleCacheValueEvictRequested_thenEmptyCacheValue() { - cachingService.evictSingleCacheValue("key1"); - String key1 = cachingService.getFromCache("first", "key1"); - assertThat(key1, is(nullValue())); - } + @Autowired + CachingService cachingService; - @Test - public void givenFirstCache_whenAllCacheValueEvictRequested_thenEmptyCache() { - cachingService.evictAllCacheValues(); - String key1 = cachingService.getFromCache("first", "key1"); - String key2 = cachingService.getFromCache("first", "key2"); - assertThat(key1, is(nullValue())); - assertThat(key2, is(nullValue())); - } + @Before + public void before() { + cachingService.putToCache("first", "key1", "Baeldung"); + cachingService.putToCache("first", "key2", "Article"); + } + + @Test + public void givenFirstCache_whenSingleCacheValueEvictRequested_thenEmptyCacheValue() { + cachingService.evictSingleCacheValue("key1"); + String key1 = cachingService.getFromCache("first", "key1"); + assertThat(key1, is(nullValue())); + } + + @Test + public void givenFirstCache_whenAllCacheValueEvictRequested_thenEmptyCache() { + cachingService.evictAllCacheValues(); + String key1 = cachingService.getFromCache("first", "key1"); + String key2 = cachingService.getFromCache("first", "key2"); + assertThat(key1, is(nullValue())); + assertThat(key2, is(nullValue())); + } } diff --git a/spring-caching/src/test/java/org/baeldung/caching/test/CacheManagerEvictIntegrationTest.java b/spring-caching/src/test/java/org/baeldung/caching/test/CacheManagerEvictIntegrationTest.java index 4b12ed60b6..ffcc88febc 100644 --- a/spring-caching/src/test/java/org/baeldung/caching/test/CacheManagerEvictIntegrationTest.java +++ b/spring-caching/src/test/java/org/baeldung/caching/test/CacheManagerEvictIntegrationTest.java @@ -24,39 +24,39 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration public class CacheManagerEvictIntegrationTest { - - @Configuration - static class ContextConfiguration { - @Bean - public CachingService cachingService() { - return new CachingService(); - } - - @Bean - public CacheManager cacheManager(){ - SimpleCacheManager cacheManager = new SimpleCacheManager(); - List caches = new ArrayList<>(); - caches.add(cacheBeanFirst().getObject()); - caches.add(cacheBeanSecond().getObject()); - cacheManager.setCaches(caches ); - return cacheManager; - } - - @Bean - public ConcurrentMapCacheFactoryBean cacheBeanFirst(){ - ConcurrentMapCacheFactoryBean cacheFactoryBean = new ConcurrentMapCacheFactoryBean(); - cacheFactoryBean.setName("first"); - return cacheFactoryBean; - } - - @Bean - public ConcurrentMapCacheFactoryBean cacheBeanSecond(){ - ConcurrentMapCacheFactoryBean cacheFactoryBean = new ConcurrentMapCacheFactoryBean(); - cacheFactoryBean.setName("second"); - return cacheFactoryBean; - } - } + @Configuration + static class ContextConfiguration { + + @Bean + public CachingService cachingService() { + return new CachingService(); + } + + @Bean + public CacheManager cacheManager() { + SimpleCacheManager cacheManager = new SimpleCacheManager(); + List caches = new ArrayList<>(); + caches.add(cacheBeanFirst().getObject()); + caches.add(cacheBeanSecond().getObject()); + cacheManager.setCaches(caches); + return cacheManager; + } + + @Bean + public ConcurrentMapCacheFactoryBean cacheBeanFirst() { + ConcurrentMapCacheFactoryBean cacheFactoryBean = new ConcurrentMapCacheFactoryBean(); + cacheFactoryBean.setName("first"); + return cacheFactoryBean; + } + + @Bean + public ConcurrentMapCacheFactoryBean cacheBeanSecond() { + ConcurrentMapCacheFactoryBean cacheFactoryBean = new ConcurrentMapCacheFactoryBean(); + cacheFactoryBean.setName("second"); + return cacheFactoryBean; + } + } @Autowired CachingService cachingService; diff --git a/spring-core-2/pom.xml b/spring-core-2/pom.xml index f4132bfb35..032f6a05fc 100644 --- a/spring-core-2/pom.xml +++ b/spring-core-2/pom.xml @@ -39,11 +39,6 @@ org.springframework.retry spring-retry - - org.springframework.shell - spring-shell - ${org.springframework.shell.version} - org.springframework spring-websocket @@ -104,17 +99,6 @@ guava ${guava.version} - - net.sf.jasperreports - jasperreports - ${jasperreports.version} - - - commons-logging - commons-logging - - - org.springframework @@ -218,7 +202,6 @@ org.baeldung.sample.App 5.0.6.RELEASE - 1.2.0.RELEASE 1.3.2 5.2.5.Final @@ -227,7 +210,6 @@ 25.1-jre 3.6 3.6.1 - 6.6.0 2.1.0 3.22.0-GA diff --git a/spring-core-2/src/main/resources/beanInjection-constructor.xml b/spring-core-2/src/main/resources/beanInjection-constructor.xml index a0713fd9f8..5a2ffe767c 100644 --- a/spring-core-2/src/main/resources/beanInjection-constructor.xml +++ b/spring-core-2/src/main/resources/beanInjection-constructor.xml @@ -1,15 +1,15 @@ - - - - - + + + + + - + \ No newline at end of file diff --git a/spring-core-2/src/main/resources/beanInjection-setter.xml b/spring-core-2/src/main/resources/beanInjection-setter.xml index b2d3a05594..0e82e3be1c 100644 --- a/spring-core-2/src/main/resources/beanInjection-setter.xml +++ b/spring-core-2/src/main/resources/beanInjection-setter.xml @@ -1,14 +1,14 @@ - - - - - + + + + + - + \ No newline at end of file diff --git a/spring-core-2/src/main/resources/logback.xml b/spring-core-2/src/main/resources/logback.xml index 56af2d397e..7bd5154680 100644 --- a/spring-core-2/src/main/resources/logback.xml +++ b/spring-core-2/src/main/resources/logback.xml @@ -7,13 +7,13 @@ - - + + - + - + \ No newline at end of file diff --git a/spring-core-2/src/main/resources/scopes.xml b/spring-core-2/src/main/resources/scopes.xml index faecd727fa..8fdb186c28 100644 --- a/spring-core-2/src/main/resources/scopes.xml +++ b/spring-core-2/src/main/resources/scopes.xml @@ -1,10 +1,10 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> - + - + diff --git a/spring-core-2/src/main/resources/springProfiles-config.xml b/spring-core-2/src/main/resources/springProfiles-config.xml index 5f71c02e20..985ab6ba86 100644 --- a/spring-core-2/src/main/resources/springProfiles-config.xml +++ b/spring-core-2/src/main/resources/springProfiles-config.xml @@ -1,6 +1,7 @@ - diff --git a/spring-mvc-basics-2/src/main/resources/test-mvc.xml b/spring-mvc-basics-2/src/main/resources/test-mvc.xml index 15f950ed4f..8013170379 100644 --- a/spring-mvc-basics-2/src/main/resources/test-mvc.xml +++ b/spring-mvc-basics-2/src/main/resources/test-mvc.xml @@ -1,24 +1,24 @@ - - - - - - /WEB-INF/ - - - .jsp - - - \ No newline at end of file + + + + + + /WEB-INF/ + + + .jsp + + + \ No newline at end of file diff --git a/spring-mvc-basics-2/src/main/webapp/WEB-INF/greeting.xml b/spring-mvc-basics-2/src/main/webapp/WEB-INF/greeting.xml index 3f0ae83455..1ad5484d80 100644 --- a/spring-mvc-basics-2/src/main/webapp/WEB-INF/greeting.xml +++ b/spring-mvc-basics-2/src/main/webapp/WEB-INF/greeting.xml @@ -1,11 +1,11 @@ - - - - + + + + \ No newline at end of file diff --git a/spring-mvc-basics-2/src/main/webapp/WEB-INF/normal-webapp-servlet.xml b/spring-mvc-basics-2/src/main/webapp/WEB-INF/normal-webapp-servlet.xml index 0a7a0919a8..8addbe3cf3 100644 --- a/spring-mvc-basics-2/src/main/webapp/WEB-INF/normal-webapp-servlet.xml +++ b/spring-mvc-basics-2/src/main/webapp/WEB-INF/normal-webapp-servlet.xml @@ -1,16 +1,16 @@ - + - - - - - + + + + + \ No newline at end of file diff --git a/spring-mvc-basics-2/src/main/webapp/WEB-INF/rootApplicationContext.xml b/spring-mvc-basics-2/src/main/webapp/WEB-INF/rootApplicationContext.xml index af03661ebc..12e5d8f161 100644 --- a/spring-mvc-basics-2/src/main/webapp/WEB-INF/rootApplicationContext.xml +++ b/spring-mvc-basics-2/src/main/webapp/WEB-INF/rootApplicationContext.xml @@ -1,14 +1,14 @@ - - - + + + \ No newline at end of file diff --git a/spring-mvc-basics-2/src/main/webapp/WEB-INF/secure-webapp-servlet.xml b/spring-mvc-basics-2/src/main/webapp/WEB-INF/secure-webapp-servlet.xml index 6cdd3971bf..86797ad081 100644 --- a/spring-mvc-basics-2/src/main/webapp/WEB-INF/secure-webapp-servlet.xml +++ b/spring-mvc-basics-2/src/main/webapp/WEB-INF/secure-webapp-servlet.xml @@ -1,16 +1,16 @@ - + - - - - - + + + + + \ No newline at end of file diff --git a/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/sample.jsp b/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/sample.jsp index 7cc14b5dcd..4c64bf97f2 100644 --- a/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/sample.jsp +++ b/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/sample.jsp @@ -2,6 +2,6 @@ -

This is the body of the sample view

+

This is the body of the sample view

\ No newline at end of file diff --git a/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/scopesExample.jsp b/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/scopesExample.jsp index 0946f1b5ef..e9abcf194c 100644 --- a/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/scopesExample.jsp +++ b/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/scopesExample.jsp @@ -2,9 +2,9 @@ -

Bean Scopes Examples

-
Previous Message: ${previousMessage } -
Current Message: ${currentMessage } -
+

Bean Scopes Examples

+
Previous Message: ${previousMessage } +
Current Message: ${currentMessage } +
\ No newline at end of file diff --git a/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/welcome.jsp b/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/welcome.jsp index 6a82fb1d5a..4eda3c58e2 100644 --- a/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/welcome.jsp +++ b/spring-mvc-basics-2/src/main/webapp/WEB-INF/view/welcome.jsp @@ -1,11 +1,11 @@ - Spring Web Contexts + Spring Web Contexts -
-
- Normal Web Application : ${message} -
+
+
+ Normal Web Application : ${message} +
\ No newline at end of file diff --git a/spring-mvc-basics-2/src/main/webapp/WEB-INF/web-old.xml b/spring-mvc-basics-2/src/main/webapp/WEB-INF/web-old.xml index 42020e75c4..03322279e2 100644 --- a/spring-mvc-basics-2/src/main/webapp/WEB-INF/web-old.xml +++ b/spring-mvc-basics-2/src/main/webapp/WEB-INF/web-old.xml @@ -15,10 +15,10 @@ org.springframework.web.context.ContextLoaderListener --> - + - + - + + spring-security-kerberos oauth2-framework-impl @@ -641,7 +642,6 @@ spring-activiti spring-akka - spring-all spring-amqp spring-aop spring-apache-camel @@ -689,6 +689,7 @@ spring-core spring-core-2 + spring-core-3 spring-cucumber spring-data-rest @@ -1337,7 +1338,6 @@ spring-5-security-cognito spring-activiti spring-akka - spring-all spring-amqp spring-aop spring-apache-camel @@ -1372,7 +1372,7 @@ spring-boot-property-exp spring-boot-security spring-boot-vue - + spring-caching spring-cloud spring-cloud-bus @@ -1411,6 +1411,7 @@ spring-mobile spring-mockito + spring-mvc-basics-2 spring-mvc-forms-jsp spring-mvc-forms-thymeleaf spring-mvc-java @@ -1439,6 +1440,7 @@ spring-resttemplate spring-roo + spring-scheduling spring-security-acl spring-security-angular/server spring-security-cache-control @@ -1461,6 +1463,7 @@ spring-security-thymeleaf spring-security-x509 spring-session + spring-shell spring-sleuth spring-soap spring-social-login From adaff1d253df97727ce0a892fc189baae765a91c Mon Sep 17 00:00:00 2001 From: catalin-burcea Date: Sat, 5 Oct 2019 19:13:09 +0300 Subject: [PATCH 087/199] Split or move guava-collections module --- guava-collections-map/README.md | 12 ++ guava-collections-map/pom.xml | 32 ++++++ .../ClassToInstanceMapUnitTest.java | 2 +- .../GuavaMapInitializeUnitTest.java | 2 +- .../guava/maps/GuavaMapsUnitTest.java | 103 +----------------- .../multimap}/GuavaMultiMapUnitTest.java | 2 +- .../rangemap}/GuavaRangeMapUnitTest.java | 2 +- guava-collections/.gitignore | 13 --- guava-collections/README.md | 6 +- guava-collections/pom.xml | 2 +- .../GuavaCollectionsExamplesUnitTest.java | 2 +- ...avaFilterTransformCollectionsUnitTest.java | 2 +- .../guava/joinsplit}/GuavaStringUnitTest.java | 2 +- .../guava/lists/GuavaListsUnitTest.java | 82 ++++++++++++++ .../GuavaOrderingExamplesUnitTest.java | 2 +- .../ordering}/GuavaOrderingUnitTest.java | 2 +- .../CollectionApachePartitionUnitTest.java | 2 +- .../CollectionGuavaPartitionUnitTest.java | 2 +- .../CollectionJavaPartitionUnitTest.java | 2 +- .../guava/queues}/EvictingQueueUnitTest.java | 2 +- .../queues}/MinMaxPriorityQueueUnitTest.java | 2 +- .../guava/table}/GuavaTableUnitTest.java | 2 +- .../hamcrest/HamcrestExamplesUnitTest.java | 2 +- .../src/test/resources/.gitignore | 13 --- guava/README.md | 1 - pom.xml | 2 + 26 files changed, 149 insertions(+), 149 deletions(-) create mode 100644 guava-collections-map/README.md create mode 100644 guava-collections-map/pom.xml rename {guava-collections/src/test/java/org/baeldung/guava => guava-collections-map/src/test/java/com/baeldung/guava/classtoinstancemap}/ClassToInstanceMapUnitTest.java (97%) rename {guava-collections/src/test/java/org/baeldung/guava/maps/initialize => guava-collections-map/src/test/java/com/baeldung/guava/initializemaps}/GuavaMapInitializeUnitTest.java (95%) rename guava-collections/src/test/java/org/baeldung/guava/GuavaCollectionTypesUnitTest.java => guava-collections-map/src/test/java/com/baeldung/guava/maps/GuavaMapsUnitTest.java (51%) rename {guava-collections/src/test/java/org/baeldung/guava => guava-collections-map/src/test/java/com/baeldung/guava/multimap}/GuavaMultiMapUnitTest.java (97%) rename {guava-collections/src/test/java/org/baeldung/guava => guava-collections-map/src/test/java/com/baeldung/guava/rangemap}/GuavaRangeMapUnitTest.java (99%) delete mode 100644 guava-collections/.gitignore rename guava-collections/src/test/java/{org/baeldung/guava => com/baeldung/guava/collections}/GuavaCollectionsExamplesUnitTest.java (99%) rename guava-collections/src/test/java/{org/baeldung/guava => com/baeldung/guava/filtertransform}/GuavaFilterTransformCollectionsUnitTest.java (99%) rename guava-collections/src/test/java/{org/baeldung/guava => com/baeldung/guava/joinsplit}/GuavaStringUnitTest.java (99%) create mode 100644 guava-collections/src/test/java/com/baeldung/guava/lists/GuavaListsUnitTest.java rename guava-collections/src/test/java/{org/baeldung/guava => com/baeldung/guava/ordering}/GuavaOrderingExamplesUnitTest.java (99%) rename guava-collections/src/test/java/{org/baeldung/guava => com/baeldung/guava/ordering}/GuavaOrderingUnitTest.java (98%) rename guava-collections/src/test/java/{org/baeldung/java => com/baeldung/guava/partition}/CollectionApachePartitionUnitTest.java (97%) rename guava-collections/src/test/java/{org/baeldung/java => com/baeldung/guava/partition}/CollectionGuavaPartitionUnitTest.java (98%) rename guava-collections/src/test/java/{org/baeldung/java => com/baeldung/guava/partition}/CollectionJavaPartitionUnitTest.java (98%) rename guava-collections/src/test/java/{org/baeldung/guava => com/baeldung/guava/queues}/EvictingQueueUnitTest.java (95%) rename guava-collections/src/test/java/{org/baeldung/guava => com/baeldung/guava/queues}/MinMaxPriorityQueueUnitTest.java (97%) rename guava-collections/src/test/java/{org/baeldung/guava => com/baeldung/guava/table}/GuavaTableUnitTest.java (99%) rename guava-collections/src/test/java/{org => com}/baeldung/hamcrest/HamcrestExamplesUnitTest.java (99%) delete mode 100644 guava-collections/src/test/resources/.gitignore diff --git a/guava-collections-map/README.md b/guava-collections-map/README.md new file mode 100644 index 0000000000..b3ec5e2157 --- /dev/null +++ b/guava-collections-map/README.md @@ -0,0 +1,12 @@ +========= + +## Guava Collections Map examples + +This module contains articles about map collections in Guava + +### Relevant Articles: +- [Guava – Maps](https://www.baeldung.com/guava-maps) +- [Guide to Guava Multimap](https://www.baeldung.com/guava-multimap) +- [Guide to Guava RangeMap](https://www.baeldung.com/guava-rangemap) +- [Initialize a HashMap in Java](https://www.baeldung.com/java-initialize-hashmap) +- [Guide to Guava ClassToInstanceMap](https://www.baeldung.com/guava-class-to-instance-map) \ No newline at end of file diff --git a/guava-collections-map/pom.xml b/guava-collections-map/pom.xml new file mode 100644 index 0000000000..45bb6b8caa --- /dev/null +++ b/guava-collections-map/pom.xml @@ -0,0 +1,32 @@ + + 4.0.0 + com.baeldung.guava + guava-collections-map + 0.1.0-SNAPSHOT + guava-collections-map + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../parent-java + + + + + + + guava-collections-map + + + src/main/resources + true + + + + + + + + \ No newline at end of file diff --git a/guava-collections/src/test/java/org/baeldung/guava/ClassToInstanceMapUnitTest.java b/guava-collections-map/src/test/java/com/baeldung/guava/classtoinstancemap/ClassToInstanceMapUnitTest.java similarity index 97% rename from guava-collections/src/test/java/org/baeldung/guava/ClassToInstanceMapUnitTest.java rename to guava-collections-map/src/test/java/com/baeldung/guava/classtoinstancemap/ClassToInstanceMapUnitTest.java index 295672d7ad..b9807379eb 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/ClassToInstanceMapUnitTest.java +++ b/guava-collections-map/src/test/java/com/baeldung/guava/classtoinstancemap/ClassToInstanceMapUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.guava; +package com.baeldung.guava.classtoinstancemap; import com.google.common.collect.ClassToInstanceMap; import com.google.common.collect.ImmutableClassToInstanceMap; import com.google.common.collect.MutableClassToInstanceMap; diff --git a/guava-collections/src/test/java/org/baeldung/guava/maps/initialize/GuavaMapInitializeUnitTest.java b/guava-collections-map/src/test/java/com/baeldung/guava/initializemaps/GuavaMapInitializeUnitTest.java similarity index 95% rename from guava-collections/src/test/java/org/baeldung/guava/maps/initialize/GuavaMapInitializeUnitTest.java rename to guava-collections-map/src/test/java/com/baeldung/guava/initializemaps/GuavaMapInitializeUnitTest.java index 2414afb720..0866496ef5 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/maps/initialize/GuavaMapInitializeUnitTest.java +++ b/guava-collections-map/src/test/java/com/baeldung/guava/initializemaps/GuavaMapInitializeUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.guava.maps.initialize; +package com.baeldung.guava.initializemaps; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.*; diff --git a/guava-collections/src/test/java/org/baeldung/guava/GuavaCollectionTypesUnitTest.java b/guava-collections-map/src/test/java/com/baeldung/guava/maps/GuavaMapsUnitTest.java similarity index 51% rename from guava-collections/src/test/java/org/baeldung/guava/GuavaCollectionTypesUnitTest.java rename to guava-collections-map/src/test/java/com/baeldung/guava/maps/GuavaMapsUnitTest.java index ab38afa5c4..4108df8c96 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/GuavaCollectionTypesUnitTest.java +++ b/guava-collections-map/src/test/java/com/baeldung/guava/maps/GuavaMapsUnitTest.java @@ -1,115 +1,18 @@ -package org.baeldung.guava; +package com.baeldung.guava.maps; -import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.containsInAnyOrder; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; import java.util.List; import java.util.Map; -import java.util.Set; import org.junit.Test; import com.google.common.base.Function; -import com.google.common.base.Joiner; -import com.google.common.base.Predicates; -import com.google.common.collect.ArrayListMultimap; -import com.google.common.collect.BiMap; -import com.google.common.collect.ClassToInstanceMap; -import com.google.common.collect.ContiguousSet; -import com.google.common.collect.DiscreteDomain; -import com.google.common.collect.HashBasedTable; -import com.google.common.collect.HashBiMap; -import com.google.common.collect.HashMultiset; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.ImmutableSortedMap; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Multimap; -import com.google.common.collect.Multimaps; -import com.google.common.collect.Multiset; -import com.google.common.collect.Multisets; -import com.google.common.collect.MutableClassToInstanceMap; -import com.google.common.collect.Ordering; -import com.google.common.collect.Range; -import com.google.common.collect.RangeSet; -import com.google.common.collect.Sets; -import com.google.common.collect.Table; -import com.google.common.collect.Tables; -import com.google.common.collect.TreeRangeSet; +import com.google.common.collect.*; -public class GuavaCollectionTypesUnitTest { - - @Test - public void whenCreateList_thenCreated() { - final List names = Lists.newArrayList("John", "Adam", "Jane"); - - names.add("Tom"); - assertEquals(4, names.size()); - - names.remove("Adam"); - assertThat(names, contains("John", "Jane", "Tom")); - } - - @Test - public void whenReverseList_thenReversed() { - final List names = Lists.newArrayList("John", "Adam", "Jane"); - - final List reversed = Lists.reverse(names); - assertThat(reversed, contains("Jane", "Adam", "John")); - } - - @Test - public void whenCreateCharacterListFromString_thenCreated() { - final List chars = Lists.charactersOf("John"); - - assertEquals(4, chars.size()); - assertThat(chars, contains('J', 'o', 'h', 'n')); - } - - @Test - public void whenPartitionList_thenPartitioned() { - final List names = Lists.newArrayList("John", "Jane", "Adam", "Tom", "Viki", "Tyler"); - final List> result = Lists.partition(names, 2); - - assertEquals(3, result.size()); - assertThat(result.get(0), contains("John", "Jane")); - assertThat(result.get(1), contains("Adam", "Tom")); - assertThat(result.get(2), contains("Viki", "Tyler")); - } - - @Test - public void whenRemoveDuplicatesFromList_thenRemoved() { - final List chars = Lists.newArrayList('h', 'e', 'l', 'l', 'o'); - assertEquals(5, chars.size()); - - final List result = ImmutableSet.copyOf(chars).asList(); - assertThat(result, contains('h', 'e', 'l', 'o')); - } - - @Test - public void whenRemoveNullFromList_thenRemoved() { - final List names = Lists.newArrayList("John", null, "Adam", null, "Jane"); - Iterables.removeIf(names, Predicates.isNull()); - - assertEquals(3, names.size()); - assertThat(names, contains("John", "Adam", "Jane")); - } - - @Test - public void whenCreateImmutableList_thenCreated() { - final List names = Lists.newArrayList("John", "Adam", "Jane"); - - names.add("Tom"); - assertEquals(4, names.size()); - - final ImmutableList immutable = ImmutableList.copyOf(names); - assertThat(immutable, contains("John", "Adam", "Jane", "Tom")); - } +public class GuavaMapsUnitTest { @Test public void whenCreateImmutableMap_thenCreated() { diff --git a/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiMapUnitTest.java b/guava-collections-map/src/test/java/com/baeldung/guava/multimap/GuavaMultiMapUnitTest.java similarity index 97% rename from guava-collections/src/test/java/org/baeldung/guava/GuavaMultiMapUnitTest.java rename to guava-collections-map/src/test/java/com/baeldung/guava/multimap/GuavaMultiMapUnitTest.java index f51dcadefc..06e85e41e5 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiMapUnitTest.java +++ b/guava-collections-map/src/test/java/com/baeldung/guava/multimap/GuavaMultiMapUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.guava; +package com.baeldung.guava.multimap; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; diff --git a/guava-collections/src/test/java/org/baeldung/guava/GuavaRangeMapUnitTest.java b/guava-collections-map/src/test/java/com/baeldung/guava/rangemap/GuavaRangeMapUnitTest.java similarity index 99% rename from guava-collections/src/test/java/org/baeldung/guava/GuavaRangeMapUnitTest.java rename to guava-collections-map/src/test/java/com/baeldung/guava/rangemap/GuavaRangeMapUnitTest.java index c0c5efea23..f221a2dcf8 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/GuavaRangeMapUnitTest.java +++ b/guava-collections-map/src/test/java/com/baeldung/guava/rangemap/GuavaRangeMapUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.guava; +package com.baeldung.guava.rangemap; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; diff --git a/guava-collections/.gitignore b/guava-collections/.gitignore deleted file mode 100644 index 83c05e60c8..0000000000 --- a/guava-collections/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -*.class - -#folders# -/target -/neoDb* -/data -/src/main/webapp/WEB-INF/classes -*/META-INF/* - -# Packaged files # -*.jar -*.war -*.ear \ No newline at end of file diff --git a/guava-collections/README.md b/guava-collections/README.md index 95397f0ff0..f2e5fa3577 100644 --- a/guava-collections/README.md +++ b/guava-collections/README.md @@ -6,15 +6,11 @@ ### Relevant Articles: - [Guava Collections Cookbook](https://www.baeldung.com/guava-collections) - [Guava Ordering Cookbook](https://www.baeldung.com/guava-order) +- [Guide to Guava’s Ordering](https://www.baeldung.com/guava-ordering) - [Hamcrest Collections Cookbook](https://www.baeldung.com/hamcrest-collections-arrays) - [Partition a List in Java](https://www.baeldung.com/java-list-split) - [Filtering and Transforming Collections in Guava](https://www.baeldung.com/guava-filter-and-transform-a-collection) - [Guava – Join and Split Collections](https://www.baeldung.com/guava-joiner-and-splitter-tutorial) - [Guava – Lists](https://www.baeldung.com/guava-lists) -- [Guava – Maps](https://www.baeldung.com/guava-maps) -- [Guide to Guava Multimap](https://www.baeldung.com/guava-multimap) -- [Guide to Guava RangeMap](https://www.baeldung.com/guava-rangemap) - [Guide to Guava MinMaxPriorityQueue and EvictingQueue](https://www.baeldung.com/guava-minmax-priority-queue-and-evicting-queue) -- [Initialize a HashMap in Java](https://www.baeldung.com/java-initialize-hashmap) - [Guide to Guava Table](https://www.baeldung.com/guava-table) -- [Guide to Guava ClassToInstanceMap](https://www.baeldung.com/guava-class-to-instance-map) diff --git a/guava-collections/pom.xml b/guava-collections/pom.xml index ecda3c9595..8cdb086029 100644 --- a/guava-collections/pom.xml +++ b/guava-collections/pom.xml @@ -43,7 +43,7 @@ - guava + guava-collections src/main/resources diff --git a/guava-collections/src/test/java/org/baeldung/guava/GuavaCollectionsExamplesUnitTest.java b/guava-collections/src/test/java/com/baeldung/guava/collections/GuavaCollectionsExamplesUnitTest.java similarity index 99% rename from guava-collections/src/test/java/org/baeldung/guava/GuavaCollectionsExamplesUnitTest.java rename to guava-collections/src/test/java/com/baeldung/guava/collections/GuavaCollectionsExamplesUnitTest.java index 7b5cef6055..86e8dea21c 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/GuavaCollectionsExamplesUnitTest.java +++ b/guava-collections/src/test/java/com/baeldung/guava/collections/GuavaCollectionsExamplesUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.guava; +package com.baeldung.guava.collections; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; diff --git a/guava-collections/src/test/java/org/baeldung/guava/GuavaFilterTransformCollectionsUnitTest.java b/guava-collections/src/test/java/com/baeldung/guava/filtertransform/GuavaFilterTransformCollectionsUnitTest.java similarity index 99% rename from guava-collections/src/test/java/org/baeldung/guava/GuavaFilterTransformCollectionsUnitTest.java rename to guava-collections/src/test/java/com/baeldung/guava/filtertransform/GuavaFilterTransformCollectionsUnitTest.java index 8562193665..447149f002 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/GuavaFilterTransformCollectionsUnitTest.java +++ b/guava-collections/src/test/java/com/baeldung/guava/filtertransform/GuavaFilterTransformCollectionsUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.guava; +package com.baeldung.guava.filtertransform; import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.containsInAnyOrder; diff --git a/guava-collections/src/test/java/org/baeldung/guava/GuavaStringUnitTest.java b/guava-collections/src/test/java/com/baeldung/guava/joinsplit/GuavaStringUnitTest.java similarity index 99% rename from guava-collections/src/test/java/org/baeldung/guava/GuavaStringUnitTest.java rename to guava-collections/src/test/java/com/baeldung/guava/joinsplit/GuavaStringUnitTest.java index a08efd7c31..73c4c3291e 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/GuavaStringUnitTest.java +++ b/guava-collections/src/test/java/com/baeldung/guava/joinsplit/GuavaStringUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.guava; +package com.baeldung.guava.joinsplit; import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.containsString; diff --git a/guava-collections/src/test/java/com/baeldung/guava/lists/GuavaListsUnitTest.java b/guava-collections/src/test/java/com/baeldung/guava/lists/GuavaListsUnitTest.java new file mode 100644 index 0000000000..2f414dcdb1 --- /dev/null +++ b/guava-collections/src/test/java/com/baeldung/guava/lists/GuavaListsUnitTest.java @@ -0,0 +1,82 @@ +package com.baeldung.guava.lists; + +import com.google.common.base.Predicates; +import com.google.common.collect.*; +import org.junit.Test; + +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThat; +import static org.hamcrest.Matchers.contains; + +public class GuavaListsUnitTest { + + @Test + public void whenCreateList_thenCreated() { + final List names = Lists.newArrayList("John", "Adam", "Jane"); + + names.add("Tom"); + assertEquals(4, names.size()); + + names.remove("Adam"); + assertThat(names, contains("John", "Jane", "Tom")); + } + + @Test + public void whenReverseList_thenReversed() { + final List names = Lists.newArrayList("John", "Adam", "Jane"); + + final List reversed = Lists.reverse(names); + assertThat(reversed, contains("Jane", "Adam", "John")); + } + + @Test + public void whenCreateCharacterListFromString_thenCreated() { + final List chars = Lists.charactersOf("John"); + + assertEquals(4, chars.size()); + assertThat(chars, contains('J', 'o', 'h', 'n')); + } + + @Test + public void whenPartitionList_thenPartitioned() { + final List names = Lists.newArrayList("John", "Jane", "Adam", "Tom", "Viki", "Tyler"); + final List> result = Lists.partition(names, 2); + + assertEquals(3, result.size()); + assertThat(result.get(0), contains("John", "Jane")); + assertThat(result.get(1), contains("Adam", "Tom")); + assertThat(result.get(2), contains("Viki", "Tyler")); + } + + @Test + public void whenRemoveDuplicatesFromList_thenRemoved() { + final List chars = Lists.newArrayList('h', 'e', 'l', 'l', 'o'); + assertEquals(5, chars.size()); + + final List result = ImmutableSet.copyOf(chars).asList(); + assertThat(result, contains('h', 'e', 'l', 'o')); + } + + @Test + public void whenRemoveNullFromList_thenRemoved() { + final List names = Lists.newArrayList("John", null, "Adam", null, "Jane"); + Iterables.removeIf(names, Predicates.isNull()); + + assertEquals(3, names.size()); + assertThat(names, contains("John", "Adam", "Jane")); + } + + @Test + public void whenCreateImmutableList_thenCreated() { + final List names = Lists.newArrayList("John", "Adam", "Jane"); + + names.add("Tom"); + assertEquals(4, names.size()); + + final ImmutableList immutable = ImmutableList.copyOf(names); + assertThat(immutable, contains("John", "Adam", "Jane", "Tom")); + } + +} diff --git a/guava-collections/src/test/java/org/baeldung/guava/GuavaOrderingExamplesUnitTest.java b/guava-collections/src/test/java/com/baeldung/guava/ordering/GuavaOrderingExamplesUnitTest.java similarity index 99% rename from guava-collections/src/test/java/org/baeldung/guava/GuavaOrderingExamplesUnitTest.java rename to guava-collections/src/test/java/com/baeldung/guava/ordering/GuavaOrderingExamplesUnitTest.java index b8be06deb4..46ceccd7ba 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/GuavaOrderingExamplesUnitTest.java +++ b/guava-collections/src/test/java/com/baeldung/guava/ordering/GuavaOrderingExamplesUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.guava; +package com.baeldung.guava.ordering; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.nullValue; diff --git a/guava-collections/src/test/java/org/baeldung/guava/GuavaOrderingUnitTest.java b/guava-collections/src/test/java/com/baeldung/guava/ordering/GuavaOrderingUnitTest.java similarity index 98% rename from guava-collections/src/test/java/org/baeldung/guava/GuavaOrderingUnitTest.java rename to guava-collections/src/test/java/com/baeldung/guava/ordering/GuavaOrderingUnitTest.java index dd250898fd..73d464bde5 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/GuavaOrderingUnitTest.java +++ b/guava-collections/src/test/java/com/baeldung/guava/ordering/GuavaOrderingUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.guava; +package com.baeldung.guava.ordering; import com.google.common.base.Function; import com.google.common.collect.Ordering; diff --git a/guava-collections/src/test/java/org/baeldung/java/CollectionApachePartitionUnitTest.java b/guava-collections/src/test/java/com/baeldung/guava/partition/CollectionApachePartitionUnitTest.java similarity index 97% rename from guava-collections/src/test/java/org/baeldung/java/CollectionApachePartitionUnitTest.java rename to guava-collections/src/test/java/com/baeldung/guava/partition/CollectionApachePartitionUnitTest.java index 1071d4a5fb..1cb566dd6b 100644 --- a/guava-collections/src/test/java/org/baeldung/java/CollectionApachePartitionUnitTest.java +++ b/guava-collections/src/test/java/com/baeldung/guava/partition/CollectionApachePartitionUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.java; +package com.baeldung.guava.partition; import static org.hamcrest.Matchers.equalTo; import static org.junit.Assert.assertThat; diff --git a/guava-collections/src/test/java/org/baeldung/java/CollectionGuavaPartitionUnitTest.java b/guava-collections/src/test/java/com/baeldung/guava/partition/CollectionGuavaPartitionUnitTest.java similarity index 98% rename from guava-collections/src/test/java/org/baeldung/java/CollectionGuavaPartitionUnitTest.java rename to guava-collections/src/test/java/com/baeldung/guava/partition/CollectionGuavaPartitionUnitTest.java index c4ddb35da2..8eb259b490 100644 --- a/guava-collections/src/test/java/org/baeldung/java/CollectionGuavaPartitionUnitTest.java +++ b/guava-collections/src/test/java/com/baeldung/guava/partition/CollectionGuavaPartitionUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.java; +package com.baeldung.guava.partition; import static org.hamcrest.Matchers.equalTo; import static org.junit.Assert.assertThat; diff --git a/guava-collections/src/test/java/org/baeldung/java/CollectionJavaPartitionUnitTest.java b/guava-collections/src/test/java/com/baeldung/guava/partition/CollectionJavaPartitionUnitTest.java similarity index 98% rename from guava-collections/src/test/java/org/baeldung/java/CollectionJavaPartitionUnitTest.java rename to guava-collections/src/test/java/com/baeldung/guava/partition/CollectionJavaPartitionUnitTest.java index 63583987ea..d62ca275c1 100644 --- a/guava-collections/src/test/java/org/baeldung/java/CollectionJavaPartitionUnitTest.java +++ b/guava-collections/src/test/java/com/baeldung/guava/partition/CollectionJavaPartitionUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.java; +package com.baeldung.guava.partition; import static org.hamcrest.Matchers.equalTo; import static org.junit.Assert.assertThat; diff --git a/guava-collections/src/test/java/org/baeldung/guava/EvictingQueueUnitTest.java b/guava-collections/src/test/java/com/baeldung/guava/queues/EvictingQueueUnitTest.java similarity index 95% rename from guava-collections/src/test/java/org/baeldung/guava/EvictingQueueUnitTest.java rename to guava-collections/src/test/java/com/baeldung/guava/queues/EvictingQueueUnitTest.java index e4d29d2e92..b9abef8d1f 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/EvictingQueueUnitTest.java +++ b/guava-collections/src/test/java/com/baeldung/guava/queues/EvictingQueueUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.guava; +package com.baeldung.guava.queues; import com.google.common.collect.EvictingQueue; diff --git a/guava-collections/src/test/java/org/baeldung/guava/MinMaxPriorityQueueUnitTest.java b/guava-collections/src/test/java/com/baeldung/guava/queues/MinMaxPriorityQueueUnitTest.java similarity index 97% rename from guava-collections/src/test/java/org/baeldung/guava/MinMaxPriorityQueueUnitTest.java rename to guava-collections/src/test/java/com/baeldung/guava/queues/MinMaxPriorityQueueUnitTest.java index 1c4df03c86..95446e0d44 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/MinMaxPriorityQueueUnitTest.java +++ b/guava-collections/src/test/java/com/baeldung/guava/queues/MinMaxPriorityQueueUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.guava; +package com.baeldung.guava.queues; import com.google.common.collect.MinMaxPriorityQueue; diff --git a/guava-collections/src/test/java/org/baeldung/guava/GuavaTableUnitTest.java b/guava-collections/src/test/java/com/baeldung/guava/table/GuavaTableUnitTest.java similarity index 99% rename from guava-collections/src/test/java/org/baeldung/guava/GuavaTableUnitTest.java rename to guava-collections/src/test/java/com/baeldung/guava/table/GuavaTableUnitTest.java index 28e132074e..e9a9560afd 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/GuavaTableUnitTest.java +++ b/guava-collections/src/test/java/com/baeldung/guava/table/GuavaTableUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.guava; +package com.baeldung.guava.table; import static org.assertj.core.api.Assertions.*; import java.util.List; diff --git a/guava-collections/src/test/java/org/baeldung/hamcrest/HamcrestExamplesUnitTest.java b/guava-collections/src/test/java/com/baeldung/hamcrest/HamcrestExamplesUnitTest.java similarity index 99% rename from guava-collections/src/test/java/org/baeldung/hamcrest/HamcrestExamplesUnitTest.java rename to guava-collections/src/test/java/com/baeldung/hamcrest/HamcrestExamplesUnitTest.java index 82b6b8c87c..820f065957 100644 --- a/guava-collections/src/test/java/org/baeldung/hamcrest/HamcrestExamplesUnitTest.java +++ b/guava-collections/src/test/java/com/baeldung/hamcrest/HamcrestExamplesUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.hamcrest; +package com.baeldung.hamcrest; import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.containsInAnyOrder; diff --git a/guava-collections/src/test/resources/.gitignore b/guava-collections/src/test/resources/.gitignore deleted file mode 100644 index 83c05e60c8..0000000000 --- a/guava-collections/src/test/resources/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -*.class - -#folders# -/target -/neoDb* -/data -/src/main/webapp/WEB-INF/classes -*/META-INF/* - -# Packaged files # -*.jar -*.war -*.ear \ No newline at end of file diff --git a/guava/README.md b/guava/README.md index a9694daf0b..f4d84437cc 100644 --- a/guava/README.md +++ b/guava/README.md @@ -3,7 +3,6 @@ ### Relevant Articles: - [Guava Functional Cookbook](https://www.baeldung.com/guava-functions-predicates) -- [Guide to Guava’s Ordering](https://www.baeldung.com/guava-ordering) - [Guide to Guava’s PreConditions](https://www.baeldung.com/guava-preconditions) - [Introduction to Guava CacheLoader](https://www.baeldung.com/guava-cacheloader) - [Introduction to Guava Memoizer](https://www.baeldung.com/guava-memoizer) diff --git a/pom.xml b/pom.xml index d15e7f22ff..2349d3642f 100644 --- a/pom.xml +++ b/pom.xml @@ -459,6 +459,7 @@ guava guava-io guava-collections + guava-collections-map guava-collections-set guava-modules @@ -1204,6 +1205,7 @@ guava guava-io guava-collections + guava-collections-map guava-collections-set guava-modules From 2cc76b5a956400b27470c893a7b9274c3c1f7543 Mon Sep 17 00:00:00 2001 From: Denis Date: Sun, 6 Oct 2019 20:36:09 +0200 Subject: [PATCH 088/199] fixups after fork sync --- spring-core-2/README.md | 5 ----- spring-core-3/README.md | 4 ++++ spring-core-3/pom.xml | 7 +++++++ .../src/main/java/com/baeldung/beanfactory/Employee.java | 0 .../main/java/com/baeldung/collection/BaeldungBean.java | 0 .../java/com/baeldung/collection/CollectionConfig.java | 0 .../com/baeldung/collection/CollectionInjectionDemo.java | 0 .../main/java/com/baeldung/collection/CollectionsBean.java | 0 .../com/baeldung/factorybean/FactoryBeanAppConfig.java | 0 .../com/baeldung/factorybean/NonSingleToolFactory.java | 0 .../src/main/java/com/baeldung/factorybean/README.md | 0 .../java/com/baeldung/factorybean/SingleToolFactory.java | 0 .../src/main/java/com/baeldung/factorybean/Tool.java | 0 .../main/java/com/baeldung/factorybean/ToolFactory.java | 0 .../src/main/resources/factorybean-abstract-spring-ctx.xml | 0 .../src/main/resources/factorybean-spring-ctx.xml | 0 .../BeanFactoryWithClassPathResourceIntegrationTest.java | 0 .../src/test/java/com/baeldung/beanfactory/README.md | 0 .../factorybean/AbstractFactoryBeanIntegrationTest.java | 0 .../factorybean/FactoryBeanJavaConfigIntegrationTest.java | 0 .../factorybean/FactoryBeanXmlConfigIntegrationTest.java | 0 .../src/test/resources/beanfactory-example.xml | 0 22 files changed, 11 insertions(+), 5 deletions(-) rename {spring-core-2 => spring-core-3}/src/main/java/com/baeldung/beanfactory/Employee.java (100%) rename {spring-core-2 => spring-core-3}/src/main/java/com/baeldung/collection/BaeldungBean.java (100%) rename {spring-core-2 => spring-core-3}/src/main/java/com/baeldung/collection/CollectionConfig.java (100%) rename {spring-core-2 => spring-core-3}/src/main/java/com/baeldung/collection/CollectionInjectionDemo.java (100%) rename {spring-core-2 => spring-core-3}/src/main/java/com/baeldung/collection/CollectionsBean.java (100%) rename {spring-core-2 => spring-core-3}/src/main/java/com/baeldung/factorybean/FactoryBeanAppConfig.java (100%) rename {spring-core-2 => spring-core-3}/src/main/java/com/baeldung/factorybean/NonSingleToolFactory.java (100%) rename {spring-core-2 => spring-core-3}/src/main/java/com/baeldung/factorybean/README.md (100%) rename {spring-core-2 => spring-core-3}/src/main/java/com/baeldung/factorybean/SingleToolFactory.java (100%) rename {spring-core-2 => spring-core-3}/src/main/java/com/baeldung/factorybean/Tool.java (100%) rename {spring-core-2 => spring-core-3}/src/main/java/com/baeldung/factorybean/ToolFactory.java (100%) rename {spring-core-2 => spring-core-3}/src/main/resources/factorybean-abstract-spring-ctx.xml (100%) rename {spring-core-2 => spring-core-3}/src/main/resources/factorybean-spring-ctx.xml (100%) rename {spring-core-2 => spring-core-3}/src/test/java/com/baeldung/beanfactory/BeanFactoryWithClassPathResourceIntegrationTest.java (100%) rename {spring-core-2 => spring-core-3}/src/test/java/com/baeldung/beanfactory/README.md (100%) rename {spring-core-2 => spring-core-3}/src/test/java/com/baeldung/factorybean/AbstractFactoryBeanIntegrationTest.java (100%) rename {spring-core-2 => spring-core-3}/src/test/java/com/baeldung/factorybean/FactoryBeanJavaConfigIntegrationTest.java (100%) rename {spring-core-2 => spring-core-3}/src/test/java/com/baeldung/factorybean/FactoryBeanXmlConfigIntegrationTest.java (100%) rename {spring-core-2 => spring-core-3}/src/test/resources/beanfactory-example.xml (100%) diff --git a/spring-core-2/README.md b/spring-core-2/README.md index 7ff3a628a1..bcb1ce1fb4 100644 --- a/spring-core-2/README.md +++ b/spring-core-2/README.md @@ -4,8 +4,6 @@ This module contains articles about core Spring functionality ## Relevant Articles: -- [Understanding getBean() in Spring](https://www.baeldung.com/spring-getbean) - - [Guide to Spring @Autowired](http://www.baeldung.com/spring-autowire) - [Spring Profiles](http://www.baeldung.com/spring-profiles) - [A Spring Custom Annotation for a Better DAO](http://www.baeldung.com/spring-annotation-bean-pre-processor) @@ -17,7 +15,4 @@ This module contains articles about core Spring functionality - [Spring Events](https://www.baeldung.com/spring-events) - [Spring Null-Safety Annotations](https://www.baeldung.com/spring-null-safety-annotations) - [Using @Autowired in Abstract Classes](https://www.baeldung.com/spring-autowired-abstract-class) -- [Exploring the Spring BeanFactory API](https://www.baeldung.com/spring-beanfactory) -- [How to use the Spring FactoryBean?](https://www.baeldung.com/spring-factorybean) -- [Spring – Injecting Collections](https://www.baeldung.com/spring-injecting-collections) - More articles: [[<-- prev]](/spring-core) \ No newline at end of file diff --git a/spring-core-3/README.md b/spring-core-3/README.md index 4c9e3b9ddf..7ca95ae78e 100644 --- a/spring-core-3/README.md +++ b/spring-core-3/README.md @@ -1,3 +1,7 @@ ## Relevant Articles: - [Understanding getBean() in Spring](https://www.baeldung.com/spring-getbean) +- [Exploring the Spring BeanFactory API](https://www.baeldung.com/spring-beanfactory) +- [How to use the Spring FactoryBean?](https://www.baeldung.com/spring-factorybean) +- [Spring – Injecting Collections](https://www.baeldung.com/spring-injecting-collections) +- More articles: [[<-- prev]](/spring-core-2) \ No newline at end of file diff --git a/spring-core-3/pom.xml b/spring-core-3/pom.xml index 7ed4a2df86..cd82f23320 100644 --- a/spring-core-3/pom.xml +++ b/spring-core-3/pom.xml @@ -29,10 +29,16 @@ spring-core ${spring.version}
+ + javax.annotation + javax.annotation-api + ${annotation-api.version} + org.springframework spring-test ${spring.version} + test org.junit.jupiter @@ -60,6 +66,7 @@ 2.22.1 + 1.3.2 \ No newline at end of file diff --git a/spring-core-2/src/main/java/com/baeldung/beanfactory/Employee.java b/spring-core-3/src/main/java/com/baeldung/beanfactory/Employee.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/beanfactory/Employee.java rename to spring-core-3/src/main/java/com/baeldung/beanfactory/Employee.java diff --git a/spring-core-2/src/main/java/com/baeldung/collection/BaeldungBean.java b/spring-core-3/src/main/java/com/baeldung/collection/BaeldungBean.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/collection/BaeldungBean.java rename to spring-core-3/src/main/java/com/baeldung/collection/BaeldungBean.java diff --git a/spring-core-2/src/main/java/com/baeldung/collection/CollectionConfig.java b/spring-core-3/src/main/java/com/baeldung/collection/CollectionConfig.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/collection/CollectionConfig.java rename to spring-core-3/src/main/java/com/baeldung/collection/CollectionConfig.java diff --git a/spring-core-2/src/main/java/com/baeldung/collection/CollectionInjectionDemo.java b/spring-core-3/src/main/java/com/baeldung/collection/CollectionInjectionDemo.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/collection/CollectionInjectionDemo.java rename to spring-core-3/src/main/java/com/baeldung/collection/CollectionInjectionDemo.java diff --git a/spring-core-2/src/main/java/com/baeldung/collection/CollectionsBean.java b/spring-core-3/src/main/java/com/baeldung/collection/CollectionsBean.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/collection/CollectionsBean.java rename to spring-core-3/src/main/java/com/baeldung/collection/CollectionsBean.java diff --git a/spring-core-2/src/main/java/com/baeldung/factorybean/FactoryBeanAppConfig.java b/spring-core-3/src/main/java/com/baeldung/factorybean/FactoryBeanAppConfig.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/factorybean/FactoryBeanAppConfig.java rename to spring-core-3/src/main/java/com/baeldung/factorybean/FactoryBeanAppConfig.java diff --git a/spring-core-2/src/main/java/com/baeldung/factorybean/NonSingleToolFactory.java b/spring-core-3/src/main/java/com/baeldung/factorybean/NonSingleToolFactory.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/factorybean/NonSingleToolFactory.java rename to spring-core-3/src/main/java/com/baeldung/factorybean/NonSingleToolFactory.java diff --git a/spring-core-2/src/main/java/com/baeldung/factorybean/README.md b/spring-core-3/src/main/java/com/baeldung/factorybean/README.md similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/factorybean/README.md rename to spring-core-3/src/main/java/com/baeldung/factorybean/README.md diff --git a/spring-core-2/src/main/java/com/baeldung/factorybean/SingleToolFactory.java b/spring-core-3/src/main/java/com/baeldung/factorybean/SingleToolFactory.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/factorybean/SingleToolFactory.java rename to spring-core-3/src/main/java/com/baeldung/factorybean/SingleToolFactory.java diff --git a/spring-core-2/src/main/java/com/baeldung/factorybean/Tool.java b/spring-core-3/src/main/java/com/baeldung/factorybean/Tool.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/factorybean/Tool.java rename to spring-core-3/src/main/java/com/baeldung/factorybean/Tool.java diff --git a/spring-core-2/src/main/java/com/baeldung/factorybean/ToolFactory.java b/spring-core-3/src/main/java/com/baeldung/factorybean/ToolFactory.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/factorybean/ToolFactory.java rename to spring-core-3/src/main/java/com/baeldung/factorybean/ToolFactory.java diff --git a/spring-core-2/src/main/resources/factorybean-abstract-spring-ctx.xml b/spring-core-3/src/main/resources/factorybean-abstract-spring-ctx.xml similarity index 100% rename from spring-core-2/src/main/resources/factorybean-abstract-spring-ctx.xml rename to spring-core-3/src/main/resources/factorybean-abstract-spring-ctx.xml diff --git a/spring-core-2/src/main/resources/factorybean-spring-ctx.xml b/spring-core-3/src/main/resources/factorybean-spring-ctx.xml similarity index 100% rename from spring-core-2/src/main/resources/factorybean-spring-ctx.xml rename to spring-core-3/src/main/resources/factorybean-spring-ctx.xml diff --git a/spring-core-2/src/test/java/com/baeldung/beanfactory/BeanFactoryWithClassPathResourceIntegrationTest.java b/spring-core-3/src/test/java/com/baeldung/beanfactory/BeanFactoryWithClassPathResourceIntegrationTest.java similarity index 100% rename from spring-core-2/src/test/java/com/baeldung/beanfactory/BeanFactoryWithClassPathResourceIntegrationTest.java rename to spring-core-3/src/test/java/com/baeldung/beanfactory/BeanFactoryWithClassPathResourceIntegrationTest.java diff --git a/spring-core-2/src/test/java/com/baeldung/beanfactory/README.md b/spring-core-3/src/test/java/com/baeldung/beanfactory/README.md similarity index 100% rename from spring-core-2/src/test/java/com/baeldung/beanfactory/README.md rename to spring-core-3/src/test/java/com/baeldung/beanfactory/README.md diff --git a/spring-core-2/src/test/java/com/baeldung/factorybean/AbstractFactoryBeanIntegrationTest.java b/spring-core-3/src/test/java/com/baeldung/factorybean/AbstractFactoryBeanIntegrationTest.java similarity index 100% rename from spring-core-2/src/test/java/com/baeldung/factorybean/AbstractFactoryBeanIntegrationTest.java rename to spring-core-3/src/test/java/com/baeldung/factorybean/AbstractFactoryBeanIntegrationTest.java diff --git a/spring-core-2/src/test/java/com/baeldung/factorybean/FactoryBeanJavaConfigIntegrationTest.java b/spring-core-3/src/test/java/com/baeldung/factorybean/FactoryBeanJavaConfigIntegrationTest.java similarity index 100% rename from spring-core-2/src/test/java/com/baeldung/factorybean/FactoryBeanJavaConfigIntegrationTest.java rename to spring-core-3/src/test/java/com/baeldung/factorybean/FactoryBeanJavaConfigIntegrationTest.java diff --git a/spring-core-2/src/test/java/com/baeldung/factorybean/FactoryBeanXmlConfigIntegrationTest.java b/spring-core-3/src/test/java/com/baeldung/factorybean/FactoryBeanXmlConfigIntegrationTest.java similarity index 100% rename from spring-core-2/src/test/java/com/baeldung/factorybean/FactoryBeanXmlConfigIntegrationTest.java rename to spring-core-3/src/test/java/com/baeldung/factorybean/FactoryBeanXmlConfigIntegrationTest.java diff --git a/spring-core-2/src/test/resources/beanfactory-example.xml b/spring-core-3/src/test/resources/beanfactory-example.xml similarity index 100% rename from spring-core-2/src/test/resources/beanfactory-example.xml rename to spring-core-3/src/test/resources/beanfactory-example.xml From da1dd4dd12fe4cbfafd39cfac5f53fbc0c45270e Mon Sep 17 00:00:00 2001 From: Lukasz Rys <> Date: Sun, 6 Oct 2019 21:27:50 +0200 Subject: [PATCH 089/199] BAEL-3322: Jimx --- testing-modules/mocks/pom.xml | 117 ++++++++++-------- .../com/baeldung/jimf/FileManipulation.java | 19 +++ .../com/baeldung/jimf/FileRepository.java | 43 +++++++ .../jimf/FileManipulationUnitTest.java | 46 +++++++ .../baeldung/jimf/FileRepositoryUnitTest.java | 74 +++++++++++ .../com/baeldung/jimf/FileTestProvider.java | 16 +++ .../src/test/resources/fileRepositoryRead.txt | 1 + 7 files changed, 261 insertions(+), 55 deletions(-) create mode 100644 testing-modules/mocks/src/main/java/com/baeldung/jimf/FileManipulation.java create mode 100644 testing-modules/mocks/src/main/java/com/baeldung/jimf/FileRepository.java create mode 100644 testing-modules/mocks/src/test/java/com/baeldung/jimf/FileManipulationUnitTest.java create mode 100644 testing-modules/mocks/src/test/java/com/baeldung/jimf/FileRepositoryUnitTest.java create mode 100644 testing-modules/mocks/src/test/java/com/baeldung/jimf/FileTestProvider.java create mode 100644 testing-modules/mocks/src/test/resources/fileRepositoryRead.txt diff --git a/testing-modules/mocks/pom.xml b/testing-modules/mocks/pom.xml index bf75cfc3a2..cbda386af8 100644 --- a/testing-modules/mocks/pom.xml +++ b/testing-modules/mocks/pom.xml @@ -1,55 +1,62 @@ - - 4.0.0 - mocks - mocks - - - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - ../../ - - - - - com.github.javafaker - javafaker - ${javafaker.version} - - - org.jmockit - jmockit - ${jmockit.version} - test - - - org.jukito - jukito - ${jukito.version} - test - - - org.mockito - mockito-core - ${mockito.version} - test - - - - org.easymock - easymock - ${easymock.version} - test - - - - - 0.15 - 1.5 -2.21.0 - 3.5.1 - 1.41 - - - + + 4.0.0 + mocks + mocks + + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + ../../ + + + + + com.github.javafaker + javafaker + ${javafaker.version} + + + org.jmockit + jmockit + ${jmockit.version} + test + + + org.jukito + jukito + ${jukito.version} + test + + + org.mockito + mockito-core + ${mockito.version} + test + + + + org.easymock + easymock + ${easymock.version} + test + + + + com.google.jimfs + jimfs + ${jimf.version} + + + + + 0.15 + 1.5 + 2.21.0 + 3.5.1 + 1.41 + 1.1 + + + diff --git a/testing-modules/mocks/src/main/java/com/baeldung/jimf/FileManipulation.java b/testing-modules/mocks/src/main/java/com/baeldung/jimf/FileManipulation.java new file mode 100644 index 0000000000..039e4593fd --- /dev/null +++ b/testing-modules/mocks/src/main/java/com/baeldung/jimf/FileManipulation.java @@ -0,0 +1,19 @@ +package com.baeldung.jimf; + +import java.io.IOException; +import java.io.UncheckedIOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardCopyOption; + +public class FileManipulation { + + void move(final Path origin, final Path destination) { + try { + Files.createDirectories(destination); + Files.move(origin, destination, StandardCopyOption.REPLACE_EXISTING); + } catch (final IOException ex) { + throw new UncheckedIOException(ex); + } + } +} diff --git a/testing-modules/mocks/src/main/java/com/baeldung/jimf/FileRepository.java b/testing-modules/mocks/src/main/java/com/baeldung/jimf/FileRepository.java new file mode 100644 index 0000000000..d17cff1bd2 --- /dev/null +++ b/testing-modules/mocks/src/main/java/com/baeldung/jimf/FileRepository.java @@ -0,0 +1,43 @@ +package com.baeldung.jimf; + +import java.io.IOException; +import java.io.UncheckedIOException; +import java.nio.file.Files; +import java.nio.file.Path; + +public class FileRepository { + + void create(final Path path, final String fileName) { + final Path filePath = path.resolve(fileName); + try { + Files.createFile(filePath); + } catch (final IOException ex) { + throw new UncheckedIOException(ex); + } + } + + String read(final Path path) { + try { + return new String(Files.readAllBytes(path)); + } catch (final IOException ex) { + throw new UncheckedIOException(ex); + } + } + + String update(final Path path, final String newContent) { + try { + Files.write(path, newContent.getBytes()); + return newContent; + } catch (final IOException ex) { + throw new UncheckedIOException(ex); + } + } + + void delete (final Path path){ + try { + Files.deleteIfExists(path); + } catch (final IOException ex) { + throw new UncheckedIOException(ex); + } + } +} diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileManipulationUnitTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileManipulationUnitTest.java new file mode 100644 index 0000000000..3978ec6ff7 --- /dev/null +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileManipulationUnitTest.java @@ -0,0 +1,46 @@ +package com.baeldung.jimf; + +import com.google.common.jimfs.Configuration; +import com.google.common.jimfs.Jimfs; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +import java.io.IOException; +import java.io.UncheckedIOException; +import java.nio.file.FileSystem; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.attribute.FileTime; +import java.util.stream.Stream; + +import static org.junit.jupiter.api.Assertions.*; + +class FileManipulationUnitTest implements FileTestProvider { + + private static Stream provideFileSystem() { + return Stream.of( + Arguments.of(Jimfs.newFileSystem(Configuration.unix())), + Arguments.of(Jimfs.newFileSystem(Configuration.windows())), + Arguments.of(Jimfs.newFileSystem(Configuration.osX()))); + } + + private final FileManipulation fileManipulation = new FileManipulation(); + + @ParameterizedTest + @DisplayName("Should create a file on a file system") + @MethodSource("provideFileSystem") + void shouldCreateFile(final FileSystem fileSystem) throws Exception { + final Path origin = fileSystem.getPath(RESOURCE_FILE_NAME); + Files.copy(getResourceFilePath(), origin); + final Path destination = fileSystem.getPath("newDirectory", RESOURCE_FILE_NAME); + + fileManipulation.move(origin, destination); + + assertFalse(Files.exists(origin)); + assertTrue(Files.exists(destination)); + } +} \ No newline at end of file diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileRepositoryUnitTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileRepositoryUnitTest.java new file mode 100644 index 0000000000..3cfb49e14f --- /dev/null +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileRepositoryUnitTest.java @@ -0,0 +1,74 @@ +package com.baeldung.jimf; + +import com.google.common.jimfs.Configuration; +import com.google.common.jimfs.Jimfs; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +import java.nio.file.FileSystem; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.stream.Stream; + +import static org.junit.jupiter.api.Assertions.*; + +class FileRepositoryUnitTest implements FileTestProvider { + + private final FileRepository fileRepository = new FileRepository(); + + private static Stream provideFileSystem() { + return Stream.of(Arguments.of(Jimfs.newFileSystem(Configuration.unix())), Arguments.of(Jimfs.newFileSystem(Configuration.windows())), Arguments.of(Jimfs.newFileSystem(Configuration.osX()))); + } + + @ParameterizedTest + @DisplayName("Should create a file on a file system") + @MethodSource("provideFileSystem") + void shouldCreateFile(final FileSystem fileSystem) throws Exception { + final String fileName = "test.txt"; + final Path pathToStore = fileSystem.getPath(""); + + fileRepository.create(pathToStore, fileName); + + assertTrue(Files.exists(pathToStore.resolve(fileName))); + } + + @ParameterizedTest + @DisplayName("Should read the content of the file") + @MethodSource("provideFileSystem") + void shouldReadFileContent_thenReturnIt(final FileSystem fileSystem) throws Exception { + final Path pathToStore = fileSystem.getPath(RESOURCE_FILE_NAME); + Files.copy(getResourceFilePath(), pathToStore); + + final String content = fileRepository.read(pathToStore); + + assertEquals(FILE_CONTENT, content); + } + + @ParameterizedTest + @DisplayName("Should update content of the file") + @MethodSource("provideFileSystem") + void shouldUpdateContentOfTheFile(final FileSystem fileSystem) throws Exception { + final Path pathToStore = fileSystem.getPath(RESOURCE_FILE_NAME); + Files.copy(getResourceFilePath(), pathToStore); + final String newContent = "NEW_CONTENT"; + + final String content = fileRepository.update(pathToStore, newContent); + + assertEquals(newContent, content); + assertEquals(newContent, fileRepository.read(pathToStore)); + } + + @ParameterizedTest + @DisplayName("Should update delete file") + @MethodSource("provideFileSystem") + void shouldDeleteFile(final FileSystem fileSystem) throws Exception { + final Path pathToStore = fileSystem.getPath(RESOURCE_FILE_NAME); + Files.copy(getResourceFilePath(), pathToStore); + + fileRepository.delete(pathToStore); + + assertFalse(Files.exists(pathToStore)); + } +} \ No newline at end of file diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileTestProvider.java b/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileTestProvider.java new file mode 100644 index 0000000000..9144a0b65f --- /dev/null +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileTestProvider.java @@ -0,0 +1,16 @@ +package com.baeldung.jimf; + +import java.nio.file.Path; +import java.nio.file.Paths; + +public interface FileTestProvider { + String FILE_CONTENT = "BAELDUNG"; + String RESOURCE_FILE_NAME = "fileRepositoryRead.txt"; + + default Path getResourceFilePath() { + final String resourceFilePath = getClass() + .getResource("/" + RESOURCE_FILE_NAME) + .getPath(); + return Paths.get(resourceFilePath); + } +} diff --git a/testing-modules/mocks/src/test/resources/fileRepositoryRead.txt b/testing-modules/mocks/src/test/resources/fileRepositoryRead.txt new file mode 100644 index 0000000000..7c2239aab9 --- /dev/null +++ b/testing-modules/mocks/src/test/resources/fileRepositoryRead.txt @@ -0,0 +1 @@ +BAELDUNG \ No newline at end of file From 33a3ee7592b723f8a160fccce8c8c4ecdb40613e Mon Sep 17 00:00:00 2001 From: Lukasz Rys <> Date: Sun, 6 Oct 2019 23:30:48 +0200 Subject: [PATCH 090/199] BAEL-3322: Prettify --- .../baeldung/jimf/FileRepositoryUnitTest.java | 26 +++++++++---------- .../com/baeldung/jimf/FileTestProvider.java | 2 +- .../src/test/resources/fileRepositoryRead.txt | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileRepositoryUnitTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileRepositoryUnitTest.java index 3cfb49e14f..0564b2a52b 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileRepositoryUnitTest.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileRepositoryUnitTest.java @@ -26,7 +26,7 @@ class FileRepositoryUnitTest implements FileTestProvider { @DisplayName("Should create a file on a file system") @MethodSource("provideFileSystem") void shouldCreateFile(final FileSystem fileSystem) throws Exception { - final String fileName = "test.txt"; + final String fileName = "newFile.txt"; final Path pathToStore = fileSystem.getPath(""); fileRepository.create(pathToStore, fileName); @@ -38,10 +38,10 @@ class FileRepositoryUnitTest implements FileTestProvider { @DisplayName("Should read the content of the file") @MethodSource("provideFileSystem") void shouldReadFileContent_thenReturnIt(final FileSystem fileSystem) throws Exception { - final Path pathToStore = fileSystem.getPath(RESOURCE_FILE_NAME); - Files.copy(getResourceFilePath(), pathToStore); + final Path resourceFilePath = fileSystem.getPath(RESOURCE_FILE_NAME); + Files.copy(getResourceFilePath(), resourceFilePath); - final String content = fileRepository.read(pathToStore); + final String content = fileRepository.read(resourceFilePath); assertEquals(FILE_CONTENT, content); } @@ -50,25 +50,25 @@ class FileRepositoryUnitTest implements FileTestProvider { @DisplayName("Should update content of the file") @MethodSource("provideFileSystem") void shouldUpdateContentOfTheFile(final FileSystem fileSystem) throws Exception { - final Path pathToStore = fileSystem.getPath(RESOURCE_FILE_NAME); - Files.copy(getResourceFilePath(), pathToStore); - final String newContent = "NEW_CONTENT"; + final Path resourceFilePath = fileSystem.getPath(RESOURCE_FILE_NAME); + Files.copy(getResourceFilePath(), resourceFilePath); + final String newContent = "I'm updating you."; - final String content = fileRepository.update(pathToStore, newContent); + final String content = fileRepository.update(resourceFilePath, newContent); assertEquals(newContent, content); - assertEquals(newContent, fileRepository.read(pathToStore)); + assertEquals(newContent, fileRepository.read(resourceFilePath)); } @ParameterizedTest @DisplayName("Should update delete file") @MethodSource("provideFileSystem") void shouldDeleteFile(final FileSystem fileSystem) throws Exception { - final Path pathToStore = fileSystem.getPath(RESOURCE_FILE_NAME); - Files.copy(getResourceFilePath(), pathToStore); + final Path resourceFilePath = fileSystem.getPath(RESOURCE_FILE_NAME); + Files.copy(getResourceFilePath(), resourceFilePath); - fileRepository.delete(pathToStore); + fileRepository.delete(resourceFilePath); - assertFalse(Files.exists(pathToStore)); + assertFalse(Files.exists(resourceFilePath)); } } \ No newline at end of file diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileTestProvider.java b/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileTestProvider.java index 9144a0b65f..5893e5b925 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileTestProvider.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileTestProvider.java @@ -4,7 +4,7 @@ import java.nio.file.Path; import java.nio.file.Paths; public interface FileTestProvider { - String FILE_CONTENT = "BAELDUNG"; + String FILE_CONTENT = "I'm the file content."; String RESOURCE_FILE_NAME = "fileRepositoryRead.txt"; default Path getResourceFilePath() { diff --git a/testing-modules/mocks/src/test/resources/fileRepositoryRead.txt b/testing-modules/mocks/src/test/resources/fileRepositoryRead.txt index 7c2239aab9..b63f63cdd6 100644 --- a/testing-modules/mocks/src/test/resources/fileRepositoryRead.txt +++ b/testing-modules/mocks/src/test/resources/fileRepositoryRead.txt @@ -1 +1 @@ -BAELDUNG \ No newline at end of file +I'm the file content. \ No newline at end of file From f9fe917f66b0f481b34417f03feeb61e550e1698 Mon Sep 17 00:00:00 2001 From: Lukasz Rys <> Date: Sun, 6 Oct 2019 23:42:05 +0200 Subject: [PATCH 091/199] BAEL-3322: Fix package name --- .../com/baeldung/{jimf => jimfs}/FileManipulation.java | 2 +- .../java/com/baeldung/{jimf => jimfs}/FileRepository.java | 2 +- .../baeldung/{jimf => jimfs}/FileManipulationUnitTest.java | 7 +------ .../baeldung/{jimf => jimfs}/FileRepositoryUnitTest.java | 2 +- .../com/baeldung/{jimf => jimfs}/FileTestProvider.java | 2 +- 5 files changed, 5 insertions(+), 10 deletions(-) rename testing-modules/mocks/src/main/java/com/baeldung/{jimf => jimfs}/FileManipulation.java (94%) rename testing-modules/mocks/src/main/java/com/baeldung/{jimf => jimfs}/FileRepository.java (97%) rename testing-modules/mocks/src/test/java/com/baeldung/{jimf => jimfs}/FileManipulationUnitTest.java (87%) rename testing-modules/mocks/src/test/java/com/baeldung/{jimf => jimfs}/FileRepositoryUnitTest.java (99%) rename testing-modules/mocks/src/test/java/com/baeldung/{jimf => jimfs}/FileTestProvider.java (93%) diff --git a/testing-modules/mocks/src/main/java/com/baeldung/jimf/FileManipulation.java b/testing-modules/mocks/src/main/java/com/baeldung/jimfs/FileManipulation.java similarity index 94% rename from testing-modules/mocks/src/main/java/com/baeldung/jimf/FileManipulation.java rename to testing-modules/mocks/src/main/java/com/baeldung/jimfs/FileManipulation.java index 039e4593fd..ae163b094f 100644 --- a/testing-modules/mocks/src/main/java/com/baeldung/jimf/FileManipulation.java +++ b/testing-modules/mocks/src/main/java/com/baeldung/jimfs/FileManipulation.java @@ -1,4 +1,4 @@ -package com.baeldung.jimf; +package com.baeldung.jimfs; import java.io.IOException; import java.io.UncheckedIOException; diff --git a/testing-modules/mocks/src/main/java/com/baeldung/jimf/FileRepository.java b/testing-modules/mocks/src/main/java/com/baeldung/jimfs/FileRepository.java similarity index 97% rename from testing-modules/mocks/src/main/java/com/baeldung/jimf/FileRepository.java rename to testing-modules/mocks/src/main/java/com/baeldung/jimfs/FileRepository.java index d17cff1bd2..7db4941bd3 100644 --- a/testing-modules/mocks/src/main/java/com/baeldung/jimf/FileRepository.java +++ b/testing-modules/mocks/src/main/java/com/baeldung/jimfs/FileRepository.java @@ -1,4 +1,4 @@ -package com.baeldung.jimf; +package com.baeldung.jimfs; import java.io.IOException; import java.io.UncheckedIOException; diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileManipulationUnitTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileManipulationUnitTest.java similarity index 87% rename from testing-modules/mocks/src/test/java/com/baeldung/jimf/FileManipulationUnitTest.java rename to testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileManipulationUnitTest.java index 3978ec6ff7..63aaf5e571 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileManipulationUnitTest.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileManipulationUnitTest.java @@ -1,20 +1,15 @@ -package com.baeldung.jimf; +package com.baeldung.jimfs; import com.google.common.jimfs.Configuration; import com.google.common.jimfs.Jimfs; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; -import java.io.IOException; -import java.io.UncheckedIOException; import java.nio.file.FileSystem; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.attribute.FileTime; import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.*; diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileRepositoryUnitTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java similarity index 99% rename from testing-modules/mocks/src/test/java/com/baeldung/jimf/FileRepositoryUnitTest.java rename to testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java index 0564b2a52b..4d592abf70 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileRepositoryUnitTest.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.jimf; +package com.baeldung.jimfs; import com.google.common.jimfs.Configuration; import com.google.common.jimfs.Jimfs; diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileTestProvider.java b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileTestProvider.java similarity index 93% rename from testing-modules/mocks/src/test/java/com/baeldung/jimf/FileTestProvider.java rename to testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileTestProvider.java index 5893e5b925..51b584ee8c 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jimf/FileTestProvider.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileTestProvider.java @@ -1,4 +1,4 @@ -package com.baeldung.jimf; +package com.baeldung.jimfs; import java.nio.file.Path; import java.nio.file.Paths; From 3e56a168b195f5ef7aaf363f432e52b5aede8130 Mon Sep 17 00:00:00 2001 From: fejera Date: Mon, 7 Oct 2019 08:33:59 +0200 Subject: [PATCH 092/199] removed links from README in core-java-concurrency-advanced-3 --- .../README.md | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/core-java-modules/core-java-concurrency-advanced-3/README.md b/core-java-modules/core-java-concurrency-advanced-3/README.md index 6222af8a82..857a3e253c 100644 --- a/core-java-modules/core-java-concurrency-advanced-3/README.md +++ b/core-java-modules/core-java-concurrency-advanced-3/README.md @@ -3,24 +3,4 @@ ## Core Java Concurrency Advanced Examples ### Relevant Articles: -- [Introduction to Thread Pools in Java](https://www.baeldung.com/thread-pool-java-and-guava) -- [Guide to CountDownLatch in Java](https://www.baeldung.com/java-countdown-latch) -- [Guide to java.util.concurrent.Locks](https://www.baeldung.com/java-concurrent-locks) -- [An Introduction to ThreadLocal in Java](https://www.baeldung.com/java-threadlocal) -- [LongAdder and LongAccumulator in Java](https://www.baeldung.com/java-longadder-and-longaccumulator) -- [The Dining Philosophers Problem in Java](https://www.baeldung.com/java-dining-philoshophers) -- [Guide to the Java Phaser](https://www.baeldung.com/java-phaser) -- [An Introduction to Atomic Variables in Java](https://www.baeldung.com/java-atomic-variables) -- [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) -- [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) -- [Semaphores in Java](https://www.baeldung.com/java-semaphore) -- [Daemon Threads in Java](https://www.baeldung.com/java-daemon-thread) -- [Priority-based Job Scheduling in Java](https://www.baeldung.com/java-priority-job-schedule) -- [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield) -- [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads) -- [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch) -- [Guide to the Fork/Join Framework in Java](https://www.baeldung.com/java-fork-join) -- [Guide to ThreadLocalRandom in Java](https://www.baeldung.com/java-thread-local-random) -- [The Thread.join() Method in Java](https://www.baeldung.com/java-thread-join) -- [Passing Parameters to Java Threads](https://www.baeldung.com/java-thread-parameters) From dad6373190da697d8f571b515249c86454e6b94d Mon Sep 17 00:00:00 2001 From: fejera Date: Mon, 7 Oct 2019 08:36:35 +0200 Subject: [PATCH 093/199] added description to READMEs in core-java-concurrency-advanced* modules --- core-java-modules/core-java-concurrency-advanced-2/README.md | 2 ++ core-java-modules/core-java-concurrency-advanced-3/README.md | 2 ++ core-java-modules/core-java-concurrency-advanced/README.md | 2 ++ 3 files changed, 6 insertions(+) diff --git a/core-java-modules/core-java-concurrency-advanced-2/README.md b/core-java-modules/core-java-concurrency-advanced-2/README.md index 8db1b89468..cdd8f86b60 100644 --- a/core-java-modules/core-java-concurrency-advanced-2/README.md +++ b/core-java-modules/core-java-concurrency-advanced-2/README.md @@ -2,6 +2,8 @@ ## Core Java Concurrency Advanced Examples +This module contains articles about advanced topics about multithreading with core Java. + ### Relevant Articles: - [Semaphores in Java](https://www.baeldung.com/java-semaphore) - [Daemon Threads in Java](https://www.baeldung.com/java-daemon-thread) diff --git a/core-java-modules/core-java-concurrency-advanced-3/README.md b/core-java-modules/core-java-concurrency-advanced-3/README.md index 857a3e253c..37d9099b0f 100644 --- a/core-java-modules/core-java-concurrency-advanced-3/README.md +++ b/core-java-modules/core-java-concurrency-advanced-3/README.md @@ -2,5 +2,7 @@ ## Core Java Concurrency Advanced Examples +This module contains articles about advanced topics about multithreading with core Java. + ### Relevant Articles: diff --git a/core-java-modules/core-java-concurrency-advanced/README.md b/core-java-modules/core-java-concurrency-advanced/README.md index 5c4a9889e2..37b11847a6 100644 --- a/core-java-modules/core-java-concurrency-advanced/README.md +++ b/core-java-modules/core-java-concurrency-advanced/README.md @@ -2,6 +2,8 @@ ## Core Java Concurrency Advanced Examples +This module contains articles about advanced topics about multithreading with core Java. + ### Relevant Articles: - [Introduction to Thread Pools in Java](https://www.baeldung.com/thread-pool-java-and-guava) - [Guide to CountDownLatch in Java](https://www.baeldung.com/java-countdown-latch) From 7d7b58b1cb1e96b3be28a0bf223d1dda0c51c5cb Mon Sep 17 00:00:00 2001 From: fejera Date: Mon, 7 Oct 2019 08:40:03 +0200 Subject: [PATCH 094/199] added more and previous links to READMEs in core-java-concurrency-advanced* modules --- core-java-modules/core-java-concurrency-advanced-2/README.md | 2 ++ core-java-modules/core-java-concurrency-advanced-3/README.md | 1 + core-java-modules/core-java-concurrency-advanced/README.md | 2 ++ 3 files changed, 5 insertions(+) diff --git a/core-java-modules/core-java-concurrency-advanced-2/README.md b/core-java-modules/core-java-concurrency-advanced-2/README.md index cdd8f86b60..988ada9e4a 100644 --- a/core-java-modules/core-java-concurrency-advanced-2/README.md +++ b/core-java-modules/core-java-concurrency-advanced-2/README.md @@ -15,3 +15,5 @@ This module contains articles about advanced topics about multithreading with co - [Guide to ThreadLocalRandom in Java](https://www.baeldung.com/java-thread-local-random) - [The Thread.join() Method in Java](https://www.baeldung.com/java-thread-join) - [Passing Parameters to Java Threads](https://www.baeldung.com/java-thread-parameters) + +[[<-- previous]](/core-java-modules/core-java-concurrency-advanced)[[next -->]](/core-java-modules/core-java-concurrency-advanced-3) diff --git a/core-java-modules/core-java-concurrency-advanced-3/README.md b/core-java-modules/core-java-concurrency-advanced-3/README.md index 37d9099b0f..d1622b5fe1 100644 --- a/core-java-modules/core-java-concurrency-advanced-3/README.md +++ b/core-java-modules/core-java-concurrency-advanced-3/README.md @@ -6,3 +6,4 @@ This module contains articles about advanced topics about multithreading with co ### Relevant Articles: +[[<-- previous]](/core-java-modules/core-java-concurrency-advanced-2) diff --git a/core-java-modules/core-java-concurrency-advanced/README.md b/core-java-modules/core-java-concurrency-advanced/README.md index 37b11847a6..bc970c823e 100644 --- a/core-java-modules/core-java-concurrency-advanced/README.md +++ b/core-java-modules/core-java-concurrency-advanced/README.md @@ -15,3 +15,5 @@ This module contains articles about advanced topics about multithreading with co - [An Introduction to Atomic Variables in Java](https://www.baeldung.com/java-atomic-variables) - [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) - [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) + +[[next -->]](/core-java-modules/core-java-concurrency-advanced-2) From cf1a2505ee99c32760a917c492d31dec70da8a79 Mon Sep 17 00:00:00 2001 From: fejera Date: Mon, 7 Oct 2019 08:42:37 +0200 Subject: [PATCH 095/199] removed .gitignore files from core-java-concurrency-advanced* modules --- .../.gitignore | 26 ------------------- .../.gitignore | 26 ------------------- .../core-java-concurrency-advanced/.gitignore | 26 ------------------- 3 files changed, 78 deletions(-) delete mode 100644 core-java-modules/core-java-concurrency-advanced-2/.gitignore delete mode 100644 core-java-modules/core-java-concurrency-advanced-3/.gitignore delete mode 100644 core-java-modules/core-java-concurrency-advanced/.gitignore diff --git a/core-java-modules/core-java-concurrency-advanced-2/.gitignore b/core-java-modules/core-java-concurrency-advanced-2/.gitignore deleted file mode 100644 index 3de4cc647e..0000000000 --- a/core-java-modules/core-java-concurrency-advanced-2/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -*.class - -0.* - -#folders# -/target -/neoDb* -/data -/src/main/webapp/WEB-INF/classes -*/META-INF/* -.resourceCache - -# Packaged files # -*.jar -*.war -*.ear - -# Files generated by integration tests -*.txt -backup-pom.xml -/bin/ -/temp - -#IntelliJ specific -.idea/ -*.iml \ No newline at end of file diff --git a/core-java-modules/core-java-concurrency-advanced-3/.gitignore b/core-java-modules/core-java-concurrency-advanced-3/.gitignore deleted file mode 100644 index 3de4cc647e..0000000000 --- a/core-java-modules/core-java-concurrency-advanced-3/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -*.class - -0.* - -#folders# -/target -/neoDb* -/data -/src/main/webapp/WEB-INF/classes -*/META-INF/* -.resourceCache - -# Packaged files # -*.jar -*.war -*.ear - -# Files generated by integration tests -*.txt -backup-pom.xml -/bin/ -/temp - -#IntelliJ specific -.idea/ -*.iml \ No newline at end of file diff --git a/core-java-modules/core-java-concurrency-advanced/.gitignore b/core-java-modules/core-java-concurrency-advanced/.gitignore deleted file mode 100644 index 3de4cc647e..0000000000 --- a/core-java-modules/core-java-concurrency-advanced/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -*.class - -0.* - -#folders# -/target -/neoDb* -/data -/src/main/webapp/WEB-INF/classes -*/META-INF/* -.resourceCache - -# Packaged files # -*.jar -*.war -*.ear - -# Files generated by integration tests -*.txt -backup-pom.xml -/bin/ -/temp - -#IntelliJ specific -.idea/ -*.iml \ No newline at end of file From 78cb7a3a3fe59c25d491d6abc5965f77d1981ad4 Mon Sep 17 00:00:00 2001 From: Afshin Date: Mon, 7 Oct 2019 11:52:22 +0200 Subject: [PATCH 096/199] Enhanced: given_when_then pattern naming and formatting problems are resolved --- .../CharacterEncodingExamplesUnitTest.java | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java b/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java index a8cee6881d..821c434117 100644 --- a/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java +++ b/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java @@ -74,29 +74,28 @@ public class CharacterEncodingExamplesUnitTest { } @Test - public void givenUTF8String_decodeByUS_ASCII_ReplaceMalformedInputSequence() throws IOException { - String input = "The façade pattern is a software design pattern."; + public void givenUTF8String_whenDecodeByUS_ASCII_thenIgnoreMalformedInputSequence() throws IOException { + Assertions.assertEquals("The faade pattern is a software design pattern.", + CharacterEncodingExamples.decodeText( + "The façade pattern is a software design pattern.", StandardCharsets.US_ASCII, CodingErrorAction.IGNORE)); + } + + @Test + public void givenUTF8String_whenDecodeByUS_ASCII_thenReplaceMalformedInputSequence() throws IOException { Assertions.assertEquals("The fa��ade pattern is a software design pattern.", - CharacterEncodingExamples.decodeText(input, StandardCharsets.US_ASCII, CodingErrorAction.REPLACE)); + CharacterEncodingExamples.decodeText( + "The façade pattern is a software design pattern.", StandardCharsets.US_ASCII, CodingErrorAction.REPLACE)); } @Test - public void givenUTF8String_decodeByUS_ASCII_IgnoreMalformedInputSequence() throws IOException { - String input = "The façade pattern is a software design pattern."; - Assertions.assertEquals( - "The faade pattern is a software design pattern.", - CharacterEncodingExamples.decodeText(input, StandardCharsets.US_ASCII, CodingErrorAction.IGNORE)); - } - - @Test - public void givenUTF8String_decodeByUS_ASCII_ReportMalformedInputSequence() { - String input = "The façade pattern is a software design pattern."; + public void givenUTF8String_whenDecodeByUS_ASCII_thenReportMalformedInputSequence() { Assertions.assertThrows(MalformedInputException.class, - () -> CharacterEncodingExamples.decodeText(input, StandardCharsets.US_ASCII, CodingErrorAction.REPORT)); + () -> CharacterEncodingExamples.decodeText( + "The façade pattern is a software design pattern.", StandardCharsets.US_ASCII, CodingErrorAction.REPORT)); } @Test - public void givenTextFile_FindSuitableCandidateEncodings() { + public void givenTextFile_whenFindSuitableCandidateEncodings_thenProduceSuitableCandidateEncodings() { Path path = Paths.get("src/test/resources/encoding.txt"); List allCandidateCharSets = Arrays.asList( StandardCharsets.US_ASCII, StandardCharsets.UTF_8, StandardCharsets.ISO_8859_1); @@ -113,6 +112,7 @@ public class CharacterEncodingExamplesUnitTest { ex.printStackTrace(); } }); + Assertions.assertEquals(suitableCharsets, Arrays.asList(StandardCharsets.UTF_8, StandardCharsets.ISO_8859_1)); } From 7a9738b4bb1870bf3445c91e5810fbc3093251ba Mon Sep 17 00:00:00 2001 From: Afshin Date: Mon, 7 Oct 2019 12:20:54 +0200 Subject: [PATCH 097/199] Enhanced: reformatted code to synchronized it with the article --- .../CharacterEncodingExamplesUnitTest.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java b/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java index 821c434117..39152c6fb1 100644 --- a/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java +++ b/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java @@ -75,23 +75,27 @@ public class CharacterEncodingExamplesUnitTest { @Test public void givenUTF8String_whenDecodeByUS_ASCII_thenIgnoreMalformedInputSequence() throws IOException { - Assertions.assertEquals("The faade pattern is a software design pattern.", - CharacterEncodingExamples.decodeText( - "The façade pattern is a software design pattern.", StandardCharsets.US_ASCII, CodingErrorAction.IGNORE)); + Assertions.assertEquals("The faade pattern is a software design pattern.", CharacterEncodingExamples.decodeText("The façade pattern is a software design pattern.", StandardCharsets.US_ASCII, CodingErrorAction.IGNORE)); } @Test public void givenUTF8String_whenDecodeByUS_ASCII_thenReplaceMalformedInputSequence() throws IOException { - Assertions.assertEquals("The fa��ade pattern is a software design pattern.", + Assertions.assertEquals( + "The fa��ade pattern is a software design pattern.", CharacterEncodingExamples.decodeText( - "The façade pattern is a software design pattern.", StandardCharsets.US_ASCII, CodingErrorAction.REPLACE)); + "The façade pattern is a software design pattern.", + StandardCharsets.US_ASCII, + CodingErrorAction.REPLACE)); } @Test public void givenUTF8String_whenDecodeByUS_ASCII_thenReportMalformedInputSequence() { - Assertions.assertThrows(MalformedInputException.class, + Assertions.assertThrows( + MalformedInputException.class, () -> CharacterEncodingExamples.decodeText( - "The façade pattern is a software design pattern.", StandardCharsets.US_ASCII, CodingErrorAction.REPORT)); + "The façade pattern is a software design pattern.", + StandardCharsets.US_ASCII, + CodingErrorAction.REPORT)); } @Test @@ -99,6 +103,7 @@ public class CharacterEncodingExamplesUnitTest { Path path = Paths.get("src/test/resources/encoding.txt"); List allCandidateCharSets = Arrays.asList( StandardCharsets.US_ASCII, StandardCharsets.UTF_8, StandardCharsets.ISO_8859_1); + List suitableCharsets = new ArrayList<>(); allCandidateCharSets.forEach(charset -> { try { From 3997dcc8e20b27063890d43961abcc5c27df3a7e Mon Sep 17 00:00:00 2001 From: Afshin Date: Mon, 7 Oct 2019 12:22:05 +0200 Subject: [PATCH 098/199] Enhanced: renamed a function --- .../baeldung/encoding/CharacterEncodingExamplesUnitTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java b/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java index 39152c6fb1..fe3867a3c3 100644 --- a/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java +++ b/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java @@ -99,7 +99,7 @@ public class CharacterEncodingExamplesUnitTest { } @Test - public void givenTextFile_whenFindSuitableCandidateEncodings_thenProduceSuitableCandidateEncodings() { + public void givenTextFile_whenLoopOverAllCandidateEncodings_thenProduceSuitableCandidateEncodings() { Path path = Paths.get("src/test/resources/encoding.txt"); List allCandidateCharSets = Arrays.asList( StandardCharsets.US_ASCII, StandardCharsets.UTF_8, StandardCharsets.ISO_8859_1); From 44fb860b403a7d38cfe81d12679cce1c7fe0dde8 Mon Sep 17 00:00:00 2001 From: "m.raheem" Date: Mon, 7 Oct 2019 13:52:10 +0200 Subject: [PATCH 099/199] resetting Distance class --- .../com/baeldung/jackson/enums/Distance.java | 38 ++++--------------- 1 file changed, 7 insertions(+), 31 deletions(-) diff --git a/jackson/src/main/java/com/baeldung/jackson/enums/Distance.java b/jackson/src/main/java/com/baeldung/jackson/enums/Distance.java index fdda32d16c..8026eedc44 100644 --- a/jackson/src/main/java/com/baeldung/jackson/enums/Distance.java +++ b/jackson/src/main/java/com/baeldung/jackson/enums/Distance.java @@ -1,29 +1,20 @@ package com.baeldung.jackson.enums; import com.baeldung.jackson.serialization.DistanceSerializer; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonValue; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; /** * Use @JsonFormat to handle representation of Enum as JSON (available since Jackson 2.1.2) * Use @JsonSerialize to configure a custom Jackson serializer */ -@JsonFormat(shape = JsonFormat.Shape.OBJECT) -//@JsonSerialize(using = DistanceSerializer.class) +// @JsonFormat(shape = JsonFormat.Shape.OBJECT) +@JsonSerialize(using = DistanceSerializer.class) public enum Distance { - @JsonProperty("distance-in-km") - KILOMETER("km", 1000), - @JsonProperty("distance-in-miles") - MILE("miles", 1609.34), METER("meters", 1), INCH("inches", 0.0254), CENTIMETER("cm", 0.01), - MILLIMETER("mm", 0.001); + KILOMETER("km", 1000), MILE("miles", 1609.34), METER("meters", 1), INCH("inches", 0.0254), CENTIMETER("cm", 0.01), MILLIMETER("mm", 0.001); private String unit; private final double meters; - + private Distance(String unit, double meters) { this.unit = unit; this.meters = meters; @@ -32,11 +23,11 @@ public enum Distance { /** * Use @JsonValue to control marshalling output for an enum */ -// @JsonValue + // @JsonValue public double getMeters() { return meters; } - + public String getUnit() { return unit; } @@ -44,7 +35,7 @@ public enum Distance { public void setUnit(String unit) { this.unit = unit; } - + /** * Usage example: Distance.MILE.convertFromMeters(1205.5); */ @@ -60,19 +51,4 @@ public enum Distance { return distanceInMeters * meters; } -// @JsonCreator - public static Distance forValues(@JsonProperty("unit") String unit, @JsonProperty("meters") double meters) { - - for (Distance distance : Distance.values()) { - if (distance.unit.equals(unit) - && Double.compare(distance.meters, meters) == 0) { - - return distance; - } - } - - return null; - - } - } \ No newline at end of file From 06cec4c83a0a076d82e7143b7409d1c55236aa2b Mon Sep 17 00:00:00 2001 From: "m.raheem" Date: Mon, 7 Oct 2019 16:07:17 +0200 Subject: [PATCH 100/199] multiple Distance enum versions --- .../com/baeldung/jackson/entities/City.java | 196 ++++++++++++++++-- .../JacksonEnumDeserializationUnitTest.java | 45 ++++ .../JacksonEnumSerializationUnitTest.java | 44 ---- 3 files changed, 229 insertions(+), 56 deletions(-) create mode 100644 jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumDeserializationUnitTest.java diff --git a/jackson/src/main/java/com/baeldung/jackson/entities/City.java b/jackson/src/main/java/com/baeldung/jackson/entities/City.java index d4c5d715de..9f338acc28 100644 --- a/jackson/src/main/java/com/baeldung/jackson/entities/City.java +++ b/jackson/src/main/java/com/baeldung/jackson/entities/City.java @@ -1,22 +1,194 @@ package com.baeldung.jackson.entities; -import com.baeldung.jackson.enums.Distance; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonValue; public class City { - - private Distance distance; - public Distance getDistance() { - return distance; + public static class CityWithDefaultEnum { + + private Distance distance; + + public Distance getDistance() { + return distance; + } + + public void setDistance(Distance distance) { + this.distance = distance; + } + + public enum Distance { + + KILOMETER("km", 1000), MILE("miles", 1609.34), METER("meters", 1), INCH("inches", 0.0254), CENTIMETER("cm", 0.01), MILLIMETER("mm", 0.001); + + private String unit; + private final double meters; + + private Distance(String unit, double meters) { + this.unit = unit; + this.meters = meters; + } + + public double getMeters() { + return meters; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + } + } + + public static class CityWithJsonCreatorEnum { + + private Distance distance; + + public Distance getDistance() { + return distance; + } + + public void setDistance(Distance distance) { + this.distance = distance; + } + + public enum Distance { + + KILOMETER("km", 1000), MILE("miles", 1609.34), METER("meters", 1), INCH("inches", 0.0254), CENTIMETER("cm", 0.01), MILLIMETER("mm", 0.001); + + private String unit; + private final double meters; + + private Distance(String unit, double meters) { + this.unit = unit; + this.meters = meters; + } + + public double getMeters() { + return meters; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + @JsonCreator + public static Distance forValues(@JsonProperty("unit") String unit, @JsonProperty("meters") double meters) { + + for (Distance distance : Distance.values()) { + if (distance.unit.equals(unit) && Double.compare(distance.meters, meters) == 0) { + + return distance; + } + } + + return null; + + } + } } - public void setDistance(Distance distance) { - this.distance = distance; + public static class CityWithJsonPropertyEnum { + + private Distance distance; + + public Distance getDistance() { + return distance; + } + + public void setDistance(Distance distance) { + this.distance = distance; + } + + public enum Distance { + + @JsonProperty("distance-in-km") + KILOMETER("km", 1000), + + @JsonProperty("distance-in-miles") + MILE("miles", 1609.34), + + @JsonProperty("distance-in-meters") + METER("meters", 1), + + @JsonProperty("distance-in-inches") + INCH("inches", 0.0254), + + @JsonProperty("distance-in-cm") + CENTIMETER("cm", 0.01), + + @JsonProperty("distance-in-mm") + MILLIMETER("mm", 0.001); + + private String unit; + private final double meters; + + private Distance(String unit, double meters) { + this.unit = unit; + this.meters = meters; + } + + public double getMeters() { + return meters; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + } + } + + public static class CityWithJsonValueEnum { + + private Distance distance; + + public Distance getDistance() { + return distance; + } + + public void setDistance(Distance distance) { + this.distance = distance; + } + + public enum Distance { + + KILOMETER("km", 1000), MILE("miles", 1609.34), METER("meters", 1), INCH("inches", 0.0254), CENTIMETER("cm", 0.01), MILLIMETER("mm", 0.001); + + private String unit; + private final double meters; + + private Distance(String unit, double meters) { + this.unit = unit; + this.meters = meters; + } + + @JsonValue + public double getMeters() { + return meters; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + } } - @Override - public String toString() { - return "City [distance=" + distance + "]"; - } - } diff --git a/jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumDeserializationUnitTest.java b/jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumDeserializationUnitTest.java new file mode 100644 index 0000000000..d823bca445 --- /dev/null +++ b/jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumDeserializationUnitTest.java @@ -0,0 +1,45 @@ +package com.baeldung.jackson.enums; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import java.io.IOException; +import org.junit.Test; +import com.baeldung.jackson.entities.City; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.databind.ObjectMapper; + +public class JacksonEnumDeserializationUnitTest { + + @Test + public final void givenEnum_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { + String json = "{\"distance\":\"KILOMETER\"}"; + City.CityWithDefaultEnum city = new ObjectMapper().readValue(json, City.CityWithDefaultEnum.class); + + assertEquals(City.CityWithDefaultEnum.Distance.KILOMETER, city.getDistance()); + } + + @Test + public final void givenEnumWithJsonValue_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { + String json = "{\"distance\": \"0.0254\"}"; + + City.CityWithJsonValueEnum city = new ObjectMapper().readValue(json, City.CityWithJsonValueEnum.class); + assertEquals(City.CityWithJsonValueEnum.Distance.INCH, city.getDistance()); + } + + @Test + public final void givenEnumWithJsonProperty_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { + String json = "{\"distance\": \"distance-in-km\"}"; + + City.CityWithJsonPropertyEnum city = new ObjectMapper().readValue(json, City.CityWithJsonPropertyEnum.class); + assertEquals(City.CityWithJsonPropertyEnum.Distance.KILOMETER, city.getDistance()); + + } + + @Test + public final void givenEnumWithJsonCreator_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { + String json = "{\"distance\": {\"unit\":\"miles\",\"meters\":1609.34}}"; + + City.CityWithJsonCreatorEnum city = new ObjectMapper().readValue(json, City.CityWithJsonCreatorEnum.class); + assertEquals(City.CityWithJsonCreatorEnum.Distance.MILE, city.getDistance()); + } + +} diff --git a/jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumSerializationUnitTest.java b/jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumSerializationUnitTest.java index 3108773a00..d4fb2401ed 100644 --- a/jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumSerializationUnitTest.java +++ b/jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumSerializationUnitTest.java @@ -1,17 +1,10 @@ package com.baeldung.jackson.enums; import static org.hamcrest.Matchers.containsString; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertThat; -import static org.junit.jupiter.api.Assertions.assertEquals; - import java.io.IOException; -import org.junit.Ignore; import org.junit.Test; - -import com.baeldung.jackson.entities.City; import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; public class JacksonEnumSerializationUnitTest { @@ -22,42 +15,5 @@ public class JacksonEnumSerializationUnitTest { assertThat(dtoAsString, containsString("1609.34")); } - - @Test - @Ignore - public final void givenEnum_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { - String json = "{\"distance\":\"KILOMETER\"}"; - City city = new ObjectMapper().readValue(json, City.class); - - assertEquals(Distance.KILOMETER, city.getDistance()); - } - - @Test - @Ignore - public final void givenEnumWithJsonValue_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { - String json = "{\"JacksonDeserializationUnitTestdistance\": \"0.0254\"}"; - - City city = new ObjectMapper().readValue(json, City.class); - assertEquals(Distance.INCH, city.getDistance()); - } - - @Test - public final void givenEnumWithGsonProperty_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { - String json = "{\"distance\": \"distance-in-km\"}"; - - City city = new ObjectMapper().readValue(json, City.class); - assertEquals(Distance.KILOMETER, city.getDistance()); - - } - - @Test - @Ignore - public final void givenEnumWithGsonCreator_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { - String json = "{\"distance\": {\"unit\":\"miles\",\"meters\":1609.34}}"; - - City city = new ObjectMapper().readValue(json, City.class); - assertEquals(Distance.MILE, city.getDistance()); - System.out.println(city); - } } From 76bcf49a7ab52911889c18ab5d89cbedf54b9e5b Mon Sep 17 00:00:00 2001 From: Thabo Ntsoko Date: Mon, 7 Oct 2019 18:02:32 +0200 Subject: [PATCH 101/199] java-file-class demo code --- .../baeldung/file/FileClassDemoUnitTest.java | 179 ++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 core-java-modules/core-java-io-2/src/test/java/com/baeldung/file/FileClassDemoUnitTest.java diff --git a/core-java-modules/core-java-io-2/src/test/java/com/baeldung/file/FileClassDemoUnitTest.java b/core-java-modules/core-java-io-2/src/test/java/com/baeldung/file/FileClassDemoUnitTest.java new file mode 100644 index 0000000000..b60a12d208 --- /dev/null +++ b/core-java-modules/core-java-io-2/src/test/java/com/baeldung/file/FileClassDemoUnitTest.java @@ -0,0 +1,179 @@ +package com.baeldung.file; + +import org.junit.Test; + +import java.io.*; +import java.util.Arrays; +import java.util.List; + +import static org.junit.Assert.*; + +public class FileClassDemoUnitTest { + + @Test + public void givenDirectoryCreated_whenMkdirIsInvoked_thenDirectoryIsDeleted() { + File directory = new File("testDirectory"); + if (!directory.isDirectory() || !directory.exists()) { + directory.mkdir(); + } + + assertTrue(directory.delete()); + } + + @Test + public void givenFileCreated_whenCreateNewFileIsInvoked_thenFileIsDeleted() throws IOException { + File file = new File("testFile.txt"); + if (!file.isFile() || !file.exists()) { + file.createNewFile(); + } + + assertTrue(file.delete()); + } + + + @Test + public void givenFileCreated_whenCreateNewFileInvoked_thenMetadataIsAsExpected() throws IOException { + + // different Operating systems have different separator characters + String separatorCharacter = System.getProperty("file.separator"); + + File parentDirectory = makeDirectory("filesDirectory"); + + File childFile = new File(parentDirectory, "file1.txt"); + childFile.createNewFile(); + + assertTrue(childFile.getName().equals("file1.txt")); + assertTrue(childFile.getParentFile().getName().equals(parentDirectory.getName())); + assertTrue(childFile.getPath().equals(parentDirectory.getPath() + separatorCharacter + "file1.txt")); + + removeDirectory(parentDirectory); + } + + + @Test(expected = FileNotFoundException.class) + public void givenReadOnlyFileCreated_whenCreateNewFileInvoked_thenFileCannotBeWrittenTo() throws IOException { + File parentDirectory = makeDirectory("filesDirectory"); + + File childFile = new File(parentDirectory, "file1.txt"); + childFile.createNewFile(); + + childFile.setWritable(false); + + FileOutputStream fos = new FileOutputStream(childFile); + fos.write("Hello World".getBytes()); // write operation + fos.flush(); + fos.close(); + + removeDirectory(parentDirectory); + } + + @Test(expected = FileNotFoundException.class) + public void givenWriteOnlyFileCreated_whenCreateNewFileInvoked_thenFileCannotBeReadFrom() throws IOException { + File parentDirectory = makeDirectory("filesDirectory"); + + File childFile = new File(parentDirectory, "file1.txt"); + childFile.createNewFile(); + + childFile.setReadable(false); + + FileInputStream fis = new FileInputStream(childFile); + fis.read(); // read operation + fis.close(); + + removeDirectory(parentDirectory); + } + + @Test + public void givenFilesCreatedInDirectory_whenCreateNewFileInvoked_thenTheyCanBeListedAsExpected() throws IOException { + File directory = makeDirectory("filtersDirectory"); + + File csvFile = new File(directory, "csvFile.csv"); + csvFile.createNewFile(); + + File txtFile = new File(directory, "txtFile.txt"); + txtFile.createNewFile(); + + //normal listing + assertEquals(2, directory.list().length); + + //filtered listing + FilenameFilter csvFilter = (dir, ext) -> ext.endsWith(".csv"); + assertEquals(1, directory.list(csvFilter).length); + + removeDirectory(directory); + } + + @Test + public void givenDirectoryIsCreated_whenMkdirInvoked_thenDirectoryCanBeRenamed() { + + File source = makeDirectory("source"); + File destination = makeDirectory("destination"); + source.renameTo(destination); + + assertFalse(source.isDirectory()); + assertTrue(destination.isDirectory()); + + removeDirectory(destination); + } + + @Test + public void givenDataIsWrittenToFile_whenWriteIsInvoked_thenFreeSpaceOnSystemDecreases() throws IOException { + + String name = System.getProperty("user.home") + System.getProperty("file.separator") + "test"; + File testDir = makeDirectory(name); + File sample = new File(testDir, "sample.txt"); + + long freeSpaceBeforeWrite = testDir.getFreeSpace(); + writeSampleDataToFile(sample); + + long freeSpaceAfterWrite = testDir.getFreeSpace(); + assertTrue(freeSpaceAfterWrite < freeSpaceBeforeWrite); + + removeDirectory(testDir); + } + + private static File makeDirectory(String directoryName) { + File directory = new File(directoryName); + directory.mkdir(); + if (directory.isDirectory()) { + return directory; + } + throw new RuntimeException("Directory not created for " + directoryName); + } + + private static void removeDirectory(File directory) { + // make sure you don't delete your home directory here + if (directory.getPath().equals(System.getProperty("user.home"))) { + return; + } + + // remove directory and its files from system + if (directory != null && directory.exists()) { + // delete all files inside the directory + File[] filesInDirectory = directory.listFiles(); + if (filesInDirectory != null) { + List files = Arrays.asList(filesInDirectory); + files.forEach(f -> deleteFile(f)); + } + + // finally delete the directory itself + deleteFile(directory); + } + } + + private static void deleteFile(File fileToDelete) { + if (fileToDelete != null && fileToDelete.exists()) { + fileToDelete.delete(); + } + } + + private static void writeSampleDataToFile(File sample) throws IOException { + //write sample text to file + try (FileOutputStream out = new FileOutputStream(sample)) { + for (int i = 1; i <= 100000; i++) { + String sampleText = "Sample line number " + i + "\n"; + out.write(sampleText.getBytes()); + } + } + } +} \ No newline at end of file From 07fae6db143b5bcb889c3e4b6714d29d3beeaab2 Mon Sep 17 00:00:00 2001 From: Rui Vilao Date: Mon, 7 Oct 2019 18:20:12 +0200 Subject: [PATCH 102/199] Renames backoff-jitter to a broader name: design-pattern-cloud. --- .../{backoff-jitter => design-patterns-cloud}/README.md | 0 patterns/{backoff-jitter => design-patterns-cloud}/pom.xml | 6 +++--- .../com/baeldung/backoff/jitter/BackoffWithJitterTest.java | 0 patterns/pom.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) rename patterns/{backoff-jitter => design-patterns-cloud}/README.md (100%) rename patterns/{backoff-jitter => design-patterns-cloud}/pom.xml (95%) rename patterns/{backoff-jitter => design-patterns-cloud}/src/test/java/com/baeldung/backoff/jitter/BackoffWithJitterTest.java (100%) diff --git a/patterns/backoff-jitter/README.md b/patterns/design-patterns-cloud/README.md similarity index 100% rename from patterns/backoff-jitter/README.md rename to patterns/design-patterns-cloud/README.md diff --git a/patterns/backoff-jitter/pom.xml b/patterns/design-patterns-cloud/pom.xml similarity index 95% rename from patterns/backoff-jitter/pom.xml rename to patterns/design-patterns-cloud/pom.xml index 739aa87873..b5265a1f94 100644 --- a/patterns/backoff-jitter/pom.xml +++ b/patterns/design-patterns-cloud/pom.xml @@ -4,10 +4,10 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.baeldung - backoff-jitter + design-patterns-cloud 1.0.0-SNAPSHOT pom - backoff-jitter + design-patterns-cloud @@ -52,4 +52,4 @@ 0.16.0 - \ No newline at end of file + diff --git a/patterns/backoff-jitter/src/test/java/com/baeldung/backoff/jitter/BackoffWithJitterTest.java b/patterns/design-patterns-cloud/src/test/java/com/baeldung/backoff/jitter/BackoffWithJitterTest.java similarity index 100% rename from patterns/backoff-jitter/src/test/java/com/baeldung/backoff/jitter/BackoffWithJitterTest.java rename to patterns/design-patterns-cloud/src/test/java/com/baeldung/backoff/jitter/BackoffWithJitterTest.java diff --git a/patterns/pom.xml b/patterns/pom.xml index 196c3c3319..331415bf5b 100644 --- a/patterns/pom.xml +++ b/patterns/pom.xml @@ -24,7 +24,7 @@ design-patterns-structural solid dip - backoff-jitter + design-patterns-cloud From c73001019caaf7cbeded7b64e8065ec9a08f20bc Mon Sep 17 00:00:00 2001 From: Yavuz Tas <12643010+yavuztas@users.noreply.github.com> Date: Mon, 7 Oct 2019 20:39:22 +0200 Subject: [PATCH 103/199] PR-BAEL-2816 (#7733) * implement hexagonal architecture pattern * Add source code for article BAEL-2463 * add source code for article BAEL-2816 * remove irrelevant code * Remove unnecessary default constructors * Refactor equals and hashCode methods in Java 7+ way * Remove equals and hashCode implementations * Change test methods conventional order * change saveRelation method to private To make the code more clean and readable --- .../hibernate/wherejointable/Group.java | 56 +++++++++ .../hibernate/wherejointable/User.java | 74 +++++++++++ .../wherejointable/UserGroupRelation.java | 31 +++++ .../wherejointable/UserGroupRole.java | 7 ++ ...ibernateWhereJoinTableIntegrationTest.java | 118 ++++++++++++++++++ 5 files changed, 286 insertions(+) create mode 100644 persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/Group.java create mode 100644 persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/User.java create mode 100644 persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/UserGroupRelation.java create mode 100644 persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/UserGroupRole.java create mode 100644 persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/wherejointable/HibernateWhereJoinTableIntegrationTest.java diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/Group.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/Group.java new file mode 100644 index 0000000000..04684eceac --- /dev/null +++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/Group.java @@ -0,0 +1,56 @@ +package com.baeldung.hibernate.wherejointable; + +import java.util.ArrayList; +import java.util.List; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.ManyToMany; + +@Entity(name = "e_group") +public class Group { + + @Id + @GeneratedValue + private Long id; + + private String name; + + @ManyToMany(mappedBy = "groups") + private List users = new ArrayList<>(); + + public Group(String name) { + this.name = name; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getUsers() { + return users; + } + + public void setUsers(List users) { + this.users = users; + } + + @Override + public String toString() { + return "Group [name=" + name + "]"; + } + +} diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/User.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/User.java new file mode 100644 index 0000000000..7fc077eeb2 --- /dev/null +++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/User.java @@ -0,0 +1,74 @@ +package com.baeldung.hibernate.wherejointable; + +import java.util.ArrayList; +import java.util.List; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.JoinTable; +import javax.persistence.ManyToMany; + +import org.hibernate.annotations.WhereJoinTable; + +@Entity +public class User { + + @Id + @GeneratedValue + private Long id; + + private String name; + + @ManyToMany + @JoinTable(name = "r_user_group", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "group_id")) + private List groups = new ArrayList<>(); + + @WhereJoinTable(clause = "role='MODERATOR'") + @ManyToMany + @JoinTable(name = "r_user_group", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "group_id")) + private List moderatorGroups = new ArrayList<>(); + + public User(String name) { + this.name = name; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getGroups() { + return groups; + } + + public void setGroups(List groups) { + this.groups = groups; + } + + public void setModeratorGroups(List moderatorGroups) { + this.moderatorGroups = moderatorGroups; + } + + public List getModeratorGroups() { + return moderatorGroups; + } + + @Override + public String toString() { + return "User [name=" + name + "]"; + } + +} diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/UserGroupRelation.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/UserGroupRelation.java new file mode 100644 index 0000000000..00dd19699c --- /dev/null +++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/UserGroupRelation.java @@ -0,0 +1,31 @@ +package com.baeldung.hibernate.wherejointable; + +import java.io.Serializable; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; +import javax.persistence.Id; + +@Entity(name = "r_user_group") +public class UserGroupRelation implements Serializable { + + @Id + @Column(name = "user_id", insertable = false, updatable = false) + private final Long userId; + + @Id + @Column(name = "group_id", insertable = false, updatable = false) + private final Long groupId; + + @Enumerated(EnumType.STRING) + private final UserGroupRole role; + + public UserGroupRelation(Long userId, Long groupId, UserGroupRole role) { + this.userId = userId; + this.groupId = groupId; + this.role = role; + } + +} diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/UserGroupRole.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/UserGroupRole.java new file mode 100644 index 0000000000..62d9cb28ea --- /dev/null +++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/wherejointable/UserGroupRole.java @@ -0,0 +1,7 @@ +package com.baeldung.hibernate.wherejointable; + +public enum UserGroupRole { + + MEMBER, MODERATOR + +} diff --git a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/wherejointable/HibernateWhereJoinTableIntegrationTest.java b/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/wherejointable/HibernateWhereJoinTableIntegrationTest.java new file mode 100644 index 0000000000..93783216ce --- /dev/null +++ b/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/wherejointable/HibernateWhereJoinTableIntegrationTest.java @@ -0,0 +1,118 @@ +package com.baeldung.hibernate.wherejointable; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.util.List; + +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.boot.registry.StandardServiceRegistryBuilder; +import org.hibernate.cfg.Configuration; +import org.hibernate.dialect.H2Dialect; +import org.hibernate.service.ServiceRegistry; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +public class HibernateWhereJoinTableIntegrationTest { + + private static SessionFactory sessionFactory; + + private Session session; + + /** + * Test data + */ + private User user1; + private User user2; + private User user3; + private Group group1; + private Group group2; + + @BeforeClass + public static void beforeTests() { + Configuration configuration = new Configuration().addAnnotatedClass(User.class) + .addAnnotatedClass(Group.class) + .addAnnotatedClass(UserGroupRelation.class) + .setProperty("hibernate.dialect", H2Dialect.class.getName()) + .setProperty("hibernate.connection.driver_class", org.h2.Driver.class.getName()) + .setProperty("hibernate.connection.url", "jdbc:h2:mem:test") + .setProperty("hibernate.connection.username", "sa") + .setProperty("hibernate.connection.password", "") + .setProperty("hibernate.hbm2ddl.auto", "update"); + + ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() + .applySettings(configuration.getProperties()) + .build(); + + sessionFactory = configuration.buildSessionFactory(serviceRegistry); + } + + @Before + public void setUp() { + session = sessionFactory.openSession(); + session.beginTransaction(); + + user1 = new User("user1"); + user2 = new User("user2"); + user3 = new User("user3"); + + group1 = new Group("group1"); + group2 = new Group("group2"); + + session.save(group1); + session.save(group2); + + session.save(user1); + session.save(user2); + session.save(user3); + + saveRelation(user1, group1, UserGroupRole.MODERATOR); + saveRelation(user2, group1, UserGroupRole.MODERATOR); + saveRelation(user3, group1, UserGroupRole.MEMBER); + + saveRelation(user1, group2, UserGroupRole.MEMBER); + saveRelation(user2, group2, UserGroupRole.MODERATOR); + } + + @After + public void tearDown() { + session.getTransaction().commit(); + session.close(); + } + + @AfterClass + public static void afterTests() { + sessionFactory.close(); + } + + @Test + public void givenUser1_getGroups_returnsAllGroups() { + List groups = user1.getGroups(); + assertEquals(2, groups.size()); + + assertTrue(groups.contains(group1)); + assertTrue(groups.contains(group2)); + } + + @Test + public void givenUser1_getModeratorGroups_returnsOnlyModeratorGroups() { + List groups = user1.getModeratorGroups(); + assertEquals(1, groups.size()); + + assertTrue(groups.contains(group1)); + } + + private void saveRelation(User user, Group group, UserGroupRole role) { + UserGroupRelation relation = new UserGroupRelation(user.getId(), group.getId(), role); + + session.save(relation); + session.flush(); + session.refresh(user); + session.refresh(group); + } + +} From a2e57b357786430143c1057da765494688a69d1b Mon Sep 17 00:00:00 2001 From: "m.raheem" Date: Mon, 7 Oct 2019 22:46:32 +0200 Subject: [PATCH 104/199] custom deserializer --- .../enums/CustomEnumDeserializer.java | 44 +++++++++++++++++++ .../com/baeldung/jackson/entities/City.java | 41 +++++++++++++++++ .../JacksonEnumDeserializationUnitTest.java | 7 +++ 3 files changed, 92 insertions(+) create mode 100644 jackson/src/main/java/com/baeldung/jackson/deserialization/enums/CustomEnumDeserializer.java diff --git a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/CustomEnumDeserializer.java b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/CustomEnumDeserializer.java new file mode 100644 index 0000000000..3b99490e0b --- /dev/null +++ b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/CustomEnumDeserializer.java @@ -0,0 +1,44 @@ +package com.baeldung.jackson.deserialization.enums; + +import java.io.IOException; +import com.baeldung.jackson.entities.City; +import com.baeldung.jackson.entities.City.CityWithCustomDeserializationEnum.Distance; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; + +public class CustomEnumDeserializer extends StdDeserializer { + + private static final long serialVersionUID = -1166032307856492833L; + + public CustomEnumDeserializer() { + this(null); + } + + public CustomEnumDeserializer(Class vc) { + super(vc); + } + + @Override + public City.CityWithCustomDeserializationEnum.Distance deserialize(final JsonParser jsonParser, final DeserializationContext ctxt) throws IOException, JsonProcessingException { + + final JsonNode node = jsonParser.getCodec().readTree(jsonParser); + + String unit = node.get("unit").asText(); + double meters = node.get("meters").asDouble(); + + for (Distance distance : Distance.values()) { + + if (distance.getUnit().equals(unit) && + Double.compare(distance.getMeters(), meters) == 0) { + + return distance; + } + } + + return null; + } + +} diff --git a/jackson/src/main/java/com/baeldung/jackson/entities/City.java b/jackson/src/main/java/com/baeldung/jackson/entities/City.java index 9f338acc28..42911dc798 100644 --- a/jackson/src/main/java/com/baeldung/jackson/entities/City.java +++ b/jackson/src/main/java/com/baeldung/jackson/entities/City.java @@ -1,8 +1,10 @@ package com.baeldung.jackson.entities; +import com.baeldung.jackson.deserialization.enums.CustomEnumDeserializer; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; public class City { @@ -191,4 +193,43 @@ public class City { } } + public static class CityWithCustomDeserializationEnum { + + private Distance distance; + + public Distance getDistance() { + return distance; + } + + public void setDistance(Distance distance) { + this.distance = distance; + } + + @JsonDeserialize(using = CustomEnumDeserializer.class) + public enum Distance { + + KILOMETER("km", 1000), MILE("miles", 1609.34), METER("meters", 1), INCH("inches", 0.0254), CENTIMETER("cm", 0.01), MILLIMETER("mm", 0.001); + + private String unit; + private final double meters; + + private Distance(String unit, double meters) { + this.unit = unit; + this.meters = meters; + } + + public double getMeters() { + return meters; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + } + } + } diff --git a/jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumDeserializationUnitTest.java b/jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumDeserializationUnitTest.java index d823bca445..b4d63c181e 100644 --- a/jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumDeserializationUnitTest.java +++ b/jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumDeserializationUnitTest.java @@ -42,4 +42,11 @@ public class JacksonEnumDeserializationUnitTest { assertEquals(City.CityWithJsonCreatorEnum.Distance.MILE, city.getDistance()); } + @Test + public final void givenEnumWithCustomDeserializer_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { + String json = "{\"distance\": {\"unit\":\"miles\",\"meters\":1609.34}}"; + + City.CityWithCustomDeserializationEnum city = new ObjectMapper().readValue(json, City.CityWithCustomDeserializationEnum.class); + assertEquals(City.CityWithCustomDeserializationEnum.Distance.MILE, city.getDistance()); + } } From 9490306d8d8ee3bb3c78f1d70bcd804c9fbe9bc0 Mon Sep 17 00:00:00 2001 From: Kyle Doyle Date: Mon, 7 Oct 2019 22:23:44 -0400 Subject: [PATCH 105/199] Bael-624 - Code Review fixes --- pom.xml | 1 + wildfly/pom.xml | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index d15e7f22ff..53b2bb71ba 100644 --- a/pom.xml +++ b/pom.xml @@ -603,6 +603,7 @@ spring-boot-nashorn java-blockchain + wildfly diff --git a/wildfly/pom.xml b/wildfly/pom.xml index bd2c93a633..d7dd1e835b 100644 --- a/wildfly/pom.xml +++ b/wildfly/pom.xml @@ -4,8 +4,9 @@ 4.0.0 org.springframework - gs-spring-boot-wildfly + wildfly 0.1.0 + wildfly war @@ -38,11 +39,11 @@ spring-boot-starter-test test - - javax.servlet - javax.servlet-api - provided - + + javax.servlet + javax.servlet-api + provided + From cd0d79d8f64396ab831dfcbc8ffe3cf061cf01e6 Mon Sep 17 00:00:00 2001 From: Anshul BANSAL Date: Tue, 8 Oct 2019 15:40:45 +0300 Subject: [PATCH 106/199] BAEL-1871 - Spring Data Geode --- persistence-modules/pom.xml | 1 + persistence-modules/spring-data-geode/pom.xml | 94 +++++++++++++++++++ .../springdatageode/app/ClientCacheApp.java | 32 +++++++ .../controller/AppController.java | 37 ++++++++ .../springdatageode/domain/Author.java | 58 ++++++++++++ .../repo/AuthorRepository.java | 12 +++ .../service/AuthorService.java | 14 +++ .../src/main/resources/application.properties | 1 + .../src/main/resources/logback.xml | 13 +++ 9 files changed, 262 insertions(+) create mode 100644 persistence-modules/spring-data-geode/pom.xml create mode 100644 persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/app/ClientCacheApp.java create mode 100644 persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/controller/AppController.java create mode 100644 persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/domain/Author.java create mode 100644 persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/repo/AuthorRepository.java create mode 100644 persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/service/AuthorService.java create mode 100644 persistence-modules/spring-data-geode/src/main/resources/application.properties create mode 100644 persistence-modules/spring-data-geode/src/main/resources/logback.xml diff --git a/persistence-modules/pom.xml b/persistence-modules/pom.xml index 932b62a235..f57566b879 100644 --- a/persistence-modules/pom.xml +++ b/persistence-modules/pom.xml @@ -48,6 +48,7 @@ spring-data-eclipselink spring-data-elasticsearch spring-data-gemfire + spring-data-geode spring-data-jpa spring-data-keyvalue spring-data-mongodb diff --git a/persistence-modules/spring-data-geode/pom.xml b/persistence-modules/spring-data-geode/pom.xml new file mode 100644 index 0000000000..abd3049755 --- /dev/null +++ b/persistence-modules/spring-data-geode/pom.xml @@ -0,0 +1,94 @@ + + + 4.0.0 + spring-data-geode + spring-data-geode + jar + Intro to Spring Data Geode + + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + ../../ + + + + + org.springframework.boot + spring-boot-starter + 2.1.9.RELEASE + + + org.springframework.boot + spring-boot-starter-logging + + + + + org.springframework.boot + spring-boot-starter-web + ${spring-boot-version} + + + org.springframework.boot + spring-boot-starter-logging + + + + + org.springframework.geode + spring-geode-starter + ${spring-geode-starter-version} + + + + org.springframework.boot + spring-boot-autoconfigure + ${spring-boot-version} + + + org.springframework.boot + spring-boot-starter-test + ${spring-boot-version} + test + + + + + ${project.artifactId} + + + com.mysema.maven + maven-apt-plugin + 1.0 + + + generate-sources + + process + + + target/generated-sources + com.querydsl.apt.jpa.JPAAnnotationProcessor + + + + + + org.springframework.boot + spring-boot-maven-plugin + ${spring-boot-version} + + + + + + 2.1.9.RELEASE + UTF-8 + com.baeldung.springdatageode.app.ClientCacheApp + 1.1.1.RELEASE + + + \ No newline at end of file diff --git a/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/app/ClientCacheApp.java b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/app/ClientCacheApp.java new file mode 100644 index 0000000000..6e9a33e953 --- /dev/null +++ b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/app/ClientCacheApp.java @@ -0,0 +1,32 @@ +package com.baeldung.springdatageode.app; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.data.gemfire.config.annotation.ClientCacheApplication; +import org.springframework.data.gemfire.config.annotation.EnableClusterConfiguration; +import org.springframework.data.gemfire.config.annotation.EnableContinuousQueries; +import org.springframework.data.gemfire.config.annotation.EnableEntityDefinedRegions; +import org.springframework.data.gemfire.config.annotation.EnableIndexing; +import org.springframework.data.gemfire.repository.config.EnableGemfireRepositories; + +import com.baeldung.springdatageode.controller.AppController; +import com.baeldung.springdatageode.domain.Author; +import com.baeldung.springdatageode.repo.AuthorRepository; +import com.baeldung.springdatageode.service.AuthorService; + +@SpringBootApplication +@ClientCacheApplication(subscriptionEnabled = true) +@EnableEntityDefinedRegions(basePackageClasses = Author.class) +@EnableIndexing +@EnableGemfireRepositories(basePackageClasses = AuthorRepository.class) +@ComponentScan(basePackageClasses = {AppController.class, AuthorService.class}) +@EnableClusterConfiguration(useHttp = true, requireHttps=false) +@EnableContinuousQueries +public class ClientCacheApp { + + public static void main(String[] args) { + SpringApplication.run(ClientCacheApp.class, args); + } + +} diff --git a/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/controller/AppController.java b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/controller/AppController.java new file mode 100644 index 0000000000..32f931820a --- /dev/null +++ b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/controller/AppController.java @@ -0,0 +1,37 @@ +package com.baeldung.springdatageode.controller; + +import java.util.Optional; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.baeldung.springdatageode.domain.Author; +import com.baeldung.springdatageode.repo.AuthorRepository; + +@RestController +@CrossOrigin +public class AppController { + + @Autowired + private AuthorRepository authorRepositoryImpl; + + @PostMapping(path = "/author" ) + public ResponseEntity addAuthor(@RequestBody Author author) throws Exception { + authorRepositoryImpl.save(author); + return new ResponseEntity<>("OK", HttpStatus.OK); + } + + @GetMapping(path = "/author" ) + public ResponseEntity getAuthor(@RequestParam("id") String id) throws Exception { + Optional author = authorRepositoryImpl.findById(Long.parseLong(id)); + return new ResponseEntity<>(author.isPresent() ? author.get() : null, HttpStatus.OK); + } + +} diff --git a/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/domain/Author.java b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/domain/Author.java new file mode 100644 index 0000000000..4a2e58ff34 --- /dev/null +++ b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/domain/Author.java @@ -0,0 +1,58 @@ +package com.baeldung.springdatageode.domain; + +import org.springframework.data.annotation.Id; +import org.springframework.data.gemfire.mapping.annotation.Indexed; +import org.springframework.data.gemfire.mapping.annotation.Region; + +@Region(name = "Authors") +public class Author { + + @Id + private Long id; + + private String firstName; + + private String lastName; + + @Indexed + private int age; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + @Override + public String toString() { + return this.firstName + " " + this.lastName + ", " + this.age + " years old"; + } + +} + diff --git a/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/repo/AuthorRepository.java b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/repo/AuthorRepository.java new file mode 100644 index 0000000000..3a311039a4 --- /dev/null +++ b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/repo/AuthorRepository.java @@ -0,0 +1,12 @@ +package com.baeldung.springdatageode.repo; + +import com.baeldung.springdatageode.domain.Author; + +import java.util.Optional; + +import org.springframework.data.repository.CrudRepository; + +public interface AuthorRepository extends CrudRepository { + + Optional findById(Long id); +} diff --git a/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/service/AuthorService.java b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/service/AuthorService.java new file mode 100644 index 0000000000..1bf4cbaba1 --- /dev/null +++ b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/service/AuthorService.java @@ -0,0 +1,14 @@ +package com.baeldung.springdatageode.service; + +import org.apache.geode.cache.query.CqEvent; +import org.springframework.data.gemfire.listener.annotation.ContinuousQuery; +import org.springframework.stereotype.Service; + +@Service +public class AuthorService { + + @ContinuousQuery(query = "SELECT * FROM /Authors a WHERE a.id = 1") + public void process(CqEvent event) { + System.out.println("Author #" + event.getKey() + " updated to " + event.getNewValue()); + } +} diff --git a/persistence-modules/spring-data-geode/src/main/resources/application.properties b/persistence-modules/spring-data-geode/src/main/resources/application.properties new file mode 100644 index 0000000000..7b7cb5a37b --- /dev/null +++ b/persistence-modules/spring-data-geode/src/main/resources/application.properties @@ -0,0 +1 @@ +server.port=9091 \ No newline at end of file diff --git a/persistence-modules/spring-data-geode/src/main/resources/logback.xml b/persistence-modules/spring-data-geode/src/main/resources/logback.xml new file mode 100644 index 0000000000..7d900d8ea8 --- /dev/null +++ b/persistence-modules/spring-data-geode/src/main/resources/logback.xml @@ -0,0 +1,13 @@ + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + \ No newline at end of file From e94f7c56c2d1507a21fe447afee26efeb3ad0527 Mon Sep 17 00:00:00 2001 From: enpy303 Date: Tue, 8 Oct 2019 13:01:50 +0200 Subject: [PATCH 107/199] java config added --- .../com/baeldung/tx/TxIntegrationConfig.java | 156 ++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java diff --git a/spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java b/spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java new file mode 100644 index 0000000000..308b00d8e9 --- /dev/null +++ b/spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java @@ -0,0 +1,156 @@ +package com.baeldung.tx; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.support.AbstractApplicationContext; +import org.springframework.expression.common.LiteralExpression; +import org.springframework.integration.annotation.InboundChannelAdapter; +import org.springframework.integration.annotation.Poller; +import org.springframework.integration.annotation.ServiceActivator; +import org.springframework.integration.annotation.Transformer; +import org.springframework.integration.channel.DirectChannel; +import org.springframework.integration.config.EnableIntegration; +import org.springframework.integration.core.MessageSource; +import org.springframework.integration.dsl.Pollers; +import org.springframework.integration.file.FileReadingMessageSource; +import org.springframework.integration.file.filters.SimplePatternFileListFilter; +import org.springframework.integration.file.transformer.FileToStringTransformer; +import org.springframework.integration.scheduling.PollerMetadata; +import org.springframework.integration.transaction.DefaultTransactionSynchronizationFactory; +import org.springframework.integration.transaction.ExpressionEvaluatingTransactionSynchronizationProcessor; +import org.springframework.integration.transaction.TransactionInterceptorBuilder; +import org.springframework.integration.transaction.TransactionSynchronizationFactory; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType; +import org.springframework.messaging.MessageChannel; +import org.springframework.transaction.interceptor.TransactionInterceptor; + +import javax.sql.DataSource; +import java.io.File; +import java.util.Scanner; + +@Configuration +@EnableIntegration +public class TxIntegrationConfig { + + private final Logger log = LoggerFactory.getLogger(this.getClass()); + + public final String INPUT_DIR = "/tmp/tx/"; + public final String FILE_PATTERN = "*.txt"; + + @Autowired + private JdbcTemplate jdbcTemplate; + + @Autowired + private DataSource dataSource; + + @Autowired + private TransactionSynchronizationFactory transactionSynchronizationFactory; + + @Autowired + DataSourceTransactionManager txManager; + + @Bean + public MessageChannel inputChannel() { + return new DirectChannel(); + } + + @Bean + @InboundChannelAdapter(value = "inputChannel", poller = @Poller(value = "pollerMetadata")) + public MessageSource fileReadingMessageSource() { + FileReadingMessageSource sourceReader = new FileReadingMessageSource(); + sourceReader.setDirectory(new File(INPUT_DIR)); + sourceReader.setFilter(new SimplePatternFileListFilter(FILE_PATTERN)); + return sourceReader; + } + + @Bean + public PollerMetadata pollerMetadata() { + return Pollers + .fixedDelay(5000) + .advice(transactionInterceptor()) + .transactionSynchronizationFactory(transactionSynchronizationFactory) + .get(); + } + + private TransactionInterceptor transactionInterceptor() { + return new TransactionInterceptorBuilder() + .transactionManager(txManager) + .build(); + } + + @Bean + public TransactionSynchronizationFactory transactionSynchronizationFactory(){ + ExpressionEvaluatingTransactionSynchronizationProcessor transactionSynchronizationProcessor = + new ExpressionEvaluatingTransactionSynchronizationProcessor(); + transactionSynchronizationProcessor.setAfterCommitExpression( + new LiteralExpression("payload.renameTo(new java.io.File(payload.absolutePath + '.PASSED'))")); + transactionSynchronizationProcessor.setAfterRollbackExpression( + new LiteralExpression("payload.renameTo(new java.io.File(payload.absolutePath + '.FAILED'))")); + return new DefaultTransactionSynchronizationFactory(transactionSynchronizationProcessor); + } + + @Bean + @Transformer(inputChannel = "inputChannel", outputChannel = "toServiceChannel") + public FileToStringTransformer fileToStringTransformer() { + return new FileToStringTransformer(); + } + + @ServiceActivator(inputChannel = "toServiceChannel") + public void serviceActivator(String payload) { + + jdbcTemplate.update("insert into STUDENT values(?)", payload); + + if (payload.toLowerCase().startsWith("fail")) { + log.error("Service failure. Test result: {} ", payload); + throw new RuntimeException("Service failure."); + } + + log.info("Service success. Test result: {}", payload); + } + + @Bean + public JdbcTemplate jdbcTemplate(DataSource dataSource) { + return new JdbcTemplate(dataSource); + } + + @Bean + public DataSource dataSource() { + return new EmbeddedDatabaseBuilder() + .setType(EmbeddedDatabaseType.H2) + .addScript("classpath:table.sql") + .build(); + } + + @Bean + public DataSourceTransactionManager txManager() { + return new DataSourceTransactionManager(dataSource); + } + + public static void main(final String... args) { + final AbstractApplicationContext context = new AnnotationConfigApplicationContext(TxIntegrationConfig.class); + context.registerShutdownHook(); + + final Scanner scanner = new Scanner(System.in); + System.out.print("Integration flow is running. Type q + to quit "); + while (true) { + final String input = scanner.nextLine(); + if ("q".equals(input.trim())) { + context.close(); + scanner.close(); + break; + } + } + System.exit(0); + } + +} + + + From e07705f3278efc25fc175f7c756244198dab6859 Mon Sep 17 00:00:00 2001 From: enpy Date: Tue, 8 Oct 2019 14:56:28 +0200 Subject: [PATCH 108/199] Update spring-integration/src/main/java/com/baeldung/tx/ServiceActivator.java Co-Authored-By: KevinGilmore --- .../src/main/java/com/baeldung/tx/ServiceActivator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-integration/src/main/java/com/baeldung/tx/ServiceActivator.java b/spring-integration/src/main/java/com/baeldung/tx/ServiceActivator.java index 874d5d6957..56399c653f 100755 --- a/spring-integration/src/main/java/com/baeldung/tx/ServiceActivator.java +++ b/spring-integration/src/main/java/com/baeldung/tx/ServiceActivator.java @@ -17,7 +17,7 @@ public class ServiceActivator { this.jdbcTemplate.update("insert into STUDENT values(?)", payload); if (payload.toLowerCase().startsWith("fail")) { - log.error("Service failure. Test result: {} ", payload); + log.error("Service failure. Test result: {}", payload); throw new RuntimeException("Service failure."); } From e2f6729c5e7b44f496c7a0c935a1223702e1dc14 Mon Sep 17 00:00:00 2001 From: enpy Date: Tue, 8 Oct 2019 14:56:38 +0200 Subject: [PATCH 109/199] Update spring-integration/src/test/java/com/baeldung/tx/TxIntegrationTest.java Co-Authored-By: KevinGilmore --- .../src/test/java/com/baeldung/tx/TxIntegrationTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-integration/src/test/java/com/baeldung/tx/TxIntegrationTest.java b/spring-integration/src/test/java/com/baeldung/tx/TxIntegrationTest.java index dd9f4ab286..20ed93b631 100644 --- a/spring-integration/src/test/java/com/baeldung/tx/TxIntegrationTest.java +++ b/spring-integration/src/test/java/com/baeldung/tx/TxIntegrationTest.java @@ -14,7 +14,7 @@ public final class TxIntegrationTest { private static final String CONTEXT_CONFIG = "classpath:META-INF/spring/integration/spring-integration-tx-context.xml"; @Test - public void whenFileDoesntStartWithFail_thanTxSuccessful() throws InterruptedException, IOException { + public void whenFileDoesntStartWithFail_thenTxSuccessful() throws InterruptedException, IOException { final AbstractApplicationContext context = new ClassPathXmlApplicationContext(CONTEXT_CONFIG); From 0cb1f8f4cb6d20e59ed99471c5c6067001e2b85c Mon Sep 17 00:00:00 2001 From: enpy Date: Tue, 8 Oct 2019 14:56:44 +0200 Subject: [PATCH 110/199] Update spring-integration/src/test/java/com/baeldung/tx/TxIntegrationTest.java Co-Authored-By: KevinGilmore --- .../src/test/java/com/baeldung/tx/TxIntegrationTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-integration/src/test/java/com/baeldung/tx/TxIntegrationTest.java b/spring-integration/src/test/java/com/baeldung/tx/TxIntegrationTest.java index 20ed93b631..1bbd16aa4b 100644 --- a/spring-integration/src/test/java/com/baeldung/tx/TxIntegrationTest.java +++ b/spring-integration/src/test/java/com/baeldung/tx/TxIntegrationTest.java @@ -31,7 +31,7 @@ public final class TxIntegrationTest { } @Test - public void whenFileStartsWithFail_thanTxFailed() { + public void whenFileStartsWithFail_thenTxFailed() { String fileName = System.getProperty("java.io.tmpdir") + "/tx/test2.txt"; From f6e74736069431da9802b99a3260c40b88ac71d9 Mon Sep 17 00:00:00 2001 From: dupirefr Date: Mon, 2 Sep 2019 07:05:01 +0200 Subject: [PATCH 111/199] [BAEL-3128] Code for Breadth-First Search in Java Article * Added Tree and algorithm tests for trees * Implemented algorithm for trees * Added algorithm for graphs * Bidirectional graph * Minor updates * Readibility changes --- .../BreadthFirstSearchAlgorithm.java | 61 +++++++++++++ .../algorithms/breadthfirstsearch/Node.java | 31 +++++++ .../algorithms/breadthfirstsearch/Tree.java | 34 ++++++++ .../BreadthFirstSearchAlgorithmUnitTest.java | 85 +++++++++++++++++++ 4 files changed, 211 insertions(+) create mode 100644 algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithm.java create mode 100644 algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Node.java create mode 100644 algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Tree.java create mode 100644 algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithmUnitTest.java diff --git a/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithm.java b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithm.java new file mode 100644 index 0000000000..4331b2fc94 --- /dev/null +++ b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithm.java @@ -0,0 +1,61 @@ +package com.baeldung.algorithms.breadthfirstsearch; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.*; + +public class BreadthFirstSearchAlgorithm { + + private static final Logger LOGGER = LoggerFactory.getLogger(BreadthFirstSearchAlgorithm.class); + + public static Optional> search(T value, Tree root) { + Queue> queue = new ArrayDeque<>(); + queue.add(root); + + return searchTreeQueue(value, queue); + } + + private static Optional> searchTreeQueue(T value, Queue> queue) { + Tree currentNode; + while (!queue.isEmpty()) { + currentNode = queue.remove(); + LOGGER.info("Visited node with value: {}", currentNode.getValue()); + + if (currentNode.getValue().equals(value)) { + return Optional.of(currentNode); + } else { + queue.addAll(currentNode.getChildren()); + } + } + + return Optional.empty(); + } + + public static Optional> search(T value, Node start) { + Queue> queue = new ArrayDeque<>(); + queue.add(start); + + return searchNodeQueue(value, queue); + } + + private static Optional> searchNodeQueue(T value, Queue> queue) { + Node currentNode; + Set> alreadyVisited = new HashSet<>(); + + while (!queue.isEmpty()) { + currentNode = queue.remove(); + LOGGER.info("Visited node with value: {}", currentNode.getValue()); + + if (currentNode.getValue().equals(value)) { + return Optional.of(currentNode); + } else { + alreadyVisited.add(currentNode); + queue.addAll(currentNode.getNeighbours()); + queue.removeAll(alreadyVisited); + } + } + + return Optional.empty(); + } +} diff --git a/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Node.java b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Node.java new file mode 100644 index 0000000000..bfa879f0b7 --- /dev/null +++ b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Node.java @@ -0,0 +1,31 @@ +package com.baeldung.algorithms.breadthfirstsearch; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +public class Node { + + private T value; + private Set> neighbours; + + public Node(T value) { + this.value = value; + this.neighbours = new HashSet<>(); + } + + public T getValue() { + return value; + } + + public Set> getNeighbours() { + return Collections.unmodifiableSet(neighbours); + } + + public void connect(Node node) { + if (this == node) throw new IllegalArgumentException("Can't connect node to itself"); + this.neighbours.add(node); + node.neighbours.add(this); + } + +} diff --git a/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Tree.java b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Tree.java new file mode 100644 index 0000000000..842d2837ff --- /dev/null +++ b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Tree.java @@ -0,0 +1,34 @@ +package com.baeldung.algorithms.breadthfirstsearch; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class Tree { + + private T value; + private List> children; + + private Tree(T value) { + this.value = value; + this.children = new ArrayList<>(); + } + + public static Tree of(T value) { + return new Tree<>(value); + } + + public T getValue() { + return value; + } + + public List> getChildren() { + return Collections.unmodifiableList(children); + } + + public Tree addChild(T value) { + Tree newChild = new Tree<>(value); + children.add(newChild); + return newChild; + } +} diff --git a/algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithmUnitTest.java b/algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithmUnitTest.java new file mode 100644 index 0000000000..188cc32c3e --- /dev/null +++ b/algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithmUnitTest.java @@ -0,0 +1,85 @@ +package com.baeldung.algorithms.breadthfirstsearch; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class BreadthFirstSearchAlgorithmUnitTest { + + private Tree root; + private Tree rootFirstChild; + private Tree depthMostChild; + private Tree rootSecondChild; + + private Node start; + private Node firstNeighbour; + private Node firstNeighbourNeighbour; + private Node secondNeighbour; + + @BeforeEach + void beforeEach() { + initTree(); + initNode(); + } + + private void initTree() { + root = Tree.of(10); + rootFirstChild = root.addChild(2); + depthMostChild = rootFirstChild.addChild(3); + rootSecondChild = root.addChild(4); + } + + private void initNode() { + start = new Node<>(10); + firstNeighbour = new Node<>(2); + start.connect(firstNeighbour); + + firstNeighbourNeighbour = new Node<>(3); + firstNeighbour.connect(firstNeighbourNeighbour); + firstNeighbourNeighbour.connect(start); + + secondNeighbour = new Node<>(4); + start.connect(secondNeighbour); + } + + @Test + void givenTree_whenSearchTen_thenRoot() { + assertThat(BreadthFirstSearchAlgorithm.search(10, root)).isPresent().contains(root); + } + + @Test + void givenTree_whenSearchThree_thenDepthMostValue() { + assertThat(BreadthFirstSearchAlgorithm.search(3, root)).isPresent().contains(depthMostChild); + } + + @Test + void givenTree_whenSearchFour_thenRootSecondChild() { + assertThat(BreadthFirstSearchAlgorithm.search(4, root)).isPresent().contains(rootSecondChild); + } + + @Test + void givenTree_whenSearchFive_thenNotFound() { + assertThat(BreadthFirstSearchAlgorithm.search(5, root)).isEmpty(); + } + + @Test + void givenNode_whenSearchTen_thenStart() { + assertThat(BreadthFirstSearchAlgorithm.search(10, firstNeighbourNeighbour)).isPresent().contains(start); + } + + @Test + void givenNode_whenSearchThree_thenNeighbourNeighbour() { + assertThat(BreadthFirstSearchAlgorithm.search(3, firstNeighbourNeighbour)).isPresent().contains(firstNeighbourNeighbour); + } + + @Test + void givenNode_whenSearchFour_thenSecondNeighbour() { + assertThat(BreadthFirstSearchAlgorithm.search(4, firstNeighbourNeighbour)).isPresent().contains(secondNeighbour); + } + + @Test + void givenNode_whenSearchFive_thenNotFound() { + assertThat(BreadthFirstSearchAlgorithm.search(5, firstNeighbourNeighbour)).isEmpty(); + } +} \ No newline at end of file From 223a767d0149e76c96ab5def32e461aac286daa3 Mon Sep 17 00:00:00 2001 From: dupirefr Date: Wed, 9 Oct 2019 05:15:45 +0200 Subject: [PATCH 112/199] [BAERL-3128] Fixes from editor review --- .../BreadthFirstSearchAlgorithm.java | 11 +-- .../algorithms/breadthfirstsearch/Node.java | 12 +-- .../BreadthFirstSearchAlgorithmUnitTest.java | 93 ++++++++++--------- 3 files changed, 55 insertions(+), 61 deletions(-) diff --git a/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithm.java b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithm.java index 4331b2fc94..9d301f9578 100644 --- a/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithm.java +++ b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithm.java @@ -13,10 +13,6 @@ public class BreadthFirstSearchAlgorithm { Queue> queue = new ArrayDeque<>(); queue.add(root); - return searchTreeQueue(value, queue); - } - - private static Optional> searchTreeQueue(T value, Queue> queue) { Tree currentNode; while (!queue.isEmpty()) { currentNode = queue.remove(); @@ -36,10 +32,6 @@ public class BreadthFirstSearchAlgorithm { Queue> queue = new ArrayDeque<>(); queue.add(start); - return searchNodeQueue(value, queue); - } - - private static Optional> searchNodeQueue(T value, Queue> queue) { Node currentNode; Set> alreadyVisited = new HashSet<>(); @@ -51,11 +43,12 @@ public class BreadthFirstSearchAlgorithm { return Optional.of(currentNode); } else { alreadyVisited.add(currentNode); - queue.addAll(currentNode.getNeighbours()); + queue.addAll(currentNode.getNeighbors()); queue.removeAll(alreadyVisited); } } return Optional.empty(); } + } diff --git a/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Node.java b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Node.java index bfa879f0b7..54a589ae26 100644 --- a/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Node.java +++ b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Node.java @@ -7,25 +7,25 @@ import java.util.Set; public class Node { private T value; - private Set> neighbours; + private Set> neighbors; public Node(T value) { this.value = value; - this.neighbours = new HashSet<>(); + this.neighbors = new HashSet<>(); } public T getValue() { return value; } - public Set> getNeighbours() { - return Collections.unmodifiableSet(neighbours); + public Set> getNeighbors() { + return Collections.unmodifiableSet(neighbors); } public void connect(Node node) { if (this == node) throw new IllegalArgumentException("Can't connect node to itself"); - this.neighbours.add(node); - node.neighbours.add(this); + this.neighbors.add(node); + node.neighbors.add(this); } } diff --git a/algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithmUnitTest.java b/algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithmUnitTest.java index 188cc32c3e..aa22fc5353 100644 --- a/algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithmUnitTest.java +++ b/algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithmUnitTest.java @@ -1,6 +1,5 @@ package com.baeldung.algorithms.breadthfirstsearch; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; @@ -13,14 +12,32 @@ class BreadthFirstSearchAlgorithmUnitTest { private Tree rootSecondChild; private Node start; - private Node firstNeighbour; - private Node firstNeighbourNeighbour; - private Node secondNeighbour; + private Node firstNeighbor; + private Node firstNeighborNeighbor; + private Node secondNeighbor; - @BeforeEach - void beforeEach() { + @Test + void givenTree_whenSearchTen_thenRoot() { initTree(); - initNode(); + assertThat(BreadthFirstSearchAlgorithm.search(10, root)).isPresent().contains(root); + } + + @Test + void givenTree_whenSearchThree_thenDepthMostValue() { + initTree(); + assertThat(BreadthFirstSearchAlgorithm.search(3, root)).isPresent().contains(depthMostChild); + } + + @Test + void givenTree_whenSearchFour_thenRootSecondChild() { + initTree(); + assertThat(BreadthFirstSearchAlgorithm.search(4, root)).isPresent().contains(rootSecondChild); + } + + @Test + void givenTree_whenSearchFive_thenNotFound() { + initTree(); + assertThat(BreadthFirstSearchAlgorithm.search(5, root)).isEmpty(); } private void initTree() { @@ -30,56 +47,40 @@ class BreadthFirstSearchAlgorithmUnitTest { rootSecondChild = root.addChild(4); } - private void initNode() { - start = new Node<>(10); - firstNeighbour = new Node<>(2); - start.connect(firstNeighbour); - - firstNeighbourNeighbour = new Node<>(3); - firstNeighbour.connect(firstNeighbourNeighbour); - firstNeighbourNeighbour.connect(start); - - secondNeighbour = new Node<>(4); - start.connect(secondNeighbour); - } - - @Test - void givenTree_whenSearchTen_thenRoot() { - assertThat(BreadthFirstSearchAlgorithm.search(10, root)).isPresent().contains(root); - } - - @Test - void givenTree_whenSearchThree_thenDepthMostValue() { - assertThat(BreadthFirstSearchAlgorithm.search(3, root)).isPresent().contains(depthMostChild); - } - - @Test - void givenTree_whenSearchFour_thenRootSecondChild() { - assertThat(BreadthFirstSearchAlgorithm.search(4, root)).isPresent().contains(rootSecondChild); - } - - @Test - void givenTree_whenSearchFive_thenNotFound() { - assertThat(BreadthFirstSearchAlgorithm.search(5, root)).isEmpty(); - } - @Test void givenNode_whenSearchTen_thenStart() { - assertThat(BreadthFirstSearchAlgorithm.search(10, firstNeighbourNeighbour)).isPresent().contains(start); + initNode(); + assertThat(BreadthFirstSearchAlgorithm.search(10, firstNeighborNeighbor)).isPresent().contains(start); } @Test - void givenNode_whenSearchThree_thenNeighbourNeighbour() { - assertThat(BreadthFirstSearchAlgorithm.search(3, firstNeighbourNeighbour)).isPresent().contains(firstNeighbourNeighbour); + void givenNode_whenSearchThree_thenNeighborNeighbor() { + initNode(); + assertThat(BreadthFirstSearchAlgorithm.search(3, firstNeighborNeighbor)).isPresent().contains(firstNeighborNeighbor); } @Test - void givenNode_whenSearchFour_thenSecondNeighbour() { - assertThat(BreadthFirstSearchAlgorithm.search(4, firstNeighbourNeighbour)).isPresent().contains(secondNeighbour); + void givenNode_whenSearchFour_thenSecondNeighbor() { + initNode(); + assertThat(BreadthFirstSearchAlgorithm.search(4, firstNeighborNeighbor)).isPresent().contains(secondNeighbor); } @Test void givenNode_whenSearchFive_thenNotFound() { - assertThat(BreadthFirstSearchAlgorithm.search(5, firstNeighbourNeighbour)).isEmpty(); + initNode(); + assertThat(BreadthFirstSearchAlgorithm.search(5, firstNeighborNeighbor)).isEmpty(); + } + + private void initNode() { + start = new Node<>(10); + firstNeighbor = new Node<>(2); + start.connect(firstNeighbor); + + firstNeighborNeighbor = new Node<>(3); + firstNeighbor.connect(firstNeighborNeighbor); + firstNeighborNeighbor.connect(start); + + secondNeighbor = new Node<>(4); + start.connect(secondNeighbor); } } \ No newline at end of file From ea44e531190043ab1a707372363d1878b606431b Mon Sep 17 00:00:00 2001 From: fejera Date: Wed, 9 Oct 2019 15:06:56 +0200 Subject: [PATCH 113/199] #7979 - fixed link --- java-streams/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-streams/README.md b/java-streams/README.md index 5c231f756f..a57fdec7fa 100644 --- a/java-streams/README.md +++ b/java-streams/README.md @@ -18,4 +18,4 @@ This module contains articles about the Stream API in Java. - [Counting Matches on a Stream Filter](https://www.baeldung.com/java-stream-filter-count) - [Java 8 Streams peek() API](https://www.baeldung.com/java-streams-peek-api) - [Working With Maps Using Streams](https://www.baeldung.com/java-maps-streams) -- More articles: [[next -->]](/../java-streams-2) +- More articles: [[next -->]](/java-streams-2) From 36da8820a0a69ee0698ede88d173856f619ed360 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Wed, 9 Oct 2019 16:45:39 +0200 Subject: [PATCH 114/199] #BAEL-17524 add README descriptions (#7957) --- lombok/README.md | 6 +++++- lucene/README.md | 4 ++++ mapstruct/README.md | 4 ++++ maven-all/README.md | 6 +++++- maven-all/maven-war-plugin/README.md | 6 +++++- maven-all/maven/README.md | 5 +++++ maven-all/profiles/README.md | 6 +++++- maven-all/versions-maven-plugin/README.md | 6 +++++- maven-archetype/README.md | 5 ++++- maven-java-11/README.md | 7 +++++++ maven-polyglot/README.md | 4 ++++ mesos-marathon/README.md | 4 ++++ 12 files changed, 57 insertions(+), 6 deletions(-) create mode 100644 maven-java-11/README.md diff --git a/lombok/README.md b/lombok/README.md index 54a0984159..39d3cd6b05 100644 --- a/lombok/README.md +++ b/lombok/README.md @@ -1,4 +1,8 @@ -## Relevant Articles: +## Project Lombok + +This module contains articles about Project Lombok. + +### Relevant Articles: - [Introduction to Project Lombok](https://www.baeldung.com/intro-to-project-lombok) - [Using Lombok’s @Builder Annotation](https://www.baeldung.com/lombok-builder) - [Using Lombok’s @Getter for Boolean Fields](https://www.baeldung.com/lombok-getter-boolean) diff --git a/lucene/README.md b/lucene/README.md index 2bfd8bf4e1..ad83f26386 100644 --- a/lucene/README.md +++ b/lucene/README.md @@ -1,3 +1,7 @@ +## Apache Lucene + +This module contains articles about Apache Lucene. + ### Relevant Articles: - [Introduction to Apache Lucene](https://www.baeldung.com/lucene) diff --git a/mapstruct/README.md b/mapstruct/README.md index 92c55a131d..b784820b98 100644 --- a/mapstruct/README.md +++ b/mapstruct/README.md @@ -1,2 +1,6 @@ +## MapStruct + +This module contains articles about MapStruct. + ###Relevant Articles: - [Quick Guide to MapStruct](https://www.baeldung.com/mapstruct) diff --git a/maven-all/README.md b/maven-all/README.md index d014f323d2..b20d944b14 100644 --- a/maven-all/README.md +++ b/maven-all/README.md @@ -1,3 +1,7 @@ +## Apache Maven + +This module contains articles about Apache Maven. Please refer to its submodules. + ### Relevant Articles -- [Apache Maven Tutorial](https://www.baeldung.com/maven) \ No newline at end of file +- [Apache Maven Tutorial](https://www.baeldung.com/maven) diff --git a/maven-all/maven-war-plugin/README.md b/maven-all/maven-war-plugin/README.md index d559fea80b..09d33772f0 100644 --- a/maven-all/maven-war-plugin/README.md +++ b/maven-all/maven-war-plugin/README.md @@ -1,3 +1,7 @@ +## Maven WAR Plugin + +This module contains articles about the Maven WAR Plugin. + ### Relevant Articles -- [Eclipse Error: web.xml is missing and failOnMissingWebXml is set to true](https://www.baeldung.com/eclipse-error-web-xml-missing) \ No newline at end of file +- [Eclipse Error: web.xml is missing and failOnMissingWebXml is set to true](https://www.baeldung.com/eclipse-error-web-xml-missing) diff --git a/maven-all/maven/README.md b/maven-all/maven/README.md index acf7dfc47b..ced4a52703 100644 --- a/maven-all/maven/README.md +++ b/maven-all/maven/README.md @@ -1,3 +1,8 @@ +## Apache Maven + +This module contains articles about core Apache Maven. Articles about other Maven plugins (such as the Maven WAR Plugin) +have their own dedicated modules. + ### Relevant Articles - [Guide to the Core Maven Plugins](https://www.baeldung.com/core-maven-plugins) diff --git a/maven-all/profiles/README.md b/maven-all/profiles/README.md index 22d5d7f70c..cfbe5c397f 100644 --- a/maven-all/profiles/README.md +++ b/maven-all/profiles/README.md @@ -1,3 +1,7 @@ +## Maven Profiles + +This module contains articles about Maven profiles. + ### Relevant Articles -- [Guide to Maven Profiles](https://www.baeldung.com/maven-profiles) \ No newline at end of file +- [Guide to Maven Profiles](https://www.baeldung.com/maven-profiles) diff --git a/maven-all/versions-maven-plugin/README.md b/maven-all/versions-maven-plugin/README.md index 8f5670f802..19414a2a4b 100644 --- a/maven-all/versions-maven-plugin/README.md +++ b/maven-all/versions-maven-plugin/README.md @@ -1,3 +1,7 @@ +## Versions Maven Plugin + +This module contains articles about the Versions Maven Plugin. + ### Relevant Articles -- [Use the Latest Version of a Dependency in Maven](https://www.baeldung.com/maven-dependency-latest-version) \ No newline at end of file +- [Use the Latest Version of a Dependency in Maven](https://www.baeldung.com/maven-dependency-latest-version) diff --git a/maven-archetype/README.md b/maven-archetype/README.md index b707150854..ba5a83fe14 100644 --- a/maven-archetype/README.md +++ b/maven-archetype/README.md @@ -1,4 +1,7 @@ +## Maven Archetype + +This module contains articles about the Maven Archetype Plugin. + ### Relevant Articles: -================================ - [Guide to Maven Archetype](https://www.baeldung.com/maven-archetype) diff --git a/maven-java-11/README.md b/maven-java-11/README.md new file mode 100644 index 0000000000..fcb6ea3f06 --- /dev/null +++ b/maven-java-11/README.md @@ -0,0 +1,7 @@ +## Maven and Java 11 + +This module contains articles about Maven with Java 11+. + +### Relevant Articles: + +- [Multi-Module Maven Application with Java Modules](https://www.baeldung.com/maven-multi-module-project-java-jpms) diff --git a/maven-polyglot/README.md b/maven-polyglot/README.md index 8635c8eddf..037b921ae7 100644 --- a/maven-polyglot/README.md +++ b/maven-polyglot/README.md @@ -1,3 +1,7 @@ +## Maven Polyglot + +This module contains articles about Maven Polyglot. + To run the maven-polyglot-json-app successfully, you first have to build the maven-polyglot-json-extension module using: mvn clean install. ### Relevant Articles: diff --git a/mesos-marathon/README.md b/mesos-marathon/README.md index 09467ebfcb..65b2361698 100644 --- a/mesos-marathon/README.md +++ b/mesos-marathon/README.md @@ -1,3 +1,7 @@ +## Marathon and Mesos + +This module contains articles about Marathon and Mesos. + ### Relevant articles - [Simple Jenkins Pipeline with Marathon and Mesos](https://www.baeldung.com/jenkins-pipeline-with-marathon-mesos) From 34cae4c2583ec6d44b52719d8a5a8ee91744d639 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Wed, 9 Oct 2019 16:46:09 +0200 Subject: [PATCH 115/199] #BAEL-17526 add README descriptions (#7959) --- osgi/{readme.md => README.md} | 14 +++++++------- patterns/README.md | 3 +++ pdf/README.md | 4 ++++ performance-tests/README.md | 4 ++++ persistence-modules/README.md | 3 +++ play-framework/README.md | 6 +++++- protobuffer/README.md | 4 ++++ rabbitmq/README.md | 4 ++++ raml/README.MD | 5 +++-- ratpack/README.md | 4 ++++ 10 files changed, 41 insertions(+), 10 deletions(-) rename osgi/{readme.md => README.md} (94%) create mode 100644 patterns/README.md create mode 100644 persistence-modules/README.md diff --git a/osgi/readme.md b/osgi/README.md similarity index 94% rename from osgi/readme.md rename to osgi/README.md index ee5d7d66c4..732f624302 100644 --- a/osgi/readme.md +++ b/osgi/README.md @@ -1,5 +1,9 @@ -OSGi -==== +## OSGi + +This module contains articles about OSGi. + +### Relevant articles: + - [Introduction to OSGi](https://www.baeldung.com/osgi) Info --- @@ -84,11 +88,7 @@ Oxygen.1 Wed, 6 Sep 2017 -- 17:00 (-0400) org.eclipse.osgi_3.12.1.v20170821-1548.jar - = = NOT GOOD = = - - ## Relevant articles: - - [Introduction to OSGi](https://www.baeldung.com/osgi) - + = = NOT GOOD = = diff --git a/patterns/README.md b/patterns/README.md new file mode 100644 index 0000000000..bbc48e3f34 --- /dev/null +++ b/patterns/README.md @@ -0,0 +1,3 @@ +## Patterns + +This module contains articles about design patterns. diff --git a/pdf/README.md b/pdf/README.md index 8525dc4f69..8c7bd1fa26 100644 --- a/pdf/README.md +++ b/pdf/README.md @@ -1,3 +1,7 @@ +## PDF + +This module contains articles about PDF files. + ### Relevant Articles: - [PDF Conversions in Java](https://www.baeldung.com/pdf-conversions-java) - [Creating PDF Files in Java](https://www.baeldung.com/java-pdf-creation) diff --git a/performance-tests/README.md b/performance-tests/README.md index 918c81bb69..09ed26ae19 100644 --- a/performance-tests/README.md +++ b/performance-tests/README.md @@ -1,3 +1,7 @@ +## Performance Tests + +This module contains articles about performance testing. + ### Relevant Articles: - [Performance of Java Mapping Frameworks](https://www.baeldung.com/java-performance-mapping-frameworks) diff --git a/persistence-modules/README.md b/persistence-modules/README.md new file mode 100644 index 0000000000..f6abc5782a --- /dev/null +++ b/persistence-modules/README.md @@ -0,0 +1,3 @@ +## Persistence Modules + +This module contains articles about persistence. Actual articles go into its submodules. diff --git a/play-framework/README.md b/play-framework/README.md index 2309b67422..a28c3f7ad7 100644 --- a/play-framework/README.md +++ b/play-framework/README.md @@ -1,4 +1,8 @@ -###Relevant Articles: +## Play Framework + +This module contains articles about the Play Framework. + +### Relevant Articles: - [REST API with Play Framework in Java](https://www.baeldung.com/rest-api-with-play) - [Routing In Play Applications in Java](https://www.baeldung.com/routing-in-play) - [Introduction To Play In Java](https://www.baeldung.com/java-intro-to-the-play-framework) diff --git a/protobuffer/README.md b/protobuffer/README.md index 4302418a8b..329ad0e071 100644 --- a/protobuffer/README.md +++ b/protobuffer/README.md @@ -1,3 +1,7 @@ +## Google Protocol Buffer + +This module contains articles about Google Protocol Buffer. + ### Relevant articles - [Introduction to Google Protocol Buffer](https://www.baeldung.com/google-protocol-buffer) diff --git a/rabbitmq/README.md b/rabbitmq/README.md index 01e51bd784..218b1a4b14 100644 --- a/rabbitmq/README.md +++ b/rabbitmq/README.md @@ -1,3 +1,7 @@ +## RabbitMQ + +This module contains articles about RabbitMQ. + ### Relevant articles - [Introduction to RabbitMQ](https://www.baeldung.com/rabbitmq) diff --git a/raml/README.MD b/raml/README.MD index fcf0b41a18..2a3b9771be 100644 --- a/raml/README.MD +++ b/raml/README.MD @@ -1,2 +1,3 @@ -###The Course -The "REST With Spring" Classes: https://bit.ly/restwithspring +## RAML + +This module contains articles about the RESTful API Modeling Language (RAML). diff --git a/ratpack/README.md b/ratpack/README.md index 706fd0c8c3..9c24670709 100644 --- a/ratpack/README.md +++ b/ratpack/README.md @@ -1,3 +1,7 @@ +## Ratpack + +This module contains articles about Ratpack. + ### Relevant articles - [Introduction to Ratpack](https://www.baeldung.com/ratpack) From b3a46b828d31c0d3f613335820fee70f2ecc8707 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Wed, 9 Oct 2019 18:34:51 +0200 Subject: [PATCH 116/199] #BAEL-17527 add README descriptions (#7964) --- oauth2-framework-impl/README.md | 4 ++++ reactor-core/README.md | 4 ++++ resteasy/README.md | 5 ++--- restx/README.md | 6 +++++- rsocket/README.md | 6 +++++- rule-engines/README.md | 6 +++++- rxjava-2/README.md | 7 ++++++- rxjava/README.md | 7 ++++++- spf4j/README.md | 6 +++++- spring-boot-performance/README.md | 4 ++++ spring-boot-properties/README.md | 4 ++++ spring-mvc-basics/README.md | 5 +++-- twitter4j/README.md | 2 +- 13 files changed, 54 insertions(+), 12 deletions(-) diff --git a/oauth2-framework-impl/README.md b/oauth2-framework-impl/README.md index 60fefe3415..ea9686b451 100644 --- a/oauth2-framework-impl/README.md +++ b/oauth2-framework-impl/README.md @@ -1,3 +1,7 @@ +## OAuth 2.0 Implementation + +This module contains articles about the implementation of OAuth2 with Java EE. + ### Relevant Articles - [Implementing The OAuth 2.0 Authorization Framework Using Java EE](https://www.baeldung.com/java-ee-oauth2-implementation) diff --git a/reactor-core/README.md b/reactor-core/README.md index ba5b355d02..e3cca35f86 100644 --- a/reactor-core/README.md +++ b/reactor-core/README.md @@ -1,3 +1,7 @@ +## Reactor Core + +This module contains articles about Reactor Core. + ### Relevant articles - [Intro To Reactor Core](https://www.baeldung.com/reactor-core) diff --git a/resteasy/README.md b/resteasy/README.md index 3f3c833256..b576fbdf41 100644 --- a/resteasy/README.md +++ b/resteasy/README.md @@ -1,7 +1,6 @@ -========= - -## A Guide to RESTEasy +## RESTEasy +This module contains articles about RESTEasy. ### Relevant Articles: - [A Guide to RESTEasy](https://www.baeldung.com/resteasy-tutorial) diff --git a/restx/README.md b/restx/README.md index 665f7ea82d..a8180c984d 100644 --- a/restx/README.md +++ b/restx/README.md @@ -1,4 +1,8 @@ -# Relevant Articles +## RESTX + +This module contains articles about RESTX. + +### Relevant Articles * [Introduction to RESTX](https://www.baeldung.com/java-restx) diff --git a/rsocket/README.md b/rsocket/README.md index fa232bc515..b859842bf3 100644 --- a/rsocket/README.md +++ b/rsocket/README.md @@ -1,3 +1,7 @@ -Relevant articles +## RSocket + +This module contains articles about RSocket. + +### Relevant articles - [Introduction to RSocket](https://www.baeldung.com/rsocket) diff --git a/rule-engines/README.md b/rule-engines/README.md index 37d419daf5..64b1ec020d 100644 --- a/rule-engines/README.md +++ b/rule-engines/README.md @@ -1,3 +1,7 @@ -## Relevant articles: +## Rule Engines + +This module contains articles about rule engines. Articles specific to a given rule engine go in the relevant submodule. + +### Relevant articles: - [List of Rules Engines in Java](https://www.baeldung.com/java-rule-engines) diff --git a/rxjava-2/README.md b/rxjava-2/README.md index 43c1a9942b..87f606a323 100644 --- a/rxjava-2/README.md +++ b/rxjava-2/README.md @@ -1,4 +1,8 @@ -## Relevant articles: +## RxJava + +This module contains articles about RxJava. + +### Relevant articles: - [RxJava and Error Handling](https://www.baeldung.com/rxjava-error-handling) - [RxJava 2 – Flowable](https://www.baeldung.com/rxjava-2-flowable) @@ -7,3 +11,4 @@ - [Combining RxJava Completables](https://www.baeldung.com/rxjava-completable) - [Converting Synchronous and Asynchronous APIs to Observables using RxJava2](https://www.baeldung.com/rxjava-apis-to-observables) - [RxJava Hooks](https://www.baeldung.com/rxjava-hooks) +- More articles: [[<-- prev]](/rxjava) diff --git a/rxjava/README.md b/rxjava/README.md index f9b7e2ba0d..c9308ddcc6 100644 --- a/rxjava/README.md +++ b/rxjava/README.md @@ -1,4 +1,8 @@ -## Relevant articles: +## RxJava + +This module contains articles about RxJava. + +### Relevant articles: - [Dealing with Backpressure with RxJava](https://www.baeldung.com/rxjava-backpressure) - [How to Test RxJava?](https://www.baeldung.com/rxjava-testing) @@ -13,3 +17,4 @@ - [Filtering Observables in RxJava](https://www.baeldung.com/rxjava-filtering) - [RxJava One Observable, Multiple Subscribers](https://www.baeldung.com/rxjava-multiple-subscribers-observable) - [Difference Between Flatmap and Switchmap in RxJava](https://www.baeldung.com/rxjava-flatmap-switchmap) +- More articles: [[next -->]](/rxjava-2) diff --git a/spf4j/README.md b/spf4j/README.md index a39cd01b5e..5c7bcf6116 100644 --- a/spf4j/README.md +++ b/spf4j/README.md @@ -1,3 +1,7 @@ -## Relevant articles: +## SPF4J + +This module contains articles about SPF4J. + +### Relevant articles: - [Introduction to SPF4J](https://www.baeldung.com/spf4j) diff --git a/spring-boot-performance/README.md b/spring-boot-performance/README.md index 015dd759a8..f6a11720de 100644 --- a/spring-boot-performance/README.md +++ b/spring-boot-performance/README.md @@ -1,3 +1,7 @@ +## Spring Boot Performance + +This module contains articles about Spring Boot performance. + ### Relevant Articles - [Lazy Initialization in Spring Boot 2](https://www.baeldung.com/spring-boot-lazy-initialization) diff --git a/spring-boot-properties/README.md b/spring-boot-properties/README.md index 48ff79537c..daf7c55ab3 100644 --- a/spring-boot-properties/README.md +++ b/spring-boot-properties/README.md @@ -1,3 +1,7 @@ +## Spring Boot Properties + +This module contains articles about Properties in Spring Boot. + ### Relevant Articles: - [Reloading Properties Files in Spring](https://www.baeldung.com/spring-reloading-properties) - [Guide to @ConfigurationProperties in Spring Boot](https://www.baeldung.com/configuration-properties-in-spring-boot) diff --git a/spring-mvc-basics/README.md b/spring-mvc-basics/README.md index a04c6e7ae7..0855015e70 100644 --- a/spring-mvc-basics/README.md +++ b/spring-mvc-basics/README.md @@ -1,6 +1,7 @@ -========= +## Spring MVC Basics -## Spring MVC Basics with Java Configuration Example Project +This module contains articles about the basics of Spring MVC. Articles about more specific areas of Spring MVC have +their own module. ### The Course The "REST With Spring" Classes: http://bit.ly/restwithspring diff --git a/twitter4j/README.md b/twitter4j/README.md index 8c9ee92348..e7295fe809 100644 --- a/twitter4j/README.md +++ b/twitter4j/README.md @@ -1,6 +1,6 @@ ## Twitter4J -This module contains articles about Twitter4J +This module contains articles about Twitter4J. ### Relevant articles From 62e264c52e9ad854e022ae084490f2fbbd3334e4 Mon Sep 17 00:00:00 2001 From: Sam Millington Date: Wed, 9 Oct 2019 17:35:05 +0100 Subject: [PATCH 117/199] Add README descriptions 31 (#7960) --- couchbase/README.md | 4 +++- custom-pmd/README.md | 6 ++++++ dagger/README.md | 4 ++++ data-structures/README.md | 4 ++++ ddd/README.md | 4 ++++ deeplearning4j/README.md | 5 +++-- disruptor/README.md | 6 +++++- dozer/README.md | 5 +++++ drools/README.MD | 5 +++++ dubbo/README.md | 6 +++++- 10 files changed, 44 insertions(+), 5 deletions(-) diff --git a/couchbase/README.md b/couchbase/README.md index c4c7df97da..913c413132 100644 --- a/couchbase/README.md +++ b/couchbase/README.md @@ -1,4 +1,6 @@ -## Couchbase SDK Tutorial Project +## Couchbase + +This module contains articles about Couchbase ### Relevant Articles: - [Introduction to Couchbase SDK for Java](https://www.baeldung.com/java-couchbase-sdk) diff --git a/custom-pmd/README.md b/custom-pmd/README.md index 065a1128f3..0c42106fe8 100644 --- a/custom-pmd/README.md +++ b/custom-pmd/README.md @@ -1 +1,7 @@ ## Custom PMD Rules + +This module contains articles about PMD + +### Relevant Articles: + +- [Introduction To PMD](https://www.baeldung.com/pmd) \ No newline at end of file diff --git a/dagger/README.md b/dagger/README.md index 81dc161ca1..d942622d0a 100644 --- a/dagger/README.md +++ b/dagger/README.md @@ -1,3 +1,7 @@ +## Dagger + +This module contains articles about Dagger + ### Relevant articles: - [Introduction to Dagger 2](https://www.baeldung.com/dagger-2) diff --git a/data-structures/README.md b/data-structures/README.md index 5ea9657173..b7f15c2eb8 100644 --- a/data-structures/README.md +++ b/data-structures/README.md @@ -1,3 +1,7 @@ +## Data Structures + +This module contains articles about data structures in Java + ## Relevant articles: - [The Trie Data Structure in Java](https://www.baeldung.com/trie-java) diff --git a/ddd/README.md b/ddd/README.md index 6b68fe2205..daeb663e3b 100644 --- a/ddd/README.md +++ b/ddd/README.md @@ -1,3 +1,7 @@ +## Domain-driven Design (DDD) + +This module contains articles about Domain-driven Design (DDD) + ### Relevant articles - [Persisting DDD Aggregates](https://www.baeldung.com/spring-persisting-ddd-aggregates) diff --git a/deeplearning4j/README.md b/deeplearning4j/README.md index eb1e19daa1..07954b1a11 100644 --- a/deeplearning4j/README.md +++ b/deeplearning4j/README.md @@ -1,5 +1,6 @@ -### Sample deeplearning4j Project -This is a sample project for the [deeplearning4j](https://deeplearning4j.org) library. +## Deeplearning4j + +This module contains articles about Deeplearning4j ### Relevant Articles: - [A Guide to Deeplearning4j](https://www.baeldung.com/deeplearning4j) diff --git a/disruptor/README.md b/disruptor/README.md index 8f977d090a..7d2fca4672 100644 --- a/disruptor/README.md +++ b/disruptor/README.md @@ -1,3 +1,7 @@ -## Relevant articles: +## Disruptor + +This module contains articles about LMAX Disruptor + +### Relevant articles: - [Concurrency with LMAX Disruptor – An Introduction](https://www.baeldung.com/lmax-disruptor-concurrency) diff --git a/dozer/README.md b/dozer/README.md index 2e610b836a..e87e889ce3 100644 --- a/dozer/README.md +++ b/dozer/README.md @@ -1,2 +1,7 @@ +## Dozer + +This module contains articles about Dozer + ### Relevant Articles: + - [A Guide to Mapping With Dozer](https://www.baeldung.com/dozer) diff --git a/drools/README.MD b/drools/README.MD index 1ff3dfba20..bcec0cc2f0 100644 --- a/drools/README.MD +++ b/drools/README.MD @@ -1,4 +1,9 @@ +## Drools + +This module contains articles about Drools + ### Relevant Articles: + - [Introduction to Drools](https://www.baeldung.com/drools) - [Drools Using Rules from Excel Files](https://www.baeldung.com/drools-excel) - [An Example of Backward Chaining in Drools](https://www.baeldung.com/drools-backward-chaining) diff --git a/dubbo/README.md b/dubbo/README.md index 566efe28f5..3ccca4960a 100644 --- a/dubbo/README.md +++ b/dubbo/README.md @@ -1,4 +1,8 @@ -## Relevant articles: +## Dubbo + +This module contains articles about Dubbo + +### Relevant articles: - [Introduction to Dubbo](https://www.baeldung.com/dubbo) From 66492c78dd8382a2a19dccfbc9868dc061f45370 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Wed, 9 Oct 2019 22:21:22 +0200 Subject: [PATCH 118/199] #BAEL-18260 Restructure ml and deeplearning4j modules --- deeplearning4j/README.md | 3 +- deeplearning4j/pom.xml | 18 ++++++- .../com/baeldung/logreg/MnistClassifier.java | 0 .../com/baeldung/logreg/MnistPrediction.java | 0 .../main/java/com/baeldung/logreg/Utils.java | 0 ml/README.md | 5 -- ml/pom.xml | 52 ------------------- ml/src/main/resources/logback.xml | 13 ----- pom.xml | 2 - 9 files changed, 19 insertions(+), 74 deletions(-) rename {ml => deeplearning4j}/src/main/java/com/baeldung/logreg/MnistClassifier.java (100%) rename {ml => deeplearning4j}/src/main/java/com/baeldung/logreg/MnistPrediction.java (100%) rename {ml => deeplearning4j}/src/main/java/com/baeldung/logreg/Utils.java (100%) delete mode 100644 ml/README.md delete mode 100644 ml/pom.xml delete mode 100644 ml/src/main/resources/logback.xml diff --git a/deeplearning4j/README.md b/deeplearning4j/README.md index 07954b1a11..47c2d8167d 100644 --- a/deeplearning4j/README.md +++ b/deeplearning4j/README.md @@ -1,6 +1,7 @@ ## Deeplearning4j -This module contains articles about Deeplearning4j +This module contains articles about Deeplearning4j. ### Relevant Articles: - [A Guide to Deeplearning4j](https://www.baeldung.com/deeplearning4j) +- [Logistic Regression in Java](https://www.baeldung.com/java-logistic-regression) diff --git a/deeplearning4j/pom.xml b/deeplearning4j/pom.xml index 181dbc871c..64d365e188 100644 --- a/deeplearning4j/pom.xml +++ b/deeplearning4j/pom.xml @@ -24,10 +24,26 @@ deeplearning4j-core ${dl4j.version} + + org.deeplearning4j + deeplearning4j-nn + ${dl4j.version} + + + + org.datavec + datavec-api + ${dl4j.version} + + + org.apache.httpcomponents + httpclient + 4.3.5 + 0.9.1 - \ No newline at end of file + diff --git a/ml/src/main/java/com/baeldung/logreg/MnistClassifier.java b/deeplearning4j/src/main/java/com/baeldung/logreg/MnistClassifier.java similarity index 100% rename from ml/src/main/java/com/baeldung/logreg/MnistClassifier.java rename to deeplearning4j/src/main/java/com/baeldung/logreg/MnistClassifier.java diff --git a/ml/src/main/java/com/baeldung/logreg/MnistPrediction.java b/deeplearning4j/src/main/java/com/baeldung/logreg/MnistPrediction.java similarity index 100% rename from ml/src/main/java/com/baeldung/logreg/MnistPrediction.java rename to deeplearning4j/src/main/java/com/baeldung/logreg/MnistPrediction.java diff --git a/ml/src/main/java/com/baeldung/logreg/Utils.java b/deeplearning4j/src/main/java/com/baeldung/logreg/Utils.java similarity index 100% rename from ml/src/main/java/com/baeldung/logreg/Utils.java rename to deeplearning4j/src/main/java/com/baeldung/logreg/Utils.java diff --git a/ml/README.md b/ml/README.md deleted file mode 100644 index 1362f2840c..0000000000 --- a/ml/README.md +++ /dev/null @@ -1,5 +0,0 @@ -### Logistic Regression in Java -This is a soft introduction to ML using [deeplearning4j](https://deeplearning4j.org) library - -### Relevant Articles: -- [Logistic Regression in Java](https://www.baeldung.com/) diff --git a/ml/pom.xml b/ml/pom.xml deleted file mode 100644 index 80afcc24f4..0000000000 --- a/ml/pom.xml +++ /dev/null @@ -1,52 +0,0 @@ - - 4.0.0 - com.baeldung.deeplearning4j - ml - 1.0-SNAPSHOT - Machine Learning - jar - - - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - - - - - org.nd4j - nd4j-native-platform - ${dl4j.version} - - - org.deeplearning4j - deeplearning4j-core - ${dl4j.version} - - - org.deeplearning4j - deeplearning4j-nn - ${dl4j.version} - - - - org.datavec - datavec-api - ${dl4j.version} - - - org.apache.httpcomponents - httpclient - 4.3.5 - - - - - - - 1.0.0-beta4 - - - \ No newline at end of file diff --git a/ml/src/main/resources/logback.xml b/ml/src/main/resources/logback.xml deleted file mode 100644 index 7d900d8ea8..0000000000 --- a/ml/src/main/resources/logback.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n - - - - - - - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index c5a9959573..743d36f641 100644 --- a/pom.xml +++ b/pom.xml @@ -559,7 +559,6 @@ metrics microprofile - ml msf4j mustache @@ -1302,7 +1301,6 @@ metrics microprofile - ml msf4j mustache From 97610a2f6d58fbbf23732c41f36e69a647227b5d Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Thu, 10 Oct 2019 10:10:26 +0530 Subject: [PATCH 119/199] Added fixes in root pom to fix integration builds --- pom.xml | 7 ++++++- spring-core-2/pom.xml | 2 +- spring-shell/pom.xml | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index c5a9959573..03674dc58f 100644 --- a/pom.xml +++ b/pom.xml @@ -704,6 +704,7 @@ spring-boot-security spring-boot-testing spring-boot-vue + spring-caching spring-boot-libraries @@ -746,6 +747,7 @@ spring-mobile spring-mockito + spring-mvc-basics-2 spring-mvc-forms-jsp spring-mvc-forms-thymeleaf spring-mvc-java @@ -774,6 +776,8 @@ spring-rest-simple spring-resttemplate spring-roo + + spring-scheduling spring-security-acl spring-security-angular/server spring-security-cache-control @@ -798,6 +802,7 @@ spring-security-thymeleaf spring-security-x509 spring-session + spring-shell spring-sleuth spring-soap spring-social-login @@ -881,7 +886,6 @@ spring-5-security-cognito spring-activiti spring-akka - spring-all spring-aop spring-apache-camel spring-batch @@ -1432,6 +1436,7 @@ spring-core spring-core-2 + spring-core-3 spring-cucumber spring-data-rest diff --git a/spring-core-2/pom.xml b/spring-core-2/pom.xml index 032f6a05fc..21548d6984 100644 --- a/spring-core-2/pom.xml +++ b/spring-core-2/pom.xml @@ -162,7 +162,7 @@ - spring-all + spring-core-2 src/main/resources diff --git a/spring-shell/pom.xml b/spring-shell/pom.xml index 8d13e4af5e..1b6fe28fdd 100644 --- a/spring-shell/pom.xml +++ b/spring-shell/pom.xml @@ -1,9 +1,9 @@ 4.0.0 - spring-core-2 + spring-shell 0.1-SNAPSHOT - spring-core-2 + spring-shell war From 576929f990a59afd8411f865b880067850752483 Mon Sep 17 00:00:00 2001 From: enpy303 Date: Fri, 11 Oct 2019 00:24:35 +0200 Subject: [PATCH 120/199] java config spel fix --- .../java/com/baeldung/tx/TxIntegrationConfig.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java b/spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java index 308b00d8e9..48fbfe9322 100644 --- a/spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java +++ b/spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java @@ -7,7 +7,7 @@ import org.springframework.context.annotation.AnnotationConfigApplicationContext import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.AbstractApplicationContext; -import org.springframework.expression.common.LiteralExpression; +import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.integration.annotation.InboundChannelAdapter; import org.springframework.integration.annotation.Poller; import org.springframework.integration.annotation.ServiceActivator; @@ -86,13 +86,14 @@ public class TxIntegrationConfig { } @Bean - public TransactionSynchronizationFactory transactionSynchronizationFactory(){ + public TransactionSynchronizationFactory transactionSynchronizationFactory() { ExpressionEvaluatingTransactionSynchronizationProcessor transactionSynchronizationProcessor = - new ExpressionEvaluatingTransactionSynchronizationProcessor(); - transactionSynchronizationProcessor.setAfterCommitExpression( - new LiteralExpression("payload.renameTo(new java.io.File(payload.absolutePath + '.PASSED'))")); - transactionSynchronizationProcessor.setAfterRollbackExpression( - new LiteralExpression("payload.renameTo(new java.io.File(payload.absolutePath + '.FAILED'))")); + new ExpressionEvaluatingTransactionSynchronizationProcessor(); + SpelExpressionParser spelExpressionParser = new SpelExpressionParser(); + transactionSynchronizationProcessor.setAfterCommitExpression(spelExpressionParser.parseExpression( + "payload.renameTo(new java.io.File(payload.absolutePath + '.PASSED'))")); + transactionSynchronizationProcessor.setAfterRollbackExpression(spelExpressionParser.parseExpression( + "payload.renameTo(new java.io.File(payload.absolutePath + '.FAILED'))")); return new DefaultTransactionSynchronizationFactory(transactionSynchronizationProcessor); } From c653a270c06c224a3dc4e2a3ad7b35fdcbbc7bd5 Mon Sep 17 00:00:00 2001 From: enpy303 Date: Fri, 11 Oct 2019 11:50:28 +0200 Subject: [PATCH 121/199] formatting --- .../com/baeldung/tx/TxIntegrationConfig.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java b/spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java index 48fbfe9322..a5dedeafed 100644 --- a/spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java +++ b/spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java @@ -41,7 +41,7 @@ public class TxIntegrationConfig { private final Logger log = LoggerFactory.getLogger(this.getClass()); - public final String INPUT_DIR = "/tmp/tx/"; + public final String INPUT_DIR = System.getProperty("java.io.tmpdir") + "/tx/"; public final String FILE_PATTERN = "*.txt"; @Autowired @@ -72,28 +72,25 @@ public class TxIntegrationConfig { @Bean public PollerMetadata pollerMetadata() { - return Pollers - .fixedDelay(5000) - .advice(transactionInterceptor()) - .transactionSynchronizationFactory(transactionSynchronizationFactory) - .get(); + return Pollers.fixedDelay(5000) + .advice(transactionInterceptor()) + .transactionSynchronizationFactory(transactionSynchronizationFactory) + .get(); } private TransactionInterceptor transactionInterceptor() { - return new TransactionInterceptorBuilder() - .transactionManager(txManager) - .build(); + return new TransactionInterceptorBuilder().transactionManager(txManager).build(); } @Bean public TransactionSynchronizationFactory transactionSynchronizationFactory() { ExpressionEvaluatingTransactionSynchronizationProcessor transactionSynchronizationProcessor = - new ExpressionEvaluatingTransactionSynchronizationProcessor(); + new ExpressionEvaluatingTransactionSynchronizationProcessor(); SpelExpressionParser spelExpressionParser = new SpelExpressionParser(); transactionSynchronizationProcessor.setAfterCommitExpression(spelExpressionParser.parseExpression( - "payload.renameTo(new java.io.File(payload.absolutePath + '.PASSED'))")); + "payload.renameTo(new java.io.File(payload.absolutePath + '.PASSED'))")); transactionSynchronizationProcessor.setAfterRollbackExpression(spelExpressionParser.parseExpression( - "payload.renameTo(new java.io.File(payload.absolutePath + '.FAILED'))")); + "payload.renameTo(new java.io.File(payload.absolutePath + '.FAILED'))")); return new DefaultTransactionSynchronizationFactory(transactionSynchronizationProcessor); } From ee13326a2027f44beea7665fb780c3c104a82678 Mon Sep 17 00:00:00 2001 From: catalin-burcea Date: Fri, 11 Oct 2019 12:51:08 +0300 Subject: [PATCH 122/199] Move articles out of core-java-lang part 3 --- .../core-java-lang-math/README.md | 1 + .../doubles/SplitFloatingPointNumbers.java | 0 .../core-java-lang-oop-3/README.md | 5 +++ .../core-java-lang-oop-3/pom.xml | 33 ++++++++++++++++++- .../java/com/baeldung/binding/Animal.java | 0 .../com/baeldung/binding/AnimalActivity.java | 0 .../main/java/com/baeldung/binding/Cat.java | 0 .../CommaSeparatedCustomers.java | 2 +- .../baeldung/innerinterfaces}/Customer.java | 2 +- .../java/com/baeldung/interfaces/Box.java | 0 .../com/baeldung/interfaces/Employee.java | 0 .../interfaces/EmployeeSalaryComparator.java | 0 .../com/baeldung/interfaces/HasColor.java | 0 .../interfaces/multiinheritance/Car.java | 0 .../interfaces/multiinheritance/Fly.java | 0 .../multiinheritance/Transform.java | 0 .../interfaces/multiinheritance/Vehicle.java | 0 .../interfaces/polymorphysim/Circle.java | 0 .../polymorphysim/MainTestClass.java | 0 .../interfaces/polymorphysim/Shape.java | 0 .../interfaces/polymorphysim/Square.java | 0 .../main/java/com/baeldung/objects/Car.java | 0 .../parameterpassing/NonPrimitives.java | 2 +- .../baeldung/parameterpassing/Primitives.java | 0 .../binding/AnimalActivityUnitTest.java | 0 .../com/baeldung/binding/AnimalUnitTest.java | 4 +-- .../com/baeldung/binding/CatUnitTest.java | 0 .../InnerInterfaceUnitTest.java | 8 +++-- .../baeldung/nestedclass/AnonymousInner.java | 0 .../com/baeldung/nestedclass/Enclosing.java | 2 +- .../baeldung/nestedclass/NewEnclosing.java | 0 .../com/baeldung/nestedclass/NewOuter.java | 2 +- .../java/com/baeldung/nestedclass/Outer.java | 2 +- .../baeldung/objects/ObjectsUnitTest.java} | 6 ++-- core-java-modules/core-java-lang/README.md | 8 ----- .../iteration}/DaysOfWeekEnum.java | 2 +- .../iteration}/EnumIterationExamples.java | 2 +- 37 files changed, 56 insertions(+), 25 deletions(-) rename core-java-modules/{core-java-lang => core-java-lang-math}/src/main/java/com/baeldung/doubles/SplitFloatingPointNumbers.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/binding/Animal.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/binding/AnimalActivity.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/binding/Cat.java (100%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung/interfaces => core-java-lang-oop-3/src/main/java/com/baeldung/innerinterfaces}/CommaSeparatedCustomers.java (92%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung/interfaces => core-java-lang-oop-3/src/main/java/com/baeldung/innerinterfaces}/Customer.java (88%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/interfaces/Box.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/interfaces/Employee.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/interfaces/EmployeeSalaryComparator.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/interfaces/HasColor.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/interfaces/multiinheritance/Car.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/interfaces/multiinheritance/Fly.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/interfaces/multiinheritance/Transform.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/interfaces/multiinheritance/Vehicle.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/interfaces/polymorphysim/Circle.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/interfaces/polymorphysim/MainTestClass.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/interfaces/polymorphysim/Shape.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/interfaces/polymorphysim/Square.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/objects/Car.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/parameterpassing/NonPrimitives.java (99%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/main/java/com/baeldung/parameterpassing/Primitives.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/test/java/com/baeldung/binding/AnimalActivityUnitTest.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/test/java/com/baeldung/binding/AnimalUnitTest.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/test/java/com/baeldung/binding/CatUnitTest.java (100%) rename core-java-modules/{core-java-lang/src/test/java/com/baeldung/interfaces => core-java-lang-oop-3/src/test/java/com/baeldung/innerinterfaces}/InnerInterfaceUnitTest.java (78%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/test/java/com/baeldung/nestedclass/AnonymousInner.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/test/java/com/baeldung/nestedclass/Enclosing.java (81%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/test/java/com/baeldung/nestedclass/NewEnclosing.java (100%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/test/java/com/baeldung/nestedclass/NewOuter.java (91%) rename core-java-modules/{core-java-lang => core-java-lang-oop-3}/src/test/java/com/baeldung/nestedclass/Outer.java (86%) rename core-java-modules/{core-java-lang/src/test/java/com/baeldung/objects/CarUnitTest.java => core-java-lang-oop-3/src/test/java/com/baeldung/objects/ObjectsUnitTest.java} (96%) rename core-java-modules/core-java-lang/src/test/java/com/baeldung/{java/enumiteration => enums/iteration}/DaysOfWeekEnum.java (92%) rename core-java-modules/core-java-lang/src/test/java/com/baeldung/{java/enumiteration => enums/iteration}/EnumIterationExamples.java (97%) diff --git a/core-java-modules/core-java-lang-math/README.md b/core-java-modules/core-java-lang-math/README.md index cfa3052f43..b316ed1cfb 100644 --- a/core-java-modules/core-java-lang-math/README.md +++ b/core-java-modules/core-java-lang-math/README.md @@ -5,3 +5,4 @@ ### Relevant Articles: - [Java 8 Math New Methods](https://www.baeldung.com/java-8-math) - [Java 8 Unsigned Arithmetic Support](https://www.baeldung.com/java-unsigned-arithmetic) +- [How to Separate Double into Integer and Decimal Parts](https://www.baeldung.com/java-separate-double-into-integer-decimal-parts) diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/doubles/SplitFloatingPointNumbers.java b/core-java-modules/core-java-lang-math/src/main/java/com/baeldung/doubles/SplitFloatingPointNumbers.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/doubles/SplitFloatingPointNumbers.java rename to core-java-modules/core-java-lang-math/src/main/java/com/baeldung/doubles/SplitFloatingPointNumbers.java diff --git a/core-java-modules/core-java-lang-oop-3/README.md b/core-java-modules/core-java-lang-oop-3/README.md index c3a32124b5..4ac6c3ffe9 100644 --- a/core-java-modules/core-java-lang-oop-3/README.md +++ b/core-java-modules/core-java-lang-oop-3/README.md @@ -9,4 +9,9 @@ This module contains articles about Object-oriented programming (OOP) in Java - [Guide to the this Java Keyword](https://www.baeldung.com/java-this) - [Java Public Access Modifier](https://www.baeldung.com/java-public-keyword) - [Composition, Aggregation and Association in Java](https://www.baeldung.com/java-composition-aggregation-association) +- [Nested Classes in Java](https://www.baeldung.com/java-nested-classes) +- [A Guide to Inner Interfaces in Java](https://www.baeldung.com/java-inner-interfaces) +- [Java Classes and Objects](https://www.baeldung.com/java-classes-objects) +- [Java Interfaces](https://www.baeldung.com/java-interfaces) +- [Static and Dynamic Binding in Java](https://www.baeldung.com/java-static-dynamic-binding) - [[<-- Prev]](/core-java-modules/core-java-lang-oop-2) \ No newline at end of file diff --git a/core-java-modules/core-java-lang-oop-3/pom.xml b/core-java-modules/core-java-lang-oop-3/pom.xml index 29807b5bef..1caf17bef3 100644 --- a/core-java-modules/core-java-lang-oop-3/pom.xml +++ b/core-java-modules/core-java-lang-oop-3/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-lang-oop-3 0.1.0-SNAPSHOT core-java-lang-oop-3 @@ -15,6 +14,24 @@ + + + log4j + log4j + ${log4j.version} + + + org.slf4j + log4j-over-slf4j + ${org.slf4j.version} + + + + org.assertj + assertj-core + ${assertj-core.version} + test + com.h2database h2 @@ -23,4 +40,18 @@ + + core-java-lang-oop-3 + + + src/main/resources + true + + + + + + 3.10.0 + + diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/binding/Animal.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/binding/Animal.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/binding/Animal.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/binding/Animal.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/binding/AnimalActivity.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/binding/AnimalActivity.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/binding/AnimalActivity.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/binding/AnimalActivity.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/binding/Cat.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/binding/Cat.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/binding/Cat.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/binding/Cat.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/CommaSeparatedCustomers.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/innerinterfaces/CommaSeparatedCustomers.java similarity index 92% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/CommaSeparatedCustomers.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/innerinterfaces/CommaSeparatedCustomers.java index 29ed2d3d26..a815720d62 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/CommaSeparatedCustomers.java +++ b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/innerinterfaces/CommaSeparatedCustomers.java @@ -1,4 +1,4 @@ -package com.baeldung.interfaces; +package com.baeldung.innerinterfaces; import java.util.ArrayList; import java.util.List; diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/Customer.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/innerinterfaces/Customer.java similarity index 88% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/Customer.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/innerinterfaces/Customer.java index d2f2b48074..ce27460cbb 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/Customer.java +++ b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/innerinterfaces/Customer.java @@ -1,4 +1,4 @@ -package com.baeldung.interfaces; +package com.baeldung.innerinterfaces; public class Customer { public interface List { diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/Box.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/Box.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/Box.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/Box.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/Employee.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/Employee.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/Employee.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/Employee.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/EmployeeSalaryComparator.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/EmployeeSalaryComparator.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/EmployeeSalaryComparator.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/EmployeeSalaryComparator.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/HasColor.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/HasColor.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/HasColor.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/HasColor.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Car.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Car.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Car.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Car.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Fly.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Fly.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Fly.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Fly.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Transform.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Transform.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Transform.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Transform.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Vehicle.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Vehicle.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Vehicle.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Vehicle.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/Circle.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/Circle.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/Circle.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/Circle.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/MainTestClass.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/MainTestClass.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/MainTestClass.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/MainTestClass.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/Shape.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/Shape.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/Shape.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/Shape.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/Square.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/Square.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/Square.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/Square.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/objects/Car.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/objects/Car.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/objects/Car.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/objects/Car.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/parameterpassing/NonPrimitives.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/parameterpassing/NonPrimitives.java similarity index 99% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/parameterpassing/NonPrimitives.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/parameterpassing/NonPrimitives.java index 0e1746fc38..2c6ff3d683 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/parameterpassing/NonPrimitives.java +++ b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/parameterpassing/NonPrimitives.java @@ -17,7 +17,7 @@ public class NonPrimitives { b1.num++; } } - + class FooClass { public int num; diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/parameterpassing/Primitives.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/parameterpassing/Primitives.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/parameterpassing/Primitives.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/parameterpassing/Primitives.java diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/binding/AnimalActivityUnitTest.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/binding/AnimalActivityUnitTest.java similarity index 100% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/binding/AnimalActivityUnitTest.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/binding/AnimalActivityUnitTest.java diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/binding/AnimalUnitTest.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/binding/AnimalUnitTest.java similarity index 100% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/binding/AnimalUnitTest.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/binding/AnimalUnitTest.java index a34640b58a..11201965d9 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/binding/AnimalUnitTest.java +++ b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/binding/AnimalUnitTest.java @@ -14,13 +14,13 @@ import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import org.slf4j.LoggerFactory; +import java.util.List; + import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import java.util.List; - /** * Created by madhumita.g on 01-08-2018. */ diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/binding/CatUnitTest.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/binding/CatUnitTest.java similarity index 100% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/binding/CatUnitTest.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/binding/CatUnitTest.java diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/interfaces/InnerInterfaceUnitTest.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/innerinterfaces/InnerInterfaceUnitTest.java similarity index 78% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/interfaces/InnerInterfaceUnitTest.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/innerinterfaces/InnerInterfaceUnitTest.java index 65d7c860a8..65e51ed93d 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/interfaces/InnerInterfaceUnitTest.java +++ b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/innerinterfaces/InnerInterfaceUnitTest.java @@ -1,11 +1,13 @@ -package com.baeldung.interfaces; - -import static org.junit.Assert.assertEquals; +package com.baeldung.innerinterfaces; +import com.baeldung.innerinterfaces.CommaSeparatedCustomers; +import com.baeldung.innerinterfaces.Customer; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; +import static org.junit.Assert.assertEquals; + @RunWith(JUnit4.class) public class InnerInterfaceUnitTest { @Test diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/AnonymousInner.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/AnonymousInner.java similarity index 100% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/AnonymousInner.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/AnonymousInner.java diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/Enclosing.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/Enclosing.java similarity index 81% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/Enclosing.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/Enclosing.java index 3db33cde9b..a7c0e1b29f 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/Enclosing.java +++ b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/Enclosing.java @@ -15,7 +15,7 @@ public class Enclosing { @Test public void test() { - Enclosing.StaticNested nested = new Enclosing.StaticNested(); + StaticNested nested = new StaticNested(); nested.run(); } } diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/NewEnclosing.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/NewEnclosing.java similarity index 100% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/NewEnclosing.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/NewEnclosing.java diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/NewOuter.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/NewOuter.java similarity index 91% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/NewOuter.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/NewOuter.java index 260f69fd1b..37c8be7817 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/NewOuter.java +++ b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/NewOuter.java @@ -23,7 +23,7 @@ public class NewOuter { @Test public void test() { NewOuter outer = new NewOuter(); - NewOuter.InnerClass inner = outer.new InnerClass(); + InnerClass inner = outer.new InnerClass(); inner.run(); } diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/Outer.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/Outer.java similarity index 86% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/Outer.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/Outer.java index d5e46670c9..196cd6cd38 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/Outer.java +++ b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/Outer.java @@ -14,7 +14,7 @@ public class Outer { @Test public void test() { Outer outer = new Outer(); - Outer.Inner inner = outer.new Inner(); + Inner inner = outer.new Inner(); inner.run(); } } diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/objects/CarUnitTest.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/objects/ObjectsUnitTest.java similarity index 96% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/objects/CarUnitTest.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/objects/ObjectsUnitTest.java index a1ef20523e..e0f8766be4 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/objects/CarUnitTest.java +++ b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/objects/ObjectsUnitTest.java @@ -1,11 +1,11 @@ package com.baeldung.objects; -import static org.junit.Assert.*; - import org.junit.Before; import org.junit.Test; -public class CarUnitTest { +import static org.junit.Assert.*; + +public class ObjectsUnitTest { private Car car; diff --git a/core-java-modules/core-java-lang/README.md b/core-java-modules/core-java-lang/README.md index 3c33409e7e..9b485d80e9 100644 --- a/core-java-modules/core-java-lang/README.md +++ b/core-java-modules/core-java-lang/README.md @@ -3,22 +3,14 @@ This module contains articles about core features in the Java language ### Relevant Articles: - - [Generate equals() and hashCode() with Eclipse](https://www.baeldung.com/java-eclipse-equals-and-hashcode) - [Iterating Over Enum Values in Java](https://www.baeldung.com/java-enum-iteration) - [Comparator and Comparable in Java](https://www.baeldung.com/java-comparator-comparable) -- [Nested Classes in Java](https://www.baeldung.com/java-nested-classes) -- [A Guide to Inner Interfaces in Java](https://www.baeldung.com/java-inner-interfaces) - [Recursion In Java](https://www.baeldung.com/java-recursion) - [A Guide to the finalize Method in Java](https://www.baeldung.com/java-finalize) - [Quick Guide to java.lang.System](https://www.baeldung.com/java-lang-system) - [Using Java Assertions](https://www.baeldung.com/java-assert) -- [Static and Dynamic Binding in Java](https://www.baeldung.com/java-static-dynamic-binding) - [Synthetic Constructs in Java](https://www.baeldung.com/java-synthetic) -- [How to Separate Double into Integer and Decimal Parts](https://www.baeldung.com/java-separate-double-into-integer-decimal-parts) - [Retrieving a Class Name in Java](https://www.baeldung.com/java-class-name) -- [Java Interfaces](https://www.baeldung.com/java-interfaces) - [Attaching Values to Java Enum](https://www.baeldung.com/java-enum-values) -- [Java Classes and Objects](https://www.baeldung.com/java-classes-objects) -- [A Guide to Java Enums](https://www.baeldung.com/a-guide-to-java-enums) - [[More --> ]](/core-java-modules/core-java-lang-2) \ No newline at end of file diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/java/enumiteration/DaysOfWeekEnum.java b/core-java-modules/core-java-lang/src/test/java/com/baeldung/enums/iteration/DaysOfWeekEnum.java similarity index 92% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/java/enumiteration/DaysOfWeekEnum.java rename to core-java-modules/core-java-lang/src/test/java/com/baeldung/enums/iteration/DaysOfWeekEnum.java index 89e718adf3..f25ddfa6dd 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/java/enumiteration/DaysOfWeekEnum.java +++ b/core-java-modules/core-java-lang/src/test/java/com/baeldung/enums/iteration/DaysOfWeekEnum.java @@ -1,4 +1,4 @@ -package com.baeldung.java.enumiteration; +package com.baeldung.enums.iteration; import java.util.stream.Stream; diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/java/enumiteration/EnumIterationExamples.java b/core-java-modules/core-java-lang/src/test/java/com/baeldung/enums/iteration/EnumIterationExamples.java similarity index 97% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/java/enumiteration/EnumIterationExamples.java rename to core-java-modules/core-java-lang/src/test/java/com/baeldung/enums/iteration/EnumIterationExamples.java index 110943e39f..9b058aef83 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/java/enumiteration/EnumIterationExamples.java +++ b/core-java-modules/core-java-lang/src/test/java/com/baeldung/enums/iteration/EnumIterationExamples.java @@ -1,4 +1,4 @@ -package com.baeldung.java.enumiteration; +package com.baeldung.enums.iteration; import java.util.ArrayList; import java.util.Arrays; From 83e74e8debc79e36e7509725834dd928277c32a9 Mon Sep 17 00:00:00 2001 From: Rodrigo Graciano Date: Fri, 11 Oct 2019 07:15:00 -0400 Subject: [PATCH 123/199] BAEL-2943 --- .../root/calculator/NthRootCalculator.java | 12 ++++--- .../java/com/baeldung/nth/root/main/Main.java | 2 +- .../calculator/NthRootCalculatorUnitTest.java | 19 ++++++----- .../baeldung/nth/root/main/MainUnitTest.java | 34 ------------------- 4 files changed, 20 insertions(+), 47 deletions(-) delete mode 100644 java-numbers/src/test/java/com/baeldung/nth/root/main/MainUnitTest.java diff --git a/java-numbers/src/main/java/com/baeldung/nth/root/calculator/NthRootCalculator.java b/java-numbers/src/main/java/com/baeldung/nth/root/calculator/NthRootCalculator.java index 217f1e06de..5e9f5bbcb4 100644 --- a/java-numbers/src/main/java/com/baeldung/nth/root/calculator/NthRootCalculator.java +++ b/java-numbers/src/main/java/com/baeldung/nth/root/calculator/NthRootCalculator.java @@ -1,8 +1,12 @@ package com.baeldung.nth.root.calculator; -public class NthRootCalculator -{ - public Double calculate(Double base, Double n) { - return Math.pow(Math.E, Math.log(base)/n); +public class NthRootCalculator { + + public double calculateWithRound(double base, double n) { + return Math.round(calculate(base, n)); + } + + public double calculate(double base, double n) { + return Math.pow(base, 1.0 / n); } } diff --git a/java-numbers/src/main/java/com/baeldung/nth/root/main/Main.java b/java-numbers/src/main/java/com/baeldung/nth/root/main/Main.java index 3fcd36812f..50190da38c 100644 --- a/java-numbers/src/main/java/com/baeldung/nth/root/main/Main.java +++ b/java-numbers/src/main/java/com/baeldung/nth/root/main/Main.java @@ -7,7 +7,7 @@ public class Main { NthRootCalculator calculator = new NthRootCalculator(); Double base = Double.parseDouble(args[0]); Double n = Double.parseDouble(args[1]); - Double result = calculator.calculate(base, n); + Double result = calculator.calculateWithRound(base, n); System.out.println("The " + n + " root of " + base + " equals to " + result + "."); } } diff --git a/java-numbers/src/test/java/com/baeldung/nth/root/calculator/NthRootCalculatorUnitTest.java b/java-numbers/src/test/java/com/baeldung/nth/root/calculator/NthRootCalculatorUnitTest.java index ab962fc150..35970536ed 100644 --- a/java-numbers/src/test/java/com/baeldung/nth/root/calculator/NthRootCalculatorUnitTest.java +++ b/java-numbers/src/test/java/com/baeldung/nth/root/calculator/NthRootCalculatorUnitTest.java @@ -1,19 +1,22 @@ package com.baeldung.nth.root.calculator; -import static org.junit.Assert.assertEquals; - import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.InjectMocks; -import org.mockito.junit.MockitoJUnitRunner; + +import static org.junit.Assert.assertEquals; public class NthRootCalculatorUnitTest { private NthRootCalculator nthRootCalculator = new NthRootCalculator(); @Test - public void whenBaseIs125AndNIs3_thenNthRootIs5() { - Double result = nthRootCalculator.calculate(125.0, 3.0); - assertEquals(result, (Double) 5.0d); + public void whenBaseIs125AndNIs3_thenNthIs5() { + double nth = nthRootCalculator.calculateWithRound(125,3); + assertEquals(5, nth, 0); + } + + @Test + public void whenBaseIs625AndNIs4_thenNthIs5() { + double nth = nthRootCalculator.calculate(625,4); + assertEquals(5, nth, 0.00001); } } diff --git a/java-numbers/src/test/java/com/baeldung/nth/root/main/MainUnitTest.java b/java-numbers/src/test/java/com/baeldung/nth/root/main/MainUnitTest.java deleted file mode 100644 index a2fd839ba4..0000000000 --- a/java-numbers/src/test/java/com/baeldung/nth/root/main/MainUnitTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.baeldung.nth.root.main; - -import java.io.ByteArrayOutputStream; -import java.io.PrintStream; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.mockito.InjectMocks; -import static org.junit.Assert.assertEquals; - -public class MainUnitTest { - @InjectMocks - private Main main; - - private final ByteArrayOutputStream outContent = new ByteArrayOutputStream(); - private final PrintStream originalOut = System.out; - - @Before - public void setUpStreams() { - System.setOut(new PrintStream(outContent)); - } - - @After - public void restoreStreams() { - System.setOut(originalOut); - } - - @Test - public void givenThatTheBaseIs125_andTheExpIs3_whenMainIsCalled_thenTheCorrectResultIsPrinted() { - main.main(new String[]{"125.0", "3.0"}); - assertEquals("The 3.0 root of 125.0 equals to 5.0.\n", outContent.toString().replaceAll("\r", "")); - } -} From f7e594722a6a588c355f66b5d23c17d05522566d Mon Sep 17 00:00:00 2001 From: Sjmillington Date: Fri, 11 Oct 2019 16:20:48 +0100 Subject: [PATCH 124/199] change code back --- jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java b/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java index 7b2fe3a0f2..9ee82c79e7 100644 --- a/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java +++ b/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java @@ -49,7 +49,7 @@ public class Log { logs = git.log() // for all log.all() - .addPath("README.MD") + .addPath("README.md") .call(); count = 0; for (RevCommit rev : logs) { From 6a0c6929543d56ddf7100e3f1456b96b1b9c1a9c Mon Sep 17 00:00:00 2001 From: Sjmillington Date: Fri, 11 Oct 2019 16:26:29 +0100 Subject: [PATCH 125/199] changed MD to md --- jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java b/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java index 9ee82c79e7..a50028a9ae 100644 --- a/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java +++ b/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java @@ -56,7 +56,7 @@ public class Log { //System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */); count++; } - System.out.println("Had " + count + " commits on README.MD"); + System.out.println("Had " + count + " commits on README.md"); logs = git.log() // for all log.all() From d1d1e14c4b0050722a484dd4bed5e84ae0c8e663 Mon Sep 17 00:00:00 2001 From: "matt.rossi" Date: Fri, 11 Oct 2019 18:11:03 +0200 Subject: [PATCH 126/199] Fix Format --- .../main/java/com/baeldung/jpa/text/Exam.java | 103 ++++++++ .../com/baeldung/jpa/text/ExamRepository.java | 39 +++ .../main/resources/META-INF/persistence.xml | 240 ++++++++++-------- .../baeldung/jpa/text/JPATextUnitTest.java | 41 +++ 4 files changed, 311 insertions(+), 112 deletions(-) create mode 100644 persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/text/Exam.java create mode 100644 persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/text/ExamRepository.java create mode 100644 persistence-modules/java-jpa-2/src/test/java/com/baeldung/jpa/text/JPATextUnitTest.java diff --git a/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/text/Exam.java b/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/text/Exam.java new file mode 100644 index 0000000000..8bea8e0121 --- /dev/null +++ b/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/text/Exam.java @@ -0,0 +1,103 @@ +package com.baeldung.jpa.text; + +import javax.persistence.*; + +@Entity +public class Exam { + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + @Lob + private String description; + @Column(columnDefinition = "text") + private String text; + @Column(length = 20) + private String shortText; + + public Exam() { + + } + + public Exam(String description, String text, String shortText) { + this.description = description; + this.text = text; + this.shortText = shortText; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public String getShortText() { + return shortText; + } + + public void setShortText(String shortText) { + this.shortText = shortText; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((description == null) ? 0 : description.hashCode()); + result = prime * result + ((id == null) ? 0 : id.hashCode()); + result = prime * result + ((shortText == null) ? 0 : shortText.hashCode()); + result = prime * result + ((text == null) ? 0 : text.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + Exam other = (Exam) obj; + if (description == null) { + if (other.description != null) + return false; + } else if (!description.equals(other.description)) + return false; + if (id == null) { + if (other.id != null) + return false; + } else if (!id.equals(other.id)) + return false; + if (shortText == null) { + if (other.shortText != null) + return false; + } else if (!shortText.equals(other.shortText)) + return false; + if (text == null) { + if (other.text != null) + return false; + } else if (!text.equals(other.text)) + return false; + return true; + } + +} diff --git a/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/text/ExamRepository.java b/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/text/ExamRepository.java new file mode 100644 index 0000000000..2ee502bf4c --- /dev/null +++ b/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/text/ExamRepository.java @@ -0,0 +1,39 @@ +package com.baeldung.jpa.text; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; + +public class ExamRepository { + + private EntityManagerFactory emf = null; + + public ExamRepository() { + emf = Persistence.createEntityManagerFactory("jpa-h2-text"); + } + + public Exam find(Long id) { + EntityManager entityManager = emf.createEntityManager(); + Exam exam = entityManager.find(Exam.class, id); + entityManager.close(); + return exam; + } + + public Exam save(Exam exam) { + + EntityManager entityManager = emf.createEntityManager(); + entityManager.getTransaction() + .begin(); + exam = entityManager.merge(exam); + entityManager.getTransaction() + .commit(); + entityManager.close(); + + return exam; + } + + public void clean() { + emf.close(); + } + +} diff --git a/persistence-modules/java-jpa-2/src/main/resources/META-INF/persistence.xml b/persistence-modules/java-jpa-2/src/main/resources/META-INF/persistence.xml index 62d7ce0f5e..cd46901792 100644 --- a/persistence-modules/java-jpa-2/src/main/resources/META-INF/persistence.xml +++ b/persistence-modules/java-jpa-2/src/main/resources/META-INF/persistence.xml @@ -1,122 +1,138 @@ + version="2.2"> - - org.hibernate.jpa.HibernatePersistenceProvider - com.baeldung.jpa.queryparams.Employee - true - - - - - - - - - - - - + + org.hibernate.jpa.HibernatePersistenceProvider + com.baeldung.jpa.queryparams.Employee + true + + + + + + + + + + + + - - org.hibernate.jpa.HibernatePersistenceProvider - com.baeldung.jpa.defaultvalues.User - true - - - - - - - - - - - - - org.hibernate.jpa.HibernatePersistenceProvider - com.baeldung.jpa.querytypes.UserEntity - true - - - - - - - - - - - - + + org.hibernate.jpa.HibernatePersistenceProvider + com.baeldung.jpa.text.Exam + true + + + + + + + + + + + - - org.hibernate.jpa.HibernatePersistenceProvider - com.baeldung.jpa.projections.Product - true - - - - - - - - - - - - + + org.hibernate.jpa.HibernatePersistenceProvider + com.baeldung.jpa.defaultvalues.User + true + + + + + + + + + + + - - org.hibernate.jpa.HibernatePersistenceProvider - com.baeldung.jpa.criteria.Item - true - - - - - - - - - - - - + + org.hibernate.jpa.HibernatePersistenceProvider + com.baeldung.jpa.querytypes.UserEntity + true + + + + + + + + + + + + + + + org.hibernate.jpa.HibernatePersistenceProvider + com.baeldung.jpa.projections.Product + true + + + + + + + + + + + + + + + org.hibernate.jpa.HibernatePersistenceProvider + com.baeldung.jpa.criteria.Item + true + + + + + + + + + + + + \ No newline at end of file diff --git a/persistence-modules/java-jpa-2/src/test/java/com/baeldung/jpa/text/JPATextUnitTest.java b/persistence-modules/java-jpa-2/src/test/java/com/baeldung/jpa/text/JPATextUnitTest.java new file mode 100644 index 0000000000..f9f355c464 --- /dev/null +++ b/persistence-modules/java-jpa-2/src/test/java/com/baeldung/jpa/text/JPATextUnitTest.java @@ -0,0 +1,41 @@ +package com.baeldung.jpa.text; + +import static org.junit.Assert.assertEquals; + +import javax.persistence.PersistenceException; + +import org.junit.BeforeClass; +import org.junit.Test; + +public class JPATextUnitTest { + + private static ExamRepository examRepository = null; + + @BeforeClass + public static void once() { + examRepository = new ExamRepository(); + } + + @Test + public void givenExam_whenSaveExam_thenReturnExpectedExam() { + Exam exam = new Exam(); + exam.setDescription("This is a description. Sometimes the description can be very very long! "); + exam.setText("This is a text. Sometimes the text can be very very long!"); + exam.setShortText("A short text"); + + exam = examRepository.save(exam); + + assertEquals(examRepository.find(exam.getId()), exam); + } + + @Test(expected = PersistenceException.class) + public void givenExamWithVeryLongShortText_whenSaveExam_thenThrowPersistenceException() { + Exam exam = new Exam(); + exam.setDescription("This is a very long text"); + exam.setText("This is a long text"); + exam.setShortText("This is a very long long short text. Maybe this can cause problems!!"); + + examRepository.save(exam); + } + +} \ No newline at end of file From 00c18aa1d05844788b9c509abb23cdf44294ce8a Mon Sep 17 00:00:00 2001 From: Loredana Crusoveanu Date: Fri, 11 Oct 2019 20:13:15 +0300 Subject: [PATCH 127/199] Update README.md --- libraries/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/README.md b/libraries/README.md index 627c30e75a..79ba8fe55d 100644 --- a/libraries/README.md +++ b/libraries/README.md @@ -40,7 +40,6 @@ Remember, for advanced libraries like [Jackson](/jackson) and [JUnit](/testing-m - [Publish and Receive Messages with Nats Java Client](https://www.baeldung.com/nats-java-client) - [Java Concurrency Utility with JCTools](https://www.baeldung.com/java-concurrency-jc-tools) - [Introduction to JavaPoet](https://www.baeldung.com/java-poet) -- [Convert String to Date in Java](https://www.baeldung.com/java-string-to-date) - [Guide to Resilience4j](https://www.baeldung.com/resilience4j) - [Exactly Once Processing in Kafka](https://www.baeldung.com/kafka-exactly-once) - [Implementing a FTP-Client in Java](https://www.baeldung.com/java-ftp-client) From ee48e6a29da67629cdfc8c7550a4f5b26f3c7ac5 Mon Sep 17 00:00:00 2001 From: Loredana Crusoveanu Date: Fri, 11 Oct 2019 20:13:33 +0300 Subject: [PATCH 128/199] Update README.md --- java-dates/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/java-dates/README.md b/java-dates/README.md index 3a215f9094..2c962ece64 100644 --- a/java-dates/README.md +++ b/java-dates/README.md @@ -30,3 +30,4 @@ - [ZoneOffset in Java](https://www.baeldung.com/java-zone-offset) - [Differences Between ZonedDateTime and OffsetDateTime](https://www.baeldung.com/java-zoneddatetime-offsetdatetime) - [Introduction to Joda-Time](https://www.baeldung.com/joda-time) +- [Convert String to Date in Java](https://www.baeldung.com/java-string-to-date) From 26d4229f4dcf98beb8bc82d1ebbf98a59a6b2d1e Mon Sep 17 00:00:00 2001 From: eric-martin Date: Fri, 11 Oct 2019 20:22:14 -0500 Subject: [PATCH 129/199] Fixed method reference examples in labmda article --- .../java8/lambda/methodreference/MethodReferenceUnitTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/methodreference/MethodReferenceUnitTest.java b/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/methodreference/MethodReferenceUnitTest.java index 835815aecd..957294153b 100644 --- a/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/methodreference/MethodReferenceUnitTest.java +++ b/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/methodreference/MethodReferenceUnitTest.java @@ -35,9 +35,9 @@ public class MethodReferenceUnitTest { public void referenceToInstanceMethodOfArbitratyObjectOfParticularType() { List numbers = Arrays.asList(5, 3, 50, 24, 40, 2, 9, 18); numbers.stream() - .sorted((a, b) -> Integer.compare(a, b)); + .sorted((a, b) -> a.compareTo(b)); numbers.stream() - .sorted(Integer::compare); + .sorted(Integer::compareTo); } @Test From f4497314297a6d1a1d4b5480f2d8ec7441365312 Mon Sep 17 00:00:00 2001 From: Vivek Balasubramaniam Date: Sat, 12 Oct 2019 08:56:35 +0530 Subject: [PATCH 130/199] BAEL-3091: The Prototype Pattern in Java --- .../java/com/baeldung/prototype/Position.java | 51 ++++++++++++++++++ .../java/com/baeldung/prototype/Tree.java | 54 +++++++++++++++++++ .../com/baeldung/prototype/TreeCloneable.java | 7 +++ .../prototype/TreePrototypeUnitTest.java | 24 +++++++++ 4 files changed, 136 insertions(+) create mode 100644 patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Position.java create mode 100644 patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java create mode 100644 patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/TreeCloneable.java create mode 100644 patterns/design-patterns-creational/src/test/java/com/baeldung/prototype/TreePrototypeUnitTest.java diff --git a/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Position.java b/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Position.java new file mode 100644 index 0000000000..dd7694feb6 --- /dev/null +++ b/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Position.java @@ -0,0 +1,51 @@ +package com.baeldung.prototype; + +public final class Position { + + private final int x; + private final int y; + + public Position(int x, int y) { + this.x = x; + this.y = y; + } + + public int getX() { + return x; + } + + public int getY() { + return y; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + x; + result = prime * result + y; + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + Position other = (Position) obj; + if (x != other.x) + return false; + if (y != other.y) + return false; + return true; + } + + @Override + public String toString() { + return "Position [x=" + x + ", y=" + y + "]"; + } + +} diff --git a/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java b/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java new file mode 100644 index 0000000000..242ed2176e --- /dev/null +++ b/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java @@ -0,0 +1,54 @@ +package com.baeldung.prototype; + +public class Tree implements TreeCloneable { + + private double mass; + private double height; + private Position position; + + public Tree(double mass, double height) { + this.mass = mass; + this.height = height; + } + + public void setMass(double mass) { + this.mass = mass; + } + + public void setHeight(double height) { + this.height = height; + } + + public void setPosition(Position position) { + this.position = position; + } + + public double getMass() { + return mass; + } + + public double getHeight() { + return height; + } + + public Position getPosition() { + return position; + } + + @Override + public TreeCloneable createA_Clone() { + TreeCloneable tree = null; + try { + tree = (TreeCloneable) super.clone(); + } catch (CloneNotSupportedException e) { + e.printStackTrace(); + } + return tree; + } + + @Override + public String toString() { + return "SomeTree [mass=" + mass + ", height=" + height + ", position=" + position + "]"; + } + +} diff --git a/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/TreeCloneable.java b/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/TreeCloneable.java new file mode 100644 index 0000000000..e554058624 --- /dev/null +++ b/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/TreeCloneable.java @@ -0,0 +1,7 @@ +package com.baeldung.prototype; + +public interface TreeCloneable extends Cloneable { + + public TreeCloneable createA_Clone(); + +} diff --git a/patterns/design-patterns-creational/src/test/java/com/baeldung/prototype/TreePrototypeUnitTest.java b/patterns/design-patterns-creational/src/test/java/com/baeldung/prototype/TreePrototypeUnitTest.java new file mode 100644 index 0000000000..7f260c52bf --- /dev/null +++ b/patterns/design-patterns-creational/src/test/java/com/baeldung/prototype/TreePrototypeUnitTest.java @@ -0,0 +1,24 @@ +package com.baeldung.prototype; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.Test; + +public class TreePrototypeUnitTest { + + @Test + public void givenATreePrototypeWhenClonedThenCreateA_Clone() { + double mass = 10.0; + double height = 3.7; + Position position = new Position(3, 7); + Position otherPosition = new Position(4, 8); + + Tree tree = new Tree(mass, height); + tree.setPosition(position); + Tree anotherTree = (Tree) tree.createA_Clone(); + anotherTree.setPosition(otherPosition); + + assertEquals(position, tree.getPosition()); + assertEquals(otherPosition, anotherTree.getPosition()); + } +} From 5fa271fe024d6bbcb96f8308038abd1fd8ab7287 Mon Sep 17 00:00:00 2001 From: vatsalgosar Date: Sat, 12 Oct 2019 15:51:21 +0530 Subject: [PATCH 131/199] BAEL-3209 - Adding elements in Java Array vs ArrayList --- .../array/operations/ArrayOperations.java | 30 +++++++++++ .../operations/ArrayListOperations.java | 23 +++++++++ .../operations/ArrayOperationsUnitTest.java | 32 ++++++++++++ .../ArrayListOperationsUnitTest.java | 50 +++++++++++++++++++ 4 files changed, 135 insertions(+) create mode 100644 core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/operations/ArrayOperations.java create mode 100644 core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/arraylist/operations/ArrayListOperations.java create mode 100644 core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/operations/ArrayOperationsUnitTest.java create mode 100644 core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/arraylist/operations/ArrayListOperationsUnitTest.java diff --git a/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/operations/ArrayOperations.java b/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/operations/ArrayOperations.java new file mode 100644 index 0000000000..8d9c4d6730 --- /dev/null +++ b/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/operations/ArrayOperations.java @@ -0,0 +1,30 @@ +package com.baeldung.array.operations; + +public class ArrayOperations { + + public static Integer[] addElementUsingPureJava(Integer[] srcArray, int elementToAdd) { + Integer[] destArray = new Integer[srcArray.length + 1]; + + for (int i = 0; i < srcArray.length; i++) { + destArray[i] = srcArray[i]; + } + + destArray[destArray.length - 1] = elementToAdd; + return destArray; + } + + public static int[] insertAnElementAtAGivenIndex(final int[] srcArray, int index, int newElement) { + int[] destArray = new int[srcArray.length + 1]; + int j = 0; + for (int i = 0; i < destArray.length - 1; i++) { + + if (i == index) { + destArray[i] = newElement; + } else { + destArray[i] = srcArray[j]; + j++; + } + } + return destArray; + } +} diff --git a/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/arraylist/operations/ArrayListOperations.java b/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/arraylist/operations/ArrayListOperations.java new file mode 100644 index 0000000000..b2aed553da --- /dev/null +++ b/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/arraylist/operations/ArrayListOperations.java @@ -0,0 +1,23 @@ +package com.baeldung.arraylist.operations; + +import java.util.ArrayList; + +public class ArrayListOperations { + + public static Integer getAnIntegerElement(ArrayList anArrayList, int index) { + return anArrayList.get(index); + } + + public static void modifyAnIntegerElement(ArrayList anArrayList, int index, Integer newElement) { + anArrayList.set(index, newElement); + } + + public static void appendAnIntegerElement(ArrayList anArrayList, Integer newElement) { + anArrayList.add(newElement); + } + + public static void insertAnIntegerElementAtIndex(ArrayList anArrayList, int index, Integer newElement) { + anArrayList.add(index, newElement); + } + +} diff --git a/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/operations/ArrayOperationsUnitTest.java b/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/operations/ArrayOperationsUnitTest.java new file mode 100644 index 0000000000..5ed27f2dbb --- /dev/null +++ b/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/operations/ArrayOperationsUnitTest.java @@ -0,0 +1,32 @@ +package com.baeldung.array.operations; + +import org.junit.jupiter.api.Test; +import static org.junit.Assert.assertArrayEquals; +import static org.assertj.core.api.Assertions.assertThat; + +public class ArrayOperationsUnitTest { + + @Test + public void givenSourceArrayAndElement_whenAddElementUsingPureJavaIsInvoked_thenNewElementMustBeAdded() { + Integer[] sourceArray = { 1, 2, 3, 4 }; + int elementToAdd = 5; + + Integer[] destArray = ArrayOperations.addElementUsingPureJava(sourceArray, elementToAdd); + + Integer[] expectedArray = { 1, 2, 3, 4, 5 }; + assertArrayEquals(expectedArray, destArray); + } + + @Test + public void whenInsertAnElementAtAGivenIndexCalled_thenShiftTheFollowingElementsAndInsertTheElementInArray() { + int[] expectedArray = { 1, 4, 2, 3, 0 }; + int[] anArray = new int[4]; + anArray[0] = 1; + anArray[1] = 2; + anArray[2] = 3; + int[] outputArray = ArrayOperations.insertAnElementAtAGivenIndex(anArray, 1, 4); + + assertThat(outputArray).containsExactly(expectedArray); + } + +} diff --git a/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/arraylist/operations/ArrayListOperationsUnitTest.java b/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/arraylist/operations/ArrayListOperationsUnitTest.java new file mode 100644 index 0000000000..1ec7645d8f --- /dev/null +++ b/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/arraylist/operations/ArrayListOperationsUnitTest.java @@ -0,0 +1,50 @@ +package com.baeldung.arraylist.operations; + +import java.util.ArrayList; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import static org.assertj.core.api.Assertions.assertThat; + +public class ArrayListOperationsUnitTest { + + private ArrayList anArrayList; + + @BeforeEach + public void setupDefaults() { + anArrayList = new ArrayList<>(); + anArrayList.add(2); + anArrayList.add(3); + anArrayList.add(4); + } + + @Test + public void whenGetAnIntegerElementCalled_thenReturnTheIntegerElement() { + Integer output = ArrayListOperations.getAnIntegerElement(anArrayList, 1); + + assertThat(output).isEqualTo(3); + } + + @Test + public void whenModifyAnIntegerElementCalled_thenModifyTheIntegerElement() { + ArrayListOperations.modifyAnIntegerElement(anArrayList, 2, 5); + Integer output = ArrayListOperations.getAnIntegerElement(anArrayList, 2); + + assertThat(output).isEqualTo(5); + } + + @Test + public void whenAppendAnIntegerElementCalled_thenTheIntegerElementIsAppendedToArrayList() { + ArrayListOperations.appendAnIntegerElement(anArrayList, 6); + Integer output = ArrayListOperations.getAnIntegerElement(anArrayList, anArrayList.size() - 1); + + assertThat(output).isEqualTo(6); + } + + @Test + public void whenInsertAnIntegerAtIndexCalled_thenTheIntegerElementIsInseredToArrayList() { + ArrayListOperations.insertAnIntegerElementAtIndex(anArrayList, 1, 10); + Integer output = ArrayListOperations.getAnIntegerElement(anArrayList, 1); + + assertThat(output).isEqualTo(10); + } +} \ No newline at end of file From d937267ed1cf48b9684af9cbf79a37f50b1584f4 Mon Sep 17 00:00:00 2001 From: enpy303 Date: Sat, 12 Oct 2019 15:39:04 +0200 Subject: [PATCH 132/199] formatting enhancements --- .../com/baeldung/tx/TxIntegrationConfig.java | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java b/spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java index a5dedeafed..7a58cb3125 100644 --- a/spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java +++ b/spring-integration/src/main/java/com/baeldung/tx/TxIntegrationConfig.java @@ -20,10 +20,7 @@ import org.springframework.integration.file.FileReadingMessageSource; import org.springframework.integration.file.filters.SimplePatternFileListFilter; import org.springframework.integration.file.transformer.FileToStringTransformer; import org.springframework.integration.scheduling.PollerMetadata; -import org.springframework.integration.transaction.DefaultTransactionSynchronizationFactory; -import org.springframework.integration.transaction.ExpressionEvaluatingTransactionSynchronizationProcessor; -import org.springframework.integration.transaction.TransactionInterceptorBuilder; -import org.springframework.integration.transaction.TransactionSynchronizationFactory; +import org.springframework.integration.transaction.*; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; @@ -84,15 +81,19 @@ public class TxIntegrationConfig { @Bean public TransactionSynchronizationFactory transactionSynchronizationFactory() { - ExpressionEvaluatingTransactionSynchronizationProcessor transactionSynchronizationProcessor = - new ExpressionEvaluatingTransactionSynchronizationProcessor(); - SpelExpressionParser spelExpressionParser = new SpelExpressionParser(); - transactionSynchronizationProcessor.setAfterCommitExpression(spelExpressionParser.parseExpression( - "payload.renameTo(new java.io.File(payload.absolutePath + '.PASSED'))")); - transactionSynchronizationProcessor.setAfterRollbackExpression(spelExpressionParser.parseExpression( - "payload.renameTo(new java.io.File(payload.absolutePath + '.FAILED'))")); - return new DefaultTransactionSynchronizationFactory(transactionSynchronizationProcessor); - } + ExpressionEvaluatingTransactionSynchronizationProcessor processor = + new ExpressionEvaluatingTransactionSynchronizationProcessor(); + + SpelExpressionParser spelParser = new SpelExpressionParser(); + processor.setAfterCommitExpression( + spelParser.parseExpression( + "payload.renameTo(new java.io.File(payload.absolutePath + '.PASSED'))")); + processor.setAfterRollbackExpression( + spelParser.parseExpression( + "payload.renameTo(new java.io.File(payload.absolutePath + '.FAILED'))")); + + return new DefaultTransactionSynchronizationFactory(processor); + } @Bean @Transformer(inputChannel = "inputChannel", outputChannel = "toServiceChannel") From 2c8354eb512d7e967a300272c0c4220ec95db481 Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Sat, 12 Oct 2019 19:24:18 +0530 Subject: [PATCH 133/199] BAEL-17684 POM Properties Cleanup -Properties cleanup --- animal-sniffer-mvn-plugin/pom.xml | 1 - apache-avro/pom.xml | 17 ----------------- apache-fop/pom.xml | 1 - apache-geode/pom.xml | 19 ------------------- apache-meecrowave/pom.xml | 8 -------- apache-olingo/olingo2/pom.xml | 1 - apache-pulsar/pom.xml | 4 +--- apache-solrj/pom.xml | 1 - apache-spark/pom.xml | 11 ----------- apache-velocity/pom.xml | 1 - aws-lambda/pom.xml | 2 -- aws/pom.xml | 1 - axon/pom.xml | 1 - azure/pom.xml | 1 - parent-java/pom.xml | 1 - parent-kotlin/pom.xml | 10 +++------- parent-spring-4/pom.xml | 1 - parent-spring-5/pom.xml | 1 - 18 files changed, 4 insertions(+), 78 deletions(-) diff --git a/animal-sniffer-mvn-plugin/pom.xml b/animal-sniffer-mvn-plugin/pom.xml index 55e37e2ec4..fd8f6d3d8c 100644 --- a/animal-sniffer-mvn-plugin/pom.xml +++ b/animal-sniffer-mvn-plugin/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung animal-sniffer-mvn-plugin 1.0-SNAPSHOT animal-sniffer-mvn-plugin diff --git a/apache-avro/pom.xml b/apache-avro/pom.xml index e6fb4d24ff..6baae9c541 100644 --- a/apache-avro/pom.xml +++ b/apache-avro/pom.xml @@ -14,12 +14,6 @@ - - junit - junit - ${junit.version} - test - org.slf4j slf4j-simple @@ -46,15 +40,6 @@ - - org.apache.maven.plugins - maven-compiler-plugin - ${compiler-plugin.version} - - ${java.version} - ${java.version} - - org.apache.avro avro-maven-plugin @@ -79,8 +64,6 @@ - UTF-8 - 3.5 1.8.2 1.7.25 diff --git a/apache-fop/pom.xml b/apache-fop/pom.xml index 879eb4f111..150756d51d 100644 --- a/apache-fop/pom.xml +++ b/apache-fop/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung apache-fop 0.1-SNAPSHOT apache-fop diff --git a/apache-geode/pom.xml b/apache-geode/pom.xml index 15c7e04d29..57195a5991 100644 --- a/apache-geode/pom.xml +++ b/apache-geode/pom.xml @@ -17,27 +17,8 @@ org.apache.geode geode-core - ${geode.core} - - - junit - junit - ${junit.version} - - - - - org.apache.maven.plugins - maven-compiler-plugin - - ${java.version} - ${java.version} - - - - 1.6.0 diff --git a/apache-meecrowave/pom.xml b/apache-meecrowave/pom.xml index 4eb1094f94..51c6514992 100644 --- a/apache-meecrowave/pom.xml +++ b/apache-meecrowave/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung apache-meecrowave 0.0.1 apache-meecrowave @@ -38,13 +37,6 @@ ${meecrowave-junit.version} test - - - junit - junit - ${junit.version} - test - diff --git a/apache-olingo/olingo2/pom.xml b/apache-olingo/olingo2/pom.xml index 727e6ca484..95b123efbc 100644 --- a/apache-olingo/olingo2/pom.xml +++ b/apache-olingo/olingo2/pom.xml @@ -5,7 +5,6 @@ 4.0.0 org.baeldung.examples.olingo2 olingo2 - 0.0.1-SNAPSHOT olingo2 Sample Olingo 2 Project diff --git a/apache-pulsar/pom.xml b/apache-pulsar/pom.xml index 8a0882dae1..fdd9ae1e95 100644 --- a/apache-pulsar/pom.xml +++ b/apache-pulsar/pom.xml @@ -24,8 +24,6 @@ - 1.8 - 1.8 - 2.1.1-incubating + 2.1.1-incubating diff --git a/apache-solrj/pom.xml b/apache-solrj/pom.xml index 1227fdca46..b19ceb1e48 100644 --- a/apache-solrj/pom.xml +++ b/apache-solrj/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung apache-solrj 0.0.1-SNAPSHOT apache-solrj diff --git a/apache-spark/pom.xml b/apache-spark/pom.xml index 3df81e5aee..41fd51d9fd 100644 --- a/apache-spark/pom.xml +++ b/apache-spark/pom.xml @@ -2,7 +2,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.baeldung apache-spark 1.0-SNAPSHOT apache-spark @@ -59,15 +58,6 @@ - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - ${java.version} - ${java.version} - - maven-assembly-plugin @@ -95,7 +85,6 @@ 2.3.0 2.3.0 1.5.2 - 3.2 diff --git a/apache-velocity/pom.xml b/apache-velocity/pom.xml index 24ab0b861d..b370b11cc1 100644 --- a/apache-velocity/pom.xml +++ b/apache-velocity/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung 0.1-SNAPSHOT apache-velocity apache-velocity diff --git a/aws-lambda/pom.xml b/aws-lambda/pom.xml index c799718e61..1f3c31f87c 100644 --- a/aws-lambda/pom.xml +++ b/aws-lambda/pom.xml @@ -2,7 +2,6 @@ 4.0.0 - com.baeldung aws-lambda 0.1.0-SNAPSHOT aws-lambda @@ -88,7 +87,6 @@ 1.1.1 - 20180130 2.5 1.3.0 1.2.0 diff --git a/aws/pom.xml b/aws/pom.xml index 75d5aac1eb..45a30f96ba 100644 --- a/aws/pom.xml +++ b/aws/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung aws 0.1.0-SNAPSHOT aws diff --git a/axon/pom.xml b/axon/pom.xml index 3d30cceb83..21e21f0ef2 100644 --- a/axon/pom.xml +++ b/axon/pom.xml @@ -30,7 +30,6 @@ org.springframework.boot spring-boot-autoconfigure - ${spring-boot.version} compile diff --git a/azure/pom.xml b/azure/pom.xml index 270b3e4829..3d9c296748 100644 --- a/azure/pom.xml +++ b/azure/pom.xml @@ -2,7 +2,6 @@ 4.0.0 - com.baeldung azure 0.1 azure diff --git a/parent-java/pom.xml b/parent-java/pom.xml index 09e2596d0a..fd3028680d 100644 --- a/parent-java/pom.xml +++ b/parent-java/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung parent-java 0.0.1-SNAPSHOT parent-java diff --git a/parent-kotlin/pom.xml b/parent-kotlin/pom.xml index d993fad3c6..bda5fb70e7 100644 --- a/parent-kotlin/pom.xml +++ b/parent-kotlin/pom.xml @@ -56,18 +56,15 @@ org.jetbrains.kotlin kotlin-stdlib-jdk8 - ${kotlin.version} - + org.jetbrains.kotlin kotlin-stdlib - ${kotlin.version} - + org.jetbrains.kotlin kotlin-reflect - ${kotlin.version} - + org.jetbrains.kotlinx @@ -93,7 +90,6 @@ org.jetbrains.kotlin kotlin-test-junit - ${kotlin.version} test diff --git a/parent-spring-4/pom.xml b/parent-spring-4/pom.xml index 390934ca7b..b98d962580 100644 --- a/parent-spring-4/pom.xml +++ b/parent-spring-4/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung parent-spring-4 0.0.1-SNAPSHOT parent-spring-4 diff --git a/parent-spring-5/pom.xml b/parent-spring-5/pom.xml index e43e129c7f..f126006bcb 100644 --- a/parent-spring-5/pom.xml +++ b/parent-spring-5/pom.xml @@ -2,7 +2,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.baeldung parent-spring-5 0.0.1-SNAPSHOT parent-spring-5 From 35905797360b30583f069ce3eb38bfc94a69e48c Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Sat, 12 Oct 2019 19:28:32 +0530 Subject: [PATCH 134/199] BAEL-17684 POM Properties Cleanup -Properties cleanup --- apache-geode/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/apache-geode/pom.xml b/apache-geode/pom.xml index 57195a5991..195dfadd20 100644 --- a/apache-geode/pom.xml +++ b/apache-geode/pom.xml @@ -17,6 +17,7 @@ org.apache.geode geode-core + ${geode.core} From 51e9e905411bb00697b2ac834d9a68e153fddd0d Mon Sep 17 00:00:00 2001 From: "m.raheem" Date: Sat, 12 Oct 2019 19:57:05 +0200 Subject: [PATCH 135/199] creating package per deserialization method --- .../jackson/deserialization/enums/City.java | 15 ++ .../deserialization/enums/Distance.java | 27 ++ .../enums/customdeserializer/City.java | 15 ++ .../CustomEnumDeserializer.java | 8 +- .../enums/customdeserializer/Distance.java | 29 +++ .../enums/jsoncreator/City.java | 15 ++ .../enums/jsoncreator/Distance.java | 44 ++++ .../enums/jsonproperty/City.java | 15 ++ .../enums/jsonproperty/Distance.java | 47 ++++ .../deserialization/enums/jsonvalue/City.java | 15 ++ .../enums/jsonvalue/Distance.java | 31 +++ .../com/baeldung/jackson/entities/City.java | 235 ------------------ .../DefaultJacksonEnumDeserialization.java | 19 ++ .../JacksonEnumCustomDeserialization.java | 18 ++ ...onEnumDeserializationUsingJsonCreator.java | 19 ++ ...nEnumDeserializationUsingJsonProperty.java | 20 ++ ...ksonEnumDeserializationUsingJsonValue.java | 19 ++ .../JacksonEnumDeserializationUnitTest.java | 52 ---- 18 files changed, 351 insertions(+), 292 deletions(-) create mode 100644 jackson/src/main/java/com/baeldung/jackson/deserialization/enums/City.java create mode 100644 jackson/src/main/java/com/baeldung/jackson/deserialization/enums/Distance.java create mode 100644 jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/City.java rename jackson/src/main/java/com/baeldung/jackson/deserialization/enums/{ => customdeserializer}/CustomEnumDeserializer.java (68%) create mode 100644 jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/Distance.java create mode 100644 jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsoncreator/City.java create mode 100644 jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsoncreator/Distance.java create mode 100644 jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsonproperty/City.java create mode 100644 jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsonproperty/Distance.java create mode 100644 jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsonvalue/City.java create mode 100644 jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsonvalue/Distance.java delete mode 100644 jackson/src/main/java/com/baeldung/jackson/entities/City.java create mode 100644 jackson/src/test/java/com/baeldung/jackson/deserialization/enums/DefaultJacksonEnumDeserialization.java create mode 100644 jackson/src/test/java/com/baeldung/jackson/deserialization/enums/customdeserializer/JacksonEnumCustomDeserialization.java create mode 100644 jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsoncreator/JacksonEnumDeserializationUsingJsonCreator.java create mode 100644 jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonproperty/JacksonEnumDeserializationUsingJsonProperty.java create mode 100644 jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonvalue/JacksonEnumDeserializationUsingJsonValue.java delete mode 100644 jackson/src/test/java/com/baeldung/jackson/enums/JacksonEnumDeserializationUnitTest.java diff --git a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/City.java b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/City.java new file mode 100644 index 0000000000..2bbef534c3 --- /dev/null +++ b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/City.java @@ -0,0 +1,15 @@ +package com.baeldung.jackson.deserialization.enums; + +public class City { + + private Distance distance; + + public Distance getDistance() { + return distance; + } + + public void setDistance(Distance distance) { + this.distance = distance; + } + +} diff --git a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/Distance.java b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/Distance.java new file mode 100644 index 0000000000..ce332d34ae --- /dev/null +++ b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/Distance.java @@ -0,0 +1,27 @@ +package com.baeldung.jackson.deserialization.enums; + +public enum Distance { + + KILOMETER("km", 1000), MILE("miles", 1609.34), METER("meters", 1), INCH("inches", 0.0254), CENTIMETER("cm", 0.01), MILLIMETER("mm", 0.001); + + private String unit; + private final double meters; + + private Distance(String unit, double meters) { + this.unit = unit; + this.meters = meters; + } + + public double getMeters() { + return meters; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } +} + diff --git a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/City.java b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/City.java new file mode 100644 index 0000000000..36ef7e244a --- /dev/null +++ b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/City.java @@ -0,0 +1,15 @@ +package com.baeldung.jackson.deserialization.enums.customdeserializer; + +public class City { + + private Distance distance; + + public Distance getDistance() { + return distance; + } + + public void setDistance(Distance distance) { + this.distance = distance; + } + +} diff --git a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/CustomEnumDeserializer.java b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/CustomEnumDeserializer.java similarity index 68% rename from jackson/src/main/java/com/baeldung/jackson/deserialization/enums/CustomEnumDeserializer.java rename to jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/CustomEnumDeserializer.java index 3b99490e0b..21be368e01 100644 --- a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/CustomEnumDeserializer.java +++ b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/CustomEnumDeserializer.java @@ -1,15 +1,13 @@ -package com.baeldung.jackson.deserialization.enums; +package com.baeldung.jackson.deserialization.enums.customdeserializer; import java.io.IOException; -import com.baeldung.jackson.entities.City; -import com.baeldung.jackson.entities.City.CityWithCustomDeserializationEnum.Distance; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; -public class CustomEnumDeserializer extends StdDeserializer { +public class CustomEnumDeserializer extends StdDeserializer { private static final long serialVersionUID = -1166032307856492833L; @@ -22,7 +20,7 @@ public class CustomEnumDeserializer extends StdDeserializer Date: Sat, 12 Oct 2019 22:43:57 +0330 Subject: [PATCH 136/199] Applied the requested changes. --- core-kotlin/src/main/kotlin/com/baeldung/builder/FoodOrder.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-kotlin/src/main/kotlin/com/baeldung/builder/FoodOrder.kt b/core-kotlin/src/main/kotlin/com/baeldung/builder/FoodOrder.kt index 1384cd9937..3a8a4b9857 100644 --- a/core-kotlin/src/main/kotlin/com/baeldung/builder/FoodOrder.kt +++ b/core-kotlin/src/main/kotlin/com/baeldung/builder/FoodOrder.kt @@ -1,6 +1,6 @@ package com.baeldung.builder -class FoodOrder( +class FoodOrder private constructor( val bread: String?, val condiments: String?, val meat: String?, From a97793396f92b1353534a3ef52f8a9aafcf25f71 Mon Sep 17 00:00:00 2001 From: catalin-burcea Date: Sat, 12 Oct 2019 22:15:42 +0300 Subject: [PATCH 137/199] Move articles out of java-strings part1 --- .../core-java-string-conversions-2/README.md | 9 + .../core-java-string-conversions-2/pom.xml | 47 +++ .../stringconversions}/UseLocalDateTime.java | 2 +- .../CharArrayToStringConversionUnitTest.java | 2 +- .../StringConversionUnitTest.java | 4 +- .../ByteArrayToStringUnitTest.java | 2 +- .../StringToByteArrayUnitTest.java | 2 +- .../core-java-string-conversions/README.md | 17 ++ .../core-java-string-conversions/pom.xml | 67 +++++ .../stringtoenum}/PizzaStatusEnum.java | 2 +- .../titlecase}/TitleCaseConverter.java | 11 +- .../chartostring}/CharToStringUnitTest.java | 2 +- .../DateToStringFormatterUnitTest.java | 8 +- .../FileToBase64StringConversionUnitTest.java | 8 +- .../StringToDoubleConversionUnitTest.java | 2 +- .../stringtoenum/StringToEnumUnitTest.java | 4 +- .../StringToIntOrIntegerUnitTest.java | 2 +- .../ConvertStringToListUnitTest.java | 269 +++++++++--------- .../StringToCharStreamUnitTest.java | 2 +- .../TitleCaseConverterUnitTest.java | 2 +- .../src/test/resources/test_image.jpg | Bin java-strings-2/README.md | 2 - java-strings-3/README.md | 5 +- java-strings-ops/README.md | 6 +- .../com/baeldung/java/conversion/README.md | 2 - java-strings/README.md | 7 +- pom.xml | 4 + 27 files changed, 309 insertions(+), 181 deletions(-) create mode 100644 core-java-modules/core-java-string-conversions-2/README.md create mode 100644 core-java-modules/core-java-string-conversions-2/pom.xml rename {java-strings-ops/src/main/java/com/baeldung/datetime => core-java-modules/core-java-string-conversions-2/src/main/java/com/baeldung/stringconversions}/UseLocalDateTime.java (84%) rename {java-strings-3/src/test/java/com/baeldung/string/charArrayToString => core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/chararraytostring}/CharArrayToStringConversionUnitTest.java (97%) rename {java-strings-ops/src/test/java/com/baeldung/java/conversion => core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringconversions}/StringConversionUnitTest.java (97%) rename {java-strings-ops/src/test/java/com/baeldung/string/conversion => core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringtobytearray}/ByteArrayToStringUnitTest.java (98%) rename {java-strings-ops/src/test/java/com/baeldung/string/conversion => core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringtobytearray}/StringToByteArrayUnitTest.java (99%) create mode 100644 core-java-modules/core-java-string-conversions/README.md create mode 100644 core-java-modules/core-java-string-conversions/pom.xml rename {java-strings/src/main/java/com/baeldung/enums => core-java-modules/core-java-string-conversions/src/main/java/com/baeldung/stringtoenum}/PizzaStatusEnum.java (95%) rename {java-strings/src/main/java/com/baeldung/string => core-java-modules/core-java-string-conversions/src/main/java/com/baeldung/titlecase}/TitleCaseConverter.java (98%) rename {java-strings-ops/src/test/java/com/baeldung => core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/chartostring}/CharToStringUnitTest.java (97%) rename {java-strings-2/src/test/java/com/baeldung/string/formatter => core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/datetostring}/DateToStringFormatterUnitTest.java (98%) rename {java-strings-2/src/test/java/com/baeldung/fileToBase64StringConversion => core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/filetobase64conversion}/FileToBase64StringConversionUnitTest.java (96%) rename {java-strings-3/src/test/java/com/baeldung/string/todouble => core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtodouble}/StringToDoubleConversionUnitTest.java (97%) rename java-strings/src/test/java/com/baeldung/enums/PizzaUnitTest.java => core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtoenum/StringToEnumUnitTest.java (92%) rename {java-strings/src/test/java/com/baeldung => core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtoint}/StringToIntOrIntegerUnitTest.java (97%) rename {java-strings-2/src/test/java/com/baeldung => core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtolist}/ConvertStringToListUnitTest.java (96%) rename {java-strings/src/test/java/com/baeldung/string => core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtostream}/StringToCharStreamUnitTest.java (98%) rename {java-strings/src/test/java/com/baeldung/string => core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/titlecase}/TitleCaseConverterUnitTest.java (99%) rename {java-strings-2 => core-java-modules/core-java-string-conversions}/src/test/resources/test_image.jpg (100%) delete mode 100644 java-strings-ops/src/test/java/com/baeldung/java/conversion/README.md diff --git a/core-java-modules/core-java-string-conversions-2/README.md b/core-java-modules/core-java-string-conversions-2/README.md new file mode 100644 index 0000000000..b4da1b8bad --- /dev/null +++ b/core-java-modules/core-java-string-conversions-2/README.md @@ -0,0 +1,9 @@ +## Java String Conversions + +This module contains articles about string conversions from/to another type. + +### Relevant Articles: +- [Java String Conversions](https://www.baeldung.com/java-string-conversions) +- [Convert String to Byte Array and Reverse in Java](https://www.baeldung.com/java-string-to-byte-array) +- [Convert Char Array to String](https://www.baeldung.com/java-char-array-to-string) +- More articles: [[<-- prev]](/core-java-string-conversions) diff --git a/core-java-modules/core-java-string-conversions-2/pom.xml b/core-java-modules/core-java-string-conversions-2/pom.xml new file mode 100644 index 0000000000..396d836e6b --- /dev/null +++ b/core-java-modules/core-java-string-conversions-2/pom.xml @@ -0,0 +1,47 @@ + + 4.0.0 + core-java-string-conversions-2 + 0.1.0-SNAPSHOT + jar + core-java-string-conversions-2 + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + + + + + com.google.guava + guava + ${guava.version} + + + junit + junit + ${junit.version} + test + + + org.hamcrest + hamcrest-library + ${org.hamcrest.version} + test + + + + + core-java-string-conversions-2 + + + src/main/resources + true + + + + + + diff --git a/java-strings-ops/src/main/java/com/baeldung/datetime/UseLocalDateTime.java b/core-java-modules/core-java-string-conversions-2/src/main/java/com/baeldung/stringconversions/UseLocalDateTime.java similarity index 84% rename from java-strings-ops/src/main/java/com/baeldung/datetime/UseLocalDateTime.java rename to core-java-modules/core-java-string-conversions-2/src/main/java/com/baeldung/stringconversions/UseLocalDateTime.java index 7f39ac2f91..7b43c3b588 100644 --- a/java-strings-ops/src/main/java/com/baeldung/datetime/UseLocalDateTime.java +++ b/core-java-modules/core-java-string-conversions-2/src/main/java/com/baeldung/stringconversions/UseLocalDateTime.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.baeldung.stringconversions; import java.time.LocalDateTime; diff --git a/java-strings-3/src/test/java/com/baeldung/string/charArrayToString/CharArrayToStringConversionUnitTest.java b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/chararraytostring/CharArrayToStringConversionUnitTest.java similarity index 97% rename from java-strings-3/src/test/java/com/baeldung/string/charArrayToString/CharArrayToStringConversionUnitTest.java rename to core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/chararraytostring/CharArrayToStringConversionUnitTest.java index 1030185c3e..dc68632f0b 100644 --- a/java-strings-3/src/test/java/com/baeldung/string/charArrayToString/CharArrayToStringConversionUnitTest.java +++ b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/chararraytostring/CharArrayToStringConversionUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string.charArrayToString; +package com.baeldung.chararraytostring; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; diff --git a/java-strings-ops/src/test/java/com/baeldung/java/conversion/StringConversionUnitTest.java b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringconversions/StringConversionUnitTest.java similarity index 97% rename from java-strings-ops/src/test/java/com/baeldung/java/conversion/StringConversionUnitTest.java rename to core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringconversions/StringConversionUnitTest.java index fbbbb21ccd..d896b92b5c 100644 --- a/java-strings-ops/src/test/java/com/baeldung/java/conversion/StringConversionUnitTest.java +++ b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringconversions/StringConversionUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.java.conversion; +package com.baeldung.stringconversions; import static org.junit.Assert.assertEquals; @@ -13,8 +13,6 @@ import java.util.GregorianCalendar; import org.junit.Test; -import com.baeldung.datetime.UseLocalDateTime; - public class StringConversionUnitTest { @Test diff --git a/java-strings-ops/src/test/java/com/baeldung/string/conversion/ByteArrayToStringUnitTest.java b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringtobytearray/ByteArrayToStringUnitTest.java similarity index 98% rename from java-strings-ops/src/test/java/com/baeldung/string/conversion/ByteArrayToStringUnitTest.java rename to core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringtobytearray/ByteArrayToStringUnitTest.java index a9f8a04c8d..e5efffd8f7 100644 --- a/java-strings-ops/src/test/java/com/baeldung/string/conversion/ByteArrayToStringUnitTest.java +++ b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringtobytearray/ByteArrayToStringUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string.conversion; +package com.baeldung.stringtobytearray; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; diff --git a/java-strings-ops/src/test/java/com/baeldung/string/conversion/StringToByteArrayUnitTest.java b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringtobytearray/StringToByteArrayUnitTest.java similarity index 99% rename from java-strings-ops/src/test/java/com/baeldung/string/conversion/StringToByteArrayUnitTest.java rename to core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringtobytearray/StringToByteArrayUnitTest.java index 5377b4b28d..961c99bbde 100644 --- a/java-strings-ops/src/test/java/com/baeldung/string/conversion/StringToByteArrayUnitTest.java +++ b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringtobytearray/StringToByteArrayUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string.conversion; +package com.baeldung.stringtobytearray; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; diff --git a/core-java-modules/core-java-string-conversions/README.md b/core-java-modules/core-java-string-conversions/README.md new file mode 100644 index 0000000000..251851e8ac --- /dev/null +++ b/core-java-modules/core-java-string-conversions/README.md @@ -0,0 +1,17 @@ +## Java String Conversions + +This module contains articles about string conversions from/to another type. + +### Relevant Articles: +- [Converting String to Stream of chars](https://www.baeldung.com/java-string-to-stream) +- [Converting Strings to Enums in Java](https://www.baeldung.com/java-string-to-enum) +- [Convert a String to Title Case](https://www.baeldung.com/java-string-title-case) +- [Convert java.util.Date to String](https://www.baeldung.com/java-util-date-to-string) +- [Converting a Stack Trace to a String in Java](https://www.baeldung.com/java-stacktrace-to-string) +- [Image to Base64 String Conversion](https://www.baeldung.com/java-base64-image-string) +- [Convert a Comma Separated String to a List in Java](https://www.baeldung.com/java-string-with-separator-to-list) +- [Converting Java String to Double](https://www.baeldung.com/java-string-to-double) +- [Convert Char to String in Java](https://www.baeldung.com/java-convert-char-to-string) +- [Convert String to int or Integer in Java](https://www.baeldung.com/java-convert-string-to-int-or-integer) +- More articles: [[next -->]](/core-java-string-conversions-2) +"Counting Words in a String \ No newline at end of file diff --git a/core-java-modules/core-java-string-conversions/pom.xml b/core-java-modules/core-java-string-conversions/pom.xml new file mode 100644 index 0000000000..9c968b7f1c --- /dev/null +++ b/core-java-modules/core-java-string-conversions/pom.xml @@ -0,0 +1,67 @@ + + 4.0.0 + core-java-string-conversions + 0.1.0-SNAPSHOT + jar + core-java-string-conversions + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + + + + + com.ibm.icu + icu4j + ${icu4j.version} + + + commons-io + commons-io + ${commons-io.version} + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + com.google.guava + guava + ${guava.version} + + + + org.assertj + assertj-core + ${assertj.version} + test + + + org.hamcrest + hamcrest-library + ${org.hamcrest.version} + test + + + + + core-java-string-conversions + + + src/main/resources + true + + + + + + 61.1 + 3.6.1 + + + diff --git a/java-strings/src/main/java/com/baeldung/enums/PizzaStatusEnum.java b/core-java-modules/core-java-string-conversions/src/main/java/com/baeldung/stringtoenum/PizzaStatusEnum.java similarity index 95% rename from java-strings/src/main/java/com/baeldung/enums/PizzaStatusEnum.java rename to core-java-modules/core-java-string-conversions/src/main/java/com/baeldung/stringtoenum/PizzaStatusEnum.java index a84829c38d..02646ef997 100644 --- a/java-strings/src/main/java/com/baeldung/enums/PizzaStatusEnum.java +++ b/core-java-modules/core-java-string-conversions/src/main/java/com/baeldung/stringtoenum/PizzaStatusEnum.java @@ -1,4 +1,4 @@ -package com.baeldung.enums; +package com.baeldung.stringtoenum; public enum PizzaStatusEnum { ORDERED(5) { diff --git a/java-strings/src/main/java/com/baeldung/string/TitleCaseConverter.java b/core-java-modules/core-java-string-conversions/src/main/java/com/baeldung/titlecase/TitleCaseConverter.java similarity index 98% rename from java-strings/src/main/java/com/baeldung/string/TitleCaseConverter.java rename to core-java-modules/core-java-string-conversions/src/main/java/com/baeldung/titlecase/TitleCaseConverter.java index 81043f6dac..1c35e1a2d6 100644 --- a/java-strings/src/main/java/com/baeldung/string/TitleCaseConverter.java +++ b/core-java-modules/core-java-string-conversions/src/main/java/com/baeldung/titlecase/TitleCaseConverter.java @@ -1,12 +1,11 @@ -package com.baeldung.string; - -import java.util.Arrays; -import java.util.stream.Collectors; - -import org.apache.commons.lang3.text.WordUtils; +package com.baeldung.titlecase; import com.ibm.icu.lang.UCharacter; import com.ibm.icu.text.BreakIterator; +import org.apache.commons.lang3.text.WordUtils; + +import java.util.Arrays; +import java.util.stream.Collectors; public class TitleCaseConverter { diff --git a/java-strings-ops/src/test/java/com/baeldung/CharToStringUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/chartostring/CharToStringUnitTest.java similarity index 97% rename from java-strings-ops/src/test/java/com/baeldung/CharToStringUnitTest.java rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/chartostring/CharToStringUnitTest.java index 78742e356d..db7c8a16ec 100644 --- a/java-strings-ops/src/test/java/com/baeldung/CharToStringUnitTest.java +++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/chartostring/CharToStringUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung; +package com.baeldung.chartostring; import org.junit.Test; diff --git a/java-strings-2/src/test/java/com/baeldung/string/formatter/DateToStringFormatterUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/datetostring/DateToStringFormatterUnitTest.java similarity index 98% rename from java-strings-2/src/test/java/com/baeldung/string/formatter/DateToStringFormatterUnitTest.java rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/datetostring/DateToStringFormatterUnitTest.java index d760510c73..221900fb0e 100644 --- a/java-strings-2/src/test/java/com/baeldung/string/formatter/DateToStringFormatterUnitTest.java +++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/datetostring/DateToStringFormatterUnitTest.java @@ -1,6 +1,7 @@ -package com.baeldung.string.formatter; +package com.baeldung.datetostring; -import static org.junit.Assert.assertEquals; +import org.junit.BeforeClass; +import org.junit.Test; import java.text.DateFormat; import java.text.SimpleDateFormat; @@ -13,8 +14,7 @@ import java.util.Date; import java.util.Locale; import java.util.TimeZone; -import org.junit.BeforeClass; -import org.junit.Test; +import static org.junit.Assert.assertEquals; public class DateToStringFormatterUnitTest { diff --git a/java-strings-2/src/test/java/com/baeldung/fileToBase64StringConversion/FileToBase64StringConversionUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/filetobase64conversion/FileToBase64StringConversionUnitTest.java similarity index 96% rename from java-strings-2/src/test/java/com/baeldung/fileToBase64StringConversion/FileToBase64StringConversionUnitTest.java rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/filetobase64conversion/FileToBase64StringConversionUnitTest.java index eef21a98c9..9b165069d6 100644 --- a/java-strings-2/src/test/java/com/baeldung/fileToBase64StringConversion/FileToBase64StringConversionUnitTest.java +++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/filetobase64conversion/FileToBase64StringConversionUnitTest.java @@ -1,13 +1,13 @@ -package com.baeldung.fileToBase64StringConversion; +package com.baeldung.filetobase64conversion; -import static org.junit.Assert.assertTrue; +import org.apache.commons.io.FileUtils; +import org.junit.Test; import java.io.File; import java.io.IOException; import java.util.Base64; -import org.apache.commons.io.FileUtils; -import org.junit.Test; +import static org.junit.Assert.assertTrue; public class FileToBase64StringConversionUnitTest { diff --git a/java-strings-3/src/test/java/com/baeldung/string/todouble/StringToDoubleConversionUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtodouble/StringToDoubleConversionUnitTest.java similarity index 97% rename from java-strings-3/src/test/java/com/baeldung/string/todouble/StringToDoubleConversionUnitTest.java rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtodouble/StringToDoubleConversionUnitTest.java index 2c87af53f8..e29b55d52a 100644 --- a/java-strings-3/src/test/java/com/baeldung/string/todouble/StringToDoubleConversionUnitTest.java +++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtodouble/StringToDoubleConversionUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string.todouble; +package com.baeldung.stringtodouble; import static org.junit.Assert.assertEquals; diff --git a/java-strings/src/test/java/com/baeldung/enums/PizzaUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtoenum/StringToEnumUnitTest.java similarity index 92% rename from java-strings/src/test/java/com/baeldung/enums/PizzaUnitTest.java rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtoenum/StringToEnumUnitTest.java index 3e52a89bad..f6b3bf2aa6 100644 --- a/java-strings/src/test/java/com/baeldung/enums/PizzaUnitTest.java +++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtoenum/StringToEnumUnitTest.java @@ -1,10 +1,10 @@ -package com.baeldung.enums; +package com.baeldung.stringtoenum; import static junit.framework.TestCase.assertTrue; import org.junit.Test; -public class PizzaUnitTest { +public class StringToEnumUnitTest { @Test public void whenConvertedIntoEnum_thenGetsConvertedCorrectly() { diff --git a/java-strings/src/test/java/com/baeldung/StringToIntOrIntegerUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtoint/StringToIntOrIntegerUnitTest.java similarity index 97% rename from java-strings/src/test/java/com/baeldung/StringToIntOrIntegerUnitTest.java rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtoint/StringToIntOrIntegerUnitTest.java index a7ad0bf114..106f1fc974 100644 --- a/java-strings/src/test/java/com/baeldung/StringToIntOrIntegerUnitTest.java +++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtoint/StringToIntOrIntegerUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung; +package com.baeldung.stringtoint; import static org.assertj.core.api.Assertions.assertThat; diff --git a/java-strings-2/src/test/java/com/baeldung/ConvertStringToListUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtolist/ConvertStringToListUnitTest.java similarity index 96% rename from java-strings-2/src/test/java/com/baeldung/ConvertStringToListUnitTest.java rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtolist/ConvertStringToListUnitTest.java index 47357a99cc..b9e0cede31 100644 --- a/java-strings-2/src/test/java/com/baeldung/ConvertStringToListUnitTest.java +++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtolist/ConvertStringToListUnitTest.java @@ -1,135 +1,134 @@ -package com.baeldung; - -import static org.junit.Assert.assertEquals; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import org.apache.commons.lang3.StringUtils; -import org.junit.Test; - -import com.google.common.base.Function; -import com.google.common.base.Splitter; -import com.google.common.collect.Lists; - -public class ConvertStringToListUnitTest { - - private final String countries = "Russia,Germany,England,France,Italy"; - private final String ranks = "1,2,3,4,5, 6,7"; - private final String emptyStrings = ",,,,,"; - private final List expectedCountriesList = Arrays.asList("Russia", "Germany", "England", "France", "Italy"); - private final List expectedRanksList = Arrays.asList(1, 2, 3, 4, 5, 6, 7); - private final List expectedEmptyStringsList = Arrays.asList("", "", "", "", "", ""); - - @Test - public void givenString_thenGetListOfStringByJava() { - List convertedCountriesList = Arrays.asList(countries.split(",", -1)); - - assertEquals(expectedCountriesList, convertedCountriesList); - } - - @Test - public void givenString_thenGetListOfStringByApache() { - List convertedCountriesList = Arrays.asList(StringUtils.splitPreserveAllTokens(countries, ",")); - - assertEquals(expectedCountriesList, convertedCountriesList); - } - - @Test - public void givenString_thenGetListOfStringByGuava() { - List convertedCountriesList = Splitter.on(",") - .trimResults() - .splitToList(countries); - - assertEquals(expectedCountriesList, convertedCountriesList); - } - - @Test - public void givenString_thenGetListOfStringByJava8() { - List convertedCountriesList = Stream.of(countries.split(",", -1)) - .collect(Collectors.toList()); - - assertEquals(expectedCountriesList, convertedCountriesList); - } - - @Test - public void givenString_thenGetListOfIntegerByJava() { - String[] convertedRankArray = ranks.split(","); - List convertedRankList = new ArrayList(); - for (String number : convertedRankArray) { - convertedRankList.add(Integer.parseInt(number.trim())); - } - - assertEquals(expectedRanksList, convertedRankList); - } - - @Test - public void givenString_thenGetListOfIntegerByGuava() { - List convertedRankList = Lists.transform(Splitter.on(",") - .trimResults() - .splitToList(ranks), new Function() { - @Override - public Integer apply(String input) { - return Integer.parseInt(input.trim()); - } - }); - - assertEquals(expectedRanksList, convertedRankList); - } - - @Test - public void givenString_thenGetListOfIntegerByJava8() { - List convertedRankList = Stream.of(ranks.split(",")) - .map(String::trim) - .map(Integer::parseInt) - .collect(Collectors.toList()); - - assertEquals(expectedRanksList, convertedRankList); - } - - @Test - public void givenString_thenGetListOfIntegerByApache() { - String[] convertedRankArray = StringUtils.split(ranks, ","); - List convertedRankList = new ArrayList(); - for (String number : convertedRankArray) { - convertedRankList.add(Integer.parseInt(number.trim())); - } - - assertEquals(expectedRanksList, convertedRankList); - } - - @Test - public void givenEmptyStrings_thenGetListOfStringByJava() { - List convertedEmptyStringsList = Arrays.asList(emptyStrings.split(",", -1)); - - assertEquals(expectedEmptyStringsList, convertedEmptyStringsList); - } - - @Test - public void givenEmptyStrings_thenGetListOfStringByApache() { - List convertedEmptyStringsList = Arrays.asList(StringUtils.splitPreserveAllTokens(emptyStrings, ",")); - - assertEquals(expectedEmptyStringsList, convertedEmptyStringsList); - } - - @Test - public void givenEmptyStrings_thenGetListOfStringByGuava() { - List convertedEmptyStringsList = Splitter.on(",") - .trimResults() - .splitToList(emptyStrings); - - assertEquals(expectedEmptyStringsList, convertedEmptyStringsList); - } - - @Test - public void givenEmptyStrings_thenGetListOfStringByJava8() { - List convertedEmptyStringsList = Stream.of(emptyStrings.split(",", -1)) - .collect(Collectors.toList()); - - assertEquals(expectedEmptyStringsList, convertedEmptyStringsList); - } - -} +package com.baeldung.stringtolist; + +import com.google.common.base.Function; +import com.google.common.base.Splitter; +import com.google.common.collect.Lists; +import org.apache.commons.lang3.StringUtils; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import static org.junit.Assert.assertEquals; + +public class ConvertStringToListUnitTest { + + private final String countries = "Russia,Germany,England,France,Italy"; + private final String ranks = "1,2,3,4,5, 6,7"; + private final String emptyStrings = ",,,,,"; + private final List expectedCountriesList = Arrays.asList("Russia", "Germany", "England", "France", "Italy"); + private final List expectedRanksList = Arrays.asList(1, 2, 3, 4, 5, 6, 7); + private final List expectedEmptyStringsList = Arrays.asList("", "", "", "", "", ""); + + @Test + public void givenString_thenGetListOfStringByJava() { + List convertedCountriesList = Arrays.asList(countries.split(",", -1)); + + assertEquals(expectedCountriesList, convertedCountriesList); + } + + @Test + public void givenString_thenGetListOfStringByApache() { + List convertedCountriesList = Arrays.asList(StringUtils.splitPreserveAllTokens(countries, ",")); + + assertEquals(expectedCountriesList, convertedCountriesList); + } + + @Test + public void givenString_thenGetListOfStringByGuava() { + List convertedCountriesList = Splitter.on(",") + .trimResults() + .splitToList(countries); + + assertEquals(expectedCountriesList, convertedCountriesList); + } + + @Test + public void givenString_thenGetListOfStringByJava8() { + List convertedCountriesList = Stream.of(countries.split(",", -1)) + .collect(Collectors.toList()); + + assertEquals(expectedCountriesList, convertedCountriesList); + } + + @Test + public void givenString_thenGetListOfIntegerByJava() { + String[] convertedRankArray = ranks.split(","); + List convertedRankList = new ArrayList(); + for (String number : convertedRankArray) { + convertedRankList.add(Integer.parseInt(number.trim())); + } + + assertEquals(expectedRanksList, convertedRankList); + } + + @Test + public void givenString_thenGetListOfIntegerByGuava() { + List convertedRankList = Lists.transform(Splitter.on(",") + .trimResults() + .splitToList(ranks), new Function() { + @Override + public Integer apply(String input) { + return Integer.parseInt(input.trim()); + } + }); + + assertEquals(expectedRanksList, convertedRankList); + } + + @Test + public void givenString_thenGetListOfIntegerByJava8() { + List convertedRankList = Stream.of(ranks.split(",")) + .map(String::trim) + .map(Integer::parseInt) + .collect(Collectors.toList()); + + assertEquals(expectedRanksList, convertedRankList); + } + + @Test + public void givenString_thenGetListOfIntegerByApache() { + String[] convertedRankArray = StringUtils.split(ranks, ","); + List convertedRankList = new ArrayList(); + for (String number : convertedRankArray) { + convertedRankList.add(Integer.parseInt(number.trim())); + } + + assertEquals(expectedRanksList, convertedRankList); + } + + @Test + public void givenEmptyStrings_thenGetListOfStringByJava() { + List convertedEmptyStringsList = Arrays.asList(emptyStrings.split(",", -1)); + + assertEquals(expectedEmptyStringsList, convertedEmptyStringsList); + } + + @Test + public void givenEmptyStrings_thenGetListOfStringByApache() { + List convertedEmptyStringsList = Arrays.asList(StringUtils.splitPreserveAllTokens(emptyStrings, ",")); + + assertEquals(expectedEmptyStringsList, convertedEmptyStringsList); + } + + @Test + public void givenEmptyStrings_thenGetListOfStringByGuava() { + List convertedEmptyStringsList = Splitter.on(",") + .trimResults() + .splitToList(emptyStrings); + + assertEquals(expectedEmptyStringsList, convertedEmptyStringsList); + } + + @Test + public void givenEmptyStrings_thenGetListOfStringByJava8() { + List convertedEmptyStringsList = Stream.of(emptyStrings.split(",", -1)) + .collect(Collectors.toList()); + + assertEquals(expectedEmptyStringsList, convertedEmptyStringsList); + } + +} diff --git a/java-strings/src/test/java/com/baeldung/string/StringToCharStreamUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtostream/StringToCharStreamUnitTest.java similarity index 98% rename from java-strings/src/test/java/com/baeldung/string/StringToCharStreamUnitTest.java rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtostream/StringToCharStreamUnitTest.java index 1b02e5d291..cd5727dcf8 100644 --- a/java-strings/src/test/java/com/baeldung/string/StringToCharStreamUnitTest.java +++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtostream/StringToCharStreamUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string; +package com.baeldung.stringtostream; import org.junit.Test; diff --git a/java-strings/src/test/java/com/baeldung/string/TitleCaseConverterUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/titlecase/TitleCaseConverterUnitTest.java similarity index 99% rename from java-strings/src/test/java/com/baeldung/string/TitleCaseConverterUnitTest.java rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/titlecase/TitleCaseConverterUnitTest.java index 2272565cd3..73694d2c1c 100644 --- a/java-strings/src/test/java/com/baeldung/string/TitleCaseConverterUnitTest.java +++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/titlecase/TitleCaseConverterUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string; +package com.baeldung.titlecase; import org.junit.Assert; import org.junit.Test; diff --git a/java-strings-2/src/test/resources/test_image.jpg b/core-java-modules/core-java-string-conversions/src/test/resources/test_image.jpg similarity index 100% rename from java-strings-2/src/test/resources/test_image.jpg rename to core-java-modules/core-java-string-conversions/src/test/resources/test_image.jpg diff --git a/java-strings-2/README.md b/java-strings-2/README.md index 82f33997c5..9865019f74 100644 --- a/java-strings-2/README.md +++ b/java-strings-2/README.md @@ -8,14 +8,12 @@ This module contains articles about strings in Java. - [Check If a String Contains a Substring](https://www.baeldung.com/java-string-contains-substring) - [Removing Stopwords from a String in Java](https://www.baeldung.com/java-string-remove-stopwords) - [Java – Generate Random String](https://www.baeldung.com/java-random-string) -- [Image to Base64 String Conversion](https://www.baeldung.com/java-base64-image-string) - [Java Base64 Encoding and Decoding](https://www.baeldung.com/java-base64-encode-and-decode) - [Generate a Secure Random Password in Java](https://www.baeldung.com/java-generate-secure-password) - [Removing Repeated Characters from a String](https://www.baeldung.com/java-remove-repeated-char) - [Join Array of Primitives with Separator in Java](https://www.baeldung.com/java-join-primitive-array) - [Pad a String with Zeros or Spaces in Java](https://www.baeldung.com/java-pad-string) - [Remove Emojis from a Java String](https://www.baeldung.com/java-string-remove-emojis) -- [Convert a Comma Separated String to a List in Java](https://www.baeldung.com/java-string-with-separator-to-list) - [Guide to java.util.Formatter](https://www.baeldung.com/java-string-formatter) - [Remove Leading and Trailing Characters from a String](https://www.baeldung.com/java-remove-trailing-characters) - [Concatenating Strings In Java](https://www.baeldung.com/java-strings-concatenation) diff --git a/java-strings-3/README.md b/java-strings-3/README.md index f0aaddefcb..6276dfc621 100644 --- a/java-strings-3/README.md +++ b/java-strings-3/README.md @@ -3,6 +3,7 @@ This module contains articles about strings in Java. ### Relevant Articles: - -- [Converting Java String to Double](https://www.baeldung.com/java-string-to-double) +- [Java String equalsIgnoreCase()](https://www.baeldung.com/java-string-equalsignorecase) +- [Finding the Difference Between Two Strings](https://www.baeldung.com/java-difference-between-two-strings) +- [Counting Words in a String](https://www.baeldung.com/java-word-counting) - More articles: [[<-- prev>]](/java-strings-2) diff --git a/java-strings-ops/README.md b/java-strings-ops/README.md index 31c5f48022..3b00cd11ed 100644 --- a/java-strings-ops/README.md +++ b/java-strings-ops/README.md @@ -3,10 +3,7 @@ This module contains articles about operations on strings in Java. ### Relevant Articles: -- [Convert char to String in Java](https://www.baeldung.com/java-convert-char-to-string) -- [Convert String to int or Integer in Java](https://www.baeldung.com/java-convert-string-to-int-or-integer) -- [Java String Conversions](https://www.baeldung.com/java-string-conversions) -- [Check if a String is a Palindrome](https://www.baeldung.com/java-palindrome) +- [Check If a String Is a Palindrome](https://www.baeldung.com/java-palindrome) - [Comparing Strings in Java](https://www.baeldung.com/java-compare-strings) - [Check If a String Is Numeric in Java](https://www.baeldung.com/java-check-string-number) - [Get Substring from String in Java](https://www.baeldung.com/java-substring) @@ -16,7 +13,6 @@ This module contains articles about operations on strings in Java. - [Guide to Java String Pool](https://www.baeldung.com/java-string-pool) - [Split a String in Java](https://www.baeldung.com/java-split-string) - [Common String Operations in Java](https://www.baeldung.com/java-string-operations) -- [Convert String to Byte Array and Reverse in Java](https://www.baeldung.com/java-string-to-byte-array) - [Java toString() Method](https://www.baeldung.com/java-tostring) - [CharSequence vs. String in Java](https://www.baeldung.com/java-char-sequence-string) - [StringBuilder and StringBuffer in Java](https://www.baeldung.com/java-string-builder-string-buffer) diff --git a/java-strings-ops/src/test/java/com/baeldung/java/conversion/README.md b/java-strings-ops/src/test/java/com/baeldung/java/conversion/README.md deleted file mode 100644 index 7c81180249..0000000000 --- a/java-strings-ops/src/test/java/com/baeldung/java/conversion/README.md +++ /dev/null @@ -1,2 +0,0 @@ -Relevant Articles: -- [Java String Conversions](http://www.baeldung.com/java-string-conversions) diff --git a/java-strings/README.md b/java-strings/README.md index 1faa11f606..3146b54fa8 100644 --- a/java-strings/README.md +++ b/java-strings/README.md @@ -4,21 +4,16 @@ This module contains articles about strings in Java. ### Relevant Articles: - [String Operations with Java Streams](https://www.baeldung.com/java-stream-operations-on-strings) -- [Converting String to Stream of chars](https://www.baeldung.com/java-string-to-stream) - [Java 8 StringJoiner](https://www.baeldung.com/java-string-joiner) -- [Converting Strings to Enums in Java](https://www.baeldung.com/java-string-to-enum) - [Quick Guide to the Java StringTokenizer](https://www.baeldung.com/java-stringtokenizer) - [Use char[] Array Over a String for Manipulating Passwords in Java?](https://www.baeldung.com/java-storing-passwords) -- [Convert a String to Title Case](https://www.baeldung.com/java-string-title-case) - [Compact Strings in Java 9](https://www.baeldung.com/java-9-compact-string) - [Java Check a String for Lowercase/Uppercase Letter, Special Character and Digit](https://www.baeldung.com/java-lowercase-uppercase-special-character-digit-regex) -- [Convert java.util.Date to String](https://www.baeldung.com/java-util-date-to-string) -- [Converting a Stack Trace to a String in Java](https://www.baeldung.com/java-stacktrace-to-string) - [Sorting a String Alphabetically in Java](https://www.baeldung.com/java-sort-string-alphabetically) - [String Not Empty Test Assertions in Java](https://www.baeldung.com/java-assert-string-not-empty) - [String Performance Hints](https://www.baeldung.com/java-string-performance) - [Using indexOf to Find All Occurrences of a Word in a String](https://www.baeldung.com/java-indexOf-find-string-occurrences) - [Adding a Newline Character to a String in Java](https://www.baeldung.com/java-string-newline) -- [Remove or Replace part of a String in Java](https://www.baeldung.com/java-remove-replace-string-part) +- [Remove or Replace Part of a String in Java](https://www.baeldung.com/java-remove-replace-string-part) - [Replace a Character at a Specific Index in a String in Java](https://www.baeldung.com/java-replace-character-at-index) - More articles: [[next -->]](/java-strings-2) diff --git a/pom.xml b/pom.xml index 03674dc58f..fe8f4aa55b 100644 --- a/pom.xml +++ b/pom.xml @@ -428,6 +428,8 @@ core-java-modules/core-java-perf core-java-modules/core-java-reflection core-java-modules/core-java-sun + core-java-modules/core-java-string-conversions + core-java-modules/core-java-string-conversions-2 core-java-modules/core-java core-java-modules/core-java-jvm core-scala @@ -1181,6 +1183,8 @@ core-java-modules/core-java-networking core-java-modules/core-java-perf core-java-modules/core-java-sun + core-java-modules/core-java-string-conversions + core-java-modules/core-java-string-conversions-2 core-scala couchbase custom-pmd From 885df8d48d3f42e08ffc21b8d7215f320c424c1d Mon Sep 17 00:00:00 2001 From: Loredana Date: Sat, 12 Oct 2019 22:28:00 +0300 Subject: [PATCH 138/199] add github links to articles --- algorithms-miscellaneous-3/README.md | 4 +++- algorithms-sorting/README.md | 4 ++++ apache-shiro/README.md | 4 +++- apache-spark/README.md | 2 ++ core-groovy-2/README.md | 3 ++- .../core-java-collections-array-list/README.md | 4 +++- core-java-modules/core-java-exceptions/README.md | 2 ++ core-java-modules/core-java-io-2/README.md | 6 ++++++ core-java-modules/core-java-io/README.md | 1 + core-java-modules/core-java-jndi/README.md | 4 ++++ core-java-modules/core-java-jvm/README.md | 2 ++ core-java-modules/core-java-lang-2/README.md | 3 ++- core-java-modules/core-java-lang-oop-2/README.md | 3 ++- core-java-modules/core-java-lang-operators/README.md | 2 ++ core-java-modules/core-java-nio/README.md | 1 + core-java-modules/core-java-security/README.md | 2 ++ 16 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 core-java-modules/core-java-io-2/README.md create mode 100644 core-java-modules/core-java-jndi/README.md diff --git a/algorithms-miscellaneous-3/README.md b/algorithms-miscellaneous-3/README.md index 9748595a34..a1456c6b20 100644 --- a/algorithms-miscellaneous-3/README.md +++ b/algorithms-miscellaneous-3/README.md @@ -14,4 +14,6 @@ This module contains articles about algorithms. Some classes of algorithms, e.g. - [A Guide to the Folding Technique in Java](https://www.baeldung.com/folding-hashing-technique) - [Creating a Triangle with for Loops in Java](https://www.baeldung.com/java-print-triangle) - [Efficient Word Frequency Calculator in Java](https://www.baeldung.com/java-word-frequency) -- More articles: [[<-- prev]](/algorithms-miscellaneous-2) [[next -->]](/algorithms-miscellaneous-4) \ No newline at end of file +- [Interpolation Search in Java](https://www.baeldung.com/java-interpolation-search) +- [The K-Means Clustering Algorithm in Java](https://www.baeldung.com/java-k-means-clustering-algorithm) +- More articles: [[<-- prev]](/algorithms-miscellaneous-2) [[next -->]](/algorithms-miscellaneous-4) diff --git a/algorithms-sorting/README.md b/algorithms-sorting/README.md index f19705f113..4fd9d5e0c6 100644 --- a/algorithms-sorting/README.md +++ b/algorithms-sorting/README.md @@ -12,3 +12,7 @@ This module contains articles about sorting algorithms. - [Shell Sort in Java](https://www.baeldung.com/java-shell-sort) - [Counting Sort in Java](https://www.baeldung.com/java-counting-sort) - [Sorting Strings by Contained Numbers in Java](https://www.baeldung.com/java-sort-strings-contained-numbers) +- [How an In-Place Sorting Algorithm Works](https://www.baeldung.com/java-in-place-sorting) +- [Selection Sort in Java](https://www.baeldung.com/java-selection-sort) +- [Sorting Strings by Contained Numbers in Java](https://www.baeldung.com/java-sort-strings-contained-numbers) +- [Radix Sort in Java](https://www.baeldung.com/java-radix-sort) diff --git a/apache-shiro/README.md b/apache-shiro/README.md index 553eeecc69..ed63c569da 100644 --- a/apache-shiro/README.md +++ b/apache-shiro/README.md @@ -4,4 +4,6 @@ This module contains articles about Apache Shiro ### Relevant articles: -- [Introduction to Apache Shiro](https://www.baeldung.com/apache-shiro) \ No newline at end of file +- [Introduction to Apache Shiro](https://www.baeldung.com/apache-shiro) +- [Permissions-Based Access Control with Apache Shiro](https://www.baeldung.com/apache-shiro-access-control) + diff --git a/apache-spark/README.md b/apache-spark/README.md index 360a18f095..52313d66bf 100644 --- a/apache-spark/README.md +++ b/apache-spark/README.md @@ -6,3 +6,5 @@ This module contains articles about Apache Spark - [Introduction to Apache Spark](https://www.baeldung.com/apache-spark) - [Building a Data Pipeline with Kafka, Spark Streaming and Cassandra](https://www.baeldung.com/kafka-spark-data-pipeline) +- [Machine Learning with Spark MLlib](https://www.baeldung.com/spark-mlib-machine-learning) + diff --git a/core-groovy-2/README.md b/core-groovy-2/README.md index 6359592da6..f1984f18f4 100644 --- a/core-groovy-2/README.md +++ b/core-groovy-2/README.md @@ -11,4 +11,5 @@ This module contains articles about core Groovy concepts - [Integrating Groovy into Java Applications](https://www.baeldung.com/groovy-java-applications) - [Concatenate Strings with Groovy](https://www.baeldung.com/groovy-concatenate-strings) - [Metaprogramming in Groovy](https://www.baeldung.com/groovy-metaprogramming) -- [[<-- Prev]](/core-groovy) \ No newline at end of file +- [A Quick Guide to Working with Web Services in Groovy](https://www.baeldung.com/groovy-web-services) +- [[<-- Prev]](/core-groovy) diff --git a/core-java-modules/core-java-collections-array-list/README.md b/core-java-modules/core-java-collections-array-list/README.md index 4423a77c78..302ea82130 100644 --- a/core-java-modules/core-java-collections-array-list/README.md +++ b/core-java-modules/core-java-collections-array-list/README.md @@ -7,4 +7,6 @@ This module contains articles about the Java ArrayList collection - [Guide to the Java ArrayList](http://www.baeldung.com/java-arraylist) - [Add Multiple Items to an Java ArrayList](http://www.baeldung.com/java-add-items-array-list) - [ClassCastException: Arrays$ArrayList cannot be cast to ArrayList](https://www.baeldung.com/java-classcastexception-arrays-arraylist) -- [Multi Dimensional ArrayList in Java](https://www.baeldung.com/java-multi-dimensional-arraylist) \ No newline at end of file +- [Multi Dimensional ArrayList in Java](https://www.baeldung.com/java-multi-dimensional-arraylist) +- [Removing an Element From an ArrayList](https://www.baeldung.com/java-arraylist-remove-element) + diff --git a/core-java-modules/core-java-exceptions/README.md b/core-java-modules/core-java-exceptions/README.md index 0120b970c3..ba327b06f2 100644 --- a/core-java-modules/core-java-exceptions/README.md +++ b/core-java-modules/core-java-exceptions/README.md @@ -11,3 +11,5 @@ This module contains articles about core java exceptions - [Difference Between Throw and Throws in Java](https://www.baeldung.com/java-throw-throws) - [“Sneaky Throws” in Java](https://www.baeldung.com/java-sneaky-throws) - [The StackOverflowError in Java](https://www.baeldung.com/java-stack-overflow-error) +- [Checked and Unchecked Exceptions in Java](https://www.baeldung.com/java-checked-unchecked-exceptions) + diff --git a/core-java-modules/core-java-io-2/README.md b/core-java-modules/core-java-io-2/README.md new file mode 100644 index 0000000000..2299320f32 --- /dev/null +++ b/core-java-modules/core-java-io-2/README.md @@ -0,0 +1,6 @@ + +### Relevant Articles: + +- [Create a File in a Specific Directory in Java](https://www.baeldung.com/java-create-file-in-directory) +- [A Guide to the Java FileReader Class](https://www.baeldung.com/java-filereader) + diff --git a/core-java-modules/core-java-io/README.md b/core-java-modules/core-java-io/README.md index 023d7d64b5..34b2f371e1 100644 --- a/core-java-modules/core-java-io/README.md +++ b/core-java-modules/core-java-io/README.md @@ -41,4 +41,5 @@ This module contains articles about core Java input and output (IO) - [List Files in a Directory in Java](https://www.baeldung.com/java-list-directory-files) - [Java InputStream to Byte Array and ByteBuffer](https://www.baeldung.com/convert-input-stream-to-array-of-bytes) - [Introduction to the Java NIO Selector](https://www.baeldung.com/java-nio-selector) +- [How to Avoid the Java FileNotFoundException When Loading Resources](https://www.baeldung.com/java-classpath-resource-cannot-be-opened) - [[More -->]](/core-java-modules/core-java-io-2) diff --git a/core-java-modules/core-java-jndi/README.md b/core-java-modules/core-java-jndi/README.md new file mode 100644 index 0000000000..d9fb324c9a --- /dev/null +++ b/core-java-modules/core-java-jndi/README.md @@ -0,0 +1,4 @@ + +### Relevant Articles: + +- [Java Naming and Directory Interface Overview](https://www.baeldung.com/jndi) diff --git a/core-java-modules/core-java-jvm/README.md b/core-java-modules/core-java-jvm/README.md index 82067ad952..a1a57c83c5 100644 --- a/core-java-modules/core-java-jvm/README.md +++ b/core-java-modules/core-java-jvm/README.md @@ -4,3 +4,5 @@ ### Relevant Articles: - [Method Inlining in the JVM](https://www.baeldung.com/jvm-method-inlining) +- [A Guide to System.exit()](https://www.baeldung.com/java-system-exit) +- [Guide to System.gc()](https://www.baeldung.com/java-system-gc) diff --git a/core-java-modules/core-java-lang-2/README.md b/core-java-modules/core-java-lang-2/README.md index 9904e59035..ee57ec6198 100644 --- a/core-java-modules/core-java-lang-2/README.md +++ b/core-java-modules/core-java-lang-2/README.md @@ -4,4 +4,5 @@ This module contains articles about core features in the Java language ### Relevant Articles: - [Java Primitives versus Objects](https://www.baeldung.com/java-primitives-vs-objects) -- [[<-- Prev]](/core-java-modules/core-java-lang) \ No newline at end of file +- [Command-Line Arguments in Java](https://www.baeldung.com/java-command-line-arguments) +- [[<-- Prev]](/core-java-modules/core-java-lang) diff --git a/core-java-modules/core-java-lang-oop-2/README.md b/core-java-modules/core-java-lang-oop-2/README.md index e2c30bbb40..f387e8d4a2 100644 --- a/core-java-modules/core-java-lang-oop-2/README.md +++ b/core-java-modules/core-java-lang-oop-2/README.md @@ -14,4 +14,5 @@ This module contains articles about Object-oriented programming (OOP) in Java - [A Guide to Constructors in Java](https://www.baeldung.com/java-constructors) - [Composition, Aggregation, and Association in Java](https://www.baeldung.com/java-composition-aggregation-association) - [Static and Default Methods in Interfaces in Java](https://www.baeldung.com/java-static-default-methods) -- [[<-- Prev]](/core-java-modules/core-java-lang-oop)[[More -->]](/core-java-modules/core-java-lang-oop-3) \ No newline at end of file +- [Java Copy Constructor](https://www.baeldung.com/java-copy-constructor) +- [[<-- Prev]](/core-java-modules/core-java-lang-oop)[[More -->]](/core-java-modules/core-java-lang-oop-3) diff --git a/core-java-modules/core-java-lang-operators/README.md b/core-java-modules/core-java-lang-operators/README.md index f9fa49ee0d..c4f5049d61 100644 --- a/core-java-modules/core-java-lang-operators/README.md +++ b/core-java-modules/core-java-lang-operators/README.md @@ -5,3 +5,5 @@ - [Java instanceof Operator](https://www.baeldung.com/java-instanceof) - [A Guide to Increment and Decrement Unary Operators in Java](https://www.baeldung.com/java-unary-operators) - [Java Compound Operators](https://www.baeldung.com/java-compound-operators) +- [The XOR Operator in Java](https://www.baeldung.com/java-xor-operator) + diff --git a/core-java-modules/core-java-nio/README.md b/core-java-modules/core-java-nio/README.md index efa58671b5..727bd2546c 100644 --- a/core-java-modules/core-java-nio/README.md +++ b/core-java-modules/core-java-nio/README.md @@ -5,3 +5,4 @@ This module contains articles about core Java non-blocking input and output (IO) ## Relevant Articles: - [Determine File Creation Date in Java](https://www.baeldung.com/java-file-creation-date) +- [Find the Number of Lines in a File Using Jav](https://www.baeldung.com/java-file-number-of-lines) diff --git a/core-java-modules/core-java-security/README.md b/core-java-modules/core-java-security/README.md index 48fd071396..7386d04e8e 100644 --- a/core-java-modules/core-java-security/README.md +++ b/core-java-modules/core-java-security/README.md @@ -14,3 +14,5 @@ This module contains articles about core Java Security - [Enabling TLS v1.2 in Java 7](https://www.baeldung.com/java-7-tls-v12) - [The Java SecureRandom Class](https://www.baeldung.com/java-secure-random) - [An Introduction to Java SASL](https://www.baeldung.com/java-sasl) +- [A Guide to Java GSS API](https://www.baeldung.com/java-gss) + From 425f0fda655898180fc93aa46365de093a27bf08 Mon Sep 17 00:00:00 2001 From: Loredana Date: Sat, 12 Oct 2019 22:39:55 +0300 Subject: [PATCH 139/199] add github links to articles --- gradle-5/README.md | 5 +++++ java-math/README.md | 2 ++ java-numbers-2/README.md | 2 ++ java-strings-3/README.md | 4 ++++ javaxval/README.md | 2 +- jaxb/README.md | 2 ++ jersey/README.md | 2 ++ jhipster-5/bookstore-monolith/README.md | 2 ++ libraries-primitive/README.MD | 2 ++ mapstruct/README.md | 2 ++ metrics/README.md | 2 ++ 11 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 gradle-5/README.md diff --git a/gradle-5/README.md b/gradle-5/README.md new file mode 100644 index 0000000000..73b6b7e12a --- /dev/null +++ b/gradle-5/README.md @@ -0,0 +1,5 @@ + +### Relevant Articles: + +- [Run a Java main Method Using Gradle](https://www.baeldung.com/gradle-run-java-main) + diff --git a/java-math/README.md b/java-math/README.md index 49ff5afde1..d80a07258a 100644 --- a/java-math/README.md +++ b/java-math/README.md @@ -14,3 +14,5 @@ This module contains articles about math in Java. - [Convert Latitude and Longitude to a 2D Point in Java](https://www.baeldung.com/java-convert-latitude-longitude) - [Debugging with Eclipse](https://www.baeldung.com/eclipse-debugging) - [Matrix Multiplication in Java](https://www.baeldung.com/java-matrix-multiplication) +- [Calculating Logarithms in Java](https://www.baeldung.com/java-logarithms) +- [Finding Greatest Common Divisor in Java](https://www.baeldung.com/java-greatest-common-divisor) diff --git a/java-numbers-2/README.md b/java-numbers-2/README.md index 48f9acd32d..e200c4aa03 100644 --- a/java-numbers-2/README.md +++ b/java-numbers-2/README.md @@ -13,4 +13,6 @@ This module contains articles about numbers in Java. - [Binary Numbers in Java](https://www.baeldung.com/java-binary-numbers) - [Finding the Least Common Multiple in Java](https://www.baeldung.com/java-least-common-multiple) - [Binary Numbers in Java](https://www.baeldung.com/java-binary-numbers) +- [Generating Random Numbers in a Range in Java](https://www.baeldung.com/java-generating-random-numbers) +- [Listing Numbers Within a Range in Java](https://www.baeldung.com/java-listing-numbers-within-a-range) - More articles: [[<-- prev]](/../java-numbers) diff --git a/java-strings-3/README.md b/java-strings-3/README.md index f0aaddefcb..4e9d63b682 100644 --- a/java-strings-3/README.md +++ b/java-strings-3/README.md @@ -5,4 +5,8 @@ This module contains articles about strings in Java. ### Relevant Articles: - [Converting Java String to Double](https://www.baeldung.com/java-string-to-double) +- [Counting Words in a String](https://www.baeldung.com/java-word-counting) +- [Java String equalsIgnoreCase()](https://www.baeldung.com/java-string-equalsignorecase) +- [Finding the Difference Between Two Strings in Java](https://www.baeldung.com/java-difference-between-two-strings) +- [Add a Header to a Jersey SSE Client Request](https://www.baeldung.com/jersey-sse-client-request-headers) - More articles: [[<-- prev>]](/java-strings-2) diff --git a/javaxval/README.md b/javaxval/README.md index 64903d7463..c2c392b276 100644 --- a/javaxval/README.md +++ b/javaxval/README.md @@ -9,4 +9,4 @@ This module contains articles about Bean Validation. - [Difference Between @NotNull, @NotEmpty, and @NotBlank Constraints in Bean Validation](https://www.baeldung.com/java-bean-validation-not-null-empty-blank) - [Javax BigDecimal Validation](https://www.baeldung.com/javax-bigdecimal-validation) - [Grouping Javax Validation Constraints](https://www.baeldung.com/javax-validation-groups) -- [Javax Validations for Enums](https://www.baeldung.com/javax-validations-for-enums/) +- [Javax Validations for Enums](https://www.baeldung.com/javax-validations-enums) diff --git a/jaxb/README.md b/jaxb/README.md index aca078af15..d9d16ab70b 100644 --- a/jaxb/README.md +++ b/jaxb/README.md @@ -4,3 +4,5 @@ This module contains articles about JAXB. ### Relevant Articles: - [Guide to JAXB](https://www.baeldung.com/jaxb) +- [Unmarshalling Dates Using JAXB](https://www.baeldung.com/jaxb-unmarshalling-dates) + diff --git a/jersey/README.md b/jersey/README.md index 09de7051ca..8537e07358 100644 --- a/jersey/README.md +++ b/jersey/README.md @@ -9,3 +9,5 @@ This module contains articles about Jersey. - [Set a Response Body in JAX-RS](https://www.baeldung.com/jax-rs-response) - [Exploring the Jersey Test Framework](https://www.baeldung.com/jersey-test) - [Explore Jersey Request Parameters](https://www.baeldung.com/jersey-request-parameters) +- [Add a Header to a Jersey SSE Client Request](https://www.baeldung.com/jersey-sse-client-request-headers) + diff --git a/jhipster-5/bookstore-monolith/README.md b/jhipster-5/bookstore-monolith/README.md index 0537f5b1a5..e4e69b83ac 100644 --- a/jhipster-5/bookstore-monolith/README.md +++ b/jhipster-5/bookstore-monolith/README.md @@ -1,3 +1,5 @@ ## Relevant articles: - [Creating New APIs and Views in JHipster](https://www.baeldung.com/jhipster-new-apis-and-views) +- [JHipster Authentication with an External Service](https://www.baeldung.com/jhipster-authentication-external-service) + diff --git a/libraries-primitive/README.MD b/libraries-primitive/README.MD index f27fb73dd6..086cdc0d2d 100644 --- a/libraries-primitive/README.MD +++ b/libraries-primitive/README.MD @@ -1,3 +1,5 @@ ### Relevant Articles - [Guide to FastUtil](https://www.baeldung.com/fastutil) +- [Primitive Collections in Eclipse Collections](https://www.baeldung.com/java-eclipse-primitive-collections) + diff --git a/mapstruct/README.md b/mapstruct/README.md index b784820b98..be02c1186b 100644 --- a/mapstruct/README.md +++ b/mapstruct/README.md @@ -4,3 +4,5 @@ This module contains articles about MapStruct. ###Relevant Articles: - [Quick Guide to MapStruct](https://www.baeldung.com/mapstruct) +- [Custom Mapper with MapStruct](https://www.baeldung.com/mapstruct-custom-mapper) + diff --git a/metrics/README.md b/metrics/README.md index f27f5fb795..b8a1bf026f 100644 --- a/metrics/README.md +++ b/metrics/README.md @@ -7,3 +7,5 @@ This module contains articles about metrics. - [Intro to Dropwizard Metrics](https://www.baeldung.com/dropwizard-metrics) - [Introduction to Netflix Servo](https://www.baeldung.com/netflix-servo) - [Quick Guide to Micrometer](https://www.baeldung.com/micrometer) +- [@Timed Annotation Using Metrics and AspectJ](https://www.baeldung.com/timed-metrics-aspectj) + From d296ca7808136566325212190fa23b4268b71a7f Mon Sep 17 00:00:00 2001 From: Loredana Date: Sat, 12 Oct 2019 22:51:14 +0300 Subject: [PATCH 140/199] add github links to articles --- persistence-modules/sirix/README.md | 4 +++- spring-5-data-reactive/README.md | 2 ++ spring-5-reactive-client/README.md | 1 + spring-5/README.md | 2 +- spring-boot-autoconfiguration/README.md | 2 ++ spring-freemarker/README.md | 2 ++ spring-mvc-simple-2/README.md | 1 + spring-mvc-xml/README.md | 2 +- spring-security-mvc-boot/README.md | 2 ++ .../src/main/java/org/baeldung/jdbcauthentication/README.md | 3 --- spring-thymeleaf-2/README.md | 2 ++ testing-modules/junit-5-advanced/README.md | 2 ++ xml/README.md | 2 ++ 13 files changed, 21 insertions(+), 6 deletions(-) delete mode 100644 spring-security-mvc-boot/src/main/java/org/baeldung/jdbcauthentication/README.md diff --git a/persistence-modules/sirix/README.md b/persistence-modules/sirix/README.md index b0f6f8d04b..161e60c2cb 100644 --- a/persistence-modules/sirix/README.md +++ b/persistence-modules/sirix/README.md @@ -1,3 +1,5 @@ ## Relevant articles: -- [Introduction to Sirix](https://www.baeldung.com/introduction-to-sirix) \ No newline at end of file +- [Introduction to Sirix](https://www.baeldung.com/introduction-to-sirix) +- [A Guide to SirixDB](https://www.baeldung.com/sirix) + diff --git a/spring-5-data-reactive/README.md b/spring-5-data-reactive/README.md index 683b493317..03bd323cb4 100644 --- a/spring-5-data-reactive/README.md +++ b/spring-5-data-reactive/README.md @@ -10,3 +10,5 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring - [Spring Data Reactive Repositories with MongoDB](https://www.baeldung.com/spring-data-mongodb-reactive) - [Spring Data MongoDB Tailable Cursors](https://www.baeldung.com/spring-data-mongodb-tailable-cursors) - [A Quick Look at R2DBC with Spring Data](https://www.baeldung.com/spring-data-r2dbc) +- [Spring Data Reactive Repositories with Couchbase](https://www.baeldung.com/spring-data-reactive-couchbase) + diff --git a/spring-5-reactive-client/README.md b/spring-5-reactive-client/README.md index 90d12cad1c..97afeccb64 100644 --- a/spring-5-reactive-client/README.md +++ b/spring-5-reactive-client/README.md @@ -6,4 +6,5 @@ This module contains articles about reactive Spring 5 WebClient The "REST With Spring" Classes: http://bit.ly/restwithspring ### Relevant Articles +- [Logging Spring WebClient Calls](https://www.baeldung.com/spring-log-webclient-calls) diff --git a/spring-5/README.md b/spring-5/README.md index 7588d23304..3f839a5bca 100644 --- a/spring-5/README.md +++ b/spring-5/README.md @@ -15,4 +15,4 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring - [Spring ResponseStatusException](https://www.baeldung.com/spring-response-status-exception) - [Spring Assert Statements](https://www.baeldung.com/spring-assert) - [Configuring a Hikari Connection Pool with Spring Boot](https://www.baeldung.com/spring-boot-hikari) - +- [Difference between \ vs \](https://www.baeldung.com/spring-contextannotation-contextcomponentscan) diff --git a/spring-boot-autoconfiguration/README.md b/spring-boot-autoconfiguration/README.md index 67311eed50..180d857d52 100644 --- a/spring-boot-autoconfiguration/README.md +++ b/spring-boot-autoconfiguration/README.md @@ -9,3 +9,5 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring - [Create a Custom Auto-Configuration with Spring Boot](https://www.baeldung.com/spring-boot-custom-auto-configuration) - [Guide to ApplicationContextRunner in Spring Boot](https://www.baeldung.com/spring-boot-context-runner) +- [A Guide to Spring Boot Configuration Metadata](https://www.baeldung.com/spring-boot-configuration-metadata) + diff --git a/spring-freemarker/README.md b/spring-freemarker/README.md index 410781f2ca..d9dfe16fbe 100644 --- a/spring-freemarker/README.md +++ b/spring-freemarker/README.md @@ -4,3 +4,5 @@ This module contains articles about Spring with FreeMarker ### Relevant Articles: - [Introduction to Using FreeMarker in Spring MVC](https://www.baeldung.com/freemarker-in-spring-mvc-tutorial) +- [FreeMarker Common Operations](https://www.baeldung.com/freemarker-operations) + diff --git a/spring-mvc-simple-2/README.md b/spring-mvc-simple-2/README.md index a4a545ab72..c03fa6363a 100644 --- a/spring-mvc-simple-2/README.md +++ b/spring-mvc-simple-2/README.md @@ -5,4 +5,5 @@ This module contains articles about Spring MVC ## Relevant articles: - [How to Read HTTP Headers in Spring REST Controllers](https://www.baeldung.com/spring-rest-http-headers) - [A Custom Data Binder in Spring MVC](https://www.baeldung.com/spring-mvc-custom-data-binder) +- [Validating Lists in a Spring Controller](https://www.baeldung.com/spring-validate-list-controller) - More articles: [[<-- prev]](/spring-mvc-simple) diff --git a/spring-mvc-xml/README.md b/spring-mvc-xml/README.md index b6a34475ea..bc530ba295 100644 --- a/spring-mvc-xml/README.md +++ b/spring-mvc-xml/README.md @@ -14,6 +14,6 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring - [web.xml vs Initializer with Spring](https://www.baeldung.com/spring-xml-vs-java-config) - [A Java Web Application Without a web.xml](https://www.baeldung.com/java-web-app-without-web-xml) - [Validating RequestParams and PathVariables in Spring](https://www.baeldung.com/spring-validate-requestparam-pathvariable) - +- [Debugging the Spring MVC 404 “No mapping found for HTTP request” Error](https://www.baeldung.com/spring-mvc-404-error) ## Spring MVC with XML Configuration Example Project - access a sample jsp page at: `http://localhost:8080/spring-mvc-xml/sample.html` diff --git a/spring-security-mvc-boot/README.md b/spring-security-mvc-boot/README.md index 7dcfe4d70f..a1056cc130 100644 --- a/spring-security-mvc-boot/README.md +++ b/spring-security-mvc-boot/README.md @@ -17,3 +17,5 @@ The "REST With Spring" Classes: http://github.learnspringsecurity.com - [Spring Security – Whitelist IP Range](https://www.baeldung.com/spring-security-whitelist-ip-range) - [Find the Registered Spring Security Filters](https://www.baeldung.com/spring-security-registered-filters) - [HTTPS using Self-Signed Certificate in Spring Boot](https://www.baeldung.com/spring-boot-https-self-signed-certificate) +- [Spring Security: Exploring JDBC Authentication](https://www.baeldung.com/spring-security-jdbc-authentication) + diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/jdbcauthentication/README.md b/spring-security-mvc-boot/src/main/java/org/baeldung/jdbcauthentication/README.md deleted file mode 100644 index a7cdfec7d8..0000000000 --- a/spring-security-mvc-boot/src/main/java/org/baeldung/jdbcauthentication/README.md +++ /dev/null @@ -1,3 +0,0 @@ -### Relevant Articles: - -- [Spring Security: Exploring JDBC Authentication](https://www.baeldung.com/spring-security-jdbc-authentication) diff --git a/spring-thymeleaf-2/README.md b/spring-thymeleaf-2/README.md index ce83032cb5..22a73f06e1 100644 --- a/spring-thymeleaf-2/README.md +++ b/spring-thymeleaf-2/README.md @@ -3,3 +3,5 @@ - [Working with Enums in Thymeleaf](https://www.baeldung.com/thymeleaf-enums) - [Changing the Thymeleaf Template Directory in Spring Boot](https://www.baeldung.com/spring-thymeleaf-template-directory) - [Spring Request Parameters with Thymeleaf](https://www.baeldung.com/spring-thymeleaf-request-parameters) +- [Thymeleaf lists Utility Object](https://www.baeldung.com/thymeleaf-lists-utility) + diff --git a/testing-modules/junit-5-advanced/README.md b/testing-modules/junit-5-advanced/README.md index 61a65b2e5a..9dfa676c5c 100644 --- a/testing-modules/junit-5-advanced/README.md +++ b/testing-modules/junit-5-advanced/README.md @@ -2,3 +2,5 @@ - [JUnit 5 TestWatcher API](https://www.baeldung.com/junit-testwatcher) - [JUnit Custom Display Name Generator API](https://www.baeldung.com/junit-custom-display-name-generator) +- [@TestInstance Annotation in JUnit 5](https://www.baeldung.com/junit-testinstance-annotation) + diff --git a/xml/README.md b/xml/README.md index d1aa3a798b..b609a1e078 100644 --- a/xml/README.md +++ b/xml/README.md @@ -10,3 +10,5 @@ This module contains articles about eXtensible Markup Language (XML) - [Write an org.w3.dom.Document to a File](https://www.baeldung.com/java-write-xml-document-file) - [Modifying an XML Attribute in Java](https://www.baeldung.com/java-modify-xml-attribute) - [Convert XML to HTML in Java](https://www.baeldung.com/java-convert-xml-to-html) +- [Parsing an XML File Using StAX](https://www.baeldung.com/java-stax) + From 2f9e9d90c766770eef5898729d757332b9e09da5 Mon Sep 17 00:00:00 2001 From: Martin van Wingerden Date: Sat, 12 Oct 2019 22:57:11 +0200 Subject: [PATCH 141/199] BAEL-2350 - DataJpaTest Configuration not found (#7996) * BAEL-2350 - DataJpaTest Configuration not found Add a simple example to show how the correct (package) structure is for using @DataJpaTest * Removed link as requested --- pom.xml | 2 + spring-boot-configuration/README.md | 5 ++ .../data-jpa-application/pom.xml | 12 ++++ .../baeldung/data/jpa/ApplicationFound.java | 7 +++ .../jpa/application/ApplicationNotFound.java | 7 +++ .../baeldung/data/jpa/DataJpaUnitTest.java | 23 +++++++ .../data-jpa-library/pom.xml | 12 ++++ .../data/jpa/libarary/model/Example.java | 13 ++++ .../baeldung/data/jpa/TestApplication.java | 7 +++ .../data/jpa/libarary/DataJpaUnitTest.java | 24 ++++++++ spring-boot-configuration/pom.xml | 61 +++++++++++++++++++ spring-boot-exceptions/README.md | 4 -- 12 files changed, 173 insertions(+), 4 deletions(-) create mode 100644 spring-boot-configuration/README.md create mode 100644 spring-boot-configuration/data-jpa-application/pom.xml create mode 100644 spring-boot-configuration/data-jpa-application/src/main/java/com/baeldung/data/jpa/ApplicationFound.java create mode 100644 spring-boot-configuration/data-jpa-application/src/main/java/com/baeldung/data/jpa/application/ApplicationNotFound.java create mode 100644 spring-boot-configuration/data-jpa-application/src/test/java/com/baeldung/data/jpa/DataJpaUnitTest.java create mode 100644 spring-boot-configuration/data-jpa-library/pom.xml create mode 100644 spring-boot-configuration/data-jpa-library/src/main/java/com/baeldung/data/jpa/libarary/model/Example.java create mode 100644 spring-boot-configuration/data-jpa-library/src/test/java/com/baeldung/data/jpa/TestApplication.java create mode 100644 spring-boot-configuration/data-jpa-library/src/test/java/com/baeldung/data/jpa/libarary/DataJpaUnitTest.java create mode 100644 spring-boot-configuration/pom.xml delete mode 100644 spring-boot-exceptions/README.md diff --git a/pom.xml b/pom.xml index 02f4e720c0..196870800c 100644 --- a/pom.xml +++ b/pom.xml @@ -594,6 +594,7 @@ tensorflow-java spf4j + spring-boot-configuration spring-boot-flowable spring-boot-mvc-2 spring-boot-performance @@ -681,6 +682,7 @@ spring-boot-bootstrap spring-boot-camel + spring-boot-configuration spring-boot-client spring-boot-crud diff --git a/spring-boot-configuration/README.md b/spring-boot-configuration/README.md new file mode 100644 index 0000000000..c449538a9d --- /dev/null +++ b/spring-boot-configuration/README.md @@ -0,0 +1,5 @@ +# Spring Boot Configuration + +This module contains articles about Spring Boot Configuration. + +### Relevant Articles: diff --git a/spring-boot-configuration/data-jpa-application/pom.xml b/spring-boot-configuration/data-jpa-application/pom.xml new file mode 100644 index 0000000000..b1bf6fda43 --- /dev/null +++ b/spring-boot-configuration/data-jpa-application/pom.xml @@ -0,0 +1,12 @@ + + 4.0.0 + data-jpa-application + 0.0.1-SNAPSHOT + + + com.baeldung.spring-boot-configuration + spring-boot-configuration + 0.0.1-SNAPSHOT + + \ No newline at end of file diff --git a/spring-boot-configuration/data-jpa-application/src/main/java/com/baeldung/data/jpa/ApplicationFound.java b/spring-boot-configuration/data-jpa-application/src/main/java/com/baeldung/data/jpa/ApplicationFound.java new file mode 100644 index 0000000000..50efb42a19 --- /dev/null +++ b/spring-boot-configuration/data-jpa-application/src/main/java/com/baeldung/data/jpa/ApplicationFound.java @@ -0,0 +1,7 @@ +package com.baeldung.data.jpa; + +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ApplicationFound { +} diff --git a/spring-boot-configuration/data-jpa-application/src/main/java/com/baeldung/data/jpa/application/ApplicationNotFound.java b/spring-boot-configuration/data-jpa-application/src/main/java/com/baeldung/data/jpa/application/ApplicationNotFound.java new file mode 100644 index 0000000000..8e7362f626 --- /dev/null +++ b/spring-boot-configuration/data-jpa-application/src/main/java/com/baeldung/data/jpa/application/ApplicationNotFound.java @@ -0,0 +1,7 @@ +package com.baeldung.data.jpa.application; + +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ApplicationNotFound { +} diff --git a/spring-boot-configuration/data-jpa-application/src/test/java/com/baeldung/data/jpa/DataJpaUnitTest.java b/spring-boot-configuration/data-jpa-application/src/test/java/com/baeldung/data/jpa/DataJpaUnitTest.java new file mode 100644 index 0000000000..ac7ff8561b --- /dev/null +++ b/spring-boot-configuration/data-jpa-application/src/test/java/com/baeldung/data/jpa/DataJpaUnitTest.java @@ -0,0 +1,23 @@ +package com.baeldung.data.jpa; + +import static org.junit.Assert.assertNotNull; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@DataJpaTest +public class DataJpaUnitTest { + + @Autowired + private TestEntityManager entityManager; + + @Test + public void givenACorrectSetup_thenAnEntityManagerWillBeAvailable() { + assertNotNull(entityManager); + } +} diff --git a/spring-boot-configuration/data-jpa-library/pom.xml b/spring-boot-configuration/data-jpa-library/pom.xml new file mode 100644 index 0000000000..1534e7ed23 --- /dev/null +++ b/spring-boot-configuration/data-jpa-library/pom.xml @@ -0,0 +1,12 @@ + + 4.0.0 + data-jpa-library + 0.0.1-SNAPSHOT + + + com.baeldung.spring-boot-configuration + spring-boot-configuration + 0.0.1-SNAPSHOT + + \ No newline at end of file diff --git a/spring-boot-configuration/data-jpa-library/src/main/java/com/baeldung/data/jpa/libarary/model/Example.java b/spring-boot-configuration/data-jpa-library/src/main/java/com/baeldung/data/jpa/libarary/model/Example.java new file mode 100644 index 0000000000..d5c41d303e --- /dev/null +++ b/spring-boot-configuration/data-jpa-library/src/main/java/com/baeldung/data/jpa/libarary/model/Example.java @@ -0,0 +1,13 @@ +package com.baeldung.data.jpa.libarary.model; + +public class Example { + private String example; + + public String getExample() { + return example; + } + + public void setExample(String example) { + this.example = example; + } +} diff --git a/spring-boot-configuration/data-jpa-library/src/test/java/com/baeldung/data/jpa/TestApplication.java b/spring-boot-configuration/data-jpa-library/src/test/java/com/baeldung/data/jpa/TestApplication.java new file mode 100644 index 0000000000..83f60b388b --- /dev/null +++ b/spring-boot-configuration/data-jpa-library/src/test/java/com/baeldung/data/jpa/TestApplication.java @@ -0,0 +1,7 @@ +package com.baeldung.data.jpa; + +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class TestApplication { +} diff --git a/spring-boot-configuration/data-jpa-library/src/test/java/com/baeldung/data/jpa/libarary/DataJpaUnitTest.java b/spring-boot-configuration/data-jpa-library/src/test/java/com/baeldung/data/jpa/libarary/DataJpaUnitTest.java new file mode 100644 index 0000000000..31f12a6093 --- /dev/null +++ b/spring-boot-configuration/data-jpa-library/src/test/java/com/baeldung/data/jpa/libarary/DataJpaUnitTest.java @@ -0,0 +1,24 @@ +package com.baeldung.data.jpa.libarary; + +import static org.junit.Assert.assertNotNull; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@DataJpaTest +public class DataJpaUnitTest { + + @Autowired + private TestEntityManager entityManager; + + @Test + public void givenACorrectSetup_thenAnEntityManagerWillBeAvailable() { + assertNotNull(entityManager); + } + +} diff --git a/spring-boot-configuration/pom.xml b/spring-boot-configuration/pom.xml new file mode 100644 index 0000000000..e4473c3f2d --- /dev/null +++ b/spring-boot-configuration/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + com.baeldung.spring-boot-configuration + spring-boot-configuration + 0.0.1-SNAPSHOT + pom + + + com.baeldung + parent-boot-2 + 0.0.1-SNAPSHOT + ../parent-boot-2/pom.xml + + + + data-jpa-library + data-jpa-application + + + + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + + + + + org.springframework.boot + spring-boot-starter-data-jpa + ${spring-boot.version} + + + + org.springframework.boot + spring-boot-starter-test + ${spring-boot.version} + test + + + + com.h2database + h2 + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/spring-boot-exceptions/README.md b/spring-boot-exceptions/README.md deleted file mode 100644 index bbc272aec4..0000000000 --- a/spring-boot-exceptions/README.md +++ /dev/null @@ -1,4 +0,0 @@ - -### Relevant Articles: - -- [Rendering Exceptions in JSON with Spring](https://www.baeldung.com/spring-exceptions-json) From 3a7c2ac8cca374e14238e958a13be81e03170e4e Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Sun, 13 Oct 2019 09:38:38 +0200 Subject: [PATCH 142/199] #BAEL-18260 Try and update the nd4j dependency to fix the build --- deeplearning4j/pom.xml | 7 ++++++- .../src/main/java/com/baeldung/logreg/MnistClassifier.java | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/deeplearning4j/pom.xml b/deeplearning4j/pom.xml index 64d365e188..9a381c6967 100644 --- a/deeplearning4j/pom.xml +++ b/deeplearning4j/pom.xml @@ -14,6 +14,11 @@ + + org.nd4j + nd4j-api + ${dl4j.version} + org.nd4j nd4j-native-platform @@ -43,7 +48,7 @@ - 0.9.1 + 1.0.0-beta5 diff --git a/deeplearning4j/src/main/java/com/baeldung/logreg/MnistClassifier.java b/deeplearning4j/src/main/java/com/baeldung/logreg/MnistClassifier.java index 1246de973f..e320c366bf 100644 --- a/deeplearning4j/src/main/java/com/baeldung/logreg/MnistClassifier.java +++ b/deeplearning4j/src/main/java/com/baeldung/logreg/MnistClassifier.java @@ -165,4 +165,4 @@ public class MnistClassifier { ModelSerializer.writeModel(model, modelPath, true); logger.info("The MINIST model has been saved in {}", modelPath.getPath()); } -} \ No newline at end of file +} From bd3373283bdea209ee24acc0c28bc57bf4ff3a91 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Sun, 13 Oct 2019 09:43:31 +0200 Subject: [PATCH 143/199] #BAEL-16646 remove duplicated modules - fix the build --- core-java-modules/pom.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/core-java-modules/pom.xml b/core-java-modules/pom.xml index d9b432008b..68ece1c473 100644 --- a/core-java-modules/pom.xml +++ b/core-java-modules/pom.xml @@ -19,8 +19,6 @@ core-java-lang-operators core-java-networking-2 core-java-security-manager - core-java-datetime-conversion - core-java-datetime-string From 7b2920f109268697e7bc5f62b129dce4734633c6 Mon Sep 17 00:00:00 2001 From: catalin-burcea Date: Sun, 13 Oct 2019 16:35:46 +0300 Subject: [PATCH 144/199] Split or move libraries-data module --- libraries-data-2/README.md | 10 +- libraries-data-2/pom.xml | 107 ++++---- .../com/baeldung/derive4j/adt/Either.java | 0 .../baeldung/derive4j/lazy/LazyRequest.java | 2 +- .../derive4j/pattern/HTTPRequest.java | 0 .../derive4j/pattern/HTTPResponse.java | 0 .../baeldung/derive4j/pattern/HTTPServer.java | 0 .../main/java/com/baeldung/jmapper/User.java | 0 .../java/com/baeldung/jmapper/UserDto.java | 6 +- .../java/com/baeldung/jmapper/UserDto1.java | 0 .../com/baeldung/jmapper/relational/User.java | 0 .../baeldung/jmapper/relational/UserDto1.java | 0 .../baeldung/jmapper/relational/UserDto2.java | 0 .../com/baeldung/opencsv/beans/CsvBean.java | 3 - .../com/baeldung/suanshu/SuanShuMath.java | 13 +- .../com/baeldung/crdt/CRDTUnitTest.java | 0 .../baeldung/derive4j/adt/EitherUnitTest.java | 1 + .../derive4j/lazy/LazyRequestUnitTest.java | 0 .../derive4j/pattern/HTTPRequestUnitTest.java | 0 .../flink/BackupCreatorIntegrationTest.java | 0 .../flink/WordCapitalizerIntegrationTest.java | 0 .../flink/WordCountIntegrationTest.java | 0 .../hll/HLLLongRunningManualTest.java | 0 .../infinispan/AbstractIntegrationTest.java | 0 .../HelloWorldServiceTemporaryLiveTest.java | 0 .../TransactionalServiceIntegrationTest.java | 0 .../jmapper/JMapperIntegrationTest.java | 17 +- .../JMapperRelationalIntegrationTest.java | 11 +- .../measurement/WaterTankUnitTest.java | 0 .../src/test}/resources/user_jmapper.xml | 0 .../src/test}/resources/user_jmapper1.xml | 0 .../src/test}/resources/user_jmapper2.xml | 0 libraries-data-3/README.md | 5 - libraries-data-3/pom.xml | 55 ----- .../resources/yaml/customer_with_type.yaml | 4 - libraries-data-db/README.md | 11 + .../log4j.properties | 0 .../myPersistence.xml | 0 libraries-data-db/pom.xml | 228 ++++++++++++++++++ .../baeldung/libraries}/ebean/app/App.java | 11 +- .../baeldung/libraries}/ebean/app/App2.java | 6 +- .../libraries}/ebean/model/Address.java | 2 +- .../libraries}/ebean/model/BaseModel.java | 9 +- .../libraries}/ebean/model/Customer.java | 2 +- .../libraries}/hikaricp/DataSource.java | 8 +- .../libraries}/hikaricp/Employee.java | 2 +- .../libraries}/hikaricp/HikariCPDemo.java | 2 +- .../baeldung/libraries}/jdo/GuideToJDO.java | 21 +- .../com/baeldung/libraries}/jdo/Product.java | 2 +- .../baeldung/libraries}/jdo/ProductXML.java | 2 +- .../baeldung/libraries}/jdo/query/MyApp.java | 17 +- .../libraries}/jdo/query/ProductItem.java | 2 +- .../libraries}/jdo/xml/AnnotadedPerson.java | 7 +- .../baeldung/libraries}/jdo/xml/MyApp.java | 13 +- .../baeldung/libraries}/jdo/xml/Person.java | 7 +- .../baeldung/libraries}/jdo/xml/Product.java | 2 +- .../baeldung/libraries}/ormlite/Address.java | 2 +- .../com/baeldung/libraries}/ormlite/Book.java | 2 +- .../baeldung/libraries}/ormlite/Library.java | 2 +- .../libraries}/ormlite/LibraryDao.java | 6 +- .../libraries}/ormlite/LibraryDaoImpl.java | 8 +- .../libraries}/reladomo/Department.java | 2 +- .../reladomo/DepartmentDatabaseObject.java | 2 +- .../libraries}/reladomo/DepartmentList.java | 7 +- .../libraries}/reladomo/Employee.java | 2 +- .../reladomo/EmployeeDatabaseObject.java | 2 +- .../libraries}/reladomo/EmployeeList.java | 7 +- .../reladomo/ReladomoApplication.java | 9 +- .../reladomo/ReladomoConnectionManager.java | 19 +- .../src/main/resources/META-INF/BenchmarkList | 0 .../resources/META-INF/datanucleus.properties | 0 .../src/main/resources/META-INF/jdoconfig.xml | 0 .../src/main/resources/META-INF/package.jdo | 4 +- .../src/main/resources/db.sql | 0 libraries-data-db/src/main/resources/ebean.mf | 3 + .../src/main/resources/ebean.properties | 0 .../src/main/resources/logback.xml | 15 ++ .../main/resources/reladomo/Department.xml | 2 +- .../src/main/resources/reladomo/Employee.xml | 2 +- .../resources/reladomo/ReladomoClassList.xml | 0 .../reladomo/ReladomoRuntimeConfig.xml | 6 + .../hikaricp/HikariCPIntegrationTest.java | 2 +- .../jdo/GuideToJDOIntegrationTest.java | 25 +- .../ormlite/ORMLiteIntegrationTest.java | 22 +- .../reladomo/ReladomoIntegrationTest.java | 9 +- .../resources/reladomo/ReladomoTestConfig.xml | 7 + .../src/test/resources/reladomo/test-data.txt | 7 + libraries-data-io/README.md | 11 + libraries-data-io/pom.xml | 82 +++++++ .../libraries}/docx/Docx4jExample.java | 14 +- .../libraries}/kryo/ComplexClass.java | 2 +- .../com/baeldung/libraries}/kryo/Person.java | 3 +- .../libraries}/kryo/PersonSerializer.java | 3 +- .../libraries}/opencsv/Application.java | 14 +- .../libraries}/opencsv/Constants.java | 2 +- .../libraries/opencsv/beans/CsvBean.java | 3 + .../opencsv/beans/NamedColumnBean.java | 2 +- .../opencsv/beans/SimplePositionBean.java | 2 +- .../opencsv/beans/WriteExampleBean.java | 2 +- .../opencsv/examples/sync/BeanExamples.java | 10 +- .../examples/sync/CsvReaderExamples.java | 4 +- .../examples/sync/CsvWriterExamples.java | 4 +- .../libraries}/opencsv/helpers/Helpers.java | 4 +- .../libraries}/opencsv/pojos/CsvTransfer.java | 4 +- .../sheets/GoogleAuthorizeUtil.java | 16 +- .../libraries}/sheets/SheetsServiceUtil.java | 8 +- .../smooks/converter/OrderConverter.java | 4 +- .../smooks/converter/OrderValidator.java | 2 +- .../libraries}/smooks/model/Item.java | 2 +- .../libraries}/smooks/model/Order.java | 2 +- .../libraries}/smooks/model/Status.java | 2 +- .../libraries}/smooks/model/Supplier.java | 2 +- .../libraries}/snakeyaml/Address.java | 2 +- .../libraries}/snakeyaml/Contact.java | 2 +- .../libraries}/snakeyaml/Customer.java | 2 +- .../google-sheets-client-secret.json | 0 .../src/main/resources/image.jpg | Bin .../src/main/resources/smooks/email.ftl | 0 .../src/main/resources/smooks/item-rules.csv | 0 .../src/main/resources/smooks/order.ftl | 0 .../src/main/resources/smooks/order.json | 0 .../src/main/resources/smooks/order.xml | 0 .../main/resources/smooks/smooks-mapping.xml | 6 +- .../resources/smooks/smooks-transform-edi.xml | 0 .../smooks/smooks-transform-email.xml | 0 .../resources/smooks/smooks-validation.xml | 0 .../main/resources/smooks/supplier.properties | 0 .../Docx4jReadAndWriteIntegrationTest.java | 2 +- .../libraries}/kryo/KryoUnitTest.java | 21 +- .../opencsv/OpenCsvIntegrationTest.java | 4 +- .../sheets/GoogleSheetsLiveTest.java | 2 +- .../smooks}/SmooksIntegrationTest.java | 12 +- .../JavaToYAMLSerializationUnitTest.java | 16 +- .../YAMLToJavaDeserialisationUnitTest.java | 2 +- libraries-data-io/src/test/resources/file.dat | Bin 0 -> 97 bytes .../src/test/resources/yaml/customer.yaml | 0 .../yaml/customer_with_contact_details.yaml | 0 ...omer_with_contact_details_and_address.yaml | 0 ...ustomer_with_contact_details_and_tags.yaml | 0 .../resources/yaml/customer_with_type.yaml | 4 + .../src/test/resources/yaml/customers.yaml | 0 libraries-data/README.md | 9 +- libraries-data/file.dat | Bin 87 -> 0 bytes libraries-data/pom.xml | 211 +--------------- .../main/resources/ReladomoRuntimeConfig.xml | 6 - .../{ => resources}/assembly/hadoop-job.xml | 0 libraries-data/src/main/resources/ebean.mf | 3 - .../src/main/resources/employee.txt | 3 - .../connect-file-sink.properties | 0 .../connect-file-source.properties | 0 .../connect-standalone.properties | 0 .../connect-distributed.properties | 0 .../02_Distributed/connect-file-sink.json | 0 .../02_Distributed/connect-file-source.json | 0 .../connect-distributed.properties | 0 .../connect-file-source-transform.json | 0 .../04_Custom/connect-mongodb-sink.json | 0 .../04_Custom/connect-mqtt-source.json | 0 .../04_Custom/docker-compose.yaml | 0 .../src/main/resources/user_jmapper.xml | 10 - .../src/main/resources/user_jmapper1.xml | 5 - .../src/main/resources/user_jmapper2.xml | 21 -- .../resources/reladomo/ReladomoTestConfig.xml | 7 - .../src/test/resources/reladomo/test-data.txt | 7 - .../src/test/resources/yaml/customer.yaml | 3 - .../yaml/customer_with_contact_details.yaml | 7 - ...omer_with_contact_details_and_address.yaml | 13 - ...ustomer_with_contact_details_and_tags.yaml | 6 - .../resources/yaml/customer_with_type.yaml | 4 - .../src/test/resources/yaml/customers.yaml | 8 - pom.xml | 4 + 171 files changed, 678 insertions(+), 690 deletions(-) rename {libraries-data-3 => libraries-data-2}/src/main/java/com/baeldung/derive4j/adt/Either.java (100%) rename {libraries-data-3 => libraries-data-2}/src/main/java/com/baeldung/derive4j/lazy/LazyRequest.java (90%) rename {libraries-data-3 => libraries-data-2}/src/main/java/com/baeldung/derive4j/pattern/HTTPRequest.java (100%) rename {libraries-data-3 => libraries-data-2}/src/main/java/com/baeldung/derive4j/pattern/HTTPResponse.java (100%) rename {libraries-data-3 => libraries-data-2}/src/main/java/com/baeldung/derive4j/pattern/HTTPServer.java (100%) rename {libraries-data-3 => libraries-data-2}/src/main/java/com/baeldung/jmapper/User.java (100%) rename {libraries-data-3 => libraries-data-2}/src/main/java/com/baeldung/jmapper/UserDto.java (100%) rename {libraries-data-3 => libraries-data-2}/src/main/java/com/baeldung/jmapper/UserDto1.java (100%) rename {libraries-data-3 => libraries-data-2}/src/main/java/com/baeldung/jmapper/relational/User.java (100%) rename {libraries-data-3 => libraries-data-2}/src/main/java/com/baeldung/jmapper/relational/UserDto1.java (100%) rename {libraries-data-3 => libraries-data-2}/src/main/java/com/baeldung/jmapper/relational/UserDto2.java (100%) delete mode 100644 libraries-data-2/src/main/java/com/baeldung/opencsv/beans/CsvBean.java rename {libraries-data-3 => libraries-data-2}/src/main/java/com/baeldung/suanshu/SuanShuMath.java (99%) rename libraries-data-2/src/test/{ => java}/com/baeldung/crdt/CRDTUnitTest.java (100%) rename {libraries-data-3 => libraries-data-2}/src/test/java/com/baeldung/derive4j/adt/EitherUnitTest.java (99%) rename {libraries-data-3 => libraries-data-2}/src/test/java/com/baeldung/derive4j/lazy/LazyRequestUnitTest.java (100%) rename {libraries-data-3 => libraries-data-2}/src/test/java/com/baeldung/derive4j/pattern/HTTPRequestUnitTest.java (100%) rename libraries-data-2/src/test/{ => java}/com/baeldung/flink/BackupCreatorIntegrationTest.java (100%) rename libraries-data-2/src/test/{ => java}/com/baeldung/flink/WordCapitalizerIntegrationTest.java (100%) rename libraries-data-2/src/test/{ => java}/com/baeldung/flink/WordCountIntegrationTest.java (100%) rename libraries-data-2/src/test/{ => java}/com/baeldung/hll/HLLLongRunningManualTest.java (100%) rename libraries-data-2/src/test/{ => java}/com/baeldung/infinispan/AbstractIntegrationTest.java (100%) rename libraries-data-2/src/test/{ => java}/com/baeldung/infinispan/service/HelloWorldServiceTemporaryLiveTest.java (100%) rename libraries-data-2/src/test/{ => java}/com/baeldung/infinispan/service/TransactionalServiceIntegrationTest.java (100%) rename {libraries-data-3 => libraries-data-2}/src/test/java/com/baeldung/jmapper/JMapperIntegrationTest.java (95%) rename {libraries-data-3 => libraries-data-2}/src/test/java/com/baeldung/jmapper/JMapperRelationalIntegrationTest.java (99%) rename libraries-data-2/src/test/{ => java}/com/baeldung/measurement/WaterTankUnitTest.java (100%) rename {libraries-data-3/src/main => libraries-data-2/src/test}/resources/user_jmapper.xml (100%) rename {libraries-data-3/src/main => libraries-data-2/src/test}/resources/user_jmapper1.xml (100%) rename {libraries-data-3/src/main => libraries-data-2/src/test}/resources/user_jmapper2.xml (100%) delete mode 100644 libraries-data-3/README.md delete mode 100644 libraries-data-3/pom.xml delete mode 100644 libraries-data-3/src/test/resources/yaml/customer_with_type.yaml create mode 100644 libraries-data-db/README.md rename {libraries-data-3 => libraries-data-db}/log4j.properties (100%) rename {libraries-data => libraries-data-db}/myPersistence.xml (100%) create mode 100644 libraries-data-db/pom.xml rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/ebean/app/App.java (93%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/ebean/app/App2.java (95%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/ebean/model/Address.java (96%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/ebean/model/BaseModel.java (95%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/ebean/model/Customer.java (94%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/hikaricp/DataSource.java (97%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/hikaricp/Employee.java (97%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/hikaricp/HikariCPDemo.java (97%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/jdo/GuideToJDO.java (98%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/jdo/Product.java (95%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/jdo/ProductXML.java (96%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/jdo/query/MyApp.java (85%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/jdo/query/ProductItem.java (97%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/jdo/xml/AnnotadedPerson.java (97%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/jdo/xml/MyApp.java (94%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/jdo/xml/Person.java (96%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/jdo/xml/Product.java (96%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/ormlite/Address.java (94%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/ormlite/Book.java (95%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/ormlite/Library.java (96%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/ormlite/LibraryDao.java (84%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/ormlite/LibraryDaoImpl.java (92%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/reladomo/Department.java (90%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/reladomo/DepartmentDatabaseObject.java (66%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/reladomo/DepartmentList.java (82%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/reladomo/Employee.java (89%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/reladomo/EmployeeDatabaseObject.java (65%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/reladomo/EmployeeList.java (81%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/reladomo/ReladomoApplication.java (95%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-db/src/main/java/com/baeldung/libraries}/reladomo/ReladomoConnectionManager.java (98%) rename {libraries-data => libraries-data-db}/src/main/resources/META-INF/BenchmarkList (100%) rename {libraries-data => libraries-data-db}/src/main/resources/META-INF/datanucleus.properties (100%) rename {libraries-data => libraries-data-db}/src/main/resources/META-INF/jdoconfig.xml (100%) rename {libraries-data => libraries-data-db}/src/main/resources/META-INF/package.jdo (91%) rename {libraries-data => libraries-data-db}/src/main/resources/db.sql (100%) create mode 100644 libraries-data-db/src/main/resources/ebean.mf rename {libraries-data => libraries-data-db}/src/main/resources/ebean.properties (100%) create mode 100644 libraries-data-db/src/main/resources/logback.xml rename {libraries-data => libraries-data-db}/src/main/resources/reladomo/Department.xml (89%) rename {libraries-data => libraries-data-db}/src/main/resources/reladomo/Employee.xml (86%) rename {libraries-data => libraries-data-db}/src/main/resources/reladomo/ReladomoClassList.xml (100%) create mode 100644 libraries-data-db/src/main/resources/reladomo/ReladomoRuntimeConfig.xml rename {libraries-data/src/test/java/com/baeldung => libraries-data-db/src/test/java/com/baeldung/libraries}/hikaricp/HikariCPIntegrationTest.java (88%) rename {libraries-data/src/test/java/com/baeldung => libraries-data-db/src/test/java/com/baeldung/libraries}/jdo/GuideToJDOIntegrationTest.java (96%) rename {libraries-data/src/test/java/com/baeldung => libraries-data-db/src/test/java/com/baeldung/libraries}/ormlite/ORMLiteIntegrationTest.java (99%) rename {libraries-data/src/test/java/com/baeldung => libraries-data-db/src/test/java/com/baeldung/libraries}/reladomo/ReladomoIntegrationTest.java (96%) create mode 100644 libraries-data-db/src/test/resources/reladomo/ReladomoTestConfig.xml create mode 100644 libraries-data-db/src/test/resources/reladomo/test-data.txt create mode 100644 libraries-data-io/README.md create mode 100644 libraries-data-io/pom.xml rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/docx/Docx4jExample.java (91%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/kryo/ComplexClass.java (89%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/kryo/Person.java (97%) rename {libraries-data/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/kryo/PersonSerializer.java (95%) rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/opencsv/Application.java (86%) rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/opencsv/Constants.java (93%) create mode 100644 libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/beans/CsvBean.java rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/opencsv/beans/NamedColumnBean.java (91%) rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/opencsv/beans/SimplePositionBean.java (93%) rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/opencsv/beans/WriteExampleBean.java (93%) rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/opencsv/examples/sync/BeanExamples.java (85%) rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/opencsv/examples/sync/CsvReaderExamples.java (93%) rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/opencsv/examples/sync/CsvWriterExamples.java (89%) rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/opencsv/helpers/Helpers.java (96%) rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/opencsv/pojos/CsvTransfer.java (89%) rename {libraries-data-2/src/main/java/com/baeldung/google => libraries-data-io/src/main/java/com/baeldung/libraries}/sheets/GoogleAuthorizeUtil.java (97%) rename {libraries-data-2/src/main/java/com/baeldung/google => libraries-data-io/src/main/java/com/baeldung/libraries}/sheets/SheetsServiceUtil.java (95%) rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/smooks/converter/OrderConverter.java (94%) rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/smooks/converter/OrderValidator.java (94%) rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/smooks/model/Item.java (97%) rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/smooks/model/Order.java (95%) rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/smooks/model/Status.java (55%) rename {libraries-data-2/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/smooks/model/Supplier.java (96%) rename {libraries-data-3/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/snakeyaml/Address.java (93%) rename {libraries-data-3/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/snakeyaml/Contact.java (89%) rename {libraries-data-3/src/main/java/com/baeldung => libraries-data-io/src/main/java/com/baeldung/libraries}/snakeyaml/Customer.java (96%) rename {libraries-data-2 => libraries-data-io}/src/main/resources/google-sheets-client-secret.json (100%) rename {libraries-data-2 => libraries-data-io}/src/main/resources/image.jpg (100%) rename {libraries-data-2 => libraries-data-io}/src/main/resources/smooks/email.ftl (100%) rename {libraries-data-2 => libraries-data-io}/src/main/resources/smooks/item-rules.csv (100%) rename {libraries-data-2 => libraries-data-io}/src/main/resources/smooks/order.ftl (100%) rename {libraries-data-2 => libraries-data-io}/src/main/resources/smooks/order.json (100%) rename {libraries-data-2 => libraries-data-io}/src/main/resources/smooks/order.xml (100%) rename {libraries-data-2 => libraries-data-io}/src/main/resources/smooks/smooks-mapping.xml (78%) rename {libraries-data-2 => libraries-data-io}/src/main/resources/smooks/smooks-transform-edi.xml (100%) rename {libraries-data-2 => libraries-data-io}/src/main/resources/smooks/smooks-transform-email.xml (100%) rename {libraries-data-2 => libraries-data-io}/src/main/resources/smooks/smooks-validation.xml (100%) rename {libraries-data-2 => libraries-data-io}/src/main/resources/smooks/supplier.properties (100%) rename {libraries-data-2/src/test/com/baeldung => libraries-data-io/src/test/java/com/baeldung/libraries}/docx/Docx4jReadAndWriteIntegrationTest.java (94%) rename {libraries-data/src/test/java/com/baeldung => libraries-data-io/src/test/java/com/baeldung/libraries}/kryo/KryoUnitTest.java (94%) rename {libraries-data-2/src/test/com/baeldung => libraries-data-io/src/test/java/com/baeldung/libraries}/opencsv/OpenCsvIntegrationTest.java (93%) rename {libraries-data-2/src/test/com/baeldung/google => libraries-data-io/src/test/java/com/baeldung/libraries}/sheets/GoogleSheetsLiveTest.java (99%) rename {libraries-data-2/src/test/com/baeldung/smooks/converter => libraries-data-io/src/test/java/com/baeldung/libraries/smooks}/SmooksIntegrationTest.java (88%) rename {libraries-data-3/src/test/java/com/baeldung => libraries-data-io/src/test/java/com/baeldung/libraries}/snakeyaml/JavaToYAMLSerializationUnitTest.java (88%) rename {libraries-data-3/src/test/java/com/baeldung => libraries-data-io/src/test/java/com/baeldung/libraries}/snakeyaml/YAMLToJavaDeserialisationUnitTest.java (99%) create mode 100644 libraries-data-io/src/test/resources/file.dat rename {libraries-data-3 => libraries-data-io}/src/test/resources/yaml/customer.yaml (100%) rename {libraries-data-3 => libraries-data-io}/src/test/resources/yaml/customer_with_contact_details.yaml (100%) rename {libraries-data-3 => libraries-data-io}/src/test/resources/yaml/customer_with_contact_details_and_address.yaml (100%) rename {libraries-data-3 => libraries-data-io}/src/test/resources/yaml/customer_with_contact_details_and_tags.yaml (100%) create mode 100644 libraries-data-io/src/test/resources/yaml/customer_with_type.yaml rename {libraries-data-3 => libraries-data-io}/src/test/resources/yaml/customers.yaml (100%) delete mode 100644 libraries-data/file.dat delete mode 100644 libraries-data/src/main/resources/ReladomoRuntimeConfig.xml rename libraries-data/src/main/{ => resources}/assembly/hadoop-job.xml (100%) delete mode 100644 libraries-data/src/main/resources/ebean.mf delete mode 100644 libraries-data/src/main/resources/employee.txt rename libraries-data/src/main/{ => resources}/kafka-connect/01_Quick_Start/connect-file-sink.properties (100%) rename libraries-data/src/main/{ => resources}/kafka-connect/01_Quick_Start/connect-file-source.properties (100%) rename libraries-data/src/main/{ => resources}/kafka-connect/01_Quick_Start/connect-standalone.properties (100%) rename libraries-data/src/main/{ => resources}/kafka-connect/02_Distributed/connect-distributed.properties (100%) rename libraries-data/src/main/{ => resources}/kafka-connect/02_Distributed/connect-file-sink.json (100%) rename libraries-data/src/main/{ => resources}/kafka-connect/02_Distributed/connect-file-source.json (100%) rename libraries-data/src/main/{ => resources}/kafka-connect/03_Transform/connect-distributed.properties (100%) rename libraries-data/src/main/{ => resources}/kafka-connect/03_Transform/connect-file-source-transform.json (100%) rename libraries-data/src/main/{ => resources}/kafka-connect/04_Custom/connect-mongodb-sink.json (100%) rename libraries-data/src/main/{ => resources}/kafka-connect/04_Custom/connect-mqtt-source.json (100%) rename libraries-data/src/main/{ => resources}/kafka-connect/04_Custom/docker-compose.yaml (100%) delete mode 100644 libraries-data/src/main/resources/user_jmapper.xml delete mode 100644 libraries-data/src/main/resources/user_jmapper1.xml delete mode 100644 libraries-data/src/main/resources/user_jmapper2.xml delete mode 100644 libraries-data/src/test/resources/reladomo/ReladomoTestConfig.xml delete mode 100644 libraries-data/src/test/resources/reladomo/test-data.txt delete mode 100644 libraries/src/test/resources/yaml/customer.yaml delete mode 100644 libraries/src/test/resources/yaml/customer_with_contact_details.yaml delete mode 100644 libraries/src/test/resources/yaml/customer_with_contact_details_and_address.yaml delete mode 100644 libraries/src/test/resources/yaml/customer_with_contact_details_and_tags.yaml delete mode 100644 libraries/src/test/resources/yaml/customer_with_type.yaml delete mode 100644 libraries/src/test/resources/yaml/customers.yaml diff --git a/libraries-data-2/README.md b/libraries-data-2/README.md index 25d9fe177e..24618b5e37 100644 --- a/libraries-data-2/README.md +++ b/libraries-data-2/README.md @@ -7,10 +7,8 @@ This module contains articles about libraries for data processing in Java. - [Guide to the HyperLogLog Algorithm](https://www.baeldung.com/java-hyperloglog) - [Introduction to Conflict-Free Replicated Data Types](https://www.baeldung.com/java-conflict-free-replicated-data-types) - [Introduction to javax.measure](https://www.baeldung.com/javax-measure) -- [Introduction To Docx4J](https://www.baeldung.com/docx4j) -- [Interact with Google Sheets from Java](https://www.baeldung.com/google-sheets-java-client) -- [Introduction To OpenCSV](https://www.baeldung.com/opencsv) -- [Introduction to Smooks](https://www.baeldung.com/smooks) - [A Guide to Infinispan in Java](https://www.baeldung.com/infinispan) -- More articles: [[<-- prev>]](/libraries-data) - +- [Guide to JMapper](https://www.baeldung.com/jmapper) +- [An Introduction to SuanShu](https://www.baeldung.com/suanshu) +- [Intro to Derive4J](https://www.baeldung.com/derive4j) +More articles: [[<-- prev]](/../libraries-data) \ No newline at end of file diff --git a/libraries-data-2/pom.xml b/libraries-data-2/pom.xml index 87c620f438..e79a2d98e0 100644 --- a/libraries-data-2/pom.xml +++ b/libraries-data-2/pom.xml @@ -67,43 +67,6 @@ unit-ri ${unit-ri.version} - - javax.xml.bind - jaxb-api - ${jaxb-api.version} - - - org.docx4j - docx4j - ${docx4j.version} - - - - com.google.api-client - google-api-client - ${google-api.version} - - - com.google.oauth-client - google-oauth-client-jetty - ${google-api.version} - - - com.google.apis - google-api-services-sheets - ${google-sheets.version} - - - - com.opencsv - opencsv - ${opencsv.version} - - - org.milyn - milyn-smooks-all - ${smooks.version} - org.infinispan infinispan-core @@ -124,22 +87,78 @@ spring-web ${spring.version} - + + com.google.api-client + google-api-client + ${google-api.version} + + + com.googlecode.jmapper-framework + jmapper-core + ${jmapper.version} + + + com.numericalmethod + suanshu + ${suanshu.version} + + + org.derive4j + derive4j + ${derive4j.version} + + + org.assertj + assertj-core + ${assertj.version} + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + slf4j-log4j12 + ${slf4j.version} + + + org.awaitility + awaitility + ${awaitility.version} + test + + + org.awaitility + awaitility-proxy + ${awaitility.version} + test + + + + nm-repo + Numerical Method's Maven Repository + http://repo.numericalmethod.com/maven/ + default + + + 1.5.0 1.6.0 0.1.0 1.0.3 - 3.3.5 - 2.1 - 1.23.0 - 4.1 - 1.7.0 9.1.5.Final - v4-rev493-1.21.0 2.9.8 4.3.8.RELEASE + 1.23.0 + 1.6.0.1 + 4.0.0 + 1.1.0 + 3.6.2 + 1.7.25 + 3.0.0 \ No newline at end of file diff --git a/libraries-data-3/src/main/java/com/baeldung/derive4j/adt/Either.java b/libraries-data-2/src/main/java/com/baeldung/derive4j/adt/Either.java similarity index 100% rename from libraries-data-3/src/main/java/com/baeldung/derive4j/adt/Either.java rename to libraries-data-2/src/main/java/com/baeldung/derive4j/adt/Either.java diff --git a/libraries-data-3/src/main/java/com/baeldung/derive4j/lazy/LazyRequest.java b/libraries-data-2/src/main/java/com/baeldung/derive4j/lazy/LazyRequest.java similarity index 90% rename from libraries-data-3/src/main/java/com/baeldung/derive4j/lazy/LazyRequest.java rename to libraries-data-2/src/main/java/com/baeldung/derive4j/lazy/LazyRequest.java index bee947df12..143648d67a 100644 --- a/libraries-data-3/src/main/java/com/baeldung/derive4j/lazy/LazyRequest.java +++ b/libraries-data-2/src/main/java/com/baeldung/derive4j/lazy/LazyRequest.java @@ -16,6 +16,6 @@ public interface LazyRequest { R DELETE(String path); } - R match(LazyRequest.Cases method); + R match(Cases method); } diff --git a/libraries-data-3/src/main/java/com/baeldung/derive4j/pattern/HTTPRequest.java b/libraries-data-2/src/main/java/com/baeldung/derive4j/pattern/HTTPRequest.java similarity index 100% rename from libraries-data-3/src/main/java/com/baeldung/derive4j/pattern/HTTPRequest.java rename to libraries-data-2/src/main/java/com/baeldung/derive4j/pattern/HTTPRequest.java diff --git a/libraries-data-3/src/main/java/com/baeldung/derive4j/pattern/HTTPResponse.java b/libraries-data-2/src/main/java/com/baeldung/derive4j/pattern/HTTPResponse.java similarity index 100% rename from libraries-data-3/src/main/java/com/baeldung/derive4j/pattern/HTTPResponse.java rename to libraries-data-2/src/main/java/com/baeldung/derive4j/pattern/HTTPResponse.java diff --git a/libraries-data-3/src/main/java/com/baeldung/derive4j/pattern/HTTPServer.java b/libraries-data-2/src/main/java/com/baeldung/derive4j/pattern/HTTPServer.java similarity index 100% rename from libraries-data-3/src/main/java/com/baeldung/derive4j/pattern/HTTPServer.java rename to libraries-data-2/src/main/java/com/baeldung/derive4j/pattern/HTTPServer.java diff --git a/libraries-data-3/src/main/java/com/baeldung/jmapper/User.java b/libraries-data-2/src/main/java/com/baeldung/jmapper/User.java similarity index 100% rename from libraries-data-3/src/main/java/com/baeldung/jmapper/User.java rename to libraries-data-2/src/main/java/com/baeldung/jmapper/User.java diff --git a/libraries-data-3/src/main/java/com/baeldung/jmapper/UserDto.java b/libraries-data-2/src/main/java/com/baeldung/jmapper/UserDto.java similarity index 100% rename from libraries-data-3/src/main/java/com/baeldung/jmapper/UserDto.java rename to libraries-data-2/src/main/java/com/baeldung/jmapper/UserDto.java index 326e8f3cd5..039e78b17d 100644 --- a/libraries-data-3/src/main/java/com/baeldung/jmapper/UserDto.java +++ b/libraries-data-2/src/main/java/com/baeldung/jmapper/UserDto.java @@ -1,11 +1,11 @@ package com.baeldung.jmapper; -import java.time.LocalDate; -import java.time.Period; - import com.googlecode.jmapper.annotations.JMap; import com.googlecode.jmapper.annotations.JMapConversion; +import java.time.LocalDate; +import java.time.Period; + public class UserDto { @JMap diff --git a/libraries-data-3/src/main/java/com/baeldung/jmapper/UserDto1.java b/libraries-data-2/src/main/java/com/baeldung/jmapper/UserDto1.java similarity index 100% rename from libraries-data-3/src/main/java/com/baeldung/jmapper/UserDto1.java rename to libraries-data-2/src/main/java/com/baeldung/jmapper/UserDto1.java diff --git a/libraries-data-3/src/main/java/com/baeldung/jmapper/relational/User.java b/libraries-data-2/src/main/java/com/baeldung/jmapper/relational/User.java similarity index 100% rename from libraries-data-3/src/main/java/com/baeldung/jmapper/relational/User.java rename to libraries-data-2/src/main/java/com/baeldung/jmapper/relational/User.java diff --git a/libraries-data-3/src/main/java/com/baeldung/jmapper/relational/UserDto1.java b/libraries-data-2/src/main/java/com/baeldung/jmapper/relational/UserDto1.java similarity index 100% rename from libraries-data-3/src/main/java/com/baeldung/jmapper/relational/UserDto1.java rename to libraries-data-2/src/main/java/com/baeldung/jmapper/relational/UserDto1.java diff --git a/libraries-data-3/src/main/java/com/baeldung/jmapper/relational/UserDto2.java b/libraries-data-2/src/main/java/com/baeldung/jmapper/relational/UserDto2.java similarity index 100% rename from libraries-data-3/src/main/java/com/baeldung/jmapper/relational/UserDto2.java rename to libraries-data-2/src/main/java/com/baeldung/jmapper/relational/UserDto2.java diff --git a/libraries-data-2/src/main/java/com/baeldung/opencsv/beans/CsvBean.java b/libraries-data-2/src/main/java/com/baeldung/opencsv/beans/CsvBean.java deleted file mode 100644 index af9caaae12..0000000000 --- a/libraries-data-2/src/main/java/com/baeldung/opencsv/beans/CsvBean.java +++ /dev/null @@ -1,3 +0,0 @@ -package com.baeldung.opencsv.beans; - -public class CsvBean { } diff --git a/libraries-data-3/src/main/java/com/baeldung/suanshu/SuanShuMath.java b/libraries-data-2/src/main/java/com/baeldung/suanshu/SuanShuMath.java similarity index 99% rename from libraries-data-3/src/main/java/com/baeldung/suanshu/SuanShuMath.java rename to libraries-data-2/src/main/java/com/baeldung/suanshu/SuanShuMath.java index 46af24692d..ce7bc60a3a 100644 --- a/libraries-data-3/src/main/java/com/baeldung/suanshu/SuanShuMath.java +++ b/libraries-data-2/src/main/java/com/baeldung/suanshu/SuanShuMath.java @@ -1,19 +1,18 @@ package com.baeldung.suanshu; -import java.util.List; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import com.numericalmethod.suanshu.algebra.linear.matrix.doubles.Matrix; -import com.numericalmethod.suanshu.algebra.linear.vector.doubles.Vector; -import com.numericalmethod.suanshu.algebra.linear.vector.doubles.dense.DenseVector; import com.numericalmethod.suanshu.algebra.linear.matrix.doubles.matrixtype.dense.DenseMatrix; import com.numericalmethod.suanshu.algebra.linear.matrix.doubles.operation.Inverse; +import com.numericalmethod.suanshu.algebra.linear.vector.doubles.Vector; +import com.numericalmethod.suanshu.algebra.linear.vector.doubles.dense.DenseVector; import com.numericalmethod.suanshu.analysis.function.polynomial.Polynomial; import com.numericalmethod.suanshu.analysis.function.polynomial.root.PolyRoot; import com.numericalmethod.suanshu.analysis.function.polynomial.root.PolyRootSolver; import com.numericalmethod.suanshu.number.complex.Complex; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; class SuanShuMath { diff --git a/libraries-data-2/src/test/com/baeldung/crdt/CRDTUnitTest.java b/libraries-data-2/src/test/java/com/baeldung/crdt/CRDTUnitTest.java similarity index 100% rename from libraries-data-2/src/test/com/baeldung/crdt/CRDTUnitTest.java rename to libraries-data-2/src/test/java/com/baeldung/crdt/CRDTUnitTest.java diff --git a/libraries-data-3/src/test/java/com/baeldung/derive4j/adt/EitherUnitTest.java b/libraries-data-2/src/test/java/com/baeldung/derive4j/adt/EitherUnitTest.java similarity index 99% rename from libraries-data-3/src/test/java/com/baeldung/derive4j/adt/EitherUnitTest.java rename to libraries-data-2/src/test/java/com/baeldung/derive4j/adt/EitherUnitTest.java index 511e24961f..4e68f09f6a 100644 --- a/libraries-data-3/src/test/java/com/baeldung/derive4j/adt/EitherUnitTest.java +++ b/libraries-data-2/src/test/java/com/baeldung/derive4j/adt/EitherUnitTest.java @@ -8,6 +8,7 @@ import org.mockito.junit.MockitoJUnitRunner; import java.util.Optional; import java.util.function.Function; + @RunWith(MockitoJUnitRunner.class) public class EitherUnitTest { @Test diff --git a/libraries-data-3/src/test/java/com/baeldung/derive4j/lazy/LazyRequestUnitTest.java b/libraries-data-2/src/test/java/com/baeldung/derive4j/lazy/LazyRequestUnitTest.java similarity index 100% rename from libraries-data-3/src/test/java/com/baeldung/derive4j/lazy/LazyRequestUnitTest.java rename to libraries-data-2/src/test/java/com/baeldung/derive4j/lazy/LazyRequestUnitTest.java diff --git a/libraries-data-3/src/test/java/com/baeldung/derive4j/pattern/HTTPRequestUnitTest.java b/libraries-data-2/src/test/java/com/baeldung/derive4j/pattern/HTTPRequestUnitTest.java similarity index 100% rename from libraries-data-3/src/test/java/com/baeldung/derive4j/pattern/HTTPRequestUnitTest.java rename to libraries-data-2/src/test/java/com/baeldung/derive4j/pattern/HTTPRequestUnitTest.java diff --git a/libraries-data-2/src/test/com/baeldung/flink/BackupCreatorIntegrationTest.java b/libraries-data-2/src/test/java/com/baeldung/flink/BackupCreatorIntegrationTest.java similarity index 100% rename from libraries-data-2/src/test/com/baeldung/flink/BackupCreatorIntegrationTest.java rename to libraries-data-2/src/test/java/com/baeldung/flink/BackupCreatorIntegrationTest.java diff --git a/libraries-data-2/src/test/com/baeldung/flink/WordCapitalizerIntegrationTest.java b/libraries-data-2/src/test/java/com/baeldung/flink/WordCapitalizerIntegrationTest.java similarity index 100% rename from libraries-data-2/src/test/com/baeldung/flink/WordCapitalizerIntegrationTest.java rename to libraries-data-2/src/test/java/com/baeldung/flink/WordCapitalizerIntegrationTest.java diff --git a/libraries-data-2/src/test/com/baeldung/flink/WordCountIntegrationTest.java b/libraries-data-2/src/test/java/com/baeldung/flink/WordCountIntegrationTest.java similarity index 100% rename from libraries-data-2/src/test/com/baeldung/flink/WordCountIntegrationTest.java rename to libraries-data-2/src/test/java/com/baeldung/flink/WordCountIntegrationTest.java diff --git a/libraries-data-2/src/test/com/baeldung/hll/HLLLongRunningManualTest.java b/libraries-data-2/src/test/java/com/baeldung/hll/HLLLongRunningManualTest.java similarity index 100% rename from libraries-data-2/src/test/com/baeldung/hll/HLLLongRunningManualTest.java rename to libraries-data-2/src/test/java/com/baeldung/hll/HLLLongRunningManualTest.java diff --git a/libraries-data-2/src/test/com/baeldung/infinispan/AbstractIntegrationTest.java b/libraries-data-2/src/test/java/com/baeldung/infinispan/AbstractIntegrationTest.java similarity index 100% rename from libraries-data-2/src/test/com/baeldung/infinispan/AbstractIntegrationTest.java rename to libraries-data-2/src/test/java/com/baeldung/infinispan/AbstractIntegrationTest.java diff --git a/libraries-data-2/src/test/com/baeldung/infinispan/service/HelloWorldServiceTemporaryLiveTest.java b/libraries-data-2/src/test/java/com/baeldung/infinispan/service/HelloWorldServiceTemporaryLiveTest.java similarity index 100% rename from libraries-data-2/src/test/com/baeldung/infinispan/service/HelloWorldServiceTemporaryLiveTest.java rename to libraries-data-2/src/test/java/com/baeldung/infinispan/service/HelloWorldServiceTemporaryLiveTest.java diff --git a/libraries-data-2/src/test/com/baeldung/infinispan/service/TransactionalServiceIntegrationTest.java b/libraries-data-2/src/test/java/com/baeldung/infinispan/service/TransactionalServiceIntegrationTest.java similarity index 100% rename from libraries-data-2/src/test/com/baeldung/infinispan/service/TransactionalServiceIntegrationTest.java rename to libraries-data-2/src/test/java/com/baeldung/infinispan/service/TransactionalServiceIntegrationTest.java diff --git a/libraries-data-3/src/test/java/com/baeldung/jmapper/JMapperIntegrationTest.java b/libraries-data-2/src/test/java/com/baeldung/jmapper/JMapperIntegrationTest.java similarity index 95% rename from libraries-data-3/src/test/java/com/baeldung/jmapper/JMapperIntegrationTest.java rename to libraries-data-2/src/test/java/com/baeldung/jmapper/JMapperIntegrationTest.java index 9db7bdb4ac..177ef08d41 100644 --- a/libraries-data-3/src/test/java/com/baeldung/jmapper/JMapperIntegrationTest.java +++ b/libraries-data-2/src/test/java/com/baeldung/jmapper/JMapperIntegrationTest.java @@ -1,17 +1,14 @@ package com.baeldung.jmapper; -import static com.googlecode.jmapper.api.JMapperAPI.attribute; -import static com.googlecode.jmapper.api.JMapperAPI.global; -import static com.googlecode.jmapper.api.JMapperAPI.mappedClass; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -import java.time.LocalDate; - -import org.junit.Test; - import com.googlecode.jmapper.JMapper; import com.googlecode.jmapper.api.JMapperAPI; +import org.junit.Test; + +import java.time.LocalDate; + +import static com.googlecode.jmapper.api.JMapperAPI.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; public class JMapperIntegrationTest { diff --git a/libraries-data-3/src/test/java/com/baeldung/jmapper/JMapperRelationalIntegrationTest.java b/libraries-data-2/src/test/java/com/baeldung/jmapper/JMapperRelationalIntegrationTest.java similarity index 99% rename from libraries-data-3/src/test/java/com/baeldung/jmapper/JMapperRelationalIntegrationTest.java rename to libraries-data-2/src/test/java/com/baeldung/jmapper/JMapperRelationalIntegrationTest.java index 6af2865159..a44d608a0a 100644 --- a/libraries-data-3/src/test/java/com/baeldung/jmapper/JMapperRelationalIntegrationTest.java +++ b/libraries-data-2/src/test/java/com/baeldung/jmapper/JMapperRelationalIntegrationTest.java @@ -1,16 +1,15 @@ package com.baeldung.jmapper; -import static com.googlecode.jmapper.api.JMapperAPI.attribute; -import static com.googlecode.jmapper.api.JMapperAPI.mappedClass; -import static org.junit.Assert.assertEquals; - -import org.junit.Test; - import com.baeldung.jmapper.relational.User; import com.baeldung.jmapper.relational.UserDto1; import com.baeldung.jmapper.relational.UserDto2; import com.googlecode.jmapper.RelationalJMapper; import com.googlecode.jmapper.api.JMapperAPI; +import org.junit.Test; + +import static com.googlecode.jmapper.api.JMapperAPI.attribute; +import static com.googlecode.jmapper.api.JMapperAPI.mappedClass; +import static org.junit.Assert.assertEquals; public class JMapperRelationalIntegrationTest { diff --git a/libraries-data-2/src/test/com/baeldung/measurement/WaterTankUnitTest.java b/libraries-data-2/src/test/java/com/baeldung/measurement/WaterTankUnitTest.java similarity index 100% rename from libraries-data-2/src/test/com/baeldung/measurement/WaterTankUnitTest.java rename to libraries-data-2/src/test/java/com/baeldung/measurement/WaterTankUnitTest.java diff --git a/libraries-data-3/src/main/resources/user_jmapper.xml b/libraries-data-2/src/test/resources/user_jmapper.xml similarity index 100% rename from libraries-data-3/src/main/resources/user_jmapper.xml rename to libraries-data-2/src/test/resources/user_jmapper.xml diff --git a/libraries-data-3/src/main/resources/user_jmapper1.xml b/libraries-data-2/src/test/resources/user_jmapper1.xml similarity index 100% rename from libraries-data-3/src/main/resources/user_jmapper1.xml rename to libraries-data-2/src/test/resources/user_jmapper1.xml diff --git a/libraries-data-3/src/main/resources/user_jmapper2.xml b/libraries-data-2/src/test/resources/user_jmapper2.xml similarity index 100% rename from libraries-data-3/src/main/resources/user_jmapper2.xml rename to libraries-data-2/src/test/resources/user_jmapper2.xml diff --git a/libraries-data-3/README.md b/libraries-data-3/README.md deleted file mode 100644 index 6be6eae4a8..0000000000 --- a/libraries-data-3/README.md +++ /dev/null @@ -1,5 +0,0 @@ -### Relevant articles -- [Parsing YAML with SnakeYAML](https://www.baeldung.com/java-snake-yaml) -- [Guide to JMapper](https://www.baeldung.com/jmapper) -- [An Introduction to SuanShu](https://www.baeldung.com/suanshu) -- [Intro to Derive4J](https://www.baeldung.com/derive4j) diff --git a/libraries-data-3/pom.xml b/libraries-data-3/pom.xml deleted file mode 100644 index f55701f51c..0000000000 --- a/libraries-data-3/pom.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - 4.0.0 - libraries-data-3 - libraries-data-3 - - - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - - - - - org.yaml - snakeyaml - ${snakeyaml.version} - - - com.googlecode.jmapper-framework - jmapper-core - ${jmapper.version} - - - com.numericalmethod - suanshu - ${suanshu.version} - - - org.derive4j - derive4j - ${derive4j.version} - - - - - - - nm-repo - Numerical Method's Maven Repository - http://repo.numericalmethod.com/maven/ - default - - - - - 1.21 - 1.6.0.1 - 4.0.0 - 1.1.0 - - \ No newline at end of file diff --git a/libraries-data-3/src/test/resources/yaml/customer_with_type.yaml b/libraries-data-3/src/test/resources/yaml/customer_with_type.yaml deleted file mode 100644 index 6e13c26cea..0000000000 --- a/libraries-data-3/src/test/resources/yaml/customer_with_type.yaml +++ /dev/null @@ -1,4 +0,0 @@ -!!com.baeldung.snakeyaml.Customer -firstName: "John" -lastName: "Doe" -age: 20 \ No newline at end of file diff --git a/libraries-data-db/README.md b/libraries-data-db/README.md new file mode 100644 index 0000000000..790a3eb318 --- /dev/null +++ b/libraries-data-db/README.md @@ -0,0 +1,11 @@ +## DB Data Libraries + +This module contains articles about database-related data processing libraries. + +### Relevant articles +- [Introduction to Reladomo](https://www.baeldung.com/reladomo) +- [Introduction to ORMLite](https://www.baeldung.com/ormlite) +- [Guide to Java Data Objects](https://www.baeldung.com/jdo) +- [Intro to JDO Queries 2/2](https://www.baeldung.com/jdo-queries) +- [Introduction to HikariCP](https://www.baeldung.com/hikaricp) +- [Guide to Ebean ORM](https://www.baeldung.com/ebean-orm) diff --git a/libraries-data-3/log4j.properties b/libraries-data-db/log4j.properties similarity index 100% rename from libraries-data-3/log4j.properties rename to libraries-data-db/log4j.properties diff --git a/libraries-data/myPersistence.xml b/libraries-data-db/myPersistence.xml similarity index 100% rename from libraries-data/myPersistence.xml rename to libraries-data-db/myPersistence.xml diff --git a/libraries-data-db/pom.xml b/libraries-data-db/pom.xml new file mode 100644 index 0000000000..185f23124d --- /dev/null +++ b/libraries-data-db/pom.xml @@ -0,0 +1,228 @@ + + + 4.0.0 + libraries-data-db + libraries-data-db + + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + + + + + com.goldmansachs.reladomo + reladomo + ${reladomo.version} + + + com.goldmansachs.reladomo + reladomo-test-util + ${reladomo.version} + + + com.j256.ormlite + ormlite-jdbc + ${ormlite.version} + + + + org.datanucleus + javax.jdo + ${javax.jdo.version} + + + org.datanucleus + datanucleus-core + ${datanucleus.version} + + + org.datanucleus + datanucleus-api-jdo + ${datanucleus.version} + + + org.datanucleus + datanucleus-rdbms + ${datanucleus.version} + + + org.datanucleus + datanucleus-maven-plugin + ${datanucleus-maven-plugin.version} + + + org.datanucleus + datanucleus-xml + ${datanucleus-xml.version} + + + org.datanucleus + datanucleus-jdo-query + ${datanucleus-jdo-query.version} + + + org.slf4j + slf4j-log4j12 + ${slf4j.version} + + + com.h2database + h2 + ${h2.version} + + + + com.zaxxer + HikariCP + ${HikariCP.version} + compile + + + + io.ebean + ebean + ${ebean.version} + + + + + libraries-data-db + + + + maven-antrun-plugin + ${maven-antrun-plugin.version} + + + generateMithra + generate-sources + + run + + + + + + + + + + + + + + + + + + com.goldmansachs.reladomo + reladomogen + ${reladomo.version} + + + + com.goldmansachs.reladomo + reladomo-gen-util + ${reladomo.version} + + + + + org.codehaus.mojo + build-helper-maven-plugin + ${build-helper-maven-plugin.version} + + + add-source + generate-sources + + add-source + + + + ${project.build.directory}/generated-sources/reladomo + + + + + add-resource + generate-resources + + add-resource + + + + + ${project.build.directory}/generated-db/ + + + + + + + + + + + org.datanucleus + datanucleus-maven-plugin + ${datanucleus-maven-plugin.version} + + JDO + ${basedir}/datanucleus.properties + ${basedir}/log4j.properties + true + false + + + + + process-classes + + enhance + + + + + + io.ebean + ebean-maven-plugin + 11.11.2 + + + + main + process-classes + + debug=1 + + + enhance + + + + + + + + + 16.5.1 + 3.0.0 + 1.8 + 5.0 + 5.1.1 + 5.0.2 + 5.0.0-release + 5.0.4 + 3.2.0-m7 + 1.7.25 + 2.7.2 + 11.22.4 + + \ No newline at end of file diff --git a/libraries-data/src/main/java/com/baeldung/ebean/app/App.java b/libraries-data-db/src/main/java/com/baeldung/libraries/ebean/app/App.java similarity index 93% rename from libraries-data/src/main/java/com/baeldung/ebean/app/App.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/ebean/app/App.java index 44a4fa8562..9c59cbb8c0 100644 --- a/libraries-data/src/main/java/com/baeldung/ebean/app/App.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/ebean/app/App.java @@ -1,14 +1,13 @@ -package com.baeldung.ebean.app; - -import java.util.Arrays; - -import com.baeldung.ebean.model.Address; -import com.baeldung.ebean.model.Customer; +package com.baeldung.libraries.ebean.app; +import com.baeldung.libraries.ebean.model.Address; +import com.baeldung.libraries.ebean.model.Customer; import io.ebean.Ebean; import io.ebean.EbeanServer; import io.ebean.annotation.Transactional; +import java.util.Arrays; + public class App { public static void main(String[] args) { diff --git a/libraries-data/src/main/java/com/baeldung/ebean/app/App2.java b/libraries-data-db/src/main/java/com/baeldung/libraries/ebean/app/App2.java similarity index 95% rename from libraries-data/src/main/java/com/baeldung/ebean/app/App2.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/ebean/app/App2.java index fba77007c6..c604f2cc25 100644 --- a/libraries-data/src/main/java/com/baeldung/ebean/app/App2.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/ebean/app/App2.java @@ -1,11 +1,11 @@ -package com.baeldung.ebean.app; - -import java.util.Properties; +package com.baeldung.libraries.ebean.app; import io.ebean.EbeanServer; import io.ebean.EbeanServerFactory; import io.ebean.config.ServerConfig; +import java.util.Properties; + public class App2 { public static void main(String[] args) { diff --git a/libraries-data/src/main/java/com/baeldung/ebean/model/Address.java b/libraries-data-db/src/main/java/com/baeldung/libraries/ebean/model/Address.java similarity index 96% rename from libraries-data/src/main/java/com/baeldung/ebean/model/Address.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/ebean/model/Address.java index dfcd90ffa7..a5c97b9c1d 100644 --- a/libraries-data/src/main/java/com/baeldung/ebean/model/Address.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/ebean/model/Address.java @@ -1,4 +1,4 @@ -package com.baeldung.ebean.model; +package com.baeldung.libraries.ebean.model; import javax.persistence.Entity; diff --git a/libraries-data/src/main/java/com/baeldung/ebean/model/BaseModel.java b/libraries-data-db/src/main/java/com/baeldung/libraries/ebean/model/BaseModel.java similarity index 95% rename from libraries-data/src/main/java/com/baeldung/ebean/model/BaseModel.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/ebean/model/BaseModel.java index 547d5bf075..7abd425470 100644 --- a/libraries-data/src/main/java/com/baeldung/ebean/model/BaseModel.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/ebean/model/BaseModel.java @@ -1,13 +1,12 @@ -package com.baeldung.ebean.model; +package com.baeldung.libraries.ebean.model; -import java.time.Instant; +import io.ebean.annotation.WhenCreated; +import io.ebean.annotation.WhenModified; import javax.persistence.Id; import javax.persistence.MappedSuperclass; import javax.persistence.Version; - -import io.ebean.annotation.WhenCreated; -import io.ebean.annotation.WhenModified; +import java.time.Instant; @MappedSuperclass public abstract class BaseModel { diff --git a/libraries-data/src/main/java/com/baeldung/ebean/model/Customer.java b/libraries-data-db/src/main/java/com/baeldung/libraries/ebean/model/Customer.java similarity index 94% rename from libraries-data/src/main/java/com/baeldung/ebean/model/Customer.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/ebean/model/Customer.java index 4dd629245a..f8fa9e505e 100644 --- a/libraries-data/src/main/java/com/baeldung/ebean/model/Customer.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/ebean/model/Customer.java @@ -1,4 +1,4 @@ -package com.baeldung.ebean.model; +package com.baeldung.libraries.ebean.model; import javax.persistence.CascadeType; import javax.persistence.Entity; diff --git a/libraries-data/src/main/java/com/baeldung/hikaricp/DataSource.java b/libraries-data-db/src/main/java/com/baeldung/libraries/hikaricp/DataSource.java similarity index 97% rename from libraries-data/src/main/java/com/baeldung/hikaricp/DataSource.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/hikaricp/DataSource.java index e8d3b4ff96..868d4b90b0 100644 --- a/libraries-data/src/main/java/com/baeldung/hikaricp/DataSource.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/hikaricp/DataSource.java @@ -1,11 +1,11 @@ -package com.baeldung.hikaricp; - -import java.sql.Connection; -import java.sql.SQLException; +package com.baeldung.libraries.hikaricp; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; +import java.sql.Connection; +import java.sql.SQLException; + public class DataSource { private static HikariConfig config = new HikariConfig(); diff --git a/libraries-data/src/main/java/com/baeldung/hikaricp/Employee.java b/libraries-data-db/src/main/java/com/baeldung/libraries/hikaricp/Employee.java similarity index 97% rename from libraries-data/src/main/java/com/baeldung/hikaricp/Employee.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/hikaricp/Employee.java index 1ea3c13a48..338599c969 100644 --- a/libraries-data/src/main/java/com/baeldung/hikaricp/Employee.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/hikaricp/Employee.java @@ -1,4 +1,4 @@ -package com.baeldung.hikaricp; +package com.baeldung.libraries.hikaricp; import java.sql.Date; diff --git a/libraries-data/src/main/java/com/baeldung/hikaricp/HikariCPDemo.java b/libraries-data-db/src/main/java/com/baeldung/libraries/hikaricp/HikariCPDemo.java similarity index 97% rename from libraries-data/src/main/java/com/baeldung/hikaricp/HikariCPDemo.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/hikaricp/HikariCPDemo.java index 57d124fd5d..e23b583d98 100644 --- a/libraries-data/src/main/java/com/baeldung/hikaricp/HikariCPDemo.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/hikaricp/HikariCPDemo.java @@ -1,4 +1,4 @@ -package com.baeldung.hikaricp; +package com.baeldung.libraries.hikaricp; import java.sql.Connection; import java.sql.PreparedStatement; diff --git a/libraries-data/src/main/java/com/baeldung/jdo/GuideToJDO.java b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/GuideToJDO.java similarity index 98% rename from libraries-data/src/main/java/com/baeldung/jdo/GuideToJDO.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/jdo/GuideToJDO.java index bd459f963c..99b0a4bef7 100644 --- a/libraries-data/src/main/java/com/baeldung/jdo/GuideToJDO.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/GuideToJDO.java @@ -1,5 +1,12 @@ -package com.baeldung.jdo; +package com.baeldung.libraries.jdo; +import org.datanucleus.api.jdo.JDOPersistenceManagerFactory; +import org.datanucleus.metadata.PersistenceUnitMetaData; + +import javax.jdo.PersistenceManager; +import javax.jdo.PersistenceManagerFactory; +import javax.jdo.Query; +import javax.jdo.Transaction; import java.util.Collection; import java.util.Iterator; import java.util.List; @@ -7,14 +14,6 @@ import java.util.Random; import java.util.logging.Level; import java.util.logging.Logger; -import javax.jdo.PersistenceManager; -import javax.jdo.PersistenceManagerFactory; -import javax.jdo.Query; -import javax.jdo.Transaction; - -import org.datanucleus.api.jdo.JDOPersistenceManagerFactory; -import org.datanucleus.metadata.PersistenceUnitMetaData; - public class GuideToJDO { private static final Logger LOGGER = Logger.getLogger(GuideToJDO.class.getName()); @@ -45,7 +44,7 @@ public class GuideToJDO { public void CreateH2Properties() { pumd = new PersistenceUnitMetaData("dynamic-unit", "RESOURCE_LOCAL", null); - pumd.addClassName("com.baeldung.jdo.Product"); + pumd.addClassName("com.baeldung.libraries.jdo.Product"); pumd.setExcludeUnlistedClasses(); pumd.addProperty("javax.jdo.option.ConnectionDriverName", "org.h2.Driver"); pumd.addProperty("javax.jdo.option.ConnectionURL", "jdbc:h2:mem:mypersistence"); @@ -57,7 +56,7 @@ public class GuideToJDO { public void CreateXMLProperties() { pumdXML = new PersistenceUnitMetaData("dynamic-unit", "RESOURCE_LOCAL", null); - pumdXML.addClassName("com.baeldung.jdo.ProductXML"); + pumdXML.addClassName("com.baeldung.libraries.jdo.ProductXML"); pumdXML.setExcludeUnlistedClasses(); pumdXML.addProperty("javax.jdo.option.ConnectionURL", "xml:file:myPersistence.xml"); pumdXML.addProperty("datanucleus.autoCreateSchema", "true"); diff --git a/libraries-data/src/main/java/com/baeldung/jdo/Product.java b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/Product.java similarity index 95% rename from libraries-data/src/main/java/com/baeldung/jdo/Product.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/jdo/Product.java index 124428d671..3ff27732a9 100644 --- a/libraries-data/src/main/java/com/baeldung/jdo/Product.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/Product.java @@ -1,4 +1,4 @@ -package com.baeldung.jdo; +package com.baeldung.libraries.jdo; import javax.jdo.annotations.IdGeneratorStrategy; import javax.jdo.annotations.PersistenceCapable; diff --git a/libraries-data/src/main/java/com/baeldung/jdo/ProductXML.java b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/ProductXML.java similarity index 96% rename from libraries-data/src/main/java/com/baeldung/jdo/ProductXML.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/jdo/ProductXML.java index d702a8ac90..2679b049bb 100644 --- a/libraries-data/src/main/java/com/baeldung/jdo/ProductXML.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/ProductXML.java @@ -1,4 +1,4 @@ -package com.baeldung.jdo; +package com.baeldung.libraries.jdo; import javax.jdo.annotations.PersistenceCapable; import javax.jdo.annotations.PrimaryKey; diff --git a/libraries-data/src/main/java/com/baeldung/jdo/query/MyApp.java b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/query/MyApp.java similarity index 85% rename from libraries-data/src/main/java/com/baeldung/jdo/query/MyApp.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/jdo/query/MyApp.java index 30f019a79d..61f983c727 100644 --- a/libraries-data/src/main/java/com/baeldung/jdo/query/MyApp.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/query/MyApp.java @@ -1,14 +1,13 @@ -package com.baeldung.jdo.query; +package com.baeldung.libraries.jdo.query; -import java.util.List; +import org.datanucleus.api.jdo.JDOPersistenceManagerFactory; +import org.datanucleus.metadata.PersistenceUnitMetaData; import javax.jdo.JDOQLTypedQuery; import javax.jdo.PersistenceManager; import javax.jdo.PersistenceManagerFactory; import javax.jdo.Query; - -import org.datanucleus.api.jdo.JDOPersistenceManagerFactory; -import org.datanucleus.metadata.PersistenceUnitMetaData; +import java.util.List; public class MyApp { @@ -53,14 +52,14 @@ public class MyApp { public static void queryUsingJDOQL() { - Query query = pm.newQuery("SELECT FROM com.baeldung.jdo.query.ProductItem " + "WHERE price < threshold PARAMETERS double threshold"); + Query query = pm.newQuery("SELECT FROM com.baeldung.libraries.jdo.query.ProductItem " + "WHERE price < threshold PARAMETERS double threshold"); List explicitParamResults = (List) query.execute(10); - query = pm.newQuery("SELECT FROM " + "com.baeldung.jdo.query.ProductItem WHERE price < :threshold"); + query = pm.newQuery("SELECT FROM " + "com.baeldung.libraries.jdo.query.ProductItem WHERE price < :threshold"); query.setParameters("double threshold"); List explicitParamResults2 = (List) query.execute(10); - query = pm.newQuery("SELECT FROM " + "com.baeldung.jdo.query.ProductItem WHERE price < :threshold"); + query = pm.newQuery("SELECT FROM " + "com.baeldung.libraries.jdo.query.ProductItem WHERE price < :threshold"); List implicitParamResults = (List) query.execute(10); } @@ -83,7 +82,7 @@ public class MyApp { } public static void queryUsingJPQL() { - Query query = pm.newQuery("JPQL", "select i from " + "com.baeldung.jdo.query.ProductItem i where i.price < 10" + " and i.status = 'InStock'"); + Query query = pm.newQuery("JPQL", "select i from " + "com.baeldung.libraries.jdo.query.ProductItem i where i.price < 10" + " and i.status = 'InStock'"); List results = (List) query.execute(); } diff --git a/libraries-data/src/main/java/com/baeldung/jdo/query/ProductItem.java b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/query/ProductItem.java similarity index 97% rename from libraries-data/src/main/java/com/baeldung/jdo/query/ProductItem.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/jdo/query/ProductItem.java index 25dd8bdb98..9cefeeb44f 100644 --- a/libraries-data/src/main/java/com/baeldung/jdo/query/ProductItem.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/query/ProductItem.java @@ -1,4 +1,4 @@ -package com.baeldung.jdo.query; +package com.baeldung.libraries.jdo.query; import javax.jdo.annotations.IdGeneratorStrategy; import javax.jdo.annotations.PersistenceCapable; diff --git a/libraries-data/src/main/java/com/baeldung/jdo/xml/AnnotadedPerson.java b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/xml/AnnotadedPerson.java similarity index 97% rename from libraries-data/src/main/java/com/baeldung/jdo/xml/AnnotadedPerson.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/jdo/xml/AnnotadedPerson.java index 0673ff341c..0520bf1d09 100644 --- a/libraries-data/src/main/java/com/baeldung/jdo/xml/AnnotadedPerson.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/xml/AnnotadedPerson.java @@ -1,7 +1,4 @@ -package com.baeldung.jdo.xml; - -import java.util.ArrayList; -import java.util.List; +package com.baeldung.libraries.jdo.xml; import javax.jdo.annotations.Element; import javax.jdo.annotations.PersistenceCapable; @@ -9,6 +6,8 @@ import javax.jdo.annotations.PrimaryKey; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; +import java.util.ArrayList; +import java.util.List; @PersistenceCapable(schema = "/myproduct/people", table = "person") public class AnnotadedPerson { diff --git a/libraries-data/src/main/java/com/baeldung/jdo/xml/MyApp.java b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/xml/MyApp.java similarity index 94% rename from libraries-data/src/main/java/com/baeldung/jdo/xml/MyApp.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/jdo/xml/MyApp.java index b43b45f415..513481956d 100644 --- a/libraries-data/src/main/java/com/baeldung/jdo/xml/MyApp.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/xml/MyApp.java @@ -1,16 +1,11 @@ -package com.baeldung.jdo.xml; - -import java.util.List; - -import javax.jdo.JDOHelper; -import javax.jdo.PersistenceManager; -import javax.jdo.PersistenceManagerFactory; -import javax.jdo.Query; -import javax.jdo.Transaction; +package com.baeldung.libraries.jdo.xml; import org.datanucleus.api.jdo.JDOPersistenceManagerFactory; import org.datanucleus.metadata.PersistenceUnitMetaData; +import javax.jdo.*; +import java.util.List; + public class MyApp { private static PersistenceUnitMetaData pumd; diff --git a/libraries-data/src/main/java/com/baeldung/jdo/xml/Person.java b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/xml/Person.java similarity index 96% rename from libraries-data/src/main/java/com/baeldung/jdo/xml/Person.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/jdo/xml/Person.java index 4fbc81ee03..0cc3dff316 100644 --- a/libraries-data/src/main/java/com/baeldung/jdo/xml/Person.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/xml/Person.java @@ -1,10 +1,9 @@ -package com.baeldung.jdo.xml; - -import java.util.ArrayList; -import java.util.List; +package com.baeldung.libraries.jdo.xml; import javax.jdo.annotations.PersistenceCapable; import javax.jdo.annotations.PrimaryKey; +import java.util.ArrayList; +import java.util.List; @PersistenceCapable public class Person { diff --git a/libraries-data/src/main/java/com/baeldung/jdo/xml/Product.java b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/xml/Product.java similarity index 96% rename from libraries-data/src/main/java/com/baeldung/jdo/xml/Product.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/jdo/xml/Product.java index 5aac05834d..04b81ea356 100644 --- a/libraries-data/src/main/java/com/baeldung/jdo/xml/Product.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/jdo/xml/Product.java @@ -1,4 +1,4 @@ -package com.baeldung.jdo.xml; +package com.baeldung.libraries.jdo.xml; import javax.jdo.annotations.PersistenceCapable; import javax.jdo.annotations.PrimaryKey; diff --git a/libraries-data/src/main/java/com/baeldung/ormlite/Address.java b/libraries-data-db/src/main/java/com/baeldung/libraries/ormlite/Address.java similarity index 94% rename from libraries-data/src/main/java/com/baeldung/ormlite/Address.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/ormlite/Address.java index 747b0b0b12..d433eba13f 100644 --- a/libraries-data/src/main/java/com/baeldung/ormlite/Address.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/ormlite/Address.java @@ -1,4 +1,4 @@ -package com.baeldung.ormlite; +package com.baeldung.libraries.ormlite; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.DatabaseTable; diff --git a/libraries-data/src/main/java/com/baeldung/ormlite/Book.java b/libraries-data-db/src/main/java/com/baeldung/libraries/ormlite/Book.java similarity index 95% rename from libraries-data/src/main/java/com/baeldung/ormlite/Book.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/ormlite/Book.java index ed7b813b8d..b55390058b 100644 --- a/libraries-data/src/main/java/com/baeldung/ormlite/Book.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/ormlite/Book.java @@ -1,4 +1,4 @@ -package com.baeldung.ormlite; +package com.baeldung.libraries.ormlite; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.DatabaseTable; diff --git a/libraries-data/src/main/java/com/baeldung/ormlite/Library.java b/libraries-data-db/src/main/java/com/baeldung/libraries/ormlite/Library.java similarity index 96% rename from libraries-data/src/main/java/com/baeldung/ormlite/Library.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/ormlite/Library.java index 994b4c6575..c7d0d91b46 100644 --- a/libraries-data/src/main/java/com/baeldung/ormlite/Library.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/ormlite/Library.java @@ -1,4 +1,4 @@ -package com.baeldung.ormlite; +package com.baeldung.libraries.ormlite; import com.j256.ormlite.dao.ForeignCollection; import com.j256.ormlite.field.DatabaseField; diff --git a/libraries-data/src/main/java/com/baeldung/ormlite/LibraryDao.java b/libraries-data-db/src/main/java/com/baeldung/libraries/ormlite/LibraryDao.java similarity index 84% rename from libraries-data/src/main/java/com/baeldung/ormlite/LibraryDao.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/ormlite/LibraryDao.java index fd8f5f40d6..12cefe0358 100644 --- a/libraries-data/src/main/java/com/baeldung/ormlite/LibraryDao.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/ormlite/LibraryDao.java @@ -1,10 +1,10 @@ -package com.baeldung.ormlite; +package com.baeldung.libraries.ormlite; + +import com.j256.ormlite.dao.Dao; import java.sql.SQLException; import java.util.List; -import com.j256.ormlite.dao.Dao; - public interface LibraryDao extends Dao { public List findByName(String name) throws SQLException; } diff --git a/libraries-data/src/main/java/com/baeldung/ormlite/LibraryDaoImpl.java b/libraries-data-db/src/main/java/com/baeldung/libraries/ormlite/LibraryDaoImpl.java similarity index 92% rename from libraries-data/src/main/java/com/baeldung/ormlite/LibraryDaoImpl.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/ormlite/LibraryDaoImpl.java index af313101e2..fe43bf85c1 100644 --- a/libraries-data/src/main/java/com/baeldung/ormlite/LibraryDaoImpl.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/ormlite/LibraryDaoImpl.java @@ -1,11 +1,11 @@ -package com.baeldung.ormlite; - -import java.sql.SQLException; -import java.util.List; +package com.baeldung.libraries.ormlite; import com.j256.ormlite.dao.BaseDaoImpl; import com.j256.ormlite.support.ConnectionSource; +import java.sql.SQLException; +import java.util.List; + public class LibraryDaoImpl extends BaseDaoImpl implements LibraryDao { public LibraryDaoImpl(ConnectionSource connectionSource) throws SQLException { diff --git a/libraries-data/src/main/java/com/baeldung/reladomo/Department.java b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/Department.java similarity index 90% rename from libraries-data/src/main/java/com/baeldung/reladomo/Department.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/Department.java index d26ddafbf4..bc57fa6000 100644 --- a/libraries-data/src/main/java/com/baeldung/reladomo/Department.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/Department.java @@ -1,4 +1,4 @@ -package com.baeldung.reladomo; +package com.baeldung.libraries.reladomo; public class Department extends DepartmentAbstract { public Department() { diff --git a/libraries-data/src/main/java/com/baeldung/reladomo/DepartmentDatabaseObject.java b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/DepartmentDatabaseObject.java similarity index 66% rename from libraries-data/src/main/java/com/baeldung/reladomo/DepartmentDatabaseObject.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/DepartmentDatabaseObject.java index 4cfb5cb055..23bd584914 100644 --- a/libraries-data/src/main/java/com/baeldung/reladomo/DepartmentDatabaseObject.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/DepartmentDatabaseObject.java @@ -1,4 +1,4 @@ -package com.baeldung.reladomo; +package com.baeldung.libraries.reladomo; public class DepartmentDatabaseObject extends DepartmentDatabaseObjectAbstract { } diff --git a/libraries-data/src/main/java/com/baeldung/reladomo/DepartmentList.java b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/DepartmentList.java similarity index 82% rename from libraries-data/src/main/java/com/baeldung/reladomo/DepartmentList.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/DepartmentList.java index edad6bc1f4..278a840553 100644 --- a/libraries-data/src/main/java/com/baeldung/reladomo/DepartmentList.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/DepartmentList.java @@ -1,6 +1,9 @@ -package com.baeldung.reladomo; +package com.baeldung.libraries.reladomo; + import com.gs.fw.finder.Operation; -import java.util.*; + +import java.util.Collection; + public class DepartmentList extends DepartmentListAbstract { public DepartmentList() diff --git a/libraries-data/src/main/java/com/baeldung/reladomo/Employee.java b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/Employee.java similarity index 89% rename from libraries-data/src/main/java/com/baeldung/reladomo/Employee.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/Employee.java index 519e841282..023dc4a3c7 100644 --- a/libraries-data/src/main/java/com/baeldung/reladomo/Employee.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/Employee.java @@ -1,4 +1,4 @@ -package com.baeldung.reladomo; +package com.baeldung.libraries.reladomo; public class Employee extends EmployeeAbstract { public Employee() diff --git a/libraries-data/src/main/java/com/baeldung/reladomo/EmployeeDatabaseObject.java b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/EmployeeDatabaseObject.java similarity index 65% rename from libraries-data/src/main/java/com/baeldung/reladomo/EmployeeDatabaseObject.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/EmployeeDatabaseObject.java index 407049f342..e0faced1c6 100644 --- a/libraries-data/src/main/java/com/baeldung/reladomo/EmployeeDatabaseObject.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/EmployeeDatabaseObject.java @@ -1,4 +1,4 @@ -package com.baeldung.reladomo; +package com.baeldung.libraries.reladomo; public class EmployeeDatabaseObject extends EmployeeDatabaseObjectAbstract { } diff --git a/libraries-data/src/main/java/com/baeldung/reladomo/EmployeeList.java b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/EmployeeList.java similarity index 81% rename from libraries-data/src/main/java/com/baeldung/reladomo/EmployeeList.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/EmployeeList.java index 4e759898c3..192356f4c9 100644 --- a/libraries-data/src/main/java/com/baeldung/reladomo/EmployeeList.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/EmployeeList.java @@ -1,6 +1,9 @@ -package com.baeldung.reladomo; +package com.baeldung.libraries.reladomo; + import com.gs.fw.finder.Operation; -import java.util.*; + +import java.util.Collection; + public class EmployeeList extends EmployeeListAbstract { public EmployeeList() diff --git a/libraries-data/src/main/java/com/baeldung/reladomo/ReladomoApplication.java b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/ReladomoApplication.java similarity index 95% rename from libraries-data/src/main/java/com/baeldung/reladomo/ReladomoApplication.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/ReladomoApplication.java index c6b242d3ae..1ccae8c59d 100644 --- a/libraries-data/src/main/java/com/baeldung/reladomo/ReladomoApplication.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/ReladomoApplication.java @@ -1,13 +1,10 @@ -package com.baeldung.reladomo; - -import java.io.InputStream; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +package com.baeldung.libraries.reladomo; import com.gs.fw.common.mithra.MithraManager; import com.gs.fw.common.mithra.MithraManagerProvider; +import java.io.InputStream; + public class ReladomoApplication { public static void main(String[] args) { diff --git a/libraries-data/src/main/java/com/baeldung/reladomo/ReladomoConnectionManager.java b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/ReladomoConnectionManager.java similarity index 98% rename from libraries-data/src/main/java/com/baeldung/reladomo/ReladomoConnectionManager.java rename to libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/ReladomoConnectionManager.java index 66a8f9ff99..15f6ec5601 100644 --- a/libraries-data/src/main/java/com/baeldung/reladomo/ReladomoConnectionManager.java +++ b/libraries-data-db/src/main/java/com/baeldung/libraries/reladomo/ReladomoConnectionManager.java @@ -1,4 +1,12 @@ -package com.baeldung.reladomo; +package com.baeldung.libraries.reladomo; + +import com.gs.fw.common.mithra.bulkloader.BulkLoader; +import com.gs.fw.common.mithra.bulkloader.BulkLoaderException; +import com.gs.fw.common.mithra.connectionmanager.SourcelessConnectionManager; +import com.gs.fw.common.mithra.connectionmanager.XAConnectionManager; +import com.gs.fw.common.mithra.databasetype.DatabaseType; +import com.gs.fw.common.mithra.databasetype.H2DatabaseType; +import org.h2.tools.RunScript; import java.io.IOException; import java.nio.file.Files; @@ -9,15 +17,6 @@ import java.sql.SQLException; import java.util.TimeZone; import java.util.stream.Stream; -import org.h2.tools.RunScript; - -import com.gs.fw.common.mithra.bulkloader.BulkLoader; -import com.gs.fw.common.mithra.bulkloader.BulkLoaderException; -import com.gs.fw.common.mithra.connectionmanager.SourcelessConnectionManager; -import com.gs.fw.common.mithra.connectionmanager.XAConnectionManager; -import com.gs.fw.common.mithra.databasetype.DatabaseType; -import com.gs.fw.common.mithra.databasetype.H2DatabaseType; - public class ReladomoConnectionManager implements SourcelessConnectionManager { private static ReladomoConnectionManager instance; diff --git a/libraries-data/src/main/resources/META-INF/BenchmarkList b/libraries-data-db/src/main/resources/META-INF/BenchmarkList similarity index 100% rename from libraries-data/src/main/resources/META-INF/BenchmarkList rename to libraries-data-db/src/main/resources/META-INF/BenchmarkList diff --git a/libraries-data/src/main/resources/META-INF/datanucleus.properties b/libraries-data-db/src/main/resources/META-INF/datanucleus.properties similarity index 100% rename from libraries-data/src/main/resources/META-INF/datanucleus.properties rename to libraries-data-db/src/main/resources/META-INF/datanucleus.properties diff --git a/libraries-data/src/main/resources/META-INF/jdoconfig.xml b/libraries-data-db/src/main/resources/META-INF/jdoconfig.xml similarity index 100% rename from libraries-data/src/main/resources/META-INF/jdoconfig.xml rename to libraries-data-db/src/main/resources/META-INF/jdoconfig.xml diff --git a/libraries-data/src/main/resources/META-INF/package.jdo b/libraries-data-db/src/main/resources/META-INF/package.jdo similarity index 91% rename from libraries-data/src/main/resources/META-INF/package.jdo rename to libraries-data-db/src/main/resources/META-INF/package.jdo index 7f85bbbd58..afe505401b 100644 --- a/libraries-data/src/main/resources/META-INF/package.jdo +++ b/libraries-data-db/src/main/resources/META-INF/package.jdo @@ -1,7 +1,7 @@ - + @@ -16,7 +16,7 @@ - + diff --git a/libraries-data/src/main/resources/db.sql b/libraries-data-db/src/main/resources/db.sql similarity index 100% rename from libraries-data/src/main/resources/db.sql rename to libraries-data-db/src/main/resources/db.sql diff --git a/libraries-data-db/src/main/resources/ebean.mf b/libraries-data-db/src/main/resources/ebean.mf new file mode 100644 index 0000000000..c3484f8f57 --- /dev/null +++ b/libraries-data-db/src/main/resources/ebean.mf @@ -0,0 +1,3 @@ +entity-packages: com.baeldung.libraries.ebean.model +transactional-packages: com.baeldung.libraries.ebean.app +querybean-packages: com.baeldung.libraries.ebean.app diff --git a/libraries-data/src/main/resources/ebean.properties b/libraries-data-db/src/main/resources/ebean.properties similarity index 100% rename from libraries-data/src/main/resources/ebean.properties rename to libraries-data-db/src/main/resources/ebean.properties diff --git a/libraries-data-db/src/main/resources/logback.xml b/libraries-data-db/src/main/resources/logback.xml new file mode 100644 index 0000000000..3d2ec51566 --- /dev/null +++ b/libraries-data-db/src/main/resources/logback.xml @@ -0,0 +1,15 @@ + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + + \ No newline at end of file diff --git a/libraries-data/src/main/resources/reladomo/Department.xml b/libraries-data-db/src/main/resources/reladomo/Department.xml similarity index 89% rename from libraries-data/src/main/resources/reladomo/Department.xml rename to libraries-data-db/src/main/resources/reladomo/Department.xml index a284965cd6..2392ff74ec 100644 --- a/libraries-data/src/main/resources/reladomo/Department.xml +++ b/libraries-data-db/src/main/resources/reladomo/Department.xml @@ -1,5 +1,5 @@ - com.baeldung.reladomo + com.baeldung.libraries.reladomo Department departments diff --git a/libraries-data/src/main/resources/reladomo/Employee.xml b/libraries-data-db/src/main/resources/reladomo/Employee.xml similarity index 86% rename from libraries-data/src/main/resources/reladomo/Employee.xml rename to libraries-data-db/src/main/resources/reladomo/Employee.xml index 00e360bc67..676cd5d1d1 100644 --- a/libraries-data/src/main/resources/reladomo/Employee.xml +++ b/libraries-data-db/src/main/resources/reladomo/Employee.xml @@ -1,5 +1,5 @@ - com.baeldung.reladomo + com.baeldung.libraries.reladomo Employee employees diff --git a/libraries-data/src/main/resources/reladomo/ReladomoClassList.xml b/libraries-data-db/src/main/resources/reladomo/ReladomoClassList.xml similarity index 100% rename from libraries-data/src/main/resources/reladomo/ReladomoClassList.xml rename to libraries-data-db/src/main/resources/reladomo/ReladomoClassList.xml diff --git a/libraries-data-db/src/main/resources/reladomo/ReladomoRuntimeConfig.xml b/libraries-data-db/src/main/resources/reladomo/ReladomoRuntimeConfig.xml new file mode 100644 index 0000000000..e4800e31f8 --- /dev/null +++ b/libraries-data-db/src/main/resources/reladomo/ReladomoRuntimeConfig.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/libraries-data/src/test/java/com/baeldung/hikaricp/HikariCPIntegrationTest.java b/libraries-data-db/src/test/java/com/baeldung/libraries/hikaricp/HikariCPIntegrationTest.java similarity index 88% rename from libraries-data/src/test/java/com/baeldung/hikaricp/HikariCPIntegrationTest.java rename to libraries-data-db/src/test/java/com/baeldung/libraries/hikaricp/HikariCPIntegrationTest.java index 80588ecc03..fe5bd85736 100644 --- a/libraries-data/src/test/java/com/baeldung/hikaricp/HikariCPIntegrationTest.java +++ b/libraries-data-db/src/test/java/com/baeldung/libraries/hikaricp/HikariCPIntegrationTest.java @@ -1,4 +1,4 @@ -package com.baeldung.hikaricp; +package com.baeldung.libraries.hikaricp; import org.junit.Test; diff --git a/libraries-data/src/test/java/com/baeldung/jdo/GuideToJDOIntegrationTest.java b/libraries-data-db/src/test/java/com/baeldung/libraries/jdo/GuideToJDOIntegrationTest.java similarity index 96% rename from libraries-data/src/test/java/com/baeldung/jdo/GuideToJDOIntegrationTest.java rename to libraries-data-db/src/test/java/com/baeldung/libraries/jdo/GuideToJDOIntegrationTest.java index e8c69d67b7..1c15a4f087 100644 --- a/libraries-data/src/test/java/com/baeldung/jdo/GuideToJDOIntegrationTest.java +++ b/libraries-data-db/src/test/java/com/baeldung/libraries/jdo/GuideToJDOIntegrationTest.java @@ -1,24 +1,23 @@ -package com.baeldung.jdo; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; - -import java.util.List; - -import javax.jdo.PersistenceManager; -import javax.jdo.PersistenceManagerFactory; -import javax.jdo.Query; -import javax.jdo.Transaction; +package com.baeldung.libraries.jdo; import org.datanucleus.api.jdo.JDOPersistenceManagerFactory; import org.datanucleus.metadata.PersistenceUnitMetaData; import org.junit.Test; +import javax.jdo.PersistenceManager; +import javax.jdo.PersistenceManagerFactory; +import javax.jdo.Query; +import javax.jdo.Transaction; +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + public class GuideToJDOIntegrationTest { @Test public void givenProduct_WhenNewThenPerformTransaction() { PersistenceUnitMetaData pumd = new PersistenceUnitMetaData("dynamic-unit", "RESOURCE_LOCAL", null); - pumd.addClassName("com.baeldung.jdo.Product"); + pumd.addClassName("com.baeldung.libraries.jdo.Product"); pumd.setExcludeUnlistedClasses(); pumd.addProperty("javax.jdo.option.ConnectionDriverName", "org.h2.Driver"); pumd.addProperty("javax.jdo.option.ConnectionURL", "jdbc:h2:mem:mypersistence"); @@ -53,7 +52,7 @@ public class GuideToJDOIntegrationTest { @Test public void givenProduct_WhenQueryThenExist() { PersistenceUnitMetaData pumd = new PersistenceUnitMetaData("dynamic-unit", "RESOURCE_LOCAL", null); - pumd.addClassName("com.baeldung.jdo.Product"); + pumd.addClassName("com.baeldung.libraries.jdo.Product"); pumd.setExcludeUnlistedClasses(); pumd.addProperty("javax.jdo.option.ConnectionDriverName", "org.h2.Driver"); pumd.addProperty("javax.jdo.option.ConnectionURL", "jdbc:h2:mem:mypersistence"); diff --git a/libraries-data/src/test/java/com/baeldung/ormlite/ORMLiteIntegrationTest.java b/libraries-data-db/src/test/java/com/baeldung/libraries/ormlite/ORMLiteIntegrationTest.java similarity index 99% rename from libraries-data/src/test/java/com/baeldung/ormlite/ORMLiteIntegrationTest.java rename to libraries-data-db/src/test/java/com/baeldung/libraries/ormlite/ORMLiteIntegrationTest.java index 5a713902b4..139e52632a 100644 --- a/libraries-data/src/test/java/com/baeldung/ormlite/ORMLiteIntegrationTest.java +++ b/libraries-data-db/src/test/java/com/baeldung/libraries/ormlite/ORMLiteIntegrationTest.java @@ -1,20 +1,20 @@ -package com.baeldung.ormlite; +package com.baeldung.libraries.ormlite; -import static org.junit.Assert.*; - -import java.io.IOException; -import java.sql.SQLException; -import java.util.List; - -import org.junit.After; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; import com.j256.ormlite.dao.CloseableWrappedIterable; import com.j256.ormlite.dao.Dao; import com.j256.ormlite.dao.DaoManager; import com.j256.ormlite.jdbc.JdbcPooledConnectionSource; import com.j256.ormlite.table.TableUtils; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +import java.io.IOException; +import java.sql.SQLException; +import java.util.List; + +import static org.junit.Assert.*; public class ORMLiteIntegrationTest { private static JdbcPooledConnectionSource connectionSource; diff --git a/libraries-data/src/test/java/com/baeldung/reladomo/ReladomoIntegrationTest.java b/libraries-data-db/src/test/java/com/baeldung/libraries/reladomo/ReladomoIntegrationTest.java similarity index 96% rename from libraries-data/src/test/java/com/baeldung/reladomo/ReladomoIntegrationTest.java rename to libraries-data-db/src/test/java/com/baeldung/libraries/reladomo/ReladomoIntegrationTest.java index 3660d9a8e1..b2abb587a9 100644 --- a/libraries-data/src/test/java/com/baeldung/reladomo/ReladomoIntegrationTest.java +++ b/libraries-data-db/src/test/java/com/baeldung/libraries/reladomo/ReladomoIntegrationTest.java @@ -1,13 +1,12 @@ -package com.baeldung.reladomo; - -import static org.junit.Assert.*; +package com.baeldung.libraries.reladomo; +import com.gs.fw.common.mithra.test.ConnectionManagerForTests; +import com.gs.fw.common.mithra.test.MithraTestResource; import org.junit.After; import org.junit.Before; import org.junit.Test; -import com.gs.fw.common.mithra.test.ConnectionManagerForTests; -import com.gs.fw.common.mithra.test.MithraTestResource; +import static org.junit.Assert.*; public class ReladomoIntegrationTest { private MithraTestResource mithraTestResource; diff --git a/libraries-data-db/src/test/resources/reladomo/ReladomoTestConfig.xml b/libraries-data-db/src/test/resources/reladomo/ReladomoTestConfig.xml new file mode 100644 index 0000000000..4e1b791efc --- /dev/null +++ b/libraries-data-db/src/test/resources/reladomo/ReladomoTestConfig.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/libraries-data-db/src/test/resources/reladomo/test-data.txt b/libraries-data-db/src/test/resources/reladomo/test-data.txt new file mode 100644 index 0000000000..0e8a36a0b2 --- /dev/null +++ b/libraries-data-db/src/test/resources/reladomo/test-data.txt @@ -0,0 +1,7 @@ +class com.baeldung.libraries.reladomo.Department +id, name +1, "Marketing" + +class com.baeldung.libraries.reladomo.Employee +id, name +1, "Paul" \ No newline at end of file diff --git a/libraries-data-io/README.md b/libraries-data-io/README.md new file mode 100644 index 0000000000..550f353c97 --- /dev/null +++ b/libraries-data-io/README.md @@ -0,0 +1,11 @@ +## IO Data Libraries + +This module contains articles about IO data processing libraries. + +### Relevant articles +- [Introduction To Kryo](https://www.baeldung.com/kryo) +- [Parsing YAML with SnakeYAML](https://www.baeldung.com/java-snake-yaml) +- [Introduction to Smooks](https://www.baeldung.com/smooks) +- [Introduction To OpenCSV](https://www.baeldung.com/opencsv) +- [Interact with Google Sheets from Java](https://www.baeldung.com/google-sheets-java-client) +- [Introduction To Docx4J](https://www.baeldung.com/docx4j) diff --git a/libraries-data-io/pom.xml b/libraries-data-io/pom.xml new file mode 100644 index 0000000000..0e3029f565 --- /dev/null +++ b/libraries-data-io/pom.xml @@ -0,0 +1,82 @@ + + + 4.0.0 + libraries-data-io + libraries-data-io + + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + + + + + com.esotericsoftware + kryo + ${kryo.version} + + + org.yaml + snakeyaml + ${snakeyaml.version} + + + org.milyn + milyn-smooks-all + ${smooks.version} + + + + com.opencsv + opencsv + ${opencsv.version} + + + + com.google.api-client + google-api-client + ${google-api.version} + + + com.google.oauth-client + google-oauth-client-jetty + ${google-api.version} + + + com.google.apis + google-api-services-sheets + ${google-sheets.version} + + + javax.xml.bind + jaxb-api + ${jaxb-api.version} + + + org.docx4j + docx4j + ${docx4j.version} + + + org.assertj + assertj-core + ${org.assertj.core.version} + test + + + + + 1.21 + 4.0.1 + 1.7.0 + 4.1 + 1.23.0 + v4-rev493-1.21.0 + 3.9.0 + 3.3.5 + 2.1 + + \ No newline at end of file diff --git a/libraries-data-2/src/main/java/com/baeldung/docx/Docx4jExample.java b/libraries-data-io/src/main/java/com/baeldung/libraries/docx/Docx4jExample.java similarity index 91% rename from libraries-data-2/src/main/java/com/baeldung/docx/Docx4jExample.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/docx/Docx4jExample.java index 6fe29d26e3..5000f63020 100644 --- a/libraries-data-2/src/main/java/com/baeldung/docx/Docx4jExample.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/docx/Docx4jExample.java @@ -1,4 +1,4 @@ -package com.baeldung.docx; +package com.baeldung.libraries.docx; import org.docx4j.dml.wordprocessingDrawing.Inline; import org.docx4j.jaxb.Context; @@ -7,17 +7,7 @@ import org.docx4j.openpackaging.exceptions.Docx4JException; import org.docx4j.openpackaging.packages.WordprocessingMLPackage; import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart; -import org.docx4j.wml.BooleanDefaultTrue; -import org.docx4j.wml.Color; -import org.docx4j.wml.Drawing; -import org.docx4j.wml.ObjectFactory; -import org.docx4j.wml.P; -import org.docx4j.wml.R; -import org.docx4j.wml.RPr; -import org.docx4j.wml.Tbl; -import org.docx4j.wml.Tc; -import org.docx4j.wml.Text; -import org.docx4j.wml.Tr; +import org.docx4j.wml.*; import javax.xml.bind.JAXBElement; import javax.xml.bind.JAXBException; diff --git a/libraries-data/src/main/java/com/baeldung/kryo/ComplexClass.java b/libraries-data-io/src/main/java/com/baeldung/libraries/kryo/ComplexClass.java similarity index 89% rename from libraries-data/src/main/java/com/baeldung/kryo/ComplexClass.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/kryo/ComplexClass.java index 0e125e48a9..85355881f1 100644 --- a/libraries-data/src/main/java/com/baeldung/kryo/ComplexClass.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/kryo/ComplexClass.java @@ -1,4 +1,4 @@ -package com.baeldung.kryo; +package com.baeldung.libraries.kryo; import java.io.Serializable; diff --git a/libraries-data/src/main/java/com/baeldung/kryo/Person.java b/libraries-data-io/src/main/java/com/baeldung/libraries/kryo/Person.java similarity index 97% rename from libraries-data/src/main/java/com/baeldung/kryo/Person.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/kryo/Person.java index f9be5cfd62..1dbe0648ba 100644 --- a/libraries-data/src/main/java/com/baeldung/kryo/Person.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/kryo/Person.java @@ -1,10 +1,11 @@ -package com.baeldung.kryo; +package com.baeldung.libraries.kryo; import com.esotericsoftware.kryo.DefaultSerializer; import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryo.KryoSerializable; import com.esotericsoftware.kryo.io.Input; import com.esotericsoftware.kryo.io.Output; + import java.util.Date; @DefaultSerializer(PersonSerializer.class) diff --git a/libraries-data/src/main/java/com/baeldung/kryo/PersonSerializer.java b/libraries-data-io/src/main/java/com/baeldung/libraries/kryo/PersonSerializer.java similarity index 95% rename from libraries-data/src/main/java/com/baeldung/kryo/PersonSerializer.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/kryo/PersonSerializer.java index f5d01509a6..20a061f4e8 100644 --- a/libraries-data/src/main/java/com/baeldung/kryo/PersonSerializer.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/kryo/PersonSerializer.java @@ -1,9 +1,10 @@ -package com.baeldung.kryo; +package com.baeldung.libraries.kryo; import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryo.Serializer; import com.esotericsoftware.kryo.io.Input; import com.esotericsoftware.kryo.io.Output; + import java.util.Date; public class PersonSerializer extends Serializer { diff --git a/libraries-data-2/src/main/java/com/baeldung/opencsv/Application.java b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/Application.java similarity index 86% rename from libraries-data-2/src/main/java/com/baeldung/opencsv/Application.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/Application.java index fd7e4d82d4..ee819b844b 100644 --- a/libraries-data-2/src/main/java/com/baeldung/opencsv/Application.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/Application.java @@ -1,11 +1,11 @@ -package com.baeldung.opencsv; +package com.baeldung.libraries.opencsv; -import com.baeldung.opencsv.beans.NamedColumnBean; -import com.baeldung.opencsv.beans.SimplePositionBean; -import com.baeldung.opencsv.examples.sync.BeanExamples; -import com.baeldung.opencsv.examples.sync.CsvReaderExamples; -import com.baeldung.opencsv.examples.sync.CsvWriterExamples; -import com.baeldung.opencsv.helpers.Helpers; +import com.baeldung.libraries.opencsv.beans.NamedColumnBean; +import com.baeldung.libraries.opencsv.beans.SimplePositionBean; +import com.baeldung.libraries.opencsv.examples.sync.BeanExamples; +import com.baeldung.libraries.opencsv.examples.sync.CsvReaderExamples; +import com.baeldung.libraries.opencsv.examples.sync.CsvWriterExamples; +import com.baeldung.libraries.opencsv.helpers.Helpers; import java.io.Reader; import java.nio.file.Files; diff --git a/libraries-data-2/src/main/java/com/baeldung/opencsv/Constants.java b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/Constants.java similarity index 93% rename from libraries-data-2/src/main/java/com/baeldung/opencsv/Constants.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/Constants.java index f7978acf24..f1b3b71939 100644 --- a/libraries-data-2/src/main/java/com/baeldung/opencsv/Constants.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/Constants.java @@ -1,4 +1,4 @@ -package com.baeldung.opencsv; +package com.baeldung.libraries.opencsv; public class Constants { diff --git a/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/beans/CsvBean.java b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/beans/CsvBean.java new file mode 100644 index 0000000000..e0abab7129 --- /dev/null +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/beans/CsvBean.java @@ -0,0 +1,3 @@ +package com.baeldung.libraries.opencsv.beans; + +public class CsvBean { } diff --git a/libraries-data-2/src/main/java/com/baeldung/opencsv/beans/NamedColumnBean.java b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/beans/NamedColumnBean.java similarity index 91% rename from libraries-data-2/src/main/java/com/baeldung/opencsv/beans/NamedColumnBean.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/beans/NamedColumnBean.java index d9e5f96333..0021584e4f 100644 --- a/libraries-data-2/src/main/java/com/baeldung/opencsv/beans/NamedColumnBean.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/beans/NamedColumnBean.java @@ -1,4 +1,4 @@ -package com.baeldung.opencsv.beans; +package com.baeldung.libraries.opencsv.beans; import com.opencsv.bean.CsvBindByName; diff --git a/libraries-data-2/src/main/java/com/baeldung/opencsv/beans/SimplePositionBean.java b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/beans/SimplePositionBean.java similarity index 93% rename from libraries-data-2/src/main/java/com/baeldung/opencsv/beans/SimplePositionBean.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/beans/SimplePositionBean.java index 799006e2f9..c1710d784a 100644 --- a/libraries-data-2/src/main/java/com/baeldung/opencsv/beans/SimplePositionBean.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/beans/SimplePositionBean.java @@ -1,4 +1,4 @@ -package com.baeldung.opencsv.beans; +package com.baeldung.libraries.opencsv.beans; import com.opencsv.bean.CsvBindByPosition; diff --git a/libraries-data-2/src/main/java/com/baeldung/opencsv/beans/WriteExampleBean.java b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/beans/WriteExampleBean.java similarity index 93% rename from libraries-data-2/src/main/java/com/baeldung/opencsv/beans/WriteExampleBean.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/beans/WriteExampleBean.java index f145f67f11..f5e6466512 100644 --- a/libraries-data-2/src/main/java/com/baeldung/opencsv/beans/WriteExampleBean.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/beans/WriteExampleBean.java @@ -1,4 +1,4 @@ -package com.baeldung.opencsv.beans; +package com.baeldung.libraries.opencsv.beans; public class WriteExampleBean extends CsvBean { diff --git a/libraries-data-2/src/main/java/com/baeldung/opencsv/examples/sync/BeanExamples.java b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/examples/sync/BeanExamples.java similarity index 85% rename from libraries-data-2/src/main/java/com/baeldung/opencsv/examples/sync/BeanExamples.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/examples/sync/BeanExamples.java index 086f32677e..f401c7c77c 100644 --- a/libraries-data-2/src/main/java/com/baeldung/opencsv/examples/sync/BeanExamples.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/examples/sync/BeanExamples.java @@ -1,9 +1,9 @@ -package com.baeldung.opencsv.examples.sync; +package com.baeldung.libraries.opencsv.examples.sync; -import com.baeldung.opencsv.beans.CsvBean; -import com.baeldung.opencsv.beans.WriteExampleBean; -import com.baeldung.opencsv.helpers.Helpers; -import com.baeldung.opencsv.pojos.CsvTransfer; +import com.baeldung.libraries.opencsv.beans.CsvBean; +import com.baeldung.libraries.opencsv.beans.WriteExampleBean; +import com.baeldung.libraries.opencsv.helpers.Helpers; +import com.baeldung.libraries.opencsv.pojos.CsvTransfer; import com.opencsv.CSVWriter; import com.opencsv.bean.*; diff --git a/libraries-data-2/src/main/java/com/baeldung/opencsv/examples/sync/CsvReaderExamples.java b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/examples/sync/CsvReaderExamples.java similarity index 93% rename from libraries-data-2/src/main/java/com/baeldung/opencsv/examples/sync/CsvReaderExamples.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/examples/sync/CsvReaderExamples.java index bacfdcff3d..2f7d979b2f 100644 --- a/libraries-data-2/src/main/java/com/baeldung/opencsv/examples/sync/CsvReaderExamples.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/examples/sync/CsvReaderExamples.java @@ -1,6 +1,6 @@ -package com.baeldung.opencsv.examples.sync; +package com.baeldung.libraries.opencsv.examples.sync; -import com.baeldung.opencsv.helpers.Helpers; +import com.baeldung.libraries.opencsv.helpers.Helpers; import com.opencsv.CSVParser; import com.opencsv.CSVParserBuilder; import com.opencsv.CSVReader; diff --git a/libraries-data-2/src/main/java/com/baeldung/opencsv/examples/sync/CsvWriterExamples.java b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/examples/sync/CsvWriterExamples.java similarity index 89% rename from libraries-data-2/src/main/java/com/baeldung/opencsv/examples/sync/CsvWriterExamples.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/examples/sync/CsvWriterExamples.java index 6f52160ba8..b5c23bd99d 100644 --- a/libraries-data-2/src/main/java/com/baeldung/opencsv/examples/sync/CsvWriterExamples.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/examples/sync/CsvWriterExamples.java @@ -1,6 +1,6 @@ -package com.baeldung.opencsv.examples.sync; +package com.baeldung.libraries.opencsv.examples.sync; -import com.baeldung.opencsv.helpers.Helpers; +import com.baeldung.libraries.opencsv.helpers.Helpers; import com.opencsv.CSVWriter; import java.io.FileWriter; diff --git a/libraries-data-2/src/main/java/com/baeldung/opencsv/helpers/Helpers.java b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/helpers/Helpers.java similarity index 96% rename from libraries-data-2/src/main/java/com/baeldung/opencsv/helpers/Helpers.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/helpers/Helpers.java index 9a46fbc495..b703d0e82d 100644 --- a/libraries-data-2/src/main/java/com/baeldung/opencsv/helpers/Helpers.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/helpers/Helpers.java @@ -1,6 +1,6 @@ -package com.baeldung.opencsv.helpers; +package com.baeldung.libraries.opencsv.helpers; -import com.baeldung.opencsv.Constants; +import com.baeldung.libraries.opencsv.Constants; import java.io.BufferedReader; import java.io.FileReader; diff --git a/libraries-data-2/src/main/java/com/baeldung/opencsv/pojos/CsvTransfer.java b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/pojos/CsvTransfer.java similarity index 89% rename from libraries-data-2/src/main/java/com/baeldung/opencsv/pojos/CsvTransfer.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/pojos/CsvTransfer.java index 79366e3d20..7572bf2e92 100644 --- a/libraries-data-2/src/main/java/com/baeldung/opencsv/pojos/CsvTransfer.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/opencsv/pojos/CsvTransfer.java @@ -1,6 +1,6 @@ -package com.baeldung.opencsv.pojos; +package com.baeldung.libraries.opencsv.pojos; -import com.baeldung.opencsv.beans.CsvBean; +import com.baeldung.libraries.opencsv.beans.CsvBean; import java.util.ArrayList; import java.util.List; diff --git a/libraries-data-2/src/main/java/com/baeldung/google/sheets/GoogleAuthorizeUtil.java b/libraries-data-io/src/main/java/com/baeldung/libraries/sheets/GoogleAuthorizeUtil.java similarity index 97% rename from libraries-data-2/src/main/java/com/baeldung/google/sheets/GoogleAuthorizeUtil.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/sheets/GoogleAuthorizeUtil.java index 641fae42dd..ddc6569678 100644 --- a/libraries-data-2/src/main/java/com/baeldung/google/sheets/GoogleAuthorizeUtil.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/sheets/GoogleAuthorizeUtil.java @@ -1,11 +1,4 @@ -package com.baeldung.google.sheets; - -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.security.GeneralSecurityException; -import java.util.Arrays; -import java.util.List; +package com.baeldung.libraries.sheets; import com.google.api.client.auth.oauth2.Credential; import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp; @@ -17,6 +10,13 @@ import com.google.api.client.json.jackson2.JacksonFactory; import com.google.api.client.util.store.MemoryDataStoreFactory; import com.google.api.services.sheets.v4.SheetsScopes; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.security.GeneralSecurityException; +import java.util.Arrays; +import java.util.List; + public class GoogleAuthorizeUtil { public static Credential authorize() throws IOException, GeneralSecurityException { InputStream in = GoogleAuthorizeUtil.class.getResourceAsStream("/google-sheets-client-secret.json"); diff --git a/libraries-data-2/src/main/java/com/baeldung/google/sheets/SheetsServiceUtil.java b/libraries-data-io/src/main/java/com/baeldung/libraries/sheets/SheetsServiceUtil.java similarity index 95% rename from libraries-data-2/src/main/java/com/baeldung/google/sheets/SheetsServiceUtil.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/sheets/SheetsServiceUtil.java index 8a78d50551..db7de9986f 100644 --- a/libraries-data-2/src/main/java/com/baeldung/google/sheets/SheetsServiceUtil.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/sheets/SheetsServiceUtil.java @@ -1,13 +1,13 @@ -package com.baeldung.google.sheets; - -import java.io.IOException; -import java.security.GeneralSecurityException; +package com.baeldung.libraries.sheets; import com.google.api.client.auth.oauth2.Credential; import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport; import com.google.api.client.json.jackson2.JacksonFactory; import com.google.api.services.sheets.v4.Sheets; +import java.io.IOException; +import java.security.GeneralSecurityException; + public class SheetsServiceUtil { private static final String APPLICATION_NAME = "Google Sheets Example"; diff --git a/libraries-data-2/src/main/java/com/baeldung/smooks/converter/OrderConverter.java b/libraries-data-io/src/main/java/com/baeldung/libraries/smooks/converter/OrderConverter.java similarity index 94% rename from libraries-data-2/src/main/java/com/baeldung/smooks/converter/OrderConverter.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/smooks/converter/OrderConverter.java index fa317f93b7..bca47cb75a 100644 --- a/libraries-data-2/src/main/java/com/baeldung/smooks/converter/OrderConverter.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/smooks/converter/OrderConverter.java @@ -1,6 +1,6 @@ -package com.baeldung.smooks.converter; +package com.baeldung.libraries.smooks.converter; -import com.baeldung.smooks.model.Order; +import com.baeldung.libraries.smooks.model.Order; import org.milyn.Smooks; import org.milyn.payload.JavaResult; import org.milyn.payload.StringResult; diff --git a/libraries-data-2/src/main/java/com/baeldung/smooks/converter/OrderValidator.java b/libraries-data-io/src/main/java/com/baeldung/libraries/smooks/converter/OrderValidator.java similarity index 94% rename from libraries-data-2/src/main/java/com/baeldung/smooks/converter/OrderValidator.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/smooks/converter/OrderValidator.java index 3975921da0..f36d3a6835 100644 --- a/libraries-data-2/src/main/java/com/baeldung/smooks/converter/OrderValidator.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/smooks/converter/OrderValidator.java @@ -1,4 +1,4 @@ -package com.baeldung.smooks.converter; +package com.baeldung.libraries.smooks.converter; import org.milyn.Smooks; import org.milyn.payload.JavaResult; diff --git a/libraries-data-2/src/main/java/com/baeldung/smooks/model/Item.java b/libraries-data-io/src/main/java/com/baeldung/libraries/smooks/model/Item.java similarity index 97% rename from libraries-data-2/src/main/java/com/baeldung/smooks/model/Item.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/smooks/model/Item.java index 3e1f4a7ef4..3c6322a357 100644 --- a/libraries-data-2/src/main/java/com/baeldung/smooks/model/Item.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/smooks/model/Item.java @@ -1,4 +1,4 @@ -package com.baeldung.smooks.model; +package com.baeldung.libraries.smooks.model; public class Item { diff --git a/libraries-data-2/src/main/java/com/baeldung/smooks/model/Order.java b/libraries-data-io/src/main/java/com/baeldung/libraries/smooks/model/Order.java similarity index 95% rename from libraries-data-2/src/main/java/com/baeldung/smooks/model/Order.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/smooks/model/Order.java index 047e1fe8a3..1900e6337f 100644 --- a/libraries-data-2/src/main/java/com/baeldung/smooks/model/Order.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/smooks/model/Order.java @@ -1,4 +1,4 @@ -package com.baeldung.smooks.model; +package com.baeldung.libraries.smooks.model; import java.util.Date; import java.util.List; diff --git a/libraries-data-2/src/main/java/com/baeldung/smooks/model/Status.java b/libraries-data-io/src/main/java/com/baeldung/libraries/smooks/model/Status.java similarity index 55% rename from libraries-data-2/src/main/java/com/baeldung/smooks/model/Status.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/smooks/model/Status.java index 53c50bdf46..8f22a439b2 100644 --- a/libraries-data-2/src/main/java/com/baeldung/smooks/model/Status.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/smooks/model/Status.java @@ -1,4 +1,4 @@ -package com.baeldung.smooks.model; +package com.baeldung.libraries.smooks.model; public enum Status { NEW, IN_PROGRESS, FINISHED diff --git a/libraries-data-2/src/main/java/com/baeldung/smooks/model/Supplier.java b/libraries-data-io/src/main/java/com/baeldung/libraries/smooks/model/Supplier.java similarity index 96% rename from libraries-data-2/src/main/java/com/baeldung/smooks/model/Supplier.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/smooks/model/Supplier.java index 827a0fc907..8dd70e83c8 100644 --- a/libraries-data-2/src/main/java/com/baeldung/smooks/model/Supplier.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/smooks/model/Supplier.java @@ -1,4 +1,4 @@ -package com.baeldung.smooks.model; +package com.baeldung.libraries.smooks.model; public class Supplier { diff --git a/libraries-data-3/src/main/java/com/baeldung/snakeyaml/Address.java b/libraries-data-io/src/main/java/com/baeldung/libraries/snakeyaml/Address.java similarity index 93% rename from libraries-data-3/src/main/java/com/baeldung/snakeyaml/Address.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/snakeyaml/Address.java index 83c327a4ed..c0216ddcd7 100644 --- a/libraries-data-3/src/main/java/com/baeldung/snakeyaml/Address.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/snakeyaml/Address.java @@ -1,4 +1,4 @@ -package com.baeldung.snakeyaml; +package com.baeldung.libraries.snakeyaml; public class Address { private String line; diff --git a/libraries-data-3/src/main/java/com/baeldung/snakeyaml/Contact.java b/libraries-data-io/src/main/java/com/baeldung/libraries/snakeyaml/Contact.java similarity index 89% rename from libraries-data-3/src/main/java/com/baeldung/snakeyaml/Contact.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/snakeyaml/Contact.java index a808747786..54695315bc 100644 --- a/libraries-data-3/src/main/java/com/baeldung/snakeyaml/Contact.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/snakeyaml/Contact.java @@ -1,4 +1,4 @@ -package com.baeldung.snakeyaml; +package com.baeldung.libraries.snakeyaml; public class Contact { diff --git a/libraries-data-3/src/main/java/com/baeldung/snakeyaml/Customer.java b/libraries-data-io/src/main/java/com/baeldung/libraries/snakeyaml/Customer.java similarity index 96% rename from libraries-data-3/src/main/java/com/baeldung/snakeyaml/Customer.java rename to libraries-data-io/src/main/java/com/baeldung/libraries/snakeyaml/Customer.java index c741f6dc85..9cebaf0005 100644 --- a/libraries-data-3/src/main/java/com/baeldung/snakeyaml/Customer.java +++ b/libraries-data-io/src/main/java/com/baeldung/libraries/snakeyaml/Customer.java @@ -1,4 +1,4 @@ -package com.baeldung.snakeyaml; +package com.baeldung.libraries.snakeyaml; import java.util.List; diff --git a/libraries-data-2/src/main/resources/google-sheets-client-secret.json b/libraries-data-io/src/main/resources/google-sheets-client-secret.json similarity index 100% rename from libraries-data-2/src/main/resources/google-sheets-client-secret.json rename to libraries-data-io/src/main/resources/google-sheets-client-secret.json diff --git a/libraries-data-2/src/main/resources/image.jpg b/libraries-data-io/src/main/resources/image.jpg similarity index 100% rename from libraries-data-2/src/main/resources/image.jpg rename to libraries-data-io/src/main/resources/image.jpg diff --git a/libraries-data-2/src/main/resources/smooks/email.ftl b/libraries-data-io/src/main/resources/smooks/email.ftl similarity index 100% rename from libraries-data-2/src/main/resources/smooks/email.ftl rename to libraries-data-io/src/main/resources/smooks/email.ftl diff --git a/libraries-data-2/src/main/resources/smooks/item-rules.csv b/libraries-data-io/src/main/resources/smooks/item-rules.csv similarity index 100% rename from libraries-data-2/src/main/resources/smooks/item-rules.csv rename to libraries-data-io/src/main/resources/smooks/item-rules.csv diff --git a/libraries-data-2/src/main/resources/smooks/order.ftl b/libraries-data-io/src/main/resources/smooks/order.ftl similarity index 100% rename from libraries-data-2/src/main/resources/smooks/order.ftl rename to libraries-data-io/src/main/resources/smooks/order.ftl diff --git a/libraries-data-2/src/main/resources/smooks/order.json b/libraries-data-io/src/main/resources/smooks/order.json similarity index 100% rename from libraries-data-2/src/main/resources/smooks/order.json rename to libraries-data-io/src/main/resources/smooks/order.json diff --git a/libraries-data-2/src/main/resources/smooks/order.xml b/libraries-data-io/src/main/resources/smooks/order.xml similarity index 100% rename from libraries-data-2/src/main/resources/smooks/order.xml rename to libraries-data-io/src/main/resources/smooks/order.xml diff --git a/libraries-data-2/src/main/resources/smooks/smooks-mapping.xml b/libraries-data-io/src/main/resources/smooks/smooks-mapping.xml similarity index 78% rename from libraries-data-2/src/main/resources/smooks/smooks-mapping.xml rename to libraries-data-io/src/main/resources/smooks/smooks-mapping.xml index 7996834e38..6587ff170e 100644 --- a/libraries-data-2/src/main/resources/smooks/smooks-mapping.xml +++ b/libraries-data-io/src/main/resources/smooks/smooks-mapping.xml @@ -2,7 +2,7 @@ - + @@ -12,7 +12,7 @@ - + @@ -20,7 +20,7 @@ - + diff --git a/libraries-data-2/src/main/resources/smooks/smooks-transform-edi.xml b/libraries-data-io/src/main/resources/smooks/smooks-transform-edi.xml similarity index 100% rename from libraries-data-2/src/main/resources/smooks/smooks-transform-edi.xml rename to libraries-data-io/src/main/resources/smooks/smooks-transform-edi.xml diff --git a/libraries-data-2/src/main/resources/smooks/smooks-transform-email.xml b/libraries-data-io/src/main/resources/smooks/smooks-transform-email.xml similarity index 100% rename from libraries-data-2/src/main/resources/smooks/smooks-transform-email.xml rename to libraries-data-io/src/main/resources/smooks/smooks-transform-email.xml diff --git a/libraries-data-2/src/main/resources/smooks/smooks-validation.xml b/libraries-data-io/src/main/resources/smooks/smooks-validation.xml similarity index 100% rename from libraries-data-2/src/main/resources/smooks/smooks-validation.xml rename to libraries-data-io/src/main/resources/smooks/smooks-validation.xml diff --git a/libraries-data-2/src/main/resources/smooks/supplier.properties b/libraries-data-io/src/main/resources/smooks/supplier.properties similarity index 100% rename from libraries-data-2/src/main/resources/smooks/supplier.properties rename to libraries-data-io/src/main/resources/smooks/supplier.properties diff --git a/libraries-data-2/src/test/com/baeldung/docx/Docx4jReadAndWriteIntegrationTest.java b/libraries-data-io/src/test/java/com/baeldung/libraries/docx/Docx4jReadAndWriteIntegrationTest.java similarity index 94% rename from libraries-data-2/src/test/com/baeldung/docx/Docx4jReadAndWriteIntegrationTest.java rename to libraries-data-io/src/test/java/com/baeldung/libraries/docx/Docx4jReadAndWriteIntegrationTest.java index 9a2691d3f0..231ee4e097 100644 --- a/libraries-data-2/src/test/com/baeldung/docx/Docx4jReadAndWriteIntegrationTest.java +++ b/libraries-data-io/src/test/java/com/baeldung/libraries/docx/Docx4jReadAndWriteIntegrationTest.java @@ -1,4 +1,4 @@ -package com.baeldung.docx; +package com.baeldung.libraries.docx; import org.junit.Test; diff --git a/libraries-data/src/test/java/com/baeldung/kryo/KryoUnitTest.java b/libraries-data-io/src/test/java/com/baeldung/libraries/kryo/KryoUnitTest.java similarity index 94% rename from libraries-data/src/test/java/com/baeldung/kryo/KryoUnitTest.java rename to libraries-data-io/src/test/java/com/baeldung/libraries/kryo/KryoUnitTest.java index c124ca618d..0b15f178b6 100644 --- a/libraries-data/src/test/java/com/baeldung/kryo/KryoUnitTest.java +++ b/libraries-data-io/src/test/java/com/baeldung/libraries/kryo/KryoUnitTest.java @@ -1,6 +1,11 @@ -package com.baeldung.kryo; +package com.baeldung.libraries.kryo; -import static org.junit.Assert.assertEquals; +import com.esotericsoftware.kryo.Kryo; +import com.esotericsoftware.kryo.io.Input; +import com.esotericsoftware.kryo.io.Output; +import com.esotericsoftware.kryo.serializers.JavaSerializer; +import org.junit.Before; +import org.junit.Test; import java.io.FileInputStream; import java.io.FileNotFoundException; @@ -9,13 +14,7 @@ import java.util.Date; import java.util.logging.Level; import java.util.logging.Logger; -import org.junit.Before; -import org.junit.Test; - -import com.esotericsoftware.kryo.Kryo; -import com.esotericsoftware.kryo.io.Input; -import com.esotericsoftware.kryo.io.Output; -import com.esotericsoftware.kryo.serializers.JavaSerializer; +import static org.junit.Assert.assertEquals; public class KryoUnitTest { @@ -27,8 +26,8 @@ public class KryoUnitTest { public void init() { kryo = new Kryo(); try { - output = new Output(new FileOutputStream("file.dat")); - input = new Input(new FileInputStream("file.dat")); + output = new Output(new FileOutputStream("src/test/resources/file.dat")); + input = new Input(new FileInputStream("src/test/resources/file.dat")); } catch (FileNotFoundException ex) { Logger.getLogger(KryoUnitTest.class.getName()) .log(Level.SEVERE, null, ex); diff --git a/libraries-data-2/src/test/com/baeldung/opencsv/OpenCsvIntegrationTest.java b/libraries-data-io/src/test/java/com/baeldung/libraries/opencsv/OpenCsvIntegrationTest.java similarity index 93% rename from libraries-data-2/src/test/com/baeldung/opencsv/OpenCsvIntegrationTest.java rename to libraries-data-io/src/test/java/com/baeldung/libraries/opencsv/OpenCsvIntegrationTest.java index fca96684ad..b0db4309d9 100644 --- a/libraries-data-2/src/test/com/baeldung/opencsv/OpenCsvIntegrationTest.java +++ b/libraries-data-io/src/test/java/com/baeldung/libraries/opencsv/OpenCsvIntegrationTest.java @@ -1,6 +1,6 @@ -package com.baeldung.opencsv; +package com.baeldung.libraries.opencsv; -import com.baeldung.opencsv.helpers.Helpers; +import com.baeldung.libraries.opencsv.helpers.Helpers; import org.junit.After; import org.junit.Before; import org.junit.Test; diff --git a/libraries-data-2/src/test/com/baeldung/google/sheets/GoogleSheetsLiveTest.java b/libraries-data-io/src/test/java/com/baeldung/libraries/sheets/GoogleSheetsLiveTest.java similarity index 99% rename from libraries-data-2/src/test/com/baeldung/google/sheets/GoogleSheetsLiveTest.java rename to libraries-data-io/src/test/java/com/baeldung/libraries/sheets/GoogleSheetsLiveTest.java index 358b3390f9..31f769c11b 100644 --- a/libraries-data-2/src/test/com/baeldung/google/sheets/GoogleSheetsLiveTest.java +++ b/libraries-data-io/src/test/java/com/baeldung/libraries/sheets/GoogleSheetsLiveTest.java @@ -1,4 +1,4 @@ -package com.baeldung.google.sheets; +package com.baeldung.libraries.sheets; import java.io.IOException; import java.security.GeneralSecurityException; diff --git a/libraries-data-2/src/test/com/baeldung/smooks/converter/SmooksIntegrationTest.java b/libraries-data-io/src/test/java/com/baeldung/libraries/smooks/SmooksIntegrationTest.java similarity index 88% rename from libraries-data-2/src/test/com/baeldung/smooks/converter/SmooksIntegrationTest.java rename to libraries-data-io/src/test/java/com/baeldung/libraries/smooks/SmooksIntegrationTest.java index df7fea58f8..75444d2185 100644 --- a/libraries-data-2/src/test/com/baeldung/smooks/converter/SmooksIntegrationTest.java +++ b/libraries-data-io/src/test/java/com/baeldung/libraries/smooks/SmooksIntegrationTest.java @@ -1,9 +1,11 @@ -package com.baeldung.smooks.converter; +package com.baeldung.libraries.smooks; -import com.baeldung.smooks.model.Item; -import com.baeldung.smooks.model.Order; -import com.baeldung.smooks.model.Status; -import com.baeldung.smooks.model.Supplier; +import com.baeldung.libraries.smooks.converter.OrderConverter; +import com.baeldung.libraries.smooks.converter.OrderValidator; +import com.baeldung.libraries.smooks.model.Item; +import com.baeldung.libraries.smooks.model.Order; +import com.baeldung.libraries.smooks.model.Status; +import com.baeldung.libraries.smooks.model.Supplier; import org.junit.Test; import org.milyn.validation.ValidationResult; import java.text.SimpleDateFormat; diff --git a/libraries-data-3/src/test/java/com/baeldung/snakeyaml/JavaToYAMLSerializationUnitTest.java b/libraries-data-io/src/test/java/com/baeldung/libraries/snakeyaml/JavaToYAMLSerializationUnitTest.java similarity index 88% rename from libraries-data-3/src/test/java/com/baeldung/snakeyaml/JavaToYAMLSerializationUnitTest.java rename to libraries-data-io/src/test/java/com/baeldung/libraries/snakeyaml/JavaToYAMLSerializationUnitTest.java index f6836f6d56..f1a926c12b 100644 --- a/libraries-data-3/src/test/java/com/baeldung/snakeyaml/JavaToYAMLSerializationUnitTest.java +++ b/libraries-data-io/src/test/java/com/baeldung/libraries/snakeyaml/JavaToYAMLSerializationUnitTest.java @@ -1,16 +1,14 @@ -package com.baeldung.snakeyaml; - -import static org.junit.Assert.assertEquals; - -import java.io.StringWriter; -import java.util.LinkedHashMap; -import java.util.Map; +package com.baeldung.libraries.snakeyaml; import org.junit.Test; import org.yaml.snakeyaml.Yaml; import org.yaml.snakeyaml.nodes.Tag; -import com.baeldung.snakeyaml.Customer; +import java.io.StringWriter; +import java.util.LinkedHashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; public class JavaToYAMLSerializationUnitTest { @@ -36,7 +34,7 @@ public class JavaToYAMLSerializationUnitTest { Yaml yaml = new Yaml(); StringWriter writer = new StringWriter(); yaml.dump(customer, writer); - String expectedYaml = "!!com.baeldung.snakeyaml.Customer {age: 45, contactDetails: null, firstName: Greg,\n homeAddress: null, lastName: McDowell}\n"; + String expectedYaml = "!!com.baeldung.libraries.snakeyaml.Customer {age: 45, contactDetails: null, firstName: Greg,\n homeAddress: null, lastName: McDowell}\n"; assertEquals(expectedYaml, writer.toString()); } diff --git a/libraries-data-3/src/test/java/com/baeldung/snakeyaml/YAMLToJavaDeserialisationUnitTest.java b/libraries-data-io/src/test/java/com/baeldung/libraries/snakeyaml/YAMLToJavaDeserialisationUnitTest.java similarity index 99% rename from libraries-data-3/src/test/java/com/baeldung/snakeyaml/YAMLToJavaDeserialisationUnitTest.java rename to libraries-data-io/src/test/java/com/baeldung/libraries/snakeyaml/YAMLToJavaDeserialisationUnitTest.java index 56cd3c2b2e..6f32f143a9 100644 --- a/libraries-data-3/src/test/java/com/baeldung/snakeyaml/YAMLToJavaDeserialisationUnitTest.java +++ b/libraries-data-io/src/test/java/com/baeldung/libraries/snakeyaml/YAMLToJavaDeserialisationUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.snakeyaml; +package com.baeldung.libraries.snakeyaml; import org.junit.Test; import org.yaml.snakeyaml.TypeDescription; diff --git a/libraries-data-io/src/test/resources/file.dat b/libraries-data-io/src/test/resources/file.dat new file mode 100644 index 0000000000000000000000000000000000000000..c246a9f44ba0f6ec586e5469f70c36ca96a8f933 GIT binary patch literal 97 zcmZQv^Ok|NxQIa`IX_n~DKRxCr8F;HFDEmpD6uFrwOB8^s4`#AIX|}`C$+*kC$YGg x0R$KyIWRFW`Y^EMCFZ7j#$mus8wD0{|%9A4dQH literal 0 HcmV?d00001 diff --git a/libraries-data-3/src/test/resources/yaml/customer.yaml b/libraries-data-io/src/test/resources/yaml/customer.yaml similarity index 100% rename from libraries-data-3/src/test/resources/yaml/customer.yaml rename to libraries-data-io/src/test/resources/yaml/customer.yaml diff --git a/libraries-data-3/src/test/resources/yaml/customer_with_contact_details.yaml b/libraries-data-io/src/test/resources/yaml/customer_with_contact_details.yaml similarity index 100% rename from libraries-data-3/src/test/resources/yaml/customer_with_contact_details.yaml rename to libraries-data-io/src/test/resources/yaml/customer_with_contact_details.yaml diff --git a/libraries-data-3/src/test/resources/yaml/customer_with_contact_details_and_address.yaml b/libraries-data-io/src/test/resources/yaml/customer_with_contact_details_and_address.yaml similarity index 100% rename from libraries-data-3/src/test/resources/yaml/customer_with_contact_details_and_address.yaml rename to libraries-data-io/src/test/resources/yaml/customer_with_contact_details_and_address.yaml diff --git a/libraries-data-3/src/test/resources/yaml/customer_with_contact_details_and_tags.yaml b/libraries-data-io/src/test/resources/yaml/customer_with_contact_details_and_tags.yaml similarity index 100% rename from libraries-data-3/src/test/resources/yaml/customer_with_contact_details_and_tags.yaml rename to libraries-data-io/src/test/resources/yaml/customer_with_contact_details_and_tags.yaml diff --git a/libraries-data-io/src/test/resources/yaml/customer_with_type.yaml b/libraries-data-io/src/test/resources/yaml/customer_with_type.yaml new file mode 100644 index 0000000000..1454addc36 --- /dev/null +++ b/libraries-data-io/src/test/resources/yaml/customer_with_type.yaml @@ -0,0 +1,4 @@ +!!com.baeldung.libraries.snakeyaml.Customer +firstName: "John" +lastName: "Doe" +age: 20 \ No newline at end of file diff --git a/libraries-data-3/src/test/resources/yaml/customers.yaml b/libraries-data-io/src/test/resources/yaml/customers.yaml similarity index 100% rename from libraries-data-3/src/test/resources/yaml/customers.yaml rename to libraries-data-io/src/test/resources/yaml/customers.yaml diff --git a/libraries-data/README.md b/libraries-data/README.md index be8f2b2525..7614d11b16 100644 --- a/libraries-data/README.md +++ b/libraries-data/README.md @@ -3,20 +3,13 @@ This module contains articles about libraries for data processing in Java. ### Relevant articles -- [Introduction to Reladomo](https://www.baeldung.com/reladomo) -- [Introduction to ORMLite](https://www.baeldung.com/ormlite) -- [Introduction To Kryo](https://www.baeldung.com/kryo) - [Introduction to KafkaStreams in Java](https://www.baeldung.com/java-kafka-streams) -- [Guide to Java Data Objects](https://www.baeldung.com/jdo) -- [Intro to JDO Queries 2/2](https://www.baeldung.com/jdo-queries) -- [Introduction to HikariCP](https://www.baeldung.com/hikaricp) - [Introduction to JCache](https://www.baeldung.com/jcache) - [A Guide to Apache Ignite](https://www.baeldung.com/apache-ignite) - [Apache Ignite with Spring Data](https://www.baeldung.com/apache-ignite-spring-data) - [A Guide to Apache Crunch](https://www.baeldung.com/apache-crunch) - [Intro to Apache Storm](https://www.baeldung.com/apache-storm) -- [Guide to Ebean ORM](https://www.baeldung.com/ebean-orm) - [Introduction to Kafka Connectors](https://www.baeldung.com/kafka-connectors-guide) - [Kafka Connect Example with MQTT and MongoDB](https://www.baeldung.com/kafka-connect-mqtt-mongodb) - [Building a Data Pipeline with Flink and Kafka](https://www.baeldung.com/kafka-flink-data-pipeline) -- More articles: [[next -->]](/libraries-data-2) +More articles: [[next -->]](/../libraries-data-2) \ No newline at end of file diff --git a/libraries-data/file.dat b/libraries-data/file.dat deleted file mode 100644 index 70177cef976ad64b5517006b8abb7acc41f58b6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87 zcmZQv^Ok|NxQIb6IX_n~DKRxCr8F;HFT1ERU(Y!|w;(6A!Z|0gxR?P17#}$>F);ct nu;eA?rj{@W`D7)QCF - - com.esotericsoftware - kryo - ${kryo.version} - com.h2database h2 @@ -29,21 +24,6 @@ ${junit.version} test - - com.goldmansachs.reladomo - reladomo - ${reladomo.version} - - - com.goldmansachs.reladomo - reladomo-test-util - ${reladomo.version} - - - com.j256.ormlite - ormlite-jdbc - ${ormlite.version} - org.apache.kafka kafka-streams @@ -87,49 +67,6 @@ gson ${gson.version} - - - com.zaxxer - HikariCP - ${HikariCP.version} - compile - - - - org.datanucleus - javax.jdo - ${javax.jdo.version} - - - org.datanucleus - datanucleus-core - ${datanucleus.version} - - - org.datanucleus - datanucleus-api-jdo - ${datanucleus.version} - - - org.datanucleus - datanucleus-rdbms - ${datanucleus.version} - - - org.datanucleus - datanucleus-maven-plugin - ${datanucleus-maven-plugin.version} - - - org.datanucleus - datanucleus-xml - ${datanucleus-xml.version} - - - org.datanucleus - datanucleus-jdo-query - ${datanucleus-jdo-query.version} - javax.cache @@ -232,23 +169,6 @@ assertj-core ${assertj.version} - - org.awaitility - awaitility - ${awaitility.version} - test - - - org.awaitility - awaitility-proxy - ${awaitility.version} - test - - - io.ebean - ebean - ${ebean.version} - org.slf4j slf4j-api @@ -289,113 +209,13 @@ - - - - maven-antrun-plugin - ${maven-antrun-plugin.version} - - - generateMithra - generate-sources - - run - - - - - - - - - - - - - - - - - - com.goldmansachs.reladomo - reladomogen - ${reladomo.version} - - - - com.goldmansachs.reladomo - reladomo-gen-util - ${reladomo.version} - - - - - org.codehaus.mojo - build-helper-maven-plugin - ${build-helper-maven-plugin.version} - - - add-source - generate-sources - - add-source - - - - ${project.build.directory}/generated-sources/reladomo - - - - - add-resource - generate-resources - - add-resource - - - - - ${project.build.directory}/generated-db/ - - - - - - - - - - - org.datanucleus - datanucleus-maven-plugin - ${datanucleus-maven-plugin.version} - - JDO - ${basedir}/datanucleus.properties - ${basedir}/log4j.properties - true - false - - - - - process-classes - - enhance - - - - - org.apache.maven.plugins maven-assembly-plugin 2.3 - src/main/assembly/hadoop-job.xml + src/main/resources/assembly/hadoop-job.xml @@ -413,51 +233,22 @@ - - io.ebean - ebean-maven-plugin - 11.11.2 - - - - main - process-classes - - debug=1 - - - enhance - - - - 1.2.2 - 4.0.1 - 16.5.1 - 5.0 1.0.0 2.4.0 2.8.2 1.1.0 1.5.0 - 3.0.0 3.6.2 3.8.4 1.8 3.0.0 - 2.7.2 - 3.2.0-m7 - 5.1.1 - 5.0.2 - 5.0.0-release - 5.0.4 0.15.0 2.2.0 - 11.22.4 1.7.25 1.0.1 diff --git a/libraries-data/src/main/resources/ReladomoRuntimeConfig.xml b/libraries-data/src/main/resources/ReladomoRuntimeConfig.xml deleted file mode 100644 index 7181e75406..0000000000 --- a/libraries-data/src/main/resources/ReladomoRuntimeConfig.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/libraries-data/src/main/assembly/hadoop-job.xml b/libraries-data/src/main/resources/assembly/hadoop-job.xml similarity index 100% rename from libraries-data/src/main/assembly/hadoop-job.xml rename to libraries-data/src/main/resources/assembly/hadoop-job.xml diff --git a/libraries-data/src/main/resources/ebean.mf b/libraries-data/src/main/resources/ebean.mf deleted file mode 100644 index f49fecc717..0000000000 --- a/libraries-data/src/main/resources/ebean.mf +++ /dev/null @@ -1,3 +0,0 @@ -entity-packages: com.baeldung.ebean.model -transactional-packages: com.baeldung.ebean.app -querybean-packages: com.baeldung.ebean.app diff --git a/libraries-data/src/main/resources/employee.txt b/libraries-data/src/main/resources/employee.txt deleted file mode 100644 index 6c476f39fa..0000000000 --- a/libraries-data/src/main/resources/employee.txt +++ /dev/null @@ -1,3 +0,0 @@ -{id:"1", name="John", isEmployed: "true"} -{id:"1", name="Anna", isEmployed: "false"} -{id:"1", name="George", isEmployed: "true"} \ No newline at end of file diff --git a/libraries-data/src/main/kafka-connect/01_Quick_Start/connect-file-sink.properties b/libraries-data/src/main/resources/kafka-connect/01_Quick_Start/connect-file-sink.properties similarity index 100% rename from libraries-data/src/main/kafka-connect/01_Quick_Start/connect-file-sink.properties rename to libraries-data/src/main/resources/kafka-connect/01_Quick_Start/connect-file-sink.properties diff --git a/libraries-data/src/main/kafka-connect/01_Quick_Start/connect-file-source.properties b/libraries-data/src/main/resources/kafka-connect/01_Quick_Start/connect-file-source.properties similarity index 100% rename from libraries-data/src/main/kafka-connect/01_Quick_Start/connect-file-source.properties rename to libraries-data/src/main/resources/kafka-connect/01_Quick_Start/connect-file-source.properties diff --git a/libraries-data/src/main/kafka-connect/01_Quick_Start/connect-standalone.properties b/libraries-data/src/main/resources/kafka-connect/01_Quick_Start/connect-standalone.properties similarity index 100% rename from libraries-data/src/main/kafka-connect/01_Quick_Start/connect-standalone.properties rename to libraries-data/src/main/resources/kafka-connect/01_Quick_Start/connect-standalone.properties diff --git a/libraries-data/src/main/kafka-connect/02_Distributed/connect-distributed.properties b/libraries-data/src/main/resources/kafka-connect/02_Distributed/connect-distributed.properties similarity index 100% rename from libraries-data/src/main/kafka-connect/02_Distributed/connect-distributed.properties rename to libraries-data/src/main/resources/kafka-connect/02_Distributed/connect-distributed.properties diff --git a/libraries-data/src/main/kafka-connect/02_Distributed/connect-file-sink.json b/libraries-data/src/main/resources/kafka-connect/02_Distributed/connect-file-sink.json similarity index 100% rename from libraries-data/src/main/kafka-connect/02_Distributed/connect-file-sink.json rename to libraries-data/src/main/resources/kafka-connect/02_Distributed/connect-file-sink.json diff --git a/libraries-data/src/main/kafka-connect/02_Distributed/connect-file-source.json b/libraries-data/src/main/resources/kafka-connect/02_Distributed/connect-file-source.json similarity index 100% rename from libraries-data/src/main/kafka-connect/02_Distributed/connect-file-source.json rename to libraries-data/src/main/resources/kafka-connect/02_Distributed/connect-file-source.json diff --git a/libraries-data/src/main/kafka-connect/03_Transform/connect-distributed.properties b/libraries-data/src/main/resources/kafka-connect/03_Transform/connect-distributed.properties similarity index 100% rename from libraries-data/src/main/kafka-connect/03_Transform/connect-distributed.properties rename to libraries-data/src/main/resources/kafka-connect/03_Transform/connect-distributed.properties diff --git a/libraries-data/src/main/kafka-connect/03_Transform/connect-file-source-transform.json b/libraries-data/src/main/resources/kafka-connect/03_Transform/connect-file-source-transform.json similarity index 100% rename from libraries-data/src/main/kafka-connect/03_Transform/connect-file-source-transform.json rename to libraries-data/src/main/resources/kafka-connect/03_Transform/connect-file-source-transform.json diff --git a/libraries-data/src/main/kafka-connect/04_Custom/connect-mongodb-sink.json b/libraries-data/src/main/resources/kafka-connect/04_Custom/connect-mongodb-sink.json similarity index 100% rename from libraries-data/src/main/kafka-connect/04_Custom/connect-mongodb-sink.json rename to libraries-data/src/main/resources/kafka-connect/04_Custom/connect-mongodb-sink.json diff --git a/libraries-data/src/main/kafka-connect/04_Custom/connect-mqtt-source.json b/libraries-data/src/main/resources/kafka-connect/04_Custom/connect-mqtt-source.json similarity index 100% rename from libraries-data/src/main/kafka-connect/04_Custom/connect-mqtt-source.json rename to libraries-data/src/main/resources/kafka-connect/04_Custom/connect-mqtt-source.json diff --git a/libraries-data/src/main/kafka-connect/04_Custom/docker-compose.yaml b/libraries-data/src/main/resources/kafka-connect/04_Custom/docker-compose.yaml similarity index 100% rename from libraries-data/src/main/kafka-connect/04_Custom/docker-compose.yaml rename to libraries-data/src/main/resources/kafka-connect/04_Custom/docker-compose.yaml diff --git a/libraries-data/src/main/resources/user_jmapper.xml b/libraries-data/src/main/resources/user_jmapper.xml deleted file mode 100644 index f007de9f0a..0000000000 --- a/libraries-data/src/main/resources/user_jmapper.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/libraries-data/src/main/resources/user_jmapper1.xml b/libraries-data/src/main/resources/user_jmapper1.xml deleted file mode 100644 index abcfd77e1c..0000000000 --- a/libraries-data/src/main/resources/user_jmapper1.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/libraries-data/src/main/resources/user_jmapper2.xml b/libraries-data/src/main/resources/user_jmapper2.xml deleted file mode 100644 index 1e708e14bf..0000000000 --- a/libraries-data/src/main/resources/user_jmapper2.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libraries-data/src/test/resources/reladomo/ReladomoTestConfig.xml b/libraries-data/src/test/resources/reladomo/ReladomoTestConfig.xml deleted file mode 100644 index 6e5d212fb8..0000000000 --- a/libraries-data/src/test/resources/reladomo/ReladomoTestConfig.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/libraries-data/src/test/resources/reladomo/test-data.txt b/libraries-data/src/test/resources/reladomo/test-data.txt deleted file mode 100644 index 8e407278ac..0000000000 --- a/libraries-data/src/test/resources/reladomo/test-data.txt +++ /dev/null @@ -1,7 +0,0 @@ -class com.baeldung.reladomo.Department -id, name -1, "Marketing" - -class com.baeldung.reladomo.Employee -id, name -1, "Paul" \ No newline at end of file diff --git a/libraries/src/test/resources/yaml/customer.yaml b/libraries/src/test/resources/yaml/customer.yaml deleted file mode 100644 index aa76141c7d..0000000000 --- a/libraries/src/test/resources/yaml/customer.yaml +++ /dev/null @@ -1,3 +0,0 @@ -firstName: "John" -lastName: "Doe" -age: 20 \ No newline at end of file diff --git a/libraries/src/test/resources/yaml/customer_with_contact_details.yaml b/libraries/src/test/resources/yaml/customer_with_contact_details.yaml deleted file mode 100644 index 34563cbd21..0000000000 --- a/libraries/src/test/resources/yaml/customer_with_contact_details.yaml +++ /dev/null @@ -1,7 +0,0 @@ -firstName: "John" -lastName: "Doe" -age: 31 -contactDetails: - - { type: "mobile", number: 123456789} - - { type: "landline", number: 456786868} - \ No newline at end of file diff --git a/libraries/src/test/resources/yaml/customer_with_contact_details_and_address.yaml b/libraries/src/test/resources/yaml/customer_with_contact_details_and_address.yaml deleted file mode 100644 index 664afe8594..0000000000 --- a/libraries/src/test/resources/yaml/customer_with_contact_details_and_address.yaml +++ /dev/null @@ -1,13 +0,0 @@ -firstName: "John" -lastName: "Doe" -age: 31 -contactDetails: - - type: "mobile" - number: 123456789 - - type: "landline" - number: 456786868 -homeAddress: - line: "Xyz, DEF Street" - city: "City Y" - state: "State Y" - zip: 345657 diff --git a/libraries/src/test/resources/yaml/customer_with_contact_details_and_tags.yaml b/libraries/src/test/resources/yaml/customer_with_contact_details_and_tags.yaml deleted file mode 100644 index 145da256d9..0000000000 --- a/libraries/src/test/resources/yaml/customer_with_contact_details_and_tags.yaml +++ /dev/null @@ -1,6 +0,0 @@ -firstName: "John" -lastName: "Doe" -age: 31 -contactDetails: - - !contact { type: "mobile", number: 123456789} - - !contact { type: "landline", number: 456786868} diff --git a/libraries/src/test/resources/yaml/customer_with_type.yaml b/libraries/src/test/resources/yaml/customer_with_type.yaml deleted file mode 100644 index 6e13c26cea..0000000000 --- a/libraries/src/test/resources/yaml/customer_with_type.yaml +++ /dev/null @@ -1,4 +0,0 @@ -!!com.baeldung.snakeyaml.Customer -firstName: "John" -lastName: "Doe" -age: 20 \ No newline at end of file diff --git a/libraries/src/test/resources/yaml/customers.yaml b/libraries/src/test/resources/yaml/customers.yaml deleted file mode 100644 index 23b9039c2e..0000000000 --- a/libraries/src/test/resources/yaml/customers.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -firstName: "John" -lastName: "Doe" -age: 20 ---- -firstName: "Jack" -lastName: "Jones" -age: 25 \ No newline at end of file diff --git a/pom.xml b/pom.xml index 196870800c..8664143802 100644 --- a/pom.xml +++ b/pom.xml @@ -531,6 +531,8 @@ libraries-2 libraries-data libraries-data-2 + libraries-data-db + libraries-data-io libraries-apache-commons libraries-apache-commons-collections libraries-apache-commons-io @@ -1286,6 +1288,8 @@ libraries libraries-data libraries-data-2 + libraries-data-db + libraries-data-io libraries-apache-commons libraries-apache-commons-collections libraries-apache-commons-io From f37d003192f7cf65fc2adbd22167410e2ea06f93 Mon Sep 17 00:00:00 2001 From: fejera Date: Sun, 13 Oct 2019 18:00:43 +0200 Subject: [PATCH 145/199] BAEL-3089 - created examples for @SecondaryTable article --- persistence-modules/java-jpa-2/pom.xml | 11 ++- .../multipleentities/AllergensAsEntity.java | 73 ++++++++++++++ .../MealWithMultipleEntities.java | 75 ++++++++++++++ .../secondarytable/MealAsSingleEntity.java | 99 +++++++++++++++++++ .../embeddable/AllergensAsEmbeddable.java | 47 +++++++++ .../embeddable/MealWithEmbeddedAllergens.java | 78 +++++++++++++++ .../main/resources/META-INF/persistence.xml | 30 ++++++ .../MultipleTablesIntegrationTest.java | 79 +++++++++++++++ .../src/test/resources/multipletables.sql | 8 ++ 9 files changed, 498 insertions(+), 2 deletions(-) create mode 100644 persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/multipleentities/AllergensAsEntity.java create mode 100644 persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/multipleentities/MealWithMultipleEntities.java create mode 100644 persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/secondarytable/MealAsSingleEntity.java create mode 100644 persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/secondarytable/embeddable/AllergensAsEmbeddable.java create mode 100644 persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/secondarytable/embeddable/MealWithEmbeddedAllergens.java create mode 100644 persistence-modules/java-jpa-2/src/test/java/com/baeldung/jpa/multipletables/MultipleTablesIntegrationTest.java create mode 100644 persistence-modules/java-jpa-2/src/test/resources/multipletables.sql diff --git a/persistence-modules/java-jpa-2/pom.xml b/persistence-modules/java-jpa-2/pom.xml index fdd482f833..3cbc15beed 100644 --- a/persistence-modules/java-jpa-2/pom.xml +++ b/persistence-modules/java-jpa-2/pom.xml @@ -1,5 +1,4 @@ - 4.0.0 java-jpa-2 @@ -47,6 +46,13 @@ ${postgres.version} runtime + + + org.assertj + assertj-core + ${assertj.version} + test + @@ -106,6 +112,7 @@ 2.7.4-RC1 42.2.5 2.2 + 3.11.1 \ No newline at end of file diff --git a/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/multipleentities/AllergensAsEntity.java b/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/multipleentities/AllergensAsEntity.java new file mode 100644 index 0000000000..e5e228d013 --- /dev/null +++ b/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/multipleentities/AllergensAsEntity.java @@ -0,0 +1,73 @@ +package com.baeldung.jpa.multipletables.multipleentities; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.OneToOne; +import javax.persistence.PrimaryKeyJoinColumn; +import javax.persistence.Table; + +import com.baeldung.jpa.multipletables.secondarytable.MealAsSingleEntity; + +@Entity +@Table(name = "allergens") +public class AllergensAsEntity { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "meal_id") + private Long mealId; + + @OneToOne + @PrimaryKeyJoinColumn(name = "meal_id") + private MealAsSingleEntity meal; + + @Column(name = "peanuts") + private boolean peanuts; + + @Column(name = "celery") + private boolean celery; + + @Column(name = "sesame_seeds") + private boolean sesameSeeds; + + public MealAsSingleEntity getMeal() { + return meal; + } + + public void setMeal(MealAsSingleEntity meal) { + this.meal = meal; + } + + public boolean isPeanuts() { + return peanuts; + } + + public void setPeanuts(boolean peanuts) { + this.peanuts = peanuts; + } + + public boolean isCelery() { + return celery; + } + + public void setCelery(boolean celery) { + this.celery = celery; + } + + public boolean isSesameSeeds() { + return sesameSeeds; + } + + public void setSesameSeeds(boolean sesameSeeds) { + this.sesameSeeds = sesameSeeds; + } + + @Override + public String toString() { + return "AllergensAsEntity [peanuts=" + peanuts + ", celery=" + celery + ", sesameSeeds=" + sesameSeeds + "]"; + } + +} diff --git a/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/multipleentities/MealWithMultipleEntities.java b/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/multipleentities/MealWithMultipleEntities.java new file mode 100644 index 0000000000..74105f8f1f --- /dev/null +++ b/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/multipleentities/MealWithMultipleEntities.java @@ -0,0 +1,75 @@ +package com.baeldung.jpa.multipletables.multipleentities; + +import java.math.BigDecimal; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.OneToOne; +import javax.persistence.Table; + +@Entity +@Table(name = "meal") +public class MealWithMultipleEntities { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + + @Column(name = "name") + private String name; + + @Column(name = "description") + private String description; + + @Column(name = "price") + private BigDecimal price; + + @OneToOne(mappedBy = "meal") + private AllergensAsEntity allergens; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public BigDecimal getPrice() { + return price; + } + + public void setPrice(BigDecimal price) { + this.price = price; + } + + public AllergensAsEntity getAllergens() { + return allergens; + } + + public void setAllergens(AllergensAsEntity allergens) { + this.allergens = allergens; + } + + public Long getId() { + return id; + } + + @Override + public String toString() { + return "MealWithMultipleEntities [id=" + id + ", name=" + name + ", description=" + description + ", price=" + price + ", allergens=" + allergens + "]"; + } + +} diff --git a/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/secondarytable/MealAsSingleEntity.java b/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/secondarytable/MealAsSingleEntity.java new file mode 100644 index 0000000000..2929f391a4 --- /dev/null +++ b/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/secondarytable/MealAsSingleEntity.java @@ -0,0 +1,99 @@ +package com.baeldung.jpa.multipletables.secondarytable; + +import java.math.BigDecimal; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.PrimaryKeyJoinColumn; +import javax.persistence.SecondaryTable; +import javax.persistence.Table; + +@Entity +@Table(name = "meal") +@SecondaryTable(name = "allergens", pkJoinColumns = @PrimaryKeyJoinColumn(name = "meal_id")) +public class MealAsSingleEntity { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + + @Column(name = "name") + private String name; + + @Column(name = "description") + private String description; + + @Column(name = "price") + private BigDecimal price; + + @Column(name = "peanuts", table = "allergens") + private boolean peanuts; + + @Column(name = "celery", table = "allergens") + private boolean celery; + + @Column(name = "sesame_seeds", table = "allergens") + private boolean sesameSeeds; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public BigDecimal getPrice() { + return price; + } + + public void setPrice(BigDecimal price) { + this.price = price; + } + + public boolean isPeanuts() { + return peanuts; + } + + public void setPeanuts(boolean peanuts) { + this.peanuts = peanuts; + } + + public boolean isCelery() { + return celery; + } + + public void setCelery(boolean celery) { + this.celery = celery; + } + + public boolean isSesameSeeds() { + return sesameSeeds; + } + + public void setSesameSeeds(boolean sesameSeeds) { + this.sesameSeeds = sesameSeeds; + } + + public Long getId() { + return id; + } + + @Override + public String toString() { + return "MealAsSingleEntity [id=" + id + ", name=" + name + ", description=" + description + ", price=" + price + ", peanuts=" + peanuts + ", celery=" + celery + ", sesameSeeds=" + sesameSeeds + "]"; + } + +} diff --git a/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/secondarytable/embeddable/AllergensAsEmbeddable.java b/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/secondarytable/embeddable/AllergensAsEmbeddable.java new file mode 100644 index 0000000000..1c1f05890b --- /dev/null +++ b/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/secondarytable/embeddable/AllergensAsEmbeddable.java @@ -0,0 +1,47 @@ +package com.baeldung.jpa.multipletables.secondarytable.embeddable; + +import javax.persistence.Column; +import javax.persistence.Embeddable; + +@Embeddable +public class AllergensAsEmbeddable { + + @Column(name = "peanuts", table = "allergens") + private boolean peanuts; + + @Column(name = "celery", table = "allergens") + private boolean celery; + + @Column(name = "sesame_seeds", table = "allergens") + private boolean sesameSeeds; + + public boolean isPeanuts() { + return peanuts; + } + + public void setPeanuts(boolean peanuts) { + this.peanuts = peanuts; + } + + public boolean isCelery() { + return celery; + } + + public void setCelery(boolean celery) { + this.celery = celery; + } + + public boolean isSesameSeeds() { + return sesameSeeds; + } + + public void setSesameSeeds(boolean sesameSeeds) { + this.sesameSeeds = sesameSeeds; + } + + @Override + public String toString() { + return "AllergensAsEmbeddable [peanuts=" + peanuts + ", celery=" + celery + ", sesameSeeds=" + sesameSeeds + "]"; + } + +} diff --git a/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/secondarytable/embeddable/MealWithEmbeddedAllergens.java b/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/secondarytable/embeddable/MealWithEmbeddedAllergens.java new file mode 100644 index 0000000000..87a83157d7 --- /dev/null +++ b/persistence-modules/java-jpa-2/src/main/java/com/baeldung/jpa/multipletables/secondarytable/embeddable/MealWithEmbeddedAllergens.java @@ -0,0 +1,78 @@ +package com.baeldung.jpa.multipletables.secondarytable.embeddable; + +import java.math.BigDecimal; + +import javax.persistence.Column; +import javax.persistence.Embedded; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.PrimaryKeyJoinColumn; +import javax.persistence.SecondaryTable; +import javax.persistence.Table; + +@Entity +@Table(name = "meal") +@SecondaryTable(name = "allergens", pkJoinColumns = @PrimaryKeyJoinColumn(name = "meal_id")) +public class MealWithEmbeddedAllergens { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + + @Column(name = "name") + private String name; + + @Column(name = "description") + private String description; + + @Column(name = "price") + private BigDecimal price; + + @Embedded + private AllergensAsEmbeddable allergens; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public BigDecimal getPrice() { + return price; + } + + public void setPrice(BigDecimal price) { + this.price = price; + } + + public AllergensAsEmbeddable getAllergens() { + return allergens; + } + + public void setAllergens(AllergensAsEmbeddable allergens) { + this.allergens = allergens; + } + + public Long getId() { + return id; + } + + @Override + public String toString() { + return "MealWithEmbeddedAllergens [id=" + id + ", name=" + name + ", description=" + description + ", price=" + price + ", allergens=" + allergens + "]"; + } + +} diff --git a/persistence-modules/java-jpa-2/src/main/resources/META-INF/persistence.xml b/persistence-modules/java-jpa-2/src/main/resources/META-INF/persistence.xml index 62d7ce0f5e..0602a82f6c 100644 --- a/persistence-modules/java-jpa-2/src/main/resources/META-INF/persistence.xml +++ b/persistence-modules/java-jpa-2/src/main/resources/META-INF/persistence.xml @@ -119,4 +119,34 @@ + + org.hibernate.jpa.HibernatePersistenceProvider + com.baeldung.jpa.multipletables.multipleentities.MealWithMultipleEntities + com.baeldung.jpa.multipletables.multipleentities.AllergensAsEntity + + com.baeldung.jpa.multipletables.secondarytable.MealAsSingleEntity + + com.baeldung.jpa.multipletables.secondarytable.embeddable.MealWithEmbeddedAllergens + com.baeldung.jpa.multipletables.secondarytable.embeddable.AllergensAsEmbeddable + + true + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/persistence-modules/java-jpa-2/src/test/java/com/baeldung/jpa/multipletables/MultipleTablesIntegrationTest.java b/persistence-modules/java-jpa-2/src/test/java/com/baeldung/jpa/multipletables/MultipleTablesIntegrationTest.java new file mode 100644 index 0000000000..99b2cd69ee --- /dev/null +++ b/persistence-modules/java-jpa-2/src/test/java/com/baeldung/jpa/multipletables/MultipleTablesIntegrationTest.java @@ -0,0 +1,79 @@ +package com.baeldung.jpa.multipletables; + +import static org.assertj.core.api.Assertions.*; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; + +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +import com.baeldung.jpa.multipletables.multipleentities.MealWithMultipleEntities; +import com.baeldung.jpa.multipletables.secondarytable.MealAsSingleEntity; +import com.baeldung.jpa.multipletables.secondarytable.embeddable.MealWithEmbeddedAllergens; + +public class MultipleTablesIntegrationTest { + + private static EntityManagerFactory emf; + private static EntityManager em; + + @BeforeClass + public static void setup() { + emf = Persistence.createEntityManagerFactory("jpa-h2-multipltables"); + em = emf.createEntityManager(); + } + + @Test + public void entityManager_shouldLoadMealAsSingleEntity() { + // given + + // when + MealAsSingleEntity meal = em.find(MealAsSingleEntity.class, 1L); + + // then + assertThat(meal).isNotNull(); + assertThat(meal.getId()).isEqualTo(1L); + assertThat(meal.isPeanuts()).isFalse(); + assertThat(meal.isCelery()).isTrue(); + } + + @Test + public void entityManager_shouldLoadMealWithEmbeddedAllergens() { + // given + + // when + MealWithEmbeddedAllergens meal = em.find(MealWithEmbeddedAllergens.class, 1L); + + // then + assertThat(meal).isNotNull(); + assertThat(meal.getId()).isEqualTo(1L); + assertThat(meal.getAllergens()).isNotNull(); + assertThat(meal.getAllergens().isPeanuts()).isFalse(); + assertThat(meal.getAllergens().isCelery()).isTrue(); + } + + @Test + public void entityManager_shouldLoadMealWithAllergensEntity() { + // given + + // when + MealWithMultipleEntities meal = em.find(MealWithMultipleEntities.class, 1L); + + // then + assertThat(meal).isNotNull(); + assertThat(meal.getId()).isEqualTo(1L); + assertThat(meal.getAllergens()).isNotNull(); + assertThat(meal.getAllergens().isPeanuts()).isFalse(); + assertThat(meal.getAllergens().isCelery()).isTrue(); + } + + @AfterClass + public static void teardown() { + if (emf != null) { + emf.close(); + } + } + +} diff --git a/persistence-modules/java-jpa-2/src/test/resources/multipletables.sql b/persistence-modules/java-jpa-2/src/test/resources/multipletables.sql new file mode 100644 index 0000000000..226e63258b --- /dev/null +++ b/persistence-modules/java-jpa-2/src/test/resources/multipletables.sql @@ -0,0 +1,8 @@ +drop table if exists allergens; +drop table if exists meal; + +create table meal (id bigint auto_increment, name varchar(255) not null, description varchar(255) not null, price decimal(19, 2) not null, primary key (id)); +create table allergens (meal_id bigint auto_increment, peanuts number(1) not null, celery number(1) not null, sesame_seeds number(1) not null, primary key (meal_id)); + +insert into meal (id, name, description, price) values (1, 'Pizza', 'Delicious', 5); +insert into allergens (meal_id, peanuts, celery, sesame_seeds) values (1, 0, 1, 0); From 6a3bb3616700380a00030c8515ace3c1ea90ad14 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 13 Oct 2019 23:19:30 +0530 Subject: [PATCH 146/199] [BAEL-18306-1] - Fix formatting of POMs Part 1 --- .../decoupling-pattern2/consumermodule/pom.xml | 1 - .../decoupling-pattern2/servicemodule/pom.xml | 8 ++++---- core-java-modules/core-java-lang-oop-2/pom.xml | 14 +++++++------- core-java-modules/core-java-os/pom.xml | 2 +- guava/pom.xml | 2 -- java-blockchain/pom.xml | 4 ++++ 6 files changed, 16 insertions(+), 15 deletions(-) diff --git a/core-java-modules/core-java-jpms/decoupling-pattern2/consumermodule/pom.xml b/core-java-modules/core-java-jpms/decoupling-pattern2/consumermodule/pom.xml index 757d9229df..09ca44d9be 100644 --- a/core-java-modules/core-java-jpms/decoupling-pattern2/consumermodule/pom.xml +++ b/core-java-modules/core-java-jpms/decoupling-pattern2/consumermodule/pom.xml @@ -3,7 +3,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.baeldung.consumermodule consumermodule 1.0 diff --git a/core-java-modules/core-java-jpms/decoupling-pattern2/servicemodule/pom.xml b/core-java-modules/core-java-jpms/decoupling-pattern2/servicemodule/pom.xml index 4de3df8c01..861f06f089 100644 --- a/core-java-modules/core-java-jpms/decoupling-pattern2/servicemodule/pom.xml +++ b/core-java-modules/core-java-jpms/decoupling-pattern2/servicemodule/pom.xml @@ -3,16 +3,16 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 + com.baeldung.servicemodule + servicemodule + 1.0 + >com.baeldung.decoupling-pattern2 decoupling-pattern2 1.0-SNAPSHOT - com.baeldung.servicemodule - servicemodule - 1.0 - diff --git a/core-java-modules/core-java-lang-oop-2/pom.xml b/core-java-modules/core-java-lang-oop-2/pom.xml index d27df147b7..e90b7ea4b3 100644 --- a/core-java-modules/core-java-lang-oop-2/pom.xml +++ b/core-java-modules/core-java-lang-oop-2/pom.xml @@ -29,13 +29,6 @@ test - - - 1.4.199 - - 3.10.0 - 3.0.3 - core-java-lang-oop-2 @@ -47,4 +40,11 @@ + + 1.4.199 + + 3.10.0 + 3.0.3 + + diff --git a/core-java-modules/core-java-os/pom.xml b/core-java-modules/core-java-os/pom.xml index f6c5ef04a5..8c5f7fe1e9 100644 --- a/core-java-modules/core-java-os/pom.xml +++ b/core-java-modules/core-java-os/pom.xml @@ -54,7 +54,7 @@ - + org.apache.maven.plugins maven-compiler-plugin ${maven-compiler-plugin.version} diff --git a/guava/pom.xml b/guava/pom.xml index 3a19901a02..17c930cdd2 100644 --- a/guava/pom.xml +++ b/guava/pom.xml @@ -26,8 +26,6 @@ ${assertj.version} test - - diff --git a/java-blockchain/pom.xml b/java-blockchain/pom.xml index 2f9e011aa7..4c5d0f31d5 100644 --- a/java-blockchain/pom.xml +++ b/java-blockchain/pom.xml @@ -7,12 +7,14 @@ 0.1.0-SNAPSHOT java-blockchain jar + com.baeldung parent-java 0.0.1-SNAPSHOT ../parent-java + java-blockchain @@ -33,8 +35,10 @@
+ 1.8 1.8 + \ No newline at end of file From 95dc22f0e32cbae12f5e5f5922565b4ac9786776 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 13 Oct 2019 23:42:06 +0530 Subject: [PATCH 147/199] [BAEL-18306-2] - Fix formatting of POMs Part 2 --- java-ee-8-security-api/pom.xml | 15 +++++----- libraries-primitive/pom.xml | 13 ++++----- logging-modules/flogger/pom.xml | 6 ++-- .../oauth2-authorization-server/pom.xml | 19 ++++++------ oauth2-framework-impl/oauth2-client/pom.xml | 10 +++---- .../oauth2-resource-server/pom.xml | 16 +++++----- oauth2-framework-impl/pom.xml | 29 ++++++++++--------- 7 files changed, 52 insertions(+), 56 deletions(-) diff --git a/java-ee-8-security-api/pom.xml b/java-ee-8-security-api/pom.xml index 4d4e2ba3b3..f43f3d7c5f 100644 --- a/java-ee-8-security-api/pom.xml +++ b/java-ee-8-security-api/pom.xml @@ -14,6 +14,13 @@ 1.0.0-SNAPSHOT + + app-auth-basic-store-db + app-auth-form-store-ldap + app-auth-custom-form-store-custom + app-auth-custom-no-store + + @@ -58,17 +65,9 @@
- - app-auth-basic-store-db - app-auth-form-store-ldap - app-auth-custom-form-store-custom - app-auth-custom-no-store - - 9080 9443 - 8.0 2.3 18.0.0.1 diff --git a/libraries-primitive/pom.xml b/libraries-primitive/pom.xml index cddb3ab1fe..30f683a544 100644 --- a/libraries-primitive/pom.xml +++ b/libraries-primitive/pom.xml @@ -3,17 +3,11 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.baeldung libraries-primitive 1.0-SNAPSHOT libraries-primitive - - 1.8 - 1.8 - - @@ -47,12 +41,15 @@ eclipse-collections-api 10.0.0 - org.eclipse.collections eclipse-collections 10.0.0 - + + + 1.8 + 1.8 + \ No newline at end of file diff --git a/logging-modules/flogger/pom.xml b/logging-modules/flogger/pom.xml index 0bba719616..20201af179 100644 --- a/logging-modules/flogger/pom.xml +++ b/logging-modules/flogger/pom.xml @@ -2,14 +2,14 @@ + 4.0.0 + flogger + logging-modules com.baeldung 1.0.0-SNAPSHOT - 4.0.0 - - flogger diff --git a/oauth2-framework-impl/oauth2-authorization-server/pom.xml b/oauth2-framework-impl/oauth2-authorization-server/pom.xml index 25927c9f1a..8793eefe78 100644 --- a/oauth2-framework-impl/oauth2-authorization-server/pom.xml +++ b/oauth2-framework-impl/oauth2-authorization-server/pom.xml @@ -3,7 +3,6 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - oauth2-authorization-server war oauth2-authorization-server @@ -14,15 +13,6 @@ 1.0-SNAPSHOT - - 1.4.199 - 9080 - 9443 - 7.3 - 1.62 - 1.62 - - com.nimbusds @@ -73,4 +63,13 @@ + + + 1.4.199 + 9080 + 9443 + 7.3 + 1.62 + 1.62 + diff --git a/oauth2-framework-impl/oauth2-client/pom.xml b/oauth2-framework-impl/oauth2-client/pom.xml index 9b2f05c483..4f12095d30 100644 --- a/oauth2-framework-impl/oauth2-client/pom.xml +++ b/oauth2-framework-impl/oauth2-client/pom.xml @@ -13,11 +13,6 @@ 1.0-SNAPSHOT - - 9180 - 9543 - - @@ -26,4 +21,9 @@ + + + 9180 + 9543 + diff --git a/oauth2-framework-impl/oauth2-resource-server/pom.xml b/oauth2-framework-impl/oauth2-resource-server/pom.xml index 5e5cd087ed..4c82668547 100644 --- a/oauth2-framework-impl/oauth2-resource-server/pom.xml +++ b/oauth2-framework-impl/oauth2-resource-server/pom.xml @@ -13,14 +13,6 @@ 1.0-SNAPSHOT - - 9280 - 8643 - http://localhost:9080 - http://localhost:9280 - 1.1 - - org.eclipse.microprofile.jwt @@ -39,4 +31,12 @@ + + 9280 + 8643 + http://localhost:9080 + http://localhost:9280 + 1.1 + + diff --git a/oauth2-framework-impl/pom.xml b/oauth2-framework-impl/pom.xml index fd1a2c926f..3c98b45112 100644 --- a/oauth2-framework-impl/pom.xml +++ b/oauth2-framework-impl/pom.xml @@ -9,15 +9,11 @@ pom oauth2-framework-impl - - 1.8 - 1.8 - false - RELEASE - 2.6.4 - 8.0 - 1.3 - + + oauth2-authorization-server + oauth2-resource-server + oauth2-client + @@ -88,9 +84,14 @@ - - oauth2-authorization-server - oauth2-resource-server - oauth2-client - + + + 1.8 + 1.8 + false + RELEASE + 2.6.4 + 8.0 + 1.3 + From 6a52d9df5451f6e6df21105d8633b88c690396ea Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 13 Oct 2019 23:56:32 +0530 Subject: [PATCH 148/199] [BAEL-18306-3] - Fix formatting of POMs Part 3 --- performance-tests/pom.xml | 4 +- persistence-modules/elasticsearch/pom.xml | 1 - persistence-modules/java-jpa-2/pom.xml | 4 +- .../jpa-hibernate-cascade-type/pom.xml | 8 +- .../persistence-libraries/pom.xml | 25 +-- persistence-modules/r2dbc/pom.xml | 153 +++++++++--------- 6 files changed, 98 insertions(+), 97 deletions(-) diff --git a/performance-tests/pom.xml b/performance-tests/pom.xml index 956c0ccfa8..4dc480ef86 100644 --- a/performance-tests/pom.xml +++ b/performance-tests/pom.xml @@ -1,11 +1,11 @@ 4.0.0 - com.baeldung performance-tests 1.0 jar + performance-tests parent-modules @@ -13,8 +13,6 @@ 1.0.0-SNAPSHOT - performance-tests - ma.glasnost.orika diff --git a/persistence-modules/elasticsearch/pom.xml b/persistence-modules/elasticsearch/pom.xml index f7bfdb44de..943cfa6a23 100644 --- a/persistence-modules/elasticsearch/pom.xml +++ b/persistence-modules/elasticsearch/pom.xml @@ -16,7 +16,6 @@ - io.searchbox jest diff --git a/persistence-modules/java-jpa-2/pom.xml b/persistence-modules/java-jpa-2/pom.xml index fdd482f833..790c4a07df 100644 --- a/persistence-modules/java-jpa-2/pom.xml +++ b/persistence-modules/java-jpa-2/pom.xml @@ -4,12 +4,14 @@ 4.0.0 java-jpa-2 java-jpa-2 + com.baeldung parent-modules 1.0.0-SNAPSHOT ../../pom.xml + org.hibernate @@ -79,7 +81,6 @@ - org.codehaus.mojo build-helper-maven-plugin @@ -101,6 +102,7 @@ + 5.4.0.Final 2.7.4-RC1 diff --git a/persistence-modules/jpa-hibernate-cascade-type/pom.xml b/persistence-modules/jpa-hibernate-cascade-type/pom.xml index 8cfc2a5fa2..bc6307efb0 100644 --- a/persistence-modules/jpa-hibernate-cascade-type/pom.xml +++ b/persistence-modules/jpa-hibernate-cascade-type/pom.xml @@ -2,6 +2,10 @@ + jpa-hibernate-cascade-type + 4.0.0 + 1.0.0-SNAPSHOT + com.baeldung parent-modules @@ -9,10 +13,6 @@ ../../ - jpa-hibernate-cascade-type - 4.0.0 - 1.0.0-SNAPSHOT - org.hibernate diff --git a/persistence-modules/persistence-libraries/pom.xml b/persistence-modules/persistence-libraries/pom.xml index cce051f303..273db34ec4 100644 --- a/persistence-modules/persistence-libraries/pom.xml +++ b/persistence-modules/persistence-libraries/pom.xml @@ -4,18 +4,6 @@ 4.0.0 persistence-libraries 1.0-SNAPSHOT - - - - org.apache.maven.plugins - maven-compiler-plugin - - 8 - 8 - - - - java-sql2o @@ -45,6 +33,19 @@ + + + + org.apache.maven.plugins + maven-compiler-plugin + + 8 + 8 + + + + + 2.4.0 4.12 diff --git a/persistence-modules/r2dbc/pom.xml b/persistence-modules/r2dbc/pom.xml index fd48a47f12..4256da659e 100644 --- a/persistence-modules/r2dbc/pom.xml +++ b/persistence-modules/r2dbc/pom.xml @@ -1,91 +1,92 @@ - 4.0.0 - - org.springframework.boot - spring-boot-starter-parent - 2.1.6.RELEASE - - - org.baeldung.examples.r2dbc - r2dbc-example - 0.0.1-SNAPSHOT - r2dbc-example - Sample R2DBC Project + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + org.baeldung.examples.r2dbc + r2dbc-example + 0.0.1-SNAPSHOT + r2dbc-example + Sample R2DBC Project - - 1.8 - 0.8.0.M8 - + + org.springframework.boot + spring-boot-starter-parent + 2.1.6.RELEASE + + - - - org.springframework.boot - spring-boot-starter-webflux - + + + org.springframework.boot + spring-boot-starter-webflux + - - org.springframework.boot - spring-boot-starter-test - test - - - io.projectreactor - reactor-test - test - + + org.springframework.boot + spring-boot-starter-test + test + + + io.projectreactor + reactor-test + test + - - - io.r2dbc - r2dbc-h2 - ${r2dbc-h2.version} - + + + io.r2dbc + r2dbc-h2 + ${r2dbc-h2.version} + - - org.springframework.boot - spring-boot-configuration-processor - true - - - org.springframework.boot - spring-boot-devtools - - + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.springframework.boot + spring-boot-devtools + + - - - - org.springframework.boot - spring-boot-maven-plugin - - - + + + + org.springframework.boot + spring-boot-maven-plugin + + + - - + + - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - + + spring-snapshots + Spring Snapshots + https://repo.spring.io/snapshot + + true + + - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - false - - + + spring-milestones + Spring Milestones + https://repo.spring.io/milestone + + false + + - + + + + 1.8 + 0.8.0.M8 + From 5e1ba62d7c97521ec22458acf5a79cec8a3dc12f Mon Sep 17 00:00:00 2001 From: amit2103 Date: Mon, 14 Oct 2019 00:07:27 +0530 Subject: [PATCH 149/199] [BAEL-18306-4] - Fix formatting of POMs Part 4 --- persistence-modules/spring-boot-jdbi/pom.xml | 181 +++++++++--------- .../spring-data-eclipselink/pom.xml | 1 - spring-5-security-cognito/pom.xml | 1 - .../greeter-spring-boot-autoconfigure/pom.xml | 15 +- spring-boot-data/pom.xml | 4 +- 5 files changed, 96 insertions(+), 106 deletions(-) diff --git a/persistence-modules/spring-boot-jdbi/pom.xml b/persistence-modules/spring-boot-jdbi/pom.xml index 3f9bc8ab10..e8904492ac 100644 --- a/persistence-modules/spring-boot-jdbi/pom.xml +++ b/persistence-modules/spring-boot-jdbi/pom.xml @@ -1,107 +1,102 @@ - 4.0.0 - com.baeldung.boot.jdbi - spring-boot-jdbi - 0.0.1-SNAPSHOT - spring-boot-jdbi - Sample SpringBoot JDBI Project + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + com.baeldung.boot.jdbi + spring-boot-jdbi + 0.0.1-SNAPSHOT + spring-boot-jdbi + Sample SpringBoot JDBI Project - - parent-modules - com.baeldung - 1.0.0-SNAPSHOT - ../../pom.xml - + + parent-modules + com.baeldung + 1.0.0-SNAPSHOT + ../../pom.xml + + + + + org.springframework.boot + spring-boot-dependencies + 2.1.8.RELEASE + pom + import + - - 1.8 - 3.9.1 - + + org.jdbi + jdbi3-spring4 + ${jdbi.version} + - - - - org.springframework.boot - spring-boot-dependencies - 2.1.8.RELEASE - pom - import - + + org.jdbi + jdbi3-sqlobject + ${jdbi.version} + - - org.jdbi - jdbi3-spring4 - ${jdbi.version} - + + - - org.jdbi - jdbi3-sqlobject - ${jdbi.version} - + + + org.springframework.boot + spring-boot-starter-jdbc + + + + org.jdbi + jdbi3-spring4 + - - + + org.jdbi + jdbi3-sqlobject + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + com.h2database + h2 + runtime + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + - - - org.springframework.boot - spring-boot-starter-jdbc - - - - org.jdbi - jdbi3-spring4 - + + + + org.springframework.boot + spring-boot-maven-plugin + + + - - org.jdbi - jdbi3-sqlobject - - - - - org.springframework.boot - spring-boot-devtools - runtime - true - - - com.h2database - h2 - runtime - - - org.springframework.boot - spring-boot-configuration-processor - true - - - org.projectlombok - lombok - true - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - + + 1.8 + 3.9.1 + diff --git a/persistence-modules/spring-data-eclipselink/pom.xml b/persistence-modules/spring-data-eclipselink/pom.xml index 61c28dc26f..5ca827db7b 100644 --- a/persistence-modules/spring-data-eclipselink/pom.xml +++ b/persistence-modules/spring-data-eclipselink/pom.xml @@ -63,7 +63,6 @@ - 1.5.9.RELEASE 2.7.0 diff --git a/spring-5-security-cognito/pom.xml b/spring-5-security-cognito/pom.xml index 431c9b8d9c..cc6a4a56fb 100644 --- a/spring-5-security-cognito/pom.xml +++ b/spring-5-security-cognito/pom.xml @@ -16,7 +16,6 @@ - org.springframework.boot spring-boot-starter-security diff --git a/spring-boot-custom-starter/greeter-spring-boot-autoconfigure/pom.xml b/spring-boot-custom-starter/greeter-spring-boot-autoconfigure/pom.xml index 74e786be99..4fe92e8e45 100644 --- a/spring-boot-custom-starter/greeter-spring-boot-autoconfigure/pom.xml +++ b/spring-boot-custom-starter/greeter-spring-boot-autoconfigure/pom.xml @@ -4,7 +4,7 @@ com.baeldung greeter-spring-boot-autoconfigure 0.0.1-SNAPSHOT - greeter-spring-boot-autoconfigure + greeter-spring-boot-autoconfigure spring-boot-custom-starter @@ -14,7 +14,6 @@ - org.springframework.boot spring-boot @@ -42,12 +41,11 @@ - org.springframework.boot - spring-boot-starter-test - ${spring-boot.version} - test - - + org.springframework.boot + spring-boot-starter-test + ${spring-boot.version} + test + @@ -68,7 +66,6 @@ UTF-8 1.5.2.RELEASE 0.0.1-SNAPSHOT - \ No newline at end of file diff --git a/spring-boot-data/pom.xml b/spring-boot-data/pom.xml index dc33d9f6ae..4c41eb8e3c 100644 --- a/spring-boot-data/pom.xml +++ b/spring-boot-data/pom.xml @@ -6,12 +6,14 @@ war spring-boot-data Spring Boot Data Module + parent-boot-2 com.baeldung 0.0.1-SNAPSHOT ../parent-boot-2 + org.springframework.boot @@ -49,7 +51,6 @@ spring-boot-starter-test test - @@ -66,7 +67,6 @@ org.apache.maven.plugins maven-war-plugin - pl.project13.maven git-commit-id-plugin From 78fe4134110d7e1b08d747ff1b85ad719333df1e Mon Sep 17 00:00:00 2001 From: amit2103 Date: Mon, 14 Oct 2019 00:19:15 +0530 Subject: [PATCH 150/199] [BAEL-18306-5] - Fix formatting of POMs Part 5 --- .../spring-cloud-stream-kafka/pom.xml | 16 ++- spring-ejb/spring-ejb-remote/pom.xml | 1 - spring-rest-compress/pom.xml | 99 +++++++++---------- spring-security-core/pom.xml | 1 - spring-security-mvc-jsonview/pom.xml | 8 -- spring-security-mvc-socket/pom.xml | 52 +++++----- 6 files changed, 81 insertions(+), 96 deletions(-) diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/pom.xml b/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/pom.xml index 18bc426364..2ba9d55358 100644 --- a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/pom.xml +++ b/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/pom.xml @@ -2,8 +2,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - - spring-cloud-stream-kafka spring-cloud-stream-kafka Simple Spring Cloud Stream @@ -15,13 +13,6 @@ 2.1.5.RELEASE - - 1.8 - Greenwich.SR1 - 4.0.0 - 1.8.2 - - @@ -108,4 +99,11 @@ + + 1.8 + Greenwich.SR1 + 4.0.0 + 1.8.2 + + diff --git a/spring-ejb/spring-ejb-remote/pom.xml b/spring-ejb/spring-ejb-remote/pom.xml index 4a365180f2..633e0387b0 100644 --- a/spring-ejb/spring-ejb-remote/pom.xml +++ b/spring-ejb/spring-ejb-remote/pom.xml @@ -27,7 +27,6 @@ - diff --git a/spring-rest-compress/pom.xml b/spring-rest-compress/pom.xml index d5afc5708d..ca00bdc659 100644 --- a/spring-rest-compress/pom.xml +++ b/spring-rest-compress/pom.xml @@ -1,66 +1,65 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + com.baeldung + spring-rest-compress + 0.0.1-SNAPSHOT + spring-rest-compress + parent-boot-2 com.baeldung 0.0.1-SNAPSHOT ../parent-boot-2 - com.baeldung - spring-rest-compress - 0.0.1-SNAPSHOT - spring-rest-compress - - 1.8 - 2.6 - + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-tomcat + + + - + + org.springframework.boot + spring-boot-starter-jetty + - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-tomcat - - - + + org.apache.httpcomponents + httpclient + - - org.springframework.boot - spring-boot-starter-jetty - + + commons-io + commons-io + ${commons-io.version} + - - org.apache.httpcomponents - httpclient - + + org.springframework.boot + spring-boot-starter-test + test + + - - commons-io - commons-io - ${commons-io.version} - - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + 1.8 + 2.6 + diff --git a/spring-security-core/pom.xml b/spring-security-core/pom.xml index b144357e25..00d12ed7d2 100644 --- a/spring-security-core/pom.xml +++ b/spring-security-core/pom.xml @@ -4,7 +4,6 @@ com.baeldung spring-security-core 0.1-SNAPSHOT - spring-security-core war diff --git a/spring-security-mvc-jsonview/pom.xml b/spring-security-mvc-jsonview/pom.xml index a7f668ae8b..c21978203c 100644 --- a/spring-security-mvc-jsonview/pom.xml +++ b/spring-security-mvc-jsonview/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung spring-security-mvc-jsonview 0.1-SNAPSHOT @@ -16,7 +15,6 @@ - com.fasterxml.jackson.core jackson-core @@ -142,7 +140,6 @@ ${json-path.version} test - @@ -153,9 +150,7 @@ true - - org.apache.maven.plugins maven-war-plugin @@ -200,15 +195,12 @@ - - 1.6.1 2.4.0 - \ No newline at end of file diff --git a/spring-security-mvc-socket/pom.xml b/spring-security-mvc-socket/pom.xml index f799a7fa9f..96031e02f7 100644 --- a/spring-security-mvc-socket/pom.xml +++ b/spring-security-mvc-socket/pom.xml @@ -2,7 +2,6 @@ 4.0.0 - com.baeldung.springsecuredsockets spring-security-mvc-socket 1.0.0 @@ -151,35 +150,34 @@ - org.springframework.boot - spring-boot-starter-test - 1.5.10.RELEASE - test - + org.springframework.boot + spring-boot-starter-test + 1.5.10.RELEASE + test + - - - - org.apache.tomcat.maven - tomcat7-maven-plugin - 2.2 - - /spring-security-mvc-socket - - - - org.apache.maven.plugins - maven-war-plugin - 3.0.0 - - src/main/webapp - false - - - - spring-security-mvc-socket + spring-security-mvc-socket + + + org.apache.tomcat.maven + tomcat7-maven-plugin + 2.2 + + /spring-security-mvc-socket + + + + org.apache.maven.plugins + maven-war-plugin + 3.0.0 + + src/main/webapp + false + + + From 104f935120710bd0d93051bd214236edd0f31a63 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Sun, 13 Oct 2019 21:30:33 +0200 Subject: [PATCH 151/199] #BAEL-18260 Attempt to update deeplearning4j version (the two examples used two different versions) --- .../baeldung/deeplearning4j/IrisClassifier.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/deeplearning4j/src/main/java/com/baeldung/deeplearning4j/IrisClassifier.java b/deeplearning4j/src/main/java/com/baeldung/deeplearning4j/IrisClassifier.java index bf341209e1..b9c794650e 100644 --- a/deeplearning4j/src/main/java/com/baeldung/deeplearning4j/IrisClassifier.java +++ b/deeplearning4j/src/main/java/com/baeldung/deeplearning4j/IrisClassifier.java @@ -3,15 +3,16 @@ package com.baeldung.deeplearning4j; import org.datavec.api.records.reader.RecordReader; import org.datavec.api.records.reader.impl.csv.CSVRecordReader; import org.datavec.api.split.FileSplit; -import org.datavec.api.util.ClassPathResource; import org.deeplearning4j.datasets.datavec.RecordReaderDataSetIterator; -import org.deeplearning4j.eval.Evaluation; +import org.deeplearning4j.nn.conf.BackpropType; import org.deeplearning4j.nn.conf.MultiLayerConfiguration; import org.deeplearning4j.nn.conf.NeuralNetConfiguration; import org.deeplearning4j.nn.conf.layers.DenseLayer; import org.deeplearning4j.nn.conf.layers.OutputLayer; import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; import org.deeplearning4j.nn.weights.WeightInit; +import org.deeplearning4j.util.NetworkUtils; +import org.nd4j.evaluation.classification.Evaluation; import org.nd4j.linalg.activations.Activation; import org.nd4j.linalg.api.ndarray.INDArray; import org.nd4j.linalg.dataset.DataSet; @@ -19,6 +20,7 @@ import org.nd4j.linalg.dataset.SplitTestAndTrain; import org.nd4j.linalg.dataset.api.iterator.DataSetIterator; import org.nd4j.linalg.dataset.api.preprocessor.DataNormalization; import org.nd4j.linalg.dataset.api.preprocessor.NormalizerStandardize; +import org.nd4j.linalg.io.ClassPathResource; import org.nd4j.linalg.lossfunctions.LossFunctions; import java.io.IOException; @@ -49,11 +51,11 @@ public class IrisClassifier { DataSet testData = testAndTrain.getTest(); MultiLayerConfiguration configuration = new NeuralNetConfiguration.Builder() - .iterations(1000) + .maxNumLineSearchIterations(1000) .activation(Activation.TANH) .weightInit(WeightInit.XAVIER) - .learningRate(0.1) - .regularization(true).l2(0.0001) + //.regularization(true) + .l2(0.0001) .list() .layer(0, new DenseLayer.Builder().nIn(FEATURES_COUNT).nOut(3) .build()) @@ -62,14 +64,15 @@ public class IrisClassifier { .layer(2, new OutputLayer.Builder(LossFunctions.LossFunction.NEGATIVELOGLIKELIHOOD) .activation(Activation.SOFTMAX) .nIn(3).nOut(CLASSES_COUNT).build()) - .backprop(true).pretrain(false) + .backpropType(BackpropType.Standard)//.pretrain(false) .build(); MultiLayerNetwork model = new MultiLayerNetwork(configuration); model.init(); + NetworkUtils.setLearningRate(model, 0.1); model.fit(trainingData); - INDArray output = model.output(testData.getFeatureMatrix()); + INDArray output = model.output(testData.getFeatures()); Evaluation eval = new Evaluation(CLASSES_COUNT); eval.eval(testData.getLabels(), output); From 0b4a228333ad54dddf4d6ca66020af803aa0e83e Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Sun, 13 Oct 2019 21:39:18 +0200 Subject: [PATCH 152/199] #BAEL-16646 comment out Java 9 modules - fix the build --- pom.xml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 3fae6829c7..11a0902317 100644 --- a/pom.xml +++ b/pom.xml @@ -393,8 +393,8 @@ core-java-modules/core-java-streams core-java-modules/core-java-function core-java-modules/core-java-lang-math - core-java-modules/core-java-datetime-conversion - core-java-modules/core-java-datetime-string + + core-java-modules/core-java-text core-java-modules/core-java-lambdas @@ -482,7 +482,6 @@ java-collections-maps java-collections-maps-2 java-jdi - java-lite @@ -1153,8 +1152,8 @@ core-java-modules/core-java-streams core-java-modules/core-java-function core-java-modules/core-java-lang-math - core-java-modules/core-java-datetime-conversion - core-java-modules/core-java-datetime-string + + core-java-modules/core-java-text From 0b7a7f6221510471cf09fc5d6248cbe80e7da117 Mon Sep 17 00:00:00 2001 From: Lukasz Rys <> Date: Sun, 13 Oct 2019 23:06:40 +0200 Subject: [PATCH 153/199] [ BAEL-3322 ]: Update --- .../com/baeldung/jimfs/FilePathReader.java | 17 +++++++ .../com/baeldung/jimfs/FileRepository.java | 2 +- .../jimfs/FileManipulationUnitTest.java | 14 +++--- .../baeldung/jimfs/FilePathReaderTest.java | 48 +++++++++++++++++++ .../jimfs/FileRepositoryUnitTest.java | 37 ++++++-------- 5 files changed, 87 insertions(+), 31 deletions(-) create mode 100644 testing-modules/mocks/src/main/java/com/baeldung/jimfs/FilePathReader.java create mode 100644 testing-modules/mocks/src/test/java/com/baeldung/jimfs/FilePathReaderTest.java diff --git a/testing-modules/mocks/src/main/java/com/baeldung/jimfs/FilePathReader.java b/testing-modules/mocks/src/main/java/com/baeldung/jimfs/FilePathReader.java new file mode 100644 index 0000000000..3504207125 --- /dev/null +++ b/testing-modules/mocks/src/main/java/com/baeldung/jimfs/FilePathReader.java @@ -0,0 +1,17 @@ +package com.baeldung.jimfs; + +import java.io.IOException; +import java.io.UncheckedIOException; +import java.nio.file.Path; + +class FilePathReader { + String getSystemPath(Path path) { + try { + return path + .toRealPath() + .toString(); + } catch (IOException ex) { + throw new UncheckedIOException(ex); + } + } +} diff --git a/testing-modules/mocks/src/main/java/com/baeldung/jimfs/FileRepository.java b/testing-modules/mocks/src/main/java/com/baeldung/jimfs/FileRepository.java index 7db4941bd3..55bd87ee81 100644 --- a/testing-modules/mocks/src/main/java/com/baeldung/jimfs/FileRepository.java +++ b/testing-modules/mocks/src/main/java/com/baeldung/jimfs/FileRepository.java @@ -33,7 +33,7 @@ public class FileRepository { } } - void delete (final Path path){ + void delete(final Path path) { try { Files.deleteIfExists(path); } catch (final IOException ex) { diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileManipulationUnitTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileManipulationUnitTest.java index 63aaf5e571..a7cb8e53c6 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileManipulationUnitTest.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileManipulationUnitTest.java @@ -12,19 +12,17 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.stream.Stream; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; class FileManipulationUnitTest implements FileTestProvider { - private static Stream provideFileSystem() { - return Stream.of( - Arguments.of(Jimfs.newFileSystem(Configuration.unix())), - Arguments.of(Jimfs.newFileSystem(Configuration.windows())), - Arguments.of(Jimfs.newFileSystem(Configuration.osX()))); - } - private final FileManipulation fileManipulation = new FileManipulation(); + private static Stream provideFileSystem() { + return Stream.of(Arguments.of(Jimfs.newFileSystem(Configuration.unix())), Arguments.of(Jimfs.newFileSystem(Configuration.windows())), Arguments.of(Jimfs.newFileSystem(Configuration.osX()))); + } + @ParameterizedTest @DisplayName("Should create a file on a file system") @MethodSource("provideFileSystem") diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FilePathReaderTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FilePathReaderTest.java new file mode 100644 index 0000000000..8a52bd3443 --- /dev/null +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FilePathReaderTest.java @@ -0,0 +1,48 @@ +package com.baeldung.jimfs; + +import com.google.common.jimfs.Configuration; +import com.google.common.jimfs.Jimfs; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import java.nio.file.FileSystem; +import java.nio.file.Files; +import java.nio.file.Path; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class FilePathReaderTest { + + private static String DIRECTORY_NAME = "baeldung"; + + private FilePathReader filePathReader = new FilePathReader(); + + @Test + @DisplayName("Should get path on windows") + void shouldGetPath_onWindows() throws Exception { + FileSystem fileSystem = Jimfs.newFileSystem(Configuration.windows()); + Path path = getPathToFile(fileSystem); + + String stringPath = filePathReader.getSystemPath(path); + + assertEquals("C:\\work\\" + DIRECTORY_NAME, stringPath); + } + + @Test + @DisplayName("Should get path on unix") + void shouldGetPath_onUnix() throws Exception { + FileSystem fileSystem = Jimfs.newFileSystem(Configuration.unix()); + Path path = getPathToFile(fileSystem); + + String stringPath = filePathReader.getSystemPath(path); + + assertEquals("/work/" + DIRECTORY_NAME, stringPath); + } + + private Path getPathToFile(FileSystem fileSystem) throws Exception { + Path path = fileSystem.getPath(DIRECTORY_NAME); + Files.createDirectory(path); + + return path; + } +} \ No newline at end of file diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java index 4d592abf70..ebb95e79ac 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java @@ -3,14 +3,11 @@ package com.baeldung.jimfs; import com.google.common.jimfs.Configuration; import com.google.common.jimfs.Jimfs; import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.Arguments; -import org.junit.jupiter.params.provider.MethodSource; +import org.junit.jupiter.api.Test; import java.nio.file.FileSystem; import java.nio.file.Files; import java.nio.file.Path; -import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.*; @@ -18,14 +15,10 @@ class FileRepositoryUnitTest implements FileTestProvider { private final FileRepository fileRepository = new FileRepository(); - private static Stream provideFileSystem() { - return Stream.of(Arguments.of(Jimfs.newFileSystem(Configuration.unix())), Arguments.of(Jimfs.newFileSystem(Configuration.windows())), Arguments.of(Jimfs.newFileSystem(Configuration.osX()))); - } - - @ParameterizedTest + @Test @DisplayName("Should create a file on a file system") - @MethodSource("provideFileSystem") - void shouldCreateFile(final FileSystem fileSystem) throws Exception { + void shouldCreateFile() { + final FileSystem fileSystem = Jimfs.newFileSystem(Configuration.unix()); final String fileName = "newFile.txt"; final Path pathToStore = fileSystem.getPath(""); @@ -34,10 +27,10 @@ class FileRepositoryUnitTest implements FileTestProvider { assertTrue(Files.exists(pathToStore.resolve(fileName))); } - @ParameterizedTest + @Test @DisplayName("Should read the content of the file") - @MethodSource("provideFileSystem") - void shouldReadFileContent_thenReturnIt(final FileSystem fileSystem) throws Exception { + void shouldReadFileContent_thenReturnIt() throws Exception { + final FileSystem fileSystem = Jimfs.newFileSystem(Configuration.osX()); final Path resourceFilePath = fileSystem.getPath(RESOURCE_FILE_NAME); Files.copy(getResourceFilePath(), resourceFilePath); @@ -46,10 +39,10 @@ class FileRepositoryUnitTest implements FileTestProvider { assertEquals(FILE_CONTENT, content); } - @ParameterizedTest - @DisplayName("Should update content of the file") - @MethodSource("provideFileSystem") - void shouldUpdateContentOfTheFile(final FileSystem fileSystem) throws Exception { + @Test + @DisplayName("Should update the content of the file") + void shouldUpdateContentOfTheFile() throws Exception { + final FileSystem fileSystem = Jimfs.newFileSystem(Configuration.windows()); final Path resourceFilePath = fileSystem.getPath(RESOURCE_FILE_NAME); Files.copy(getResourceFilePath(), resourceFilePath); final String newContent = "I'm updating you."; @@ -60,10 +53,10 @@ class FileRepositoryUnitTest implements FileTestProvider { assertEquals(newContent, fileRepository.read(resourceFilePath)); } - @ParameterizedTest - @DisplayName("Should update delete file") - @MethodSource("provideFileSystem") - void shouldDeleteFile(final FileSystem fileSystem) throws Exception { + @Test + @DisplayName("Should delete file") + void shouldDeleteFile() throws Exception { + final FileSystem fileSystem = Jimfs.newFileSystem(); final Path resourceFilePath = fileSystem.getPath(RESOURCE_FILE_NAME); Files.copy(getResourceFilePath(), resourceFilePath); From 3e119f26d23def16e34b2299d11382d1c4864cc3 Mon Sep 17 00:00:00 2001 From: Jonathan Cook Date: Sun, 13 Oct 2019 23:40:45 +0200 Subject: [PATCH 154/199] Update README.md --- spring-5-reactive-client/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/spring-5-reactive-client/README.md b/spring-5-reactive-client/README.md index 90d12cad1c..1724db9e66 100644 --- a/spring-5-reactive-client/README.md +++ b/spring-5-reactive-client/README.md @@ -6,4 +6,5 @@ This module contains articles about reactive Spring 5 WebClient The "REST With Spring" Classes: http://bit.ly/restwithspring ### Relevant Articles +- [Simultaneous Spring WebClient Calls](https://www.baeldung.com/spring-webclient-simultaneous-calls) From e6ff0cd990d30d21544f33f9c38df7f223c664e6 Mon Sep 17 00:00:00 2001 From: Lukasz Rys <> Date: Mon, 14 Oct 2019 00:25:27 +0200 Subject: [PATCH 155/199] [ BAEL-3322 ] : Fix test name --- ...rTest.java => FilePathReaderUnitTest.java} | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) rename testing-modules/mocks/src/test/java/com/baeldung/jimfs/{FilePathReaderTest.java => FilePathReaderUnitTest.java} (51%) diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FilePathReaderTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FilePathReaderUnitTest.java similarity index 51% rename from testing-modules/mocks/src/test/java/com/baeldung/jimfs/FilePathReaderTest.java rename to testing-modules/mocks/src/test/java/com/baeldung/jimfs/FilePathReaderUnitTest.java index 8a52bd3443..e5326fc84c 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FilePathReaderTest.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FilePathReaderUnitTest.java @@ -11,19 +11,19 @@ import java.nio.file.Path; import static org.junit.jupiter.api.Assertions.assertEquals; -class FilePathReaderTest { +class FilePathReaderUnitTest { - private static String DIRECTORY_NAME = "baeldung"; + private static final String DIRECTORY_NAME = "baeldung"; - private FilePathReader filePathReader = new FilePathReader(); + private final FilePathReader filePathReader = new FilePathReader(); @Test @DisplayName("Should get path on windows") void shouldGetPath_onWindows() throws Exception { - FileSystem fileSystem = Jimfs.newFileSystem(Configuration.windows()); - Path path = getPathToFile(fileSystem); + final FileSystem fileSystem = Jimfs.newFileSystem(Configuration.windows()); + final Path path = getPathToFile(fileSystem); - String stringPath = filePathReader.getSystemPath(path); + final String stringPath = filePathReader.getSystemPath(path); assertEquals("C:\\work\\" + DIRECTORY_NAME, stringPath); } @@ -31,16 +31,16 @@ class FilePathReaderTest { @Test @DisplayName("Should get path on unix") void shouldGetPath_onUnix() throws Exception { - FileSystem fileSystem = Jimfs.newFileSystem(Configuration.unix()); - Path path = getPathToFile(fileSystem); + final FileSystem fileSystem = Jimfs.newFileSystem(Configuration.unix()); + final Path path = getPathToFile(fileSystem); - String stringPath = filePathReader.getSystemPath(path); + final String stringPath = filePathReader.getSystemPath(path); assertEquals("/work/" + DIRECTORY_NAME, stringPath); } - private Path getPathToFile(FileSystem fileSystem) throws Exception { - Path path = fileSystem.getPath(DIRECTORY_NAME); + private Path getPathToFile(final FileSystem fileSystem) throws Exception { + final Path path = fileSystem.getPath(DIRECTORY_NAME); Files.createDirectory(path); return path; From fe0f0a1511bde1af224daeb52d5969163074f19c Mon Sep 17 00:00:00 2001 From: catalin-burcea Date: Mon, 14 Oct 2019 17:20:59 +0300 Subject: [PATCH 156/199] minor readme update --- core-java-modules/core-java-string-conversions/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core-java-modules/core-java-string-conversions/README.md b/core-java-modules/core-java-string-conversions/README.md index 251851e8ac..849660e482 100644 --- a/core-java-modules/core-java-string-conversions/README.md +++ b/core-java-modules/core-java-string-conversions/README.md @@ -13,5 +13,4 @@ This module contains articles about string conversions from/to another type. - [Converting Java String to Double](https://www.baeldung.com/java-string-to-double) - [Convert Char to String in Java](https://www.baeldung.com/java-convert-char-to-string) - [Convert String to int or Integer in Java](https://www.baeldung.com/java-convert-string-to-int-or-integer) -- More articles: [[next -->]](/core-java-string-conversions-2) -"Counting Words in a String \ No newline at end of file +- More articles: [[next -->]](/core-java-string-conversions-2) \ No newline at end of file From a950bd82a229ea6e77fd143e2ccbc17440647571 Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Mon, 14 Oct 2019 20:31:04 +0530 Subject: [PATCH 157/199] BAEL-17684 Cleanup pom properties --- blade/pom.xml | 50 +-- bootique/pom.xml | 6 - cas/cas-server/.factorypath | 291 ++++++++++-------- cas/cas-server/pom.xml | 1 - cdi/pom.xml | 6 - checker-plugin/pom.xml | 1 - .../cf-uaa-oauth2-client/pom.xml | 1 - .../cf-uaa-oauth2-resource-server/pom.xml | 1 - code-generation/pom.xml | 1 - core-groovy-2/pom.xml | 2 - core-groovy/pom.xml | 3 - core-java-modules/core-java-8-2/pom.xml | 18 -- core-java-modules/core-java-8/pom.xml | 93 +----- .../core-java-annotations/pom.xml | 46 --- core-java-modules/core-java-arrays-2/pom.xml | 1 - core-java-modules/core-java-arrays/pom.xml | 33 -- .../core-java-collections-2/pom.xml | 1 - .../core-java-collections-array-list/pom.xml | 12 - .../core-java-collections-list-2/pom.xml | 12 - .../core-java-collections-list-3/pom.xml | 12 - .../core-java-collections-list/pom.xml | 7 - .../core-java-collections-set/pom.xml | 6 - .../core-java-collections/pom.xml | 6 - .../core-java-concurrency-basic-2/pom.xml | 4 - .../core-java-concurrency-basic/pom.xml | 1 - .../core-java-concurrency-collections/pom.xml | 33 -- core-java-modules/core-java-datetime/pom.xml | 19 -- core-java-modules/core-java-function/pom.xml | 9 - core-java-modules/core-java-io-files/pom.xml | 164 ---------- core-java-modules/core-java-io/pom.xml | 136 -------- core-java-modules/core-java-jvm/pom.xml | 24 -- core-java-modules/core-java-lang-2/pom.xml | 1 - core-java-modules/core-java-lang-math/pom.xml | 9 - .../core-java-lang-oop-2/pom.xml | 2 - .../core-java-lang-oop-3/pom.xml | 1 - core-java-modules/core-java-lang-oop/pom.xml | 18 -- .../core-java-lang-operators/pom.xml | 1 - .../core-java-lang-syntax-2/pom.xml | 1 - .../core-java-lang-syntax/pom.xml | 1 - core-java-modules/core-java-lang/pom.xml | 45 --- .../core-java-networking/pom.xml | 5 - core-java-modules/core-java-optional/pom.xml | 18 -- core-java-modules/core-java-perf/pom.xml | 10 - .../core-java-security-manager/pom.xml | 20 -- core-java-modules/core-java-security/pom.xml | 6 - core-java-modules/core-java-streams/pom.xml | 14 - core-java-modules/core-java-sun/pom.xml | 171 ---------- core-java-modules/core-java-text/pom.xml | 6 - core-java-modules/core-java/pom.xml | 68 +--- core-java-modules/pre-jpms/pom.xml | 3 - 50 files changed, 166 insertions(+), 1234 deletions(-) diff --git a/blade/pom.xml b/blade/pom.xml index 37615bed01..6f8a78852d 100644 --- a/blade/pom.xml +++ b/blade/pom.xml @@ -3,19 +3,14 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 - - com.baeldung blade - 1.0.0-SNAPSHOT blade - - - - - - - + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + @@ -45,12 +40,6 @@ - - junit - junit - ${junit.version} - test - org.assertj assertj-core @@ -79,20 +68,6 @@ sample-blade-app - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - 3 - true - - **/*LiveTest.java - - - - org.apache.maven.plugins maven-failsafe-plugin @@ -172,34 +147,19 @@ - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - ${maven.compiler.source} - ${maven.compiler.target} - UTF-8 - - - 1.8 - 1.8 2.0.14.RELEASE 4.2.1 3.8.1 1.18.4 - 4.12 4.5.6 4.5.6 4.4.10 3.11.1 3.0.0-M3 0.7 - 2.21.0 - 3.7.0 diff --git a/bootique/pom.xml b/bootique/pom.xml index 4dd9ba4833..7601321b99 100644 --- a/bootique/pom.xml +++ b/bootique/pom.xml @@ -42,12 +42,6 @@ bootique-test test - - junit - junit - ${junit.version} - test - diff --git a/cas/cas-server/.factorypath b/cas/cas-server/.factorypath index 006c761796..f8cf0fe705 100644 --- a/cas/cas-server/.factorypath +++ b/cas/cas-server/.factorypath @@ -1,12 +1,11 @@ - - - - - - - - + + + + + + + @@ -15,7 +14,7 @@ - + @@ -27,13 +26,13 @@ - + - + @@ -42,136 +41,135 @@ - - - - - + + + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - + + + - + - - + + - - - - - - + + + + + - + - - + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - + + + + + + - + - - - + + + - - - - - - - + + + + + + + - + - + - - + + + + @@ -179,35 +177,34 @@ - - - - - - + + + + + + - - - + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + - + @@ -217,12 +214,40 @@ - - - - - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cas/cas-server/pom.xml b/cas/cas-server/pom.xml index 98f5f10493..8a1e602114 100644 --- a/cas/cas-server/pom.xml +++ b/cas/cas-server/pom.xml @@ -198,7 +198,6 @@ 0.0.4 2.6 - 3.3 0.3.0 1.1.0 diff --git a/cdi/pom.xml b/cdi/pom.xml index c98ad57495..809622a5db 100644 --- a/cdi/pom.xml +++ b/cdi/pom.xml @@ -36,12 +36,6 @@ ${assertj-core.version} test - - junit - junit - ${junit.version} - test - org.springframework spring-context diff --git a/checker-plugin/pom.xml b/checker-plugin/pom.xml index 08408366a4..63def4dbdc 100644 --- a/checker-plugin/pom.xml +++ b/checker-plugin/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung checker-plugin 1.0-SNAPSHOT checker-plugin diff --git a/cloud-foundry-uaa/cf-uaa-oauth2-client/pom.xml b/cloud-foundry-uaa/cf-uaa-oauth2-client/pom.xml index c6de00dbe9..fe1b919905 100644 --- a/cloud-foundry-uaa/cf-uaa-oauth2-client/pom.xml +++ b/cloud-foundry-uaa/cf-uaa-oauth2-client/pom.xml @@ -4,7 +4,6 @@ 4.0.0 com.example cf-uaa-oauth2-client - 0.0.1-SNAPSHOT uaa-client-webapp Demo project for Spring Boot diff --git a/cloud-foundry-uaa/cf-uaa-oauth2-resource-server/pom.xml b/cloud-foundry-uaa/cf-uaa-oauth2-resource-server/pom.xml index 56fb23e9d8..7cd47bb7b3 100644 --- a/cloud-foundry-uaa/cf-uaa-oauth2-resource-server/pom.xml +++ b/cloud-foundry-uaa/cf-uaa-oauth2-resource-server/pom.xml @@ -4,7 +4,6 @@ 4.0.0 com.baeldung.cfuaa cf-uaa-oauth2-resource-server - 0.0.1-SNAPSHOT cf-uaa-oauth2-resource-server Demo project for Spring Boot diff --git a/code-generation/pom.xml b/code-generation/pom.xml index 7aefc1b5b3..b52e558b53 100644 --- a/code-generation/pom.xml +++ b/code-generation/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung code-generation 1.0 code-generation diff --git a/core-groovy-2/pom.xml b/core-groovy-2/pom.xml index 91e31d4cba..08526bac9a 100644 --- a/core-groovy-2/pom.xml +++ b/core-groovy-2/pom.xml @@ -181,10 +181,8 @@ 2.4.0 1.1-groovy-2.4 1.1.3 - 3.8.1 1.2.3 2.5.7 - UTF-8 diff --git a/core-groovy/pom.xml b/core-groovy/pom.xml index 029e5460ab..80d6f8d2d5 100644 --- a/core-groovy/pom.xml +++ b/core-groovy/pom.xml @@ -109,9 +109,6 @@ 1.0.0 - - - 2.5.6 2.5.6 2.5.6 diff --git a/core-java-modules/core-java-8-2/pom.xml b/core-java-modules/core-java-8-2/pom.xml index 07bb3b7543..269631e0dd 100644 --- a/core-java-modules/core-java-8-2/pom.xml +++ b/core-java-modules/core-java-8-2/pom.xml @@ -3,7 +3,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.baeldung core-java-8-2 0.1.0-SNAPSHOT core-java-8-2 @@ -30,24 +29,7 @@ - - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - ${maven.compiler.source} - ${maven.compiler.target} - - - - - - UTF-8 - 1.8 - 1.8 64.2 3.12.2 diff --git a/core-java-modules/core-java-8/pom.xml b/core-java-modules/core-java-8/pom.xml index 9ef3cd1201..074359ae54 100644 --- a/core-java-modules/core-java-8/pom.xml +++ b/core-java-modules/core-java-8/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-8 0.1.0-SNAPSHOT core-java-8 @@ -20,31 +19,11 @@ commons-collections4 ${commons-collections4.version} - - commons-io - commons-io - ${commons-io.version} - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - org.apache.commons - commons-math3 - ${commons-math3.version} - log4j log4j ${log4j.version} - - commons-codec - commons-codec - ${commons-codec.version} - org.projectlombok lombok @@ -58,64 +37,6 @@ ${assertj.version} test - - com.jayway.awaitility - awaitility - ${avaitility.version} - test - - - org.openjdk.jmh - jmh-core - ${jmh-core.version} - - - org.openjdk.jmh - jmh-generator-annprocess - ${jmh-generator.version} - - - org.openjdk.jmh - jmh-generator-bytecode - ${jmh-generator.version} - - - com.codepoetics - protonpack - ${protonpack.version} - - - io.vavr - vavr - ${vavr.version} - - - joda-time - joda-time - ${joda.version} - - - org.aspectj - aspectjrt - ${asspectj.version} - - - org.aspectj - aspectjweaver - ${asspectj.version} - - - org.powermock - powermock-module-junit4 - ${powermock.version} - test - - - org.powermock - powermock-api-mockito2 - ${powermock.version} - test - @@ -149,22 +70,10 @@ - 3.6.1 4.1 - 4.01 - 1.10 - 0.9.0 - 1.13 - 2.10 3.6.1 - 1.8.9 - 2.0.0-RC.4 - 1.7.0 - 1.19 - 1.19 - 2.0.4.RELEASE - 2.22.1 + 2.0.4.RELEASE diff --git a/core-java-modules/core-java-annotations/pom.xml b/core-java-modules/core-java-annotations/pom.xml index 7d7d7d4f7e..92b5afbd47 100644 --- a/core-java-modules/core-java-annotations/pom.xml +++ b/core-java-modules/core-java-annotations/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-annotations 0.1.0-SNAPSHOT core-java-annotations @@ -14,42 +13,6 @@ ../../parent-java - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - org.projectlombok - lombok - ${lombok.version} - provided - - - - org.assertj - assertj-core - ${assertj.version} - test - - - org.openjdk.jmh - jmh-core - ${jmh-core.version} - - - org.openjdk.jmh - jmh-generator-annprocess - ${jmh-generator.version} - - - org.openjdk.jmh - jmh-generator-bytecode - ${jmh-generator.version} - - - core-java-annotations @@ -60,13 +23,4 @@ - - - 3.6.1 - 1.8.9 - 1.19 - 1.19 - - 2.22.1 - diff --git a/core-java-modules/core-java-arrays-2/pom.xml b/core-java-modules/core-java-arrays-2/pom.xml index bfe8a349e1..a1da169f2f 100644 --- a/core-java-modules/core-java-arrays-2/pom.xml +++ b/core-java-modules/core-java-arrays-2/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-arrays-2 0.1.0-SNAPSHOT core-java-arrays-2 diff --git a/core-java-modules/core-java-arrays/pom.xml b/core-java-modules/core-java-arrays/pom.xml index 23db608abc..ca4e262ff9 100644 --- a/core-java-modules/core-java-arrays/pom.xml +++ b/core-java-modules/core-java-arrays/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-arrays 0.1.0-SNAPSHOT core-java-arrays @@ -20,16 +19,6 @@ commons-lang3 ${commons-lang3.version} - - log4j - log4j - ${log4j.version} - - - org.slf4j - log4j-over-slf4j - ${org.slf4j.version} - org.assertj @@ -47,11 +36,6 @@ jmh-generator-annprocess ${jmh-generator-annprocess.version} - - org.springframework - spring-web - ${springframework.spring-web.version} - @@ -64,21 +48,6 @@ - - org.apache.maven.plugins - maven-surefire-plugin - - - **/*LiveTest.java - **/*IntegrationTest.java - **/*IntTest.java - **/*LongRunningUnitTest.java - **/*ManualTest.java - - true - - - org.apache.maven.plugins maven-dependency-plugin @@ -398,8 +367,6 @@ 3.10.0 - 2.21.0 - 4.3.4.RELEASE 3.0.0-M1 3.0.2 1.4.4 diff --git a/core-java-modules/core-java-collections-2/pom.xml b/core-java-modules/core-java-collections-2/pom.xml index 0ac53ec180..217c1d9258 100644 --- a/core-java-modules/core-java-collections-2/pom.xml +++ b/core-java-modules/core-java-collections-2/pom.xml @@ -2,7 +2,6 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 core-java-collections-2 - 0.0.1-SNAPSHOT core-java-collections-2 jar diff --git a/core-java-modules/core-java-collections-array-list/pom.xml b/core-java-modules/core-java-collections-array-list/pom.xml index 95a5f3ea36..249103152a 100644 --- a/core-java-modules/core-java-collections-array-list/pom.xml +++ b/core-java-modules/core-java-collections-array-list/pom.xml @@ -19,28 +19,16 @@ commons-collections4 ${commons-collections4.version} - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - org.assertj assertj-core ${assertj.version} test - - org.projectlombok - lombok - ${lombok.version} - provided - 4.1 - 3.8.1 3.11.1 diff --git a/core-java-modules/core-java-collections-list-2/pom.xml b/core-java-modules/core-java-collections-list-2/pom.xml index 727de0818a..a943c29f51 100644 --- a/core-java-modules/core-java-collections-list-2/pom.xml +++ b/core-java-modules/core-java-collections-list-2/pom.xml @@ -14,16 +14,6 @@ - - org.apache.commons - commons-collections4 - ${commons-collections4.version} - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - org.assertj assertj-core @@ -39,8 +29,6 @@ - 4.1 - 3.8.1 3.11.1 diff --git a/core-java-modules/core-java-collections-list-3/pom.xml b/core-java-modules/core-java-collections-list-3/pom.xml index 064b65d19e..dab5058cd3 100644 --- a/core-java-modules/core-java-collections-list-3/pom.xml +++ b/core-java-modules/core-java-collections-list-3/pom.xml @@ -19,23 +19,12 @@ commons-collections4 ${commons-collections4.version} - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - org.assertj assertj-core ${assertj.version} test - - org.projectlombok - lombok - ${lombok.version} - provided - net.sf.trove4j @@ -67,7 +56,6 @@ 4.1 - 3.8.1 3.11.1 3.0.2 8.1.0 diff --git a/core-java-modules/core-java-collections-list/pom.xml b/core-java-modules/core-java-collections-list/pom.xml index 581505dc1e..c8e881110e 100644 --- a/core-java-modules/core-java-collections-list/pom.xml +++ b/core-java-modules/core-java-collections-list/pom.xml @@ -30,18 +30,11 @@ ${assertj.version} test - - org.projectlombok - lombok - ${lombok.version} - provided - 4.1 3.8.1 3.11.1 - 3.0.2 diff --git a/core-java-modules/core-java-collections-set/pom.xml b/core-java-modules/core-java-collections-set/pom.xml index 101ed79de0..1dd1e06ca1 100644 --- a/core-java-modules/core-java-collections-set/pom.xml +++ b/core-java-modules/core-java-collections-set/pom.xml @@ -14,11 +14,6 @@ - - com.google.guava - guava - ${guava.version} - org.apache.commons commons-collections4 @@ -38,7 +33,6 @@ 4.3 - 27.1-jre 2.8.5 \ No newline at end of file diff --git a/core-java-modules/core-java-collections/pom.xml b/core-java-modules/core-java-collections/pom.xml index 7fd702845b..62b42b53e7 100644 --- a/core-java-modules/core-java-collections/pom.xml +++ b/core-java-modules/core-java-collections/pom.xml @@ -30,12 +30,6 @@ jmh-generator-annprocess ${openjdk.jmh.version} - - org.projectlombok - lombok - ${lombok.version} - provided - diff --git a/core-java-modules/core-java-concurrency-basic-2/pom.xml b/core-java-modules/core-java-concurrency-basic-2/pom.xml index 7e0a160456..396447ff75 100644 --- a/core-java-modules/core-java-concurrency-basic-2/pom.xml +++ b/core-java-modules/core-java-concurrency-basic-2/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-concurrency-basic-2 0.1.0-SNAPSHOT core-java-concurrency-basic-2 @@ -27,7 +26,4 @@ - - - diff --git a/core-java-modules/core-java-concurrency-basic/pom.xml b/core-java-modules/core-java-concurrency-basic/pom.xml index 96b3ef76f7..93b8523eb4 100644 --- a/core-java-modules/core-java-concurrency-basic/pom.xml +++ b/core-java-modules/core-java-concurrency-basic/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-concurrency-basic 0.1.0-SNAPSHOT core-java-concurrency-basic diff --git a/core-java-modules/core-java-concurrency-collections/pom.xml b/core-java-modules/core-java-concurrency-collections/pom.xml index ea3bbe44f3..0d3a6042ac 100644 --- a/core-java-modules/core-java-concurrency-collections/pom.xml +++ b/core-java-modules/core-java-concurrency-collections/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-concurrency-collections 0.1.0-SNAPSHOT core-java-concurrency-collections @@ -15,38 +14,12 @@ - - org.apache.commons - commons-collections4 - ${commons-collections4.version} - - - commons-io - commons-io - ${commons-io.version} - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - org.apache.commons - commons-math3 - ${commons-math3.version} - org.assertj assertj-core ${assertj.version} test - - com.jayway.awaitility - awaitility - ${avaitility.version} - test - @@ -60,14 +33,8 @@ - - 21.0 - 3.6.1 - 4.1 - 4.01 3.6.1 - 1.7.0 diff --git a/core-java-modules/core-java-datetime/pom.xml b/core-java-modules/core-java-datetime/pom.xml index e2f86c7254..800c29ef99 100644 --- a/core-java-modules/core-java-datetime/pom.xml +++ b/core-java-modules/core-java-datetime/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-datetime 0.1.0-SNAPSHOT core-java-datetime @@ -15,17 +14,6 @@ - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - org.projectlombok - lombok - ${lombok.version} - provided - org.assertj @@ -38,11 +26,6 @@ joda-time ${joda.version} - - org.aspectj - aspectjrt - ${asspectj.version} - org.powermock powermock-module-junit4 @@ -88,11 +71,9 @@ - 3.6.1 2.10 3.6.1 - 1.8.9 2.0.0-RC.4 1.44 diff --git a/core-java-modules/core-java-function/pom.xml b/core-java-modules/core-java-function/pom.xml index 5ed7ca68c2..22b2fd9bda 100644 --- a/core-java-modules/core-java-function/pom.xml +++ b/core-java-modules/core-java-function/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-function 0.1.0-SNAPSHOT core-java-function @@ -15,11 +14,6 @@ - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - org.assertj @@ -42,8 +36,5 @@ 3.6.1 - 1.8.9 - - 2.22.1 diff --git a/core-java-modules/core-java-io-files/pom.xml b/core-java-modules/core-java-io-files/pom.xml index 0f4b5eea1d..2aa6c7bf44 100644 --- a/core-java-modules/core-java-io-files/pom.xml +++ b/core-java-modules/core-java-io-files/pom.xml @@ -14,76 +14,6 @@ - - - net.sourceforge.collections - collections-generic - ${collections-generic.version} - - - org.apache.commons - commons-collections4 - ${commons-collections4.version} - - - commons-io - commons-io - ${commons-io.version} - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - org.apache.commons - commons-math3 - ${commons-math3.version} - - - org.decimal4j - decimal4j - ${decimal4j.version} - - - org.bouncycastle - bcprov-jdk15on - ${bouncycastle.version} - - - org.unix4j - unix4j-command - ${unix4j.version} - - - com.googlecode.grep4j - grep4j - ${grep4j.version} - - - - - com.fasterxml.jackson.core - jackson-databind - ${jackson.version} - - - - log4j - log4j - ${log4j.version} - - - org.slf4j - log4j-over-slf4j - ${org.slf4j.version} - - - org.projectlombok - lombok - ${lombok.version} - provided - org.assertj @@ -91,86 +21,12 @@ ${assertj.version} test - - com.jayway.awaitility - awaitility - ${avaitility.version} - test - - - commons-codec - commons-codec - ${commons-codec.version} - - - org.javamoney - moneta - ${moneta.version} - - - org.owasp.esapi - esapi - ${esapi.version} - - - com.sun.messaging.mq - fscontext - ${fscontext.version} - - - com.codepoetics - protonpack - ${protonpack.version} - - - one.util - streamex - ${streamex.version} - - - io.vavr - vavr - ${vavr.version} - - - org.openjdk.jmh - jmh-core - ${jmh-core.version} - - - org.openjdk.jmh - jmh-generator-annprocess - ${jmh-generator-annprocess.version} - org.hsqldb hsqldb ${hsqldb.version} runtime - - - org.asynchttpclient - async-http-client - ${async-http-client.version} - - - com.opencsv - opencsv - ${opencsv.version} - test - - - - org.apache.tika - tika-core - ${tika.version} - - - net.sf.jmimemagic - jmimemagic - ${jmime-magic.version} - @@ -262,33 +118,13 @@ - - 1.55 - 1.10 - 3.6.1 - 1.0.3 - 4.1 - 4.01 - 0.4 - 1.8.7 - 4.6-b01 - 1.13 - 0.6.5 - 0.9.0 - 4.1 3.6.1 - 1.7.0 3.0.0-M1 2.4.0 - 2.1.0.1 - 1.19 - 2.4.5 - 1.18 - 0.1.5 3.1.0 diff --git a/core-java-modules/core-java-io/pom.xml b/core-java-modules/core-java-io/pom.xml index 84bf3baeed..c3c48ba679 100644 --- a/core-java-modules/core-java-io/pom.xml +++ b/core-java-modules/core-java-io/pom.xml @@ -14,76 +14,6 @@ - - - net.sourceforge.collections - collections-generic - ${collections-generic.version} - - - org.apache.commons - commons-collections4 - ${commons-collections4.version} - - - commons-io - commons-io - ${commons-io.version} - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - org.apache.commons - commons-math3 - ${commons-math3.version} - - - org.decimal4j - decimal4j - ${decimal4j.version} - - - org.bouncycastle - bcprov-jdk15on - ${bouncycastle.version} - - - org.unix4j - unix4j-command - ${unix4j.version} - - - com.googlecode.grep4j - grep4j - ${grep4j.version} - - - - - com.fasterxml.jackson.core - jackson-databind - ${jackson.version} - - - - log4j - log4j - ${log4j.version} - - - org.slf4j - log4j-over-slf4j - ${org.slf4j.version} - - - org.projectlombok - lombok - ${lombok.version} - provided - org.assertj @@ -91,57 +21,6 @@ ${assertj.version} test - - com.jayway.awaitility - awaitility - ${avaitility.version} - test - - - commons-codec - commons-codec - ${commons-codec.version} - - - org.javamoney - moneta - ${moneta.version} - - - org.owasp.esapi - esapi - ${esapi.version} - - - com.sun.messaging.mq - fscontext - ${fscontext.version} - - - com.codepoetics - protonpack - ${protonpack.version} - - - one.util - streamex - ${streamex.version} - - - io.vavr - vavr - ${vavr.version} - - - org.openjdk.jmh - jmh-core - ${jmh-core.version} - - - org.openjdk.jmh - jmh-generator-annprocess - ${jmh-generator-annprocess.version} - org.hsqldb hsqldb @@ -263,28 +142,13 @@ - 1.55 - 1.10 - 3.6.1 - 1.0.3 - 4.1 - 4.01 - 0.4 - 1.8.7 - 4.6-b01 - 1.13 - 0.6.5 - 0.9.0 4.1 3.6.1 - 1.7.0 3.0.0-M1 2.4.0 - 2.1.0.1 - 1.19 2.4.5 1.18 diff --git a/core-java-modules/core-java-jvm/pom.xml b/core-java-modules/core-java-jvm/pom.xml index b1860322a6..8e8271f09b 100644 --- a/core-java-modules/core-java-jvm/pom.xml +++ b/core-java-modules/core-java-jvm/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-jvm 0.1.0-SNAPSHOT jar @@ -14,27 +13,4 @@ ../../ - - - junit - junit - ${junit.version} - test - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - org.assertj - assertj-core - ${assertj.version} - test - - - - - 3.6.1 - diff --git a/core-java-modules/core-java-lang-2/pom.xml b/core-java-modules/core-java-lang-2/pom.xml index fb4a5bd009..22df5f7951 100644 --- a/core-java-modules/core-java-lang-2/pom.xml +++ b/core-java-modules/core-java-lang-2/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-lang-2 0.1.0-SNAPSHOT core-java-lang-2 diff --git a/core-java-modules/core-java-lang-math/pom.xml b/core-java-modules/core-java-lang-math/pom.xml index f3e5132e5b..f884aca3a9 100644 --- a/core-java-modules/core-java-lang-math/pom.xml +++ b/core-java-modules/core-java-lang-math/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-lang-math 0.1.0-SNAPSHOT core-java-lang-math @@ -15,11 +14,6 @@ - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - org.assertj @@ -42,8 +36,5 @@ 3.6.1 - 1.8.9 - - 2.22.1 diff --git a/core-java-modules/core-java-lang-oop-2/pom.xml b/core-java-modules/core-java-lang-oop-2/pom.xml index d27df147b7..6e67c76d20 100644 --- a/core-java-modules/core-java-lang-oop-2/pom.xml +++ b/core-java-modules/core-java-lang-oop-2/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-lang-oop-2 0.1.0-SNAPSHOT core-java-lang-oop-2 @@ -31,7 +30,6 @@ - 1.4.199 3.10.0 3.0.3 diff --git a/core-java-modules/core-java-lang-oop-3/pom.xml b/core-java-modules/core-java-lang-oop-3/pom.xml index 29807b5bef..8b89a8593c 100644 --- a/core-java-modules/core-java-lang-oop-3/pom.xml +++ b/core-java-modules/core-java-lang-oop-3/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-lang-oop-3 0.1.0-SNAPSHOT core-java-lang-oop-3 diff --git a/core-java-modules/core-java-lang-oop/pom.xml b/core-java-modules/core-java-lang-oop/pom.xml index d86347b51f..bdd9857dfa 100644 --- a/core-java-modules/core-java-lang-oop/pom.xml +++ b/core-java-modules/core-java-lang-oop/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-lang-oop 0.1.0-SNAPSHOT core-java-lang-oop @@ -32,23 +31,6 @@ gson ${gson.version} - - - log4j - log4j - ${log4j.version} - - - org.slf4j - log4j-over-slf4j - ${org.slf4j.version} - - - org.projectlombok - lombok - ${lombok.version} - provided - org.assertj diff --git a/core-java-modules/core-java-lang-operators/pom.xml b/core-java-modules/core-java-lang-operators/pom.xml index 58cab9d507..81865552dd 100644 --- a/core-java-modules/core-java-lang-operators/pom.xml +++ b/core-java-modules/core-java-lang-operators/pom.xml @@ -2,7 +2,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.baeldung core-java-lang-operators 0.1.0-SNAPSHOT core-java-lang-operators diff --git a/core-java-modules/core-java-lang-syntax-2/pom.xml b/core-java-modules/core-java-lang-syntax-2/pom.xml index 1a8316628f..98eea99fc0 100644 --- a/core-java-modules/core-java-lang-syntax-2/pom.xml +++ b/core-java-modules/core-java-lang-syntax-2/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-lang-syntax-2 0.1.0-SNAPSHOT core-java-lang-syntax-2 diff --git a/core-java-modules/core-java-lang-syntax/pom.xml b/core-java-modules/core-java-lang-syntax/pom.xml index 46fa8d1206..f4549b689d 100644 --- a/core-java-modules/core-java-lang-syntax/pom.xml +++ b/core-java-modules/core-java-lang-syntax/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-lang-syntax 0.1.0-SNAPSHOT core-java-lang-syntax diff --git a/core-java-modules/core-java-lang/pom.xml b/core-java-modules/core-java-lang/pom.xml index 1a2b86f872..10b0526177 100644 --- a/core-java-modules/core-java-lang/pom.xml +++ b/core-java-modules/core-java-lang/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-lang 0.1.0-SNAPSHOT core-java-lang @@ -14,44 +13,6 @@ ../../parent-java - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - - - com.fasterxml.jackson.core - jackson-databind - ${jackson.version} - - - com.google.code.gson - gson - ${gson.version} - - - - log4j - log4j - ${log4j.version} - - - org.slf4j - log4j-over-slf4j - ${org.slf4j.version} - - - - org.assertj - assertj-core - ${assertj-core.version} - test - - - core-java-lang @@ -62,10 +23,4 @@ - - 2.8.2 - - 3.10.0 - - diff --git a/core-java-modules/core-java-networking/pom.xml b/core-java-modules/core-java-networking/pom.xml index b5071bf7df..cd84d2a27c 100644 --- a/core-java-modules/core-java-networking/pom.xml +++ b/core-java-modules/core-java-networking/pom.xml @@ -14,11 +14,6 @@ - - commons-io - commons-io - ${commons-io.version} - org.springframework spring-web diff --git a/core-java-modules/core-java-optional/pom.xml b/core-java-modules/core-java-optional/pom.xml index d5ccd43e55..38d7565282 100644 --- a/core-java-modules/core-java-optional/pom.xml +++ b/core-java-modules/core-java-optional/pom.xml @@ -44,25 +44,7 @@ - - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - ${maven.compiler.source} - ${maven.compiler.target} - - - - - - - UTF-8 - 1.8 - 1.8 5.4.0.Final 1.19 1.19 diff --git a/core-java-modules/core-java-perf/pom.xml b/core-java-modules/core-java-perf/pom.xml index b9c9d30ac0..a6e20f198d 100644 --- a/core-java-modules/core-java-perf/pom.xml +++ b/core-java-modules/core-java-perf/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-perf 0.1.0-SNAPSHOT core-java-perf @@ -14,13 +13,4 @@ ../../parent-java - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - - diff --git a/core-java-modules/core-java-security-manager/pom.xml b/core-java-modules/core-java-security-manager/pom.xml index 51d5e7d78f..f5be1639da 100644 --- a/core-java-modules/core-java-security-manager/pom.xml +++ b/core-java-modules/core-java-security-manager/pom.xml @@ -10,25 +10,5 @@ core-java-modules 1.0.0-SNAPSHOT - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - ${maven.compiler.source} - ${maven.compiler.target} - - - - - - - UTF-8 - 1.8 - 1.8 - diff --git a/core-java-modules/core-java-security/pom.xml b/core-java-modules/core-java-security/pom.xml index d3efb26fe8..e882fd823e 100644 --- a/core-java-modules/core-java-security/pom.xml +++ b/core-java-modules/core-java-security/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-security 0.1.0-SNAPSHOT core-java-security @@ -15,11 +14,6 @@ - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - org.assertj diff --git a/core-java-modules/core-java-streams/pom.xml b/core-java-modules/core-java-streams/pom.xml index 4ff8e8aaba..96d97f3759 100644 --- a/core-java-modules/core-java-streams/pom.xml +++ b/core-java-modules/core-java-streams/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-streams 0.1.0-SNAPSHOT core-java-streams @@ -15,17 +14,6 @@ - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - org.projectlombok - lombok - ${lombok.version} - provided - org.assertj @@ -48,7 +36,5 @@ 3.6.1 - - 2.22.1 diff --git a/core-java-modules/core-java-sun/pom.xml b/core-java-modules/core-java-sun/pom.xml index ab5f945114..7774d1f9b3 100644 --- a/core-java-modules/core-java-sun/pom.xml +++ b/core-java-modules/core-java-sun/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-sun 0.1.0-SNAPSHOT core-java-sun @@ -15,76 +14,6 @@ - - - net.sourceforge.collections - collections-generic - ${collections-generic.version} - - - org.apache.commons - commons-collections4 - ${commons-collections4.version} - - - commons-io - commons-io - ${commons-io.version} - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - org.apache.commons - commons-math3 - ${commons-math3.version} - - - org.decimal4j - decimal4j - ${decimal4j.version} - - - org.bouncycastle - bcprov-jdk15on - ${bouncycastle.version} - - - org.unix4j - unix4j-command - ${unix4j.version} - - - com.googlecode.grep4j - grep4j - ${grep4j.version} - - - - - com.fasterxml.jackson.core - jackson-databind - ${jackson.version} - - - - log4j - log4j - ${log4j.version} - - - org.slf4j - log4j-over-slf4j - ${org.slf4j.version} - - - org.projectlombok - lombok - ${lombok.version} - provided - org.assertj @@ -92,62 +21,6 @@ ${assertj.version} test - - com.jayway.awaitility - awaitility - ${avaitility.version} - test - - - commons-codec - commons-codec - ${commons-codec.version} - - - org.javamoney - moneta - ${moneta.version} - - - org.owasp.esapi - esapi - ${esapi.version} - - - com.sun.messaging.mq - fscontext - ${fscontext.version} - - - com.codepoetics - protonpack - ${protonpack.version} - - - one.util - streamex - ${streamex.version} - - - io.vavr - vavr - ${vavr.version} - - - org.openjdk.jmh - jmh-core - ${jmh-core.version} - - - org.openjdk.jmh - jmh-generator-annprocess - ${jmh-generator.version} - - - org.springframework - spring-web - ${spring-web.version} - com.sun tools @@ -204,32 +77,6 @@ integration - - org.apache.maven.plugins - maven-surefire-plugin - - - integration-test - - test - - - - **/*ManualTest.java - - - **/*IntegrationTest.java - **/*IntTest.java - - - - - - - json - - - org.codehaus.mojo exec-maven-plugin @@ -261,29 +108,11 @@ - - - 23.0 - 1.55 - 1.10 - 3.6.1 - 1.0.3 - 4.1 - 4.01 - 0.4 - 1.8.7 - 4.6-b01 - 1.13 - 0.6.5 - 0.9.0 - 4.3.4.RELEASE - 3.6.1 1.7.0 - 2.21.0 1.8.0 3.0.2 diff --git a/core-java-modules/core-java-text/pom.xml b/core-java-modules/core-java-text/pom.xml index f831ec5f40..43b0df6309 100644 --- a/core-java-modules/core-java-text/pom.xml +++ b/core-java-modules/core-java-text/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-text 0.1.0-SNAPSHOT core-java-text @@ -14,9 +13,6 @@ ../../parent-java - - - core-java-text @@ -27,6 +23,4 @@ - - diff --git a/core-java-modules/core-java/pom.xml b/core-java-modules/core-java/pom.xml index 2a2cb3a6af..392bcaa6dc 100644 --- a/core-java-modules/core-java/pom.xml +++ b/core-java-modules/core-java/pom.xml @@ -14,16 +14,6 @@ - - commons-io - commons-io - ${commons-io.version} - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - org.unix4j unix4j-command @@ -41,11 +31,6 @@ jackson-databind ${jackson.version} - - com.google.code.gson - gson - ${gson.version} - log4j @@ -80,41 +65,6 @@ esapi ${esapi.version} - - com.sun.messaging.mq - fscontext - ${fscontext.version} - - - com.codepoetics - protonpack - ${protonpack.version} - - - one.util - streamex - ${streamex.version} - - - io.vavr - vavr - ${vavr.version} - - - org.openjdk.jmh - jmh-core - ${jmh-core.version} - - - org.openjdk.jmh - jmh-generator-annprocess - ${jmh-generator-annprocess.version} - - - com.h2database - h2 - ${h2.version} - org.javassist @@ -448,38 +398,24 @@ - - - 2.8.2 - - 3.6.1 - 1.0.3 0.4 1.8.7 - 4.6-b01 - 1.13 - 0.6.5 - 0.9.0 3.10.0 - - 2.21.0 - + 1.1 2.1.0.1 - 1.19 - 1.19 3.0.0-M1 3.0.2 1.4.4 3.1.1 2.0.3.RELEASE 1.6.0 - 61.1 + 3.21.0-GA diff --git a/core-java-modules/pre-jpms/pom.xml b/core-java-modules/pre-jpms/pom.xml index 380d94fbf1..f37daed0a5 100644 --- a/core-java-modules/pre-jpms/pom.xml +++ b/core-java-modules/pre-jpms/pom.xml @@ -69,7 +69,4 @@ - - UTF-8 - From cc8e91a0ebe245e6a40d7ba5be6baa2f67ff0a94 Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Mon, 14 Oct 2019 20:33:14 +0530 Subject: [PATCH 158/199] BAEL-17684 Cleanup pom properties --- cas/cas-server/.factorypath | 291 ++++++++++++++++-------------------- 1 file changed, 133 insertions(+), 158 deletions(-) diff --git a/cas/cas-server/.factorypath b/cas/cas-server/.factorypath index f8cf0fe705..006c761796 100644 --- a/cas/cas-server/.factorypath +++ b/cas/cas-server/.factorypath @@ -1,11 +1,12 @@ - - - - - - - + + + + + + + + @@ -14,7 +15,7 @@ - + @@ -26,13 +27,13 @@ - + - + @@ -41,135 +42,136 @@ - - - - - + + + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - + + + - + - - + + - - - - - + + + + + + - + - - + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + + - + - - - + + + - - - - - - - + + + + + + + - + - + - - - - + + @@ -177,34 +179,35 @@ - - - - - - + + + + + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + + - + @@ -214,40 +217,12 @@ - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + From 5dd6b253fe8ba99a14b9d5a72c9e79485262b84f Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Mon, 14 Oct 2019 20:58:32 +0530 Subject: [PATCH 159/199] BAEL-17684 Cleanup pom properties --- core-java-modules/core-java-collections-list-2/pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core-java-modules/core-java-collections-list-2/pom.xml b/core-java-modules/core-java-collections-list-2/pom.xml index a943c29f51..9652a7d79f 100644 --- a/core-java-modules/core-java-collections-list-2/pom.xml +++ b/core-java-modules/core-java-collections-list-2/pom.xml @@ -14,6 +14,11 @@ + + org.apache.commons + commons-collections4 + ${commons-collections4.version} + org.assertj assertj-core @@ -29,6 +34,7 @@ + 4.1 3.11.1 From 0286635f399c720ddb840dcda4222a0a720c08a8 Mon Sep 17 00:00:00 2001 From: Amy DeGregorio Date: Mon, 14 Oct 2019 12:06:25 -0400 Subject: [PATCH 160/199] BAEL-3013 (#8020) --- .../thymeleaf/pathvariables/Detail.java | 28 +++++++++ .../thymeleaf/pathvariables/Item.java | 39 ++++++++++++ .../PathVariablesController.java | 62 +++++++++++++++++++ .../templates/pathvariables/index.html | 22 +++++++ .../templates/pathvariables/view.html | 19 ++++++ 5 files changed, 170 insertions(+) create mode 100644 spring-thymeleaf-2/src/main/java/com/baeldung/thymeleaf/pathvariables/Detail.java create mode 100644 spring-thymeleaf-2/src/main/java/com/baeldung/thymeleaf/pathvariables/Item.java create mode 100644 spring-thymeleaf-2/src/main/java/com/baeldung/thymeleaf/pathvariables/PathVariablesController.java create mode 100644 spring-thymeleaf-2/src/main/resources/templates/pathvariables/index.html create mode 100644 spring-thymeleaf-2/src/main/resources/templates/pathvariables/view.html diff --git a/spring-thymeleaf-2/src/main/java/com/baeldung/thymeleaf/pathvariables/Detail.java b/spring-thymeleaf-2/src/main/java/com/baeldung/thymeleaf/pathvariables/Detail.java new file mode 100644 index 0000000000..e9a95f133c --- /dev/null +++ b/spring-thymeleaf-2/src/main/java/com/baeldung/thymeleaf/pathvariables/Detail.java @@ -0,0 +1,28 @@ +package com.baeldung.thymeleaf.pathvariables; + +public class Detail { + private int id; + private String description; + + public Detail(int id, String description) { + super(); + this.id = id; + this.description = description; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } +} diff --git a/spring-thymeleaf-2/src/main/java/com/baeldung/thymeleaf/pathvariables/Item.java b/spring-thymeleaf-2/src/main/java/com/baeldung/thymeleaf/pathvariables/Item.java new file mode 100644 index 0000000000..173c107846 --- /dev/null +++ b/spring-thymeleaf-2/src/main/java/com/baeldung/thymeleaf/pathvariables/Item.java @@ -0,0 +1,39 @@ +package com.baeldung.thymeleaf.pathvariables; + +import java.util.List; + +public class Item { + private int id; + private String name; + private List details; + + public Item(int id, String name) { + super(); + this.id = id; + this.name = name; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getDetails() { + return details; + } + + public void setDetails(List details) { + this.details = details; + } +} diff --git a/spring-thymeleaf-2/src/main/java/com/baeldung/thymeleaf/pathvariables/PathVariablesController.java b/spring-thymeleaf-2/src/main/java/com/baeldung/thymeleaf/pathvariables/PathVariablesController.java new file mode 100644 index 0000000000..fde8bf1533 --- /dev/null +++ b/spring-thymeleaf-2/src/main/java/com/baeldung/thymeleaf/pathvariables/PathVariablesController.java @@ -0,0 +1,62 @@ +package com.baeldung.thymeleaf.pathvariables; + +import java.util.ArrayList; +import java.util.List; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +@Controller +public class PathVariablesController { + private List items = new ArrayList(); + + public PathVariablesController() { + Item item1 = new Item(1, "First Item"); + List item1Details = new ArrayList<>(); + item1Details.add(new Detail(1, "Green")); + item1Details.add(new Detail(2, "Large")); + item1.setDetails(item1Details); + items.add(item1); + + Item item2 = new Item(2, "Second Item"); + List item2Details = new ArrayList<>(); + item2Details.add(new Detail(1, "Red")); + item2Details.add(new Detail(2, "Medium")); + item2.setDetails(item2Details); + items.add(item2); + } + + @GetMapping("/pathvars") + public String start(Model model) { + model.addAttribute("items", items); + return "pathvariables/index"; + } + + @GetMapping("/pathvars/single/{id}") + public String singlePathVariable(@PathVariable("id") int id, Model model) { + if (id == 1) { + model.addAttribute("item", new Item(1, "First Item")); + } else { + model.addAttribute("item", new Item(2, "Second Item")); + } + + return "pathvariables/view"; + } + + @GetMapping("/pathvars/item/{itemId}/detail/{detailId}") + public String multiplePathVariable(@PathVariable("itemId") int itemId, @PathVariable("detailId") int detailId, Model model) { + for (Item item : items) { + if (item.getId() == itemId) { + model.addAttribute("item", item); + for (Detail detail : item.getDetails()) { + if (detail.getId() == detailId) { + model.addAttribute("detail", detail); + } + } + } + } + return "pathvariables/view"; + } +} diff --git a/spring-thymeleaf-2/src/main/resources/templates/pathvariables/index.html b/spring-thymeleaf-2/src/main/resources/templates/pathvariables/index.html new file mode 100644 index 0000000000..a3e34dcba1 --- /dev/null +++ b/spring-thymeleaf-2/src/main/resources/templates/pathvariables/index.html @@ -0,0 +1,22 @@ + + + + +PathVariables in Thymeleaf + + +

Items

+
+ + + + +
+ + \ No newline at end of file diff --git a/spring-thymeleaf-2/src/main/resources/templates/pathvariables/view.html b/spring-thymeleaf-2/src/main/resources/templates/pathvariables/view.html new file mode 100644 index 0000000000..f635c1113c --- /dev/null +++ b/spring-thymeleaf-2/src/main/resources/templates/pathvariables/view.html @@ -0,0 +1,19 @@ + + + + +Pathvariables in Thymeleaf + + +

View Item

+
+ + +
+

Detail

+
+ + +
+ + \ No newline at end of file From 6018eb39e48a081d789a89ec5ad5b9550b32a8c5 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Mon, 14 Oct 2019 19:18:14 +0200 Subject: [PATCH 161/199] #BAEL-18260 Downgrade deeplearning4j to version 0.9.1, the latest non beta --- deeplearning4j/pom.xml | 2 +- .../deeplearning4j/IrisClassifier.java | 12 +++++------ .../com/baeldung/logreg/MnistClassifier.java | 21 ++++++++----------- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/deeplearning4j/pom.xml b/deeplearning4j/pom.xml index 9a381c6967..a8663865e0 100644 --- a/deeplearning4j/pom.xml +++ b/deeplearning4j/pom.xml @@ -48,7 +48,7 @@
- 1.0.0-beta5 + 0.9.1
diff --git a/deeplearning4j/src/main/java/com/baeldung/deeplearning4j/IrisClassifier.java b/deeplearning4j/src/main/java/com/baeldung/deeplearning4j/IrisClassifier.java index b9c794650e..dcc81eda6e 100644 --- a/deeplearning4j/src/main/java/com/baeldung/deeplearning4j/IrisClassifier.java +++ b/deeplearning4j/src/main/java/com/baeldung/deeplearning4j/IrisClassifier.java @@ -4,6 +4,7 @@ import org.datavec.api.records.reader.RecordReader; import org.datavec.api.records.reader.impl.csv.CSVRecordReader; import org.datavec.api.split.FileSplit; import org.deeplearning4j.datasets.datavec.RecordReaderDataSetIterator; +import org.deeplearning4j.eval.Evaluation; import org.deeplearning4j.nn.conf.BackpropType; import org.deeplearning4j.nn.conf.MultiLayerConfiguration; import org.deeplearning4j.nn.conf.NeuralNetConfiguration; @@ -11,8 +12,6 @@ import org.deeplearning4j.nn.conf.layers.DenseLayer; import org.deeplearning4j.nn.conf.layers.OutputLayer; import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; import org.deeplearning4j.nn.weights.WeightInit; -import org.deeplearning4j.util.NetworkUtils; -import org.nd4j.evaluation.classification.Evaluation; import org.nd4j.linalg.activations.Activation; import org.nd4j.linalg.api.ndarray.INDArray; import org.nd4j.linalg.dataset.DataSet; @@ -51,11 +50,11 @@ public class IrisClassifier { DataSet testData = testAndTrain.getTest(); MultiLayerConfiguration configuration = new NeuralNetConfiguration.Builder() - .maxNumLineSearchIterations(1000) + .iterations(1000) .activation(Activation.TANH) .weightInit(WeightInit.XAVIER) - //.regularization(true) - .l2(0.0001) + .regularization(true) + .learningRate(0.1).l2(0.0001) .list() .layer(0, new DenseLayer.Builder().nIn(FEATURES_COUNT).nOut(3) .build()) @@ -64,12 +63,11 @@ public class IrisClassifier { .layer(2, new OutputLayer.Builder(LossFunctions.LossFunction.NEGATIVELOGLIKELIHOOD) .activation(Activation.SOFTMAX) .nIn(3).nOut(CLASSES_COUNT).build()) - .backpropType(BackpropType.Standard)//.pretrain(false) + .backpropType(BackpropType.Standard).pretrain(false) .build(); MultiLayerNetwork model = new MultiLayerNetwork(configuration); model.init(); - NetworkUtils.setLearningRate(model, 0.1); model.fit(trainingData); INDArray output = model.output(testData.getFeatures()); diff --git a/deeplearning4j/src/main/java/com/baeldung/logreg/MnistClassifier.java b/deeplearning4j/src/main/java/com/baeldung/logreg/MnistClassifier.java index e320c366bf..ae705ffad7 100644 --- a/deeplearning4j/src/main/java/com/baeldung/logreg/MnistClassifier.java +++ b/deeplearning4j/src/main/java/com/baeldung/logreg/MnistClassifier.java @@ -10,6 +10,7 @@ import org.datavec.api.split.FileSplit; import org.datavec.image.loader.NativeImageLoader; import org.datavec.image.recordreader.ImageRecordReader; import org.deeplearning4j.datasets.datavec.RecordReaderDataSetIterator; +import org.deeplearning4j.eval.Evaluation; import org.deeplearning4j.nn.conf.MultiLayerConfiguration; import org.deeplearning4j.nn.conf.NeuralNetConfiguration; import org.deeplearning4j.nn.conf.inputs.InputType; @@ -21,15 +22,12 @@ import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; import org.deeplearning4j.nn.weights.WeightInit; import org.deeplearning4j.optimize.listeners.ScoreIterationListener; import org.deeplearning4j.util.ModelSerializer; -import org.nd4j.evaluation.classification.Evaluation; import org.nd4j.linalg.activations.Activation; import org.nd4j.linalg.dataset.api.iterator.DataSetIterator; import org.nd4j.linalg.dataset.api.preprocessor.DataNormalization; import org.nd4j.linalg.dataset.api.preprocessor.ImagePreProcessingScaler; import org.nd4j.linalg.learning.config.Nesterovs; import org.nd4j.linalg.lossfunctions.LossFunctions; -import org.nd4j.linalg.schedule.MapSchedule; -import org.nd4j.linalg.schedule.ScheduleType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -71,8 +69,7 @@ public class MnistClassifier { String localFilePath = basePath + "mnist_png.tar.gz"; File file = new File(localFilePath); if (!file.exists()) { - file.getParentFile() - .mkdirs(); + file.getParentFile().mkdirs(); Utils.downloadAndSave(dataUrl, file); Utils.extractTarArchive(file, basePath); } @@ -135,15 +132,15 @@ public class MnistClassifier { .build(); final MultiLayerConfiguration config = new NeuralNetConfiguration.Builder().seed(seed) .l2(0.0005) // ridge regression value - .updater(new Nesterovs(new MapSchedule(ScheduleType.ITERATION, learningRateSchedule))) + .updater(new Nesterovs()) //TODO new MapSchedule(ScheduleType.ITERATION, learningRateSchedule) .weightInit(WeightInit.XAVIER) .list() - .layer(layer1) - .layer(layer2) - .layer(layer3) - .layer(layer2) - .layer(layer4) - .layer(layer5) + .layer(0, layer1) + .layer(1, layer2) + .layer(2, layer3) + .layer(3, layer2) + .layer(4, layer4) + .layer(5, layer5) .setInputType(InputType.convolutionalFlat(height, width, channels)) .build(); From 8956aee90fc24b6c7963e439f7663acaa213471e Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Mon, 14 Oct 2019 19:21:12 +0200 Subject: [PATCH 162/199] #BAEL-18260 Fix tmp directory path --- .../src/main/java/com/baeldung/logreg/MnistClassifier.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deeplearning4j/src/main/java/com/baeldung/logreg/MnistClassifier.java b/deeplearning4j/src/main/java/com/baeldung/logreg/MnistClassifier.java index ae705ffad7..c8580b9c27 100644 --- a/deeplearning4j/src/main/java/com/baeldung/logreg/MnistClassifier.java +++ b/deeplearning4j/src/main/java/com/baeldung/logreg/MnistClassifier.java @@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory; public class MnistClassifier { private static final Logger logger = LoggerFactory.getLogger(MnistClassifier.class); - private static final String basePath = System.getProperty("java.io.tmpdir") + "mnist" + File.separator; + private static final String basePath = System.getProperty("java.io.tmpdir") + File.separator + "mnist" + File.separator; private static final File modelPath = new File(basePath + "mnist-model.zip"); private static final String dataUrl = "http://github.com/myleott/mnist_png/raw/master/mnist_png.tar.gz"; From c779578ceea8234d82bb5f786095246bd290dc30 Mon Sep 17 00:00:00 2001 From: Jonathan Cook Date: Mon, 14 Oct 2019 20:07:49 +0200 Subject: [PATCH 163/199] Update README.md --- javaxval/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javaxval/README.md b/javaxval/README.md index 64903d7463..c2c392b276 100644 --- a/javaxval/README.md +++ b/javaxval/README.md @@ -9,4 +9,4 @@ This module contains articles about Bean Validation. - [Difference Between @NotNull, @NotEmpty, and @NotBlank Constraints in Bean Validation](https://www.baeldung.com/java-bean-validation-not-null-empty-blank) - [Javax BigDecimal Validation](https://www.baeldung.com/javax-bigdecimal-validation) - [Grouping Javax Validation Constraints](https://www.baeldung.com/javax-validation-groups) -- [Javax Validations for Enums](https://www.baeldung.com/javax-validations-for-enums/) +- [Javax Validations for Enums](https://www.baeldung.com/javax-validations-enums) From 16e764c942b08449701a7b24521570ea1188bd11 Mon Sep 17 00:00:00 2001 From: Gang Date: Mon, 14 Oct 2019 14:48:50 -0600 Subject: [PATCH 164/199] BAEL-3349 Knapsack problem implementation in Java --- .../algorithms/knapsack/Knapsack.java | 32 ++++++++++++++ .../algorithms/knapsack/KnapsackUnitTest.java | 44 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/knapsack/Knapsack.java create mode 100644 algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/knapsack/KnapsackUnitTest.java diff --git a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/knapsack/Knapsack.java b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/knapsack/Knapsack.java new file mode 100644 index 0000000000..a53ab21429 --- /dev/null +++ b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/knapsack/Knapsack.java @@ -0,0 +1,32 @@ +package com.baeldung.algorithms.knapsack; + +class Knapsack { + + public int knapsackRec(int[] w, int[] v, int n, int W) { + if (n <= 0) + return 0; + else if (w[n - 1] > W) + return knapsackRec(w, v, n - 1, W); + else + return Math.max(knapsackRec(w, v, n - 1, W), v[n - 1] + knapsackRec(w, v, n - 1, W - w[n - 1])); + } + + public int knapsackDP(int[] w, int[] v, int n, int W) { + if (n <= 0 || W <= 0) + return 0; + int[][] m = new int[n + 1][W + 1]; + for (int j = 0; j <= W; j++) { + m[0][j] = 0; + } + + for (int i = 1; i <= n; i++) { + for (int j = 1; j <= W; j++) { + if (w[i - 1] > j) + m[i][j] = m[i - 1][j]; + else + m[i][j] = Math.max(m[i - 1][j], m[i - 1][j - w[i - 1]] + v[i - 1]); + } + } + return m[n][W]; + } +} diff --git a/algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/knapsack/KnapsackUnitTest.java b/algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/knapsack/KnapsackUnitTest.java new file mode 100644 index 0000000000..b168e6b1eb --- /dev/null +++ b/algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/knapsack/KnapsackUnitTest.java @@ -0,0 +1,44 @@ +package com.baeldung.algorithms.knapsack; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.Test; + +public class KnapsackUnitTest { + + @Test + public void givenWeightsandValues_whenCalculateMax_thenOutputCorrectResult() { + final int[] w = new int[] { 23, 26, 20, 18, 32, 27, 29, 26, 30, 27 }; + final int[] v = new int[] { 505, 352, 458, 220, 354, 414, 498, 545, 473, 543 }; + final int n = 10; + final int W = 67; + final Knapsack knapsack = new Knapsack(); + + assertEquals(1270, knapsack.knapsackRec(w, v, n, W)); + assertEquals(1270, knapsack.knapsackDP(w, v, n, W)); + } + + @Test + public void givenZeroItems_whenCalculateMax_thenOutputZero() { + final int[] w = new int[] {}; + final int[] v = new int[] {}; + final int n = 0; + final int W = 67; + final Knapsack knapsack = new Knapsack(); + + assertEquals(0, knapsack.knapsackRec(w, v, n, W)); + assertEquals(0, knapsack.knapsackDP(w, v, n, W)); + } + + @Test + public void givenZeroWeightLimit_whenCalculateMax_thenOutputZero() { + final int[] w = new int[] { 23, 26, 20, 18, 32, 27, 29, 26, 30, 27 }; + final int[] v = new int[] { 505, 352, 458, 220, 354, 414, 498, 545, 473, 543 }; + final int n = 10; + final int W = 0; + final Knapsack knapsack = new Knapsack(); + + assertEquals(0, knapsack.knapsackRec(w, v, n, W)); + assertEquals(0, knapsack.knapsackDP(w, v, n, W)); + } +} From 3e4c964e6ac53f62f06d4c364b74ed517bc66f9d Mon Sep 17 00:00:00 2001 From: Devender Kumar <47500074+kumar-devender@users.noreply.github.com> Date: Tue, 15 Oct 2019 04:24:18 +0200 Subject: [PATCH 165/199] modifieds example to creates less cognitive load for a reader (#8018) --- .../ComponentScanAspectJFilterApp.java | 8 ++++---- .../componentscan/filter/custom/Cat.java | 2 +- .../custom/ComponentScanCustomFilter.java | 9 +++------ .../filter/custom/{Pet.java => Elephant.java} | 2 +- .../regex/ComponentScanRegexFilterApp.java | 2 +- ...entScanCustomFilterAppIntegrationTest.java | 19 ++++++++++--------- ...nentScanRegexFilterAppIntegrationTest.java | 3 +-- 7 files changed, 21 insertions(+), 24 deletions(-) rename spring-boot-di/src/main/java/com/baeldung/componentscan/filter/custom/{Pet.java => Elephant.java} (68%) diff --git a/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/aspectj/ComponentScanAspectJFilterApp.java b/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/aspectj/ComponentScanAspectJFilterApp.java index aea7c0a2cd..5380e99ef3 100644 --- a/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/aspectj/ComponentScanAspectJFilterApp.java +++ b/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/aspectj/ComponentScanAspectJFilterApp.java @@ -5,10 +5,10 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; @Configuration -@ComponentScan(includeFilters = @ComponentScan.Filter(type = FilterType.ASPECTJ, -pattern = "com.baeldung.componentscan.filter.aspectj.* " - + "&& !(com.baeldung.componentscan.filter.aspectj.L* " - + "|| com.baeldung.componentscan.filter.aspectj.C*)")) +@ComponentScan(includeFilters = @ComponentScan.Filter(type = FilterType.ASPECTJ, + pattern = "com.baeldung.componentscan.filter.aspectj.* " + + "&& !(com.baeldung.componentscan.filter.aspectj.L* " + + "|| com.baeldung.componentscan.filter.aspectj.C*)")) public class ComponentScanAspectJFilterApp { public static void main(String[] args) { } diff --git a/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/custom/Cat.java b/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/custom/Cat.java index 17a8e87b7a..5a4983b699 100644 --- a/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/custom/Cat.java +++ b/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/custom/Cat.java @@ -1,4 +1,4 @@ package com.baeldung.componentscan.filter.custom; -public class Cat extends Pet { +public class Cat { } diff --git a/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/custom/ComponentScanCustomFilter.java b/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/custom/ComponentScanCustomFilter.java index 30ccb19276..fc21c28135 100644 --- a/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/custom/ComponentScanCustomFilter.java +++ b/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/custom/ComponentScanCustomFilter.java @@ -12,11 +12,8 @@ public class ComponentScanCustomFilter implements TypeFilter { @Override public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) throws IOException { ClassMetadata classMetadata = metadataReader.getClassMetadata(); - String superClass = classMetadata.getSuperClassName(); - if (Pet.class.getName() - .equalsIgnoreCase(superClass)) { - return true; - } - return false; + String fullyQualifiedName = classMetadata.getClassName(); + String className = fullyQualifiedName.substring(fullyQualifiedName.lastIndexOf(".") + 1); + return className.length() > 5 ? true : false; } } diff --git a/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/custom/Pet.java b/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/custom/Elephant.java similarity index 68% rename from spring-boot-di/src/main/java/com/baeldung/componentscan/filter/custom/Pet.java rename to spring-boot-di/src/main/java/com/baeldung/componentscan/filter/custom/Elephant.java index c9be5a39c2..8ae065a391 100644 --- a/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/custom/Pet.java +++ b/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/custom/Elephant.java @@ -1,4 +1,4 @@ package com.baeldung.componentscan.filter.custom; -public class Pet { +public class Elephant { } diff --git a/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/regex/ComponentScanRegexFilterApp.java b/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/regex/ComponentScanRegexFilterApp.java index d2b7bd03fb..b7a3f5cd8a 100644 --- a/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/regex/ComponentScanRegexFilterApp.java +++ b/spring-boot-di/src/main/java/com/baeldung/componentscan/filter/regex/ComponentScanRegexFilterApp.java @@ -5,7 +5,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; @Configuration -@ComponentScan(includeFilters = @ComponentScan.Filter(type = FilterType.REGEX, pattern = ".*[t]")) +@ComponentScan(includeFilters = @ComponentScan.Filter(type = FilterType.REGEX, pattern = ".*(nt)")) public class ComponentScanRegexFilterApp { public static void main(String[] args) { diff --git a/spring-boot-di/src/test/java/com/baeldung/componentscan/filter/custom/ComponentScanCustomFilterAppIntegrationTest.java b/spring-boot-di/src/test/java/com/baeldung/componentscan/filter/custom/ComponentScanCustomFilterAppIntegrationTest.java index 097214a2cf..9902a620ad 100644 --- a/spring-boot-di/src/test/java/com/baeldung/componentscan/filter/custom/ComponentScanCustomFilterAppIntegrationTest.java +++ b/spring-boot-di/src/test/java/com/baeldung/componentscan/filter/custom/ComponentScanCustomFilterAppIntegrationTest.java @@ -1,18 +1,18 @@ package com.baeldung.componentscan.filter.custom; -import static org.junit.Assert.assertThat; - -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.test.context.junit4.SpringRunner; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + import static org.hamcrest.CoreMatchers.*; +import static org.junit.Assert.assertThat; @RunWith(SpringRunner.class) @SpringBootTest(classes = ComponentScanCustomFilterApp.class) @@ -22,9 +22,10 @@ public class ComponentScanCustomFilterAppIntegrationTest { public void whenCustomFilterIsUsed_thenComponentScanShouldRegisterBeanMatchingCustomFilter() { ApplicationContext applicationContext = new AnnotationConfigApplicationContext(ComponentScanCustomFilterApp.class); List beans = Arrays.stream(applicationContext.getBeanDefinitionNames()) - .filter(bean -> !bean.contains("org.springframework") && !bean.contains("componentScanCustomFilterApp")) - .collect(Collectors.toList()); + .filter(bean -> !bean.contains("org.springframework") && !bean.contains("componentScanCustomFilterApp") + && !bean.contains("componentScanCustomFilter")) + .collect(Collectors.toList()); assertThat(beans.size(), equalTo(1)); - assertThat(beans.get(0), equalTo("cat")); + assertThat(beans.get(0), equalTo("elephant")); } } diff --git a/spring-boot-di/src/test/java/com/baeldung/componentscan/filter/regex/ComponentScanRegexFilterAppIntegrationTest.java b/spring-boot-di/src/test/java/com/baeldung/componentscan/filter/regex/ComponentScanRegexFilterAppIntegrationTest.java index 3163581c37..38d6acd7f8 100644 --- a/spring-boot-di/src/test/java/com/baeldung/componentscan/filter/regex/ComponentScanRegexFilterAppIntegrationTest.java +++ b/spring-boot-di/src/test/java/com/baeldung/componentscan/filter/regex/ComponentScanRegexFilterAppIntegrationTest.java @@ -24,8 +24,7 @@ public class ComponentScanRegexFilterAppIntegrationTest { List beans = Arrays.stream(applicationContext.getBeanDefinitionNames()) .filter(bean -> !bean.contains("org.springframework") && !bean.contains("componentScanRegexFilterApp")) .collect(Collectors.toList()); - assertThat(beans.size(), equalTo(2)); - assertThat(beans.contains("cat"), equalTo(true)); + assertThat(beans.size(), equalTo(1)); assertThat(beans.contains("elephant"), equalTo(true)); } } From 9199d0c89544f82d5b7df432c37bc175bd39c7a9 Mon Sep 17 00:00:00 2001 From: Sorin Zamfir Date: Tue, 15 Oct 2019 05:32:04 +0300 Subject: [PATCH 166/199] BAEL-3299 - Testing a Spring Batch Job (#7982) * BAEL-3299: First version. Broken tests * BAEL-3299: Fix tests * BAEL-3299: Include gitignore for output files * BAEL-3299: Example of writer unit test * BAEL-3299: Cleaned up and included more tests * BAEL-3299: Updated to use JobParameters * BAEL-3299: Fixed broken startup and included cleanup for tests * BAEL-3299: Fine tuned version. Fixed formatting. * BAEL-3299: Cleaned up redundant stuff * BAEL-3299: Fixed formatting * BAEL-3299: Moved source code in spring-batch module * BAEL-3299: Fixed broken tests --- spring-batch/.gitignore | 3 +- spring-batch/pom.xml | 59 +++++++- .../src/main/java/org/baeldung/batch/App.java | 20 +-- .../org/baeldung/batch/SpringBatchConfig.java | 11 +- .../SpringbatchPartitionerApp.java | 12 +- .../batchtesting/SpringBatchApplication.java | 43 ++++++ .../SpringBatchConfiguration.java | 137 ++++++++++++++++++ .../org/baeldung/batchtesting/model/Book.java | 33 +++++ .../batchtesting/model/BookDetails.java | 50 +++++++ .../batchtesting/model/BookRecord.java | 60 ++++++++ .../service/BookDetailsItemProcessor.java | 24 +++ .../service/BookItemProcessor.java | 22 +++ .../service/BookRecordFieldSetMapper.java | 22 +++ .../batchtesting/application.properties | 3 + .../src/main/resources/batchtesting/input.csv | 8 + spring-batch/src/main/resources/logback.xml | 7 +- .../SpringContextIntegrationTest.java | 6 +- .../java/org/baeldung/SpringContextTest.java | 6 +- .../SpringBatchIntegrationTest.java | 115 +++++++++++++++ .../SpringBatchStepScopeIntegrationTest.java | 116 +++++++++++++++ .../test/resources/input/test-input-one.csv | 1 + .../src/test/resources/input/test-input.csv | 8 + .../test/resources/output/actual-output.json | 3 + .../resources/output/expected-output-one.json | 3 + .../resources/output/expected-output.json | 10 ++ 25 files changed, 750 insertions(+), 32 deletions(-) create mode 100644 spring-batch/src/main/java/org/baeldung/batchtesting/SpringBatchApplication.java create mode 100644 spring-batch/src/main/java/org/baeldung/batchtesting/SpringBatchConfiguration.java create mode 100644 spring-batch/src/main/java/org/baeldung/batchtesting/model/Book.java create mode 100644 spring-batch/src/main/java/org/baeldung/batchtesting/model/BookDetails.java create mode 100644 spring-batch/src/main/java/org/baeldung/batchtesting/model/BookRecord.java create mode 100644 spring-batch/src/main/java/org/baeldung/batchtesting/service/BookDetailsItemProcessor.java create mode 100644 spring-batch/src/main/java/org/baeldung/batchtesting/service/BookItemProcessor.java create mode 100644 spring-batch/src/main/java/org/baeldung/batchtesting/service/BookRecordFieldSetMapper.java create mode 100644 spring-batch/src/main/resources/batchtesting/application.properties create mode 100644 spring-batch/src/main/resources/batchtesting/input.csv create mode 100644 spring-batch/src/test/java/org/baeldung/batchtesting/SpringBatchIntegrationTest.java create mode 100644 spring-batch/src/test/java/org/baeldung/batchtesting/SpringBatchStepScopeIntegrationTest.java create mode 100644 spring-batch/src/test/resources/input/test-input-one.csv create mode 100644 spring-batch/src/test/resources/input/test-input.csv create mode 100644 spring-batch/src/test/resources/output/actual-output.json create mode 100644 spring-batch/src/test/resources/output/expected-output-one.json create mode 100644 spring-batch/src/test/resources/output/expected-output.json diff --git a/spring-batch/.gitignore b/spring-batch/.gitignore index 0ef6d10b38..5c16bc1baf 100644 --- a/spring-batch/.gitignore +++ b/spring-batch/.gitignore @@ -1 +1,2 @@ -output.csv \ No newline at end of file +output.csv +output.json \ No newline at end of file diff --git a/spring-batch/pom.xml b/spring-batch/pom.xml index e81078568b..48d3baeae3 100644 --- a/spring-batch/pom.xml +++ b/spring-batch/pom.xml @@ -15,12 +15,30 @@ + + + + + javax.xml.bind + jaxb-api + ${jaxb.version} + runtime + + + + org.glassfish.jaxb + jaxb-runtime + ${jaxb.version} + runtime + + org.xerial sqlite-jdbc ${sqlite.version} + org.springframework spring-oxm @@ -32,40 +50,67 @@ + org.springframework spring-jdbc ${spring.version} + org.springframework.batch spring-batch-core ${spring.batch.version} + org.springframework.batch spring-batch-test ${spring.batch.version} + com.opencsv opencsv ${opencsv.version} + + + org.springframework.boot + spring-boot-starter-batch + ${spring.boot.version} + + + + org.hsqldb + hsqldb + 2.5.0 + runtime + - org.awaitility - awaitility - ${awaitility.version} - test - + org.awaitility + awaitility + ${awaitility.version} + test + + + + org.springframework.boot + spring-boot-starter-test + ${spring.boot.version} + test + + - 5.0.3.RELEASE - 4.0.0.RELEASE + 5.2.0.RELEASE + 4.2.0.RELEASE + 2.1.9.RELEASE 3.15.1 4.1 + 2.3.1 3.1.1 diff --git a/spring-batch/src/main/java/org/baeldung/batch/App.java b/spring-batch/src/main/java/org/baeldung/batch/App.java index 749591aa03..91b99ba571 100644 --- a/spring-batch/src/main/java/org/baeldung/batch/App.java +++ b/spring-batch/src/main/java/org/baeldung/batch/App.java @@ -1,5 +1,7 @@ package org.baeldung.batch; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.batch.core.Job; import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.JobParameters; @@ -8,6 +10,9 @@ import org.springframework.batch.core.launch.JobLauncher; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class App { + + private static final Logger LOGGER = LoggerFactory.getLogger(App.class); + public static void main(final String[] args) { // Spring Java config final AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); @@ -27,19 +32,16 @@ public class App { final JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher"); final Job job = (Job) context.getBean(batchJobName); - System.out.println("----------------------------------------"); - System.out.println("Starting the batch job: " + batchJobName); + LOGGER.info("Starting the batch job: {}", batchJobName); try { - // To enable multiple execution of a job with the same parameters - JobParameters jobParameters = new JobParametersBuilder() - .addString("jobID", String.valueOf(System.currentTimeMillis())) - .toJobParameters(); + // To enable multiple execution of a job with the same parameters + JobParameters jobParameters = new JobParametersBuilder().addString("jobID", String.valueOf(System.currentTimeMillis())) + .toJobParameters(); final JobExecution execution = jobLauncher.run(job, jobParameters); - System.out.println("Job Status : " + execution.getStatus()); - System.out.println("Job succeeded"); + LOGGER.info("Job Status : {}", execution.getStatus()); } catch (final Exception e) { e.printStackTrace(); - System.out.println("Job failed"); + LOGGER.error("Job failed {}", e.getMessage()); } } } \ No newline at end of file diff --git a/spring-batch/src/main/java/org/baeldung/batch/SpringBatchConfig.java b/spring-batch/src/main/java/org/baeldung/batch/SpringBatchConfig.java index b318dda154..07dd65bcfd 100644 --- a/spring-batch/src/main/java/org/baeldung/batch/SpringBatchConfig.java +++ b/spring-batch/src/main/java/org/baeldung/batch/SpringBatchConfig.java @@ -86,9 +86,14 @@ public class SpringBatchConfig { } @Bean - protected Step step1(@Qualifier("itemProcessor") ItemProcessor processor, - ItemWriter writer) throws ParseException { - return stepBuilderFactory.get("step1").chunk(10).reader(itemReader(inputCsv)).processor(processor).writer(writer).build(); + protected Step step1(@Qualifier("itemProcessor") ItemProcessor processor, ItemWriter writer) throws ParseException { + return stepBuilderFactory + .get("step1") + . chunk(10) + .reader(itemReader(inputCsv)) + .processor(processor) + .writer(writer) + .build(); } @Bean(name = "firstBatchJob") diff --git a/spring-batch/src/main/java/org/baeldung/batch/partitioner/SpringbatchPartitionerApp.java b/spring-batch/src/main/java/org/baeldung/batch/partitioner/SpringbatchPartitionerApp.java index e56afc591c..f456135058 100644 --- a/spring-batch/src/main/java/org/baeldung/batch/partitioner/SpringbatchPartitionerApp.java +++ b/spring-batch/src/main/java/org/baeldung/batch/partitioner/SpringbatchPartitionerApp.java @@ -1,5 +1,7 @@ package org.baeldung.batch.partitioner; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.batch.core.Job; import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.JobParameters; @@ -7,6 +9,9 @@ import org.springframework.batch.core.launch.JobLauncher; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class SpringbatchPartitionerApp { + + private static final Logger LOGGER = LoggerFactory.getLogger(SpringbatchPartitionerApp.class); + public static void main(final String[] args) { // Spring Java config final AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); @@ -15,14 +20,13 @@ public class SpringbatchPartitionerApp { final JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher"); final Job job = (Job) context.getBean("partitionerJob"); - System.out.println("Starting the batch job"); + LOGGER.info("Starting the batch job"); try { final JobExecution execution = jobLauncher.run(job, new JobParameters()); - System.out.println("Job Status : " + execution.getStatus()); - System.out.println("Job succeeded"); + LOGGER.info("Job Status : {}", execution.getStatus()); } catch (final Exception e) { e.printStackTrace(); - System.out.println("Job failed"); + LOGGER.error("Job failed {}", e.getMessage()); } } } \ No newline at end of file diff --git a/spring-batch/src/main/java/org/baeldung/batchtesting/SpringBatchApplication.java b/spring-batch/src/main/java/org/baeldung/batchtesting/SpringBatchApplication.java new file mode 100644 index 0000000000..39bfdfbee7 --- /dev/null +++ b/spring-batch/src/main/java/org/baeldung/batchtesting/SpringBatchApplication.java @@ -0,0 +1,43 @@ +package org.baeldung.batchtesting; + +import org.springframework.batch.core.Job; +import org.springframework.batch.core.JobParametersBuilder; +import org.springframework.batch.core.launch.JobLauncher; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.PropertySource; + +@SpringBootApplication +@PropertySource("classpath:batchtesting/application.properties") +public class SpringBatchApplication implements CommandLineRunner { + + @Autowired + private JobLauncher jobLauncher; + + @Autowired + @Qualifier("transformBooksRecords") + private Job transformBooksRecordsJob; + + @Value("${file.input}") + private String input; + + @Value("${file.output}") + private String output; + + public static void main(String[] args) { + SpringApplication.run(SpringBatchApplication.class, args); + } + + @Override + public void run(String... args) throws Exception { + JobParametersBuilder paramsBuilder = new JobParametersBuilder(); + paramsBuilder.addString("file.input", input); + paramsBuilder.addString("file.output", output); + jobLauncher.run(transformBooksRecordsJob, paramsBuilder.toJobParameters()); + } + +} diff --git a/spring-batch/src/main/java/org/baeldung/batchtesting/SpringBatchConfiguration.java b/spring-batch/src/main/java/org/baeldung/batchtesting/SpringBatchConfiguration.java new file mode 100644 index 0000000000..2d891ad7da --- /dev/null +++ b/spring-batch/src/main/java/org/baeldung/batchtesting/SpringBatchConfiguration.java @@ -0,0 +1,137 @@ +package org.baeldung.batchtesting; + +import java.io.IOException; + +import org.baeldung.batchtesting.model.Book; +import org.baeldung.batchtesting.model.BookDetails; +import org.baeldung.batchtesting.model.BookRecord; +import org.baeldung.batchtesting.service.BookDetailsItemProcessor; +import org.baeldung.batchtesting.service.BookItemProcessor; +import org.baeldung.batchtesting.service.BookRecordFieldSetMapper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.batch.core.Job; +import org.springframework.batch.core.Step; +import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing; +import org.springframework.batch.core.configuration.annotation.JobBuilderFactory; +import org.springframework.batch.core.configuration.annotation.StepBuilderFactory; +import org.springframework.batch.core.configuration.annotation.StepScope; +import org.springframework.batch.item.ItemReader; +import org.springframework.batch.item.ItemWriter; +import org.springframework.batch.item.file.FlatFileItemReader; +import org.springframework.batch.item.file.builder.FlatFileItemReaderBuilder; +import org.springframework.batch.item.file.mapping.FieldSetMapper; +import org.springframework.batch.item.json.JacksonJsonObjectMarshaller; +import org.springframework.batch.item.json.JsonFileItemWriter; +import org.springframework.batch.item.json.builder.JsonFileItemWriterBuilder; +import org.springframework.batch.item.support.ListItemWriter; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.FileSystemResource; + + +@Configuration +@EnableBatchProcessing +public class SpringBatchConfiguration { + + private static Logger LOGGER = LoggerFactory.getLogger(SpringBatchConfiguration.class); + + private static final String[] TOKENS = { "bookname", "bookauthor", "bookformat", "isbn", "publishyear" }; + + @Autowired + private JobBuilderFactory jobBuilderFactory; + + @Autowired + private StepBuilderFactory stepBuilderFactory; + + @Bean + @StepScope + public FlatFileItemReader csvItemReader(@Value("#{jobParameters['file.input']}") String input) { + FlatFileItemReaderBuilder builder = new FlatFileItemReaderBuilder<>(); + FieldSetMapper bookRecordFieldSetMapper = new BookRecordFieldSetMapper(); + LOGGER.info("Configuring reader to input {}", input); + // @formatter:off + return builder + .name("bookRecordItemReader") + .resource(new FileSystemResource(input)) + .delimited() + .names(TOKENS) + .fieldSetMapper(bookRecordFieldSetMapper) + .build(); + // @formatter:on + } + + @Bean + @StepScope + public JsonFileItemWriter jsonItemWriter(@Value("#{jobParameters['file.output']}") String output) throws IOException { + JsonFileItemWriterBuilder builder = new JsonFileItemWriterBuilder<>(); + JacksonJsonObjectMarshaller marshaller = new JacksonJsonObjectMarshaller<>(); + LOGGER.info("Configuring writer to output {}", output); + // @formatter:off + return builder + .name("bookItemWriter") + .jsonObjectMarshaller(marshaller) + .resource(new FileSystemResource(output)) + .build(); + // @formatter:on + } + + @Bean + @StepScope + public ListItemWriter listItemWriter() { + return new ListItemWriter(); + } + + @Bean + @StepScope + public BookItemProcessor bookItemProcessor() { + return new BookItemProcessor(); + } + + @Bean + @StepScope + public BookDetailsItemProcessor bookDetailsItemProcessor() { + return new BookDetailsItemProcessor(); + } + + @Bean + public Step step1(ItemReader csvItemReader, ItemWriter jsonItemWriter) throws IOException { + // @formatter:off + return stepBuilderFactory + .get("step1") + . chunk(3) + .reader(csvItemReader) + .processor(bookItemProcessor()) + .writer(jsonItemWriter) + .build(); + // @formatter:on + } + + @Bean + public Step step2(ItemReader csvItemReader, ItemWriter listItemWriter) { + // @formatter:off + return stepBuilderFactory + .get("step2") + . chunk(3) + .reader(csvItemReader) + .processor(bookDetailsItemProcessor()) + .writer(listItemWriter) + .build(); + // @formatter:on + } + + @Bean(name = "transformBooksRecords") + public Job transformBookRecords(Step step1, Step step2) throws IOException { + // @formatter:off + return jobBuilderFactory + .get("transformBooksRecords") + .flow(step1) + .next(step2) + .end() + .build(); + // @formatter:on + } + +} diff --git a/spring-batch/src/main/java/org/baeldung/batchtesting/model/Book.java b/spring-batch/src/main/java/org/baeldung/batchtesting/model/Book.java new file mode 100644 index 0000000000..3ea4a29e7f --- /dev/null +++ b/spring-batch/src/main/java/org/baeldung/batchtesting/model/Book.java @@ -0,0 +1,33 @@ +package org.baeldung.batchtesting.model; + +public class Book { + + private String author; + + private String name; + + public Book() { + } + + public String getAuthor() { + return author; + } + + public String getName() { + return name; + } + + public void setAuthor(String author) { + this.author = author; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return "Book [author=" + author + ", name=" + name + "]"; + } + +} diff --git a/spring-batch/src/main/java/org/baeldung/batchtesting/model/BookDetails.java b/spring-batch/src/main/java/org/baeldung/batchtesting/model/BookDetails.java new file mode 100644 index 0000000000..d9284fbc66 --- /dev/null +++ b/spring-batch/src/main/java/org/baeldung/batchtesting/model/BookDetails.java @@ -0,0 +1,50 @@ +package org.baeldung.batchtesting.model; + +public class BookDetails { + + private String bookName; + + private String bookFormat; + + private String publishingYear; + + private String bookISBN; + + public String getBookName() { + return bookName; + } + + public void setBookName(String bookName) { + this.bookName = bookName; + } + + public String getBookFormat() { + return bookFormat; + } + + public void setBookFormat(String bookFormat) { + this.bookFormat = bookFormat; + } + + public String getPublishingYear() { + return publishingYear; + } + + public void setPublishingYear(String publishingYear) { + this.publishingYear = publishingYear; + } + + public String getBookISBN() { + return bookISBN; + } + + public void setBookISBN(String bookISBN) { + this.bookISBN = bookISBN; + } + + @Override + public String toString() { + return "BookDetails [bookName=" + bookName + ", bookFormat=" + bookFormat + ", publishingYear=" + publishingYear + ", bookISBN=" + bookISBN + "]"; + } + +} diff --git a/spring-batch/src/main/java/org/baeldung/batchtesting/model/BookRecord.java b/spring-batch/src/main/java/org/baeldung/batchtesting/model/BookRecord.java new file mode 100644 index 0000000000..35fb40e878 --- /dev/null +++ b/spring-batch/src/main/java/org/baeldung/batchtesting/model/BookRecord.java @@ -0,0 +1,60 @@ +package org.baeldung.batchtesting.model; + +public class BookRecord { + + private String bookName; + + private String bookAuthor; + + private String bookFormat; + + private String bookISBN; + + private String publishingYear; + + public void setBookName(String bookName) { + this.bookName = bookName; + } + + public void setBookAuthor(String bookAuthor) { + this.bookAuthor = bookAuthor; + } + + public void setBookFormat(String bookFormat) { + this.bookFormat = bookFormat; + } + + public void setBookISBN(String bookISBN) { + this.bookISBN = bookISBN; + } + + public void setPublishingYear(String publishingYear) { + this.publishingYear = publishingYear; + } + + public String getBookName() { + return bookName; + } + + public String getBookAuthor() { + return bookAuthor; + } + + public String getBookFormat() { + return bookFormat; + } + + public String getBookISBN() { + return bookISBN; + } + + public String getPublishingYear() { + return publishingYear; + } + + @Override + public String toString() { + return "BookRecord [bookName=" + bookName + ", bookAuthor=" + bookAuthor + ", bookFormat=" + bookFormat + ", bookISBN=" + bookISBN + ", publishingYear=" + publishingYear + "]"; + } + +} diff --git a/spring-batch/src/main/java/org/baeldung/batchtesting/service/BookDetailsItemProcessor.java b/spring-batch/src/main/java/org/baeldung/batchtesting/service/BookDetailsItemProcessor.java new file mode 100644 index 0000000000..f3800fee51 --- /dev/null +++ b/spring-batch/src/main/java/org/baeldung/batchtesting/service/BookDetailsItemProcessor.java @@ -0,0 +1,24 @@ +package org.baeldung.batchtesting.service; + +import org.baeldung.batchtesting.model.BookDetails; +import org.baeldung.batchtesting.model.BookRecord; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.batch.item.ItemProcessor; + +public class BookDetailsItemProcessor implements ItemProcessor { + + private static Logger LOGGER = LoggerFactory.getLogger(BookDetailsItemProcessor.class); + + @Override + public BookDetails process(BookRecord item) throws Exception { + BookDetails bookDetails = new BookDetails(); + bookDetails.setBookFormat(item.getBookFormat()); + bookDetails.setBookISBN(item.getBookISBN()); + bookDetails.setPublishingYear(item.getPublishingYear()); + bookDetails.setBookName(item.getBookName()); + LOGGER.info("Processing bookdetails {}", bookDetails); + return bookDetails; + } + +} diff --git a/spring-batch/src/main/java/org/baeldung/batchtesting/service/BookItemProcessor.java b/spring-batch/src/main/java/org/baeldung/batchtesting/service/BookItemProcessor.java new file mode 100644 index 0000000000..69e72ba1d3 --- /dev/null +++ b/spring-batch/src/main/java/org/baeldung/batchtesting/service/BookItemProcessor.java @@ -0,0 +1,22 @@ +package org.baeldung.batchtesting.service; + +import org.baeldung.batchtesting.model.Book; +import org.baeldung.batchtesting.model.BookRecord; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.batch.item.ItemProcessor; + +public class BookItemProcessor implements ItemProcessor { + + private static Logger LOGGER = LoggerFactory.getLogger(BookItemProcessor.class); + + @Override + public Book process(BookRecord item) throws Exception { + Book book = new Book(); + book.setAuthor(item.getBookAuthor()); + book.setName(item.getBookName()); + LOGGER.info("Processing book {}", book); + return book; + } + +} diff --git a/spring-batch/src/main/java/org/baeldung/batchtesting/service/BookRecordFieldSetMapper.java b/spring-batch/src/main/java/org/baeldung/batchtesting/service/BookRecordFieldSetMapper.java new file mode 100644 index 0000000000..cfc36fed7a --- /dev/null +++ b/spring-batch/src/main/java/org/baeldung/batchtesting/service/BookRecordFieldSetMapper.java @@ -0,0 +1,22 @@ +package org.baeldung.batchtesting.service; + +import org.baeldung.batchtesting.model.BookRecord; +import org.springframework.batch.item.file.mapping.FieldSetMapper; +import org.springframework.batch.item.file.transform.FieldSet; +import org.springframework.validation.BindException; + + +public class BookRecordFieldSetMapper implements FieldSetMapper { + + @Override + public BookRecord mapFieldSet(FieldSet fieldSet) throws BindException { + BookRecord bookRecord = new BookRecord(); + bookRecord.setBookName(fieldSet.readString("bookname")); + bookRecord.setBookAuthor(fieldSet.readString("bookauthor")); + bookRecord.setBookFormat(fieldSet.readString("bookformat")); + bookRecord.setBookISBN(fieldSet.readString("isbn")); + bookRecord.setPublishingYear(fieldSet.readString("publishyear")); + return bookRecord; + } + +} diff --git a/spring-batch/src/main/resources/batchtesting/application.properties b/spring-batch/src/main/resources/batchtesting/application.properties new file mode 100644 index 0000000000..11af6f7d31 --- /dev/null +++ b/spring-batch/src/main/resources/batchtesting/application.properties @@ -0,0 +1,3 @@ +spring.batch.job.enabled=false +file.input=src/main/resources/batchtesting/input.csv +file.output=src/main/resources/batchtesting/output.json \ No newline at end of file diff --git a/spring-batch/src/main/resources/batchtesting/input.csv b/spring-batch/src/main/resources/batchtesting/input.csv new file mode 100644 index 0000000000..5b873241d4 --- /dev/null +++ b/spring-batch/src/main/resources/batchtesting/input.csv @@ -0,0 +1,8 @@ +Foundation,Asimov I.,hardcover,ISBN 12839,2018 +Roadside Picnic,Strugatski A.,paperback,ISBN 12839,1988 +Norwegian Wood,Murakami H.,paperback,ISBN 12839,2015 +Davinci Code,Brown D.,hardcover,ISBN 12839,2005 +Ubik,Dick K. P.,hardcover,ISBN 12839,2013 +JFK,King S.,paperback,ISBN 12839,2017 +Contact,Sagan C.,paperback,ISBN 12839,2000 +Brave New World,Huxley A.,paperback,ISBN 12839,1986 diff --git a/spring-batch/src/main/resources/logback.xml b/spring-batch/src/main/resources/logback.xml index 91d4292b8e..9a622ceb65 100644 --- a/spring-batch/src/main/resources/logback.xml +++ b/spring-batch/src/main/resources/logback.xml @@ -8,14 +8,17 @@ - + + + + + diff --git a/spring-batch/src/test/java/org/baeldung/SpringContextIntegrationTest.java b/spring-batch/src/test/java/org/baeldung/SpringContextIntegrationTest.java index c3a9f74759..0898603083 100644 --- a/spring-batch/src/test/java/org/baeldung/SpringContextIntegrationTest.java +++ b/spring-batch/src/test/java/org/baeldung/SpringContextIntegrationTest.java @@ -5,8 +5,8 @@ import org.junit.Test; public class SpringContextIntegrationTest { - @Test - public final void testMain() throws Exception { + @Test + public void testMain() throws Exception { App.main(null); - } + } } diff --git a/spring-batch/src/test/java/org/baeldung/SpringContextTest.java b/spring-batch/src/test/java/org/baeldung/SpringContextTest.java index 0de9a07b0a..1a4f923a1e 100644 --- a/spring-batch/src/test/java/org/baeldung/SpringContextTest.java +++ b/spring-batch/src/test/java/org/baeldung/SpringContextTest.java @@ -5,8 +5,8 @@ import org.junit.Test; public class SpringContextTest { - @Test - public final void testMain() throws Exception { + @Test + public void testMain() throws Exception { App.main(null); - } + } } diff --git a/spring-batch/src/test/java/org/baeldung/batchtesting/SpringBatchIntegrationTest.java b/spring-batch/src/test/java/org/baeldung/batchtesting/SpringBatchIntegrationTest.java new file mode 100644 index 0000000000..d66da89ba4 --- /dev/null +++ b/spring-batch/src/test/java/org/baeldung/batchtesting/SpringBatchIntegrationTest.java @@ -0,0 +1,115 @@ +package org.baeldung.batchtesting; + +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + +import java.util.Collection; + +import org.junit.After; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.batch.core.ExitStatus; +import org.springframework.batch.core.JobExecution; +import org.springframework.batch.core.JobInstance; +import org.springframework.batch.core.JobParameters; +import org.springframework.batch.core.JobParametersBuilder; +import org.springframework.batch.core.StepExecution; +import org.springframework.batch.test.AssertFile; +import org.springframework.batch.test.JobLauncherTestUtils; +import org.springframework.batch.test.JobRepositoryTestUtils; +import org.springframework.batch.test.context.SpringBatchTest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.core.io.FileSystemResource; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.annotation.DirtiesContext.ClassMode; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.TestExecutionListeners; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.support.DependencyInjectionTestExecutionListener; +import org.springframework.test.context.support.DirtiesContextTestExecutionListener; + +@RunWith(SpringRunner.class) +@SpringBatchTest +@EnableAutoConfiguration +@ContextConfiguration(classes = { SpringBatchConfiguration.class }) +@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class }) +@DirtiesContext(classMode = ClassMode.AFTER_CLASS) +public class SpringBatchIntegrationTest { + + private static final String TEST_OUTPUT = "src/test/resources/output/actual-output.json"; + + private static final String EXPECTED_OUTPUT = "src/test/resources/output/expected-output.json"; + + private static final String TEST_INPUT = "src/test/resources/input/test-input.csv"; + + @Autowired + private JobLauncherTestUtils jobLauncherTestUtils; + + @Autowired + private JobRepositoryTestUtils jobRepositoryTestUtils; + + @After + public void cleanUp() { + jobRepositoryTestUtils.removeJobExecutions(); + } + + private JobParameters defaultJobParameters() { + JobParametersBuilder paramsBuilder = new JobParametersBuilder(); + paramsBuilder.addString("file.input", TEST_INPUT); + paramsBuilder.addString("file.output", TEST_OUTPUT); + return paramsBuilder.toJobParameters(); + } + + @Test + public void givenReferenceOutput_whenJobExecuted_thenSuccess() throws Exception { + // given + FileSystemResource expectedResult = new FileSystemResource(EXPECTED_OUTPUT); + FileSystemResource actualResult = new FileSystemResource(TEST_OUTPUT); + + // when + JobExecution jobExecution = jobLauncherTestUtils.launchJob(defaultJobParameters()); + JobInstance actualJobInstance = jobExecution.getJobInstance(); + ExitStatus actualJobExitStatus = jobExecution.getExitStatus(); + + // then + assertThat(actualJobInstance.getJobName(), is("transformBooksRecords")); + assertThat(actualJobExitStatus.getExitCode(), is("COMPLETED")); + AssertFile.assertFileEquals(expectedResult, actualResult); + } + + @Test + public void givenReferenceOutput_whenStep1Executed_thenSuccess() throws Exception { + + // given + FileSystemResource expectedResult = new FileSystemResource(EXPECTED_OUTPUT); + FileSystemResource actualResult = new FileSystemResource(TEST_OUTPUT); + + // when + JobExecution jobExecution = jobLauncherTestUtils.launchStep("step1", defaultJobParameters()); + Collection actualStepExecutions = jobExecution.getStepExecutions(); + ExitStatus actualJobExitStatus = jobExecution.getExitStatus(); + + // then + assertThat(actualStepExecutions.size(), is(1)); + assertThat(actualJobExitStatus.getExitCode(), is("COMPLETED")); + AssertFile.assertFileEquals(expectedResult, actualResult); + } + + @Test + public void whenStep2Executed_thenSuccess() { + + // when + JobExecution jobExecution = jobLauncherTestUtils.launchStep("step2", defaultJobParameters()); + Collection actualStepExecutions = jobExecution.getStepExecutions(); + ExitStatus actualExitStatus = jobExecution.getExitStatus(); + + // then + assertThat(actualStepExecutions.size(), is(1)); + assertThat(actualExitStatus.getExitCode(), is("COMPLETED")); + actualStepExecutions.forEach(stepExecution -> { + assertThat(stepExecution.getWriteCount(), is(8)); + }); + } + +} diff --git a/spring-batch/src/test/java/org/baeldung/batchtesting/SpringBatchStepScopeIntegrationTest.java b/spring-batch/src/test/java/org/baeldung/batchtesting/SpringBatchStepScopeIntegrationTest.java new file mode 100644 index 0000000000..f7b888f0f9 --- /dev/null +++ b/spring-batch/src/test/java/org/baeldung/batchtesting/SpringBatchStepScopeIntegrationTest.java @@ -0,0 +1,116 @@ +package org.baeldung.batchtesting; + +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + +import java.util.Arrays; + +import org.baeldung.batchtesting.model.Book; +import org.baeldung.batchtesting.model.BookRecord; +import org.junit.After; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.batch.core.JobParameters; +import org.springframework.batch.core.JobParametersBuilder; +import org.springframework.batch.core.StepExecution; +import org.springframework.batch.item.file.FlatFileItemReader; +import org.springframework.batch.item.json.JsonFileItemWriter; +import org.springframework.batch.test.AssertFile; +import org.springframework.batch.test.JobRepositoryTestUtils; +import org.springframework.batch.test.MetaDataInstanceFactory; +import org.springframework.batch.test.StepScopeTestUtils; +import org.springframework.batch.test.context.SpringBatchTest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.core.io.FileSystemResource; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.annotation.DirtiesContext.ClassMode; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.TestExecutionListeners; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.support.DependencyInjectionTestExecutionListener; +import org.springframework.test.context.support.DirtiesContextTestExecutionListener; + + +@RunWith(SpringRunner.class) +@SpringBatchTest +@EnableAutoConfiguration +@ContextConfiguration(classes = { SpringBatchConfiguration.class }) +@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class }) +@DirtiesContext(classMode = ClassMode.AFTER_CLASS) +public class SpringBatchStepScopeIntegrationTest { + + private static final String TEST_OUTPUT = "src/test/resources/output/actual-output.json"; + + private static final String EXPECTED_OUTPUT_ONE = "src/test/resources/output/expected-output-one.json"; + + private static final String TEST_INPUT_ONE = "src/test/resources/input/test-input-one.csv"; + @Autowired + private JsonFileItemWriter jsonItemWriter; + + @Autowired + private FlatFileItemReader itemReader; + + @Autowired + private JobRepositoryTestUtils jobRepositoryTestUtils; + + private JobParameters defaultJobParameters() { + JobParametersBuilder paramsBuilder = new JobParametersBuilder(); + paramsBuilder.addString("file.input", TEST_INPUT_ONE); + paramsBuilder.addString("file.output", TEST_OUTPUT); + return paramsBuilder.toJobParameters(); + } + + @After + public void cleanUp() { + jobRepositoryTestUtils.removeJobExecutions(); + } + + @Test + public void givenMockedStep_whenReaderCalled_thenSuccess() throws Exception { + + // given + StepExecution stepExecution = MetaDataInstanceFactory.createStepExecution(defaultJobParameters()); + + // when + StepScopeTestUtils.doInStepScope(stepExecution, () -> { + BookRecord bookRecord; + itemReader.open(stepExecution.getExecutionContext()); + while ((bookRecord = itemReader.read()) != null) { + + // then + assertThat(bookRecord.getBookName(), is("Foundation")); + assertThat(bookRecord.getBookAuthor(), is("Asimov I.")); + assertThat(bookRecord.getBookISBN(), is("ISBN 12839")); + assertThat(bookRecord.getBookFormat(), is("hardcover")); + assertThat(bookRecord.getPublishingYear(), is("2018")); + } + itemReader.close(); + return null; + }); + } + + @Test + public void givenMockedStep_whenWriterCalled_thenSuccess() throws Exception { + + // given + FileSystemResource expectedResult = new FileSystemResource(EXPECTED_OUTPUT_ONE); + FileSystemResource actualResult = new FileSystemResource(TEST_OUTPUT); + Book demoBook = new Book(); + demoBook.setAuthor("Grisham J."); + demoBook.setName("The Firm"); + StepExecution stepExecution = MetaDataInstanceFactory.createStepExecution(defaultJobParameters()); + + // when + StepScopeTestUtils.doInStepScope(stepExecution, () -> { + + jsonItemWriter.open(stepExecution.getExecutionContext()); + jsonItemWriter.write(Arrays.asList(demoBook)); + jsonItemWriter.close(); + return null; + }); + + // then + AssertFile.assertFileEquals(expectedResult, actualResult); + } +} diff --git a/spring-batch/src/test/resources/input/test-input-one.csv b/spring-batch/src/test/resources/input/test-input-one.csv new file mode 100644 index 0000000000..2c0a5b1103 --- /dev/null +++ b/spring-batch/src/test/resources/input/test-input-one.csv @@ -0,0 +1 @@ +Foundation,Asimov I.,hardcover,ISBN 12839,2018 \ No newline at end of file diff --git a/spring-batch/src/test/resources/input/test-input.csv b/spring-batch/src/test/resources/input/test-input.csv new file mode 100644 index 0000000000..5b873241d4 --- /dev/null +++ b/spring-batch/src/test/resources/input/test-input.csv @@ -0,0 +1,8 @@ +Foundation,Asimov I.,hardcover,ISBN 12839,2018 +Roadside Picnic,Strugatski A.,paperback,ISBN 12839,1988 +Norwegian Wood,Murakami H.,paperback,ISBN 12839,2015 +Davinci Code,Brown D.,hardcover,ISBN 12839,2005 +Ubik,Dick K. P.,hardcover,ISBN 12839,2013 +JFK,King S.,paperback,ISBN 12839,2017 +Contact,Sagan C.,paperback,ISBN 12839,2000 +Brave New World,Huxley A.,paperback,ISBN 12839,1986 diff --git a/spring-batch/src/test/resources/output/actual-output.json b/spring-batch/src/test/resources/output/actual-output.json new file mode 100644 index 0000000000..1fd6cfcf37 --- /dev/null +++ b/spring-batch/src/test/resources/output/actual-output.json @@ -0,0 +1,3 @@ +[ + {"author":"Grisham J.","name":"The Firm"} +] diff --git a/spring-batch/src/test/resources/output/expected-output-one.json b/spring-batch/src/test/resources/output/expected-output-one.json new file mode 100644 index 0000000000..36c31c6d54 --- /dev/null +++ b/spring-batch/src/test/resources/output/expected-output-one.json @@ -0,0 +1,3 @@ +[ + {"author":"Grisham J.","name":"The Firm"} +] \ No newline at end of file diff --git a/spring-batch/src/test/resources/output/expected-output.json b/spring-batch/src/test/resources/output/expected-output.json new file mode 100644 index 0000000000..32ad8b7ead --- /dev/null +++ b/spring-batch/src/test/resources/output/expected-output.json @@ -0,0 +1,10 @@ +[ + {"author":"Asimov I.","name":"Foundation"}, + {"author":"Strugatski A.","name":"Roadside Picnic"}, + {"author":"Murakami H.","name":"Norwegian Wood"}, + {"author":"Brown D.","name":"Davinci Code"}, + {"author":"Dick K. P.","name":"Ubik"}, + {"author":"King S.","name":"JFK"}, + {"author":"Sagan C.","name":"Contact"}, + {"author":"Huxley A.","name":"Brave New World"} +] From 546701f1f7c53d5628c6be1034abffaf3fb8cf26 Mon Sep 17 00:00:00 2001 From: "m.raheem" Date: Tue, 15 Oct 2019 12:42:06 +0200 Subject: [PATCH 167/199] renaming unit tests + removing unused final keyword --- .../baeldung/jackson/deserialization/enums/Distance.java | 6 +++++- .../enums/customdeserializer/CustomEnumDeserializer.java | 8 ++++---- .../enums/customdeserializer/Distance.java | 6 +++++- .../deserialization/enums/jsoncreator/Distance.java | 6 +++++- .../deserialization/enums/jsonproperty/Distance.java | 6 +++++- .../jackson/deserialization/enums/jsonvalue/Distance.java | 6 +++++- ...ation.java => DefaultEnumDeserializationUnitTest.java} | 4 ++-- ...zation.java => EnumCustomDeserializationUnitTest.java} | 4 ++-- ...a => EnumDeserializationUsingJsonCreatorUnitTest.java} | 4 ++-- ... => EnumDeserializationUsingJsonPropertyUnitTest.java} | 4 ++-- ...ava => EnumDeserializationUsingJsonValueUnitTest.java} | 4 ++-- 11 files changed, 39 insertions(+), 19 deletions(-) rename jackson/src/test/java/com/baeldung/jackson/deserialization/enums/{DefaultJacksonEnumDeserialization.java => DefaultEnumDeserializationUnitTest.java} (73%) rename jackson/src/test/java/com/baeldung/jackson/deserialization/enums/customdeserializer/{JacksonEnumCustomDeserialization.java => EnumCustomDeserializationUnitTest.java} (72%) rename jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsoncreator/{JacksonEnumDeserializationUsingJsonCreator.java => EnumDeserializationUsingJsonCreatorUnitTest.java} (72%) rename jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonproperty/{JacksonEnumDeserializationUsingJsonProperty.java => EnumDeserializationUsingJsonPropertyUnitTest.java} (71%) rename jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonvalue/{JacksonEnumDeserializationUsingJsonValue.java => EnumDeserializationUsingJsonValueUnitTest.java} (71%) diff --git a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/Distance.java b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/Distance.java index ce332d34ae..2c96b6eb80 100644 --- a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/Distance.java +++ b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/Distance.java @@ -5,13 +5,17 @@ public enum Distance { KILOMETER("km", 1000), MILE("miles", 1609.34), METER("meters", 1), INCH("inches", 0.0254), CENTIMETER("cm", 0.01), MILLIMETER("mm", 0.001); private String unit; - private final double meters; + private double meters; private Distance(String unit, double meters) { this.unit = unit; this.meters = meters; } + public void setMeters(double meters) { + this.meters = meters; + } + public double getMeters() { return meters; } diff --git a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/CustomEnumDeserializer.java b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/CustomEnumDeserializer.java index 21be368e01..bae0c0df34 100644 --- a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/CustomEnumDeserializer.java +++ b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/CustomEnumDeserializer.java @@ -15,14 +15,14 @@ public class CustomEnumDeserializer extends StdDeserializer { this(null); } - public CustomEnumDeserializer(Class vc) { - super(vc); + public CustomEnumDeserializer(Class c) { + super(c); } @Override - public Distance deserialize(final JsonParser jsonParser, final DeserializationContext ctxt) throws IOException, JsonProcessingException { + public Distance deserialize(JsonParser jsonParser, DeserializationContext ctxt) throws IOException, JsonProcessingException { - final JsonNode node = jsonParser.getCodec().readTree(jsonParser); + JsonNode node = jsonParser.getCodec().readTree(jsonParser); String unit = node.get("unit").asText(); double meters = node.get("meters").asDouble(); diff --git a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/Distance.java b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/Distance.java index 4766b43435..9cb3a0c391 100644 --- a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/Distance.java +++ b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/customdeserializer/Distance.java @@ -8,7 +8,7 @@ public enum Distance { KILOMETER("km", 1000), MILE("miles", 1609.34), METER("meters", 1), INCH("inches", 0.0254), CENTIMETER("cm", 0.01), MILLIMETER("mm", 0.001); private String unit; - private final double meters; + private double meters; private Distance(String unit, double meters) { this.unit = unit; @@ -19,6 +19,10 @@ public enum Distance { return meters; } + public void setMeters(double meters) { + this.meters = meters; + } + public String getUnit() { return unit; } diff --git a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsoncreator/Distance.java b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsoncreator/Distance.java index 05c089ef69..18235fb5c6 100644 --- a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsoncreator/Distance.java +++ b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsoncreator/Distance.java @@ -8,13 +8,17 @@ public enum Distance { KILOMETER("km", 1000), MILE("miles", 1609.34), METER("meters", 1), INCH("inches", 0.0254), CENTIMETER("cm", 0.01), MILLIMETER("mm", 0.001); private String unit; - private final double meters; + private double meters; private Distance(String unit, double meters) { this.unit = unit; this.meters = meters; } + public void setMeters(double meters) { + this.meters = meters; + } + public double getMeters() { return meters; } diff --git a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsonproperty/Distance.java b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsonproperty/Distance.java index 2d324d7f8e..e671a9ae5b 100644 --- a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsonproperty/Distance.java +++ b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsonproperty/Distance.java @@ -23,13 +23,17 @@ public enum Distance { MILLIMETER("mm", 0.001); private String unit; - private final double meters; + private double meters; private Distance(String unit, double meters) { this.unit = unit; this.meters = meters; } + public void setMeters(double meters) { + this.meters = meters; + } + public double getMeters() { return meters; } diff --git a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsonvalue/Distance.java b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsonvalue/Distance.java index 06a6f870f5..44bb5f20c3 100644 --- a/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsonvalue/Distance.java +++ b/jackson/src/main/java/com/baeldung/jackson/deserialization/enums/jsonvalue/Distance.java @@ -7,13 +7,17 @@ public enum Distance { KILOMETER("km", 1000), MILE("miles", 1609.34), METER("meters", 1), INCH("inches", 0.0254), CENTIMETER("cm", 0.01), MILLIMETER("mm", 0.001); private String unit; - private final double meters; + private double meters; private Distance(String unit, double meters) { this.unit = unit; this.meters = meters; } + public void setMeters(double meters) { + this.meters = meters; + } + @JsonValue public double getMeters() { return meters; diff --git a/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/DefaultJacksonEnumDeserialization.java b/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/DefaultEnumDeserializationUnitTest.java similarity index 73% rename from jackson/src/test/java/com/baeldung/jackson/deserialization/enums/DefaultJacksonEnumDeserialization.java rename to jackson/src/test/java/com/baeldung/jackson/deserialization/enums/DefaultEnumDeserializationUnitTest.java index 12c9ffa10c..c7ce96e013 100644 --- a/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/DefaultJacksonEnumDeserialization.java +++ b/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/DefaultEnumDeserializationUnitTest.java @@ -6,10 +6,10 @@ import org.junit.Test; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.ObjectMapper; -public class DefaultJacksonEnumDeserialization { +public class DefaultEnumDeserializationUnitTest { @Test - public final void givenEnum_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { + public void givenEnum_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { String json = "{\"distance\":\"KILOMETER\"}"; City city = new ObjectMapper().readValue(json, City.class); diff --git a/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/customdeserializer/JacksonEnumCustomDeserialization.java b/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/customdeserializer/EnumCustomDeserializationUnitTest.java similarity index 72% rename from jackson/src/test/java/com/baeldung/jackson/deserialization/enums/customdeserializer/JacksonEnumCustomDeserialization.java rename to jackson/src/test/java/com/baeldung/jackson/deserialization/enums/customdeserializer/EnumCustomDeserializationUnitTest.java index 02354a336f..e8dbfa8df8 100644 --- a/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/customdeserializer/JacksonEnumCustomDeserialization.java +++ b/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/customdeserializer/EnumCustomDeserializationUnitTest.java @@ -6,10 +6,10 @@ import org.junit.Test; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.ObjectMapper; -public class JacksonEnumCustomDeserialization { +public class EnumCustomDeserializationUnitTest { @Test - public final void givenEnumWithCustomDeserializer_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { + public void givenEnumWithCustomDeserializer_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { String json = "{\"distance\": {\"unit\":\"miles\",\"meters\":1609.34}}"; City city = new ObjectMapper().readValue(json, City.class); diff --git a/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsoncreator/JacksonEnumDeserializationUsingJsonCreator.java b/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsoncreator/EnumDeserializationUsingJsonCreatorUnitTest.java similarity index 72% rename from jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsoncreator/JacksonEnumDeserializationUsingJsonCreator.java rename to jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsoncreator/EnumDeserializationUsingJsonCreatorUnitTest.java index eaa06d34b0..d778cbe26b 100644 --- a/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsoncreator/JacksonEnumDeserializationUsingJsonCreator.java +++ b/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsoncreator/EnumDeserializationUsingJsonCreatorUnitTest.java @@ -6,10 +6,10 @@ import org.junit.Test; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.ObjectMapper; -public class JacksonEnumDeserializationUsingJsonCreator { +public class EnumDeserializationUsingJsonCreatorUnitTest { @Test - public final void givenEnumWithJsonCreator_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { + public void givenEnumWithJsonCreator_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { String json = "{\"distance\": {\"unit\":\"miles\",\"meters\":1609.34}}"; City city = new ObjectMapper().readValue(json, City.class); diff --git a/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonproperty/JacksonEnumDeserializationUsingJsonProperty.java b/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonproperty/EnumDeserializationUsingJsonPropertyUnitTest.java similarity index 71% rename from jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonproperty/JacksonEnumDeserializationUsingJsonProperty.java rename to jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonproperty/EnumDeserializationUsingJsonPropertyUnitTest.java index 2743727f98..134f4a29cc 100644 --- a/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonproperty/JacksonEnumDeserializationUsingJsonProperty.java +++ b/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonproperty/EnumDeserializationUsingJsonPropertyUnitTest.java @@ -6,10 +6,10 @@ import org.junit.Test; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.ObjectMapper; -public class JacksonEnumDeserializationUsingJsonProperty { +public class EnumDeserializationUsingJsonPropertyUnitTest { @Test - public final void givenEnumWithJsonProperty_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { + public void givenEnumWithJsonProperty_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { String json = "{\"distance\": \"distance-in-km\"}"; City city = new ObjectMapper().readValue(json, City.class); diff --git a/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonvalue/JacksonEnumDeserializationUsingJsonValue.java b/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonvalue/EnumDeserializationUsingJsonValueUnitTest.java similarity index 71% rename from jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonvalue/JacksonEnumDeserializationUsingJsonValue.java rename to jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonvalue/EnumDeserializationUsingJsonValueUnitTest.java index d49cd4771b..85afcb9a69 100644 --- a/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonvalue/JacksonEnumDeserializationUsingJsonValue.java +++ b/jackson/src/test/java/com/baeldung/jackson/deserialization/enums/jsonvalue/EnumDeserializationUsingJsonValueUnitTest.java @@ -6,10 +6,10 @@ import org.junit.Test; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.ObjectMapper; -public class JacksonEnumDeserializationUsingJsonValue { +public class EnumDeserializationUsingJsonValueUnitTest { @Test - public final void givenEnumWithJsonValue_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { + public void givenEnumWithJsonValue_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { String json = "{\"distance\": \"0.0254\"}"; City city = new ObjectMapper().readValue(json, City.class); From c27a4c1238aaafa975237565947e7d003c6cf8eb Mon Sep 17 00:00:00 2001 From: "anshul.bansal" Date: Tue, 15 Oct 2019 15:29:22 +0300 Subject: [PATCH 168/199] removed already available method --- .../java/com/baeldung/springdatageode/repo/AuthorRepository.java | 1 - 1 file changed, 1 deletion(-) diff --git a/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/repo/AuthorRepository.java b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/repo/AuthorRepository.java index 3a311039a4..92f4165343 100644 --- a/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/repo/AuthorRepository.java +++ b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/repo/AuthorRepository.java @@ -8,5 +8,4 @@ import org.springframework.data.repository.CrudRepository; public interface AuthorRepository extends CrudRepository { - Optional findById(Long id); } From a244dd26986601d5057e674ce7b6a7144cc3a8e2 Mon Sep 17 00:00:00 2001 From: catalin-burcea Date: Tue, 15 Oct 2019 21:20:48 +0300 Subject: [PATCH 169/199] Move articles out of java-strings part2 --- algorithms-sorting/README.md | 1 + algorithms-sorting/pom.xml | 7 +++ .../stringsort}/AnagramValidator.java | 2 +- .../stringsort}/AnagramValidatorUnitTest.java | 8 +-- .../stringsort}/SortStringUnitTest.java | 6 +- .../core-java-string-apis/README.md | 12 ++++ .../core-java-string-apis/pom.xml | 55 +++++++++++++++++++ .../password/RandomPasswordGenerator.java | 16 +++--- .../streamtokenizer/StreamTokenizerDemo.java | 2 +- .../StringBuilderStringBuffer.java | 6 +- .../baeldung/stringtokenizer/MyTokenizer.java | 0 .../CharSequenceVsStringUnitTest.java | 2 +- .../StringFormatterExampleUnitTest.java | 10 ++-- .../password/StringPasswordUnitTest.java | 6 +- .../StreamTokenizerDemoUnitTest.java | 2 +- .../stringjoiner/StringJoinerUnitTest.java | 4 +- .../stringtokenizer/TokenizerUnitTest.java | 0 .../src/test/resources/data.csv | 3 + .../resources/stream-tokenizer-example.txt | 0 java-strings-2/README.md | 3 - java-strings-ops/README.md | 2 - java-strings/README.md | 3 - pom.xml | 2 + 23 files changed, 111 insertions(+), 41 deletions(-) rename {java-strings/src/main/java/com/baeldung/string/sorting => algorithms-sorting/src/main/java/com/baeldung/algorithms/stringsort}/AnagramValidator.java (93%) rename {java-strings/src/test/java/com/baeldung/string/sorting => algorithms-sorting/src/test/java/com/baeldung/algorithms/stringsort}/AnagramValidatorUnitTest.java (86%) rename {java-strings/src/test/java/com/baeldung/string/sorting => algorithms-sorting/src/test/java/com/baeldung/algorithms/stringsort}/SortStringUnitTest.java (94%) create mode 100644 core-java-modules/core-java-string-apis/README.md create mode 100644 core-java-modules/core-java-string-apis/pom.xml rename {java-strings-2/src/main/java/com/baeldung/string => core-java-modules/core-java-string-apis/src/main/java/com/baeldung}/password/RandomPasswordGenerator.java (99%) rename {java-strings-2/src/main/java/com/baeldung/string => core-java-modules/core-java-string-apis/src/main/java/com/baeldung}/streamtokenizer/StreamTokenizerDemo.java (98%) rename java-strings-ops/src/test/java/com/baeldung/string/StringBufferStringBuilder.java => core-java-modules/core-java-string-apis/src/main/java/com/baeldung/stringbuilderstringbuffer/StringBuilderStringBuffer.java (89%) rename {java-strings => core-java-modules/core-java-string-apis}/src/main/java/com/baeldung/stringtokenizer/MyTokenizer.java (100%) rename {java-strings-ops/src/test/java/com/baeldung/string => core-java-modules/core-java-string-apis/src/test/java/com/baeldung/charsequence}/CharSequenceVsStringUnitTest.java (97%) rename {java-strings-2/src/test/java/com/baeldung/string => core-java-modules/core-java-string-apis/src/test/java/com/baeldung}/formatter/StringFormatterExampleUnitTest.java (96%) rename {java-strings-2/src/test/java/com/baeldung/string => core-java-modules/core-java-string-apis/src/test/java/com/baeldung}/password/StringPasswordUnitTest.java (98%) rename {java-strings-2/src/test/java/com/baeldung/string => core-java-modules/core-java-string-apis/src/test/java/com/baeldung}/streamtokenizer/StreamTokenizerDemoUnitTest.java (96%) rename {java-strings => core-java-modules/core-java-string-apis}/src/test/java/com/baeldung/stringjoiner/StringJoinerUnitTest.java (100%) rename {java-strings => core-java-modules/core-java-string-apis}/src/test/java/com/baeldung/stringtokenizer/TokenizerUnitTest.java (100%) create mode 100644 core-java-modules/core-java-string-apis/src/test/resources/data.csv rename {java-strings-2/src/main => core-java-modules/core-java-string-apis/src/test}/resources/stream-tokenizer-example.txt (100%) diff --git a/algorithms-sorting/README.md b/algorithms-sorting/README.md index 4fd9d5e0c6..3f27cfea49 100644 --- a/algorithms-sorting/README.md +++ b/algorithms-sorting/README.md @@ -16,3 +16,4 @@ This module contains articles about sorting algorithms. - [Selection Sort in Java](https://www.baeldung.com/java-selection-sort) - [Sorting Strings by Contained Numbers in Java](https://www.baeldung.com/java-sort-strings-contained-numbers) - [Radix Sort in Java](https://www.baeldung.com/java-radix-sort) +- [Sorting a String Alphabetically in Java](https://www.baeldung.com/java-sort-string-alphabetically) diff --git a/algorithms-sorting/pom.xml b/algorithms-sorting/pom.xml index b25adf05a8..5bb19a8069 100644 --- a/algorithms-sorting/pom.xml +++ b/algorithms-sorting/pom.xml @@ -28,6 +28,12 @@ ${lombok.version} provided + + org.junit.jupiter + junit-jupiter-api + ${junit-jupiter-api.version} + test + org.assertj assertj-core @@ -52,6 +58,7 @@ 3.6.1 3.9.0 1.11 + 5.3.1
\ No newline at end of file diff --git a/java-strings/src/main/java/com/baeldung/string/sorting/AnagramValidator.java b/algorithms-sorting/src/main/java/com/baeldung/algorithms/stringsort/AnagramValidator.java similarity index 93% rename from java-strings/src/main/java/com/baeldung/string/sorting/AnagramValidator.java rename to algorithms-sorting/src/main/java/com/baeldung/algorithms/stringsort/AnagramValidator.java index c4f684383d..67b5e5facc 100644 --- a/java-strings/src/main/java/com/baeldung/string/sorting/AnagramValidator.java +++ b/algorithms-sorting/src/main/java/com/baeldung/algorithms/stringsort/AnagramValidator.java @@ -1,4 +1,4 @@ -package com.baeldung.string.sorting; +package com.baeldung.algorithms.stringsort; import java.util.Arrays; diff --git a/java-strings/src/test/java/com/baeldung/string/sorting/AnagramValidatorUnitTest.java b/algorithms-sorting/src/test/java/com/baeldung/algorithms/stringsort/AnagramValidatorUnitTest.java similarity index 86% rename from java-strings/src/test/java/com/baeldung/string/sorting/AnagramValidatorUnitTest.java rename to algorithms-sorting/src/test/java/com/baeldung/algorithms/stringsort/AnagramValidatorUnitTest.java index 07d31c7187..25fc274dd8 100644 --- a/java-strings/src/test/java/com/baeldung/string/sorting/AnagramValidatorUnitTest.java +++ b/algorithms-sorting/src/test/java/com/baeldung/algorithms/stringsort/AnagramValidatorUnitTest.java @@ -1,12 +1,10 @@ -package com.baeldung.string.sorting; +package com.baeldung.algorithms.stringsort; -import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.jupiter.api.Assertions.assertFalse; - import org.junit.jupiter.api.Test; -import com.baeldung.string.sorting.AnagramValidator; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; class AnagramValidatorUnitTest { diff --git a/java-strings/src/test/java/com/baeldung/string/sorting/SortStringUnitTest.java b/algorithms-sorting/src/test/java/com/baeldung/algorithms/stringsort/SortStringUnitTest.java similarity index 94% rename from java-strings/src/test/java/com/baeldung/string/sorting/SortStringUnitTest.java rename to algorithms-sorting/src/test/java/com/baeldung/algorithms/stringsort/SortStringUnitTest.java index 90d1dad554..226de64f07 100644 --- a/java-strings/src/test/java/com/baeldung/string/sorting/SortStringUnitTest.java +++ b/algorithms-sorting/src/test/java/com/baeldung/algorithms/stringsort/SortStringUnitTest.java @@ -1,9 +1,9 @@ -package com.baeldung.string.sorting; - -import java.util.Arrays; +package com.baeldung.algorithms.stringsort; import org.junit.jupiter.api.Test; +import java.util.Arrays; + import static org.assertj.core.api.Assertions.assertThat; class SortStringUnitTest { diff --git a/core-java-modules/core-java-string-apis/README.md b/core-java-modules/core-java-string-apis/README.md new file mode 100644 index 0000000000..fc36ba8640 --- /dev/null +++ b/core-java-modules/core-java-string-apis/README.md @@ -0,0 +1,12 @@ +## Java String APIs + +This module contains articles about string APIs. + +### Relevant Articles: +- [Java 8 StringJoiner](https://www.baeldung.com/java-string-joiner) +- [Quick Guide to the Java StringTokenizer](https://www.baeldung.com/java-stringtokenizer) +- [Guide to java.util.Formatter](https://www.baeldung.com/java-string-formatter) +- [Guide to StreamTokenizer](https://www.baeldung.com/java-streamtokenizer) +- [CharSequence vs. String in Java](https://www.baeldung.com/java-char-sequence-string) +- [StringBuilder and StringBuffer in Java](https://www.baeldung.com/java-string-builder-string-buffer) +- [Generate a Secure Random Password in Java](https://www.baeldung.com/java-generate-secure-password) diff --git a/core-java-modules/core-java-string-apis/pom.xml b/core-java-modules/core-java-string-apis/pom.xml new file mode 100644 index 0000000000..7d9d888fa1 --- /dev/null +++ b/core-java-modules/core-java-string-apis/pom.xml @@ -0,0 +1,55 @@ + + 4.0.0 + core-java-string-apis + 0.1.0-SNAPSHOT + jar + core-java-string-apis + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + + + + + org.openjdk.jmh + jmh-core + ${jmh-core.version} + + + org.openjdk.jmh + jmh-generator-annprocess + ${jmh-generator.version} + + + + org.passay + passay + ${passay.version} + + + org.apache.commons + commons-text + ${commons-text.version} + + + + + core-java-string-apis + + + src/main/resources + true + + + + + + 1.3.1 + 1.4 + + + diff --git a/java-strings-2/src/main/java/com/baeldung/string/password/RandomPasswordGenerator.java b/core-java-modules/core-java-string-apis/src/main/java/com/baeldung/password/RandomPasswordGenerator.java similarity index 99% rename from java-strings-2/src/main/java/com/baeldung/string/password/RandomPasswordGenerator.java rename to core-java-modules/core-java-string-apis/src/main/java/com/baeldung/password/RandomPasswordGenerator.java index 46af4d7c51..d49b13c9c9 100644 --- a/java-strings-2/src/main/java/com/baeldung/string/password/RandomPasswordGenerator.java +++ b/core-java-modules/core-java-string-apis/src/main/java/com/baeldung/password/RandomPasswordGenerator.java @@ -1,4 +1,11 @@ -package com.baeldung.string.password; +package com.baeldung.password; + +import org.apache.commons.lang3.RandomStringUtils; +import org.apache.commons.text.RandomStringGenerator; +import org.passay.CharacterRule; +import org.passay.EnglishCharacterData; +import org.passay.CharacterData; +import org.passay.PasswordGenerator; import java.security.SecureRandom; import java.util.Collections; @@ -8,13 +15,6 @@ import java.util.stream.Collectors; import java.util.stream.IntStream; import java.util.stream.Stream; -import org.apache.commons.lang3.RandomStringUtils; -import org.apache.commons.text.RandomStringGenerator; -import org.passay.CharacterData; -import org.passay.CharacterRule; -import org.passay.EnglishCharacterData; -import org.passay.PasswordGenerator; - public class RandomPasswordGenerator { /** diff --git a/java-strings-2/src/main/java/com/baeldung/string/streamtokenizer/StreamTokenizerDemo.java b/core-java-modules/core-java-string-apis/src/main/java/com/baeldung/streamtokenizer/StreamTokenizerDemo.java similarity index 98% rename from java-strings-2/src/main/java/com/baeldung/string/streamtokenizer/StreamTokenizerDemo.java rename to core-java-modules/core-java-string-apis/src/main/java/com/baeldung/streamtokenizer/StreamTokenizerDemo.java index 3bb0ff5b77..5ab506f259 100644 --- a/java-strings-2/src/main/java/com/baeldung/string/streamtokenizer/StreamTokenizerDemo.java +++ b/core-java-modules/core-java-string-apis/src/main/java/com/baeldung/streamtokenizer/StreamTokenizerDemo.java @@ -1,4 +1,4 @@ -package com.baeldung.string.streamtokenizer; +package com.baeldung.streamtokenizer; import java.io.*; import java.util.ArrayList; diff --git a/java-strings-ops/src/test/java/com/baeldung/string/StringBufferStringBuilder.java b/core-java-modules/core-java-string-apis/src/main/java/com/baeldung/stringbuilderstringbuffer/StringBuilderStringBuffer.java similarity index 89% rename from java-strings-ops/src/test/java/com/baeldung/string/StringBufferStringBuilder.java rename to core-java-modules/core-java-string-apis/src/main/java/com/baeldung/stringbuilderstringbuffer/StringBuilderStringBuffer.java index 72af4a9aee..50c139e2d3 100644 --- a/java-strings-ops/src/test/java/com/baeldung/string/StringBufferStringBuilder.java +++ b/core-java-modules/core-java-string-apis/src/main/java/com/baeldung/stringbuilderstringbuffer/StringBuilderStringBuffer.java @@ -1,4 +1,4 @@ -package com.baeldung.string; +package com.baeldung.stringbuilderstringbuffer; import org.openjdk.jmh.annotations.Benchmark; import org.openjdk.jmh.annotations.Scope; @@ -8,12 +8,12 @@ import org.openjdk.jmh.runner.RunnerException; import org.openjdk.jmh.runner.options.Options; import org.openjdk.jmh.runner.options.OptionsBuilder; -public class StringBufferStringBuilder { +public class StringBuilderStringBuffer { public static void main(String[] args) throws RunnerException { Options opt = new OptionsBuilder() - .include(StringBufferStringBuilder.class.getSimpleName()) + .include(StringBuilderStringBuffer.class.getSimpleName()) .build(); new Runner(opt).run(); diff --git a/java-strings/src/main/java/com/baeldung/stringtokenizer/MyTokenizer.java b/core-java-modules/core-java-string-apis/src/main/java/com/baeldung/stringtokenizer/MyTokenizer.java similarity index 100% rename from java-strings/src/main/java/com/baeldung/stringtokenizer/MyTokenizer.java rename to core-java-modules/core-java-string-apis/src/main/java/com/baeldung/stringtokenizer/MyTokenizer.java diff --git a/java-strings-ops/src/test/java/com/baeldung/string/CharSequenceVsStringUnitTest.java b/core-java-modules/core-java-string-apis/src/test/java/com/baeldung/charsequence/CharSequenceVsStringUnitTest.java similarity index 97% rename from java-strings-ops/src/test/java/com/baeldung/string/CharSequenceVsStringUnitTest.java rename to core-java-modules/core-java-string-apis/src/test/java/com/baeldung/charsequence/CharSequenceVsStringUnitTest.java index 916a3c79ff..aa15345bcb 100644 --- a/java-strings-ops/src/test/java/com/baeldung/string/CharSequenceVsStringUnitTest.java +++ b/core-java-modules/core-java-string-apis/src/test/java/com/baeldung/charsequence/CharSequenceVsStringUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string; +package com.baeldung.charsequence; import org.junit.Test; diff --git a/java-strings-2/src/test/java/com/baeldung/string/formatter/StringFormatterExampleUnitTest.java b/core-java-modules/core-java-string-apis/src/test/java/com/baeldung/formatter/StringFormatterExampleUnitTest.java similarity index 96% rename from java-strings-2/src/test/java/com/baeldung/string/formatter/StringFormatterExampleUnitTest.java rename to core-java-modules/core-java-string-apis/src/test/java/com/baeldung/formatter/StringFormatterExampleUnitTest.java index 648fdaf65a..549c889028 100644 --- a/java-strings-2/src/test/java/com/baeldung/string/formatter/StringFormatterExampleUnitTest.java +++ b/core-java-modules/core-java-string-apis/src/test/java/com/baeldung/formatter/StringFormatterExampleUnitTest.java @@ -1,12 +1,12 @@ -package com.baeldung.string.formatter; +package com.baeldung.formatter; + +import org.junit.Test; import java.util.Calendar; import java.util.Formatter; import java.util.GregorianCalendar; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import org.junit.Test; + +import static org.junit.Assert.*; public class StringFormatterExampleUnitTest { diff --git a/java-strings-2/src/test/java/com/baeldung/string/password/StringPasswordUnitTest.java b/core-java-modules/core-java-string-apis/src/test/java/com/baeldung/password/StringPasswordUnitTest.java similarity index 98% rename from java-strings-2/src/test/java/com/baeldung/string/password/StringPasswordUnitTest.java rename to core-java-modules/core-java-string-apis/src/test/java/com/baeldung/password/StringPasswordUnitTest.java index bfd4b0fe8e..7fb55ad1cb 100644 --- a/java-strings-2/src/test/java/com/baeldung/string/password/StringPasswordUnitTest.java +++ b/core-java-modules/core-java-string-apis/src/test/java/com/baeldung/password/StringPasswordUnitTest.java @@ -1,9 +1,9 @@ -package com.baeldung.string.password; - -import static org.junit.Assert.assertTrue; +package com.baeldung.password; import org.junit.Test; +import static org.junit.Assert.assertTrue; + /** * Examples of passwords conforming to various specifications, using different libraries. * diff --git a/java-strings-2/src/test/java/com/baeldung/string/streamtokenizer/StreamTokenizerDemoUnitTest.java b/core-java-modules/core-java-string-apis/src/test/java/com/baeldung/streamtokenizer/StreamTokenizerDemoUnitTest.java similarity index 96% rename from java-strings-2/src/test/java/com/baeldung/string/streamtokenizer/StreamTokenizerDemoUnitTest.java rename to core-java-modules/core-java-string-apis/src/test/java/com/baeldung/streamtokenizer/StreamTokenizerDemoUnitTest.java index 01091ec629..29214167be 100644 --- a/java-strings-2/src/test/java/com/baeldung/string/streamtokenizer/StreamTokenizerDemoUnitTest.java +++ b/core-java-modules/core-java-string-apis/src/test/java/com/baeldung/streamtokenizer/StreamTokenizerDemoUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string.streamtokenizer; +package com.baeldung.streamtokenizer; import org.junit.Test; diff --git a/java-strings/src/test/java/com/baeldung/stringjoiner/StringJoinerUnitTest.java b/core-java-modules/core-java-string-apis/src/test/java/com/baeldung/stringjoiner/StringJoinerUnitTest.java similarity index 100% rename from java-strings/src/test/java/com/baeldung/stringjoiner/StringJoinerUnitTest.java rename to core-java-modules/core-java-string-apis/src/test/java/com/baeldung/stringjoiner/StringJoinerUnitTest.java index a72f811336..89f91acd6e 100644 --- a/java-strings/src/test/java/com/baeldung/stringjoiner/StringJoinerUnitTest.java +++ b/core-java-modules/core-java-string-apis/src/test/java/com/baeldung/stringjoiner/StringJoinerUnitTest.java @@ -1,6 +1,6 @@ package com.baeldung.stringjoiner; -import static org.junit.Assert.assertEquals; +import org.junit.Test; import java.util.ArrayList; import java.util.Arrays; @@ -8,7 +8,7 @@ import java.util.List; import java.util.StringJoiner; import java.util.stream.Collectors; -import org.junit.Test; +import static org.junit.Assert.assertEquals; public class StringJoinerUnitTest { private final String DELIMITER_COMMA = ","; diff --git a/java-strings/src/test/java/com/baeldung/stringtokenizer/TokenizerUnitTest.java b/core-java-modules/core-java-string-apis/src/test/java/com/baeldung/stringtokenizer/TokenizerUnitTest.java similarity index 100% rename from java-strings/src/test/java/com/baeldung/stringtokenizer/TokenizerUnitTest.java rename to core-java-modules/core-java-string-apis/src/test/java/com/baeldung/stringtokenizer/TokenizerUnitTest.java diff --git a/core-java-modules/core-java-string-apis/src/test/resources/data.csv b/core-java-modules/core-java-string-apis/src/test/resources/data.csv new file mode 100644 index 0000000000..ec4ac10443 --- /dev/null +++ b/core-java-modules/core-java-string-apis/src/test/resources/data.csv @@ -0,0 +1,3 @@ +1|IND|India +2|MY|Malaysia +3|AU|Australia diff --git a/java-strings-2/src/main/resources/stream-tokenizer-example.txt b/core-java-modules/core-java-string-apis/src/test/resources/stream-tokenizer-example.txt similarity index 100% rename from java-strings-2/src/main/resources/stream-tokenizer-example.txt rename to core-java-modules/core-java-string-apis/src/test/resources/stream-tokenizer-example.txt diff --git a/java-strings-2/README.md b/java-strings-2/README.md index 9865019f74..ced813163d 100644 --- a/java-strings-2/README.md +++ b/java-strings-2/README.md @@ -9,12 +9,10 @@ This module contains articles about strings in Java. - [Removing Stopwords from a String in Java](https://www.baeldung.com/java-string-remove-stopwords) - [Java – Generate Random String](https://www.baeldung.com/java-random-string) - [Java Base64 Encoding and Decoding](https://www.baeldung.com/java-base64-encode-and-decode) -- [Generate a Secure Random Password in Java](https://www.baeldung.com/java-generate-secure-password) - [Removing Repeated Characters from a String](https://www.baeldung.com/java-remove-repeated-char) - [Join Array of Primitives with Separator in Java](https://www.baeldung.com/java-join-primitive-array) - [Pad a String with Zeros or Spaces in Java](https://www.baeldung.com/java-pad-string) - [Remove Emojis from a Java String](https://www.baeldung.com/java-string-remove-emojis) -- [Guide to java.util.Formatter](https://www.baeldung.com/java-string-formatter) - [Remove Leading and Trailing Characters from a String](https://www.baeldung.com/java-remove-trailing-characters) - [Concatenating Strings In Java](https://www.baeldung.com/java-strings-concatenation) - [Java String Interview Questions and Answers](https://www.baeldung.com/java-string-interview-questions) @@ -26,5 +24,4 @@ This module contains articles about strings in Java. - [Checking If a String Is a Repeated Substring](https://www.baeldung.com/java-repeated-substring) - [How to Reverse a String in Java](https://www.baeldung.com/java-reverse-string) - [String toLowerCase and toUpperCase Methods in Java](https://www.baeldung.com/java-string-convert-case) -- [Guide to StreamTokenizer](https://www.baeldung.com/java-streamtokenizer) - More articles: [[<-- prev>]](/java-strings) [[next -->]](/java-strings-3) diff --git a/java-strings-ops/README.md b/java-strings-ops/README.md index 3b00cd11ed..1300cf028e 100644 --- a/java-strings-ops/README.md +++ b/java-strings-ops/README.md @@ -14,5 +14,3 @@ This module contains articles about operations on strings in Java. - [Split a String in Java](https://www.baeldung.com/java-split-string) - [Common String Operations in Java](https://www.baeldung.com/java-string-operations) - [Java toString() Method](https://www.baeldung.com/java-tostring) -- [CharSequence vs. String in Java](https://www.baeldung.com/java-char-sequence-string) -- [StringBuilder and StringBuffer in Java](https://www.baeldung.com/java-string-builder-string-buffer) diff --git a/java-strings/README.md b/java-strings/README.md index 3146b54fa8..17b74231a4 100644 --- a/java-strings/README.md +++ b/java-strings/README.md @@ -4,12 +4,9 @@ This module contains articles about strings in Java. ### Relevant Articles: - [String Operations with Java Streams](https://www.baeldung.com/java-stream-operations-on-strings) -- [Java 8 StringJoiner](https://www.baeldung.com/java-string-joiner) -- [Quick Guide to the Java StringTokenizer](https://www.baeldung.com/java-stringtokenizer) - [Use char[] Array Over a String for Manipulating Passwords in Java?](https://www.baeldung.com/java-storing-passwords) - [Compact Strings in Java 9](https://www.baeldung.com/java-9-compact-string) - [Java Check a String for Lowercase/Uppercase Letter, Special Character and Digit](https://www.baeldung.com/java-lowercase-uppercase-special-character-digit-regex) -- [Sorting a String Alphabetically in Java](https://www.baeldung.com/java-sort-string-alphabetically) - [String Not Empty Test Assertions in Java](https://www.baeldung.com/java-assert-string-not-empty) - [String Performance Hints](https://www.baeldung.com/java-string-performance) - [Using indexOf to Find All Occurrences of a Word in a String](https://www.baeldung.com/java-indexOf-find-string-occurrences) diff --git a/pom.xml b/pom.xml index a00190c874..8b657454d8 100644 --- a/pom.xml +++ b/pom.xml @@ -430,6 +430,7 @@ core-java-modules/core-java-sun core-java-modules/core-java-string-conversions core-java-modules/core-java-string-conversions-2 + core-java-modules/core-java-string-apis core-java-modules/core-java core-java-modules/core-java-jvm core-scala @@ -1193,6 +1194,7 @@ core-java-modules/core-java-sun core-java-modules/core-java-string-conversions core-java-modules/core-java-string-conversions-2 + core-java-modules/core-java-string-apis core-scala couchbase custom-pmd From 7bc98e99c10657757e04f29de371eaf0b2a4b622 Mon Sep 17 00:00:00 2001 From: Kamlesh Kumar Date: Sun, 13 Oct 2019 12:48:59 +0530 Subject: [PATCH 170/199] BAEL-1363: Review Comments - applications port updated --- .../api-gateway/src/main/resources/application.yml | 4 ++-- .../weather-service/src/main/resources/application.yml | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/resources/application.yml b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/resources/application.yml index 9a7d3314a3..4a0662a960 100644 --- a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/resources/application.yml +++ b/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/resources/application.yml @@ -2,7 +2,7 @@ spring: application: name: api-gateway server: - port: 8008 + port: 7070 zuul: igoredServices: '*' @@ -18,5 +18,5 @@ ribbon: weather-service: ribbon: - listOfServers: localhost:7070 + listOfServers: localhost:8080 diff --git a/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/resources/application.yml b/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/resources/application.yml index 30ceeee438..242f842f44 100644 --- a/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/resources/application.yml +++ b/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/resources/application.yml @@ -1,5 +1,4 @@ spring: application: name: weather-service -server: - port: 7070 + From 85b5042cb7c6ca1c7c09dcfa7f782cc66648376e Mon Sep 17 00:00:00 2001 From: Gang Date: Tue, 15 Oct 2019 21:19:57 -0600 Subject: [PATCH 171/199] BAEL-3349, Add brackets and make the class public --- .../baeldung/algorithms/knapsack/Knapsack.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/knapsack/Knapsack.java b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/knapsack/Knapsack.java index a53ab21429..61c3f05a95 100644 --- a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/knapsack/Knapsack.java +++ b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/knapsack/Knapsack.java @@ -1,19 +1,22 @@ package com.baeldung.algorithms.knapsack; -class Knapsack { +public class Knapsack { public int knapsackRec(int[] w, int[] v, int n, int W) { - if (n <= 0) + if (n <= 0) { return 0; - else if (w[n - 1] > W) + } else if (w[n - 1] > W) { return knapsackRec(w, v, n - 1, W); - else + } else { return Math.max(knapsackRec(w, v, n - 1, W), v[n - 1] + knapsackRec(w, v, n - 1, W - w[n - 1])); + } } public int knapsackDP(int[] w, int[] v, int n, int W) { - if (n <= 0 || W <= 0) + if (n <= 0 || W <= 0) { return 0; + } + int[][] m = new int[n + 1][W + 1]; for (int j = 0; j <= W; j++) { m[0][j] = 0; @@ -21,10 +24,11 @@ class Knapsack { for (int i = 1; i <= n; i++) { for (int j = 1; j <= W; j++) { - if (w[i - 1] > j) + if (w[i - 1] > j) { m[i][j] = m[i - 1][j]; - else + } else { m[i][j] = Math.max(m[i - 1][j], m[i - 1][j - w[i - 1]] + v[i - 1]); + } } } return m[n][W]; From ad6fe27389569786e9d04ac8b0d876466c27d618 Mon Sep 17 00:00:00 2001 From: Sjmillington Date: Thu, 17 Oct 2019 16:23:02 +0100 Subject: [PATCH 172/199] [BAEL-16649] split kotlin-libraries module --- kotlin-libraries-2/README.md | 2 ++ kotlin-libraries-2/pom.xml | 21 +++++++++++++++++++ .../immutable/KotlinxImmutablesUnitTest.kt | 0 .../kotlin/immutable/ReadOnlyUnitTest.kt | 0 .../baeldung/mockk/AnnotationMockKUnitTest.kt | 0 .../com/baeldung/mockk/BasicMockKUnitTest.kt | 0 .../mockk/HierarchicalMockKUnitTest.kt | 0 .../com/baeldung/mockk/TestableService.kt | 0 kotlin-libraries/README.md | 2 -- kotlin-libraries/pom.xml | 21 ------------------- 10 files changed, 23 insertions(+), 23 deletions(-) rename {kotlin-libraries => kotlin-libraries-2}/src/test/kotlin/com/baeldung/kotlin/immutable/KotlinxImmutablesUnitTest.kt (100%) rename {kotlin-libraries => kotlin-libraries-2}/src/test/kotlin/com/baeldung/kotlin/immutable/ReadOnlyUnitTest.kt (100%) rename {kotlin-libraries => kotlin-libraries-2}/src/test/kotlin/com/baeldung/mockk/AnnotationMockKUnitTest.kt (100%) rename {kotlin-libraries => kotlin-libraries-2}/src/test/kotlin/com/baeldung/mockk/BasicMockKUnitTest.kt (100%) rename {kotlin-libraries => kotlin-libraries-2}/src/test/kotlin/com/baeldung/mockk/HierarchicalMockKUnitTest.kt (100%) rename {kotlin-libraries => kotlin-libraries-2}/src/test/kotlin/com/baeldung/mockk/TestableService.kt (100%) diff --git a/kotlin-libraries-2/README.md b/kotlin-libraries-2/README.md index 188f99dc16..4064ef67d8 100644 --- a/kotlin-libraries-2/README.md +++ b/kotlin-libraries-2/README.md @@ -6,4 +6,6 @@ This module contains articles about Kotlin Libraries. - [Jackson Support for Kotlin](https://www.baeldung.com/jackson-kotlin) - [Introduction to RxKotlin](https://www.baeldung.com/rxkotlin) +- [MockK: A Mocking Library for Kotlin](https://www.baeldung.com/kotlin-mockk) +- [Kotlin Immutable Collections](https://www.baeldung.com/kotlin-immutable-collections) - More articles: [[<-- prev]](/kotlin-libraries) diff --git a/kotlin-libraries-2/pom.xml b/kotlin-libraries-2/pom.xml index 14ac61a093..518142403e 100644 --- a/kotlin-libraries-2/pom.xml +++ b/kotlin-libraries-2/pom.xml @@ -28,9 +28,30 @@ junit test + + com.google.guava + guava + ${guava.version} + + + + org.jetbrains.kotlinx + kotlinx-collections-immutable + ${kotlinx-collections-immutable.version} + + + + io.mockk + mockk + ${mockk.version} + test + + 27.1-jre + 1.9.3 + 0.1 diff --git a/kotlin-libraries/src/test/kotlin/com/baeldung/kotlin/immutable/KotlinxImmutablesUnitTest.kt b/kotlin-libraries-2/src/test/kotlin/com/baeldung/kotlin/immutable/KotlinxImmutablesUnitTest.kt similarity index 100% rename from kotlin-libraries/src/test/kotlin/com/baeldung/kotlin/immutable/KotlinxImmutablesUnitTest.kt rename to kotlin-libraries-2/src/test/kotlin/com/baeldung/kotlin/immutable/KotlinxImmutablesUnitTest.kt diff --git a/kotlin-libraries/src/test/kotlin/com/baeldung/kotlin/immutable/ReadOnlyUnitTest.kt b/kotlin-libraries-2/src/test/kotlin/com/baeldung/kotlin/immutable/ReadOnlyUnitTest.kt similarity index 100% rename from kotlin-libraries/src/test/kotlin/com/baeldung/kotlin/immutable/ReadOnlyUnitTest.kt rename to kotlin-libraries-2/src/test/kotlin/com/baeldung/kotlin/immutable/ReadOnlyUnitTest.kt diff --git a/kotlin-libraries/src/test/kotlin/com/baeldung/mockk/AnnotationMockKUnitTest.kt b/kotlin-libraries-2/src/test/kotlin/com/baeldung/mockk/AnnotationMockKUnitTest.kt similarity index 100% rename from kotlin-libraries/src/test/kotlin/com/baeldung/mockk/AnnotationMockKUnitTest.kt rename to kotlin-libraries-2/src/test/kotlin/com/baeldung/mockk/AnnotationMockKUnitTest.kt diff --git a/kotlin-libraries/src/test/kotlin/com/baeldung/mockk/BasicMockKUnitTest.kt b/kotlin-libraries-2/src/test/kotlin/com/baeldung/mockk/BasicMockKUnitTest.kt similarity index 100% rename from kotlin-libraries/src/test/kotlin/com/baeldung/mockk/BasicMockKUnitTest.kt rename to kotlin-libraries-2/src/test/kotlin/com/baeldung/mockk/BasicMockKUnitTest.kt diff --git a/kotlin-libraries/src/test/kotlin/com/baeldung/mockk/HierarchicalMockKUnitTest.kt b/kotlin-libraries-2/src/test/kotlin/com/baeldung/mockk/HierarchicalMockKUnitTest.kt similarity index 100% rename from kotlin-libraries/src/test/kotlin/com/baeldung/mockk/HierarchicalMockKUnitTest.kt rename to kotlin-libraries-2/src/test/kotlin/com/baeldung/mockk/HierarchicalMockKUnitTest.kt diff --git a/kotlin-libraries/src/test/kotlin/com/baeldung/mockk/TestableService.kt b/kotlin-libraries-2/src/test/kotlin/com/baeldung/mockk/TestableService.kt similarity index 100% rename from kotlin-libraries/src/test/kotlin/com/baeldung/mockk/TestableService.kt rename to kotlin-libraries-2/src/test/kotlin/com/baeldung/mockk/TestableService.kt diff --git a/kotlin-libraries/README.md b/kotlin-libraries/README.md index e4b0a35d28..99a57c8293 100644 --- a/kotlin-libraries/README.md +++ b/kotlin-libraries/README.md @@ -14,6 +14,4 @@ This module contains articles about Kotlin Libraries. - [Introduction to Arrow in Kotlin](https://www.baeldung.com/kotlin-arrow) - [Kotlin with Ktor](https://www.baeldung.com/kotlin-ktor) - [REST API With Kotlin and Kovert](https://www.baeldung.com/kotlin-kovert) -- [MockK: A Mocking Library for Kotlin](https://www.baeldung.com/kotlin-mockk) -- [Kotlin Immutable Collections](https://www.baeldung.com/kotlin-immutable-collections) - More articles: [[next -->]](/kotlin-libraries-2) diff --git a/kotlin-libraries/pom.xml b/kotlin-libraries/pom.xml index 5299b5029e..7099166674 100644 --- a/kotlin-libraries/pom.xml +++ b/kotlin-libraries/pom.xml @@ -129,25 +129,7 @@ test - - com.google.guava - guava - ${guava.version} - - - - org.jetbrains.kotlinx - kotlinx-collections-immutable - ${kotlinx-collections-immutable.version} - - - - io.mockk - mockk - ${mockk.version} - test - net.bytebuddy byte-buddy @@ -185,13 +167,10 @@ 5.2.0 3.10.0 0.10.4 - 1.9.3 - 27.1-jre 3.3.0 1.8.13 2.6 2.3.0 - 0.1 0.7.3
From ba4c7594a63ff1bb4ecb504e3851ef453c96a173 Mon Sep 17 00:00:00 2001 From: Lukasz Rys <> Date: Fri, 18 Oct 2019 19:40:55 +0200 Subject: [PATCH 173/199] [ BAEL-3322 ] : Change method test names --- .../java/com/baeldung/jimfs/FileManipulationUnitTest.java | 4 ++-- .../java/com/baeldung/jimfs/FilePathReaderUnitTest.java | 4 ++-- .../java/com/baeldung/jimfs/FileRepositoryUnitTest.java | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileManipulationUnitTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileManipulationUnitTest.java index a7cb8e53c6..05f3405e57 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileManipulationUnitTest.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileManipulationUnitTest.java @@ -24,9 +24,9 @@ class FileManipulationUnitTest implements FileTestProvider { } @ParameterizedTest - @DisplayName("Should create a file on a file system") + @DisplayName("Should move file to new destination") @MethodSource("provideFileSystem") - void shouldCreateFile(final FileSystem fileSystem) throws Exception { + void givenEachSystem_whenMovingFile_thenMovedToNewPath(final FileSystem fileSystem) throws Exception { final Path origin = fileSystem.getPath(RESOURCE_FILE_NAME); Files.copy(getResourceFilePath(), origin); final Path destination = fileSystem.getPath("newDirectory", RESOURCE_FILE_NAME); diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FilePathReaderUnitTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FilePathReaderUnitTest.java index e5326fc84c..f95b76a86d 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FilePathReaderUnitTest.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FilePathReaderUnitTest.java @@ -19,7 +19,7 @@ class FilePathReaderUnitTest { @Test @DisplayName("Should get path on windows") - void shouldGetPath_onWindows() throws Exception { + void givenWindowsSystem_shouldGetPath_thenReturnWindowsPath() throws Exception { final FileSystem fileSystem = Jimfs.newFileSystem(Configuration.windows()); final Path path = getPathToFile(fileSystem); @@ -30,7 +30,7 @@ class FilePathReaderUnitTest { @Test @DisplayName("Should get path on unix") - void shouldGetPath_onUnix() throws Exception { + void givenUnixSystem_shouldGetPath_thenReturnUnixPath() throws Exception { final FileSystem fileSystem = Jimfs.newFileSystem(Configuration.unix()); final Path path = getPathToFile(fileSystem); diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java index ebb95e79ac..b7dc1f91de 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java @@ -17,7 +17,7 @@ class FileRepositoryUnitTest implements FileTestProvider { @Test @DisplayName("Should create a file on a file system") - void shouldCreateFile() { + void givenUnixSystem_whenCreatingFile_thenCreatedInPath() { final FileSystem fileSystem = Jimfs.newFileSystem(Configuration.unix()); final String fileName = "newFile.txt"; final Path pathToStore = fileSystem.getPath(""); @@ -29,7 +29,7 @@ class FileRepositoryUnitTest implements FileTestProvider { @Test @DisplayName("Should read the content of the file") - void shouldReadFileContent_thenReturnIt() throws Exception { + void givenOSXSystem_whenReadingFile_thenContentIsReturned() throws Exception { final FileSystem fileSystem = Jimfs.newFileSystem(Configuration.osX()); final Path resourceFilePath = fileSystem.getPath(RESOURCE_FILE_NAME); Files.copy(getResourceFilePath(), resourceFilePath); @@ -41,7 +41,7 @@ class FileRepositoryUnitTest implements FileTestProvider { @Test @DisplayName("Should update the content of the file") - void shouldUpdateContentOfTheFile() throws Exception { + void givenWindowsSystem_whenUpdatingFile_thenContentHasChanged() throws Exception { final FileSystem fileSystem = Jimfs.newFileSystem(Configuration.windows()); final Path resourceFilePath = fileSystem.getPath(RESOURCE_FILE_NAME); Files.copy(getResourceFilePath(), resourceFilePath); @@ -55,7 +55,7 @@ class FileRepositoryUnitTest implements FileTestProvider { @Test @DisplayName("Should delete file") - void shouldDeleteFile() throws Exception { + void givenRandomSystem_whenDeletingFile_thenFileHasBeenDeleted() throws Exception { final FileSystem fileSystem = Jimfs.newFileSystem(); final Path resourceFilePath = fileSystem.getPath(RESOURCE_FILE_NAME); Files.copy(getResourceFilePath(), resourceFilePath); From bb0178340dd165664d2ffa4e4e94776d6f89c388 Mon Sep 17 00:00:00 2001 From: Lukasz Rys <> Date: Fri, 18 Oct 2019 20:04:51 +0200 Subject: [PATCH 174/199] [ BAEL-3322 ] : Change naming, add final --- .../src/main/java/com/baeldung/jimfs/FilePathReader.java | 5 +++-- .../test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/testing-modules/mocks/src/main/java/com/baeldung/jimfs/FilePathReader.java b/testing-modules/mocks/src/main/java/com/baeldung/jimfs/FilePathReader.java index 3504207125..9c5371910e 100644 --- a/testing-modules/mocks/src/main/java/com/baeldung/jimfs/FilePathReader.java +++ b/testing-modules/mocks/src/main/java/com/baeldung/jimfs/FilePathReader.java @@ -5,12 +5,13 @@ import java.io.UncheckedIOException; import java.nio.file.Path; class FilePathReader { - String getSystemPath(Path path) { + + String getSystemPath(final Path path) { try { return path .toRealPath() .toString(); - } catch (IOException ex) { + } catch (final IOException ex) { throw new UncheckedIOException(ex); } } diff --git a/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java index b7dc1f91de..c72c2f1a1f 100644 --- a/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java +++ b/testing-modules/mocks/src/test/java/com/baeldung/jimfs/FileRepositoryUnitTest.java @@ -55,7 +55,7 @@ class FileRepositoryUnitTest implements FileTestProvider { @Test @DisplayName("Should delete file") - void givenRandomSystem_whenDeletingFile_thenFileHasBeenDeleted() throws Exception { + void givenCurrentSystem_whenDeletingFile_thenFileHasBeenDeleted() throws Exception { final FileSystem fileSystem = Jimfs.newFileSystem(); final Path resourceFilePath = fileSystem.getPath(RESOURCE_FILE_NAME); Files.copy(getResourceFilePath(), resourceFilePath); From f0df9a7998b9c02bf131e63b857c85f87fcfb665 Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Fri, 18 Oct 2019 23:39:07 +0530 Subject: [PATCH 175/199] BAEL-17684 Pom properties cleanup --- ddd/pom.xml | 4 --- disruptor/pom.xml | 11 +-------- dozer/pom.xml | 1 - dubbo/pom.xml | 1 - ethereum/pom.xml | 3 --- flyway-cdi-extension/pom.xml | 3 --- google-web-toolkit/pom.xml | 1 - gson/pom.xml | 1 - guava-collections-map/pom.xml | 6 ----- guava-collections-set/pom.xml | 3 --- guava-collections/pom.xml | 2 -- guava-io/pom.xml | 1 - guava-modules/guava-18/pom.xml | 4 --- guava-modules/guava-19/pom.xml | 4 --- guava-modules/guava-21/pom.xml | 1 - guava/pom.xml | 4 --- hazelcast/pom.xml | 1 - httpclient-simple/pom.xml | 1 - httpclient/pom.xml | 45 ---------------------------------- hystrix/pom.xml | 14 ----------- 20 files changed, 1 insertion(+), 110 deletions(-) diff --git a/ddd/pom.xml b/ddd/pom.xml index 4ac65ea841..c249007ba4 100644 --- a/ddd/pom.xml +++ b/ddd/pom.xml @@ -3,7 +3,6 @@ 4.0.0 com.baeldung.ddd ddd - 0.0.1-SNAPSHOT ddd jar DDD series examples @@ -35,7 +34,6 @@ org.junit.platform junit-platform-launcher - ${junit-platform.version} test @@ -85,8 +83,6 @@ 1.0.1 - 2.22.0 - 2.0.6.RELEASE \ No newline at end of file diff --git a/disruptor/pom.xml b/disruptor/pom.xml index e1d78e7ed6..a4859d4bae 100644 --- a/disruptor/pom.xml +++ b/disruptor/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung disruptor 0.1.0-SNAPSHOT disruptor @@ -15,11 +14,6 @@ - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - com.lmax disruptor @@ -116,10 +110,7 @@ 3.3.6 - - 6.10 - 3.6.1 - + 2.4.3 3.0.2 1.4.4 diff --git a/dozer/pom.xml b/dozer/pom.xml index 8234eb4c79..c781962d83 100644 --- a/dozer/pom.xml +++ b/dozer/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung dozer 1.0 dozer diff --git a/dubbo/pom.xml b/dubbo/pom.xml index 9fe228bf89..947175b6a0 100644 --- a/dubbo/pom.xml +++ b/dubbo/pom.xml @@ -32,7 +32,6 @@ 2.5.7 3.4.11 0.10 - 2.19.1 diff --git a/ethereum/pom.xml b/ethereum/pom.xml index 80e1c04676..f4850df844 100644 --- a/ethereum/pom.xml +++ b/ethereum/pom.xml @@ -3,7 +3,6 @@ 4.0.0 com.baeldung.ethereum ethereum - 0.0.1-SNAPSHOT ethereum @@ -207,8 +206,6 @@ - UTF-8 - 8.5.4 1.5.0-RELEASE 3.3.1 1.5.6.RELEASE diff --git a/flyway-cdi-extension/pom.xml b/flyway-cdi-extension/pom.xml index e8b327e35f..49bd6bd9fd 100644 --- a/flyway-cdi-extension/pom.xml +++ b/flyway-cdi-extension/pom.xml @@ -3,7 +3,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.baeldung flyway-cdi-extension 1.0-SNAPSHOT flyway-cdi-extension @@ -51,8 +50,6 @@ - 1.8 - 1.8 2.0.SP1 3.0.5.Final 5.1.4 diff --git a/google-web-toolkit/pom.xml b/google-web-toolkit/pom.xml index 0723cd3be2..8a7cb87701 100644 --- a/google-web-toolkit/pom.xml +++ b/google-web-toolkit/pom.xml @@ -5,7 +5,6 @@ 4.0.0 - com.baeldung google-web-toolkit 1.0-SNAPSHOT google-web-toolkit diff --git a/gson/pom.xml b/gson/pom.xml index 9d2cf630d0..4aa6c00458 100644 --- a/gson/pom.xml +++ b/gson/pom.xml @@ -2,7 +2,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.baeldung gson 0.1-SNAPSHOT gson diff --git a/guava-collections-map/pom.xml b/guava-collections-map/pom.xml index 45bb6b8caa..21597d0e28 100644 --- a/guava-collections-map/pom.xml +++ b/guava-collections-map/pom.xml @@ -13,9 +13,6 @@ ../parent-java - - - guava-collections-map @@ -26,7 +23,4 @@ - - - \ No newline at end of file diff --git a/guava-collections-set/pom.xml b/guava-collections-set/pom.xml index 46dcae492d..640a28c4c1 100644 --- a/guava-collections-set/pom.xml +++ b/guava-collections-set/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung guava-collections-set 0.1.0-SNAPSHOT guava-collections-set @@ -28,8 +27,6 @@ - - 27.1-jre 3.6.1 diff --git a/guava-collections/pom.xml b/guava-collections/pom.xml index 8cdb086029..9dfcceaab8 100644 --- a/guava-collections/pom.xml +++ b/guava-collections/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung guava-collections 0.1.0-SNAPSHOT guava-collections @@ -54,7 +53,6 @@ - 24.0-jre 4.1 diff --git a/guava-io/pom.xml b/guava-io/pom.xml index 2a66baba80..aaaf7edd4e 100644 --- a/guava-io/pom.xml +++ b/guava-io/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung guava-io 0.1.0-SNAPSHOT guava-io diff --git a/guava-modules/guava-18/pom.xml b/guava-modules/guava-18/pom.xml index d55aa9ce82..199d735a41 100644 --- a/guava-modules/guava-18/pom.xml +++ b/guava-modules/guava-18/pom.xml @@ -13,8 +13,4 @@ ../../parent-java - - 18.0 - - \ No newline at end of file diff --git a/guava-modules/guava-19/pom.xml b/guava-modules/guava-19/pom.xml index 0548bb0c1f..c431f78cf7 100644 --- a/guava-modules/guava-19/pom.xml +++ b/guava-modules/guava-19/pom.xml @@ -13,8 +13,4 @@ ../../parent-java - - 19.0 - - \ No newline at end of file diff --git a/guava-modules/guava-21/pom.xml b/guava-modules/guava-21/pom.xml index bdb1058a48..150ce2d4d2 100644 --- a/guava-modules/guava-21/pom.xml +++ b/guava-modules/guava-21/pom.xml @@ -22,7 +22,6 @@ - 21.0 0.9.12 diff --git a/guava/pom.xml b/guava/pom.xml index 3a19901a02..fb8989111c 100644 --- a/guava/pom.xml +++ b/guava/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung guava 0.1.0-SNAPSHOT guava @@ -41,9 +40,6 @@ - - 24.0-jre - 3.6.1 diff --git a/hazelcast/pom.xml b/hazelcast/pom.xml index 705792ad05..9e0b0671d0 100644 --- a/hazelcast/pom.xml +++ b/hazelcast/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung hazelcast 0.0.1-SNAPSHOT hazelcast diff --git a/httpclient-simple/pom.xml b/httpclient-simple/pom.xml index b2b0f98dd1..183c4438de 100644 --- a/httpclient-simple/pom.xml +++ b/httpclient-simple/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung httpclient-simple 0.1-SNAPSHOT httpclient-simple diff --git a/httpclient/pom.xml b/httpclient/pom.xml index 8cd483cfc6..6316ee4eed 100644 --- a/httpclient/pom.xml +++ b/httpclient/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung httpclient 0.1-SNAPSHOT httpclient @@ -48,11 +47,6 @@ httpmime ${httpclient.version} - - commons-codec - commons-codec - ${commons-codec.version} - org.apache.httpcomponents httpasyncclient @@ -82,51 +76,12 @@ - - - live - - - - org.apache.maven.plugins - maven-surefire-plugin - - - integration-test - - test - - - - **/*ManualTest.java - - - **/*LiveTest.java - - - - - - - json - - - - - - - - - 19.0 - 1.10 4.1.4 2.5.1 4.5.8 - - 1.6.1 \ No newline at end of file diff --git a/hystrix/pom.xml b/hystrix/pom.xml index e08af2c40f..4aeb47f095 100644 --- a/hystrix/pom.xml +++ b/hystrix/pom.xml @@ -41,23 +41,11 @@ hystrix-metrics-event-stream ${hystrix-metrics-event-stream.version} - com.netflix.rxjava rxjava-core ${rxjava-core.version} - - org.hamcrest - hamcrest-all - ${hamcrest-all.version} - test - - - org.springframework - spring-test - test - @@ -65,9 +53,7 @@ 1.5.8 0.20.7 - 2.7 1.5.8 - 1.5.8 From 9405318805ceeb2e389ea497c3d178f7d2130b2d Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Fri, 18 Oct 2019 23:48:22 +0530 Subject: [PATCH 176/199] BAEL-17684 Pom properties cleanup --- disruptor/pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/disruptor/pom.xml b/disruptor/pom.xml index a4859d4bae..213331f25c 100644 --- a/disruptor/pom.xml +++ b/disruptor/pom.xml @@ -14,6 +14,11 @@ + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + com.lmax disruptor From 88a83f5d2c0eb15ffd574ddb9b3ed929bf497694 Mon Sep 17 00:00:00 2001 From: Vivek Balasubramaniam Date: Sat, 19 Oct 2019 17:46:30 +0530 Subject: [PATCH 177/199] BAEL-3091: The Prototype Pattern in Java (Code review comments) --- .../src/main/java/com/baeldung/prototype/Tree.java | 8 ++++---- .../main/java/com/baeldung/prototype/TreeCloneable.java | 7 ------- .../com/baeldung/prototype/TreePrototypeUnitTest.java | 4 ++-- 3 files changed, 6 insertions(+), 13 deletions(-) delete mode 100644 patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/TreeCloneable.java diff --git a/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java b/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java index 242ed2176e..470704765c 100644 --- a/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java +++ b/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java @@ -1,6 +1,6 @@ package com.baeldung.prototype; -public class Tree implements TreeCloneable { +public class Tree implements Cloneable { private double mass; private double height; @@ -36,10 +36,10 @@ public class Tree implements TreeCloneable { } @Override - public TreeCloneable createA_Clone() { - TreeCloneable tree = null; + public Tree clone() { + Tree tree = null; try { - tree = (TreeCloneable) super.clone(); + tree = (Tree) super.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } diff --git a/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/TreeCloneable.java b/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/TreeCloneable.java deleted file mode 100644 index e554058624..0000000000 --- a/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/TreeCloneable.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.baeldung.prototype; - -public interface TreeCloneable extends Cloneable { - - public TreeCloneable createA_Clone(); - -} diff --git a/patterns/design-patterns-creational/src/test/java/com/baeldung/prototype/TreePrototypeUnitTest.java b/patterns/design-patterns-creational/src/test/java/com/baeldung/prototype/TreePrototypeUnitTest.java index 7f260c52bf..0d06da53d6 100644 --- a/patterns/design-patterns-creational/src/test/java/com/baeldung/prototype/TreePrototypeUnitTest.java +++ b/patterns/design-patterns-creational/src/test/java/com/baeldung/prototype/TreePrototypeUnitTest.java @@ -12,10 +12,10 @@ public class TreePrototypeUnitTest { double height = 3.7; Position position = new Position(3, 7); Position otherPosition = new Position(4, 8); - + Tree tree = new Tree(mass, height); tree.setPosition(position); - Tree anotherTree = (Tree) tree.createA_Clone(); + Tree anotherTree = tree.clone(); anotherTree.setPosition(otherPosition); assertEquals(position, tree.getPosition()); From a5f90502fc8a584646102416fcb258bc13924d62 Mon Sep 17 00:00:00 2001 From: Vivek Balasubramaniam Date: Sat, 19 Oct 2019 18:00:56 +0530 Subject: [PATCH 178/199] Minor changes to the toString() method --- .../src/main/java/com/baeldung/prototype/Tree.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java b/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java index 470704765c..f95d568647 100644 --- a/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java +++ b/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java @@ -48,7 +48,7 @@ public class Tree implements Cloneable { @Override public String toString() { - return "SomeTree [mass=" + mass + ", height=" + height + ", position=" + position + "]"; + return "Tree [mass=" + mass + ", height=" + height + ", position=" + position + "]"; } } From 33a31701cd5d5b21ae64467cfc7d83b7ed1d87e5 Mon Sep 17 00:00:00 2001 From: fejera Date: Sat, 19 Oct 2019 16:43:11 +0200 Subject: [PATCH 179/199] cleaned up persistence.xml --- .../java-jpa-2/src/main/resources/META-INF/persistence.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/persistence-modules/java-jpa-2/src/main/resources/META-INF/persistence.xml b/persistence-modules/java-jpa-2/src/main/resources/META-INF/persistence.xml index 0602a82f6c..faf00e1b2b 100644 --- a/persistence-modules/java-jpa-2/src/main/resources/META-INF/persistence.xml +++ b/persistence-modules/java-jpa-2/src/main/resources/META-INF/persistence.xml @@ -144,8 +144,6 @@ - - From 22deaaa756ee547ed0b00a6a192fd1541c315f93 Mon Sep 17 00:00:00 2001 From: NickTononi <48349671+NickTononi@users.noreply.github.com> Date: Sat, 19 Oct 2019 22:19:09 +0200 Subject: [PATCH 180/199] [BAEL-3147] Java 'protected' modifier (#7886) * [BAEL-3147] Java 'protected' modifier * updated README.md * Update README.md * Update SecondGenericClass.java --- .../baeldung/core/modifiers/FirstClass.java | 18 +++++++++++++++++ .../baeldung/core/modifiers/GenericClass.java | 15 ++++++++++++++ .../modifiers/otherpackage/SecondClass.java | 18 +++++++++++++++++ .../otherpackage/SecondGenericClass.java | 20 +++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/FirstClass.java create mode 100644 core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/GenericClass.java create mode 100644 core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/otherpackage/SecondClass.java create mode 100644 core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/otherpackage/SecondGenericClass.java diff --git a/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/FirstClass.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/FirstClass.java new file mode 100644 index 0000000000..a80387d61a --- /dev/null +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/FirstClass.java @@ -0,0 +1,18 @@ +package com.baeldung.core.modifiers; + +public class FirstClass { + + protected String name; + + protected FirstClass(String name) { + this.name = name; + } + + protected String getName() { + return name; + } + + protected static class InnerClass { + public InnerClass() {} + } +} diff --git a/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/GenericClass.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/GenericClass.java new file mode 100644 index 0000000000..83381931d0 --- /dev/null +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/GenericClass.java @@ -0,0 +1,15 @@ +package com.baeldung.core.modifiers; + +public class GenericClass { + + public static void main(String[] args) { + // accessing protected constructor + FirstClass first = new FirstClass("random name"); + // using protected method + System.out.println("FirstClass name is " + first.getName()); + // accessing a protected field + first.name = "new name"; + // instantiating protected inner class + FirstClass.InnerClass innerClass = new FirstClass.InnerClass(); + } +} diff --git a/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/otherpackage/SecondClass.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/otherpackage/SecondClass.java new file mode 100644 index 0000000000..528f97539a --- /dev/null +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/otherpackage/SecondClass.java @@ -0,0 +1,18 @@ +package com.baeldung.core.modifiers.otherpackage; + +import com.baeldung.core.modifiers.FirstClass; + +public class SecondClass extends FirstClass { + + public SecondClass(String name) { + // accessing protected constructor + super(name); + // using protected method + System.out.println("SecondClass name is " + this.getName()); + // accessing a protected field + this.name = "new name"; + // instantiating protected inner class -> add public constructor to InnerClass + FirstClass.InnerClass innerClass = new FirstClass.InnerClass(); + } + +} diff --git a/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/otherpackage/SecondGenericClass.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/otherpackage/SecondGenericClass.java new file mode 100644 index 0000000000..d29533edef --- /dev/null +++ b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/core/modifiers/otherpackage/SecondGenericClass.java @@ -0,0 +1,20 @@ +package com.baeldung.core.modifiers.otherpackage; + +import com.baeldung.core.modifiers.FirstClass; +//import com.baeldung.core.modifiers.FirstClass.InnerClass; + +public class SecondGenericClass { + + // uncomment the following lines to see the errors + public static void main(String[] args) { + // accessing protected constructor + // FirstClass first = new FirstClass("random name"); + // using protected method + // System.out.println("FirstClass name is " + first.getName()); + // accessing a protected field + // first.name = "new name"; + // instantiating protected inner class + // FirstClass.InnerClass innerClass = new FirstClass.InnerClass(); + } + +} From 1fb34e3c6ae0a2562297a1414ece52f41b547898 Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Mon, 21 Oct 2019 21:42:13 +0530 Subject: [PATCH 181/199] BAEL-17684 Pom properties cleanup - Reverted guava module changes --- guava-modules/guava-18/pom.xml | 4 ++++ guava-modules/guava-19/pom.xml | 4 ++++ guava-modules/guava-21/pom.xml | 1 + 3 files changed, 9 insertions(+) diff --git a/guava-modules/guava-18/pom.xml b/guava-modules/guava-18/pom.xml index 199d735a41..d55aa9ce82 100644 --- a/guava-modules/guava-18/pom.xml +++ b/guava-modules/guava-18/pom.xml @@ -13,4 +13,8 @@ ../../parent-java + + 18.0 + + \ No newline at end of file diff --git a/guava-modules/guava-19/pom.xml b/guava-modules/guava-19/pom.xml index c431f78cf7..0548bb0c1f 100644 --- a/guava-modules/guava-19/pom.xml +++ b/guava-modules/guava-19/pom.xml @@ -13,4 +13,8 @@ ../../parent-java + + 19.0 + + \ No newline at end of file diff --git a/guava-modules/guava-21/pom.xml b/guava-modules/guava-21/pom.xml index 150ce2d4d2..bdb1058a48 100644 --- a/guava-modules/guava-21/pom.xml +++ b/guava-modules/guava-21/pom.xml @@ -22,6 +22,7 @@ + 21.0 0.9.12 From 15bf90a2bed930d9403f2c066cc53021c143454f Mon Sep 17 00:00:00 2001 From: at508 Date: Mon, 21 Oct 2019 22:04:26 -0400 Subject: [PATCH 182/199] [BAEL-2998] - Fix jenkins tests --- testing-modules/spring-testing/pom.xml | 8 +++++++- .../dirtiescontext/DirtiesContextIntegrationTest.java | 2 ++ .../ProfilePropertySourceResolverIntegrationTest.java | 10 +++++++--- ...pringBootPropertySourceResolverIntegrationTest.java | 8 ++++++-- ...tResourcePropertySourceResolverIntegrationTest.java | 10 +++++++--- 5 files changed, 29 insertions(+), 9 deletions(-) diff --git a/testing-modules/spring-testing/pom.xml b/testing-modules/spring-testing/pom.xml index 8a76dc903c..15431cfb77 100644 --- a/testing-modules/spring-testing/pom.xml +++ b/testing-modules/spring-testing/pom.xml @@ -84,6 +84,11 @@ ${junit.jupiter.version} test + + org.junit.platform + junit-platform-commons + ${junit.commons.version} + org.awaitility awaitility @@ -112,7 +117,8 @@ 2.0.0.0 3.1.6 - 5.4.0 + 5.5.0 + 1.5.2 5.1.4.RELEASE 4.0.1 2.1.1 diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/dirtiescontext/DirtiesContextIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/dirtiescontext/DirtiesContextIntegrationTest.java index f3e7b8c228..7afd4a22d4 100644 --- a/testing-modules/spring-testing/src/test/java/com/baeldung/dirtiescontext/DirtiesContextIntegrationTest.java +++ b/testing-modules/spring-testing/src/test/java/com/baeldung/dirtiescontext/DirtiesContextIntegrationTest.java @@ -10,10 +10,12 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext.MethodMode; import org.springframework.test.context.junit.jupiter.SpringExtension; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; @TestMethodOrder(OrderAnnotation.class) @ExtendWith(SpringExtension.class) @SpringBootTest(classes = SpringDataRestApplication.class) +@EnableWebMvc class DirtiesContextIntegrationTest { @Autowired diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/ProfilePropertySourceResolverIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/ProfilePropertySourceResolverIntegrationTest.java index 95d83420b7..815b628f0a 100644 --- a/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/ProfilePropertySourceResolverIntegrationTest.java +++ b/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/ProfilePropertySourceResolverIntegrationTest.java @@ -1,21 +1,25 @@ package com.baeldung.overrideproperties; -import com.baeldung.overrideproperties.resolver.PropertySourceResolver; +import static org.junit.Assert.assertEquals; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; -import static org.junit.Assert.assertEquals; +import com.baeldung.overrideproperties.resolver.PropertySourceResolver; @RunWith(SpringRunner.class) @SpringBootTest @ActiveProfiles("test") +@EnableWebMvc public class ProfilePropertySourceResolverIntegrationTest { - @Autowired private PropertySourceResolver propertySourceResolver; + @Autowired + private PropertySourceResolver propertySourceResolver; @Test public void shouldProfiledProperty_overridePropertyValues() { diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/SpringBootPropertySourceResolverIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/SpringBootPropertySourceResolverIntegrationTest.java index 573a46dd5f..d00aa51e6c 100644 --- a/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/SpringBootPropertySourceResolverIntegrationTest.java +++ b/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/SpringBootPropertySourceResolverIntegrationTest.java @@ -1,18 +1,22 @@ package com.baeldung.overrideproperties; -import com.baeldung.overrideproperties.resolver.PropertySourceResolver; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; + +import com.baeldung.overrideproperties.resolver.PropertySourceResolver; @RunWith(SpringRunner.class) @SpringBootTest(properties = { "example.firstProperty=annotation" }) +@EnableWebMvc public class SpringBootPropertySourceResolverIntegrationTest { - @Autowired private PropertySourceResolver propertySourceResolver; + @Autowired + private PropertySourceResolver propertySourceResolver; @Test public void shouldSpringBootTestAnnotation_overridePropertyValues() { diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/TestResourcePropertySourceResolverIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/TestResourcePropertySourceResolverIntegrationTest.java index c724713854..dc15851277 100644 --- a/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/TestResourcePropertySourceResolverIntegrationTest.java +++ b/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/TestResourcePropertySourceResolverIntegrationTest.java @@ -1,19 +1,23 @@ package com.baeldung.overrideproperties; -import com.baeldung.overrideproperties.resolver.PropertySourceResolver; +import static org.junit.Assert.assertEquals; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; -import static org.junit.Assert.assertEquals; +import com.baeldung.overrideproperties.resolver.PropertySourceResolver; @RunWith(SpringRunner.class) @SpringBootTest +@EnableWebMvc public class TestResourcePropertySourceResolverIntegrationTest { - @Autowired private PropertySourceResolver propertySourceResolver; + @Autowired + private PropertySourceResolver propertySourceResolver; @Test public void shouldTestResourceFile_overridePropertyValues() { From bcf119bf1a0c00c33418c7c0de3dc1c0ccd26cda Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Wed, 23 Oct 2019 06:50:50 +0530 Subject: [PATCH 183/199] Spring Integration Java DSL - Github Issue 7885 (#8060) * Spring Integration Java DSL - Github Issue 7885 - Fixed the bridge example * Spring Integration Java DSL - Github Issue 7885 - Fixed the bridge example --- .../java/com/baeldung/dsl/JavaDSLFileCopyConfig.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/spring-integration/src/main/java/com/baeldung/dsl/JavaDSLFileCopyConfig.java b/spring-integration/src/main/java/com/baeldung/dsl/JavaDSLFileCopyConfig.java index 7e91345f04..e79eec3e83 100644 --- a/spring-integration/src/main/java/com/baeldung/dsl/JavaDSLFileCopyConfig.java +++ b/spring-integration/src/main/java/com/baeldung/dsl/JavaDSLFileCopyConfig.java @@ -16,8 +16,10 @@ import org.springframework.integration.core.MessageSource; import org.springframework.integration.dsl.IntegrationFlow; import org.springframework.integration.dsl.IntegrationFlows; import org.springframework.integration.dsl.Pollers; +import org.springframework.integration.dsl.channel.MessageChannels; import org.springframework.integration.file.FileReadingMessageSource; import org.springframework.integration.file.FileWritingMessageHandler; +import org.springframework.messaging.MessageChannel; import org.springframework.messaging.MessageHandler; /** @@ -104,9 +106,14 @@ public class JavaDSLFileCopyConfig { return handler; } + @Bean + public MessageChannel holdingTank() { + return MessageChannels.queue().get(); + } + // @Bean public IntegrationFlow fileReader() { - return IntegrationFlows.from(sourceDirectory()) + return IntegrationFlows.from(sourceDirectory(), configurer -> configurer.poller(Pollers.fixedDelay(10))) .filter(onlyJpgs()) .channel("holdingTank") .get(); From 1de7b016a87b375e4573661f880cfcd24265c3e2 Mon Sep 17 00:00:00 2001 From: Martin van Wingerden Date: Wed, 23 Oct 2019 11:04:40 +0200 Subject: [PATCH 184/199] [BAEL-3315] Added missing code snippets from the Java 8 Date/Time article Also: - formatted changed files with Eclipse profile - corrected failing test: givenTwoDatesInJava8_whenDifferentiating_thenWeGetSix --- .../datetime/UseDateTimeFormatter.java | 21 ++++++++++ .../com/baeldung/datetime/UseLocalDate.java | 7 +++- .../baeldung/datetime/UseLocalDateTime.java | 4 ++ .../com/baeldung/datetime/UseLocalTime.java | 4 ++ .../baeldung/datetime/UseOffsetDateTime.java | 11 +++++ .../baeldung/datetime/UseZonedDateTime.java | 24 ++++++----- .../com/baeldung/date/DateDiffUnitTest.java | 11 ++--- ...DateTimeApiGeneralComparisonsUnitTest.java | 28 +++++++++---- .../dateapi/JavaDurationUnitTest.java | 35 ++++++++++++++-- .../baeldung/dateapi/JavaPeriodUnitTest.java | 41 +++++++++++++++---- .../UseDateTimeFormatterUnitTest.java | 36 ++++++++++++++++ .../datetime/UseLocalDateTimeUnitTest.java | 27 +++++++++++- .../datetime/UseLocalDateUnitTest.java | 29 ++++++++++++- .../datetime/UseLocalTimeUnitTest.java | 17 ++++++-- .../datetime/UseOffsetDateTimeUnitTest.java | 24 +++++++++++ .../datetime/UseToInstantUnitTest.java | 33 +++++++++++++++ .../datetime/UseZonedDateTimeUnitTest.java | 21 +++++++++- 17 files changed, 330 insertions(+), 43 deletions(-) create mode 100644 java-dates/src/main/java/com/baeldung/datetime/UseDateTimeFormatter.java create mode 100644 java-dates/src/main/java/com/baeldung/datetime/UseOffsetDateTime.java create mode 100644 java-dates/src/test/java/com/baeldung/datetime/UseDateTimeFormatterUnitTest.java create mode 100644 java-dates/src/test/java/com/baeldung/datetime/UseOffsetDateTimeUnitTest.java create mode 100644 java-dates/src/test/java/com/baeldung/datetime/UseToInstantUnitTest.java diff --git a/java-dates/src/main/java/com/baeldung/datetime/UseDateTimeFormatter.java b/java-dates/src/main/java/com/baeldung/datetime/UseDateTimeFormatter.java new file mode 100644 index 0000000000..13a2ba6a1a --- /dev/null +++ b/java-dates/src/main/java/com/baeldung/datetime/UseDateTimeFormatter.java @@ -0,0 +1,21 @@ +package com.baeldung.datetime; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.format.FormatStyle; +import java.util.Locale; + +public class UseDateTimeFormatter { + public String formatAsIsoDate(LocalDateTime localDateTime) { + return localDateTime.format(DateTimeFormatter.ISO_DATE); + } + + public String formatCustom(LocalDateTime localDateTime, String pattern) { + return localDateTime.format(DateTimeFormatter.ofPattern(pattern)); + } + + public String formatWithStyleAndLocale(LocalDateTime localDateTime, FormatStyle formatStyle, Locale locale) { + return localDateTime.format(DateTimeFormatter.ofLocalizedDateTime(formatStyle) + .withLocale(locale)); + } +} diff --git a/java-dates/src/main/java/com/baeldung/datetime/UseLocalDate.java b/java-dates/src/main/java/com/baeldung/datetime/UseLocalDate.java index b380c04fc2..ec8dfa2fc4 100644 --- a/java-dates/src/main/java/com/baeldung/datetime/UseLocalDate.java +++ b/java-dates/src/main/java/com/baeldung/datetime/UseLocalDate.java @@ -36,10 +36,15 @@ class UseLocalDate { } LocalDate getFirstDayOfMonth() { - LocalDate firstDayOfMonth = LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()); + LocalDate firstDayOfMonth = LocalDate.now() + .with(TemporalAdjusters.firstDayOfMonth()); return firstDayOfMonth; } + boolean isLeapYear(LocalDate localDate) { + return localDate.isLeapYear(); + } + LocalDateTime getStartOfDay(LocalDate localDate) { LocalDateTime startofDay = localDate.atStartOfDay(); return startofDay; diff --git a/java-dates/src/main/java/com/baeldung/datetime/UseLocalDateTime.java b/java-dates/src/main/java/com/baeldung/datetime/UseLocalDateTime.java index b2ff11ba16..267a9412eb 100644 --- a/java-dates/src/main/java/com/baeldung/datetime/UseLocalDateTime.java +++ b/java-dates/src/main/java/com/baeldung/datetime/UseLocalDateTime.java @@ -2,6 +2,7 @@ package com.baeldung.datetime; import java.time.LocalDateTime; import java.time.LocalTime; +import java.time.ZoneOffset; import java.time.temporal.ChronoField; public class UseLocalDateTime { @@ -21,4 +22,7 @@ public class UseLocalDateTime { return endOfDate; } + LocalDateTime ofEpochSecond(int epochSecond, ZoneOffset zoneOffset) { + return LocalDateTime.ofEpochSecond(epochSecond, 0, zoneOffset); + } } diff --git a/java-dates/src/main/java/com/baeldung/datetime/UseLocalTime.java b/java-dates/src/main/java/com/baeldung/datetime/UseLocalTime.java index 8d166c413f..876516e365 100644 --- a/java-dates/src/main/java/com/baeldung/datetime/UseLocalTime.java +++ b/java-dates/src/main/java/com/baeldung/datetime/UseLocalTime.java @@ -9,6 +9,10 @@ public class UseLocalTime { return LocalTime.of(hour, min, seconds); } + LocalTime getLocalTimeUsingFactoryOfMethod(int hour, int min) { + return LocalTime.of(hour, min); + } + LocalTime getLocalTimeUsingParseMethod(String timeRepresentation) { return LocalTime.parse(timeRepresentation); } diff --git a/java-dates/src/main/java/com/baeldung/datetime/UseOffsetDateTime.java b/java-dates/src/main/java/com/baeldung/datetime/UseOffsetDateTime.java new file mode 100644 index 0000000000..ed8499d6e0 --- /dev/null +++ b/java-dates/src/main/java/com/baeldung/datetime/UseOffsetDateTime.java @@ -0,0 +1,11 @@ +package com.baeldung.datetime; + +import java.time.LocalDateTime; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; + +public class UseOffsetDateTime { + public OffsetDateTime offsetOfLocalDateTimeAndOffset(LocalDateTime localDateTime, ZoneOffset offset) { + return OffsetDateTime.of(localDateTime, offset); + } +} diff --git a/java-dates/src/main/java/com/baeldung/datetime/UseZonedDateTime.java b/java-dates/src/main/java/com/baeldung/datetime/UseZonedDateTime.java index 505bfa741f..a8948e5ce1 100644 --- a/java-dates/src/main/java/com/baeldung/datetime/UseZonedDateTime.java +++ b/java-dates/src/main/java/com/baeldung/datetime/UseZonedDateTime.java @@ -12,31 +12,35 @@ class UseZonedDateTime { return ZonedDateTime.of(localDateTime, zoneId); } + ZonedDateTime getZonedDateTimeUsingParseMethod(String parsableString) { + return ZonedDateTime.parse(parsableString); + } + ZonedDateTime getStartOfDay(LocalDate localDate, ZoneId zone) { - ZonedDateTime startofDay = localDate.atStartOfDay() + ZonedDateTime startOfDay = localDate.atStartOfDay() .atZone(zone); - return startofDay; + return startOfDay; } ZonedDateTime getStartOfDayShorthand(LocalDate localDate, ZoneId zone) { - ZonedDateTime startofDay = localDate.atStartOfDay(zone); - return startofDay; + ZonedDateTime startOfDay = localDate.atStartOfDay(zone); + return startOfDay; } ZonedDateTime getStartOfDayFromZonedDateTime(ZonedDateTime zonedDateTime) { - ZonedDateTime startofDay = zonedDateTime.toLocalDateTime() + ZonedDateTime startOfDay = zonedDateTime.toLocalDateTime() .toLocalDate() .atStartOfDay(zonedDateTime.getZone()); - return startofDay; + return startOfDay; } ZonedDateTime getStartOfDayAtMinTime(ZonedDateTime zonedDateTime) { - ZonedDateTime startofDay = zonedDateTime.with(ChronoField.HOUR_OF_DAY, 0); - return startofDay; + ZonedDateTime startOfDay = zonedDateTime.with(ChronoField.HOUR_OF_DAY, 0); + return startOfDay; } ZonedDateTime getStartOfDayAtMidnightTime(ZonedDateTime zonedDateTime) { - ZonedDateTime startofDay = zonedDateTime.with(ChronoField.NANO_OF_DAY, 0); - return startofDay; + ZonedDateTime startOfDay = zonedDateTime.with(ChronoField.NANO_OF_DAY, 0); + return startOfDay; } } diff --git a/java-dates/src/test/java/com/baeldung/date/DateDiffUnitTest.java b/java-dates/src/test/java/com/baeldung/date/DateDiffUnitTest.java index a35699e469..226556d4bb 100644 --- a/java-dates/src/test/java/com/baeldung/date/DateDiffUnitTest.java +++ b/java-dates/src/test/java/com/baeldung/date/DateDiffUnitTest.java @@ -1,6 +1,6 @@ package com.baeldung.date; -import org.junit.Test; +import static org.junit.Assert.assertEquals; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -16,7 +16,7 @@ import java.util.Locale; import java.util.TimeZone; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertEquals; +import org.junit.Test; public class DateDiffUnitTest { @@ -31,14 +31,14 @@ public class DateDiffUnitTest { assertEquals(diff, 6); } - + @Test public void givenTwoDatesInJava8_whenDifferentiating_thenWeGetSix() { LocalDate now = LocalDate.now(); LocalDate sixDaysBehind = now.minusDays(6); Period period = Period.between(now, sixDaysBehind); - int diff = period.getDays(); + int diff = Math.abs(period.getDays()); assertEquals(diff, 6); } @@ -68,7 +68,8 @@ public class DateDiffUnitTest { public void givenTwoZonedDateTimesInJava8_whenDifferentiating_thenWeGetSix() { LocalDateTime ldt = LocalDateTime.now(); ZonedDateTime now = ldt.atZone(ZoneId.of("America/Montreal")); - ZonedDateTime sixDaysBehind = now.withZoneSameInstant(ZoneId.of("Asia/Singapore")).minusDays(6); + ZonedDateTime sixDaysBehind = now.withZoneSameInstant(ZoneId.of("Asia/Singapore")) + .minusDays(6); long diff = ChronoUnit.DAYS.between(sixDaysBehind, now); assertEquals(diff, 6); } diff --git a/java-dates/src/test/java/com/baeldung/date/comparison/Java8DateTimeApiGeneralComparisonsUnitTest.java b/java-dates/src/test/java/com/baeldung/date/comparison/Java8DateTimeApiGeneralComparisonsUnitTest.java index ff51476e7c..af72f9e58a 100644 --- a/java-dates/src/test/java/com/baeldung/date/comparison/Java8DateTimeApiGeneralComparisonsUnitTest.java +++ b/java-dates/src/test/java/com/baeldung/date/comparison/Java8DateTimeApiGeneralComparisonsUnitTest.java @@ -1,12 +1,16 @@ package com.baeldung.date.comparison; -import org.junit.Test; - -import java.time.*; - import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; + +import org.junit.Test; + public class Java8DateTimeApiGeneralComparisonsUnitTest { @Test @@ -54,10 +58,8 @@ public class Java8DateTimeApiGeneralComparisonsUnitTest { @Test public void givenZonedDateTimes_whenComparing_thenAssertsPass() { - ZonedDateTime timeInNewYork = ZonedDateTime.of(2019, 8, 10, 8, 0, 0, 0, - ZoneId.of("America/New_York")); - ZonedDateTime timeInBerlin = ZonedDateTime.of(2019, 8, 10, 14, 0, 0, 0, - ZoneId.of("Europe/Berlin")); + ZonedDateTime timeInNewYork = ZonedDateTime.of(2019, 8, 10, 8, 0, 0, 0, ZoneId.of("America/New_York")); + ZonedDateTime timeInBerlin = ZonedDateTime.of(2019, 8, 10, 14, 0, 0, 0, ZoneId.of("Europe/Berlin")); assertThat(timeInNewYork.isAfter(timeInBerlin), is(false)); assertThat(timeInNewYork.isBefore(timeInBerlin), is(false)); @@ -80,4 +82,14 @@ public class Java8DateTimeApiGeneralComparisonsUnitTest { assertThat(firstTime.compareTo(secondTime), is(-1)); } + + @Test + public void givenMinMaxLocalTimes_whenComparing_thenAssertsPass() { + LocalTime minTime = LocalTime.MIN; + LocalTime time = LocalTime.of(8, 30); + LocalTime maxTime = LocalTime.MAX; + + assertThat(minTime.isBefore(time), is(true)); + assertThat(time.isBefore(maxTime), is(true)); + } } \ No newline at end of file diff --git a/java-dates/src/test/java/com/baeldung/dateapi/JavaDurationUnitTest.java b/java-dates/src/test/java/com/baeldung/dateapi/JavaDurationUnitTest.java index db6b353ba6..be43fb609a 100644 --- a/java-dates/src/test/java/com/baeldung/dateapi/JavaDurationUnitTest.java +++ b/java-dates/src/test/java/com/baeldung/dateapi/JavaDurationUnitTest.java @@ -1,16 +1,39 @@ package com.baeldung.dateapi; +import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import java.time.Duration; import java.time.Instant; +import java.time.LocalTime; import java.time.temporal.ChronoUnit; import org.junit.Test; public class JavaDurationUnitTest { + @Test + public void givenATimePlus30Seconds_whenRequestingDuration_thenExpect30() { + LocalTime initialTime = LocalTime.of(6, 30, 0); + LocalTime finalTime = initialTime.plus(Duration.ofSeconds(30)); + + long seconds = Duration.between(initialTime, finalTime) + .getSeconds(); + + assertThat(seconds).isEqualTo(30); + } + + @Test + public void givenATimePlus30Seconds_whenRequestingSecondsBetween_thenExpect30() { + LocalTime initialTime = LocalTime.of(6, 30, 0); + LocalTime finalTime = initialTime.plus(Duration.ofSeconds(30)); + + long seconds = ChronoUnit.SECONDS.between(initialTime, finalTime); + + assertThat(seconds).isEqualTo(30); + } + @Test public void test2() { Instant start = Instant.parse("2017-10-03T10:15:30.00Z"); @@ -29,11 +52,15 @@ public class JavaDurationUnitTest { Duration fromMinutes = Duration.ofMinutes(60); assertEquals(1, fromMinutes.toHours()); - assertEquals(120, duration.plusSeconds(60).getSeconds()); - assertEquals(30, duration.minusSeconds(30).getSeconds()); + assertEquals(120, duration.plusSeconds(60) + .getSeconds()); + assertEquals(30, duration.minusSeconds(30) + .getSeconds()); - assertEquals(120, duration.plus(60, ChronoUnit.SECONDS).getSeconds()); - assertEquals(30, duration.minus(30, ChronoUnit.SECONDS).getSeconds()); + assertEquals(120, duration.plus(60, ChronoUnit.SECONDS) + .getSeconds()); + assertEquals(30, duration.minus(30, ChronoUnit.SECONDS) + .getSeconds()); Duration fromChar1 = Duration.parse("P1DT1H10M10.5S"); Duration fromChar2 = Duration.parse("PT10M"); diff --git a/java-dates/src/test/java/com/baeldung/dateapi/JavaPeriodUnitTest.java b/java-dates/src/test/java/com/baeldung/dateapi/JavaPeriodUnitTest.java index 81e9153a51..6dfbbe8c24 100644 --- a/java-dates/src/test/java/com/baeldung/dateapi/JavaPeriodUnitTest.java +++ b/java-dates/src/test/java/com/baeldung/dateapi/JavaPeriodUnitTest.java @@ -1,18 +1,41 @@ package com.baeldung.dateapi; +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; + +import java.time.LocalDate; +import java.time.Period; +import java.time.temporal.ChronoUnit; + import org.apache.log4j.Logger; import org.junit.Test; -import java.time.LocalDate; -import java.time.Period; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; - public class JavaPeriodUnitTest { private static final Logger LOG = Logger.getLogger(JavaPeriodUnitTest.class); + @Test + public void givenADatePlus5Days_whenRequestingPeriod_thenExpectFive() { + LocalDate initialDate = LocalDate.parse("2007-05-10"); + LocalDate finalDate = initialDate.plus(Period.ofDays(5)); + + int days = Period.between(initialDate, finalDate) + .getDays(); + + assertThat(days).isEqualTo(5); + } + + @Test + public void givenADatePlus5Days_whenRequestingDaysBetween_thenExpectFive() { + LocalDate initialDate = LocalDate.parse("2007-05-10"); + LocalDate finalDate = initialDate.plus(Period.ofDays(5)); + + long days = ChronoUnit.DAYS.between(initialDate, finalDate); + + assertThat(days).isEqualTo(5); + } + @Test public void whenTestPeriod_thenOk() { @@ -24,8 +47,10 @@ public class JavaPeriodUnitTest { LOG.info(String.format("Years:%d months:%d days:%d", period.getYears(), period.getMonths(), period.getDays())); assertFalse(period.isNegative()); - assertEquals(56, period.plusDays(50).getDays()); - assertEquals(9, period.minusMonths(2).getMonths()); + assertEquals(56, period.plusDays(50) + .getDays()); + assertEquals(9, period.minusMonths(2) + .getMonths()); Period fromUnits = Period.of(3, 10, 10); Period fromDays = Period.ofDays(50); diff --git a/java-dates/src/test/java/com/baeldung/datetime/UseDateTimeFormatterUnitTest.java b/java-dates/src/test/java/com/baeldung/datetime/UseDateTimeFormatterUnitTest.java new file mode 100644 index 0000000000..797e0b954a --- /dev/null +++ b/java-dates/src/test/java/com/baeldung/datetime/UseDateTimeFormatterUnitTest.java @@ -0,0 +1,36 @@ +package com.baeldung.datetime; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.time.LocalDateTime; +import java.time.Month; +import java.time.format.FormatStyle; +import java.util.Locale; + +import org.junit.Test; + +public class UseDateTimeFormatterUnitTest { + private final UseDateTimeFormatter subject = new UseDateTimeFormatter(); + private final LocalDateTime localDateTime = LocalDateTime.of(2015, Month.JANUARY, 25, 6, 30); + + @Test + public void givenALocalDate_whenFormattingAsIso_thenPass() { + String result = subject.formatAsIsoDate(localDateTime); + + assertThat(result).isEqualTo("2015-01-25"); + } + + @Test + public void givenALocalDate_whenFormattingWithPattern_thenPass() { + String result = subject.formatCustom(localDateTime, "yyyy/MM/dd"); + + assertThat(result).isEqualTo("2015/01/25"); + } + + @Test + public void givenALocalDate_whenFormattingWithStyleAndLocale_thenPass() { + String result = subject.formatWithStyleAndLocale(localDateTime, FormatStyle.MEDIUM, Locale.UK); + + assertThat(result).isEqualTo("25 Jan 2015, 06:30:00"); + } +} \ No newline at end of file diff --git a/java-dates/src/test/java/com/baeldung/datetime/UseLocalDateTimeUnitTest.java b/java-dates/src/test/java/com/baeldung/datetime/UseLocalDateTimeUnitTest.java index 5709fc7209..2bbee16e25 100644 --- a/java-dates/src/test/java/com/baeldung/datetime/UseLocalDateTimeUnitTest.java +++ b/java-dates/src/test/java/com/baeldung/datetime/UseLocalDateTimeUnitTest.java @@ -7,12 +7,13 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.Month; +import java.time.ZoneOffset; import org.junit.Test; public class UseLocalDateTimeUnitTest { - UseLocalDateTime useLocalDateTime = new UseLocalDateTime(); + private UseLocalDateTime useLocalDateTime = new UseLocalDateTime(); @Test public void givenString_whenUsingParse_thenLocalDateTime() { @@ -33,4 +34,28 @@ public class UseLocalDateTimeUnitTest { assertThat(endOfDayFromGivenDirectly.toLocalTime()).isEqualTo(LocalTime.MAX); assertThat(endOfDayFromGivenDirectly.toString()).isEqualTo("2018-06-23T23:59:59.999999999"); } + + @Test + public void givenLocalDateTimeInFebruary_whenRequestingMonth_thenMonthIsFebruary() { + LocalDateTime givenLocalDateTime = LocalDateTime.of(2015, Month.FEBRUARY, 20, 6, 30); + + assertThat(givenLocalDateTime.getMonth()).isEqualTo(Month.FEBRUARY); + } + + @Test + public void givenLocalDateTime_whenManipulating_thenResultIsAsExpected() { + LocalDateTime givenLocalDateTime = LocalDateTime.parse("2015-02-20T06:30:00"); + + LocalDateTime manipulatedLocalDateTime = givenLocalDateTime.plusDays(1); + manipulatedLocalDateTime = manipulatedLocalDateTime.minusHours(2); + + assertThat(manipulatedLocalDateTime).isEqualTo(LocalDateTime.of(2015, Month.FEBRUARY, 21, 4, 30)); + } + + @Test + public void whenRequestTimeFromEpoch_thenResultIsAsExpected() { + LocalDateTime result = useLocalDateTime.ofEpochSecond(1465817690, ZoneOffset.UTC); + + assertThat(result.toString()).isEqualTo("2016-06-13T11:34:50"); + } } diff --git a/java-dates/src/test/java/com/baeldung/datetime/UseLocalDateUnitTest.java b/java-dates/src/test/java/com/baeldung/datetime/UseLocalDateUnitTest.java index bb9b60956d..fd22be9260 100644 --- a/java-dates/src/test/java/com/baeldung/datetime/UseLocalDateUnitTest.java +++ b/java-dates/src/test/java/com/baeldung/datetime/UseLocalDateUnitTest.java @@ -12,7 +12,7 @@ import org.junit.Test; public class UseLocalDateUnitTest { - UseLocalDate useLocalDate = new UseLocalDate(); + private UseLocalDate useLocalDate = new UseLocalDate(); @Test public void givenValues_whenUsingFactoryOf_thenLocalDate() { @@ -88,4 +88,31 @@ public class UseLocalDateUnitTest { assertThat(endOfDayWithMax.toString()).isEqualTo("2018-06-23T23:59:59.999999999"); } + @Test + public void givenTheYear2000_whenCheckingForLeapYear_thenReturnTrue() { + LocalDate given = LocalDate.parse("2000-06-23"); + + boolean leapYear = useLocalDate.isLeapYear(given); + + assertThat(leapYear).isEqualTo(true); + } + + @Test + public void givenTheYear2004_whenCheckingForLeapYear_thenReturnTrue() { + LocalDate given = LocalDate.parse("2004-06-23"); + + boolean leapYear = useLocalDate.isLeapYear(given); + + assertThat(leapYear).isEqualTo(true); + } + + @Test + public void givenTheYear2019_whenCheckingForLeapYear_thenReturnFalse() { + LocalDate given = LocalDate.parse("2019-06-23"); + + boolean leapYear = useLocalDate.isLeapYear(given); + + assertThat(leapYear).isEqualTo(false); + } + } diff --git a/java-dates/src/test/java/com/baeldung/datetime/UseLocalTimeUnitTest.java b/java-dates/src/test/java/com/baeldung/datetime/UseLocalTimeUnitTest.java index 996e200ae9..afee9126f9 100644 --- a/java-dates/src/test/java/com/baeldung/datetime/UseLocalTimeUnitTest.java +++ b/java-dates/src/test/java/com/baeldung/datetime/UseLocalTimeUnitTest.java @@ -7,21 +7,30 @@ import org.junit.Test; public class UseLocalTimeUnitTest { - UseLocalTime useLocalTime = new UseLocalTime(); + private UseLocalTime useLocalTime = new UseLocalTime(); @Test public void givenValues_whenUsingFactoryOf_thenLocalTime() { - Assert.assertEquals("07:07:07", useLocalTime.getLocalTimeUsingFactoryOfMethod(7, 7, 7).toString()); + Assert.assertEquals("07:07:07", useLocalTime.getLocalTimeUsingFactoryOfMethod(7, 7, 7) + .toString()); + } + + @Test + public void givenValues_whenUsingFactoryOfWithoutSeconds_thenLocalTime() { + Assert.assertEquals("07:07", useLocalTime.getLocalTimeUsingFactoryOfMethod(7, 7) + .toString()); } @Test public void givenString_whenUsingParse_thenLocalTime() { - Assert.assertEquals("06:30", useLocalTime.getLocalTimeUsingParseMethod("06:30").toString()); + Assert.assertEquals("06:30", useLocalTime.getLocalTimeUsingParseMethod("06:30") + .toString()); } @Test public void givenTime_whenAddHour_thenLocalTime() { - Assert.assertEquals("07:30", useLocalTime.addAnHour(LocalTime.of(6, 30)).toString()); + Assert.assertEquals("07:30", useLocalTime.addAnHour(LocalTime.of(6, 30)) + .toString()); } @Test diff --git a/java-dates/src/test/java/com/baeldung/datetime/UseOffsetDateTimeUnitTest.java b/java-dates/src/test/java/com/baeldung/datetime/UseOffsetDateTimeUnitTest.java new file mode 100644 index 0000000000..5b58dd3848 --- /dev/null +++ b/java-dates/src/test/java/com/baeldung/datetime/UseOffsetDateTimeUnitTest.java @@ -0,0 +1,24 @@ +package com.baeldung.datetime; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.time.LocalDateTime; +import java.time.Month; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; + +import org.junit.Test; + +public class UseOffsetDateTimeUnitTest { + private final UseOffsetDateTime subject = new UseOffsetDateTime(); + + @Test + public void givenAZoneOffSetAndLocalDateTime_whenCombing_thenValidResult() { + ZoneOffset offset = ZoneOffset.of("+02:00"); + LocalDateTime localDateTime = LocalDateTime.of(2015, Month.FEBRUARY, 20, 6, 30); + + OffsetDateTime result = subject.offsetOfLocalDateTimeAndOffset(localDateTime, offset); + + assertThat(result.toString()).isEqualTo("2015-02-20T06:30+02:00"); + } +} \ No newline at end of file diff --git a/java-dates/src/test/java/com/baeldung/datetime/UseToInstantUnitTest.java b/java-dates/src/test/java/com/baeldung/datetime/UseToInstantUnitTest.java new file mode 100644 index 0000000000..78d9a647fe --- /dev/null +++ b/java-dates/src/test/java/com/baeldung/datetime/UseToInstantUnitTest.java @@ -0,0 +1,33 @@ +package com.baeldung.datetime; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.time.LocalDateTime; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; + +import org.junit.Test; + +public class UseToInstantUnitTest { + + private UseToInstant subject = new UseToInstant(); + + @Test + public void givenAGregorianCalenderDate_whenConvertingToLocalDate_thenAsExpected() { + GregorianCalendar givenCalender = new GregorianCalendar(2018, Calendar.JULY, 28); + + LocalDateTime localDateTime = subject.convertDateToLocalDate(givenCalender); + + assertThat(localDateTime).isEqualTo("2018-07-28T00:00:00"); + } + + @Test + public void givenADate_whenConvertingToLocalDate_thenAsExpected() { + Date givenDate = new Date(1465817690000L); + + LocalDateTime localDateTime = subject.convertDateToLocalDate(givenDate); + + assertThat(localDateTime).isEqualTo("2016-06-13T13:34:50"); + } +} \ No newline at end of file diff --git a/java-dates/src/test/java/com/baeldung/datetime/UseZonedDateTimeUnitTest.java b/java-dates/src/test/java/com/baeldung/datetime/UseZonedDateTimeUnitTest.java index f9b4008888..4a39f6056e 100644 --- a/java-dates/src/test/java/com/baeldung/datetime/UseZonedDateTimeUnitTest.java +++ b/java-dates/src/test/java/com/baeldung/datetime/UseZonedDateTimeUnitTest.java @@ -7,13 +7,14 @@ import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZoneId; import java.time.ZonedDateTime; +import java.util.Set; import org.junit.Assert; import org.junit.Test; public class UseZonedDateTimeUnitTest { - UseZonedDateTime zonedDateTime = new UseZonedDateTime(); + private UseZonedDateTime zonedDateTime = new UseZonedDateTime(); @Test public void givenZoneId_thenZonedDateTime() { @@ -22,6 +23,13 @@ public class UseZonedDateTimeUnitTest { Assert.assertEquals(zoneId, ZoneId.from(zonedDatetime)); } + @Test + public void whenRequestingZones_thenAtLeastOneIsReturned() { + Set allZoneIds = ZoneId.getAvailableZoneIds(); + + assertThat(allZoneIds.size()).isGreaterThan(1); + } + @Test public void givenLocalDateOrZoned_whenSettingStartOfDay_thenReturnMidnightInAllCases() { LocalDate given = LocalDate.parse("2018-06-23"); @@ -42,4 +50,15 @@ public class UseZonedDateTimeUnitTest { assertThat(startOfOfDayWithMethod.toLocalTime() .toString()).isEqualTo("00:00"); } + + @Test + public void givenAStringWithTimeZone_whenParsing_thenEqualsExpected() { + ZonedDateTime resultFromString = zonedDateTime.getZonedDateTimeUsingParseMethod("2015-05-03T10:15:30+01:00[Europe/Paris]"); + ZonedDateTime resultFromLocalDateTime = ZonedDateTime.of(2015, 5, 3, 11, 15, 30, 0, ZoneId.of("Europe/Paris")); + + assertThat(resultFromString.getZone()).isEqualTo(ZoneId.of("Europe/Paris")); + assertThat(resultFromLocalDateTime.getZone()).isEqualTo(ZoneId.of("Europe/Paris")); + + assertThat(resultFromString).isEqualTo(resultFromLocalDateTime); + } } From 546acf842fc4d542cfe7bf7d6092933acb1704d0 Mon Sep 17 00:00:00 2001 From: Martin van Wingerden Date: Wed, 23 Oct 2019 11:33:00 +0200 Subject: [PATCH 185/199] [BAEL-3289] Add missing code snippets from the Spring Scheduled article All the samples still existed with some slight variation, I updated where applicable Main thing is that the link in the article has to be corrected --- spring-scheduling/README.md | 1 + .../baeldung/scheduling/ScheduledAnnotationExample.java | 8 +++++--- .../src/main/resources/springScheduled-config.xml | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/spring-scheduling/README.md b/spring-scheduling/README.md index 72d5a7dc83..2e3bb2b5e5 100644 --- a/spring-scheduling/README.md +++ b/spring-scheduling/README.md @@ -1,5 +1,6 @@ ### Relevant articles: - [A Guide to the Spring Task Scheduler](http://www.baeldung.com/spring-task-scheduler) +- [The @Scheduled Annotation in Spring](https://www.baeldung.com/spring-scheduled-tasks) - [Guide to Spring Retry](http://www.baeldung.com/spring-retry) - [How To Do @Async in Spring](http://www.baeldung.com/spring-async) diff --git a/spring-scheduling/src/main/java/org/baeldung/scheduling/ScheduledAnnotationExample.java b/spring-scheduling/src/main/java/org/baeldung/scheduling/ScheduledAnnotationExample.java index 284bcf5e6a..23bbee3bc3 100644 --- a/spring-scheduling/src/main/java/org/baeldung/scheduling/ScheduledAnnotationExample.java +++ b/spring-scheduling/src/main/java/org/baeldung/scheduling/ScheduledAnnotationExample.java @@ -31,9 +31,10 @@ public class ScheduledAnnotationExample { System.out.println("Fixed rate task - " + System.currentTimeMillis() / 1000); } - @Scheduled(fixedDelay = 1000, initialDelay = 100) + @Scheduled(fixedDelay = 1000, initialDelay = 1000) public void scheduleFixedRateWithInitialDelayTask() { - System.out.println("Fixed delay task with one second initial delay - " + System.currentTimeMillis() / 1000); + long now = System.currentTimeMillis() / 1000; + System.out.println("Fixed rate task with one second initial delay - " + now); } /** @@ -41,7 +42,8 @@ public class ScheduledAnnotationExample { */ @Scheduled(cron = "0 15 10 15 * ?") public void scheduleTaskUsingCronExpression() { - System.out.println("schedule tasks using cron expressions - " + System.currentTimeMillis() / 1000); + long now = System.currentTimeMillis() / 1000; + System.out.println("schedule tasks using cron jobs - " + now); } @Scheduled(cron = "${cron.expression}") diff --git a/spring-scheduling/src/main/resources/springScheduled-config.xml b/spring-scheduling/src/main/resources/springScheduled-config.xml index d1ff9dc028..4078f535da 100644 --- a/spring-scheduling/src/main/resources/springScheduled-config.xml +++ b/spring-scheduling/src/main/resources/springScheduled-config.xml @@ -15,7 +15,7 @@ - + From a42fc708fb92127504c8eda61f8ec276fa2c5ffd Mon Sep 17 00:00:00 2001 From: Martin van Wingerden Date: Wed, 23 Oct 2019 12:04:31 +0200 Subject: [PATCH 186/199] [BAEL-3292] Add missing code snippets from the Java 8 groupingBy article The Tuple had to be changed because it required an equals/hashcode Also: formatted with eclipse profile --- .../java_8_features/groupingby/Tuple.java | 31 ++++++++----- .../Java8GroupingByCollectorUnitTest.java | 46 ++++++++++++++++--- 2 files changed, 58 insertions(+), 19 deletions(-) diff --git a/core-java-modules/core-java-8/src/main/java/com/baeldung/java_8_features/groupingby/Tuple.java b/core-java-modules/core-java-8/src/main/java/com/baeldung/java_8_features/groupingby/Tuple.java index 7a9f62341e..82a84bb2d6 100644 --- a/core-java-modules/core-java-8/src/main/java/com/baeldung/java_8_features/groupingby/Tuple.java +++ b/core-java-modules/core-java-8/src/main/java/com/baeldung/java_8_features/groupingby/Tuple.java @@ -1,12 +1,12 @@ package com.baeldung.java_8_features.groupingby; -public class Tuple { +import java.util.Objects; + +public class Tuple { + private final BlogPostType type; + private final String author; - private BlogPostType type; - private String author; - public Tuple(BlogPostType type, String author) { - super(); this.type = type; this.author = author; } @@ -15,20 +15,27 @@ public class Tuple { return type; } - public void setType(BlogPostType type) { - this.type = type; - } - public String getAuthor() { return author; } - public void setAuthor(String author) { - this.author = author; + @Override + public boolean equals(Object o) { + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; + Tuple tuple = (Tuple) o; + return type == tuple.type && author.equals(tuple.author); + } + + @Override + public int hashCode() { + return Objects.hash(type, author); } @Override public String toString() { - return "Tuple [type=" + type + ", author=" + author + ", getType()=" + getType() + ", getAuthor()=" + getAuthor() + ", getClass()=" + getClass() + ", hashCode()=" + hashCode() + ", toString()=" + super.toString() + "]"; + return "Tuple{" + "type=" + type + ", author='" + author + '\'' + '}'; } } diff --git a/core-java-modules/core-java-8/src/test/java/com/baeldung/java_8_features/groupingby/Java8GroupingByCollectorUnitTest.java b/core-java-modules/core-java-8/src/test/java/com/baeldung/java_8_features/groupingby/Java8GroupingByCollectorUnitTest.java index 323586b85f..1da705294e 100644 --- a/core-java-modules/core-java-8/src/test/java/com/baeldung/java_8_features/groupingby/Java8GroupingByCollectorUnitTest.java +++ b/core-java-modules/core-java-8/src/test/java/com/baeldung/java_8_features/groupingby/Java8GroupingByCollectorUnitTest.java @@ -1,15 +1,32 @@ package com.baeldung.java_8_features.groupingby; -import com.baeldung.java_8_features.groupingby.BlogPost; -import com.baeldung.java_8_features.groupingby.BlogPostType; -import org.junit.Test; +import static java.util.Comparator.comparingInt; +import static java.util.stream.Collectors.averagingInt; +import static java.util.stream.Collectors.counting; +import static java.util.stream.Collectors.groupingBy; +import static java.util.stream.Collectors.groupingByConcurrent; +import static java.util.stream.Collectors.joining; +import static java.util.stream.Collectors.mapping; +import static java.util.stream.Collectors.maxBy; +import static java.util.stream.Collectors.summarizingInt; +import static java.util.stream.Collectors.summingInt; +import static java.util.stream.Collectors.toList; +import static java.util.stream.Collectors.toSet; +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; -import java.util.*; +import java.util.Arrays; +import java.util.EnumMap; +import java.util.IntSummaryStatistics; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; import java.util.concurrent.ConcurrentMap; -import static java.util.Comparator.comparingInt; -import static java.util.stream.Collectors.*; -import static org.junit.Assert.*; +import org.junit.Test; public class Java8GroupingByCollectorUnitTest { @@ -180,4 +197,19 @@ public class Java8GroupingByCollectorUnitTest { assertEquals(15, newsLikeStatistics.getMin()); } + @Test + public void givenAListOfPosts_whenGroupedByComplexMapKeyType_thenGetAMapBetweenTupleAndList() { + Map> postsPerTypeAndAuthor = posts.stream() + .collect(groupingBy(post -> new Tuple(post.getType(), post.getAuthor()))); + + List result = postsPerTypeAndAuthor.get(new Tuple(BlogPostType.GUIDE, "Author 1")); + + assertThat(result.size()).isEqualTo(1); + + BlogPost blogPost = result.get(0); + + assertThat(blogPost.getTitle()).isEqualTo("Programming guide"); + assertThat(blogPost.getType()).isEqualTo(BlogPostType.GUIDE); + assertThat(blogPost.getAuthor()).isEqualTo("Author 1"); + } } From f20d2a61947d13e2c7f02816eb03eb168b512ca4 Mon Sep 17 00:00:00 2001 From: Martin van Wingerden Date: Wed, 23 Oct 2019 13:27:02 +0200 Subject: [PATCH 187/199] [BAEL-3295] Add missing code snippets from the Spring Session article --- .../com/baeldung/session/bean/Constants.java | 5 +++ .../java/com/baeldung/session/bean/Foo.java | 29 ++++++++++++ .../security/config/SecSecurityConfig.java | 2 +- .../baeldung/session/web/FooController.java | 44 +++++++++++++++++++ .../session/web/SessionRestController.java | 4 +- .../src/main/resources/application.properties | 2 + .../src/main/resources/webSecurityConfig.xml | 5 +-- .../src/main/webapp/WEB-INF/web.xml | 3 +- 8 files changed, 86 insertions(+), 8 deletions(-) create mode 100644 spring-security-mvc/src/main/java/com/baeldung/session/bean/Constants.java create mode 100644 spring-security-mvc/src/main/java/com/baeldung/session/bean/Foo.java create mode 100644 spring-security-mvc/src/main/java/com/baeldung/session/web/FooController.java diff --git a/spring-security-mvc/src/main/java/com/baeldung/session/bean/Constants.java b/spring-security-mvc/src/main/java/com/baeldung/session/bean/Constants.java new file mode 100644 index 0000000000..bf204c3b99 --- /dev/null +++ b/spring-security-mvc/src/main/java/com/baeldung/session/bean/Constants.java @@ -0,0 +1,5 @@ +package com.baeldung.session.bean; + +public class Constants { + public static final String FOO = "foo"; +} diff --git a/spring-security-mvc/src/main/java/com/baeldung/session/bean/Foo.java b/spring-security-mvc/src/main/java/com/baeldung/session/bean/Foo.java new file mode 100644 index 0000000000..c9c9c011d4 --- /dev/null +++ b/spring-security-mvc/src/main/java/com/baeldung/session/bean/Foo.java @@ -0,0 +1,29 @@ +package com.baeldung.session.bean; + +import static org.springframework.context.annotation.ScopedProxyMode.TARGET_CLASS; +import static org.springframework.web.context.WebApplicationContext.SCOPE_SESSION; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Component; + +@Component +@Scope(value = SCOPE_SESSION, proxyMode = TARGET_CLASS) +public class Foo { + private final String created; + + public Foo() { + this.created = LocalDateTime.now() + .format(DateTimeFormatter.ISO_DATE_TIME); + } + + public Foo(Foo theFoo) { + this.created = theFoo.created; + } + + public String getCreated() { + return created; + } +} diff --git a/spring-security-mvc/src/main/java/com/baeldung/session/security/config/SecSecurityConfig.java b/spring-security-mvc/src/main/java/com/baeldung/session/security/config/SecSecurityConfig.java index 35b53a0e7f..9a4978c27e 100644 --- a/spring-security-mvc/src/main/java/com/baeldung/session/security/config/SecSecurityConfig.java +++ b/spring-security-mvc/src/main/java/com/baeldung/session/security/config/SecSecurityConfig.java @@ -38,7 +38,7 @@ public class SecSecurityConfig extends WebSecurityConfigurerAdapter { .csrf().disable() .authorizeRequests() .antMatchers("/anonymous*").anonymous() - .antMatchers("/login*","/invalidSession*", "/sessionExpired*").permitAll() + .antMatchers("/login*","/invalidSession*", "/sessionExpired*", "/foo/**").permitAll() .anyRequest().authenticated() .and() .formLogin() diff --git a/spring-security-mvc/src/main/java/com/baeldung/session/web/FooController.java b/spring-security-mvc/src/main/java/com/baeldung/session/web/FooController.java new file mode 100644 index 0000000000..7c3385dcbd --- /dev/null +++ b/spring-security-mvc/src/main/java/com/baeldung/session/web/FooController.java @@ -0,0 +1,44 @@ +package com.baeldung.session.web; + +import javax.servlet.http.HttpSession; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import com.baeldung.session.bean.Constants; +import com.baeldung.session.bean.Foo; + +@RestController +@RequestMapping(path = "/foo") +public class FooController { + + @Autowired + private Foo theFoo; + + @GetMapping(path = "set") + public void fooSet(HttpSession session) { + session.setAttribute(Constants.FOO, new Foo()); + } + + @GetMapping(path = "autowired") + public Foo getAutowired() { + return new Foo(theFoo); + } + + @GetMapping(path = "inject") + public Foo fooInject(HttpSession session) { + return (Foo) session.getAttribute(Constants.FOO); + } + + @GetMapping(path = "raw") + public Foo fromRaw() { + ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes(); + HttpSession session = attr.getRequest() + .getSession(true); + return (Foo) session.getAttribute(Constants.FOO); + } +} diff --git a/spring-security-mvc/src/main/java/com/baeldung/session/web/SessionRestController.java b/spring-security-mvc/src/main/java/com/baeldung/session/web/SessionRestController.java index 82199a9e4e..79f57246a9 100644 --- a/spring-security-mvc/src/main/java/com/baeldung/session/web/SessionRestController.java +++ b/spring-security-mvc/src/main/java/com/baeldung/session/web/SessionRestController.java @@ -3,15 +3,13 @@ package com.baeldung.session.web; import javax.servlet.http.HttpSession; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; @RestController public class SessionRestController { @GetMapping("/session-max-interval") - @ResponseBody - public String retrieveMaxSessionIncativeInterval(HttpSession session) { + public String retrieveMaxSessionInactiveInterval(HttpSession session) { return "Max Inactive Interval before Session expires: " + session.getMaxInactiveInterval(); } } diff --git a/spring-security-mvc/src/main/resources/application.properties b/spring-security-mvc/src/main/resources/application.properties index 56b2b7b123..6f0d0519ef 100644 --- a/spring-security-mvc/src/main/resources/application.properties +++ b/spring-security-mvc/src/main/resources/application.properties @@ -1,3 +1,5 @@ +spring.jackson.serialization.fail-on-empty-beans=false + server.servlet.session.timeout=65s spring.mvc.view.prefix=/WEB-INF/view/ diff --git a/spring-security-mvc/src/main/resources/webSecurityConfig.xml b/spring-security-mvc/src/main/resources/webSecurityConfig.xml index 42ff4c2186..e91755d394 100644 --- a/spring-security-mvc/src/main/resources/webSecurityConfig.xml +++ b/spring-security-mvc/src/main/resources/webSecurityConfig.xml @@ -7,7 +7,7 @@ http://www.springframework.org/schema/beans/spring-beans.xsd" > - + @@ -22,10 +22,9 @@ - - + diff --git a/spring-security-mvc/src/main/webapp/WEB-INF/web.xml b/spring-security-mvc/src/main/webapp/WEB-INF/web.xml index 2ef734441b..88087c92ed 100644 --- a/spring-security-mvc/src/main/webapp/WEB-INF/web.xml +++ b/spring-security-mvc/src/main/webapp/WEB-INF/web.xml @@ -8,13 +8,14 @@ 1 + COOKIE - org.baeldung.web.SessionListenerWithMetrics + com.baeldung.web.SessionListenerWithMetrics spring-data-neo4j @@ -60,7 +61,7 @@ spring-jpa spring-persistence-simple jpa-hibernate-cascade-type - r2dbc + r2dbc spring-boot-jdbi diff --git a/persistence-modules/spring-data-jpa-3/pom.xml b/persistence-modules/spring-data-jpa-3/pom.xml new file mode 100644 index 0000000000..f743fce2a3 --- /dev/null +++ b/persistence-modules/spring-data-jpa-3/pom.xml @@ -0,0 +1,78 @@ + + + + 4.0.0 + spring-data-jpa-3 + spring-data-jpa-3 + + + parent-boot-2 + com.baeldung + 0.0.1-SNAPSHOT + ../../parent-boot-2 + + + + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.postgresql + postgresql + ${postgresql.version} + + + + + org.testcontainers + junit-jupiter + ${testcontainers.version} + test + + + org.testcontainers + postgresql + ${testcontainers.version} + test + + + org.springframework.boot + spring-boot-starter-test + test + + + junit + junit + + + + + org.junit.jupiter + junit-jupiter-api + test + + + org.junit.jupiter + junit-jupiter-engine + test + + + org.junit.platform + junit-platform-launcher + ${junit-platform.version} + test + + + + + 1.12.2 + 42.2.8 + + + diff --git a/persistence-modules/spring-data-jpa-3/src/main/java/com/baeldung/Application.java b/persistence-modules/spring-data-jpa-3/src/main/java/com/baeldung/Application.java new file mode 100644 index 0000000000..c0490d50c6 --- /dev/null +++ b/persistence-modules/spring-data-jpa-3/src/main/java/com/baeldung/Application.java @@ -0,0 +1,12 @@ +package com.baeldung; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Application { + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } +} diff --git a/persistence-modules/spring-data-jpa-3/src/main/java/com/baeldung/tx/Payment.java b/persistence-modules/spring-data-jpa-3/src/main/java/com/baeldung/tx/Payment.java new file mode 100644 index 0000000000..37f3d09381 --- /dev/null +++ b/persistence-modules/spring-data-jpa-3/src/main/java/com/baeldung/tx/Payment.java @@ -0,0 +1,55 @@ +package com.baeldung.tx; + +import javax.persistence.*; + +@Entity +public class Payment { + + @Id + @GeneratedValue + private Long id; + + private Long amount; + + @Column(unique = true) + private String referenceNumber; + + @Enumerated(EnumType.STRING) + private State state; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getAmount() { + return amount; + } + + public void setAmount(Long amount) { + this.amount = amount; + } + + public String getReferenceNumber() { + return referenceNumber; + } + + public void setReferenceNumber(String referenceNumber) { + this.referenceNumber = referenceNumber; + } + + public State getState() { + return state; + } + + public void setState(State state) { + this.state = state; + } + + public enum State { + STARTED, FAILED, SUCCESSFUL + } +} diff --git a/persistence-modules/spring-data-jpa-3/src/test/java/com/baeldung/tx/ManualTransactionIntegrationTest.java b/persistence-modules/spring-data-jpa-3/src/test/java/com/baeldung/tx/ManualTransactionIntegrationTest.java new file mode 100644 index 0000000000..62d64d4372 --- /dev/null +++ b/persistence-modules/spring-data-jpa-3/src/test/java/com/baeldung/tx/ManualTransactionIntegrationTest.java @@ -0,0 +1,171 @@ +package com.baeldung.tx; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.TransactionDefinition; +import org.springframework.transaction.TransactionStatus; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.support.DefaultTransactionDefinition; +import org.springframework.transaction.support.TransactionCallbackWithoutResult; +import org.springframework.transaction.support.TransactionTemplate; +import org.testcontainers.containers.PostgreSQLContainer; +import org.testcontainers.junit.jupiter.Container; +import org.testcontainers.junit.jupiter.Testcontainers; + +import javax.persistence.EntityManager; + +import static java.util.Collections.singletonList; +import static org.assertj.core.api.Assertions.assertThat; +import static org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase.Replace.NONE; +import static org.springframework.transaction.annotation.Propagation.NOT_SUPPORTED; + +@DataJpaTest +@Testcontainers +@ActiveProfiles("test") +@AutoConfigureTestDatabase(replace = NONE) +@Transactional(propagation = NOT_SUPPORTED) +class ManualTransactionIntegrationTest { + + @Container + private static PostgreSQLContainer pg = initPostgres(); + + @Autowired + private PlatformTransactionManager transactionManager; + + @Autowired + private EntityManager entityManager; + + private TransactionTemplate transactionTemplate; + + @BeforeEach + void setUp() { + transactionTemplate = new TransactionTemplate(transactionManager); + } + + @AfterEach + void flushDb() { + transactionTemplate.execute(status -> entityManager + .createQuery("delete from Payment") + .executeUpdate()); + } + + @Test + void givenAPayment_WhenNotDuplicate_ThenShouldCommit() { + Long id = transactionTemplate.execute(status -> { + Payment payment = new Payment(); + payment.setAmount(1000L); + payment.setReferenceNumber("Ref-1"); + payment.setState(Payment.State.SUCCESSFUL); + + entityManager.persist(payment); + + return payment.getId(); + }); + + Payment payment = entityManager.find(Payment.class, id); + assertThat(payment).isNotNull(); + } + + @Test + void givenAPayment_WhenMarkAsRollback_ThenShouldRollback() { + transactionTemplate.execute(status -> { + Payment payment = new Payment(); + payment.setAmount(1000L); + payment.setReferenceNumber("Ref-1"); + payment.setState(Payment.State.SUCCESSFUL); + + entityManager.persist(payment); + status.setRollbackOnly(); + + return payment.getId(); + }); + + assertThat(entityManager + .createQuery("select p from Payment p") + .getResultList()).isEmpty(); + } + + @Test + void givenTwoPayments_WhenRefIsDuplicate_ThenShouldRollback() { + try { + transactionTemplate.execute(s -> { + Payment first = new Payment(); + first.setAmount(1000L); + first.setReferenceNumber("Ref-1"); + first.setState(Payment.State.SUCCESSFUL); + + Payment second = new Payment(); + second.setAmount(2000L); + second.setReferenceNumber("Ref-1"); + second.setState(Payment.State.SUCCESSFUL); + + entityManager.persist(first); + entityManager.persist(second); + + return "Ref-1"; + }); + } catch (Exception ignored) { + } + + assertThat(entityManager + .createQuery("select p from Payment p") + .getResultList()).isEmpty(); + } + + @Test + void givenAPayment_WhenNotExpectingAnyResult_ThenShouldCommit() { + transactionTemplate.execute(new TransactionCallbackWithoutResult() { + @Override + protected void doInTransactionWithoutResult(TransactionStatus status) { + Payment payment = new Payment(); + payment.setReferenceNumber("Ref-1"); + payment.setState(Payment.State.SUCCESSFUL); + + entityManager.persist(payment); + } + }); + + assertThat(entityManager + .createQuery("select p from Payment p") + .getResultList()).hasSize(1); + } + + @Test + void givenAPayment_WhenUsingTxManager_ThenShouldCommit() { + DefaultTransactionDefinition definition = new DefaultTransactionDefinition(); + definition.setIsolationLevel(TransactionDefinition.ISOLATION_REPEATABLE_READ); + definition.setTimeout(3); + + TransactionStatus status = transactionManager.getTransaction(definition); + try { + Payment payment = new Payment(); + payment.setReferenceNumber("Ref-1"); + payment.setState(Payment.State.SUCCESSFUL); + + entityManager.persist(payment); + transactionManager.commit(status); + } catch (Exception ex) { + transactionManager.rollback(status); + } + + assertThat(entityManager + .createQuery("select p from Payment p") + .getResultList()).hasSize(1); + } + + private static PostgreSQLContainer initPostgres() { + PostgreSQLContainer pg = new PostgreSQLContainer<>("postgres:11.1") + .withDatabaseName("baeldung") + .withUsername("test") + .withPassword("test"); + pg.setPortBindings(singletonList("54320:5432")); + + return pg; + } +} diff --git a/persistence-modules/spring-data-jpa-3/src/test/resources/application-test.properties b/persistence-modules/spring-data-jpa-3/src/test/resources/application-test.properties new file mode 100644 index 0000000000..aa7093f751 --- /dev/null +++ b/persistence-modules/spring-data-jpa-3/src/test/resources/application-test.properties @@ -0,0 +1,4 @@ +spring.jpa.hibernate.ddl-auto=update +spring.datasource.url=jdbc:postgresql://localhost:54320/baeldung +spring.datasource.username=test +spring.datasource.password=test From 960bffd8290db43e6f2c8888a92676603a68b89c Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Thu, 24 Oct 2019 23:33:23 +0530 Subject: [PATCH 193/199] BAEL-18143 Fix spring-jooq issue related to dialect (#8061) - Updated SQLErrorCodeSQLExceptionTranslator to use dialect.thirdParty().springDbName() --- .../com/baeldung/jooq/introduction/ExceptionTranslator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-jooq/src/test/java/com/baeldung/jooq/introduction/ExceptionTranslator.java b/spring-jooq/src/test/java/com/baeldung/jooq/introduction/ExceptionTranslator.java index 8312f20c05..26c061e9cd 100644 --- a/spring-jooq/src/test/java/com/baeldung/jooq/introduction/ExceptionTranslator.java +++ b/spring-jooq/src/test/java/com/baeldung/jooq/introduction/ExceptionTranslator.java @@ -12,7 +12,7 @@ public class ExceptionTranslator extends DefaultExecuteListener { @Override public void exception(ExecuteContext context) { SQLDialect dialect = context.configuration().dialect(); - SQLExceptionTranslator translator = new SQLErrorCodeSQLExceptionTranslator(dialect.name()); + SQLExceptionTranslator translator = new SQLErrorCodeSQLExceptionTranslator(dialect.thirdParty().springDbName()); context.exception(translator.translate("Access database using jOOQ", context.sql(), context.sqlException())); } From bd32b8e8e8f419a0aa26284b72a34384b287ae6a Mon Sep 17 00:00:00 2001 From: Ali Dehghani Date: Fri, 25 Oct 2019 22:29:54 +0330 Subject: [PATCH 194/199] Fixed the Broken Test. --- spring-mvc-simple-2/src/main/resources/application.properties | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-mvc-simple-2/src/main/resources/application.properties b/spring-mvc-simple-2/src/main/resources/application.properties index 709574239b..d29338d3d3 100644 --- a/spring-mvc-simple-2/src/main/resources/application.properties +++ b/spring-mvc-simple-2/src/main/resources/application.properties @@ -1 +1,3 @@ -spring.main.allow-bean-definition-overriding=true \ No newline at end of file +spring.main.allow-bean-definition-overriding=true +spring.mail.host=localhost +spring.mail.port=8025 \ No newline at end of file From 6b797bd5a724893abc73a4506323bfac686bdc66 Mon Sep 17 00:00:00 2001 From: Ali Dehghani Date: Fri, 25 Oct 2019 23:06:08 +0330 Subject: [PATCH 195/199] Fixed the Class Not Found Problem --- core-java-modules/core-java-io/pom.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core-java-modules/core-java-io/pom.xml b/core-java-modules/core-java-io/pom.xml index c3c48ba679..3478f71286 100644 --- a/core-java-modules/core-java-io/pom.xml +++ b/core-java-modules/core-java-io/pom.xml @@ -50,6 +50,12 @@ jmimemagic ${jmime-magic.version} + + + com.sun.messaging.mq + fscontext + ${fscontext.version} + @@ -154,7 +160,7 @@ 1.18 0.1.5 3.1.0 - + 4.4.2 \ No newline at end of file From 496fb2c64b5261a167551a8c846dfd3554c4f07e Mon Sep 17 00:00:00 2001 From: Ali Dehghani Date: Fri, 25 Oct 2019 23:46:30 +0330 Subject: [PATCH 196/199] Moved the User Model to its Package! --- spring-boot/src/main/java/org/baeldung/model/User.java | 2 +- .../src/main/java/org/baeldung/repository/UserRepository.java | 3 +-- .../baeldung/repository/UserRepositoryIntegrationTest.java | 4 +--- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/spring-boot/src/main/java/org/baeldung/model/User.java b/spring-boot/src/main/java/org/baeldung/model/User.java index 049b118b12..eb886338a0 100644 --- a/spring-boot/src/main/java/org/baeldung/model/User.java +++ b/spring-boot/src/main/java/org/baeldung/model/User.java @@ -1,4 +1,4 @@ -package org.baeldung.caching.model; +package org.baeldung.model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; diff --git a/spring-boot/src/main/java/org/baeldung/repository/UserRepository.java b/spring-boot/src/main/java/org/baeldung/repository/UserRepository.java index 0113c4c5d4..752664cd5d 100644 --- a/spring-boot/src/main/java/org/baeldung/repository/UserRepository.java +++ b/spring-boot/src/main/java/org/baeldung/repository/UserRepository.java @@ -1,6 +1,6 @@ package org.baeldung.repository; -import org.baeldung.caching.model.User; +import org.baeldung.model.User; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; @@ -15,7 +15,6 @@ import java.util.Collection; import java.util.List; import java.util.Optional; import java.util.concurrent.CompletableFuture; -import java.util.stream.Stream; @Repository("userRepository") public interface UserRepository extends JpaRepository { diff --git a/spring-boot/src/test/java/org/baeldung/repository/UserRepositoryIntegrationTest.java b/spring-boot/src/test/java/org/baeldung/repository/UserRepositoryIntegrationTest.java index 54ce3b4bf3..ea7f118967 100644 --- a/spring-boot/src/test/java/org/baeldung/repository/UserRepositoryIntegrationTest.java +++ b/spring-boot/src/test/java/org/baeldung/repository/UserRepositoryIntegrationTest.java @@ -1,19 +1,17 @@ package org.baeldung.repository; import org.baeldung.boot.config.H2JpaConfig; -import org.baeldung.caching.model.User; +import org.baeldung.model.User; import org.junit.After; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.transaction.annotation.Transactional; import java.util.Optional; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; -import java.util.stream.Stream; import static org.assertj.core.api.Assertions.assertThat; From 00b553acb73930ad98f074251b419f2ac099a0cd Mon Sep 17 00:00:00 2001 From: Ali Dehghani Date: Sat, 26 Oct 2019 00:02:43 +0330 Subject: [PATCH 197/199] Revert an unwanted file. --- spring-mvc-simple-2/src/main/resources/application.properties | 2 -- 1 file changed, 2 deletions(-) diff --git a/spring-mvc-simple-2/src/main/resources/application.properties b/spring-mvc-simple-2/src/main/resources/application.properties index d29338d3d3..e439ebd851 100644 --- a/spring-mvc-simple-2/src/main/resources/application.properties +++ b/spring-mvc-simple-2/src/main/resources/application.properties @@ -1,3 +1 @@ spring.main.allow-bean-definition-overriding=true -spring.mail.host=localhost -spring.mail.port=8025 \ No newline at end of file From 644d650e8d84efe1185199a4a1e062566e2e62b7 Mon Sep 17 00:00:00 2001 From: Ali Dehghani Date: Sat, 26 Oct 2019 00:04:33 +0330 Subject: [PATCH 198/199] Removed the newline. --- spring-mvc-simple-2/src/main/resources/application.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-mvc-simple-2/src/main/resources/application.properties b/spring-mvc-simple-2/src/main/resources/application.properties index e439ebd851..709574239b 100644 --- a/spring-mvc-simple-2/src/main/resources/application.properties +++ b/spring-mvc-simple-2/src/main/resources/application.properties @@ -1 +1 @@ -spring.main.allow-bean-definition-overriding=true +spring.main.allow-bean-definition-overriding=true \ No newline at end of file From 2c422858c0649e20977342d920e032739207df02 Mon Sep 17 00:00:00 2001 From: Ali Dehghani Date: Sat, 26 Oct 2019 07:24:43 +0330 Subject: [PATCH 199/199] Fixed the Unsatisfied Dependency Issue --- spring-mvc-simple-2/src/main/resources/application.properties | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-mvc-simple-2/src/main/resources/application.properties b/spring-mvc-simple-2/src/main/resources/application.properties index 709574239b..d29338d3d3 100644 --- a/spring-mvc-simple-2/src/main/resources/application.properties +++ b/spring-mvc-simple-2/src/main/resources/application.properties @@ -1 +1,3 @@ -spring.main.allow-bean-definition-overriding=true \ No newline at end of file +spring.main.allow-bean-definition-overriding=true +spring.mail.host=localhost +spring.mail.port=8025 \ No newline at end of file