diff --git a/.gitignore b/.gitignore index 78125cc3ee..c54117203f 100644 --- a/.gitignore +++ b/.gitignore @@ -85,3 +85,5 @@ transaction.log *-shell.log apache-cxf/cxf-aegis/baeldung.xml + +libraries-2/*.db \ No newline at end of file diff --git a/algorithms-miscellaneous-2/src/test/java/com/baeldung/jgrapht/GraphImageGenerationUnitTest.java b/algorithms-miscellaneous-2/src/test/java/com/baeldung/jgrapht/GraphImageGenerationUnitTest.java index 3b841d574a..a0d7523f48 100644 --- a/algorithms-miscellaneous-2/src/test/java/com/baeldung/jgrapht/GraphImageGenerationUnitTest.java +++ b/algorithms-miscellaneous-2/src/test/java/com/baeldung/jgrapht/GraphImageGenerationUnitTest.java @@ -1,16 +1,21 @@ package com.baeldung.jgrapht; import static org.junit.Assert.assertTrue; + import java.awt.Color; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; + import javax.imageio.ImageIO; + import org.jgrapht.ext.JGraphXAdapter; import org.jgrapht.graph.DefaultDirectedGraph; import org.jgrapht.graph.DefaultEdge; +import org.junit.After; import org.junit.Before; import org.junit.Test; + import com.mxgraph.layout.mxCircleLayout; import com.mxgraph.layout.mxIGraphLayout; import com.mxgraph.util.mxCellRenderer; @@ -20,7 +25,7 @@ public class GraphImageGenerationUnitTest { @Before public void createGraph() throws IOException { - File imgFile = new File("src/test/resources/graph.png"); + File imgFile = new File("src/test/resources/graph1.png"); imgFile.createNewFile(); g = new DefaultDirectedGraph(DefaultEdge.class); String x1 = "x1"; @@ -34,12 +39,18 @@ public class GraphImageGenerationUnitTest { g.addEdge(x3, x1); } + @After + public void cleanup() { + File imgFile = new File("src/test/resources/graph1.png"); + imgFile.deleteOnExit(); + } + @Test public void givenAdaptedGraph_whenWriteBufferedImage_ThenFileShouldExist() throws IOException { JGraphXAdapter graphAdapter = new JGraphXAdapter(g); mxIGraphLayout layout = new mxCircleLayout(graphAdapter); layout.execute(graphAdapter.getDefaultParent()); - File imgFile = new File("src/test/resources/graph.png"); + File imgFile = new File("src/test/resources/graph1.png"); BufferedImage image = mxCellRenderer.createBufferedImage(graphAdapter, null, 2, Color.WHITE, true, null); ImageIO.write(image, "PNG", imgFile); assertTrue(imgFile.exists()); diff --git a/algorithms-miscellaneous-2/src/main/java/com/baeldung/algorithms/play2048/Board.java b/algorithms-miscellaneous-6/src/main/java/com/baeldung/algorithms/play2048/Board.java similarity index 100% rename from algorithms-miscellaneous-2/src/main/java/com/baeldung/algorithms/play2048/Board.java rename to algorithms-miscellaneous-6/src/main/java/com/baeldung/algorithms/play2048/Board.java diff --git a/algorithms-miscellaneous-2/src/main/java/com/baeldung/algorithms/play2048/Cell.java b/algorithms-miscellaneous-6/src/main/java/com/baeldung/algorithms/play2048/Cell.java similarity index 100% rename from algorithms-miscellaneous-2/src/main/java/com/baeldung/algorithms/play2048/Cell.java rename to algorithms-miscellaneous-6/src/main/java/com/baeldung/algorithms/play2048/Cell.java diff --git a/algorithms-miscellaneous-2/src/main/java/com/baeldung/algorithms/play2048/Computer.java b/algorithms-miscellaneous-6/src/main/java/com/baeldung/algorithms/play2048/Computer.java similarity index 100% rename from algorithms-miscellaneous-2/src/main/java/com/baeldung/algorithms/play2048/Computer.java rename to algorithms-miscellaneous-6/src/main/java/com/baeldung/algorithms/play2048/Computer.java diff --git a/algorithms-miscellaneous-2/src/main/java/com/baeldung/algorithms/play2048/Human.java b/algorithms-miscellaneous-6/src/main/java/com/baeldung/algorithms/play2048/Human.java similarity index 100% rename from algorithms-miscellaneous-2/src/main/java/com/baeldung/algorithms/play2048/Human.java rename to algorithms-miscellaneous-6/src/main/java/com/baeldung/algorithms/play2048/Human.java diff --git a/algorithms-miscellaneous-2/src/main/java/com/baeldung/algorithms/play2048/Move.java b/algorithms-miscellaneous-6/src/main/java/com/baeldung/algorithms/play2048/Move.java similarity index 100% rename from algorithms-miscellaneous-2/src/main/java/com/baeldung/algorithms/play2048/Move.java rename to algorithms-miscellaneous-6/src/main/java/com/baeldung/algorithms/play2048/Move.java diff --git a/algorithms-miscellaneous-2/src/main/java/com/baeldung/algorithms/play2048/Play2048.java b/algorithms-miscellaneous-6/src/main/java/com/baeldung/algorithms/play2048/Play2048.java similarity index 98% rename from algorithms-miscellaneous-2/src/main/java/com/baeldung/algorithms/play2048/Play2048.java rename to algorithms-miscellaneous-6/src/main/java/com/baeldung/algorithms/play2048/Play2048.java index ec5b3dca40..2f7c4d254c 100644 --- a/algorithms-miscellaneous-2/src/main/java/com/baeldung/algorithms/play2048/Play2048.java +++ b/algorithms-miscellaneous-6/src/main/java/com/baeldung/algorithms/play2048/Play2048.java @@ -1,7 +1,7 @@ package com.baeldung.algorithms.play2048; public class Play2048 { - private static final int SIZE = 3; + private static final int SIZE = 4; private static final int INITIAL_NUMBERS = 2; public static void main(String[] args) { diff --git a/apache-libraries/pom.xml b/apache-libraries/pom.xml index fc655967ed..9f800f1e0b 100644 --- a/apache-libraries/pom.xml +++ b/apache-libraries/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - apache-miscellaneous-1 + apache-libraries 0.0.1-SNAPSHOT apache-libraries diff --git a/aws-app-sync/pom.xml b/aws-app-sync/pom.xml index 4c55d38d77..700ffad735 100644 --- a/aws-app-sync/pom.xml +++ b/aws-app-sync/pom.xml @@ -13,10 +13,6 @@ ../parent-boot-2 - - 1.8 - - @@ -50,4 +46,7 @@ + + 1.8 + diff --git a/cloud-foundry-uaa/cf-uaa-oauth2-client/pom.xml b/cloud-foundry-uaa/cf-uaa-oauth2-client/pom.xml index 8706bd3b53..4d64307558 100644 --- a/cloud-foundry-uaa/cf-uaa-oauth2-client/pom.xml +++ b/cloud-foundry-uaa/cf-uaa-oauth2-client/pom.xml @@ -6,7 +6,7 @@ 4.0.0 com.example cf-uaa-oauth2-client - uaa-client-webapp + cf-uaa-oauth2-client Demo project for Spring Boot diff --git a/core-java-modules/core-java-8-datetime-2/pom.xml b/core-java-modules/core-java-8-datetime-2/pom.xml index f66a89ca55..0e60941cc7 100644 --- a/core-java-modules/core-java-8-datetime-2/pom.xml +++ b/core-java-modules/core-java-8-datetime-2/pom.xml @@ -6,7 +6,7 @@ 4.0.0 core-java-8-datetime-2 ${project.parent.version} - core-java-8-datetime + core-java-8-datetime-2 jar com.baeldung.core-java-modules diff --git a/core-java-modules/core-java-9-new-features/src/test/java/com/baeldung/java9/currentmethod/CurrentExecutingMethodUnitTest.java b/core-java-modules/core-java-9-new-features/src/test/java/com/baeldung/java9/currentmethod/CurrentExecutingMethodUnitTest.java new file mode 100644 index 0000000000..6a130834e0 --- /dev/null +++ b/core-java-modules/core-java-9-new-features/src/test/java/com/baeldung/java9/currentmethod/CurrentExecutingMethodUnitTest.java @@ -0,0 +1,23 @@ +package com.baeldung.java9.currentmethod; + +import org.junit.Test; + +import java.util.Optional; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +public class CurrentExecutingMethodUnitTest { + + @Test + public void givenJava9_whenWalkingTheStack_thenFindMethod() { + StackWalker walker = StackWalker.getInstance(); + Optional methodName = walker.walk(frames -> frames + .findFirst() + .map(StackWalker.StackFrame::getMethodName) + ); + + assertTrue(methodName.isPresent()); + assertEquals("givenJava9_whenWalkingTheStack_thenFindMethod", methodName.get()); + } +} diff --git a/core-java-modules/core-java-arrays-operations-basic/pom.xml b/core-java-modules/core-java-arrays-operations-basic/pom.xml index 73588d662a..64856d9b39 100644 --- a/core-java-modules/core-java-arrays-operations-basic/pom.xml +++ b/core-java-modules/core-java-arrays-operations-basic/pom.xml @@ -13,32 +13,6 @@ core-java-arrays-operations-basic jar - - - - org.apache.maven.plugins - maven-shade-plugin - ${shade.plugin.version} - - - package - - shade - - - benchmarks - - - org.openjdk.jmh.Main - - - - - - - - - org.apache.commons @@ -66,6 +40,32 @@ + + + + org.apache.maven.plugins + maven-shade-plugin + ${shade.plugin.version} + + + package + + shade + + + benchmarks + + + org.openjdk.jmh.Main + + + + + + + + + 3.2.0 diff --git a/core-java-modules/core-java-arrays-sorting/pom.xml b/core-java-modules/core-java-arrays-sorting/pom.xml index d5e2beaac4..9b307870a1 100644 --- a/core-java-modules/core-java-arrays-sorting/pom.xml +++ b/core-java-modules/core-java-arrays-sorting/pom.xml @@ -14,32 +14,6 @@ core-java-arrays-sorting jar - - - - org.apache.maven.plugins - maven-shade-plugin - ${shade.plugin.version} - - - package - - shade - - - benchmarks - - - org.openjdk.jmh.Main - - - - - - - - - @@ -74,6 +48,32 @@ + + + + org.apache.maven.plugins + maven-shade-plugin + ${shade.plugin.version} + + + package + + shade + + + benchmarks + + + org.openjdk.jmh.Main + + + + + + + + + 3.2.0 diff --git a/core-java-modules/core-java-exceptions-2/src/test/java/com/baeldung/exceptionininitializererror/ExceptionInInitializerErrorUnitTest.java b/core-java-modules/core-java-exceptions-2/src/test/java/com/baeldung/exceptionininitializererror/ExceptionInInitializerErrorUnitTest.java new file mode 100644 index 0000000000..352d5ab50e --- /dev/null +++ b/core-java-modules/core-java-exceptions-2/src/test/java/com/baeldung/exceptionininitializererror/ExceptionInInitializerErrorUnitTest.java @@ -0,0 +1,55 @@ +package com.baeldung.exceptionininitializererror; + +import org.junit.Test; + +import java.lang.reflect.Constructor; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +public class ExceptionInInitializerErrorUnitTest { + + @Test + public void givenStaticVar_whenThrows_thenWrapsItInAnExceptionInInitializerError() { + assertThatThrownBy(StaticVar::new) + .isInstanceOf(ExceptionInInitializerError.class) + .hasCauseInstanceOf(RuntimeException.class); + } + + @Test + public void givenStaticBlock_whenThrows_thenWrapsItInAnExceptionInInitializerError() { + assertThatThrownBy(StaticBlock::new) + .isInstanceOf(ExceptionInInitializerError.class) + .hasCauseInstanceOf(ArithmeticException.class); + } + + private static class CheckedConvention { + + private static Constructor constructor; + + static { + try { + constructor = CheckedConvention.class.getDeclaredConstructor(); + } catch (NoSuchMethodException e) { + throw new ExceptionInInitializerError(e); + } + } + } + + private static class StaticVar { + + private static int state = initializeState(); + + private static int initializeState() { + throw new RuntimeException(); + } + } + + private static class StaticBlock { + + private static int state; + + static { + state = 42 / 0; + } + } +} diff --git a/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/isinstancevsisassignablefrom/IsoscelesTriangle.java b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/isinstancevsisassignablefrom/IsoscelesTriangle.java new file mode 100644 index 0000000000..25392320fe --- /dev/null +++ b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/isinstancevsisassignablefrom/IsoscelesTriangle.java @@ -0,0 +1,5 @@ +package com.baeldung.isinstancevsisassignablefrom; + +public class IsoscelesTriangle extends Triangle { + +} diff --git a/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/isinstancevsisassignablefrom/Shape.java b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/isinstancevsisassignablefrom/Shape.java new file mode 100644 index 0000000000..c83626a3b6 --- /dev/null +++ b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/isinstancevsisassignablefrom/Shape.java @@ -0,0 +1,5 @@ +package com.baeldung.isinstancevsisassignablefrom; + +public interface Shape { + +} diff --git a/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/isinstancevsisassignablefrom/Triangle.java b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/isinstancevsisassignablefrom/Triangle.java new file mode 100644 index 0000000000..c35dfd9eca --- /dev/null +++ b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/isinstancevsisassignablefrom/Triangle.java @@ -0,0 +1,5 @@ +package com.baeldung.isinstancevsisassignablefrom; + +public class Triangle implements Shape { + +} diff --git a/core-java-modules/core-java-lang-2/src/test/java/com/baeldung/isinstancevsisassignablefrom/IsInstanceIsAssignableFromUnitTest.java b/core-java-modules/core-java-lang-2/src/test/java/com/baeldung/isinstancevsisassignablefrom/IsInstanceIsAssignableFromUnitTest.java new file mode 100644 index 0000000000..e0ad264797 --- /dev/null +++ b/core-java-modules/core-java-lang-2/src/test/java/com/baeldung/isinstancevsisassignablefrom/IsInstanceIsAssignableFromUnitTest.java @@ -0,0 +1,67 @@ +package com.baeldung.isinstancevsisassignablefrom; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +public class IsInstanceIsAssignableFromUnitTest { + + @Test + public void whenUsingIsInstanceProperly_desiredResultsHappen() { + Shape shape = new Triangle(); + Triangle triangle = new Triangle(); + IsoscelesTriangle isoscelesTriangle = new IsoscelesTriangle(); + Triangle isoscelesTriangle2 = new IsoscelesTriangle(); + Shape nonspecificShape = null; + + assertTrue(Shape.class.isInstance(shape)); + assertTrue(Shape.class.isInstance(triangle)); + assertTrue(Shape.class.isInstance(isoscelesTriangle)); + assertTrue(Shape.class.isInstance(isoscelesTriangle2)); + assertFalse(Shape.class.isInstance(nonspecificShape)); + + assertTrue(Triangle.class.isInstance(shape)); + assertTrue(Triangle.class.isInstance(triangle)); + assertTrue(Triangle.class.isInstance(isoscelesTriangle)); + assertTrue(Triangle.class.isInstance(isoscelesTriangle2)); + + assertFalse(IsoscelesTriangle.class.isInstance(shape)); + assertFalse(IsoscelesTriangle.class.isInstance(triangle)); + assertTrue(IsoscelesTriangle.class.isInstance(isoscelesTriangle)); + assertTrue(IsoscelesTriangle.class.isInstance(isoscelesTriangle2)); + } + + @Test + public void whenUsingIsAssignableFromProperly_desiredResultsHappen() { + Shape shape = new Triangle(); + Triangle triangle = new Triangle(); + IsoscelesTriangle isoscelesTriangle = new IsoscelesTriangle(); + Triangle isoscelesTriangle2 = new IsoscelesTriangle(); + + assertFalse(shape.getClass().isAssignableFrom(Shape.class)); + assertTrue(shape.getClass().isAssignableFrom(shape.getClass())); + assertTrue(shape.getClass().isAssignableFrom(triangle.getClass())); + assertTrue(shape.getClass().isAssignableFrom(isoscelesTriangle.getClass())); + assertTrue(shape.getClass().isAssignableFrom(isoscelesTriangle2.getClass())); + + assertFalse(triangle.getClass().isAssignableFrom(Shape.class)); + assertTrue(triangle.getClass().isAssignableFrom(shape.getClass())); + assertTrue(triangle.getClass().isAssignableFrom(triangle.getClass())); + assertTrue(triangle.getClass().isAssignableFrom(isoscelesTriangle.getClass())); + assertTrue(triangle.getClass().isAssignableFrom(isoscelesTriangle2.getClass())); + + assertFalse(isoscelesTriangle.getClass().isAssignableFrom(Shape.class)); + assertFalse(isoscelesTriangle.getClass().isAssignableFrom(shape.getClass())); + assertFalse(isoscelesTriangle.getClass().isAssignableFrom(triangle.getClass())); + assertTrue(isoscelesTriangle.getClass().isAssignableFrom(isoscelesTriangle.getClass())); + assertTrue(isoscelesTriangle.getClass().isAssignableFrom(isoscelesTriangle2.getClass())); + + assertFalse(isoscelesTriangle2.getClass().isAssignableFrom(Shape.class)); + assertFalse(isoscelesTriangle2.getClass().isAssignableFrom(shape.getClass())); + assertFalse(isoscelesTriangle2.getClass().isAssignableFrom(triangle.getClass())); + assertTrue(isoscelesTriangle2.getClass().isAssignableFrom(isoscelesTriangle.getClass())); + assertTrue(isoscelesTriangle2.getClass().isAssignableFrom(isoscelesTriangle2.getClass())); + } + +} diff --git a/core-java-modules/core-java-regex/src/test/java/com/baeldung/regex/countmatches/CountMatchesUnitTest.java b/core-java-modules/core-java-regex/src/test/java/com/baeldung/regex/countmatches/CountMatchesUnitTest.java new file mode 100644 index 0000000000..6427d11dd6 --- /dev/null +++ b/core-java-modules/core-java-regex/src/test/java/com/baeldung/regex/countmatches/CountMatchesUnitTest.java @@ -0,0 +1,110 @@ +package com.baeldung.regex.countmatches; + +import static org.junit.Assert.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.junit.Test; + +/** + * Unit Test intended to count number of matches of a RegEx using Java 8 and 9. + * + * Java 9 is needed to run the commented out tests. + */ +public class CountMatchesUnitTest { + + private static final Pattern EMAIL_ADDRESS_PATTERN = Pattern.compile("([a-z0-9_.-]+)@([a-z0-9_.-]+[a-z])"); + private static final String TEXT_CONTAINING_EMAIL_ADDRESSES = "You can contact me through: writer@baeldung.com, editor@baeldung.com and team@bealdung.com"; + private static final String TEXT_CONTAINING_FIVE_EMAIL_ADDRESSES = "Valid emails are: me@gmail.com, you@baeldung.com, contact@hotmail.com, press@anysite.com and support@bealdung.com"; + private static final String TEXT_CONTAINING_OVERLAP_EMAIL_ADDRESSES = "Try to contact us at team@baeldung.comeditor@baeldung.com, support@baeldung.com."; + + @Test + public void givenContainingEmailString_whenJava8Match_thenCountMacthesFound() { + Matcher countEmailMatcher = EMAIL_ADDRESS_PATTERN.matcher(TEXT_CONTAINING_EMAIL_ADDRESSES); + + int count = 0; + while (countEmailMatcher.find()) { + count++; + } + + assertEquals(3, count); + } + + @Test + public void givenContainingFiveEmailsString_whenJava8Match_thenCountMacthesFound() { + Matcher countFiveEmailsMatcher = EMAIL_ADDRESS_PATTERN.matcher(TEXT_CONTAINING_FIVE_EMAIL_ADDRESSES); + + int count = 0; + while (countFiveEmailsMatcher.find()) { + count++; + } + + assertEquals(5, count); + } + + @Test + public void givenStringWithoutEmails_whenJava8Match_thenCountMacthesNotFound() { + Matcher noEmailMatcher = EMAIL_ADDRESS_PATTERN.matcher("Simple text without emails."); + + int count = 0; + while (noEmailMatcher.find()) { + count++; + } + + assertEquals(0, count); + } + + @Test + public void givenStringWithOverlappingEmails_whenJava8Match_thenCountWrongMatches() { + Matcher countOverlappingEmailsMatcher = EMAIL_ADDRESS_PATTERN.matcher(TEXT_CONTAINING_OVERLAP_EMAIL_ADDRESSES); + + int count = 0; + while (countOverlappingEmailsMatcher.find()) { + count++; + } + + assertNotEquals(3, count); + } + + @Test + public void givenContainingEmailString_whenStartingInJava9Match_thenCountMacthesFound() { + // uncomment to try with Java 9 + // Matcher countEmailMatcher = EMAIL_ADDRESS_PATTERN.matcher(TEXT_CONTAINING_EMAIL_ADDRESSES); + + // long count = countEmailMatcher.results().count(); + + // assertEquals(3, count); + } + + @Test + public void givenContainingFiveEmailsString_whenStartingInJava9Match_thenCountMacthesFound() { + // uncomment to try with Java 9 + // Matcher countFiveEmailsMatcher = EMAIL_ADDRESS_PATTERN.matcher(TEXT_CONTAINING_FIVE_EMAIL_ADDRESSES); + + // long count = countFiveEmailsMatcher.results().count(); + + // assertEquals(5, count); + } + + @Test + public void givenStringWithoutEmails_whenJava9Match_thenCountMacthesNotFound() { + // uncomment to try with Java 9 + // Matcher noEmailMatcher = EMAIL_ADDRESS_PATTERN.matcher("Simple text without emails."); + + // long count = noEmailMatcher.results().count(); + + // assertEquals(0, count); + } + + @Test + public void givenStringWithOverlappingEmails_whenJava9Match_thenCountWrongMatches() { + // uncomment to try with Java 9 + // Matcher countOverlappingEmailsMatcher = EMAIL_ADDRESS_PATTERN.matcher(TEXT_CONTAINING_OVERLAP_EMAIL_ADDRESSES); + + // long count = countOverlappingEmailsMatcher.results().count(); + + // assertNotEquals(3, count); + } +} diff --git a/core-java-modules/pom.xml b/core-java-modules/pom.xml index 76fed91251..d01a7cc792 100644 --- a/core-java-modules/pom.xml +++ b/core-java-modules/pom.xml @@ -134,18 +134,6 @@ pre-jpms - - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - - - - @@ -163,6 +151,18 @@ + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + + + + 2.22.2 5.6.2 diff --git a/ddd/pom.xml b/ddd/pom.xml index 422f9ccd15..9f960502a3 100644 --- a/ddd/pom.xml +++ b/ddd/pom.xml @@ -17,16 +17,6 @@ ../parent-boot-2 - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - - - @@ -105,6 +95,16 @@ + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + + + 2.22.2 diff --git a/guava-2/README.md b/guava-2/README.md new file mode 100644 index 0000000000..c20fc3e7bd --- /dev/null +++ b/guava-2/README.md @@ -0,0 +1,6 @@ +## Guava + +This module contains articles a Google Guava + +### Relevant Articles: +- [Introduction to Guava Throwables](https://www.baeldung.com/guava-throwables) diff --git a/guava-2/pom.xml b/guava-2/pom.xml new file mode 100644 index 0000000000..b19f59a9b4 --- /dev/null +++ b/guava-2/pom.xml @@ -0,0 +1,48 @@ + + + 4.0.0 + guava-2 + 0.1.0-SNAPSHOT + guava-2 + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../parent-java + + + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + + org.assertj + assertj-core + ${assertj.version} + test + + + + + guava + + + src/main/resources + true + + + + + + + 3.6.1 + + + diff --git a/guava/src/test/java/com/baeldung/guava/ThrowablesUnitTest.java b/guava-2/src/test/java/com/baeldung/guava/throwables/ThrowablesUnitTest.java similarity index 97% rename from guava/src/test/java/com/baeldung/guava/ThrowablesUnitTest.java rename to guava-2/src/test/java/com/baeldung/guava/throwables/ThrowablesUnitTest.java index 7d33b38a0e..c1707f8903 100644 --- a/guava/src/test/java/com/baeldung/guava/ThrowablesUnitTest.java +++ b/guava-2/src/test/java/com/baeldung/guava/throwables/ThrowablesUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.guava; +package com.baeldung.guava.throwables; import com.google.common.base.Throwables; import org.junit.Test; diff --git a/guava-2/src/test/resources/.gitignore b/guava-2/src/test/resources/.gitignore new file mode 100644 index 0000000000..83c05e60c8 --- /dev/null +++ b/guava-2/src/test/resources/.gitignore @@ -0,0 +1,13 @@ +*.class + +#folders# +/target +/neoDb* +/data +/src/main/webapp/WEB-INF/classes +*/META-INF/* + +# Packaged files # +*.jar +*.war +*.ear \ No newline at end of file diff --git a/guava-2/src/test/resources/test.out b/guava-2/src/test/resources/test.out new file mode 100644 index 0000000000..7a79da3803 --- /dev/null +++ b/guava-2/src/test/resources/test.out @@ -0,0 +1 @@ +John Jane Adam Tom \ No newline at end of file diff --git a/guava-2/src/test/resources/test1.in b/guava-2/src/test/resources/test1.in new file mode 100644 index 0000000000..70c379b63f --- /dev/null +++ b/guava-2/src/test/resources/test1.in @@ -0,0 +1 @@ +Hello world \ No newline at end of file diff --git a/guava-2/src/test/resources/test1_1.in b/guava-2/src/test/resources/test1_1.in new file mode 100644 index 0000000000..8318c86b35 --- /dev/null +++ b/guava-2/src/test/resources/test1_1.in @@ -0,0 +1 @@ +Test \ No newline at end of file diff --git a/guava-2/src/test/resources/test2.in b/guava-2/src/test/resources/test2.in new file mode 100644 index 0000000000..622efea9e6 --- /dev/null +++ b/guava-2/src/test/resources/test2.in @@ -0,0 +1,4 @@ +John +Jane +Adam +Tom \ No newline at end of file diff --git a/guava-2/src/test/resources/test_copy.in b/guava-2/src/test/resources/test_copy.in new file mode 100644 index 0000000000..70c379b63f --- /dev/null +++ b/guava-2/src/test/resources/test_copy.in @@ -0,0 +1 @@ +Hello world \ No newline at end of file diff --git a/guava-2/src/test/resources/test_le.txt b/guava-2/src/test/resources/test_le.txt new file mode 100644 index 0000000000..f7cc484bf4 Binary files /dev/null and b/guava-2/src/test/resources/test_le.txt differ diff --git a/guava-collections-map/pom.xml b/guava-collections-map/pom.xml index 06537d26bd..4a95234d5c 100644 --- a/guava-collections-map/pom.xml +++ b/guava-collections-map/pom.xml @@ -14,6 +14,21 @@ ../parent-java + + + org.junit.jupiter + junit-jupiter + ${junit-jupiter.version} + test + + + org.junit.vintage + junit-vintage-engine + ${junit-jupiter.version} + test + + + guava-collections-map @@ -33,21 +48,6 @@ - - - org.junit.jupiter - junit-jupiter - ${junit-jupiter.version} - test - - - org.junit.vintage - junit-vintage-engine - ${junit-jupiter.version} - test - - - 5.6.2 diff --git a/guava-collections-set/pom.xml b/guava-collections-set/pom.xml index 49d96965a7..af46400555 100644 --- a/guava-collections-set/pom.xml +++ b/guava-collections-set/pom.xml @@ -13,18 +13,6 @@ ../parent-java - - guava-collections-set - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.22.2 - - - - @@ -47,6 +35,18 @@ + + guava-collections-set + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.2 + + + + 3.6.1 diff --git a/guava-collections/pom.xml b/guava-collections/pom.xml index 744eba1a38..238ab60f84 100644 --- a/guava-collections/pom.xml +++ b/guava-collections/pom.xml @@ -15,25 +15,6 @@ ../parent-java - - guava-collections - - - - src/main/resources - true - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.22.2 - - - - @@ -76,6 +57,25 @@ + + guava-collections + + + + src/main/resources + true + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.2 + + + + 4.1 diff --git a/guava-io/pom.xml b/guava-io/pom.xml index fd637f2474..e01f76e2e3 100644 --- a/guava-io/pom.xml +++ b/guava-io/pom.xml @@ -16,6 +16,21 @@ ../parent-java + + + org.junit.jupiter + junit-jupiter + ${junit-jupiter.version} + test + + + org.junit.vintage + junit-vintage-engine + ${junit-jupiter.version} + test + + + guava-io @@ -35,18 +50,4 @@ - - - org.junit.jupiter - junit-jupiter - ${junit-jupiter.version} - test - - - org.junit.vintage - junit-vintage-engine - ${junit-jupiter.version} - test - - \ No newline at end of file diff --git a/guava-modules/pom.xml b/guava-modules/pom.xml index 4e7282364d..d1a2bbc16e 100644 --- a/guava-modules/pom.xml +++ b/guava-modules/pom.xml @@ -22,16 +22,6 @@ guava-21 - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.22.2 - - - - org.junit.jupiter @@ -46,4 +36,15 @@ test + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.2 + + + + diff --git a/guava/README.md b/guava/README.md index 9c650dbc1d..720aba274d 100644 --- a/guava/README.md +++ b/guava/README.md @@ -12,5 +12,4 @@ This module contains articles a Google Guava - [Guide to Mathematical Utilities in Guava](https://www.baeldung.com/guava-math) - [Bloom Filter in Java using Guava](https://www.baeldung.com/guava-bloom-filter) - [Quick Guide to the Guava RateLimiter](https://www.baeldung.com/guava-rate-limiter) -- [Introduction to Guava Throwables](https://www.baeldung.com/guava-throwables) - [Guava Cache](https://www.baeldung.com/guava-cache) diff --git a/guava/pom.xml b/guava/pom.xml index 881390ae73..2c4ff07c84 100644 --- a/guava/pom.xml +++ b/guava/pom.xml @@ -15,25 +15,6 @@ ../parent-java - - guava - - - - src/main/resources - true - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.22.2 - - - - org.apache.commons @@ -62,6 +43,25 @@ + + guava + + + + src/main/resources + true + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.2 + + + + 5.6.2 diff --git a/jackson-modules/jackson-conversions-2/src/test/java/com/baeldung/jackson/csv/CsvUnitTest.java b/jackson-modules/jackson-conversions-2/src/test/java/com/baeldung/jackson/csv/CsvUnitTest.java index c257cb7dc9..7226eaf27d 100644 --- a/jackson-modules/jackson-conversions-2/src/test/java/com/baeldung/jackson/csv/CsvUnitTest.java +++ b/jackson-modules/jackson-conversions-2/src/test/java/com/baeldung/jackson/csv/CsvUnitTest.java @@ -7,48 +7,59 @@ import java.io.IOException; import java.nio.charset.Charset; import java.util.List; +import org.junit.After; +import org.junit.Before; import org.junit.Test; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.google.common.io.Files; - public class CsvUnitTest { + private File csvFromJson; + private File jsonFromCsv; + private File formattedCsvFromJson; + + @Before + public void setup() { + csvFromJson = new File("src/main/resources/csv/csvFromJson.csv"); + jsonFromCsv = new File("src/main/resources/csv/jsonFromCsv.json"); + formattedCsvFromJson = new File("src/main/resources/csv/formattedCsvFromJson.csv"); + } + + @After + public void cleanup() { + csvFromJson.deleteOnExit(); + jsonFromCsv.deleteOnExit(); + formattedCsvFromJson.deleteOnExit(); + } + @Test public void givenJsonInput_thenWriteCsv() throws JsonParseException, JsonMappingException, IOException { - JsonCsvConverter.JsonToCsv(new File("src/main/resources/csv/orderLines.json"), - new File("src/main/resources/csv/csvFromJson.csv")); - - assertEquals(readFile("src/main/resources/csv/csvFromJson.csv"), - readFile("src/test/resources/csv/expectedCsvFromJson.csv")); + JsonCsvConverter.JsonToCsv(new File("src/main/resources/csv/orderLines.json"), csvFromJson); + + assertEquals(readFile(csvFromJson.getAbsolutePath()), readFile("src/test/resources/csv/expectedCsvFromJson.csv")); } - + @Test public void givenCsvInput_thenWritesJson() throws JsonParseException, JsonMappingException, IOException { - JsonCsvConverter.csvToJson(new File("src/main/resources/csv/orderLines.csv"), - new File("src/main/resources/csv/jsonFromCsv.json")); - - assertEquals(readFile("src/main/resources/csv/jsonFromCsv.json"), - readFile("src/test/resources/csv/expectedJsonFromCsv.json")); - + JsonCsvConverter.csvToJson(new File("src/main/resources/csv/orderLines.csv"), jsonFromCsv); + + assertEquals(readFile(jsonFromCsv.getAbsolutePath()), readFile("src/test/resources/csv/expectedJsonFromCsv.json")); + } - + @Test public void givenJsonInput_thenWriteFormattedCsvOutput() throws JsonParseException, JsonMappingException, IOException { - JsonCsvConverter.JsonToFormattedCsv(new File("src/main/resources/csv/orderLines.json"), - new File("src/main/resources/csv/formattedCsvFromJson.csv")); + JsonCsvConverter.JsonToFormattedCsv(new File("src/main/resources/csv/orderLines.json"), formattedCsvFromJson); + + assertEquals(readFile(formattedCsvFromJson.getAbsolutePath()), readFile("src/test/resources/csv/expectedFormattedCsvFromJson.csv")); - assertEquals(readFile("src/main/resources/csv/formattedCsvFromJson.csv"), - readFile("src/test/resources/csv/expectedFormattedCsvFromJson.csv")); - } - + private List readFile(String filename) throws IOException { return Files.readLines(new File(filename), Charset.forName("utf-8")); } - - -} -; \ No newline at end of file + +}; \ No newline at end of file diff --git a/jackson-modules/jackson-conversions-2/src/test/java/com/baeldung/jackson/yaml/YamlUnitTest.java b/jackson-modules/jackson-conversions-2/src/test/java/com/baeldung/jackson/yaml/YamlUnitTest.java index 17c487ff26..cfa5afec0d 100644 --- a/jackson-modules/jackson-conversions-2/src/test/java/com/baeldung/jackson/yaml/YamlUnitTest.java +++ b/jackson-modules/jackson-conversions-2/src/test/java/com/baeldung/jackson/yaml/YamlUnitTest.java @@ -12,6 +12,7 @@ import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; +import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -25,12 +26,19 @@ import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator.Feature; public class YamlUnitTest { private ObjectMapper mapper; + private File orderOutput; @Before public void setup() { mapper = new ObjectMapper(new YAMLFactory().disable(Feature.WRITE_DOC_START_MARKER)); mapper.findAndRegisterModules(); mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + orderOutput = new File("src/test/resources/yaml/orderOutput.yaml"); + } + + @After + public void cleanup() { + orderOutput.deleteOnExit(); } @Test @@ -53,9 +61,9 @@ public class YamlUnitTest { LocalDate.parse("2019-04-18", DateTimeFormatter.ISO_DATE), "Customer, Jane", lines); - mapper.writeValue(new File("src/test/resources/yaml/orderOutput.yaml"), order); + mapper.writeValue(orderOutput, order); - File outputYaml = new File("src/test/resources/yaml/orderOutput.yaml"); + File outputYaml = new File(orderOutput.getAbsolutePath()); assertTrue(outputYaml.exists()); } } diff --git a/jackson-modules/pom.xml b/jackson-modules/pom.xml index 00722510af..70b10e9554 100644 --- a/jackson-modules/pom.xml +++ b/jackson-modules/pom.xml @@ -23,16 +23,6 @@ jackson-exceptions - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.22.2 - - - - com.fasterxml.jackson.core @@ -60,6 +50,16 @@ + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.2 + + + + 5.6.2 diff --git a/jackson-simple/pom.xml b/jackson-simple/pom.xml index 1f838bbed0..761dca6afa 100644 --- a/jackson-simple/pom.xml +++ b/jackson-simple/pom.xml @@ -13,25 +13,6 @@ ../parent-java - - jackson-simple - - - - src/main/resources - true - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.22.2 - - - - @@ -61,6 +42,25 @@ + + jackson-simple + + + + src/main/resources + true + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.2 + + + + 5.6.2 diff --git a/java-numbers-3/src/main/java/com/baeldung/integerToBinary/IntegerToBinary.java b/java-numbers-3/src/main/java/com/baeldung/integerToBinary/IntegerToBinary.java new file mode 100644 index 0000000000..bd888da9a6 --- /dev/null +++ b/java-numbers-3/src/main/java/com/baeldung/integerToBinary/IntegerToBinary.java @@ -0,0 +1,17 @@ +package com.baeldung.integerToBinary; + +public class IntegerToBinary { + public static String convertIntegerToBinary(int n) { + if(n == 0) { + return "0"; + } + StringBuilder binaryNumber = new StringBuilder(); + while (n > 0) { + int remainder = n % 2; + binaryNumber.append(remainder); + n /= 2; + } + binaryNumber = binaryNumber.reverse(); + return binaryNumber.toString(); + } +} diff --git a/java-numbers-3/src/test/java/com/baeldung/integerToBinary/IntegerToBinaryUnitTest.java b/java-numbers-3/src/test/java/com/baeldung/integerToBinary/IntegerToBinaryUnitTest.java new file mode 100644 index 0000000000..38ae79f2f5 --- /dev/null +++ b/java-numbers-3/src/test/java/com/baeldung/integerToBinary/IntegerToBinaryUnitTest.java @@ -0,0 +1,27 @@ +package com.baeldung.integerToBinary; + +import org.junit.Test; +import static org.junit.Assert.assertEquals; + +public class IntegerToBinaryUnitTest { + @Test + public void givenAnInteger_whenConvertToBinary_thenGetBinaryString() { + int n = 7; + String binaryString = IntegerToBinary.convertIntegerToBinary(n); + assertEquals("111", binaryString); + } + + @Test + public void givenAnInteger_whenToBinaryStringCalled_thenGetBinaryString() { + int n = 7; + String binaryString = Integer.toBinaryString(n); + assertEquals("111", binaryString); + } + + @Test + public void givenAnInteger_whenToStringCalled_thenGetBinaryString() { + int n = 7; + String binaryString = Integer.toString(n, 2); + assertEquals("111", binaryString); + } +} diff --git a/jee-7/pom.xml b/jee-7/pom.xml index 9077aae1a6..b0e10c1580 100644 --- a/jee-7/pom.xml +++ b/jee-7/pom.xml @@ -243,12 +243,12 @@ - + org.codehaus.mojo jaxws-maven-plugin 2.6 - - + + wsimport-from-jdk wsimport @@ -259,8 +259,8 @@ http://localhost:8888/ws/country?wsdl - true - com.baeldung.soap.ws.client.generated + true + com.baeldung.soap.ws.client.generated src/main/java @@ -274,10 +274,6 @@ true - - standalone-full.xml - ${project.build.directory}/wildfly-${version.wildfly} - io.undertow @@ -318,53 +314,36 @@ - - - - maven-dependency-plugin - ${maven-dependency-plugin.version} - - ${maven.test.skip} - - - - unpack - process-test-classes - - unpack - - - - - org.wildfly - wildfly-dist - ${wildfly.version} - zip - false - ${project.build.directory} - - - sun.jdk - jconsole - - - - - - - - - - maven-surefire-plugin - ${maven-surefire-plugin.version} - - - ${project.build.directory}/wildfly-${wildfly.version} - - - - - + + + maven-dependency-plugin + ${maven-dependency-plugin.version} + + ${maven.test.skip} + + + + unpack + process-test-classes + + unpack + + + + + org.wildfly + wildfly-dist + ${wildfly.version} + zip + false + ${project.build.directory} + + + + + + + diff --git a/jee-7/src/test/resources/arquillian.xml b/jee-7/src/test/resources/arquillian.xml new file mode 100644 index 0000000000..f4274877fd --- /dev/null +++ b/jee-7/src/test/resources/arquillian.xml @@ -0,0 +1,23 @@ + + + + + target/wildfly-8.2.1.Final + standalone.xml + true + 9990 + -Djboss.http.port=8639 + + + + + + 127.0.0.1 + 9990 + admin + pass + true + + + + \ No newline at end of file diff --git a/libraries-data-2/pom.xml b/libraries-data-2/pom.xml index be776282e9..93a2f28167 100644 --- a/libraries-data-2/pom.xml +++ b/libraries-data-2/pom.xml @@ -184,6 +184,24 @@ + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + com/baeldung/r/FastRMean.java + + + com/baeldung/r/FastRMeanUnitTest.java + + + + + + 1.5.0 1.6.0 @@ -205,21 +223,4 @@ 2.5.0 - - - - org.apache.maven.plugins - maven-compiler-plugin - - - - com/baeldung/r/FastRMean.java - - - com/baeldung/r/FastRMeanUnitTest.java - - - - - \ No newline at end of file diff --git a/libraries-data-2/src/test/java/com/baeldung/univocity/ParsingServiceUnitTest.java b/libraries-data-2/src/test/java/com/baeldung/univocity/ParsingServiceUnitTest.java index 8cac0bc4b8..c1321ef675 100644 --- a/libraries-data-2/src/test/java/com/baeldung/univocity/ParsingServiceUnitTest.java +++ b/libraries-data-2/src/test/java/com/baeldung/univocity/ParsingServiceUnitTest.java @@ -2,15 +2,26 @@ package com.baeldung.univocity; import static org.junit.Assert.assertEquals; +import java.io.File; import java.util.ArrayList; import java.util.List; +import org.junit.After; import org.junit.Test; import com.baeldung.univocity.model.Product; public class ParsingServiceUnitTest { + @After + public void cleanup() { + File csvFile = new File("src/test/resources/outputProductList.csv"); + csvFile.deleteOnExit(); + + File textFile = new File("src/test/resources/outputProductList.txt"); + textFile.deleteOnExit(); + } + @Test public void givenCsvFile_thenParsedResultsShouldBeReturned() { ParsingService parsingService = new ParsingService(); diff --git a/libraries-testing/src/main/java/com/baeldung/serenity/spring/AdderService.java b/libraries-testing/src/main/java/com/baeldung/serenity/spring/AdderService.java index 756c05bc2c..8e645ccff5 100644 --- a/libraries-testing/src/main/java/com/baeldung/serenity/spring/AdderService.java +++ b/libraries-testing/src/main/java/com/baeldung/serenity/spring/AdderService.java @@ -1,8 +1,10 @@ package com.baeldung.serenity.spring; +import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; @Service +@Scope("prototype") public class AdderService { private int num; diff --git a/logging-modules/log-mdc/src/main/java/com/baeldung/mdc/TransferDemo.java b/logging-modules/log-mdc/src/main/java/com/baeldung/mdc/TransferDemo.java index 259e9a8c5c..0cc9dee2b9 100644 --- a/logging-modules/log-mdc/src/main/java/com/baeldung/mdc/TransferDemo.java +++ b/logging-modules/log-mdc/src/main/java/com/baeldung/mdc/TransferDemo.java @@ -1,19 +1,21 @@ package com.baeldung.mdc; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - -import org.apache.log4j.Logger; - -import com.baeldung.mdc.log4j.Log4JRunnable; -import com.baeldung.mdc.log4j2.Log4J2Runnable; +import com.baeldung.mdc.pool.MdcAwareThreadPoolExecutor; import com.baeldung.mdc.slf4j.Slf4jRunnable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor.AbortPolicy; + +import static java.util.concurrent.TimeUnit.MINUTES; + public class TransferDemo { public static void main(String[] args) { - ExecutorService executor = Executors.newFixedThreadPool(3); + ExecutorService executor = new MdcAwareThreadPoolExecutor(3, 3, 0, MINUTES, + new LinkedBlockingQueue<>(), Thread::new, new AbortPolicy()); + TransactionFactory transactionFactory = new TransactionFactory(); for (int i = 0; i < 10; i++) { diff --git a/logging-modules/log-mdc/src/main/java/com/baeldung/mdc/pool/MdcAwareThreadPoolExecutor.java b/logging-modules/log-mdc/src/main/java/com/baeldung/mdc/pool/MdcAwareThreadPoolExecutor.java new file mode 100644 index 0000000000..71463fe116 --- /dev/null +++ b/logging-modules/log-mdc/src/main/java/com/baeldung/mdc/pool/MdcAwareThreadPoolExecutor.java @@ -0,0 +1,31 @@ +package com.baeldung.mdc.pool; + +import org.apache.logging.log4j.ThreadContext; +import org.slf4j.MDC; + +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.RejectedExecutionHandler; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +public class MdcAwareThreadPoolExecutor extends ThreadPoolExecutor { + + public MdcAwareThreadPoolExecutor(int corePoolSize, + int maximumPoolSize, + long keepAliveTime, + TimeUnit unit, + BlockingQueue workQueue, + ThreadFactory threadFactory, + RejectedExecutionHandler handler) { + super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory, handler); + } + + @Override + protected void afterExecute(Runnable r, Throwable t) { + System.out.println("Cleaning the MDC context"); + MDC.clear(); + org.apache.log4j.MDC.clear(); + ThreadContext.clearAll(); + } +} diff --git a/logging-modules/log-mdc/src/main/java/com/baeldung/mdc/slf4j/Slf4jRunnable.java b/logging-modules/log-mdc/src/main/java/com/baeldung/mdc/slf4j/Slf4jRunnable.java index e30a28a3c7..f49640c527 100644 --- a/logging-modules/log-mdc/src/main/java/com/baeldung/mdc/slf4j/Slf4jRunnable.java +++ b/logging-modules/log-mdc/src/main/java/com/baeldung/mdc/slf4j/Slf4jRunnable.java @@ -18,7 +18,7 @@ public class Slf4jRunnable implements Runnable { new Slf4TransferService().transfer(tx.getAmount()); - MDC.clear(); + // MDC.clear(); We don't need this with MdcAwareThreadPoolExecutor } } \ No newline at end of file diff --git a/machine-learning/pom.xml b/machine-learning/pom.xml index 99b7e33579..842e488985 100644 --- a/machine-learning/pom.xml +++ b/machine-learning/pom.xml @@ -6,7 +6,7 @@ 4.0.0 machine-learning 1.0-SNAPSHOT - Supervised Learning + machine-learning jar diff --git a/maven-all/maven-custom-plugin/README.md b/maven-all/maven-custom-plugin/README.md deleted file mode 100644 index 55d147c337..0000000000 --- a/maven-all/maven-custom-plugin/README.md +++ /dev/null @@ -1,3 +0,0 @@ -### Relevant Articles: - -- [How to Create a Maven Plugin](https://www.baeldung.com/maven-plugin) diff --git a/maven-all/maven/README.md b/maven-all/maven/README.md deleted file mode 100644 index c5f46ca184..0000000000 --- a/maven-all/maven/README.md +++ /dev/null @@ -1,18 +0,0 @@ -## Apache Maven - -This module contains articles about core Apache Maven. Articles about other Maven plugins (such as the Maven WAR Plugin) -have their own dedicated modules. - -### Relevant Articles - -- [Guide to the Core Maven Plugins](https://www.baeldung.com/core-maven-plugins) -- [Maven Resources Plugin](https://www.baeldung.com/maven-resources-plugin) -- [Quick Guide to the Maven Surefire Plugin](https://www.baeldung.com/maven-surefire-plugin) -- [The Maven Failsafe Plugin](https://www.baeldung.com/maven-failsafe-plugin) -- [The Maven Verifier Plugin](https://www.baeldung.com/maven-verifier-plugin) -- [The Maven Clean Plugin](https://www.baeldung.com/maven-clean-plugin) -- [Build a Jar with Maven and Ignore the Test Results](https://www.baeldung.com/maven-ignore-test-results) -- [Maven Project with Multiple Source Directories](https://www.baeldung.com/maven-project-multiple-src-directories) -- [Integration Testing with Maven](https://www.baeldung.com/maven-integration-test) -- [Apache Maven Standard Directory Layout](https://www.baeldung.com/maven-directory-structure) -- [Multi-Module Project with Maven](https://www.baeldung.com/maven-multi-module) diff --git a/maven-all/maven/maven-enforcer/README.md b/maven-all/maven/maven-enforcer/README.md deleted file mode 100644 index 7515647a3d..0000000000 --- a/maven-all/maven/maven-enforcer/README.md +++ /dev/null @@ -1,3 +0,0 @@ -### Relevant Articles - -- [Maven Enforcer Plugin](https://www.baeldung.com/maven-enforcer-plugin) \ No newline at end of file diff --git a/maven-all/README.md b/maven-modules/README.md similarity index 50% rename from maven-all/README.md rename to maven-modules/README.md index b448be2cd0..1ef664f879 100644 --- a/maven-all/README.md +++ b/maven-modules/README.md @@ -5,4 +5,5 @@ This module contains articles about Apache Maven. Please refer to its submodules ### Relevant Articles - [Apache Maven Tutorial](https://www.baeldung.com/maven) -- [Find Unused Maven Dependencies](https://www.baeldung.com/maven-unused-dependencies) +- [Apache Maven Standard Directory Layout](https://www.baeldung.com/maven-directory-structure) +- [Multi-Module Project with Maven](https://www.baeldung.com/maven-multi-module) diff --git a/maven-all/compiler-plugin-java-9/README.md b/maven-modules/compiler-plugin-java-9/README.md similarity index 100% rename from maven-all/compiler-plugin-java-9/README.md rename to maven-modules/compiler-plugin-java-9/README.md diff --git a/maven-all/compiler-plugin-java-9/pom.xml b/maven-modules/compiler-plugin-java-9/pom.xml similarity index 100% rename from maven-all/compiler-plugin-java-9/pom.xml rename to maven-modules/compiler-plugin-java-9/pom.xml diff --git a/maven-all/compiler-plugin-java-9/src/main/java/com/baeldung/maven/java9/MavenCompilerPlugin.java b/maven-modules/compiler-plugin-java-9/src/main/java/com/baeldung/maven/java9/MavenCompilerPlugin.java similarity index 100% rename from maven-all/compiler-plugin-java-9/src/main/java/com/baeldung/maven/java9/MavenCompilerPlugin.java rename to maven-modules/compiler-plugin-java-9/src/main/java/com/baeldung/maven/java9/MavenCompilerPlugin.java diff --git a/maven-all/compiler-plugin-java-9/src/main/java/module-info.java b/maven-modules/compiler-plugin-java-9/src/main/java/module-info.java similarity index 100% rename from maven-all/compiler-plugin-java-9/src/main/java/module-info.java rename to maven-modules/compiler-plugin-java-9/src/main/java/module-info.java diff --git a/maven-modules/maven-custom-plugin/README.md b/maven-modules/maven-custom-plugin/README.md new file mode 100644 index 0000000000..1889036ce3 --- /dev/null +++ b/maven-modules/maven-custom-plugin/README.md @@ -0,0 +1,7 @@ +## Apache Maven + +This module contains articles about creating a custom plugin in Maven. + +### Relevant Articles + +- [How to Create a Maven Plugin](https://www.baeldung.com/maven-plugin) diff --git a/maven-all/maven-custom-plugin/counter-maven-plugin/pom.xml b/maven-modules/maven-custom-plugin/counter-maven-plugin/pom.xml similarity index 100% rename from maven-all/maven-custom-plugin/counter-maven-plugin/pom.xml rename to maven-modules/maven-custom-plugin/counter-maven-plugin/pom.xml diff --git a/maven-all/maven-custom-plugin/counter-maven-plugin/src/main/java/com/baeldung/maven/plugin/validator/DependencyCounterMojo.java b/maven-modules/maven-custom-plugin/counter-maven-plugin/src/main/java/com/baeldung/maven/plugin/validator/DependencyCounterMojo.java similarity index 100% rename from maven-all/maven-custom-plugin/counter-maven-plugin/src/main/java/com/baeldung/maven/plugin/validator/DependencyCounterMojo.java rename to maven-modules/maven-custom-plugin/counter-maven-plugin/src/main/java/com/baeldung/maven/plugin/validator/DependencyCounterMojo.java diff --git a/maven-modules/maven-custom-plugin/pom.xml b/maven-modules/maven-custom-plugin/pom.xml new file mode 100644 index 0000000000..ad22c735ff --- /dev/null +++ b/maven-modules/maven-custom-plugin/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + maven-custom-plugin + 0.0.1-SNAPSHOT + maven-custom-plugin + pom + + + com.baeldung + maven-modules + 0.0.1-SNAPSHOT + + + + counter-maven-plugin + usage-example + + + \ No newline at end of file diff --git a/maven-all/maven-custom-plugin/usage-example/pom.xml b/maven-modules/maven-custom-plugin/usage-example/pom.xml similarity index 97% rename from maven-all/maven-custom-plugin/usage-example/pom.xml rename to maven-modules/maven-custom-plugin/usage-example/pom.xml index ef6f08a3fb..f512fc104d 100644 --- a/maven-all/maven-custom-plugin/usage-example/pom.xml +++ b/maven-modules/maven-custom-plugin/usage-example/pom.xml @@ -5,7 +5,7 @@ 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 - example + usage-example 0.0.1-SNAPSHOT pom diff --git a/maven-all/maven/.gitignore b/maven-modules/maven-integration-test/.gitignore similarity index 100% rename from maven-all/maven/.gitignore rename to maven-modules/maven-integration-test/.gitignore diff --git a/maven-modules/maven-integration-test/README.md b/maven-modules/maven-integration-test/README.md new file mode 100644 index 0000000000..e73a73e61e --- /dev/null +++ b/maven-modules/maven-integration-test/README.md @@ -0,0 +1,10 @@ +## Apache Maven + +This module contains articles about Integration Testing with Maven and related plugins. + +### Relevant Articles + +- [Integration Testing with Maven](https://www.baeldung.com/maven-integration-test) +- [Build a Jar with Maven and Ignore the Test Results](https://www.baeldung.com/maven-ignore-test-results) +- [Quick Guide to the Maven Surefire Plugin](https://www.baeldung.com/maven-surefire-plugin) +- [The Maven Failsafe Plugin](https://www.baeldung.com/maven-failsafe-plugin) \ No newline at end of file diff --git a/maven-all/maven/pom.xml b/maven-modules/maven-integration-test/pom.xml similarity index 90% rename from maven-all/maven/pom.xml rename to maven-modules/maven-integration-test/pom.xml index 0220cf8dfc..0031230bb1 100644 --- a/maven-all/maven/pom.xml +++ b/maven-modules/maven-integration-test/pom.xml @@ -2,10 +2,9 @@ 4.0.0 - maven + maven-integration-test 0.0.1-SNAPSHOT - maven - pom + maven-integration-test com.baeldung @@ -14,11 +13,6 @@ ../.. - - custom-rule - maven-enforcer - - org.glassfish.jersey.containers @@ -126,20 +120,6 @@ - - maven-verifier-plugin - ${maven.verifier.version} - - input-resources/verifications.xml - - - - - verify - - - - maven-clean-plugin ${maven.clean.version} @@ -156,17 +136,6 @@ build-helper-maven-plugin ${maven.build.helper.version} - - generate-sources - - add-source - - - - src/main/another-src - - - add-integration-test-source generate-test-sources diff --git a/maven-all/maven/src/integration-test/java/com/baeldung/maven/it/RestITCase.java b/maven-modules/maven-integration-test/src/integration-test/java/com/baeldung/maven/it/RestITCase.java similarity index 100% rename from maven-all/maven/src/integration-test/java/com/baeldung/maven/it/RestITCase.java rename to maven-modules/maven-integration-test/src/integration-test/java/com/baeldung/maven/it/RestITCase.java diff --git a/maven-all/maven/src/main/java/com/baeldung/maven/it/EndpointConfig.java b/maven-modules/maven-integration-test/src/main/java/com/baeldung/maven/it/EndpointConfig.java similarity index 100% rename from maven-all/maven/src/main/java/com/baeldung/maven/it/EndpointConfig.java rename to maven-modules/maven-integration-test/src/main/java/com/baeldung/maven/it/EndpointConfig.java diff --git a/maven-all/maven/src/main/java/com/baeldung/maven/it/RestEndpoint.java b/maven-modules/maven-integration-test/src/main/java/com/baeldung/maven/it/RestEndpoint.java similarity index 100% rename from maven-all/maven/src/main/java/com/baeldung/maven/it/RestEndpoint.java rename to maven-modules/maven-integration-test/src/main/java/com/baeldung/maven/it/RestEndpoint.java diff --git a/maven-all/maven/src/main/java/com/baeldung/maven/plugins/Data.java b/maven-modules/maven-integration-test/src/main/java/com/baeldung/maven/plugins/Data.java similarity index 100% rename from maven-all/maven/src/main/java/com/baeldung/maven/plugins/Data.java rename to maven-modules/maven-integration-test/src/main/java/com/baeldung/maven/plugins/Data.java diff --git a/maven-all/maven/src/main/resources/logback.xml b/maven-modules/maven-integration-test/src/main/resources/logback.xml similarity index 100% rename from maven-all/maven/src/main/resources/logback.xml rename to maven-modules/maven-integration-test/src/main/resources/logback.xml diff --git a/maven-all/maven/src/main/webapp/WEB-INF/web.xml b/maven-modules/maven-integration-test/src/main/webapp/WEB-INF/web.xml similarity index 100% rename from maven-all/maven/src/main/webapp/WEB-INF/web.xml rename to maven-modules/maven-integration-test/src/main/webapp/WEB-INF/web.xml diff --git a/maven-all/maven/src/test/java/com/baeldung/maven/it/Integration.java b/maven-modules/maven-integration-test/src/test/java/com/baeldung/maven/it/Integration.java similarity index 100% rename from maven-all/maven/src/test/java/com/baeldung/maven/it/Integration.java rename to maven-modules/maven-integration-test/src/test/java/com/baeldung/maven/it/Integration.java diff --git a/maven-all/maven/src/test/java/com/baeldung/maven/it/RestIT.java b/maven-modules/maven-integration-test/src/test/java/com/baeldung/maven/it/RestIT.java similarity index 100% rename from maven-all/maven/src/test/java/com/baeldung/maven/it/RestIT.java rename to maven-modules/maven-integration-test/src/test/java/com/baeldung/maven/it/RestIT.java diff --git a/maven-all/maven/src/test/java/com/baeldung/maven/it/RestIntegrationTest.java b/maven-modules/maven-integration-test/src/test/java/com/baeldung/maven/it/RestIntegrationTest.java similarity index 100% rename from maven-all/maven/src/test/java/com/baeldung/maven/it/RestIntegrationTest.java rename to maven-modules/maven-integration-test/src/test/java/com/baeldung/maven/it/RestIntegrationTest.java diff --git a/maven-all/maven/src/test/java/com/baeldung/maven/it/RestJUnitTest.java b/maven-modules/maven-integration-test/src/test/java/com/baeldung/maven/it/RestJUnitTest.java similarity index 100% rename from maven-all/maven/src/test/java/com/baeldung/maven/it/RestJUnitTest.java rename to maven-modules/maven-integration-test/src/test/java/com/baeldung/maven/it/RestJUnitTest.java diff --git a/maven-all/maven/src/test/java/com/baeldung/maven/plugins/DataCheck.java b/maven-modules/maven-integration-test/src/test/java/com/baeldung/maven/plugins/DataCheck.java similarity index 100% rename from maven-all/maven/src/test/java/com/baeldung/maven/plugins/DataCheck.java rename to maven-modules/maven-integration-test/src/test/java/com/baeldung/maven/plugins/DataCheck.java diff --git a/maven-all/maven/src/test/java/com/baeldung/maven/plugins/DataUnitTest.java b/maven-modules/maven-integration-test/src/test/java/com/baeldung/maven/plugins/DataUnitTest.java similarity index 100% rename from maven-all/maven/src/test/java/com/baeldung/maven/plugins/DataUnitTest.java rename to maven-modules/maven-integration-test/src/test/java/com/baeldung/maven/plugins/DataUnitTest.java diff --git a/maven-all/maven/src/test/java/testfail/TestFail.java b/maven-modules/maven-integration-test/src/test/java/testfail/TestFail.java similarity index 100% rename from maven-all/maven/src/test/java/testfail/TestFail.java rename to maven-modules/maven-integration-test/src/test/java/testfail/TestFail.java diff --git a/maven-modules/maven-multi-source/.gitignore b/maven-modules/maven-multi-source/.gitignore new file mode 100644 index 0000000000..bae0b0d7ce --- /dev/null +++ b/maven-modules/maven-multi-source/.gitignore @@ -0,0 +1,2 @@ +/output-resources +/.idea/ diff --git a/maven-modules/maven-multi-source/README.md b/maven-modules/maven-multi-source/README.md new file mode 100644 index 0000000000..8298332c04 --- /dev/null +++ b/maven-modules/maven-multi-source/README.md @@ -0,0 +1,7 @@ +## Apache Maven - Multiple Source Directories + +This module contains articles about how to use multiple source directories with Maven. + +### Relevant Articles + +- [Maven Project with Multiple Source Directories](https://www.baeldung.com/maven-project-multiple-src-directories) \ No newline at end of file diff --git a/maven-modules/maven-multi-source/pom.xml b/maven-modules/maven-multi-source/pom.xml new file mode 100644 index 0000000000..0c85049df7 --- /dev/null +++ b/maven-modules/maven-multi-source/pom.xml @@ -0,0 +1,92 @@ + + + 4.0.0 + maven-multi-source + 0.0.1-SNAPSHOT + maven-multi-source + + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + ../.. + + + + + + maven-compiler-plugin + ${maven.compiler.version} + + ${java.version} + ${java.version} + + -Xlint:unchecked + + + + + org.codehaus.mojo + build-helper-maven-plugin + ${maven.build.helper.version} + + + generate-sources + + add-source + + + + src/main/another-src + + + + + + + + + + + surefire + + + + maven-surefire-plugin + ${maven.surefire.version} + + + integration-test + + test + + + + none + + + **/*IntegrationTest + + + + + + + + + + + + 3.0.2 + 3.8.0 + 2.22.0 + 2.22.0 + 1.1 + 3.0.0 + 3.0.0 + 9.4.11.v20180605 + 2.27 + + + \ No newline at end of file diff --git a/maven-all/maven/src/main/another-src/com/baeldung/maven/plugins/Foo.java b/maven-modules/maven-multi-source/src/main/another-src/com/baeldung/maven/plugins/Foo.java similarity index 100% rename from maven-all/maven/src/main/another-src/com/baeldung/maven/plugins/Foo.java rename to maven-modules/maven-multi-source/src/main/another-src/com/baeldung/maven/plugins/Foo.java diff --git a/maven-all/maven/src/main/java/com/baeldung/maven/plugins/MultipleSrcFolders.java b/maven-modules/maven-multi-source/src/main/java/com/baeldung/maven/plugins/MultipleSrcFolders.java similarity index 100% rename from maven-all/maven/src/main/java/com/baeldung/maven/plugins/MultipleSrcFolders.java rename to maven-modules/maven-multi-source/src/main/java/com/baeldung/maven/plugins/MultipleSrcFolders.java diff --git a/maven-modules/maven-multi-source/src/main/resources/logback.xml b/maven-modules/maven-multi-source/src/main/resources/logback.xml new file mode 100644 index 0000000000..7d900d8ea8 --- /dev/null +++ b/maven-modules/maven-multi-source/src/main/resources/logback.xml @@ -0,0 +1,13 @@ + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + \ No newline at end of file diff --git a/maven-modules/maven-plugins/.gitignore b/maven-modules/maven-plugins/.gitignore new file mode 100644 index 0000000000..bae0b0d7ce --- /dev/null +++ b/maven-modules/maven-plugins/.gitignore @@ -0,0 +1,2 @@ +/output-resources +/.idea/ diff --git a/maven-modules/maven-plugins/README.md b/maven-modules/maven-plugins/README.md new file mode 100644 index 0000000000..4210a3bb20 --- /dev/null +++ b/maven-modules/maven-plugins/README.md @@ -0,0 +1,11 @@ +## Apache Maven + +This module contains articles about the core Maven plugins. Other Maven plugins (such as the Maven WAR Plugin) have their own dedicated modules. + +### Relevant Articles + +- [Guide to the Core Maven Plugins](https://www.baeldung.com/core-maven-plugins) +- [Maven Resources Plugin](https://www.baeldung.com/maven-resources-plugin) +- [The Maven Verifier Plugin](https://www.baeldung.com/maven-verifier-plugin) +- [The Maven Clean Plugin](https://www.baeldung.com/maven-clean-plugin) +- [Maven Enforcer Plugin](https://www.baeldung.com/maven-enforcer-plugin) diff --git a/maven-all/maven/custom-rule/pom.xml b/maven-modules/maven-plugins/custom-rule/pom.xml similarity index 69% rename from maven-all/maven/custom-rule/pom.xml rename to maven-modules/maven-plugins/custom-rule/pom.xml index 6ff984cb85..0fb551e71b 100644 --- a/maven-all/maven/custom-rule/pom.xml +++ b/maven-modules/maven-plugins/custom-rule/pom.xml @@ -1,19 +1,18 @@ - + 4.0.0 custom-rule custom-rule com.baeldung - maven + maven-plugins 0.0.1-SNAPSHOT - + org.apache.maven.enforcer enforcer-api @@ -46,19 +45,6 @@ - - - - maven-verifier-plugin - ${maven.verifier.version} - - ../input-resources/verifications.xml - false - - - - - 3.0.0-M2 2.0.9 diff --git a/maven-all/maven/custom-rule/src/main/java/com/baeldung/enforcer/MyCustomRule.java b/maven-modules/maven-plugins/custom-rule/src/main/java/com/baeldung/enforcer/MyCustomRule.java similarity index 100% rename from maven-all/maven/custom-rule/src/main/java/com/baeldung/enforcer/MyCustomRule.java rename to maven-modules/maven-plugins/custom-rule/src/main/java/com/baeldung/enforcer/MyCustomRule.java diff --git a/maven-all/maven/input-resources/baeldung.png b/maven-modules/maven-plugins/input-resources/baeldung.png similarity index 100% rename from maven-all/maven/input-resources/baeldung.png rename to maven-modules/maven-plugins/input-resources/baeldung.png diff --git a/maven-all/maven/input-resources/baeldung.txt b/maven-modules/maven-plugins/input-resources/baeldung.txt similarity index 100% rename from maven-all/maven/input-resources/baeldung.txt rename to maven-modules/maven-plugins/input-resources/baeldung.txt diff --git a/maven-all/maven/input-resources/verifications.xml b/maven-modules/maven-plugins/input-resources/verifications.xml similarity index 100% rename from maven-all/maven/input-resources/verifications.xml rename to maven-modules/maven-plugins/input-resources/verifications.xml diff --git a/maven-all/maven/maven-enforcer/pom.xml b/maven-modules/maven-plugins/maven-enforcer/pom.xml similarity index 98% rename from maven-all/maven/maven-enforcer/pom.xml rename to maven-modules/maven-plugins/maven-enforcer/pom.xml index cde37eabd1..01f97a061e 100644 --- a/maven-all/maven/maven-enforcer/pom.xml +++ b/maven-modules/maven-plugins/maven-enforcer/pom.xml @@ -8,7 +8,7 @@ com.baeldung - maven + maven-plugins 0.0.1-SNAPSHOT diff --git a/maven-modules/maven-plugins/pom.xml b/maven-modules/maven-plugins/pom.xml new file mode 100644 index 0000000000..43bcf1f422 --- /dev/null +++ b/maven-modules/maven-plugins/pom.xml @@ -0,0 +1,135 @@ + + + 4.0.0 + maven-plugins + 0.0.1-SNAPSHOT + maven-plugins + pom + + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + ../.. + + + + + + maven-resources-plugin + ${maven.resources.version} + + output-resources + + + input-resources + + *.png + + true + + + + + + maven-compiler-plugin + ${maven.compiler.version} + + ${java.version} + ${java.version} + + -Xlint:unchecked + + + + + maven-verifier-plugin + ${maven.verifier.version} + + input-resources/verifications.xml + + + + + verify + + + + + + maven-clean-plugin + ${maven.clean.version} + + + + output-resources + + + + + + + + + + default + + + + maven-surefire-plugin + ${maven.surefire.version} + + + DataTest.java + + + TestFail.java + DataCheck.java + + true + + + + + + + surefire + + + + maven-surefire-plugin + ${maven.surefire.version} + + + integration-test + + test + + + + none + + + **/*IntegrationTest + + + + + + + + + + + + 3.0.2 + 3.8.0 + 2.22.0 + 2.22.0 + 1.1 + 3.0.0 + 3.0.0 + + + \ No newline at end of file diff --git a/maven-all/profiles/README.md b/maven-modules/maven-profiles/README.md similarity index 100% rename from maven-all/profiles/README.md rename to maven-modules/maven-profiles/README.md diff --git a/maven-all/profiles/pom.xml b/maven-modules/maven-profiles/pom.xml similarity index 97% rename from maven-all/profiles/pom.xml rename to maven-modules/maven-profiles/pom.xml index 4ae6d1ee40..4937bc7c5d 100644 --- a/maven-all/profiles/pom.xml +++ b/maven-modules/maven-profiles/pom.xml @@ -4,9 +4,9 @@ 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 - profiles + maven-profiles 0.0.1-SNAPSHOT - profiles + maven-profiles diff --git a/maven-all/maven/proxy/README.md b/maven-modules/maven-proxy/README.md similarity index 100% rename from maven-all/maven/proxy/README.md rename to maven-modules/maven-proxy/README.md diff --git a/maven-all/maven/proxy/settings.xml b/maven-modules/maven-proxy/proxy/settings.xml similarity index 100% rename from maven-all/maven/proxy/settings.xml rename to maven-modules/maven-proxy/proxy/settings.xml diff --git a/maven-all/maven/security/redirect/settings-security.xml b/maven-modules/maven-proxy/security/redirect/settings-security.xml similarity index 100% rename from maven-all/maven/security/redirect/settings-security.xml rename to maven-modules/maven-proxy/security/redirect/settings-security.xml diff --git a/maven-all/maven/security/settings-security.xml b/maven-modules/maven-proxy/security/settings-security.xml similarity index 100% rename from maven-all/maven/security/settings-security.xml rename to maven-modules/maven-proxy/security/settings-security.xml diff --git a/maven-modules/maven-unused-dependencies/README.md b/maven-modules/maven-unused-dependencies/README.md new file mode 100644 index 0000000000..53897e8227 --- /dev/null +++ b/maven-modules/maven-unused-dependencies/README.md @@ -0,0 +1,7 @@ +## Apache Maven + +This module contains articles about Unused Maven Dependencies. + +### Relevant Articles + +- [Find Unused Maven Dependencies](https://www.baeldung.com/maven-unused-dependencies) diff --git a/maven-all/maven-unused-dependencies/pom.xml b/maven-modules/maven-unused-dependencies/pom.xml similarity index 99% rename from maven-all/maven-unused-dependencies/pom.xml rename to maven-modules/maven-unused-dependencies/pom.xml index 825858e481..d98fe83a0e 100644 --- a/maven-all/maven-unused-dependencies/pom.xml +++ b/maven-modules/maven-unused-dependencies/pom.xml @@ -6,13 +6,6 @@ maven-unused-dependencies 0.0.1-SNAPSHOT - - 3.2.2 - 1.7.25 - 3.1.2 - 3.1 - - commons-collections @@ -44,4 +37,11 @@ + + 3.2.2 + 1.7.25 + 3.1.2 + 3.1 + + \ No newline at end of file diff --git a/maven-all/maven-unused-dependencies/src/main/java/com/baeldung/mavendependencyplugin/UnusedDependenciesExample.java b/maven-modules/maven-unused-dependencies/src/main/java/com/baeldung/mavendependencyplugin/UnusedDependenciesExample.java similarity index 100% rename from maven-all/maven-unused-dependencies/src/main/java/com/baeldung/mavendependencyplugin/UnusedDependenciesExample.java rename to maven-modules/maven-unused-dependencies/src/main/java/com/baeldung/mavendependencyplugin/UnusedDependenciesExample.java diff --git a/maven-all/maven-war-plugin/README.md b/maven-modules/maven-war-plugin/README.md similarity index 100% rename from maven-all/maven-war-plugin/README.md rename to maven-modules/maven-war-plugin/README.md diff --git a/maven-all/maven-war-plugin/pom.xml b/maven-modules/maven-war-plugin/pom.xml similarity index 100% rename from maven-all/maven-war-plugin/pom.xml rename to maven-modules/maven-war-plugin/pom.xml diff --git a/maven-all/pom.xml b/maven-modules/pom.xml similarity index 65% rename from maven-all/pom.xml rename to maven-modules/pom.xml index 3a79a2a686..56e0bd2bdc 100644 --- a/maven-all/pom.xml +++ b/maven-modules/pom.xml @@ -2,9 +2,9 @@ 4.0.0 - maven-all + maven-modules 0.0.1-SNAPSHOT - maven-all + maven-modules pom @@ -14,11 +14,14 @@ - - maven - maven-custom-plugin/counter-maven-plugin + + maven-custom-plugin + maven-integration-test + maven-multi-source + maven-plugins + maven-unused-dependencies maven-war-plugin - profiles + maven-profiles versions-maven-plugin diff --git a/maven-all/versions-maven-plugin/README.md b/maven-modules/versions-maven-plugin/README.md similarity index 100% rename from maven-all/versions-maven-plugin/README.md rename to maven-modules/versions-maven-plugin/README.md diff --git a/maven-all/versions-maven-plugin/original/pom.xml b/maven-modules/versions-maven-plugin/original/pom.xml similarity index 100% rename from maven-all/versions-maven-plugin/original/pom.xml rename to maven-modules/versions-maven-plugin/original/pom.xml diff --git a/maven-all/versions-maven-plugin/pom.xml b/maven-modules/versions-maven-plugin/pom.xml similarity index 100% rename from maven-all/versions-maven-plugin/pom.xml rename to maven-modules/versions-maven-plugin/pom.xml diff --git a/maven-all/versions-maven-plugin/run-the-demo.sh b/maven-modules/versions-maven-plugin/run-the-demo.sh similarity index 100% rename from maven-all/versions-maven-plugin/run-the-demo.sh rename to maven-modules/versions-maven-plugin/run-the-demo.sh diff --git a/patterns/cqrs-es/pom.xml b/patterns/cqrs-es/pom.xml index 67665a2d32..0829e35f34 100644 --- a/patterns/cqrs-es/pom.xml +++ b/patterns/cqrs-es/pom.xml @@ -1,21 +1,17 @@ + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 cqrs-es 1.0-SNAPSHOT cqrs-es + com.baeldung patterns 1.0.0-SNAPSHOT - - 1.8 - 1.8 - 4.13 - 1.18.12 - + org.projectlombok @@ -29,4 +25,12 @@ test + + + 1.8 + 1.8 + 4.13 + 1.18.12 + + \ No newline at end of file diff --git a/patterns/solid/src/main/java/com/baeldung/i/fixed/Bank.java b/patterns/solid/src/main/java/com/baeldung/i/fixed/Bank.java new file mode 100644 index 0000000000..7d1c93e83f --- /dev/null +++ b/patterns/solid/src/main/java/com/baeldung/i/fixed/Bank.java @@ -0,0 +1,5 @@ +package com.baeldung.i.fixed; + +public interface Bank extends Payment { + void initiatePayments(); +} diff --git a/patterns/solid/src/main/java/com/baeldung/i/fixed/BankPayment.java b/patterns/solid/src/main/java/com/baeldung/i/fixed/BankPayment.java new file mode 100644 index 0000000000..f077a6772b --- /dev/null +++ b/patterns/solid/src/main/java/com/baeldung/i/fixed/BankPayment.java @@ -0,0 +1,21 @@ +package com.baeldung.i.fixed; + +import java.util.List; + +public class BankPayment implements Bank { + + @Override + public void initiatePayments() { + + } + + @Override + public Object status() { + return null; + } + + @Override + public List getPayments() { + return null; + } +} diff --git a/patterns/solid/src/main/java/com/baeldung/i/fixed/Loan.java b/patterns/solid/src/main/java/com/baeldung/i/fixed/Loan.java new file mode 100644 index 0000000000..74141113db --- /dev/null +++ b/patterns/solid/src/main/java/com/baeldung/i/fixed/Loan.java @@ -0,0 +1,6 @@ +package com.baeldung.i.fixed; + +public interface Loan extends Payment { + void intiateLoanSettlement(); + void initiateRePayment(); +} diff --git a/patterns/solid/src/main/java/com/baeldung/i/fixed/LoanPayment.java b/patterns/solid/src/main/java/com/baeldung/i/fixed/LoanPayment.java new file mode 100644 index 0000000000..b6c32d7730 --- /dev/null +++ b/patterns/solid/src/main/java/com/baeldung/i/fixed/LoanPayment.java @@ -0,0 +1,26 @@ +package com.baeldung.i.fixed; + +import java.util.List; + +public class LoanPayment implements Loan { + + @Override + public void intiateLoanSettlement() { + + } + + @Override + public void initiateRePayment() { + + } + + @Override + public Object status() { + return null; + } + + @Override + public List getPayments() { + return null; + } +} diff --git a/patterns/solid/src/main/java/com/baeldung/i/fixed/Payment.java b/patterns/solid/src/main/java/com/baeldung/i/fixed/Payment.java new file mode 100644 index 0000000000..620c944944 --- /dev/null +++ b/patterns/solid/src/main/java/com/baeldung/i/fixed/Payment.java @@ -0,0 +1,8 @@ +package com.baeldung.i.fixed; + +import java.util.List; + +public interface Payment { + Object status(); + List getPayments(); +} diff --git a/patterns/solid/src/main/java/com/baeldung/i/polluted/BankPayment.java b/patterns/solid/src/main/java/com/baeldung/i/polluted/BankPayment.java new file mode 100644 index 0000000000..c8f667c25f --- /dev/null +++ b/patterns/solid/src/main/java/com/baeldung/i/polluted/BankPayment.java @@ -0,0 +1,32 @@ +package com.baeldung.i.polluted; + +import java.util.Collections; +import java.util.List; + +public class BankPayment implements Payment { + + @Override + public void initiatePayments() { + + } + + @Override + public Object status() { + return null; + } + + @Override + public List getPayments() { + return Collections.emptyList(); + } + + @Override + public void intiateLoanSettlement() { + throw new UnsupportedOperationException("This is not a loan payment"); + } + + @Override + public void initiateRePayment() { + throw new UnsupportedOperationException("This is not a loan payment"); + } +} diff --git a/patterns/solid/src/main/java/com/baeldung/i/polluted/LoanPayment.java b/patterns/solid/src/main/java/com/baeldung/i/polluted/LoanPayment.java new file mode 100644 index 0000000000..8535d7ad0a --- /dev/null +++ b/patterns/solid/src/main/java/com/baeldung/i/polluted/LoanPayment.java @@ -0,0 +1,31 @@ +package com.baeldung.i.polluted; + +import java.util.List; + +public class LoanPayment implements Payment { + + @Override + public void initiatePayments() { + + } + + @Override + public Object status() { + return null; + } + + @Override + public List getPayments() { + return null; + } + + @Override + public void intiateLoanSettlement() { + + } + + @Override + public void initiateRePayment() { + + } +} diff --git a/patterns/solid/src/main/java/com/baeldung/i/polluted/Payment.java b/patterns/solid/src/main/java/com/baeldung/i/polluted/Payment.java new file mode 100644 index 0000000000..987b4cee33 --- /dev/null +++ b/patterns/solid/src/main/java/com/baeldung/i/polluted/Payment.java @@ -0,0 +1,13 @@ +package com.baeldung.i.polluted; + +import java.util.List; + +public interface Payment { + void initiatePayments(); + Object status(); + List getPayments(); + + //Loan related methods + void intiateLoanSettlement(); + void initiateRePayment(); +} diff --git a/performance-tests/pom.xml b/performance-tests/pom.xml index c8cebd8a11..8c66794cfc 100644 --- a/performance-tests/pom.xml +++ b/performance-tests/pom.xml @@ -65,44 +65,6 @@ - - UTF-8 - - - 1.21 - 1.5.2 - 5.5.1 - 1.0.2 - 1.2.0.Final - 1.1.0 - 1.6.0.1 - 1.8 - 1.2.0.Final - 1.21 - 1.21 - 3.7.0 - - - 1.8 - - - benchmarks - 3.1 - 2.2 - 2.5.1 - 2.4 - 2.9.1 - 2.6 - 3.3 - 2.2.1 - 2.17 - @@ -201,4 +163,43 @@ + + UTF-8 + + + 1.21 + 1.5.2 + 5.5.1 + 1.0.2 + 1.2.0.Final + 1.1.0 + 1.6.0.1 + 1.8 + 1.2.0.Final + 1.21 + 1.21 + 3.7.0 + + + 1.8 + + + benchmarks + 3.1 + 2.2 + 2.5.1 + 2.4 + 2.9.1 + 2.6 + 3.3 + 2.2.1 + 2.17 + + diff --git a/persistence-modules/persistence-libraries/pom.xml b/persistence-modules/persistence-libraries/pom.xml index a72654f2aa..42f3a33a40 100644 --- a/persistence-modules/persistence-libraries/pom.xml +++ b/persistence-modules/persistence-libraries/pom.xml @@ -4,7 +4,7 @@ 4.0.0 persistence-libraries 1.0-SNAPSHOT - java-sql2o + persistence-libraries com.baeldung diff --git a/persistence-modules/sirix/pom.xml b/persistence-modules/sirix/pom.xml index 0f114966f7..67de507cca 100644 --- a/persistence-modules/sirix/pom.xml +++ b/persistence-modules/sirix/pom.xml @@ -6,7 +6,7 @@ io.sirix sirix 1.0-SNAPSHOT - core-api-tutorial + sirix jar http://maven.apache.org diff --git a/persistence-modules/spring-boot-persistence-2/pom.xml b/persistence-modules/spring-boot-persistence-2/pom.xml index f36d8fc43f..e90d61fda3 100644 --- a/persistence-modules/spring-boot-persistence-2/pom.xml +++ b/persistence-modules/spring-boot-persistence-2/pom.xml @@ -6,7 +6,7 @@ com.baeldung.boot.persistence spring-boot-persistence-2 0.0.1-SNAPSHOT - spring-boot-jdbi + spring-boot-persistence-2 Sample SpringBoot JDBI Project diff --git a/pom.xml b/pom.xml index 2882155117..1db715147a 100644 --- a/pom.xml +++ b/pom.xml @@ -416,6 +416,7 @@ grpc gson guava + guava-2 guava-collections guava-collections-map guava-collections-set @@ -509,7 +510,7 @@ machine-learning mapstruct - maven-all + maven-modules maven-archetype maven-polyglot @@ -1020,7 +1021,7 @@ machine-learning mapstruct - maven-all + maven-modules maven-archetype maven-polyglot diff --git a/spring-aop/pom.xml b/spring-aop/pom.xml index 69de2d66fd..74b6f48b46 100644 --- a/spring-aop/pom.xml +++ b/spring-aop/pom.xml @@ -18,6 +18,11 @@ org.springframework.boot spring-boot-starter-aop + + org.springframework.boot + spring-boot-starter-test + test + diff --git a/spring-aop/src/test/java/com/baeldung/undeclared/SomeCheckedException.java b/spring-aop/src/test/java/com/baeldung/undeclared/SomeCheckedException.java new file mode 100644 index 0000000000..bbb28681fa --- /dev/null +++ b/spring-aop/src/test/java/com/baeldung/undeclared/SomeCheckedException.java @@ -0,0 +1,7 @@ +package com.baeldung.undeclared; + +public class SomeCheckedException extends Exception { + public SomeCheckedException(String message) { + super(message); + } +} diff --git a/spring-aop/src/test/java/com/baeldung/undeclared/ThrowUndeclared.java b/spring-aop/src/test/java/com/baeldung/undeclared/ThrowUndeclared.java new file mode 100644 index 0000000000..dd6436e722 --- /dev/null +++ b/spring-aop/src/test/java/com/baeldung/undeclared/ThrowUndeclared.java @@ -0,0 +1,11 @@ +package com.baeldung.undeclared; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +public @interface ThrowUndeclared { +} diff --git a/spring-aop/src/test/java/com/baeldung/undeclared/UndeclaredApplication.java b/spring-aop/src/test/java/com/baeldung/undeclared/UndeclaredApplication.java new file mode 100644 index 0000000000..37a0ec89b5 --- /dev/null +++ b/spring-aop/src/test/java/com/baeldung/undeclared/UndeclaredApplication.java @@ -0,0 +1,12 @@ +package com.baeldung.undeclared; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class UndeclaredApplication { + + public static void main(String[] args) { + SpringApplication.run(UndeclaredApplication.class, args); + } +} diff --git a/spring-aop/src/test/java/com/baeldung/undeclared/UndeclaredAspect.java b/spring-aop/src/test/java/com/baeldung/undeclared/UndeclaredAspect.java new file mode 100644 index 0000000000..076fdff66c --- /dev/null +++ b/spring-aop/src/test/java/com/baeldung/undeclared/UndeclaredAspect.java @@ -0,0 +1,16 @@ +package com.baeldung.undeclared; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.stereotype.Component; + +@Aspect +@Component +public class UndeclaredAspect { + + @Around("@annotation(undeclared)") + public Object advise(ProceedingJoinPoint pjp, ThrowUndeclared undeclared) throws Throwable { + throw new SomeCheckedException("AOP Checked Exception"); + } +} diff --git a/spring-aop/src/test/java/com/baeldung/undeclared/UndeclaredService.java b/spring-aop/src/test/java/com/baeldung/undeclared/UndeclaredService.java new file mode 100644 index 0000000000..6cc16c1ceb --- /dev/null +++ b/spring-aop/src/test/java/com/baeldung/undeclared/UndeclaredService.java @@ -0,0 +1,10 @@ +package com.baeldung.undeclared; + +import org.springframework.stereotype.Service; + +@Service +public class UndeclaredService { + + @ThrowUndeclared + public void doSomething() {} +} diff --git a/spring-aop/src/test/java/com/baeldung/undeclared/UndeclaredThrowableExceptionIntegrationTest.java b/spring-aop/src/test/java/com/baeldung/undeclared/UndeclaredThrowableExceptionIntegrationTest.java new file mode 100644 index 0000000000..e64a45d418 --- /dev/null +++ b/spring-aop/src/test/java/com/baeldung/undeclared/UndeclaredThrowableExceptionIntegrationTest.java @@ -0,0 +1,25 @@ +package com.baeldung.undeclared; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import java.lang.reflect.UndeclaredThrowableException; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +@RunWith(SpringRunner.class) +@SpringBootTest(classes = UndeclaredApplication.class) +public class UndeclaredThrowableExceptionIntegrationTest { + + @Autowired private UndeclaredService service; + + @Test + public void givenAnAspect_whenCallingAdvisedMethod_thenShouldWrapTheException() { + assertThatThrownBy(service::doSomething) + .isInstanceOf(UndeclaredThrowableException.class) + .hasCauseInstanceOf(SomeCheckedException.class); + } +} diff --git a/spring-aop/src/test/java/com/baeldung/undeclared/UndeclaredThrowableExceptionUnitTest.java b/spring-aop/src/test/java/com/baeldung/undeclared/UndeclaredThrowableExceptionUnitTest.java new file mode 100644 index 0000000000..464239d12d --- /dev/null +++ b/spring-aop/src/test/java/com/baeldung/undeclared/UndeclaredThrowableExceptionUnitTest.java @@ -0,0 +1,48 @@ +package com.baeldung.undeclared; + +import org.junit.Test; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.lang.reflect.UndeclaredThrowableException; +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +public class UndeclaredThrowableExceptionUnitTest { + + @Test + @SuppressWarnings("unchecked") + public void givenAProxy_whenProxyUndeclaredThrowsCheckedException_thenShouldBeWrapped() { + ClassLoader classLoader = getClass().getClassLoader(); + InvocationHandler invocationHandler = new ExceptionalInvocationHandler(); + List proxy = (List) Proxy.newProxyInstance(classLoader, new Class[] { List.class }, invocationHandler); + + assertThatThrownBy(proxy::size) + .isInstanceOf(UndeclaredThrowableException.class) + .hasCauseInstanceOf(SomeCheckedException.class); + } + + @Test + @SuppressWarnings("unchecked") + public void givenAProxy_whenProxyThrowsUncheckedException_thenShouldBeThrownAsIs() { + ClassLoader classLoader = getClass().getClassLoader(); + InvocationHandler invocationHandler = new ExceptionalInvocationHandler(); + List proxy = (List) Proxy.newProxyInstance(classLoader, new Class[] { List.class }, invocationHandler); + + assertThatThrownBy(proxy::isEmpty).isInstanceOf(RuntimeException.class); + } + + private static class ExceptionalInvocationHandler implements InvocationHandler { + + @Override + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { + if ("size".equals(method.getName())) { + throw new SomeCheckedException("Always fails"); + } + + throw new RuntimeException(); + } + } +} diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml index 14f071b5e5..e1198dec98 100644 --- a/spring-boot-modules/pom.xml +++ b/spring-boot-modules/pom.xml @@ -2,15 +2,19 @@ 4.0.0 + com.baeldung.spring-boot-modules spring-boot-modules - spring-boot-modules + 1.0.0-SNAPSHOT pom + spring-boot-modules + com.baeldung - parent-modules - 1.0.0-SNAPSHOT + parent-boot-2 + 0.0.1-SNAPSHOT + ../parent-boot-2 @@ -60,4 +64,31 @@ spring-boot-actuator + + + + org.junit.jupiter + junit-jupiter + test + + + org.junit.vintage + junit-vintage-engine + test + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.2 + + + + + + 5.6.2 + diff --git a/spring-boot-modules/spring-boot-admin/pom.xml b/spring-boot-modules/spring-boot-admin/pom.xml index f7dc98770a..6109081723 100644 --- a/spring-boot-modules/spring-boot-admin/pom.xml +++ b/spring-boot-modules/spring-boot-admin/pom.xml @@ -2,21 +2,22 @@ 4.0.0 - spring-boot-admin - 0.0.1-SNAPSHOT - spring-boot-admin - pom - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + spring-boot-admin + 0.0.1-SNAPSHOT + pom + + spring-boot-admin + spring-boot-admin-server spring-boot-admin-client - diff --git a/spring-boot-modules/spring-boot-admin/spring-boot-admin-client/pom.xml b/spring-boot-modules/spring-boot-admin/spring-boot-admin-client/pom.xml index 8bb8c7bac3..eb40bfe8ea 100644 --- a/spring-boot-modules/spring-boot-admin/spring-boot-admin-client/pom.xml +++ b/spring-boot-modules/spring-boot-admin/spring-boot-admin-client/pom.xml @@ -2,18 +2,21 @@ 4.0.0 - spring-boot-admin-client - 0.0.1-SNAPSHOT - spring-boot-admin-client - jar - Spring Boot Admin Client - com.baeldung + com.baeldung.spring-boot-modules spring-boot-admin 0.0.1-SNAPSHOT + ../ + spring-boot-admin-client + 0.0.1-SNAPSHOT + jar + + spring-boot-admin-client + Spring Boot Admin Client + org.springframework.boot @@ -61,5 +64,4 @@ 2.2.2 2.0.4.RELEASE - diff --git a/spring-boot-modules/spring-boot-admin/spring-boot-admin-server/pom.xml b/spring-boot-modules/spring-boot-admin/spring-boot-admin-server/pom.xml index 118b270812..4c1dcdef6b 100644 --- a/spring-boot-modules/spring-boot-admin/spring-boot-admin-server/pom.xml +++ b/spring-boot-modules/spring-boot-admin/spring-boot-admin-server/pom.xml @@ -2,18 +2,21 @@ 4.0.0 - spring-boot-admin-server - 0.0.1-SNAPSHOT - spring-boot-admin-server - Spring Boot Admin Server - jar - com.baeldung + com.baeldung.spring-boot-modules spring-boot-admin 0.0.1-SNAPSHOT + ../ + spring-boot-admin-server + 0.0.1-SNAPSHOT + jar + + spring-boot-admin-server + Spring Boot Admin Server + org.springframework.boot @@ -84,5 +87,4 @@ 1.5.7 2.0.4.RELEASE - diff --git a/spring-boot-modules/spring-boot-angular/pom.xml b/spring-boot-modules/spring-boot-angular/pom.xml index e8082656ad..4b3ac27834 100644 --- a/spring-boot-modules/spring-boot-angular/pom.xml +++ b/spring-boot-modules/spring-boot-angular/pom.xml @@ -2,18 +2,20 @@ 4.0.0 + + + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + + com.baeldung.springbootangular spring-boot-angular 1.0 - spring-boot-angular jar - - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 - + spring-boot-angular diff --git a/spring-boot-modules/spring-boot-annotations/pom.xml b/spring-boot-modules/spring-boot-annotations/pom.xml index da2c46ca92..799692d51b 100644 --- a/spring-boot-modules/spring-boot-annotations/pom.xml +++ b/spring-boot-modules/spring-boot-annotations/pom.xml @@ -2,17 +2,19 @@ 4.0.0 - spring-boot-annotations - spring-boot-annotations - war - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + spring-boot-annotations + war + + spring-boot-annotations + org.aspectj diff --git a/spring-boot-modules/spring-boot-artifacts/pom.xml b/spring-boot-modules/spring-boot-artifacts/pom.xml index de9f6ab635..2704b71bd6 100644 --- a/spring-boot-modules/spring-boot-artifacts/pom.xml +++ b/spring-boot-modules/spring-boot-artifacts/pom.xml @@ -2,20 +2,21 @@ 4.0.0 - spring-boot-artifacts - spring-boot-artifacts - war - Demo project for Spring Boot - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ - + spring-boot-artifacts + war + spring-boot-artifacts + Demo project for Spring Boot + + org.springframework.boot spring-boot-starter-web diff --git a/spring-boot-modules/spring-boot-autoconfiguration/pom.xml b/spring-boot-modules/spring-boot-autoconfiguration/pom.xml index 34db784176..5709d1d796 100644 --- a/spring-boot-modules/spring-boot-autoconfiguration/pom.xml +++ b/spring-boot-modules/spring-boot-autoconfiguration/pom.xml @@ -2,19 +2,21 @@ 4.0.0 - spring-boot-autoconfiguration - 0.0.1-SNAPSHOT - spring-boot-autoconfiguration - war - This is simple boot application demonstrating a custom auto-configuration - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + spring-boot-autoconfiguration + 0.0.1-SNAPSHOT + war + + spring-boot-autoconfiguration + This is simple boot application demonstrating a custom auto-configuration + org.springframework.boot diff --git a/spring-boot-modules/spring-boot-basic-customization/pom.xml b/spring-boot-modules/spring-boot-basic-customization/pom.xml index 7c2c89def4..fc34994a85 100644 --- a/spring-boot-modules/spring-boot-basic-customization/pom.xml +++ b/spring-boot-modules/spring-boot-basic-customization/pom.xml @@ -3,18 +3,20 @@ 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-boot-basic-customization - spring-boot-basic-customization - jar - Module For Spring Boot Basic Customization - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + spring-boot-basic-customization + jar + + spring-boot-basic-customization + Module For Spring Boot Basic Customization + org.springframework.boot diff --git a/spring-boot-modules/spring-boot-bootstrap/pom.xml b/spring-boot-modules/spring-boot-bootstrap/pom.xml index 1dc75c7e61..6a1be7a2c8 100644 --- a/spring-boot-modules/spring-boot-bootstrap/pom.xml +++ b/spring-boot-modules/spring-boot-bootstrap/pom.xml @@ -2,18 +2,20 @@ 4.0.0 - spring-boot-bootstrap - spring-boot-bootstrap - jar - Demo project for Spring Boot - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + spring-boot-bootstrap + jar + + spring-boot-bootstrap + Demo project for Spring Boot + org.springframework.boot diff --git a/spring-boot-modules/spring-boot-camel/pom.xml b/spring-boot-modules/spring-boot-camel/pom.xml index 7c1e28b3ee..881b021b96 100644 --- a/spring-boot-modules/spring-boot-camel/pom.xml +++ b/spring-boot-modules/spring-boot-camel/pom.xml @@ -8,9 +8,10 @@ spring-boot-camel - com.baeldung.spring-boot-modules - spring-boot-modules - 1.0.0-SNAPSHOT + com.baeldung + parent-boot-1 + 0.0.1-SNAPSHOT + ../../parent-boot-1 diff --git a/spring-boot-modules/spring-boot-ci-cd/pom.xml b/spring-boot-modules/spring-boot-ci-cd/pom.xml index 25e45d56f3..61a2e299fb 100644 --- a/spring-boot-modules/spring-boot-ci-cd/pom.xml +++ b/spring-boot-modules/spring-boot-ci-cd/pom.xml @@ -3,18 +3,20 @@ 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-boot-ci-cd - 0.0.1-SNAPSHOT - spring-boot-ci-cd - jar - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + spring-boot-ci-cd + 0.0.1-SNAPSHOT + jar + + spring-boot-ci-cd + org.springframework.boot diff --git a/spring-boot-modules/spring-boot-client/pom.xml b/spring-boot-modules/spring-boot-client/pom.xml index 40a8690953..a7737be106 100644 --- a/spring-boot-modules/spring-boot-client/pom.xml +++ b/spring-boot-modules/spring-boot-client/pom.xml @@ -2,40 +2,22 @@ 4.0.0 - spring-boot-client - 0.0.1-SNAPSHOT - spring-boot-client - war - This is simple boot client application for Spring boot actuator test - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + spring-boot-client + 0.0.1-SNAPSHOT + war + + spring-boot-client + This is simple boot client application for Spring boot actuator test + - - - - org.junit.jupiter - junit-jupiter-api - test - - - org.junit.jupiter - junit-jupiter-engine - test - - - - - org.junit.platform - junit-platform-launcher - ${junit-platform.version} - test - org.springframework.boot spring-boot-starter-web diff --git a/spring-boot-modules/spring-boot-config-jpa-error/pom.xml b/spring-boot-modules/spring-boot-config-jpa-error/pom.xml index f578957a1a..d236a581d8 100644 --- a/spring-boot-modules/spring-boot-config-jpa-error/pom.xml +++ b/spring-boot-modules/spring-boot-config-jpa-error/pom.xml @@ -2,18 +2,19 @@ 4.0.0 + + + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + + com.baeldung.spring-boot-config-jpa-error spring-boot-config-jpa-error 0.0.1-SNAPSHOT pom - - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2/pom.xml - - data-jpa-library data-jpa-application diff --git a/spring-boot-modules/spring-boot-crud/pom.xml b/spring-boot-modules/spring-boot-crud/pom.xml index 676d522f84..c27afe3926 100644 --- a/spring-boot-modules/spring-boot-crud/pom.xml +++ b/spring-boot-modules/spring-boot-crud/pom.xml @@ -3,16 +3,18 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - spring-boot-crud - spring-boot-crud - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + spring-boot-crud + + spring-boot-crud + org.springframework.boot diff --git a/spring-boot-modules/spring-boot-ctx-fluent/pom.xml b/spring-boot-modules/spring-boot-ctx-fluent/pom.xml index 872e15d307..cfbc6ffac0 100644 --- a/spring-boot-modules/spring-boot-ctx-fluent/pom.xml +++ b/spring-boot-modules/spring-boot-ctx-fluent/pom.xml @@ -2,18 +2,20 @@ 4.0.0 - spring-boot-ctx-fluent - 0.0.1-SNAPSHOT - spring-boot-ctx-fluent - jar - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + spring-boot-ctx-fluent + 0.0.1-SNAPSHOT + jar + + spring-boot-ctx-fluent + org.springframework.boot diff --git a/spring-boot-modules/spring-boot-custom-starter/greeter-spring-boot-sample-app/pom.xml b/spring-boot-modules/spring-boot-custom-starter/greeter-spring-boot-sample-app/pom.xml index 8d328b88be..6291756d21 100644 --- a/spring-boot-modules/spring-boot-custom-starter/greeter-spring-boot-sample-app/pom.xml +++ b/spring-boot-modules/spring-boot-custom-starter/greeter-spring-boot-sample-app/pom.xml @@ -7,10 +7,10 @@ greeter-spring-boot-sample-app - com.baeldung - parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-custom-starter 0.0.1-SNAPSHOT - ../../../parent-boot-2 + ../ diff --git a/spring-boot-modules/spring-boot-custom-starter/parent-multi-module/application/pom.xml b/spring-boot-modules/spring-boot-custom-starter/parent-multi-module/application/pom.xml new file mode 100644 index 0000000000..fb235bc479 --- /dev/null +++ b/spring-boot-modules/spring-boot-custom-starter/parent-multi-module/application/pom.xml @@ -0,0 +1,36 @@ + + + 4.0.0 + com.baeldung.example + application + jar + + + com.baeldung + parent-boot-2 + 0.0.1-SNAPSHOT + ../../../../parent-boot-2 + + + + + org.springframework.boot + spring-boot-starter-web + + + com.baeldung.example + library + ${project.version} + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-custom-starter/parent-multi-module/application/src/main/java/com/baeldung/application/EvenOddApplication.java b/spring-boot-modules/spring-boot-custom-starter/parent-multi-module/application/src/main/java/com/baeldung/application/EvenOddApplication.java new file mode 100644 index 0000000000..49b5b87037 --- /dev/null +++ b/spring-boot-modules/spring-boot-custom-starter/parent-multi-module/application/src/main/java/com/baeldung/application/EvenOddApplication.java @@ -0,0 +1,30 @@ +package com.baeldung.application; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.baeldung.library.service.EvenOddService; + +@SpringBootApplication(scanBasePackages = "com.baeldung") +@RestController +public class EvenOddApplication { + + private EvenOddService evenOddService; + + public EvenOddApplication(EvenOddService evenOddService) { + this.evenOddService = evenOddService; + } + + @GetMapping("/validate/") + public String isEvenOrOdd( + @RequestParam("number") Integer number) { + return evenOddService.isEvenOrOdd(number); + } + + public static void main(String[] args) { + SpringApplication.run(EvenOddApplication.class, args); + } +} \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-custom-starter/parent-multi-module/library/pom.xml b/spring-boot-modules/spring-boot-custom-starter/parent-multi-module/library/pom.xml new file mode 100644 index 0000000000..d979f1d9bf --- /dev/null +++ b/spring-boot-modules/spring-boot-custom-starter/parent-multi-module/library/pom.xml @@ -0,0 +1,23 @@ + + + 4.0.0 + com.baeldung.example + library + jar + + + com.baeldung + parent-boot-2 + 0.0.1-SNAPSHOT + ../../../../parent-boot-2 + + + + + org.springframework.boot + spring-boot-starter + + + + \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-custom-starter/parent-multi-module/library/src/main/java/com/baeldung/library/service/EvenOddService.java b/spring-boot-modules/spring-boot-custom-starter/parent-multi-module/library/src/main/java/com/baeldung/library/service/EvenOddService.java new file mode 100644 index 0000000000..77631943b6 --- /dev/null +++ b/spring-boot-modules/spring-boot-custom-starter/parent-multi-module/library/src/main/java/com/baeldung/library/service/EvenOddService.java @@ -0,0 +1,11 @@ +package com.baeldung.library.service; + +import org.springframework.stereotype.Service; + +@Service +public class EvenOddService { + + public String isEvenOrOdd(Integer number) { + return number % 2 == 0 ? "Even" : "Odd"; + } +} \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-custom-starter/parent-multi-module/pom.xml b/spring-boot-modules/spring-boot-custom-starter/parent-multi-module/pom.xml new file mode 100644 index 0000000000..75ff927789 --- /dev/null +++ b/spring-boot-modules/spring-boot-custom-starter/parent-multi-module/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + com.baeldung + parent-multi-module + 0.0.1-SNAPSHOT + pom + + + library + application + + + \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-custom-starter/pom.xml b/spring-boot-modules/spring-boot-custom-starter/pom.xml index 596b993f81..17f9fdc2cc 100644 --- a/spring-boot-modules/spring-boot-custom-starter/pom.xml +++ b/spring-boot-modules/spring-boot-custom-starter/pom.xml @@ -2,22 +2,25 @@ 4.0.0 - spring-boot-custom-starter - 0.0.1-SNAPSHOT - spring-boot-custom-starter - pom com.baeldung.spring-boot-modules spring-boot-modules 1.0.0-SNAPSHOT + ../ + spring-boot-custom-starter + 0.0.1-SNAPSHOT + pom + + spring-boot-custom-starter + greeter-library greeter-spring-boot-autoconfigure greeter-spring-boot-starter greeter-spring-boot-sample-app + parent-multi-module - \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-data/pom.xml b/spring-boot-modules/spring-boot-data/pom.xml index f25b4ee472..fe64b07379 100644 --- a/spring-boot-modules/spring-boot-data/pom.xml +++ b/spring-boot-modules/spring-boot-data/pom.xml @@ -2,18 +2,20 @@ 4.0.0 - spring-boot-data - spring-boot-data - war - Spring Boot Data Module - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + spring-boot-data + war + + spring-boot-data + Spring Boot Data Module + org.springframework.boot diff --git a/spring-boot-modules/spring-boot-deployment/pom.xml b/spring-boot-modules/spring-boot-deployment/pom.xml index b3fc3eabd1..6b5e75bd62 100644 --- a/spring-boot-modules/spring-boot-deployment/pom.xml +++ b/spring-boot-modules/spring-boot-deployment/pom.xml @@ -8,14 +8,13 @@ Demo project for Spring Boot - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ - org.springframework.boot spring-boot-starter-web diff --git a/spring-boot-modules/spring-boot-di/pom.xml b/spring-boot-modules/spring-boot-di/pom.xml index b24e4a9037..87a0ad2937 100644 --- a/spring-boot-modules/spring-boot-di/pom.xml +++ b/spring-boot-modules/spring-boot-di/pom.xml @@ -3,18 +3,20 @@ 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-boot-di - spring-boot-di - jar - Module For Spring Boot DI - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + spring-boot-di + jar + + spring-boot-di + Module For Spring Boot DI + org.aspectj diff --git a/spring-boot-modules/spring-boot-environment/pom.xml b/spring-boot-modules/spring-boot-environment/pom.xml index 138c59847d..694e17fd72 100644 --- a/spring-boot-modules/spring-boot-environment/pom.xml +++ b/spring-boot-modules/spring-boot-environment/pom.xml @@ -2,20 +2,21 @@ 4.0.0 - spring-boot-environment - spring-boot-environment - war - Demo project for Spring Boot - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ - + spring-boot-environment + war + spring-boot-environment + Demo project for Spring Boot + + org.springframework.boot spring-boot-starter-web diff --git a/spring-boot-modules/spring-boot-exceptions/pom.xml b/spring-boot-modules/spring-boot-exceptions/pom.xml index 6ef7e66770..4b9d787b61 100644 --- a/spring-boot-modules/spring-boot-exceptions/pom.xml +++ b/spring-boot-modules/spring-boot-exceptions/pom.xml @@ -2,18 +2,20 @@ 4.0.0 - spring-boot-exceptions - spring-boot-exceptions - jar - Demo project for working with Spring Boot exceptions - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + spring-boot-exceptions + jar + + spring-boot-exceptions + Demo project for working with Spring Boot exceptions + org.springframework.boot diff --git a/spring-boot-modules/spring-boot-flowable/pom.xml b/spring-boot-modules/spring-boot-flowable/pom.xml index 7d9fb97cba..f1121ea6a0 100644 --- a/spring-boot-modules/spring-boot-flowable/pom.xml +++ b/spring-boot-modules/spring-boot-flowable/pom.xml @@ -3,18 +3,20 @@ 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-boot-flowable - spring-boot-flowable - war - Spring Boot Flowable Module - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + spring-boot-flowable + war + + spring-boot-flowable + Spring Boot Flowable Module + org.springframework.boot diff --git a/spring-boot-modules/spring-boot-jasypt/pom.xml b/spring-boot-modules/spring-boot-jasypt/pom.xml index e63a02729f..2f0c8a27b4 100644 --- a/spring-boot-modules/spring-boot-jasypt/pom.xml +++ b/spring-boot-modules/spring-boot-jasypt/pom.xml @@ -2,19 +2,21 @@ 4.0.0 - com.example.jasypt - spring-boot-jasypt - spring-boot-jasypt - jar - Demo project for Spring Boot - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + com.example.jasypt + spring-boot-jasypt + jar + + spring-boot-jasypt + Demo project for Spring Boot + org.springframework.boot diff --git a/spring-boot-modules/spring-boot-keycloak/pom.xml b/spring-boot-modules/spring-boot-keycloak/pom.xml index 68d4ec4b8f..6208fbe305 100644 --- a/spring-boot-modules/spring-boot-keycloak/pom.xml +++ b/spring-boot-modules/spring-boot-keycloak/pom.xml @@ -2,19 +2,21 @@ 4.0.0 + + + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + + com.baeldung.keycloak spring-boot-keycloak 0.0.1 - spring-boot-keycloak jar - This is a simple application demonstrating integration between Keycloak and Spring Boot. - - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../parent-boot-2 - + spring-boot-keycloak + This is a simple application demonstrating integration between Keycloak and Spring Boot. diff --git a/spring-boot-modules/spring-boot/pom.xml b/spring-boot-modules/spring-boot/pom.xml index e0ff9ae2f9..e1299a6a16 100644 --- a/spring-boot-modules/spring-boot/pom.xml +++ b/spring-boot-modules/spring-boot/pom.xml @@ -3,40 +3,22 @@ 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-boot - spring-boot - war - This is simple boot application for Spring boot actuator test - 0.0.1-SNAPSHOT - parent-boot-2 - com.baeldung - 0.0.1-SNAPSHOT - ../../parent-boot-2 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + spring-boot + 0.0.1-SNAPSHOT + war + + spring-boot + This is simple boot application for Spring boot actuator test + - - - - org.junit.jupiter - junit-jupiter-api - test - - - org.junit.jupiter - junit-jupiter-engine - test - - - - - org.junit.platform - junit-platform-launcher - ${junit-platform.version} - test - org.springframework.boot spring-boot-starter-thymeleaf diff --git a/spring-cloud/spring-cloud-bootstrap/customer-service/pom.xml b/spring-cloud/spring-cloud-bootstrap/customer-service/pom.xml index 3e33e27c6c..35f8aceb8d 100644 --- a/spring-cloud/spring-cloud-bootstrap/customer-service/pom.xml +++ b/spring-cloud/spring-cloud-bootstrap/customer-service/pom.xml @@ -16,13 +16,6 @@ ../../../parent-boot-2 - - 1.8 - 1.8 - 1.8 - UTF-8 - - org.springframework.boot @@ -81,4 +74,11 @@ + + + 1.8 + 1.8 + 1.8 + UTF-8 + diff --git a/spring-cloud/spring-cloud-bootstrap/order-service/pom.xml b/spring-cloud/spring-cloud-bootstrap/order-service/pom.xml index 8f3c9ceaff..b626c3b81b 100644 --- a/spring-cloud/spring-cloud-bootstrap/order-service/pom.xml +++ b/spring-cloud/spring-cloud-bootstrap/order-service/pom.xml @@ -21,16 +21,6 @@ order-server - - 1.8 - 2.6 - 0.0.2 - 1.8 - 1.8 - UTF-8 - com.baeldung.orderservice.OrderApplication - - @@ -120,4 +110,14 @@ + + + 1.8 + 2.6 + 0.0.2 + 1.8 + 1.8 + UTF-8 + com.baeldung.orderservice.OrderApplication + diff --git a/spring-cloud/spring-cloud-bootstrap/pom.xml b/spring-cloud/spring-cloud-bootstrap/pom.xml index ed9b148564..eb1a55c2a9 100644 --- a/spring-cloud/spring-cloud-bootstrap/pom.xml +++ b/spring-cloud/spring-cloud-bootstrap/pom.xml @@ -22,7 +22,6 @@ zipkin customer-service order-service - shared-dto - \ No newline at end of file + diff --git a/spring-cloud/spring-cloud-bootstrap/shared-dto/pom.xml b/spring-cloud/spring-cloud-bootstrap/shared-dto/pom.xml deleted file mode 100644 index 59dde717b5..0000000000 --- a/spring-cloud/spring-cloud-bootstrap/shared-dto/pom.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - 4.0.0 - com.baeldung - shared-dto - 1.0.0-SNAPSHOT - shared-dto - - - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../../parent-boot-2 - - - - - UTF-8 - 1.8 - 1.8 - 0.0.2 - - - - - org.qunix - structure-maven-plugin - ${structure-maven.version} - - - org.projectlombok - lombok - true - - - - - - - - org.qunix - structure-maven-plugin - ${structure-maven.version} - false - - - compile - - files - - - - - - - - diff --git a/spring-cloud/spring-cloud-bootstrap/shared-dto/src/main/java/com/baeldung/deliverydto/CustomerDTO.java b/spring-cloud/spring-cloud-bootstrap/shared-dto/src/main/java/com/baeldung/deliverydto/CustomerDTO.java deleted file mode 100644 index aa6b3ceac8..0000000000 --- a/spring-cloud/spring-cloud-bootstrap/shared-dto/src/main/java/com/baeldung/deliverydto/CustomerDTO.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.baeldung.deliverydto; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class CustomerDTO { - private String firstName; - private String lastName; - private String homeAddress; - private String contactNumber; - // constructor, getters, setters -} diff --git a/spring-cloud/spring-cloud-bootstrap/shared-dto/src/main/java/com/baeldung/shared/CustomerDTO.java b/spring-cloud/spring-cloud-bootstrap/shared-dto/src/main/java/com/baeldung/shared/CustomerDTO.java deleted file mode 100644 index 905773609d..0000000000 --- a/spring-cloud/spring-cloud-bootstrap/shared-dto/src/main/java/com/baeldung/shared/CustomerDTO.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.baeldung.shared; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class CustomerDTO { - private String firstName; - private String lastName; - private String cardNumber; - // constructor, getters, setters -} diff --git a/spring-cloud/spring-cloud-bootstrap/shared-dto/src/main/java/com/baeldung/shared/OrderDTO.java b/spring-cloud/spring-cloud-bootstrap/shared-dto/src/main/java/com/baeldung/shared/OrderDTO.java deleted file mode 100644 index 0640b84291..0000000000 --- a/spring-cloud/spring-cloud-bootstrap/shared-dto/src/main/java/com/baeldung/shared/OrderDTO.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.baeldung.shared; - - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class OrderDTO { - - private int customerId; - private String itemId; - -} diff --git a/spring-cloud/spring-cloud-circuit-breaker/pom.xml b/spring-cloud/spring-cloud-circuit-breaker/pom.xml index ae44fa8199..680d835c19 100644 --- a/spring-cloud/spring-cloud-circuit-breaker/pom.xml +++ b/spring-cloud/spring-cloud-circuit-breaker/pom.xml @@ -4,7 +4,7 @@ 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-circuit-breaker - spring-cloud-gateway + spring-cloud-circuit-breaker jar diff --git a/spring-cloud/spring-cloud-open-service-broker/pom.xml b/spring-cloud/spring-cloud-open-service-broker/pom.xml index 7acd302dc1..42e90402e5 100644 --- a/spring-cloud/spring-cloud-open-service-broker/pom.xml +++ b/spring-cloud/spring-cloud-open-service-broker/pom.xml @@ -13,12 +13,6 @@ 1.0.0-SNAPSHOT - - 3.1.1.RELEASE - 2.2.7.RELEASE - 3.3.5.RELEASE - - org.springframework.cloud @@ -38,4 +32,10 @@ + + 3.1.1.RELEASE + 2.2.7.RELEASE + 3.3.5.RELEASE + + diff --git a/spring-ejb/ejb-beans/pom.xml b/spring-ejb/ejb-beans/pom.xml index c9edfc21f8..feb212b5a6 100644 --- a/spring-ejb/ejb-beans/pom.xml +++ b/spring-ejb/ejb-beans/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.baeldung.singletonsession ejb-beans - spring-ejb-beans + ejb-beans com.baeldung.spring.ejb diff --git a/spring-ejb/spring-ejb-client/src/test/java/com/baeldung/ejb/setup/test/EJBSetupIntegrationTest.java b/spring-ejb/spring-ejb-client/src/test/java/com/baeldung/ejb/setup/test/EJBSetupLiveTest.java similarity index 69% rename from spring-ejb/spring-ejb-client/src/test/java/com/baeldung/ejb/setup/test/EJBSetupIntegrationTest.java rename to spring-ejb/spring-ejb-client/src/test/java/com/baeldung/ejb/setup/test/EJBSetupLiveTest.java index c04a649d26..e85d2f155a 100644 --- a/spring-ejb/spring-ejb-client/src/test/java/com/baeldung/ejb/setup/test/EJBSetupIntegrationTest.java +++ b/spring-ejb/spring-ejb-client/src/test/java/com/baeldung/ejb/setup/test/EJBSetupLiveTest.java @@ -6,7 +6,12 @@ import org.junit.Test; import static org.junit.Assert.assertEquals; -public class EJBSetupIntegrationTest { +/** + * This Live Test requires: + * * run the `spring-ejb-remote` module with the following command: `mvn clean package cargo:run -Pwildfly-standalone` + * + */ +public class EJBSetupLiveTest { @Test public void EJBClientTest() { diff --git a/spring-ejb/spring-ejb-client/src/test/java/com/baeldung/ejb/wildfly/TextApplicationIntegrationTest.java b/spring-ejb/spring-ejb-client/src/test/java/com/baeldung/ejb/wildfly/TextApplicationLiveTest.java similarity index 74% rename from spring-ejb/spring-ejb-client/src/test/java/com/baeldung/ejb/wildfly/TextApplicationIntegrationTest.java rename to spring-ejb/spring-ejb-client/src/test/java/com/baeldung/ejb/wildfly/TextApplicationLiveTest.java index 8dff116ca1..616811eae6 100644 --- a/spring-ejb/spring-ejb-client/src/test/java/com/baeldung/ejb/wildfly/TextApplicationIntegrationTest.java +++ b/spring-ejb/spring-ejb-client/src/test/java/com/baeldung/ejb/wildfly/TextApplicationLiveTest.java @@ -8,7 +8,12 @@ import java.io.ByteArrayOutputStream; import java.io.PrintStream; import static org.junit.Assert.*; -public class TextApplicationIntegrationTest { +/** + * This Live Test requires: + * * run the `spring-ejb-remote` module with the following command: `mvn clean package cargo:run -Pwildfly-standalone` + * + */ +public class TextApplicationLiveTest { private static ByteArrayOutputStream outContent; @@ -26,6 +31,6 @@ public class TextApplicationIntegrationTest { @Test public void givenInputString_whenCompareTtoStringPrintedToConsole_thenSuccessful() throws NamingException { TextApplication.main(new String[]{}); - assertEquals("SAMPLE TEXT", outContent.toString()); + assertTrue(outContent.toString().contains("SAMPLE TEXT")); } } \ No newline at end of file diff --git a/spring-ejb/spring-ejb-client/src/test/java/com/baeldung/springejbclient/SpringEjbClientApplicationIntegrationTest.java b/spring-ejb/spring-ejb-client/src/test/java/com/baeldung/springejbclient/SpringEjbClientApplicationIntegrationTest.java deleted file mode 100644 index 89c88fe5a5..0000000000 --- a/spring-ejb/spring-ejb-client/src/test/java/com/baeldung/springejbclient/SpringEjbClientApplicationIntegrationTest.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.baeldung.springejbclient; - -import org.junit.Test; - -public class SpringEjbClientApplicationIntegrationTest { - - @Test - public void contextLoads() { - } - -} diff --git a/spring-framework-web/README.md b/spring-framework-web/README.md deleted file mode 100644 index 9c21e93b83..0000000000 --- a/spring-framework-web/README.md +++ /dev/null @@ -1,7 +0,0 @@ -## Spring Framework Web - -This module contains articles about the Spring Framework for the Web. - -### Relevant Articles - -- [Converting a Spring MultipartFile to a File](https://www.baeldung.com/converting-spring-multipartfile-to-a-file) diff --git a/spring-framework-web/pom.xml b/spring-framework-web/pom.xml deleted file mode 100644 index 50029b4ba8..0000000000 --- a/spring-framework-web/pom.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - 4.0.0 - spring-framework-web - 0.0.1-SNAPSHOT - spring-framework-web - - - com.baeldung - parent-spring-5 - 0.0.1-SNAPSHOT - ../parent-spring-5 - - - - 2.6 - 4.12 - 3.15.0 - 2.0.8 - - - - - commons-io - commons-io - ${commons-io.version} - - - org.assertj - assertj-core - ${org.assertj.assertj-core.version} - test - - - org.springframework - spring-web - ${spring.version} - - - org.springframework - spring-mock - ${org.springframework.spring-mock.version} - test - - - junit - junit - ${junit.version} - test - - - - diff --git a/spring-mvc-crash/pom.xml b/spring-mvc-crash/pom.xml index d23e18361b..8a902d4937 100644 --- a/spring-mvc-crash/pom.xml +++ b/spring-mvc-crash/pom.xml @@ -5,7 +5,7 @@ 4.0.0 spring-mvc-crash 0.1-SNAPSHOT - spring-mvc-xml + spring-mvc-crash war diff --git a/spring-mvc-java-2/README.md b/spring-mvc-java-2/README.md index 09c8d8b294..525f5a276f 100644 --- a/spring-mvc-java-2/README.md +++ b/spring-mvc-java-2/README.md @@ -3,4 +3,5 @@ - [Cache Headers in Spring MVC](https://www.baeldung.com/spring-mvc-cache-headers) - [Working with Date Parameters in Spring](https://www.baeldung.com/spring-date-parameters) - [Spring MVC @PathVariable with a dot (.) gets truncated](https://www.baeldung.com/spring-mvc-pathvariable-dot) -- [A Quick Guide to Spring MVC Matrix Variables](https://www.baeldung.com/spring-mvc-matrix-variables) \ No newline at end of file +- [A Quick Guide to Spring MVC Matrix Variables](https://www.baeldung.com/spring-mvc-matrix-variables) +- [Converting a Spring MultipartFile to a File](https://www.baeldung.com/converting-spring-multipartfile-to-a-file) diff --git a/spring-mvc-java-2/pom.xml b/spring-mvc-java-2/pom.xml index af622321cb..533a24771a 100644 --- a/spring-mvc-java-2/pom.xml +++ b/spring-mvc-java-2/pom.xml @@ -31,6 +31,11 @@ jackson-databind ${jackson.version} + + commons-io + commons-io + ${commons-io.version} + @@ -49,4 +54,4 @@ - \ No newline at end of file + diff --git a/spring-mvc-java-2/src/main/resources/targetFile.tmp b/spring-mvc-java-2/src/main/resources/targetFile.tmp new file mode 100644 index 0000000000..5e1c309dae --- /dev/null +++ b/spring-mvc-java-2/src/main/resources/targetFile.tmp @@ -0,0 +1 @@ +Hello World \ No newline at end of file diff --git a/spring-framework-web/src/test/java/com/baeldung/multipart/file/ConvertMultipartFileUnitTest.java b/spring-mvc-java-2/src/test/java/com/baeldung/multipart/file/ConvertMultipartFileUnitTest.java similarity index 100% rename from spring-framework-web/src/test/java/com/baeldung/multipart/file/ConvertMultipartFileUnitTest.java rename to spring-mvc-java-2/src/test/java/com/baeldung/multipart/file/ConvertMultipartFileUnitTest.java diff --git a/spring-mvc-java/src/test/java/com/baeldung/web/controller/GreetControllerRealIntegrationTest.java b/spring-mvc-java/src/test/java/com/baeldung/web/controller/GreetControllerRealIntegrationTest.java new file mode 100644 index 0000000000..05c6313e76 --- /dev/null +++ b/spring-mvc-java/src/test/java/com/baeldung/web/controller/GreetControllerRealIntegrationTest.java @@ -0,0 +1,34 @@ +package com.baeldung.web.controller; + +import io.restassured.RestAssured; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.web.server.LocalServerPort; +import org.springframework.test.context.TestPropertySource; +import org.springframework.test.context.junit4.SpringRunner; + +import static io.restassured.RestAssured.given; +import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = RANDOM_PORT) +@TestPropertySource(properties = {"spring.main.allow-bean-definition-overriding=true", "server.servlet.context-path=/"}) +public class GreetControllerRealIntegrationTest { + + @LocalServerPort + private int port; + + @Before + public void setUp() { + RestAssured.port = port; + } + + @Test + public void givenGreetURI_whenSendingReq_thenVerifyResponse() { + given().get("/greet") + .then() + .statusCode(200); + } +} diff --git a/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-client/src/main/java/com/baeldung/client/BurlapClient.java b/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-client/src/main/java/com/baeldung/client/BurlapClient.java index 477c29eb26..1079c4163f 100644 --- a/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-client/src/main/java/com/baeldung/client/BurlapClient.java +++ b/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-client/src/main/java/com/baeldung/client/BurlapClient.java @@ -15,7 +15,7 @@ public class BurlapClient { @Bean public BurlapProxyFactoryBean burlapInvoker() { BurlapProxyFactoryBean invoker = new BurlapProxyFactoryBean(); - invoker.setServiceUrl("http://localhost:8080/b_booking"); + invoker.setServiceUrl("http://localhost:8032/b_booking"); invoker.setServiceInterface(CabBookingService.class); return invoker; } diff --git a/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-client/src/main/java/com/baeldung/client/HessianClient.java b/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-client/src/main/java/com/baeldung/client/HessianClient.java index b5f366094e..b2a2f4ffae 100644 --- a/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-client/src/main/java/com/baeldung/client/HessianClient.java +++ b/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-client/src/main/java/com/baeldung/client/HessianClient.java @@ -15,7 +15,7 @@ public class HessianClient { @Bean public HessianProxyFactoryBean hessianInvoker() { HessianProxyFactoryBean invoker = new HessianProxyFactoryBean(); - invoker.setServiceUrl("http://localhost:8080/booking"); + invoker.setServiceUrl("http://localhost:8032/booking"); invoker.setServiceInterface(CabBookingService.class); return invoker; } diff --git a/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-server/src/main/java/com/baeldung/server/Server.java b/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-server/src/main/java/com/baeldung/server/Server.java index 9b7e463871..9c825a2a80 100644 --- a/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-server/src/main/java/com/baeldung/server/Server.java +++ b/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-server/src/main/java/com/baeldung/server/Server.java @@ -10,6 +10,8 @@ import org.springframework.remoting.caucho.BurlapServiceExporter; import org.springframework.remoting.caucho.HessianServiceExporter; import org.springframework.remoting.support.RemoteExporter; +import java.util.Collections; + @Configuration @ComponentScan @EnableAutoConfiguration public class Server { @Bean CabBookingService bookingService() { @@ -31,7 +33,9 @@ import org.springframework.remoting.support.RemoteExporter; } public static void main(String[] args) { - SpringApplication.run(Server.class, args); + SpringApplication app = new SpringApplication(Server.class); + app.setDefaultProperties(Collections.singletonMap("server.port", "8032")); + app.run(args); } } \ No newline at end of file diff --git a/spring-resttemplate-2/pom.xml b/spring-resttemplate-2/pom.xml index 1a594fd21e..b1d6f60c53 100644 --- a/spring-resttemplate-2/pom.xml +++ b/spring-resttemplate-2/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - spring-resttemplate + spring-resttemplate-2 0.1-SNAPSHOT spring-resttemplate-2 war diff --git a/spring-security-modules/spring-security-kotlin-dsl/pom.xml b/spring-security-modules/spring-security-kotlin-dsl/pom.xml index 2c53d19c2c..24e99decfb 100644 --- a/spring-security-modules/spring-security-kotlin-dsl/pom.xml +++ b/spring-security-modules/spring-security-kotlin-dsl/pom.xml @@ -15,11 +15,6 @@ spring-security-kotlin-dsl Spring Security Kotlin DSL - - 11 - 1.3.72 - - org.springframework.boot @@ -83,4 +78,10 @@ + + + 11 + 1.3.72 + + diff --git a/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/LoginPageFilter.java b/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/LoginPageFilter.java new file mode 100644 index 0000000000..3c6d076756 --- /dev/null +++ b/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/LoginPageFilter.java @@ -0,0 +1,43 @@ +package com.baeldung.loginredirect; + +import org.apache.http.HttpStatus; +import org.springframework.security.authentication.AnonymousAuthenticationToken; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.web.filter.GenericFilterBean; + +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +class LoginPageFilter extends GenericFilterBean { + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { + HttpServletRequest servletRequest = (HttpServletRequest) request; + HttpServletResponse servletResponse = (HttpServletResponse) response; + + if (isAuthenticated() && "/loginUser".equals(servletRequest.getRequestURI())) { + + String encodedRedirectURL = ((HttpServletResponse) response).encodeRedirectURL( + servletRequest.getContextPath() + "/userMainPage"); + + servletResponse.setStatus(HttpStatus.SC_TEMPORARY_REDIRECT); + servletResponse.setHeader("Location", encodedRedirectURL); + } + + chain.doFilter(servletRequest, servletResponse); + } + + private boolean isAuthenticated() { + Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + if (authentication == null || AnonymousAuthenticationToken.class.isAssignableFrom(authentication.getClass())) { + return false; + } + return authentication.isAuthenticated(); + } +} \ No newline at end of file diff --git a/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/LoginPageInterceptor.java b/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/LoginPageInterceptor.java new file mode 100644 index 0000000000..aa93201f37 --- /dev/null +++ b/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/LoginPageInterceptor.java @@ -0,0 +1,39 @@ +package com.baeldung.loginredirect; + +import org.apache.http.HttpStatus; +import org.springframework.security.authentication.AnonymousAuthenticationToken; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; +import org.springframework.web.util.UrlPathHelper; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +class LoginPageInterceptor extends HandlerInterceptorAdapter { + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { + + UrlPathHelper urlPathHelper = new UrlPathHelper(); + if ("/loginUser".equals(urlPathHelper.getLookupPathForRequest(request)) && isAuthenticated()) { + + String encodedRedirectURL = response.encodeRedirectURL( + request.getContextPath() + "/userMainPage"); + response.setStatus(HttpStatus.SC_TEMPORARY_REDIRECT); + response.setHeader("Location", encodedRedirectURL); + + return false; + } else { + return true; + } + } + + private boolean isAuthenticated() { + Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + if (authentication == null || AnonymousAuthenticationToken.class.isAssignableFrom(authentication.getClass())) { + return false; + } + return authentication.isAuthenticated(); + } +} diff --git a/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/LoginRedirectApplication.java b/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/LoginRedirectApplication.java new file mode 100644 index 0000000000..1e44240449 --- /dev/null +++ b/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/LoginRedirectApplication.java @@ -0,0 +1,13 @@ +package com.baeldung.loginredirect; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ImportResource; + +@SpringBootApplication +@ImportResource({"classpath*:spring-security-login-redirect.xml"}) +class LoginRedirectApplication { + public static void main(String[] args) { + SpringApplication.run(LoginRedirectApplication.class, args); + } +} \ No newline at end of file diff --git a/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/LoginRedirectMvcConfig.java b/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/LoginRedirectMvcConfig.java new file mode 100644 index 0000000000..ca2ddcb020 --- /dev/null +++ b/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/LoginRedirectMvcConfig.java @@ -0,0 +1,14 @@ +package com.baeldung.loginredirect; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +class LoginRedirectMvcConfig implements WebMvcConfigurer { + + @Override + public void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(new LoginPageInterceptor()); + } +} \ No newline at end of file diff --git a/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/LoginRedirectSecurityConfig.java b/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/LoginRedirectSecurityConfig.java new file mode 100644 index 0000000000..8bd3200608 --- /dev/null +++ b/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/LoginRedirectSecurityConfig.java @@ -0,0 +1,43 @@ +package com.baeldung.loginredirect; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; + +@Configuration +@EnableWebSecurity +class LoginRedirectSecurityConfig extends WebSecurityConfigurerAdapter { + + @Override + protected void configure(AuthenticationManagerBuilder auth) throws Exception { + auth.inMemoryAuthentication().withUser("user").password(encoder().encode("user")).roles("USER"); + } + + @Override + protected void configure(HttpSecurity http) throws Exception { + + http + .addFilterAfter(new LoginPageFilter(), UsernamePasswordAuthenticationFilter.class) + + .authorizeRequests() + .antMatchers("/loginUser").permitAll() + .antMatchers("/user*").hasRole("USER") + + .and().formLogin().loginPage("/loginUser").loginProcessingUrl("/user_login") + .failureUrl("/loginUser?error=loginError").defaultSuccessUrl("/userMainPage").permitAll() + + .and().logout().logoutUrl("/user_logout").logoutSuccessUrl("/loginUser").deleteCookies("JSESSIONID") + .and().csrf().disable(); + } + + @Bean + public static PasswordEncoder encoder() { + return new BCryptPasswordEncoder(); + } +} diff --git a/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/UsersController.java b/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/UsersController.java new file mode 100644 index 0000000000..308495d2ab --- /dev/null +++ b/spring-security-modules/spring-security-mvc-boot-2/src/main/java/com/baeldung/loginredirect/UsersController.java @@ -0,0 +1,32 @@ +package com.baeldung.loginredirect; + +import org.springframework.security.authentication.AnonymousAuthenticationToken; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; + +@Controller +class UsersController { + + @GetMapping("/userMainPage") + public String getUserPage() { + return "userMainPage"; + } + + @GetMapping("/loginUser") + public String getUserLoginPage() { + if (isAuthenticated()) { + return "redirect:userMainPage"; + } + return "loginUser"; + } + + private boolean isAuthenticated() { + Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + if (authentication == null || AnonymousAuthenticationToken.class.isAssignableFrom(authentication.getClass())) { + return false; + } + return authentication.isAuthenticated(); + } +} diff --git a/spring-security-modules/spring-security-mvc-boot-2/src/main/resources/spring-security-login-redirect.xml b/spring-security-modules/spring-security-mvc-boot-2/src/main/resources/spring-security-login-redirect.xml new file mode 100644 index 0000000000..e711abce1f --- /dev/null +++ b/spring-security-modules/spring-security-mvc-boot-2/src/main/resources/spring-security-login-redirect.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/spring-security-modules/spring-security-mvc-boot-2/src/main/resources/templates/userMainPage.html b/spring-security-modules/spring-security-mvc-boot-2/src/main/resources/templates/userMainPage.html new file mode 100644 index 0000000000..501d019790 --- /dev/null +++ b/spring-security-modules/spring-security-mvc-boot-2/src/main/resources/templates/userMainPage.html @@ -0,0 +1,10 @@ + + + + +Baeldung Login Redirect + + +Welcome user! Logout + + \ No newline at end of file diff --git a/spring-security-modules/spring-security-mvc/pom.xml b/spring-security-modules/spring-security-mvc/pom.xml index 517aa83270..d97825975f 100644 --- a/spring-security-modules/spring-security-mvc/pom.xml +++ b/spring-security-modules/spring-security-mvc/pom.xml @@ -89,11 +89,6 @@ - - 5.2.2.RELEASE - 4.0.1 - - @@ -108,4 +103,9 @@ + + 5.2.2.RELEASE + 4.0.1 + + diff --git a/spring-security-modules/spring-security-rest/src/main/resources/webSecurityConfig.xml b/spring-security-modules/spring-security-rest/src/main/resources/webSecurityConfig.xml index 2c0a0bc774..b20151b8f4 100644 --- a/spring-security-modules/spring-security-rest/src/main/resources/webSecurityConfig.xml +++ b/spring-security-modules/spring-security-rest/src/main/resources/webSecurityConfig.xml @@ -33,6 +33,8 @@ class="com.baeldung.security.MySavedRequestAwareAuthenticationSuccessHandler" /> + diff --git a/spring-security-modules/spring-security-sso/spring-security-sso-kerberos/pom.xml b/spring-security-modules/spring-security-sso/spring-security-sso-kerberos/pom.xml index 0864ead1c4..a67cc4af83 100644 --- a/spring-security-modules/spring-security-sso/spring-security-sso-kerberos/pom.xml +++ b/spring-security-modules/spring-security-sso/spring-security-sso-kerberos/pom.xml @@ -11,31 +11,6 @@ 1.0.0-SNAPSHOT - - - - ${basedir}/src/main/resources - true - - **/* - - - - - - org.apache.maven.plugins - maven-resources-plugin - 2.7 - - - @ - - false - - - - - org.springframework.boot @@ -92,4 +67,29 @@ + + + + ${basedir}/src/main/resources + true + + **/* + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.7 + + + @ + + false + + + + + \ No newline at end of file diff --git a/spring-swagger-codegen/spring-openapi-generator-api-client/pom.xml b/spring-swagger-codegen/spring-openapi-generator-api-client/pom.xml index cc70a9f654..7f4a02eb0d 100644 --- a/spring-swagger-codegen/spring-openapi-generator-api-client/pom.xml +++ b/spring-swagger-codegen/spring-openapi-generator-api-client/pom.xml @@ -31,6 +31,97 @@ + + + sign-artifacts + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.5 + + + sign-artifacts + verify + + sign + + + + + + + + + + + + io.swagger + swagger-annotations + ${swagger-annotations-version} + + + + + com.google.code.findbugs + jsr305 + 3.0.2 + + + + + org.springframework + spring-web + ${spring-web-version} + + + + + com.fasterxml.jackson.core + jackson-core + ${jackson-version} + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson-version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson-databind-version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-json-provider + ${jackson-version} + + + org.openapitools + jackson-databind-nullable + ${jackson-databind-nullable-version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson-version} + + + com.github.joschi.jackson + jackson-datatype-threetenbp + ${jackson-threetenbp-version} + + + + + junit + junit + ${junit-version} + test + + + @@ -170,96 +261,6 @@ - - - sign-artifacts - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.5 - - - sign-artifacts - verify - - sign - - - - - - - - - - - - io.swagger - swagger-annotations - ${swagger-annotations-version} - - - - - com.google.code.findbugs - jsr305 - 3.0.2 - - - - - org.springframework - spring-web - ${spring-web-version} - - - - - com.fasterxml.jackson.core - jackson-core - ${jackson-version} - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson-version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson-databind-version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider - ${jackson-version} - - - org.openapitools - jackson-databind-nullable - ${jackson-databind-nullable-version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - ${jackson-version} - - - com.github.joschi.jackson - jackson-datatype-threetenbp - ${jackson-threetenbp-version} - - - - - junit - junit - ${junit-version} - test - - UTF-8 1.5.22 diff --git a/twitter4j/pom.xml b/twitter4j/pom.xml index 0c36e72892..e2579bf73e 100644 --- a/twitter4j/pom.xml +++ b/twitter4j/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 twitter4j - twitter4J + twitter4j jar diff --git a/webrtc/pom.xml b/webrtc/pom.xml index 6dc98afb1c..f302ae97a2 100644 --- a/webrtc/pom.xml +++ b/webrtc/pom.xml @@ -22,10 +22,6 @@ - - 1.8 - - @@ -35,4 +31,8 @@ + + 1.8 + +