Merge branch 'master' into thymeleaf-sec-upgrade

This commit is contained in:
Loredana Crusoveanu
2018-06-09 10:38:11 +03:00
committed by GitHub
201 changed files with 2100 additions and 455 deletions
-3
View File
@@ -39,6 +39,3 @@ This tutorials project is being built **[>> HERE](https://rest-security.ci.cloud
- [Apache Maven Standard Directory Layout](http://www.baeldung.com/maven-directory-structure)
- [Apache Maven Tutorial](http://www.baeldung.com/maven)
- [Designing a User Friendly Java Library](http://www.baeldung.com/design-a-user-friendly-java-library)
- [Java Service Provider Interface](http://www.baeldung.com/java-spi)
- [Java Streams vs Vavr Streams](http://www.baeldung.com/vavr-java-streams)
@@ -148,7 +148,7 @@ public class Board {
System.out.println("Game Draw");
break;
case IN_PROGRESS:
System.out.println("Game In rogress");
System.out.println("Game In Progress");
break;
}
}
+1 -1
View File
@@ -5,7 +5,7 @@
<artifactId>animal-sniffer-mvn-plugin</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>example-animal-sniffer-mvn-plugin</name>
<name>animal-sniffer-mvn-plugin</name>
<url>http://maven.apache.org</url>
<parent>
@@ -19,7 +19,7 @@ import java.util.List;
import static junit.framework.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
public class CayenneAdvancedOperationIntegrationTest {
public class CayenneAdvancedOperationLiveTest {
private static ObjectContext context = null;
@BeforeClass
@@ -16,7 +16,7 @@ import static junit.framework.Assert.assertEquals;
import static org.junit.Assert.assertNull;
public class CayenneOperationIntegrationTest {
public class CayenneOperationLiveTest {
private static ObjectContext context = null;
@BeforeClass
@@ -7,7 +7,7 @@ import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class AzureApplicationTests {
public class AzureApplicationIntegrationTest {
@Test
public void contextLoads() {
-1
View File
@@ -5,7 +5,6 @@
<groupId>com.example</groupId>
<artifactId>spring-boot-camel</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Spring-Boot - Camel API</name>
<parent>
<groupId>com.baeldung</groupId>
+10
View File
@@ -195,6 +195,16 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-parameters</compilerArgument>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
@@ -0,0 +1,18 @@
package com.baeldung.reflect;
public class Person {
private String fullName;
public Person(String fullName) {
this.fullName = fullName;
}
public void setFullName(String fullName) {
this.fullName = fullName;
}
public String getFullName() {
return fullName;
}
}
@@ -0,0 +1,34 @@
package com.baeldung.reflect;
import static org.assertj.core.api.Assertions.assertThat;
import java.lang.reflect.Parameter;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import org.junit.Test;
public class MethodParamNameUnitTest {
@Test
public void whenGetConstructorParams_thenOk()
throws NoSuchMethodException, SecurityException {
List<Parameter> parameters
= Arrays.asList(Person.class.getConstructor(String.class).getParameters());
Optional<Parameter> parameter
= parameters.stream().filter(Parameter::isNamePresent).findFirst();
assertThat(parameter.get().getName()).isEqualTo("fullName");
}
@Test
public void whenGetMethodParams_thenOk()
throws NoSuchMethodException, SecurityException {
List<Parameter> parameters
= Arrays.asList(
Person.class.getMethod("setFullName", String.class).getParameters());
Optional<Parameter> parameter
= parameters.stream().filter(Parameter::isNamePresent).findFirst();
assertThat(parameter.get().getName()).isEqualTo("fullName");
}
}
@@ -77,6 +77,6 @@ public class FilesManualTest {
bw.newLine();
bw.close();
assertThat(StreamUtils.getStringFromInputStream(new FileInputStream(fileName))).isEqualTo("UK\r\n" + "US\r\n" + "Germany\r\n" + "Spain\n");
assertThat(StreamUtils.getStringFromInputStream(new FileInputStream(fileName))).isEqualTo("UK\r\n" + "US\r\n" + "Germany\r\n" + "Spain\r\n");
}
}
@@ -1,6 +1,7 @@
package org.baeldung.java.io;
import org.junit.Test;
import org.junit.Ignore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -105,8 +106,9 @@ public class JavaReadFromFileUnitTest {
}
@Test
@Ignore // TODO
public void whenReadUTFEncodedFile_thenCorrect() throws IOException {
final String expected_value = "�空";
final String expected_value = "青空";
final BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("src/test/resources/test_read7.in"), "UTF-8"));
final String currentLine = reader.readLine();
reader.close();
+1 -2
View File
@@ -141,6 +141,7 @@
- [Java KeyStore API](http://www.baeldung.com/java-keystore)
- [Double-Checked Locking with Singleton](http://www.baeldung.com/java-singleton-double-checked-locking)
- [Guide to Java Clock Class](http://www.baeldung.com/java-clock)
- [Infinite Loops in Java](http://www.baeldung.com/infinite-loops-java)
- [Using Java Assertions](http://www.baeldung.com/java-assert)
- [Pass-By-Value as a Parameter Passing Mechanism in Java](http://www.baeldung.com/java-pass-by-value-or-pass-by-reference)
- [Check If a String Is Numeric in Java](http://www.baeldung.com/java-check-string-number)
@@ -149,5 +150,3 @@
- [NaN in Java](http://www.baeldung.com/java-not-a-number)
- [Infinite Loops in Java](http://www.baeldung.com/infinite-loops-java)
- [Why Use char[] Array Over a String for Storing Passwords in Java?](http://www.baeldung.com/java-storing-passwords)
@@ -0,0 +1,49 @@
package com.baeldung.array;
import java.util.Arrays;
import java.util.Scanner;
public class JaggedArray {
int[][] shortHandFormInitialization() {
int[][] jaggedArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } };
return jaggedArr;
}
int[][] declarationAndThenInitialization() {
int[][] jaggedArr = new int[3][];
jaggedArr[0] = new int[] { 1, 2 };
jaggedArr[1] = new int[] { 3, 4, 5 };
jaggedArr[2] = new int[] { 6, 7, 8, 9 };
return jaggedArr;
}
int[][] declarationAndThenInitializationUsingUserInputs() {
int[][] jaggedArr = new int[3][];
jaggedArr[0] = new int[2];
jaggedArr[1] = new int[3];
jaggedArr[2] = new int[4];
initializeElements(jaggedArr);
return jaggedArr;
}
void initializeElements(int[][] jaggedArr) {
Scanner sc = new Scanner(System.in);
for (int outer = 0; outer < jaggedArr.length; outer++) {
for (int inner = 0; inner < jaggedArr[outer].length; inner++) {
jaggedArr[outer][inner] = sc.nextInt();
}
}
}
void printElements(int[][] jaggedArr) {
for (int index = 0; index < jaggedArr.length; index++) {
System.out.println(Arrays.toString(jaggedArr[index]));
}
}
int[] getElementAtGivenIndex(int[][] jaggedArr, int index) {
return jaggedArr[index];
}
}
@@ -1,10 +1,20 @@
package com.baeldung.linkedlist;
import com.baeldung.linkedlist.LinkedList.Node;
import java.util.LinkedList;
import com.baeldung.linkedlist.Node;
public class MiddleElementLookup {
public static String findMiddleElement(Node head) {
public static String findMiddleElementLinkedList(LinkedList<String> linkedList) {
if (linkedList == null || linkedList.isEmpty()) {
return null;
}
return linkedList.get((linkedList.size() - 1) / 2);
}
public static String findMiddleElementFromHead(Node head) {
if (head == null) {
return null;
}
@@ -26,7 +36,7 @@ public class MiddleElementLookup {
return current.data();
}
public static String findMiddleElement1PassRecursively(Node head) {
public static String findMiddleElementFromHead1PassRecursively(Node head) {
if (head == null) {
return null;
}
@@ -53,7 +63,7 @@ public class MiddleElementLookup {
middleAux.length--;
}
public static String findMiddleElement1PassIteratively(Node head) {
public static String findMiddleElementFromHead1PassIteratively(Node head) {
if (head == null) {
return null;
}
@@ -0,0 +1,34 @@
package com.baeldung.linkedlist;
public class Node {
private Node next;
private String data;
public Node(String data) {
this.data = data;
}
public String data() {
return data;
}
public void setData(String data) {
this.data = data;
}
public boolean hasNext() {
return next != null;
}
public Node next() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
public String toString() {
return this.data;
}
}
@@ -0,0 +1,53 @@
package com.baeldung.array;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.PrintStream;
import org.junit.Test;
public class JaggedArrayUnitTest {
private JaggedArray obj = new JaggedArray();
@Test
public void whenInitializedUsingShortHandForm_thenCorrect() {
assertArrayEquals(new int[][] { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }, obj.shortHandFormInitialization());
}
@Test
public void whenInitializedWithDeclarationAndThenInitalization_thenCorrect() {
assertArrayEquals(new int[][] { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }, obj.declarationAndThenInitialization());
}
@Test
public void whenInitializedWithDeclarationAndThenInitalizationUsingUserInputs_thenCorrect() {
InputStream is = new ByteArrayInputStream("1 2 3 4 5 6 7 8 9".getBytes());
System.setIn(is);
assertArrayEquals(new int[][] { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }, obj.declarationAndThenInitializationUsingUserInputs());
System.setIn(System.in);
}
@Test
public void givenJaggedArrayAndAnIndex_thenReturnArrayAtGivenIndex() {
int[][] jaggedArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } };
assertArrayEquals(new int[] { 1, 2 }, obj.getElementAtGivenIndex(jaggedArr, 0));
assertArrayEquals(new int[] { 3, 4, 5 }, obj.getElementAtGivenIndex(jaggedArr, 1));
assertArrayEquals(new int[] { 6, 7, 8, 9 }, obj.getElementAtGivenIndex(jaggedArr, 2));
}
@Test
public void givenJaggedArray_whenUsingArraysAPI_thenVerifyPrintedElements() {
int[][] jaggedArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } };
ByteArrayOutputStream outContent = new ByteArrayOutputStream();
System.setOut(new PrintStream(outContent));
obj.printElements(jaggedArr);
assertEquals("[1, 2]\n[3, 4, 5]\n[6, 7, 8, 9]\n", outContent.toString());
System.setOut(System.out);
}
}
@@ -2,51 +2,46 @@ package com.baeldung.linkedlist;
import static org.junit.Assert.assertEquals;
import java.util.LinkedList;
import org.junit.Test;
public class MiddleElementLookupUnitTest {
@Test
public void whenFindingMiddle_thenMiddleFound() {
String middle = MiddleElementLookup.findMiddleElement(createList(5).head());
assertEquals("3", middle);
middle = MiddleElementLookup.findMiddleElement(createList(4).head());
assertEquals("2", middle);
public void whenFindingMiddleLinkedList_thenMiddleFound() {
assertEquals("3", MiddleElementLookup.findMiddleElementLinkedList(createLinkedList(5)));
assertEquals("2", MiddleElementLookup.findMiddleElementLinkedList(createLinkedList(4)));
}
@Test
public void whenFindingMiddle1PassRecursively_thenMiddleFound() {
String middle = MiddleElementLookup.findMiddleElement1PassRecursively(createList(5).head());
assertEquals("3", middle);
middle = MiddleElementLookup.findMiddleElement1PassRecursively(createList(4).head());
assertEquals("2", middle);
public void whenFindingMiddleFromHead_thenMiddleFound() {
assertEquals("3", MiddleElementLookup.findMiddleElementFromHead(createNodesList(5)));
assertEquals("2", MiddleElementLookup.findMiddleElementFromHead(createNodesList(4)));
}
@Test
public void whenFindingMiddle1PassIteratively_thenMiddleFound() {
String middle = MiddleElementLookup.findMiddleElement1PassIteratively(createList(5).head());
assertEquals("3", middle);
public void whenFindingMiddleFromHead1PassRecursively_thenMiddleFound() {
assertEquals("3", MiddleElementLookup.findMiddleElementFromHead1PassRecursively(createNodesList(5)));
assertEquals("2", MiddleElementLookup.findMiddleElementFromHead1PassRecursively(createNodesList(4)));
}
middle = MiddleElementLookup.findMiddleElement1PassIteratively(createList(4).head());
assertEquals("2", middle);
@Test
public void whenFindingMiddleFromHead1PassIteratively_thenMiddleFound() {
assertEquals("3", MiddleElementLookup.findMiddleElementFromHead1PassIteratively(createNodesList(5)));
assertEquals("2", MiddleElementLookup.findMiddleElementFromHead1PassIteratively(createNodesList(4)));
}
@Test
public void whenListEmptyOrNull_thenMiddleNull() {
String middle = MiddleElementLookup.findMiddleElement(null);
assertEquals(null, middle);
middle = MiddleElementLookup.findMiddleElement1PassIteratively(null);
assertEquals(null, middle);
middle = MiddleElementLookup.findMiddleElement1PassRecursively(null);
assertEquals(null, middle);
assertEquals(null, MiddleElementLookup.findMiddleElementLinkedList(null));
assertEquals(null, MiddleElementLookup.findMiddleElementFromHead(null));
assertEquals(null, MiddleElementLookup.findMiddleElementFromHead1PassIteratively(null));
assertEquals(null, MiddleElementLookup.findMiddleElementFromHead1PassRecursively(null));
}
private static LinkedList createList(int n) {
LinkedList list = new LinkedList();
private static LinkedList<String> createLinkedList(int n) {
LinkedList<String> list = new LinkedList<>();
for (int i = 1; i <= n; i++) {
list.add(String.valueOf(i));
@@ -55,4 +50,17 @@ public class MiddleElementLookupUnitTest {
return list;
}
private static Node createNodesList(int n) {
Node head = new Node("1");
Node current = head;
for (int i = 2; i <= n; i++) {
Node newNode = new Node(String.valueOf(i));
current.setNext(newNode);
current = newNode;
}
return head;
}
}
@@ -0,0 +1,48 @@
package com.baeldung.enums
enum class CardType(val color: String) : ICardLimit {
SILVER("gray") {
override fun getCreditLimit(): Int {
return 100000
}
override fun calculateCashbackPercent(): Float {
return 0.25f
}
},
GOLD("yellow") {
override fun getCreditLimit(): Int {
return 200000
}
override fun calculateCashbackPercent(): Float {
return 0.5f
}
},
PLATINUM("black") {
override fun getCreditLimit(): Int {
return 300000
}
override fun calculateCashbackPercent(): Float {
return 0.75f
}
};
companion object {
fun getCardTypeByColor(color: String): CardType? {
for (cardType in CardType.values()) {
if (cardType.color.equals(color)) {
return cardType;
}
}
return null
}
fun getCardTypeByName(name: String): CardType {
return CardType.valueOf(name.toUpperCase())
}
}
abstract fun calculateCashbackPercent(): Float
}
@@ -0,0 +1,5 @@
package com.baeldung.enums
interface ICardLimit {
fun getCreditLimit(): Int
}
@@ -0,0 +1,84 @@
package com.baeldung.enums
import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
internal class CardTypeUnitTest {
@Test
fun givenSilverCardType_whenCalculateCashbackPercent_thenReturnCashbackValue() {
assertEquals(0.25f, CardType.SILVER.calculateCashbackPercent())
}
@Test
fun givenGoldCardType_whenCalculateCashbackPercent_thenReturnCashbackValue() {
assertEquals(0.5f, CardType.GOLD.calculateCashbackPercent())
}
@Test
fun givenPlatinumCardType_whenCalculateCashbackPercent_thenReturnCashbackValue() {
assertEquals(0.75f, CardType.PLATINUM.calculateCashbackPercent())
}
@Test
fun givenSilverCardType_whenGetCreditLimit_thenReturnCreditLimit() {
assertEquals(100000, CardType.SILVER.getCreditLimit())
}
@Test
fun givenGoldCardType_whenGetCreditLimit_thenReturnCreditLimit() {
assertEquals(200000, CardType.GOLD.getCreditLimit())
}
@Test
fun givenPlatinumCardType_whenGetCreditLimit_thenReturnCreditLimit() {
assertEquals(300000, CardType.PLATINUM.getCreditLimit())
}
@Test
fun givenSilverCardType_whenCheckColor_thenReturnColor() {
assertEquals("gray", CardType.SILVER.color)
}
@Test
fun givenGoldCardType_whenCheckColor_thenReturnColor() {
assertEquals("yellow", CardType.GOLD.color)
}
@Test
fun givenPlatinumCardType_whenCheckColor_thenReturnColor() {
assertEquals("black", CardType.PLATINUM.color)
}
@Test
fun whenGetCardTypeByColor_thenSilverCardType() {
Assertions.assertEquals(CardType.SILVER, CardType.getCardTypeByColor("gray"))
}
@Test
fun whenGetCardTypeByColor_thenGoldCardType() {
Assertions.assertEquals(CardType.GOLD, CardType.getCardTypeByColor("yellow"))
}
@Test
fun whenGetCardTypeByColor_thenPlatinumCardType() {
Assertions.assertEquals(CardType.PLATINUM, CardType.getCardTypeByColor("black"))
}
@Test
fun whenGetCardTypeByName_thenSilverCardType() {
Assertions.assertEquals(CardType.SILVER, CardType.getCardTypeByName("silver"))
}
@Test
fun whenGetCardTypeByName_thenGoldCardType() {
Assertions.assertEquals(CardType.GOLD, CardType.getCardTypeByName("gold"))
}
@Test
fun whenGetCardTypeByName_thenPlatinumCardType() {
Assertions.assertEquals(CardType.PLATINUM, CardType.getCardTypeByName("platinum"))
}
}
Binary file not shown.
@@ -14,17 +14,16 @@ public class UnitTestNamingConventionRule extends AbstractJavaRule {
"ManualTest",
"JdbcTest",
"LiveTest",
"UnitTest");
"UnitTest",
"jmhTest");
public Object visit(ASTClassOrInterfaceDeclaration node, Object data) {
String className = node.getImage();
Objects.requireNonNull(className);
if (className.endsWith("Test") || className.endsWith("Tests")) {
if (allowedEndings.stream()
.noneMatch(className::endsWith)) {
addViolation(data, node);
}
if (className.endsWith("Tests")
|| (className.endsWith("Test") && allowedEndings.stream().noneMatch(className::endsWith))) {
addViolation(data, node);
}
return data;
-1
View File
@@ -3,7 +3,6 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>ejb-client</artifactId>
<name>EJB3 Client Maven</name>
<description>EJB3 Client Maven</description>
<parent>
+2 -2
View File
@@ -10,10 +10,10 @@
<name>ethereumj</name>
<parent>
<artifactId>parent-boot-5</artifactId>
<artifactId>parent-boot-1</artifactId>
<groupId>com.baeldung</groupId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../parent-boot-5</relativePath>
<relativePath>../parent-boot-1</relativePath>
</parent>
<repositories>
+2 -2
View File
@@ -8,10 +8,10 @@
<name>flips</name>
<parent>
<artifactId>parent-boot-5</artifactId>
<artifactId>parent-boot-1</artifactId>
<groupId>com.baeldung</groupId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../parent-boot-5</relativePath>
<relativePath>../parent-boot-1</relativePath>
</parent>
<dependencies>
@@ -23,7 +23,7 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
}, webEnvironment = SpringBootTest.WebEnvironment.MOCK)
@AutoConfigureMockMvc
@ActiveProfiles("dev")
public class FlipControllerTest {
public class FlipControllerIntegrationTest {
@Autowired private MockMvc mvc;
+2 -2
View File
@@ -8,10 +8,10 @@
<description>Flyway Callbacks Demo</description>
<parent>
<artifactId>parent-boot-5</artifactId>
<artifactId>parent-boot-1</artifactId>
<groupId>com.baeldung</groupId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../parent-boot-5</relativePath>
<relativePath>../parent-boot-1</relativePath>
</parent>
<dependencies>
-2
View File
@@ -5,8 +5,6 @@
<artifactId>grpc-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>grpc-demo</name>
<url>http://maven.apache.org</url>
<parent>
<groupId>com.baeldung</groupId>
-22
View File
@@ -27,28 +27,6 @@
</dependency>
</dependencies>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

Some files were not shown because too many files have changed in this diff Show More