Merge remote-tracking branch 'eugenp/master'
This commit is contained in:
+34
@@ -0,0 +1,34 @@
|
||||
package com.baeldung.java_8_features.groupingby;
|
||||
|
||||
public class Tuple {
|
||||
|
||||
private BlogPostType type;
|
||||
private String author;
|
||||
|
||||
public Tuple(BlogPostType type, String author) {
|
||||
super();
|
||||
this.type = type;
|
||||
this.author = author;
|
||||
}
|
||||
|
||||
public BlogPostType getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(BlogPostType type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public String getAuthor() {
|
||||
return author;
|
||||
}
|
||||
|
||||
public void setAuthor(String author) {
|
||||
this.author = author;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Tuple [type=" + type + ", author=" + author + ", getType()=" + getType() + ", getAuthor()=" + getAuthor() + ", getClass()=" + getClass() + ", hashCode()=" + hashCode() + ", toString()=" + super.toString() + "]";
|
||||
}
|
||||
}
|
||||
+12
@@ -54,3 +54,15 @@ class BankAccountCopyConstructor extends BankAccount {
|
||||
this.balance = 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
class BankAccountChainedConstructors extends BankAccount {
|
||||
public BankAccountChainedConstructors(String name, LocalDateTime opened, double balance) {
|
||||
this.name = name;
|
||||
this.opened = opened;
|
||||
this.balance = balance;
|
||||
}
|
||||
|
||||
public BankAccountChainedConstructors(String name) {
|
||||
this(name, LocalDateTime.now(), 0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
+24
-14
@@ -1,15 +1,14 @@
|
||||
package com.baeldung.constructors;
|
||||
|
||||
import com.baeldung.constructors.*;
|
||||
import com.google.common.collect.Comparators;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.Month;
|
||||
import java.util.ArrayList;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.junit.Test;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatCode;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
public class ConstructorUnitTest {
|
||||
final static Logger LOGGER = Logger.getLogger(ConstructorUnitTest.class.getName());
|
||||
@@ -17,26 +16,28 @@ public class ConstructorUnitTest {
|
||||
@Test
|
||||
public void givenNoExplicitContructor_whenUsed_thenFails() {
|
||||
BankAccount account = new BankAccount();
|
||||
assertThatThrownBy(() -> { account.toString(); }).isInstanceOf(Exception.class);
|
||||
assertThatThrownBy(() -> {
|
||||
account.toString();
|
||||
}).isInstanceOf(Exception.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenNoArgumentConstructor_whenUsed_thenSucceeds() {
|
||||
BankAccountEmptyConstructor account = new BankAccountEmptyConstructor();
|
||||
assertThatCode(() -> {
|
||||
account.toString();
|
||||
}).doesNotThrowAnyException();
|
||||
account.toString();
|
||||
}).doesNotThrowAnyException();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenParameterisedConstructor_whenUsed_thenSucceeds() {
|
||||
LocalDateTime opened = LocalDateTime.of(2018, Month.JUNE, 29, 06, 30, 00);
|
||||
BankAccountParameterizedConstructor account =
|
||||
new BankAccountParameterizedConstructor("Tom", opened, 1000.0f);
|
||||
|
||||
new BankAccountParameterizedConstructor("Tom", opened, 1000.0f);
|
||||
|
||||
assertThatCode(() -> {
|
||||
account.toString();
|
||||
}).doesNotThrowAnyException();
|
||||
account.toString();
|
||||
}).doesNotThrowAnyException();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -47,7 +48,16 @@ public class ConstructorUnitTest {
|
||||
|
||||
assertThat(account.getName()).isEqualTo(newAccount.getName());
|
||||
assertThat(account.getOpened()).isNotEqualTo(newAccount.getOpened());
|
||||
|
||||
|
||||
assertThat(newAccount.getBalance()).isEqualTo(0.0f);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenChainedConstructor_whenUsed_thenMaintainsLogic() {
|
||||
BankAccountChainedConstructors account = new BankAccountChainedConstructors("Tim");
|
||||
BankAccountChainedConstructors newAccount = new BankAccountChainedConstructors("Tim", LocalDateTime.now(), 0.0f);
|
||||
|
||||
assertThat(account.getName()).isEqualTo(newAccount.getName());
|
||||
assertThat(account.getBalance()).isEqualTo(newAccount.getBalance());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
- [A Guide to Inner Interfaces in Java](http://www.baeldung.com/java-inner-interfaces)
|
||||
- [Recursion In Java](http://www.baeldung.com/java-recursion)
|
||||
- [A Guide to the finalize Method in Java](http://www.baeldung.com/java-finalize)
|
||||
- [A Guide to Java Enums](http://www.baeldung.com/a-guide-to-java-enums)
|
||||
- [Infinite Loops in Java](http://www.baeldung.com/infinite-loops-java)
|
||||
- [Quick Guide to java.lang.System](http://www.baeldung.com/java-lang-system)
|
||||
- [Using Java Assertions](http://www.baeldung.com/java-assert)
|
||||
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
package com.baeldung.core.pwd;
|
||||
|
||||
import java.io.File;
|
||||
import java.nio.file.FileSystems;
|
||||
import java.nio.file.Paths;
|
||||
|
||||
public final class CurrentDirectoryFetcher {
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.printf("Current Directory Using Java System API: %s%n", currentDirectoryUsingSystemProperties());
|
||||
|
||||
System.out.printf("Current Directory Using Java IO File API: %s%n", currentDirectoryUsingFile());
|
||||
|
||||
System.out.printf("Current Directory Using Java NIO FileSystems API: %s%n", currentDirectoryUsingFileSystems());
|
||||
|
||||
System.out.printf("Current Directory Using Java NIO Paths API: %s%n", currentDirectoryUsingPaths());
|
||||
}
|
||||
|
||||
public static String currentDirectoryUsingSystemProperties() {
|
||||
return System.getProperty("user.dir");
|
||||
}
|
||||
|
||||
public static String currentDirectoryUsingPaths() {
|
||||
return Paths.get("")
|
||||
.toAbsolutePath()
|
||||
.toString();
|
||||
}
|
||||
|
||||
public static String currentDirectoryUsingFileSystems() {
|
||||
return FileSystems.getDefault()
|
||||
.getPath("")
|
||||
.toAbsolutePath()
|
||||
.toString();
|
||||
}
|
||||
|
||||
public static String currentDirectoryUsingFile() {
|
||||
return new File("").getAbsolutePath();
|
||||
}
|
||||
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package com.baeldung.core.pwd;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
public class CurrentDirectoryFetcherTest {
|
||||
|
||||
private static final String CURRENT_DIR = "core-java-os";
|
||||
|
||||
@Test
|
||||
public void whenUsingSystemProperties_thenReturnCurrentDirectory() {
|
||||
assertTrue(CurrentDirectoryFetcher.currentDirectoryUsingSystemProperties()
|
||||
.endsWith(CURRENT_DIR));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenUsingJavaNioPaths_thenReturnCurrentDirectory() {
|
||||
assertTrue(CurrentDirectoryFetcher.currentDirectoryUsingPaths()
|
||||
.endsWith(CURRENT_DIR));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenUsingJavaNioFileSystems_thenReturnCurrentDirectory() {
|
||||
assertTrue(CurrentDirectoryFetcher.currentDirectoryUsingFileSystems()
|
||||
.endsWith(CURRENT_DIR));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenUsingJavaIoFile_thenReturnCurrentDirectory() {
|
||||
assertTrue(CurrentDirectoryFetcher.currentDirectoryUsingFile()
|
||||
.endsWith(CURRENT_DIR));
|
||||
}
|
||||
}
|
||||
@@ -37,7 +37,6 @@
|
||||
- [Common Java Exceptions](http://www.baeldung.com/java-common-exceptions)
|
||||
- [Throw Exception in Optional in Java 8](https://www.baeldung.com/java-optional-throw-exception)
|
||||
- [Merging java.util.Properties Objects](https://www.baeldung.com/java-merging-properties)
|
||||
- [Merging java.util.Properties Objects](https://www.baeldung.com/java-merging-properties)
|
||||
- [Java – Try with Resources](https://www.baeldung.com/java-try-with-resources)
|
||||
- [Abstract Classes in Java](https://www.baeldung.com/java-abstract-class)
|
||||
- [Guide to Character Encoding](https://www.baeldung.com/java-char-encoding)
|
||||
|
||||
Binary file not shown.
@@ -22,6 +22,10 @@ public class UnitTestNamingConventionRule extends AbstractJavaRule {
|
||||
String className = node.getImage();
|
||||
Objects.requireNonNull(className);
|
||||
|
||||
if (className.endsWith("SpringContextTest")) {
|
||||
return data;
|
||||
}
|
||||
|
||||
if (className.endsWith("Tests")
|
||||
|| (className.endsWith("Test") && allowedEndings.stream().noneMatch(className::endsWith))) {
|
||||
addViolation(data, node);
|
||||
|
||||
+2
-2
@@ -165,7 +165,7 @@ public class JacksonSerializationIgnoreUnitTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public final void givenIgnoringNullFieldsOnClass_whenWritingObjectWithNullField_thenFieldIsIgnored() throws JsonProcessingException {
|
||||
public final void givenNullsIgnoredOnClass_whenWritingObjectWithNullField_thenIgnored() throws JsonProcessingException {
|
||||
final ObjectMapper mapper = new ObjectMapper();
|
||||
final MyDtoIgnoreNull dtoObject = new MyDtoIgnoreNull();
|
||||
|
||||
@@ -178,7 +178,7 @@ public class JacksonSerializationIgnoreUnitTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public final void givenIgnoringNullFieldsGlobally_whenWritingObjectWithNullField_thenIgnored() throws JsonProcessingException {
|
||||
public final void givenNullsIgnoredGlobally_whenWritingObjectWithNullField_thenIgnored() throws JsonProcessingException {
|
||||
final ObjectMapper mapper = new ObjectMapper();
|
||||
mapper.setSerializationInclusion(Include.NON_NULL);
|
||||
final MyDto dtoObject = new MyDto();
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.baeldung.string;
|
||||
package com.baeldung.string.multiline;
|
||||
|
||||
import org.junit.Test;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
@@ -1,4 +1,5 @@
|
||||
|
||||
### Relevant Articles:
|
||||
|
||||
- [Transferring a File Through SFTP in Java](https://www.baeldung.com/java-file-sftp)
|
||||
|
||||
|
||||
@@ -42,7 +42,6 @@
|
||||
- [Introduction to Akka Actors in Java](http://www.baeldung.com/akka-actors-java)
|
||||
- [Introduction to Smooks](http://www.baeldung.com/smooks)
|
||||
- [A Guide to Infinispan in Java](http://www.baeldung.com/infinispan)
|
||||
- [Introduction to OpenCSV](http://www.baeldung.com/opencsv)
|
||||
- [A Guide to Unirest](http://www.baeldung.com/unirest)
|
||||
- [Introduction to Akka Actors in Java](http://www.baeldung.com/akka-actors-java)
|
||||
- [A Guide to Byte Buddy](http://www.baeldung.com/byte-buddy)
|
||||
|
||||
@@ -13,9 +13,9 @@ public class GetterLazy {
|
||||
private static final String DELIMETER = ",";
|
||||
|
||||
@Getter(lazy = true)
|
||||
private final Map<String, Long> transactions = readTxnsFromFile();
|
||||
private final Map<String, Long> transactions = getTransactions();
|
||||
|
||||
private Map<String, Long> readTxnsFromFile() {
|
||||
private Map<String, Long> getTransactions() {
|
||||
|
||||
final Map<String, Long> cache = new HashMap<>();
|
||||
List<String> txnRows = readTxnListFromFile();
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.baeldung.lombok.intro;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.Synchronized;
|
||||
|
||||
public class Utility {
|
||||
|
||||
@SneakyThrows
|
||||
public String resourceAsString() throws IOException {
|
||||
try (InputStream is = this.getClass().getResourceAsStream("sure_in_my_jar.txt")) {
|
||||
BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
|
||||
return br.lines().collect(Collectors.joining("\n"));
|
||||
}
|
||||
}
|
||||
|
||||
@Synchronized
|
||||
public void putValueInCache(String key, String value) {
|
||||
System.out.println("Thread safe here with key : [" + key + "] and value[" + value + "]");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
Hello
|
||||
@@ -28,8 +28,31 @@
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.cargo</groupId>
|
||||
<artifactId>cargo-maven2-plugin</artifactId>
|
||||
<version>${cargo-maven2-plugin.version}</version>
|
||||
<configuration>
|
||||
<wait>true</wait>
|
||||
<container>
|
||||
<containerId>jetty8x</containerId>
|
||||
<type>embedded</type>
|
||||
</container>
|
||||
<configuration>
|
||||
<properties>
|
||||
<cargo.servlet.port>8082</cargo.servlet.port>
|
||||
</properties>
|
||||
</configuration>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<properties>
|
||||
<spring.version>4.3.22.RELEASE</spring.version>
|
||||
<cargo-maven2-plugin.version>1.6.1</cargo-maven2-plugin.version>
|
||||
</properties>
|
||||
|
||||
</project>
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.baeldung.pattern.chainofresponsibility;
|
||||
package com.baeldung.chainofresponsibility;
|
||||
|
||||
public abstract class AuthenticationProcessor {
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.baeldung.pattern.chainofresponsibility;
|
||||
package com.baeldung.chainofresponsibility;
|
||||
|
||||
public interface AuthenticationProvider {
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.baeldung.pattern.chainofresponsibility;
|
||||
package com.baeldung.chainofresponsibility;
|
||||
|
||||
public class OAuthAuthenticationProcessor extends AuthenticationProcessor {
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.baeldung.pattern.chainofresponsibility;
|
||||
package com.baeldung.chainofresponsibility;
|
||||
|
||||
public class OAuthTokenProvider implements AuthenticationProvider {
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.baeldung.pattern.chainofresponsibility;
|
||||
package com.baeldung.chainofresponsibility;
|
||||
|
||||
public class SamlAuthenticationProvider implements AuthenticationProvider {
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.baeldung.pattern.chainofresponsibility;
|
||||
package com.baeldung.chainofresponsibility;
|
||||
|
||||
public class UsernamePasswordAuthenticationProcessor extends AuthenticationProcessor {
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.baeldung.pattern.chainofresponsibility;
|
||||
package com.baeldung.chainofresponsibility;
|
||||
|
||||
public class UsernamePasswordProvider implements AuthenticationProvider {
|
||||
|
||||
|
||||
+6
-6
@@ -1,10 +1,10 @@
|
||||
package com.baeldung.pattern.command.client;
|
||||
package com.baeldung.command.client;
|
||||
|
||||
import com.baeldung.pattern.command.command.OpenTextFileOperation;
|
||||
import com.baeldung.pattern.command.command.SaveTextFileOperation;
|
||||
import com.baeldung.pattern.command.command.TextFileOperation;
|
||||
import com.baeldung.pattern.command.invoker.TextFileOperationExecutor;
|
||||
import com.baeldung.pattern.command.receiver.TextFile;
|
||||
import com.baeldung.command.command.OpenTextFileOperation;
|
||||
import com.baeldung.command.command.SaveTextFileOperation;
|
||||
import com.baeldung.command.command.TextFileOperation;
|
||||
import com.baeldung.command.invoker.TextFileOperationExecutor;
|
||||
import com.baeldung.command.receiver.TextFile;
|
||||
|
||||
public class TextFileApplication {
|
||||
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package com.baeldung.pattern.command.command;
|
||||
package com.baeldung.command.command;
|
||||
|
||||
import com.baeldung.pattern.command.receiver.TextFile;
|
||||
import com.baeldung.command.receiver.TextFile;
|
||||
|
||||
public class OpenTextFileOperation implements TextFileOperation {
|
||||
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package com.baeldung.pattern.command.command;
|
||||
package com.baeldung.command.command;
|
||||
|
||||
import com.baeldung.pattern.command.receiver.TextFile;
|
||||
import com.baeldung.command.receiver.TextFile;
|
||||
|
||||
public class SaveTextFileOperation implements TextFileOperation {
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.baeldung.pattern.command.command;
|
||||
package com.baeldung.command.command;
|
||||
|
||||
@FunctionalInterface
|
||||
public interface TextFileOperation {
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package com.baeldung.pattern.command.invoker;
|
||||
package com.baeldung.command.invoker;
|
||||
|
||||
import com.baeldung.pattern.command.command.TextFileOperation;
|
||||
import com.baeldung.command.command.TextFileOperation;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.baeldung.pattern.command.receiver;
|
||||
package com.baeldung.command.receiver;
|
||||
|
||||
public class TextFile {
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user