From e7091ab38266a4b3650478a1959afda228feace4 Mon Sep 17 00:00:00 2001 From: Grzegorz Piwowarek Date: Tue, 31 Jul 2018 07:44:14 +0200 Subject: [PATCH 01/13] Update ResponseBodyEmitterController.java --- .../java/com/baeldung/web/ResponseBodyEmitterController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-5-mvc/src/main/java/com/baeldung/web/ResponseBodyEmitterController.java b/spring-5-mvc/src/main/java/com/baeldung/web/ResponseBodyEmitterController.java index ff1fb87393..c5f63486fe 100644 --- a/spring-5-mvc/src/main/java/com/baeldung/web/ResponseBodyEmitterController.java +++ b/spring-5-mvc/src/main/java/com/baeldung/web/ResponseBodyEmitterController.java @@ -13,7 +13,7 @@ import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitter @Controller public class ResponseBodyEmitterController { - private ExecutorService nonBlockingService = Executors.newSingleThreadExecutor(); + private ExecutorService nonBlockingService = Executors.newCachedThreadPool(); @GetMapping(Constants.API_RBE) public ResponseEntity handleRbe() { From 3e30c2a6c4bcd9c427809db58e3c50a7c29b9cd3 Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Thu, 30 Aug 2018 12:52:00 +0530 Subject: [PATCH 02/13] Update README.MD --- spring-security-mvc-boot/README.MD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-security-mvc-boot/README.MD b/spring-security-mvc-boot/README.MD index 0bae800b1e..eec61f087f 100644 --- a/spring-security-mvc-boot/README.MD +++ b/spring-security-mvc-boot/README.MD @@ -1,7 +1,7 @@ -###The Course +### The Course The "REST With Spring" Classes: http://github.learnspringsecurity.com -###Relevant Articles: +### Relevant Articles: - [A Custom Security Expression with Spring Security](http://www.baeldung.com/spring-security-create-new-custom-security-expression) - [Custom AccessDecisionVoters in Spring Security](http://www.baeldung.com/spring-security-custom-voter) - [Spring Security: Authentication with a Database-backed UserDetailsService](http://www.baeldung.com/spring-security-authentication-with-a-database) @@ -9,4 +9,4 @@ The "REST With Spring" Classes: http://github.learnspringsecurity.com - [Multiple Entry Points in Spring Security](http://www.baeldung.com/spring-security-multiple-entry-points) - [Multiple Authentication Providers in Spring Security](http://www.baeldung.com/spring-security-multiple-auth-providers) - [Granted Authority Versus Role in Spring Security](http://www.baeldung.com/spring-security-granted-authority-vs-role) -- [Spring Data with Spring Security] (https://www.baeldung.com/spring-data-security) +- [Spring Data with Spring Security](https://www.baeldung.com/spring-data-security) From 5e3a0c7ad370fdb729ca84682b04d2fef0f59450 Mon Sep 17 00:00:00 2001 From: Sam Millington Date: Sat, 1 Sep 2018 01:28:27 +0100 Subject: [PATCH 03/13] BAEL-2033 - Removing duplicates and @Test (#5125) * removed BenchmarkUnitTest from cove-java-8 * Removed StreamsOrderingUnitTest from core-java-8 * Removed test annotation from the unit test This test will not need to be run manually. --- .../streamordering/BenchmarkUnitTest.java | 97 ------------ .../StreamsOrderingUnitTest.java | 149 ------------------ .../streamordering/BenchmarkUnitTest.java | 1 - 3 files changed, 247 deletions(-) delete mode 100644 core-java-8/src/test/java/com/baeldung/streamordering/BenchmarkUnitTest.java delete mode 100644 core-java-8/src/test/java/com/baeldung/streamordering/StreamsOrderingUnitTest.java diff --git a/core-java-8/src/test/java/com/baeldung/streamordering/BenchmarkUnitTest.java b/core-java-8/src/test/java/com/baeldung/streamordering/BenchmarkUnitTest.java deleted file mode 100644 index 9ae0a16514..0000000000 --- a/core-java-8/src/test/java/com/baeldung/streamordering/BenchmarkUnitTest.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.baeldung.streamordering; - -import org.junit.Test; -import org.openjdk.jmh.annotations.*; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; -import org.openjdk.jmh.runner.options.TimeValue; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; -import java.util.concurrent.TimeUnit; -import java.util.stream.IntStream; - - -public class BenchmarkUnitTest -{ - - @Test - public void - launchBenchmark() throws Exception { - - Options opt = new OptionsBuilder() - // Specify which benchmarks to run. - // You can be more specific if you'd like to run only one benchmark per test. - .include(this.getClass().getName() + ".*") - // Set the following options as needed - .mode (Mode.AverageTime) - .timeUnit(TimeUnit.MICROSECONDS) - .warmupTime(TimeValue.seconds(1)) - .warmupIterations(2) - .measurementTime(TimeValue.seconds(1)) - .measurementIterations(2) - .threads(2) - .forks(1) - .shouldFailOnError(true) - .shouldDoGC(true) - //.jvmArgs("-XX:+UnlockDiagnosticVMOptions", "-XX:+PrintInlining") - //.addProfiler(WinPerfAsmProfiler.class) - .build(); - - new Runner(opt).run(); - - - } - - @Benchmark - public void givenOrderedStreamInput_whenStreamFiltered_showOpsPerMS(){ - IntStream.range(1, 100_000_000).parallel().filter(i -> i % 10 == 0).toArray(); - } - - @Benchmark - public void givenUnorderedStreamInput_whenStreamFiltered_showOpsPerMS(){ - IntStream.range(1,100_000_000).unordered().parallel().filter(i -> i % 10 == 0).toArray(); - } - - @Benchmark - public void givenUnorderedStreamInput_whenStreamDistinct_showOpsPerMS(){ - IntStream.range(1, 1_000_000).unordered().parallel().distinct().toArray(); - } - - @Benchmark - public void givenOrderedStreamInput_whenStreamDistinct_showOpsPerMS() { - //section 5.1. - IntStream.range(1, 1_000_000).parallel().distinct().toArray(); - } - - - // The JMH samples are the best documentation for how to use it - // http://hg.openjdk.java.net/code-tools/jmh/file/tip/jmh-samples/src/main/java/org/openjdk/jmh/samples/ - @State(Scope.Thread) - public static class BenchmarkState - { - List list; - - @Setup(Level.Trial) public void - initialize() { - - Random rand = new Random(); - - list = new ArrayList<>(); - for (int i = 0; i < 1000; i++) - list.add (rand.nextInt()); - } - } - - @Benchmark public void - benchmark1 (BenchmarkState state, Blackhole bh) { - - List list = state.list; - - for (int i = 0; i < 1000; i++) - bh.consume (list.get (i)); - } -} diff --git a/core-java-8/src/test/java/com/baeldung/streamordering/StreamsOrderingUnitTest.java b/core-java-8/src/test/java/com/baeldung/streamordering/StreamsOrderingUnitTest.java deleted file mode 100644 index 43a233d353..0000000000 --- a/core-java-8/src/test/java/com/baeldung/streamordering/StreamsOrderingUnitTest.java +++ /dev/null @@ -1,149 +0,0 @@ -package com.baeldung.streamordering; - -import org.junit.Before; -import org.junit.Test; - -import java.util.*; -import java.util.function.Function; -import java.util.logging.Level; -import java.util.logging.Logger; -import java.util.stream.Collectors; -import java.util.stream.IntStream; - -import static org.junit.Assert.assertEquals; - -public class StreamsOrderingUnitTest { - - Logger logger = Logger.getLogger( StreamsOrderingUnitTest.class.getName()); - - @Before - public void setUp() throws Exception { - logger.setLevel(Level.ALL); - } - - @Test - public void givenTwoCollections_whenStreamed_thenCheckOutputDifferent(){ - - List list = Arrays.asList("B", "A", "C", "D", "F"); - Set set = new TreeSet<>(Arrays.asList("B", "A", "C", "D", "F")); - - Object[] listOutput = list.stream().toArray(); - Object[] setOutput = set.stream().toArray(); - - assertEquals("[B, A, C, D, F]", Arrays.toString(listOutput)); - assertEquals("[A, B, C, D, F]", Arrays.toString(setOutput)); - - } - - @Test - public void givenTwoCollections_whenStreamedInParallel_thenCheckOutputDifferent(){ - - List list = Arrays.asList("B", "A", "C", "D", "F"); - Set set = new TreeSet<>(Arrays.asList("B", "A", "C", "D", "F")); - - Object[] listOutput = list.stream().parallel().toArray(); - Object[] setOutput = set.stream().parallel().toArray(); - - assertEquals("[B, A, C, D, F]", Arrays.toString(listOutput)); - assertEquals("[A, B, C, D, F]", Arrays.toString(setOutput)); - - } - - - - @Test - public void givenOrderedInput_whenUnorderedAndOrderedCompared_thenCheckUnorderedOutputChanges(){ - Set set = new TreeSet<>( - Arrays.asList(-9, -5, -4, -2, 1, 2, 4, 5, 7, 9, 12, 13, 16, 29, 23, 34, 57, 68, 90, 102, 230)); - - Object[] orderedArray = set.stream() - .parallel() - .limit(5) - .toArray(); - Object[] unorderedArray = set.stream() - .unordered() - .parallel() - .limit(5) - .toArray(); - - logger.info(Arrays.toString(orderedArray)); - logger.info(Arrays.toString(unorderedArray)); - } - - - @Test - public void givenUnsortedStreamInput_whenStreamSorted_thenCheckOrderChanged(){ - - List list = Arrays.asList(-3,10,-4,1,3); - - Object[] listOutput = list.stream().toArray(); - Object[] listOutputSorted = list.stream().sorted().toArray(); - - assertEquals("[-3, 10, -4, 1, 3]", Arrays.toString(listOutput)); - assertEquals("[-4, -3, 1, 3, 10]", Arrays.toString(listOutputSorted)); - - } - - @Test - public void givenUnsortedStreamInput_whenStreamDistinct_thenShowTimeTaken(){ - long start, end; - start = System.currentTimeMillis(); - IntStream.range(1,1_000_000).unordered().parallel().distinct().toArray(); - end = System.currentTimeMillis(); - System.out.println(String.format("Time taken when unordered: %d ms", (end - start))); - } - - - @Test - public void givenSameCollection_whenStreamTerminated_thenCheckEachVsEachOrdered(){ - - List list = Arrays.asList("B", "A", "C", "D", "F"); - - list.stream().parallel().forEach(e -> logger.log(Level.INFO, e)); - list.stream().parallel().forEachOrdered(e -> logger.log(Level.INFO, e)); - - } - - @Test - public void givenSameCollection_whenStreamCollected_thenCheckOutput(){ - - List list = Arrays.asList("B", "A", "C", "D", "F"); - - List collectionList = list.stream().parallel().collect(Collectors.toList()); - Set collectionSet = list.stream().parallel().collect(Collectors.toCollection(TreeSet::new)); - - assertEquals("[B, A, C, D, F]", collectionList.toString()); - assertEquals("[A, B, C, D, F]", collectionSet.toString()); - - } - - - @Test - public void givenListIterationOrder_whenStreamCollectedToMap_thenCeckOrderChanged() { - List list = Arrays.asList("A", "BB", "CCC"); - - Map hashMap = list.stream().collect(Collectors.toMap(Function.identity(), String::length)); - - Object[] keySet = hashMap.keySet().toArray(); - - assertEquals("[BB, A, CCC]", Arrays.toString(keySet)); - - } - - @Test - public void givenListIteration_whenStreamCollectedtoHashMap_thenCheckOrderMaintained() { - List list = Arrays.asList("A", "BB", "CCC", "CCC"); - - Map linkedHashMap = list.stream().collect(Collectors.toMap( - Function.identity(), - String::length, - (u, v) -> u, - LinkedHashMap::new - )); - - Object[] keySet = linkedHashMap.keySet().toArray(); - - assertEquals("[A, BB, CCC]", Arrays.toString(keySet)); - } - -} diff --git a/java-streams/src/test/java/com/baeldung/streamordering/BenchmarkUnitTest.java b/java-streams/src/test/java/com/baeldung/streamordering/BenchmarkUnitTest.java index 9ae0a16514..ba1cb1f726 100644 --- a/java-streams/src/test/java/com/baeldung/streamordering/BenchmarkUnitTest.java +++ b/java-streams/src/test/java/com/baeldung/streamordering/BenchmarkUnitTest.java @@ -18,7 +18,6 @@ import java.util.stream.IntStream; public class BenchmarkUnitTest { - @Test public void launchBenchmark() throws Exception { From 8cbca2f805359dfa26e6bbfda413ee9a0deb3c70 Mon Sep 17 00:00:00 2001 From: Abhinayak Swar Date: Sat, 1 Sep 2018 12:35:42 +0545 Subject: [PATCH 04/13] Code check-in for http://jira.baeldung.com/browse/BAEL-2012 (Set a Response body in JAX-RS) (#5009) * abh.swar@gmail.com: Code check-in for article on Spring WebFlux 1. EmailWebClient is the client that subscribes to the data from WebFlux server 2. EmailGenerator generates one email per second randomly 3. EmailHandler and EmailRouter deal with handling of request of the subscriber 4. Email is the POJO for data transmitted by the server * Code check-on for (http://jira.baeldung.com/browse/BAEL-1897) How to increment a Date by one day - Added code and test to increment date by one day using java 8 and joda-time - Added joda-time 2.10 dependency in pom.xml * Revert "abh.swar@gmail.com: Code check-in for article on Spring WebFlux 1. EmailWebClient is the client that subscribes to the data from WebFlux server 2. EmailGenerator generates one email per second randomly 3. EmailHandler and EmailRouter deal with handling of request of the subscriber 4. Email is the POJO for data transmitted by the server" This reverts commit 6254ad9 * Code check-on for (http://jira.baeldung.com/browse/BAEL-1897) How to increment a Date by one day - Added code and test to increment date by one day using java.util.Calendar and ApacheCommons and unit tests for it - Used properties for ${joda.version} - Formatted the code using IntelliJ formatter - Renamed DateIncrementerTest to DateIncrementerUnitTest - Changed test method names to follow _given_when_then convention * Code check-on for (http://jira.baeldung.com/browse/BAEL-1897) How to increment a Date by one day - Removed unnecessary comment * Code check-on for (http://jira.baeldung.com/browse/BAEL-1897) How to increment a Date by one day - Corrected the order of parameters of assertEquals() method * Code check-in for http://jira.baeldung.com/browse/BAEL-2012 (Set a Response body in JAX-RS) - Added a Responder resource that has all the REST endpoints - Added a POJO Person which will be used for JSON serialization * Create test * Delete test --- .../com/baeldung/jersey/server/Responder.java | 102 ++++++++++++++++++ .../baeldung/jersey/server/model/Person.java | 32 ++++++ 2 files changed, 134 insertions(+) create mode 100644 jersey/src/main/java/com/baeldung/jersey/server/Responder.java create mode 100644 jersey/src/main/java/com/baeldung/jersey/server/model/Person.java diff --git a/jersey/src/main/java/com/baeldung/jersey/server/Responder.java b/jersey/src/main/java/com/baeldung/jersey/server/Responder.java new file mode 100644 index 0000000000..cb0c976fe3 --- /dev/null +++ b/jersey/src/main/java/com/baeldung/jersey/server/Responder.java @@ -0,0 +1,102 @@ +package com.baeldung.jersey.server; + +import com.baeldung.jersey.server.model.Person; + +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +@Path("/response") +public class Responder { + + @GET + @Path("/ok") + public Response getOkResponse() { + + String message = "This is a text response"; + + return Response + .status(Response.Status.OK) + .entity(message) + .build(); + } + + @GET + @Path("/not_ok") + public Response getNOkTextResponse() { + + String message = "There was an internal server error"; + + return Response + .status(Response.Status.INTERNAL_SERVER_ERROR) + .entity(message) + .build(); + } + + @GET + @Path("/text_plain") + public Response getTextResponseTypeDefined() { + + String message = "This is a plain text response"; + + return Response + .status(Response.Status.OK) + .entity(message) + .type(MediaType.TEXT_PLAIN) + .build(); + } + + @GET + @Path("/text_plain_annotation") + @Produces({ MediaType.TEXT_PLAIN }) + public Response getTextResponseTypeAnnotated() { + + String message = "This is a plain text response via annotation"; + + return Response + .status(Response.Status.OK) + .entity(message) + .build(); + } + + @GET + @Path("/pojo") + public Response getPojoResponse() { + + Person person = new Person("Abh", "Nepal"); + + return Response + .status(Response.Status.OK) + .entity(person) + .build(); + } + + @GET + @Path("/json") + public Response getJsonResponse() { + + String message = "{\"hello\": \"This is a JSON response\"}"; + + return Response + .status(Response.Status.OK) + .entity(message) + .type(MediaType.APPLICATION_JSON) + .build(); + } + + @GET + @Path("/xml") + @Produces(MediaType.TEXT_XML) + public String sayXMLHello() { + return "" + " This is a xml response "; + } + + @GET + @Path("/html") + @Produces(MediaType.TEXT_HTML) + public String sayHtmlHello() { + return " " + "" + " This is a html title " + "

" + " This is a html response body " + "

" + " "; + } +} \ No newline at end of file diff --git a/jersey/src/main/java/com/baeldung/jersey/server/model/Person.java b/jersey/src/main/java/com/baeldung/jersey/server/model/Person.java new file mode 100644 index 0000000000..98c86bbc3d --- /dev/null +++ b/jersey/src/main/java/com/baeldung/jersey/server/model/Person.java @@ -0,0 +1,32 @@ +package com.baeldung.jersey.server.model; + +public class Person { + String name; + String address; + + public Person(String name, String address) { + this.name = name; + this.address = address; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + @Override + public String toString() { + return "Person [name: " + getName() + " address: " + getAddress() + "]"; + } +} \ No newline at end of file From de84251d4818a124c280816b8fc9ad0d5ad89b17 Mon Sep 17 00:00:00 2001 From: myluckagain Date: Sat, 1 Sep 2018 12:54:59 +0500 Subject: [PATCH 05/13] fix y-coord (#5124) BAEL-2151 fix y-coord --- .../linesintersection/LinesIntersectionServiceUnitTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-java/src/test/java/com/baeldung/linesintersection/LinesIntersectionServiceUnitTest.java b/core-java/src/test/java/com/baeldung/linesintersection/LinesIntersectionServiceUnitTest.java index 47f1fd45a1..640115a8a0 100644 --- a/core-java/src/test/java/com/baeldung/linesintersection/LinesIntersectionServiceUnitTest.java +++ b/core-java/src/test/java/com/baeldung/linesintersection/LinesIntersectionServiceUnitTest.java @@ -23,7 +23,7 @@ public class LinesIntersectionServiceUnitTest { assertTrue(point.isPresent()); assertEquals(point.get().getX(), 1, 0.001); - assertEquals(point.get().getX(), 1, 0.001); + assertEquals(point.get().getY(), 0, 0.001); } @Test From fc69e1257b35085f081763db5d16338ffcf3a74b Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sat, 1 Sep 2018 14:51:03 +0530 Subject: [PATCH 06/13] [BAEL-8499] - Moved server related codes / articles to libraries-server module --- libraries-server/README.md | 7 ++ libraries-server/pom.xml | 71 +++++++++++++++++- .../java/com/baeldung/jetty/AsyncServlet.java | 0 .../com/baeldung/jetty/BlockingServlet.java | 0 .../java/com/baeldung/jetty/JettyServer.java | 0 .../baeldung/jetty/JettyServerFactory.java | 0 .../baeldung/jetty/LoggingRequestHandler.java | 0 .../netty/CalculatorOperationHandler.java | 0 .../com/baeldung/netty/ChannelHandlerA.java | 0 .../com/baeldung/netty/ChannelHandlerB.java | 0 .../com/baeldung/netty/ClientHandler.java | 0 .../baeldung/netty/HttpMessageHandler.java | 0 .../java/com/baeldung/netty/NettyClient.java | 0 .../java/com/baeldung/netty/NettyServer.java | 0 .../java/com/baeldung/netty/NettyServerB.java | 0 .../java/com/baeldung/netty/Operation.java | 0 .../com/baeldung/netty/ProcessingHandler.java | 0 .../java/com/baeldung/netty/RequestData.java | 0 .../baeldung/netty/RequestDataEncoder.java | 0 .../com/baeldung/netty/RequestDecoder.java | 0 .../java/com/baeldung/netty/ResponseData.java | 0 .../baeldung/netty/ResponseDataDecoder.java | 0 .../baeldung/netty/ResponseDataEncoder.java | 0 .../netty/SimpleProcessingHandler.java | 0 .../java/com/baeldung/tomcat/MyFilter.java | 0 .../java/com/baeldung/tomcat/MyServlet.java | 0 .../baeldung/tomcat/ProgrammaticTomcat.java | 0 .../baeldung/jetty/JettyIntegrationTest.java | 0 .../jetty/JettyServerFactoryUnitTest.java | 0 .../netty/EmbeddedChannelUnitTest.java | 0 .../ProgrammaticTomcatIntegrationTest.java | 0 .../resources/jetty-embedded-demo-app.war | Bin libraries/README.md | 5 -- libraries/pom.xml | 31 +------- 34 files changed, 77 insertions(+), 37 deletions(-) create mode 100644 libraries-server/README.md rename {libraries => libraries-server}/src/main/java/com/baeldung/jetty/AsyncServlet.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/jetty/BlockingServlet.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/jetty/JettyServer.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/jetty/JettyServerFactory.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/jetty/LoggingRequestHandler.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/CalculatorOperationHandler.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/ChannelHandlerA.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/ChannelHandlerB.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/ClientHandler.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/HttpMessageHandler.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/NettyClient.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/NettyServer.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/NettyServerB.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/Operation.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/ProcessingHandler.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/RequestData.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/RequestDataEncoder.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/RequestDecoder.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/ResponseData.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/ResponseDataDecoder.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/ResponseDataEncoder.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/netty/SimpleProcessingHandler.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/tomcat/MyFilter.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/tomcat/MyServlet.java (100%) rename {libraries => libraries-server}/src/main/java/com/baeldung/tomcat/ProgrammaticTomcat.java (100%) rename {libraries => libraries-server}/src/test/java/com/baeldung/jetty/JettyIntegrationTest.java (100%) rename {libraries => libraries-server}/src/test/java/com/baeldung/jetty/JettyServerFactoryUnitTest.java (100%) rename {libraries => libraries-server}/src/test/java/com/baeldung/netty/EmbeddedChannelUnitTest.java (100%) rename {libraries => libraries-server}/src/test/java/com/baeldung/tomcat/ProgrammaticTomcatIntegrationTest.java (100%) rename {libraries => libraries-server}/src/test/resources/jetty-embedded-demo-app.war (100%) diff --git a/libraries-server/README.md b/libraries-server/README.md new file mode 100644 index 0000000000..cff201fe07 --- /dev/null +++ b/libraries-server/README.md @@ -0,0 +1,7 @@ +### Relevant articles + +- [Embedded Jetty Server in Java](http://www.baeldung.com/jetty-embedded) +- [Introduction to Netty](http://www.baeldung.com/netty) +- [Exceptions in Netty](http://www.baeldung.com/netty-exception-handling) +- [Programatically Create, Configure, and Run a Tomcat Server](http://www.baeldung.com/tomcat-programmatic-setup) +- [Creating and Configuring Jetty 9 Server in Java](http://www.baeldung.com/jetty-java-programmatic) diff --git a/libraries-server/pom.xml b/libraries-server/pom.xml index 517cf6a07c..6fca09faf4 100644 --- a/libraries-server/pom.xml +++ b/libraries-server/pom.xml @@ -14,6 +14,73 @@ org.eclipse.paho org.eclipse.paho.client.mqttv3 1.2.0 - + + + + org.assertj + assertj-core + ${assertj.version} + + + org.eclipse.jetty + jetty-server + ${jetty.version} + + + org.eclipse.jetty + jetty-servlet + ${jetty.version} + + + org.eclipse.jetty + jetty-webapp + ${jetty.version} + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + commons-logging + commons-logging + + + + + commons-io + commons-io + ${commons.io.version} + + + io.netty + netty-all + ${netty.version} + + + junit + junit + ${junit.version} + test + + + + + org.apache.tomcat + tomcat-catalina + ${tomcat.version} + - \ No newline at end of file + + + 3.6.2 + 4.5.3 + 2.5 + 9.4.8.v20171121 + 4.1.20.Final + 4.1 + 4.12 + 8.5.24 + + + \ No newline at end of file diff --git a/libraries/src/main/java/com/baeldung/jetty/AsyncServlet.java b/libraries-server/src/main/java/com/baeldung/jetty/AsyncServlet.java similarity index 100% rename from libraries/src/main/java/com/baeldung/jetty/AsyncServlet.java rename to libraries-server/src/main/java/com/baeldung/jetty/AsyncServlet.java diff --git a/libraries/src/main/java/com/baeldung/jetty/BlockingServlet.java b/libraries-server/src/main/java/com/baeldung/jetty/BlockingServlet.java similarity index 100% rename from libraries/src/main/java/com/baeldung/jetty/BlockingServlet.java rename to libraries-server/src/main/java/com/baeldung/jetty/BlockingServlet.java diff --git a/libraries/src/main/java/com/baeldung/jetty/JettyServer.java b/libraries-server/src/main/java/com/baeldung/jetty/JettyServer.java similarity index 100% rename from libraries/src/main/java/com/baeldung/jetty/JettyServer.java rename to libraries-server/src/main/java/com/baeldung/jetty/JettyServer.java diff --git a/libraries/src/main/java/com/baeldung/jetty/JettyServerFactory.java b/libraries-server/src/main/java/com/baeldung/jetty/JettyServerFactory.java similarity index 100% rename from libraries/src/main/java/com/baeldung/jetty/JettyServerFactory.java rename to libraries-server/src/main/java/com/baeldung/jetty/JettyServerFactory.java diff --git a/libraries/src/main/java/com/baeldung/jetty/LoggingRequestHandler.java b/libraries-server/src/main/java/com/baeldung/jetty/LoggingRequestHandler.java similarity index 100% rename from libraries/src/main/java/com/baeldung/jetty/LoggingRequestHandler.java rename to libraries-server/src/main/java/com/baeldung/jetty/LoggingRequestHandler.java diff --git a/libraries/src/main/java/com/baeldung/netty/CalculatorOperationHandler.java b/libraries-server/src/main/java/com/baeldung/netty/CalculatorOperationHandler.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/CalculatorOperationHandler.java rename to libraries-server/src/main/java/com/baeldung/netty/CalculatorOperationHandler.java diff --git a/libraries/src/main/java/com/baeldung/netty/ChannelHandlerA.java b/libraries-server/src/main/java/com/baeldung/netty/ChannelHandlerA.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/ChannelHandlerA.java rename to libraries-server/src/main/java/com/baeldung/netty/ChannelHandlerA.java diff --git a/libraries/src/main/java/com/baeldung/netty/ChannelHandlerB.java b/libraries-server/src/main/java/com/baeldung/netty/ChannelHandlerB.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/ChannelHandlerB.java rename to libraries-server/src/main/java/com/baeldung/netty/ChannelHandlerB.java diff --git a/libraries/src/main/java/com/baeldung/netty/ClientHandler.java b/libraries-server/src/main/java/com/baeldung/netty/ClientHandler.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/ClientHandler.java rename to libraries-server/src/main/java/com/baeldung/netty/ClientHandler.java diff --git a/libraries/src/main/java/com/baeldung/netty/HttpMessageHandler.java b/libraries-server/src/main/java/com/baeldung/netty/HttpMessageHandler.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/HttpMessageHandler.java rename to libraries-server/src/main/java/com/baeldung/netty/HttpMessageHandler.java diff --git a/libraries/src/main/java/com/baeldung/netty/NettyClient.java b/libraries-server/src/main/java/com/baeldung/netty/NettyClient.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/NettyClient.java rename to libraries-server/src/main/java/com/baeldung/netty/NettyClient.java diff --git a/libraries/src/main/java/com/baeldung/netty/NettyServer.java b/libraries-server/src/main/java/com/baeldung/netty/NettyServer.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/NettyServer.java rename to libraries-server/src/main/java/com/baeldung/netty/NettyServer.java diff --git a/libraries/src/main/java/com/baeldung/netty/NettyServerB.java b/libraries-server/src/main/java/com/baeldung/netty/NettyServerB.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/NettyServerB.java rename to libraries-server/src/main/java/com/baeldung/netty/NettyServerB.java diff --git a/libraries/src/main/java/com/baeldung/netty/Operation.java b/libraries-server/src/main/java/com/baeldung/netty/Operation.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/Operation.java rename to libraries-server/src/main/java/com/baeldung/netty/Operation.java diff --git a/libraries/src/main/java/com/baeldung/netty/ProcessingHandler.java b/libraries-server/src/main/java/com/baeldung/netty/ProcessingHandler.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/ProcessingHandler.java rename to libraries-server/src/main/java/com/baeldung/netty/ProcessingHandler.java diff --git a/libraries/src/main/java/com/baeldung/netty/RequestData.java b/libraries-server/src/main/java/com/baeldung/netty/RequestData.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/RequestData.java rename to libraries-server/src/main/java/com/baeldung/netty/RequestData.java diff --git a/libraries/src/main/java/com/baeldung/netty/RequestDataEncoder.java b/libraries-server/src/main/java/com/baeldung/netty/RequestDataEncoder.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/RequestDataEncoder.java rename to libraries-server/src/main/java/com/baeldung/netty/RequestDataEncoder.java diff --git a/libraries/src/main/java/com/baeldung/netty/RequestDecoder.java b/libraries-server/src/main/java/com/baeldung/netty/RequestDecoder.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/RequestDecoder.java rename to libraries-server/src/main/java/com/baeldung/netty/RequestDecoder.java diff --git a/libraries/src/main/java/com/baeldung/netty/ResponseData.java b/libraries-server/src/main/java/com/baeldung/netty/ResponseData.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/ResponseData.java rename to libraries-server/src/main/java/com/baeldung/netty/ResponseData.java diff --git a/libraries/src/main/java/com/baeldung/netty/ResponseDataDecoder.java b/libraries-server/src/main/java/com/baeldung/netty/ResponseDataDecoder.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/ResponseDataDecoder.java rename to libraries-server/src/main/java/com/baeldung/netty/ResponseDataDecoder.java diff --git a/libraries/src/main/java/com/baeldung/netty/ResponseDataEncoder.java b/libraries-server/src/main/java/com/baeldung/netty/ResponseDataEncoder.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/ResponseDataEncoder.java rename to libraries-server/src/main/java/com/baeldung/netty/ResponseDataEncoder.java diff --git a/libraries/src/main/java/com/baeldung/netty/SimpleProcessingHandler.java b/libraries-server/src/main/java/com/baeldung/netty/SimpleProcessingHandler.java similarity index 100% rename from libraries/src/main/java/com/baeldung/netty/SimpleProcessingHandler.java rename to libraries-server/src/main/java/com/baeldung/netty/SimpleProcessingHandler.java diff --git a/libraries/src/main/java/com/baeldung/tomcat/MyFilter.java b/libraries-server/src/main/java/com/baeldung/tomcat/MyFilter.java similarity index 100% rename from libraries/src/main/java/com/baeldung/tomcat/MyFilter.java rename to libraries-server/src/main/java/com/baeldung/tomcat/MyFilter.java diff --git a/libraries/src/main/java/com/baeldung/tomcat/MyServlet.java b/libraries-server/src/main/java/com/baeldung/tomcat/MyServlet.java similarity index 100% rename from libraries/src/main/java/com/baeldung/tomcat/MyServlet.java rename to libraries-server/src/main/java/com/baeldung/tomcat/MyServlet.java diff --git a/libraries/src/main/java/com/baeldung/tomcat/ProgrammaticTomcat.java b/libraries-server/src/main/java/com/baeldung/tomcat/ProgrammaticTomcat.java similarity index 100% rename from libraries/src/main/java/com/baeldung/tomcat/ProgrammaticTomcat.java rename to libraries-server/src/main/java/com/baeldung/tomcat/ProgrammaticTomcat.java diff --git a/libraries/src/test/java/com/baeldung/jetty/JettyIntegrationTest.java b/libraries-server/src/test/java/com/baeldung/jetty/JettyIntegrationTest.java similarity index 100% rename from libraries/src/test/java/com/baeldung/jetty/JettyIntegrationTest.java rename to libraries-server/src/test/java/com/baeldung/jetty/JettyIntegrationTest.java diff --git a/libraries/src/test/java/com/baeldung/jetty/JettyServerFactoryUnitTest.java b/libraries-server/src/test/java/com/baeldung/jetty/JettyServerFactoryUnitTest.java similarity index 100% rename from libraries/src/test/java/com/baeldung/jetty/JettyServerFactoryUnitTest.java rename to libraries-server/src/test/java/com/baeldung/jetty/JettyServerFactoryUnitTest.java diff --git a/libraries/src/test/java/com/baeldung/netty/EmbeddedChannelUnitTest.java b/libraries-server/src/test/java/com/baeldung/netty/EmbeddedChannelUnitTest.java similarity index 100% rename from libraries/src/test/java/com/baeldung/netty/EmbeddedChannelUnitTest.java rename to libraries-server/src/test/java/com/baeldung/netty/EmbeddedChannelUnitTest.java diff --git a/libraries/src/test/java/com/baeldung/tomcat/ProgrammaticTomcatIntegrationTest.java b/libraries-server/src/test/java/com/baeldung/tomcat/ProgrammaticTomcatIntegrationTest.java similarity index 100% rename from libraries/src/test/java/com/baeldung/tomcat/ProgrammaticTomcatIntegrationTest.java rename to libraries-server/src/test/java/com/baeldung/tomcat/ProgrammaticTomcatIntegrationTest.java diff --git a/libraries/src/test/resources/jetty-embedded-demo-app.war b/libraries-server/src/test/resources/jetty-embedded-demo-app.war similarity index 100% rename from libraries/src/test/resources/jetty-embedded-demo-app.war rename to libraries-server/src/test/resources/jetty-embedded-demo-app.war diff --git a/libraries/README.md b/libraries/README.md index aad3a644ad..13ec65c29e 100644 --- a/libraries/README.md +++ b/libraries/README.md @@ -5,13 +5,11 @@ - [String Processing with Apache Commons Lang 3](http://www.baeldung.com/string-processing-commons-lang) - [Introduction to Javatuples](http://www.baeldung.com/java-tuples) - [Introduction to Javassist](http://www.baeldung.com/javassist) -- [Embedded Jetty Server in Java](http://www.baeldung.com/jetty-embedded) - [Introduction to Apache Flink with Java](http://www.baeldung.com/apache-flink) - [Introduction to JSONassert](http://www.baeldung.com/jsonassert) - [Intro to JaVers](http://www.baeldung.com/javers) - [Introduction to Apache Commons Math](http://www.baeldung.com/apache-commons-math) - [Intro to Serenity BDD](http://www.baeldung.com/serenity-bdd) -- [Introduction to Netty](http://www.baeldung.com/netty) - [Merging Streams in Java](http://www.baeldung.com/java-merge-streams) - [Serenity BDD and Screenplay](http://www.baeldung.com/serenity-screenplay) - [Introduction to Quartz](http://www.baeldung.com/quartz) @@ -54,10 +52,7 @@ - [Introduction to BouncyCastle with Java](http://www.baeldung.com/java-bouncy-castle) - [Guide to google-http-client](http://www.baeldung.com/google-http-client) - [Interact with Google Sheets from Java](http://www.baeldung.com/google-sheets-java-client) -- [Programatically Create, Configure, and Run a Tomcat Server](http://www.baeldung.com/tomcat-programmatic-setup) - [A Docker Guide for Java](http://www.baeldung.com/docker-java-api) -- [Exceptions in Netty](http://www.baeldung.com/netty-exception-handling) -- [Creating and Configuring Jetty 9 Server in Java](http://www.baeldung.com/jetty-java-programmatic) - [Introduction To OpenCSV](http://www.baeldung.com/opencsv) - [Introduction to Akka Actors in Java](http://www.baeldung.com/akka-actors-java) - [Asynchronous HTTP with async-http-client in Java](http://www.baeldung.com/async-http-client) diff --git a/libraries/pom.xml b/libraries/pom.xml index 6b1f842aeb..80e3303ba5 100644 --- a/libraries/pom.xml +++ b/libraries/pom.xml @@ -106,21 +106,6 @@ javers-core ${javers.version} - - org.eclipse.jetty - jetty-server - ${jetty.version} - - - org.eclipse.jetty - jetty-servlet - ${jetty.version} - - - org.eclipse.jetty - jetty-webapp - ${jetty.version} - io.nats @@ -379,11 +364,6 @@ jmh-generator-annprocess ${jmh.version} - - io.netty - netty-all - ${netty.version} - junit junit @@ -658,13 +638,7 @@ test test - - - - org.apache.tomcat - tomcat-catalina - ${tomcat.version} - + org.milyn milyn-smooks-all @@ -924,7 +898,6 @@ 2.5 1.6 1.4.196 - 9.4.8.v20171121 1.0 4.5.3 @@ -937,7 +910,6 @@ 1.9.0 1.9.27 1.1.0 - 4.1.20.Final 4.1 4.12 0.10 @@ -966,7 +938,6 @@ 1.0.0 1.7.0 3.0.14 - 8.5.24 2.2.0 9.1.5.Final 4.1 From 56ba65c2ea8b43e4cf58139bf0c7f914b4a84b76 Mon Sep 17 00:00:00 2001 From: Loredana Crusoveanu Date: Sat, 1 Sep 2018 13:40:29 +0300 Subject: [PATCH 07/13] Update README.md --- libraries/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/README.md b/libraries/README.md index 13ec65c29e..c2c4b2718a 100644 --- a/libraries/README.md +++ b/libraries/README.md @@ -72,7 +72,6 @@ - [Publish and Receive Messages with Nats Java Client](http://www.baeldung.com/nats-java-client) - [Java Concurrency Utility with JCTools](http://www.baeldung.com/java-concurrency-jc-tools) - [Apache Commons Collections MapUtils](http://www.baeldung.com/apache-commons-map-utils) -- [Testing Netty with EmbeddedChannel](http://www.baeldung.com/testing-netty-embedded-channel) - [Creating REST Microservices with Javalin](http://www.baeldung.com/javalin-rest-microservices) - [Introduction to JavaPoet](http://www.baeldung.com/java-poet) - [Introduction to Joda-Time](http://www.baeldung.com/joda-time) From c0f11e7d29dce7b62141fe100e36b01c2b251769 Mon Sep 17 00:00:00 2001 From: Loredana Crusoveanu Date: Sat, 1 Sep 2018 13:40:58 +0300 Subject: [PATCH 08/13] Update README.md --- libraries-server/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries-server/README.md b/libraries-server/README.md index cff201fe07..c25e9a10ab 100644 --- a/libraries-server/README.md +++ b/libraries-server/README.md @@ -5,3 +5,5 @@ - [Exceptions in Netty](http://www.baeldung.com/netty-exception-handling) - [Programatically Create, Configure, and Run a Tomcat Server](http://www.baeldung.com/tomcat-programmatic-setup) - [Creating and Configuring Jetty 9 Server in Java](http://www.baeldung.com/jetty-java-programmatic) +- [Testing Netty with EmbeddedChannel](http://www.baeldung.com/testing-netty-embedded-channel) + From 14b984f4d714a46938fb5d54c166b690be27394e Mon Sep 17 00:00:00 2001 From: cdjole Date: Sat, 1 Sep 2018 15:32:55 +0200 Subject: [PATCH 09/13] BAEL-2132 - Date to String conversion (#5116) * BAEL-2132 - Date to String conversion * BAEL-2132 - TimeZone set to CET --- .../DateToStringFormatterUnitTest.java | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 java-strings/src/test/java/com/baeldung/string/formatter/DateToStringFormatterUnitTest.java diff --git a/java-strings/src/test/java/com/baeldung/string/formatter/DateToStringFormatterUnitTest.java b/java-strings/src/test/java/com/baeldung/string/formatter/DateToStringFormatterUnitTest.java new file mode 100644 index 0000000000..f236c641c3 --- /dev/null +++ b/java-strings/src/test/java/com/baeldung/string/formatter/DateToStringFormatterUnitTest.java @@ -0,0 +1,67 @@ +package com.baeldung.string.formatter; + +import org.junit.BeforeClass; +import org.junit.Test; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.Calendar; +import java.util.Date; +import java.util.TimeZone; + +import static org.junit.Assert.assertEquals; + +public class DateToStringFormatterUnitTest { + + private static final String DATE_FORMAT = "MMM d, yyyy HH:mm a"; + private static final String EXPECTED_STRING_DATE = "Aug 1, 2018 12:00 PM"; + private static Date date; + + @BeforeClass + public static void setUp() { + TimeZone.setDefault(TimeZone.getTimeZone("CET")); + Calendar calendar = Calendar.getInstance(); + calendar.set(2018, Calendar.AUGUST, 1, 12, 0); + date = calendar.getTime(); + } + + @Test + public void whenDateConvertedUsingSimpleDateFormatToString_thenCorrect() { + DateFormat formatter = new SimpleDateFormat(DATE_FORMAT); + String formattedDate = formatter.format(date); + + assertEquals(EXPECTED_STRING_DATE, formattedDate); + } + + @Test + public void whenDateConvertedUsingDateFormatToString_thenCorrect() { + String formattedDate = DateFormat + .getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT) + .format(date); + + assertEquals(EXPECTED_STRING_DATE, formattedDate); + } + + @Test + public void whenDateConvertedUsingFormatterToString_thenCorrect() { + String formattedDate = String.format("%1$tb %1$te, %1$tY %1$tI:%1$tM %1$Tp", date); + + assertEquals(EXPECTED_STRING_DATE, formattedDate); + } + + @Test + public void whenDateConvertedUsingDateTimeApiToString_thenCorrect() { + DateTimeFormatter fmt = DateTimeFormatter.ofPattern(DATE_FORMAT); + Instant instant = date.toInstant(); + LocalDateTime ldt = instant + .atZone(ZoneId.of("CET")) + .toLocalDateTime(); + String formattedDate = ldt.format(fmt); + + assertEquals(EXPECTED_STRING_DATE, formattedDate); + } +} From 82951cd96ca861f46ede2075e0171e8915d4402b Mon Sep 17 00:00:00 2001 From: Loredana Crusoveanu Date: Sat, 1 Sep 2018 18:12:48 +0300 Subject: [PATCH 10/13] fix formatting --- spring-rest-full/pom.xml | 630 ++++++++++++++++++------------------- spring-rest-simple/pom.xml | 624 ++++++++++++++++++------------------ spring-rest/pom.xml | 552 ++++++++++++++++---------------- 3 files changed, 903 insertions(+), 903 deletions(-) diff --git a/spring-rest-full/pom.xml b/spring-rest-full/pom.xml index baa1ebf51a..81c938a289 100644 --- a/spring-rest-full/pom.xml +++ b/spring-rest-full/pom.xml @@ -1,344 +1,344 @@ - 4.0.0 - com.baeldung - spring-rest-full - 0.1-SNAPSHOT - spring-rest-full - war + 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-full + 0.1-SNAPSHOT + spring-rest-full + war - - parent-boot-1 - com.baeldung - 0.0.1-SNAPSHOT - ../parent-boot-1 - + + parent-boot-1 + com.baeldung + 0.0.1-SNAPSHOT + ../parent-boot-1 + - + - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-actuator - - - org.aspectj - aspectjweaver - - - org.apache.tomcat.embed - tomcat-embed-jasper - provided - + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + org.aspectj + aspectjweaver + + + org.apache.tomcat.embed + tomcat-embed-jasper + provided + - + - - org.springframework - spring-core - - - commons-logging - commons-logging - - - - - org.springframework - spring-context - - - org.springframework - spring-jdbc - - - org.springframework - spring-beans - - - org.springframework - spring-aop - - - org.springframework - spring-tx - - - org.springframework - spring-expression - - - org.springframework - spring-web - - - org.springframework - spring-webmvc - - - org.springframework.data - spring-data-commons - + + org.springframework + spring-core + + + commons-logging + commons-logging + + + + + org.springframework + spring-context + + + org.springframework + spring-jdbc + + + org.springframework + spring-beans + + + org.springframework + spring-aop + + + org.springframework + spring-tx + + + org.springframework + spring-expression + + + org.springframework + spring-web + + + org.springframework + spring-webmvc + + + org.springframework.data + spring-data-commons + - + - - org.springframework.boot - spring-boot-starter-tomcat - + + org.springframework.boot + spring-boot-starter-tomcat + - + - - org.apache.httpcomponents - httpclient - - - commons-logging - commons-logging - - - - - org.apache.httpcomponents - httpcore - + + org.apache.httpcomponents + httpclient + + + commons-logging + commons-logging + + + + + org.apache.httpcomponents + httpcore + - + - - org.springframework - spring-orm - - - org.springframework.data - spring-data-jpa - - - org.hibernate - hibernate-entitymanager - - - xml-apis - xml-apis - - - org.javassist - javassist - - - mysql - mysql-connector-java - runtime - - - com.h2database - h2 - + + org.springframework + spring-orm + + + org.springframework.data + spring-data-jpa + + + org.hibernate + hibernate-entitymanager + + + xml-apis + xml-apis + + + org.javassist + javassist + + + mysql + mysql-connector-java + runtime + + + com.h2database + h2 + - + - - javax.servlet - javax.servlet-api - provided - - - javax.servlet - jstl - runtime - + + javax.servlet + javax.servlet-api + provided + + + javax.servlet + jstl + runtime + - - - com.fasterxml.jackson.core - jackson-databind - - - com.thoughtworks.xstream - xstream - ${xstream.version} - + + + com.fasterxml.jackson.core + jackson-databind + + + com.thoughtworks.xstream + xstream + ${xstream.version} + - + - - com.google.guava - guava - ${guava.version} - + + com.google.guava + guava + ${guava.version} + - + - - org.springframework - spring-test - test - + + org.springframework + spring-test + test + - - - - - - - org.hamcrest - hamcrest-library - test - + + + + + + + org.hamcrest + hamcrest-library + test + - - org.mockito - mockito-core - test - + + org.mockito + mockito-core + test + - + - - spring-rest-full - - - src/main/resources - true - - - - - org.apache.maven.plugins - maven-war-plugin - - - - org.apache.maven.plugins - maven-surefire-plugin - - 3 - true - - **/*IntegrationTest.java - **/*IntTest.java - **/*LongRunningUnitTest.java - **/*ManualTest.java - **/*LiveTest.java - **/*TestSuite.java - - - - - org.codehaus.cargo - cargo-maven2-plugin - ${cargo-maven2-plugin.version} - - true - - jetty8x - embedded - - - - - - - 8082 - - - - - - - com.mysema.maven - apt-maven-plugin - ${apt-maven-plugin.version} - - - - process - - - target/generated-sources/java - com.querydsl.apt.jpa.JPAAnnotationProcessor - - - - - - + + spring-rest-full + + + src/main/resources + true + + + + + org.apache.maven.plugins + maven-war-plugin + + + + org.apache.maven.plugins + maven-surefire-plugin + + 3 + true + + **/*IntegrationTest.java + **/*IntTest.java + **/*LongRunningUnitTest.java + **/*ManualTest.java + **/*LiveTest.java + **/*TestSuite.java + + + + + org.codehaus.cargo + cargo-maven2-plugin + ${cargo-maven2-plugin.version} + + true + + jetty8x + embedded + + + + + + + 8082 + + + + + + + com.mysema.maven + apt-maven-plugin + ${apt-maven-plugin.version} + + + + process + + + target/generated-sources/java + com.querydsl.apt.jpa.JPAAnnotationProcessor + + + + + + - - - live - - - - org.apache.maven.plugins - maven-surefire-plugin - - - integration-test - - test - - - - **/*IntegrationTest.java - **/*IntTest.java - - - **/*LiveTest.java - - - - - - - json - - - - - org.codehaus.cargo - cargo-maven2-plugin - - false - - - - start-server - pre-integration-test - - start - - - - stop-server - post-integration-test - - stop - - - - - - - - + + + live + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration-test + + test + + + + **/*IntegrationTest.java + **/*IntTest.java + + + **/*LiveTest.java + + + + + + + json + + + + + org.codehaus.cargo + cargo-maven2-plugin + + false + + + + start-server + pre-integration-test + + start + + + + stop-server + post-integration-test + + stop + + + + + + + + - - - 1.4.9 + + + 1.4.9 - - 19.0 - 3.5 + + 19.0 + 3.5 - - 1.6.1 - 1.1.3 - + + 1.6.1 + 1.1.3 + \ No newline at end of file diff --git a/spring-rest-simple/pom.xml b/spring-rest-simple/pom.xml index 004c925a8f..d39e3a43c1 100644 --- a/spring-rest-simple/pom.xml +++ b/spring-rest-simple/pom.xml @@ -1,339 +1,339 @@ - 4.0.0 - com.baeldung - spring-rest-simple - 0.1-SNAPSHOT - spring-rest-simple - war + 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-simple + 0.1-SNAPSHOT + spring-rest-simple + war - - parent-boot-1 - com.baeldung - 0.0.1-SNAPSHOT - ../parent-boot-1 - + + parent-boot-1 + com.baeldung + 0.0.1-SNAPSHOT + ../parent-boot-1 + - + - - - org.springframework.boot - spring-boot-starter-thymeleaf - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-devtools - - - org.springframework.boot - spring-boot-starter-test - test - + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-devtools + + + org.springframework.boot + spring-boot-starter-test + test + - - - org.springframework - spring-web - - - commons-logging - commons-logging - - - - - org.springframework - spring-webmvc - - - org.springframework - spring-oxm - - - commons-fileupload - commons-fileupload - ${commons-fileupload.version} - - + + + org.springframework + spring-web + + + commons-logging + commons-logging + + + + + org.springframework + spring-webmvc + + + org.springframework + spring-oxm + + + commons-fileupload + commons-fileupload + ${commons-fileupload.version} + + - - javax.servlet - javax.servlet-api - provided - - - javax.servlet - jstl - runtime - + + javax.servlet + javax.servlet-api + provided + + + javax.servlet + jstl + runtime + - + - - com.fasterxml.jackson.core - jackson-databind - - - com.fasterxml.jackson.dataformat - jackson-dataformat-xml - - - com.thoughtworks.xstream - xstream - ${xstream.version} - + + com.fasterxml.jackson.core + jackson-databind + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + + + com.thoughtworks.xstream + xstream + ${xstream.version} + - + - - com.google.guava - guava - ${guava.version} - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - + + com.google.guava + guava + ${guava.version} + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + - + - - org.slf4j - slf4j-api - - - ch.qos.logback - logback-classic - - - - org.slf4j - jcl-over-slf4j - - + + org.slf4j + slf4j-api + + + ch.qos.logback + logback-classic + + + + org.slf4j + jcl-over-slf4j + + - + - - com.squareup.okhttp3 - okhttp - ${com.squareup.okhttp3.version} - + + com.squareup.okhttp3 + okhttp + ${com.squareup.okhttp3.version} + - + - - junit - junit - test - - - org.hamcrest - hamcrest-core - test - - - org.hamcrest - hamcrest-library - test - - - org.mockito - mockito-core - test - - - org.springframework - spring-test - - - com.jayway.restassured - rest-assured - ${jayway-rest-assured.version} - - - com.google.protobuf - protobuf-java - ${protobuf-java.version} - - - com.googlecode.protobuf-java-format - protobuf-java-format - ${protobuf-java-format.version} - - - com.esotericsoftware - kryo - ${kryo.version} - - - com.jayway.jsonpath - json-path - - + + junit + junit + test + + + org.hamcrest + hamcrest-core + test + + + org.hamcrest + hamcrest-library + test + + + org.mockito + mockito-core + test + + + org.springframework + spring-test + + + com.jayway.restassured + rest-assured + ${jayway-rest-assured.version} + + + com.google.protobuf + protobuf-java + ${protobuf-java.version} + + + com.googlecode.protobuf-java-format + protobuf-java-format + ${protobuf-java-format.version} + + + com.esotericsoftware + kryo + ${kryo.version} + + + com.jayway.jsonpath + json-path + + - - spring-rest - - - src/main/resources - true - - - - - org.codehaus.cargo - cargo-maven2-plugin - ${cargo-maven2-plugin.version} - - - - tomcat8x - embedded - - - - - - - 8082 - - - - - - + + spring-rest + + + src/main/resources + true + + + + + org.codehaus.cargo + cargo-maven2-plugin + ${cargo-maven2-plugin.version} + + + + tomcat8x + embedded + + + + + + + 8082 + + + + + + - - - integration - - - - org.codehaus.cargo - cargo-maven2-plugin - - - start-server - pre-integration-test - - start - - - - stop-server - post-integration-test - - stop - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - integration-test - - test - - - - none - - - **/*IntegrationTest.java - **/*IntTest.java - - - - - - - - - - - live - - - - org.codehaus.cargo - cargo-maven2-plugin - - - start-server - pre-integration-test - - start - - - - stop-server - post-integration-test - - stop - - - - + + + integration + + + + org.codehaus.cargo + cargo-maven2-plugin + + + start-server + pre-integration-test + + start + + + + stop-server + post-integration-test + + stop + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration-test + + test + + + + none + + + **/*IntegrationTest.java + **/*IntTest.java + + + + + + + + + + + live + + + + org.codehaus.cargo + cargo-maven2-plugin + + + start-server + pre-integration-test + + start + + + + stop-server + post-integration-test + + stop + + + + - - org.apache.maven.plugins - maven-surefire-plugin - - - integration-test - - test - - - - none - - - **/*LiveTest.java - - - cargo - - - - - + + org.apache.maven.plugins + maven-surefire-plugin + + + integration-test + + test + + + + none + + + **/*LiveTest.java + + + cargo + + + + + - - - - + + + + - - 1.3.3 - 4.0.0 - 1.4 - 3.1.0 - 3.5 - 1.4.9 + + 1.3.3 + 4.0.0 + 1.4 + 3.1.0 + 3.5 + 1.4.9 - - 20.0 - 2.9.0 + + 20.0 + 2.9.0 - - 1.6.0 - 3.0.4 + + 1.6.0 + 3.0.4 - - 3.4.1 + + 3.4.1 - 2.2.0 - + 2.2.0 + diff --git a/spring-rest/pom.xml b/spring-rest/pom.xml index bd17811801..ba74d26c35 100644 --- a/spring-rest/pom.xml +++ b/spring-rest/pom.xml @@ -1,305 +1,305 @@ - 4.0.0 - spring-rest - 0.1-SNAPSHOT - spring-rest - war + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + spring-rest + 0.1-SNAPSHOT + spring-rest + war - - parent-boot-2 - com.baeldung - 0.0.1-SNAPSHOT - ../parent-boot-2 - + + parent-boot-2 + com.baeldung + 0.0.1-SNAPSHOT + ../parent-boot-2 + - + - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-thymeleaf - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-devtools - - - org.springframework.boot - spring-boot-starter-test - + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-devtools + + + org.springframework.boot + spring-boot-starter-test + - - - org.springframework - spring-web - - - commons-logging - commons-logging - - - - - org.springframework - spring-webmvc - - - org.springframework - spring-oxm - - - commons-fileupload - commons-fileupload - ${commons-fileupload.version} - + + + org.springframework + spring-web + + + commons-logging + commons-logging + + + + + org.springframework + spring-webmvc + + + org.springframework + spring-oxm + + + commons-fileupload + commons-fileupload + ${commons-fileupload.version} + - - - javax.servlet - javax.servlet-api - provided - + + + javax.servlet + javax.servlet-api + provided + - - javax.servlet - jstl - runtime - + + javax.servlet + jstl + runtime + - - - com.fasterxml.jackson.core - jackson-databind - + + + com.fasterxml.jackson.core + jackson-databind + - - com.fasterxml.jackson.dataformat - jackson-dataformat-xml - + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + - - com.thoughtworks.xstream - xstream - ${xstream.version} - + + com.thoughtworks.xstream + xstream + ${xstream.version} + - - - com.google.guava - guava - ${guava.version} - - - org.apache.commons - commons-lang3 - + + + com.google.guava + guava + ${guava.version} + + + org.apache.commons + commons-lang3 + - - - com.squareup.okhttp3 - okhttp - ${com.squareup.okhttp3.version} - + + + com.squareup.okhttp3 + okhttp + ${com.squareup.okhttp3.version} + - - - org.hamcrest - hamcrest-core - test - - - org.hamcrest - hamcrest-library - test - - - org.mockito - mockito-core - test - - - org.springframework - spring-test - + + + org.hamcrest + hamcrest-core + test + + + org.hamcrest + hamcrest-library + test + + + org.mockito + mockito-core + test + + + org.springframework + spring-test + - - - com.google.protobuf - protobuf-java - ${protobuf-java.version} - - - com.googlecode.protobuf-java-format - protobuf-java-format - ${protobuf-java-format.version} - - - com.esotericsoftware - kryo - ${kryo.version} - - - com.jayway.jsonpath - json-path - + + + com.google.protobuf + protobuf-java + ${protobuf-java.version} + + + com.googlecode.protobuf-java-format + protobuf-java-format + ${protobuf-java-format.version} + + + com.esotericsoftware + kryo + ${kryo.version} + + + com.jayway.jsonpath + json-path + - - - commons-io - commons-io - 2.4 - - - au.com.dius - pact-jvm-provider-junit_2.11 - ${pact.version} - - - io.rest-assured - rest-assured - + + + commons-io + commons-io + 2.4 + + + au.com.dius + pact-jvm-provider-junit_2.11 + ${pact.version} + + + io.rest-assured + rest-assured + - + - - spring-rest - - - src/main/resources - true - - + + spring-rest + + + src/main/resources + true + + - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - org.apache.maven.plugins - maven-war-plugin - - - org.apache.maven.plugins - maven-checkstyle-plugin - ${checkstyle-maven-plugin.version} - - checkstyle.xml - - - - - check - - - - - - + + + org.springframework.boot + spring-boot-maven-plugin + + true + + + + org.apache.maven.plugins + maven-war-plugin + + + org.apache.maven.plugins + maven-checkstyle-plugin + ${checkstyle-maven-plugin.version} + + checkstyle.xml + + + + + check + + + + + + - - - live - - - - org.codehaus.cargo - cargo-maven2-plugin - - - start-server - pre-integration-test - - start - - - - stop-server - post-integration-test - - stop - - - - + + + live + + + + org.codehaus.cargo + cargo-maven2-plugin + + + start-server + pre-integration-test + + start + + + + stop-server + post-integration-test + + stop + + + + - - org.apache.maven.plugins - maven-surefire-plugin - - - integration-test - - test - - - - none - - - **/*LiveTest.java - - - cargo - - - - - + + org.apache.maven.plugins + maven-surefire-plugin + + + integration-test + + test + + + + none + + + **/*LiveTest.java + + + cargo + + + + + - - - + + + - + - - - - org.apache.maven.plugins - maven-checkstyle-plugin - ${checkstyle-maven-plugin.version} - - checkstyle.xml - - - - + + + + org.apache.maven.plugins + maven-checkstyle-plugin + ${checkstyle-maven-plugin.version} + + checkstyle.xml + + + + - - 1.3.2 - 4.0.0 - 1.4 - 3.1.0 - 3.5 - 1.4.9 + + 1.3.2 + 4.0.0 + 1.4 + 3.1.0 + 3.5 + 1.4.9 - - 20.0 + + 20.0 - - 1.6.0 - 3.0.4 - 3.0.0 - false - - 3.4.1 + + 1.6.0 + 3.0.4 + 3.0.0 + false + + 3.4.1 - 2.2.0 - 3.5.11 - 3.1.0 - + 2.2.0 + 3.5.11 + 3.1.0 + From a50afec871787ca2d21297e022aeafa9708c021e Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sat, 1 Sep 2018 21:36:49 +0530 Subject: [PATCH 11/13] [BAEL-8855] - Moved all code from module jpa-storedprocedure into module persistence-modules/java-jpa --- jpa-storedprocedure/README.md | 1 - persistence-modules/java-jpa/README.md | 3 ++- .../src/main/java/com/baeldung/jpa/model/Car.java | 0 .../com/baeldung/jpa/model/QueryParameter.java | 0 .../src/main/resources/META-INF/persistence.xml | 14 ++++++++++++++ .../database/FindCarByYearProcedureMySQL.sql | 0 .../config/database/create_table_mysql.sql | 0 .../main/resources/config/database/insert_cars.sql | 0 .../storedprocedure/StoredProcedureLiveTest.java | 0 .../java-jpa}/src/test/resources/persistence.xml | 0 10 files changed, 16 insertions(+), 2 deletions(-) rename {jpa-storedprocedure => persistence-modules/java-jpa}/src/main/java/com/baeldung/jpa/model/Car.java (100%) rename {jpa-storedprocedure => persistence-modules/java-jpa}/src/main/java/com/baeldung/jpa/model/QueryParameter.java (100%) rename {jpa-storedprocedure => persistence-modules/java-jpa}/src/main/resources/config/database/FindCarByYearProcedureMySQL.sql (100%) rename {jpa-storedprocedure => persistence-modules/java-jpa}/src/main/resources/config/database/create_table_mysql.sql (100%) rename {jpa-storedprocedure => persistence-modules/java-jpa}/src/main/resources/config/database/insert_cars.sql (100%) rename {jpa-storedprocedure => persistence-modules/java-jpa}/src/test/java/com/baeldung/jpa/storedprocedure/StoredProcedureLiveTest.java (100%) rename {jpa-storedprocedure => persistence-modules/java-jpa}/src/test/resources/persistence.xml (100%) diff --git a/jpa-storedprocedure/README.md b/jpa-storedprocedure/README.md index 39d6784d8b..7d843af9ea 100644 --- a/jpa-storedprocedure/README.md +++ b/jpa-storedprocedure/README.md @@ -1,2 +1 @@ ### Relevant Articles: -- [A Guide to Stored Procedures with JPA](http://www.baeldung.com/jpa-stored-procedures) diff --git a/persistence-modules/java-jpa/README.md b/persistence-modules/java-jpa/README.md index e9aabaaa74..418e0a67e2 100644 --- a/persistence-modules/java-jpa/README.md +++ b/persistence-modules/java-jpa/README.md @@ -1,3 +1,4 @@ # Relevant Articles -* [A Guide to SqlResultSetMapping](http://www.baeldung.com/jpa-sql-resultset-mapping) +- [A Guide to SqlResultSetMapping](http://www.baeldung.com/jpa-sql-resultset-mapping) +- [A Guide to Stored Procedures with JPA](http://www.baeldung.com/jpa-stored-procedures) \ No newline at end of file diff --git a/jpa-storedprocedure/src/main/java/com/baeldung/jpa/model/Car.java b/persistence-modules/java-jpa/src/main/java/com/baeldung/jpa/model/Car.java similarity index 100% rename from jpa-storedprocedure/src/main/java/com/baeldung/jpa/model/Car.java rename to persistence-modules/java-jpa/src/main/java/com/baeldung/jpa/model/Car.java diff --git a/jpa-storedprocedure/src/main/java/com/baeldung/jpa/model/QueryParameter.java b/persistence-modules/java-jpa/src/main/java/com/baeldung/jpa/model/QueryParameter.java similarity index 100% rename from jpa-storedprocedure/src/main/java/com/baeldung/jpa/model/QueryParameter.java rename to persistence-modules/java-jpa/src/main/java/com/baeldung/jpa/model/QueryParameter.java diff --git a/persistence-modules/java-jpa/src/main/resources/META-INF/persistence.xml b/persistence-modules/java-jpa/src/main/resources/META-INF/persistence.xml index e9230eb6cd..3d881673b2 100644 --- a/persistence-modules/java-jpa/src/main/resources/META-INF/persistence.xml +++ b/persistence-modules/java-jpa/src/main/resources/META-INF/persistence.xml @@ -20,4 +20,18 @@ + + + org.hibernate.jpa.HibernatePersistenceProvider + com.baeldung.jpa.model.Car + + + + + + + + + + \ No newline at end of file diff --git a/jpa-storedprocedure/src/main/resources/config/database/FindCarByYearProcedureMySQL.sql b/persistence-modules/java-jpa/src/main/resources/config/database/FindCarByYearProcedureMySQL.sql similarity index 100% rename from jpa-storedprocedure/src/main/resources/config/database/FindCarByYearProcedureMySQL.sql rename to persistence-modules/java-jpa/src/main/resources/config/database/FindCarByYearProcedureMySQL.sql diff --git a/jpa-storedprocedure/src/main/resources/config/database/create_table_mysql.sql b/persistence-modules/java-jpa/src/main/resources/config/database/create_table_mysql.sql similarity index 100% rename from jpa-storedprocedure/src/main/resources/config/database/create_table_mysql.sql rename to persistence-modules/java-jpa/src/main/resources/config/database/create_table_mysql.sql diff --git a/jpa-storedprocedure/src/main/resources/config/database/insert_cars.sql b/persistence-modules/java-jpa/src/main/resources/config/database/insert_cars.sql similarity index 100% rename from jpa-storedprocedure/src/main/resources/config/database/insert_cars.sql rename to persistence-modules/java-jpa/src/main/resources/config/database/insert_cars.sql diff --git a/jpa-storedprocedure/src/test/java/com/baeldung/jpa/storedprocedure/StoredProcedureLiveTest.java b/persistence-modules/java-jpa/src/test/java/com/baeldung/jpa/storedprocedure/StoredProcedureLiveTest.java similarity index 100% rename from jpa-storedprocedure/src/test/java/com/baeldung/jpa/storedprocedure/StoredProcedureLiveTest.java rename to persistence-modules/java-jpa/src/test/java/com/baeldung/jpa/storedprocedure/StoredProcedureLiveTest.java diff --git a/jpa-storedprocedure/src/test/resources/persistence.xml b/persistence-modules/java-jpa/src/test/resources/persistence.xml similarity index 100% rename from jpa-storedprocedure/src/test/resources/persistence.xml rename to persistence-modules/java-jpa/src/test/resources/persistence.xml From d717277dcdef4bb331f788f4fe81861b6f09992f Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sat, 1 Sep 2018 22:57:19 +0530 Subject: [PATCH 12/13] [BAEL-8855] - Deleted module jpa-storedprocedure --- jpa-storedprocedure/README.md | 1 - jpa-storedprocedure/pom.xml | 65 ------------------- .../main/resources/META-INF/persistence.xml | 20 ------ .../src/main/resources/logback.xml | 13 ---- pom.xml | 2 - 5 files changed, 101 deletions(-) delete mode 100644 jpa-storedprocedure/README.md delete mode 100644 jpa-storedprocedure/pom.xml delete mode 100644 jpa-storedprocedure/src/main/resources/META-INF/persistence.xml delete mode 100644 jpa-storedprocedure/src/main/resources/logback.xml diff --git a/jpa-storedprocedure/README.md b/jpa-storedprocedure/README.md deleted file mode 100644 index 7d843af9ea..0000000000 --- a/jpa-storedprocedure/README.md +++ /dev/null @@ -1 +0,0 @@ -### Relevant Articles: diff --git a/jpa-storedprocedure/pom.xml b/jpa-storedprocedure/pom.xml deleted file mode 100644 index 79fa637cb6..0000000000 --- a/jpa-storedprocedure/pom.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - 4.0.0 - com.baeldung - jpa-storedprocedure - 1.0 - jar - - - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - - - - - - javax - javaee-api - ${jee.version} - provided - - - org.hibernate - hibernate-entitymanager - ${hibernate.version} - - - - mysql - mysql-connector-java - ${mysql.version} - - - commons-io - commons-io - ${commons-io.version} - - - - - JpaStoredProcedure - - - maven-assembly-plugin - - ${project.basedir} - - - jar-with-dependencies - - - - - - - - 7.0 - 5.2.5.Final - 6.0.5 - 2.5 - - - \ No newline at end of file diff --git a/jpa-storedprocedure/src/main/resources/META-INF/persistence.xml b/jpa-storedprocedure/src/main/resources/META-INF/persistence.xml deleted file mode 100644 index 4c443cb7cf..0000000000 --- a/jpa-storedprocedure/src/main/resources/META-INF/persistence.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - org.hibernate.jpa.HibernatePersistenceProvider - com.baeldung.jpa.model.Car - - - - - - - - - - \ No newline at end of file diff --git a/jpa-storedprocedure/src/main/resources/logback.xml b/jpa-storedprocedure/src/main/resources/logback.xml deleted file mode 100644 index 7d900d8ea8..0000000000 --- a/jpa-storedprocedure/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 92df840079..7bed9c5cc0 100644 --- a/pom.xml +++ b/pom.xml @@ -398,7 +398,6 @@ jee-7 jhipster/jhipster-monolithic jjwt - jpa-storedprocedure jsf json-path json @@ -949,7 +948,6 @@ jgroups jee-7 jjwt - jpa-storedprocedure jsf json-path json From b7aa6a2caaef6dbbac7740bd67d0a3a7157ad314 Mon Sep 17 00:00:00 2001 From: Swapan Pramanick Date: Sun, 2 Sep 2018 10:38:12 +0530 Subject: [PATCH 13/13] BAEL-2140 (#5092) --- .../string/AppendCharAtPositionX.java | 45 +++++++ .../string/AppendCharAtPositionXUnitTest.java | 110 ++++++++++++++++++ 2 files changed, 155 insertions(+) create mode 100644 core-java/src/main/java/com/baeldung/string/AppendCharAtPositionX.java create mode 100644 core-java/src/test/java/com/baeldung/string/AppendCharAtPositionXUnitTest.java diff --git a/core-java/src/main/java/com/baeldung/string/AppendCharAtPositionX.java b/core-java/src/main/java/com/baeldung/string/AppendCharAtPositionX.java new file mode 100644 index 0000000000..bebffe52f1 --- /dev/null +++ b/core-java/src/main/java/com/baeldung/string/AppendCharAtPositionX.java @@ -0,0 +1,45 @@ +/** + * + */ +package com.baeldung.string; + +/** + * @author swpraman + * + */ +public class AppendCharAtPositionX { + + public String addCharUsingCharArray(String str, char ch, int position) { + validate(str, position); + int len = str.length(); + char[] updatedArr = new char[len + 1]; + str.getChars(0, position, updatedArr, 0); + updatedArr[position] = ch; + str.getChars(position, len, updatedArr, position + 1); + return new String(updatedArr); + } + + public String addCharUsingSubstring(String str, char ch, int position) { + validate(str, position); + return str.substring(0, position) + ch + str.substring(position); + } + + public String addCharUsingStringBuilder(String str, char ch, int position) { + validate(str, position); + StringBuilder sb = new StringBuilder(str); + sb.insert(position, ch); + return sb.toString(); + } + + private void validate(String str, int position) { + if (str == null) { + throw new IllegalArgumentException("Str should not be null"); + } + int len = str.length(); + if (position < 0 || position > len) { + throw new IllegalArgumentException("position[" + position + "] should be " + + "in the range 0.." + len + " for string " + str); + } + } + +} diff --git a/core-java/src/test/java/com/baeldung/string/AppendCharAtPositionXUnitTest.java b/core-java/src/test/java/com/baeldung/string/AppendCharAtPositionXUnitTest.java new file mode 100644 index 0000000000..2cdf6145d3 --- /dev/null +++ b/core-java/src/test/java/com/baeldung/string/AppendCharAtPositionXUnitTest.java @@ -0,0 +1,110 @@ +/** + * + */ +package com.baeldung.string; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; + +/** + * @author swpraman + * + */ +public class AppendCharAtPositionXUnitTest { + + private AppendCharAtPositionX appendCharAtPosition = new AppendCharAtPositionX(); + private String word = "Titanc"; + private char letter = 'i'; + + @Test + public void whenUsingCharacterArrayAndCharacterAddedAtBeginning_shouldAddCharacter() { + assertEquals("iTitanc", appendCharAtPosition.addCharUsingCharArray(word, letter, 0)); + } + + @Test + public void whenUsingSubstringAndCharacterAddedAtBeginning_shouldAddCharacter() { + assertEquals("iTitanc", appendCharAtPosition.addCharUsingSubstring(word, letter, 0)); + } + + @Test + public void whenUsingStringBuilderAndCharacterAddedAtBeginning_shouldAddCharacter() { + assertEquals("iTitanc", appendCharAtPosition.addCharUsingStringBuilder(word, letter, 0)); + } + + @Test + public void whenUsingCharacterArrayAndCharacterAddedAtMiddle_shouldAddCharacter() { + assertEquals("Titianc", appendCharAtPosition.addCharUsingCharArray(word, letter, 3)); + } + + @Test + public void whenUsingSubstringAndCharacterAddedAtMiddle_shouldAddCharacter() { + assertEquals("Titianc", appendCharAtPosition.addCharUsingSubstring(word, letter, 3)); + } + + @Test + public void whenUsingStringBuilderAndCharacterAddedAtMiddle_shouldAddCharacter() { + assertEquals("Titianc", appendCharAtPosition.addCharUsingStringBuilder(word, letter, 3)); + } + + @Test + public void whenUsingCharacterArrayAndCharacterAddedAtEnd_shouldAddCharacter() { + assertEquals("Titanci", appendCharAtPosition.addCharUsingCharArray(word, letter, word.length())); + } + + @Test + public void whenUsingSubstringAndCharacterAddedAtEnd_shouldAddCharacter() { + assertEquals("Titanci", appendCharAtPosition.addCharUsingSubstring(word, letter, word.length())); + } + + @Test + public void whenUsingStringBuilderAndCharacterAddedAtEnd_shouldAddCharacter() { + assertEquals("Titanci", appendCharAtPosition.addCharUsingStringBuilder(word, letter, word.length())); + } + + @Test(expected=IllegalArgumentException.class) + public void whenUsingCharacterArrayAndCharacterAddedAtNegativePosition_shouldThrowException() { + appendCharAtPosition.addCharUsingStringBuilder(word, letter, -1); + } + + @Test(expected=IllegalArgumentException.class) + public void whenUsingSubstringAndCharacterAddedAtNegativePosition_shouldThrowException() { + appendCharAtPosition.addCharUsingStringBuilder(word, letter, -1); + } + + @Test(expected=IllegalArgumentException.class) + public void whenUsingStringBuilderAndCharacterAddedAtNegativePosition_shouldThrowException() { + appendCharAtPosition.addCharUsingStringBuilder(word, letter, -1); + } + + @Test(expected=IllegalArgumentException.class) + public void whenUsingCharacterArrayAndCharacterAddedAtInvalidPosition_shouldThrowException() { + appendCharAtPosition.addCharUsingStringBuilder(word, letter, word.length() + 2); + } + + @Test(expected=IllegalArgumentException.class) + public void whenUsingSubstringAndCharacterAddedAtInvalidPosition_shouldThrowException() { + appendCharAtPosition.addCharUsingStringBuilder(word, letter, word.length() + 2); + } + + @Test(expected=IllegalArgumentException.class) + public void whenUsingStringBuilderAndCharacterAddedAtInvalidPosition_shouldThrowException() { + appendCharAtPosition.addCharUsingStringBuilder(word, letter, word.length() + 2); + } + + @Test(expected=IllegalArgumentException.class) + public void whenUsingCharacterArrayAndCharacterAddedAtPositionXAndStringIsNull_shouldThrowException() { + appendCharAtPosition.addCharUsingStringBuilder(null, letter, 3); + } + + @Test(expected=IllegalArgumentException.class) + public void whenUsingSubstringAndCharacterAddedAtPositionXAndStringIsNull_shouldThrowException() { + appendCharAtPosition.addCharUsingStringBuilder(null, letter, 3); + } + + @Test(expected=IllegalArgumentException.class) + public void whenUsingStringBuilderAndCharacterAddedAtPositionXAndStringIsNull_shouldThrowException() { + appendCharAtPosition.addCharUsingStringBuilder(null, letter, 3); + } + +}