From 80757dce5f875b649f82e2b892229c1937a10633 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 21 Jul 2019 21:29:18 +0530 Subject: [PATCH 01/41] [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 02/41] [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 03/41] [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 04/41] [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 05/41] [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 06/41] [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 07/41] [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 08/41] [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 09/41] [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 10/41] [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 11/41] [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 12/41] [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 13/41] [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 14/41] [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 15/41] [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 16/41] [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 17/41] [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 18/41] [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 19/41] [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 9490306d8d8ee3bb3c78f1d70bcd804c9fbe9bc0 Mon Sep 17 00:00:00 2001 From: Kyle Doyle Date: Mon, 7 Oct 2019 22:23:44 -0400 Subject: [PATCH 20/41] 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 66492c78dd8382a2a19dccfbc9868dc061f45370 Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Wed, 9 Oct 2019 22:21:22 +0200 Subject: [PATCH 21/41] #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 a97793396f92b1353534a3ef52f8a9aafcf25f71 Mon Sep 17 00:00:00 2001 From: catalin-burcea Date: Sat, 12 Oct 2019 22:15:42 +0300 Subject: [PATCH 22/41] 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 23/41] 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 3a7c2ac8cca374e14238e958a13be81e03170e4e Mon Sep 17 00:00:00 2001 From: Alessio Stalla Date: Sun, 13 Oct 2019 09:38:38 +0200 Subject: [PATCH 24/41] #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 7b2920f109268697e7bc5f62b129dce4734633c6 Mon Sep 17 00:00:00 2001 From: catalin-burcea Date: Sun, 13 Oct 2019 16:35:46 +0300 Subject: [PATCH 25/41] 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 95dc22f0e32cbae12f5e5f5922565b4ac9786776 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 13 Oct 2019 23:42:06 +0530 Subject: [PATCH 26/41] [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 27/41] [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 28/41] [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 29/41] [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 30/41] #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 3e119f26d23def16e34b2299d11382d1c4864cc3 Mon Sep 17 00:00:00 2001 From: Jonathan Cook Date: Sun, 13 Oct 2019 23:40:45 +0200 Subject: [PATCH 31/41] 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 fe0f0a1511bde1af224daeb52d5969163074f19c Mon Sep 17 00:00:00 2001 From: catalin-burcea Date: Mon, 14 Oct 2019 17:20:59 +0300 Subject: [PATCH 32/41] 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 33/41] 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 34/41] 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 35/41] 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 36/41] 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 37/41] #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 38/41] #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 39/41] 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 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 40/41] 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 41/41] 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"} +]