Java 11 migraiton: module

This commit is contained in:
Anurag Agarwal 2020-04-12 22:38:00 +00:00
parent 99c70af16a
commit f1b27ef5c7
No known key found for this signature in database
GPG Key ID: CF5E14552DA23F13
4 changed files with 59 additions and 63 deletions

View File

@ -23,38 +23,39 @@
THE SOFTWARE.
-->
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.iluwatar</groupId>
<artifactId>java-design-patterns</artifactId>
<version>1.23.0-SNAPSHOT</version>
</parent>
<artifactId>module</artifactId>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<configuration>
<archive>
<manifest>
<mainClass>com.iluwatar.module.App</mainClass>
</manifest>
</archive>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.iluwatar</groupId>
<artifactId>java-design-patterns</artifactId>
<version>1.23.0-SNAPSHOT</version>
</parent>
<artifactId>module</artifactId>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<configuration>
<archive>
<manifest>
<mainClass>com.iluwatar.module.App</mainClass>
</manifest>
</archive>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@ -65,10 +65,8 @@ public class App {
/**
* Following method is main executor.
*
* @param args for providing default program arguments
*/
public static void execute(final String... args) {
public static void execute() {
/* Send logs on file system */
fileLoggerModule.printString("Message");
@ -88,7 +86,7 @@ public class App {
*/
public static void main(final String... args) throws FileNotFoundException {
prepare();
execute(args);
execute();
unprepare();
}
}

View File

@ -23,9 +23,8 @@
package com.iluwatar.module;
import org.junit.jupiter.api.Test;
import java.io.FileNotFoundException;
import org.junit.jupiter.api.Test;
/**
* Tests that Module example runs without errors.
@ -34,7 +33,6 @@ public final class AppTest {
@Test
public void test() throws FileNotFoundException {
final String[] args = {};
App.main(args);
App.main();
}
}

View File

@ -23,17 +23,16 @@
package com.iluwatar.module;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* The Module pattern can be considered a Creational pattern and a Structural pattern. It manages
@ -58,14 +57,14 @@ public final class FileLoggerModuleTest {
/**
* This test verify that 'MESSAGE' is perfectly printed in output file
*
*
* @throws IOException if program is not able to find log files (output.txt and error.txt)
*/
@Test
public void testFileMessage() throws IOException {
/* Get singletong instance of File Logger Module */
final FileLoggerModule fileLoggerModule = FileLoggerModule.getSingleton();
final var fileLoggerModule = FileLoggerModule.getSingleton();
/* Prepare the essential sub modules, to perform the sequence of jobs */
fileLoggerModule.prepare();
@ -82,14 +81,14 @@ public final class FileLoggerModuleTest {
/**
* This test verify that nothing is printed in output file
*
*
* @throws IOException if program is not able to find log files (output.txt and error.txt)
*/
@Test
public void testNoFileMessage() throws IOException {
/* Get singletong instance of File Logger Module */
final FileLoggerModule fileLoggerModule = FileLoggerModule.getSingleton();
/* Get singleton instance of File Logger Module */
final var fileLoggerModule = FileLoggerModule.getSingleton();
/* Prepare the essential sub modules, to perform the sequence of jobs */
fileLoggerModule.prepare();
@ -103,15 +102,15 @@ public final class FileLoggerModuleTest {
/**
* This test verify that 'ERROR' is perfectly printed in error file
*
*
* @throws FileNotFoundException if program is not able to find log files (output.txt and
* error.txt)
* error.txt)
*/
@Test
public void testFileErrorMessage() throws FileNotFoundException {
/* Get singletong instance of File Logger Module */
final FileLoggerModule fileLoggerModule = FileLoggerModule.getSingleton();
final var fileLoggerModule = FileLoggerModule.getSingleton();
/* Prepare the essential sub modules, to perform the sequence of jobs */
fileLoggerModule.prepare();
@ -122,21 +121,21 @@ public final class FileLoggerModuleTest {
/* Test if 'Message' is printed in file */
assertEquals(ERROR, readFirstLine(ERROR_FILE));
/* Unprepare to cleanup the modules */
/* Un-prepare to cleanup the modules */
fileLoggerModule.unprepare();
}
/**
* This test verify that nothing is printed in error file
*
*
* @throws FileNotFoundException if program is not able to find log files (output.txt and
* error.txt)
* error.txt)
*/
@Test
public void testNoFileErrorMessage() throws FileNotFoundException {
/* Get singletong instance of File Logger Module */
final FileLoggerModule fileLoggerModule = FileLoggerModule.getSingleton();
final var fileLoggerModule = FileLoggerModule.getSingleton();
/* Prepare the essential sub modules, to perform the sequence of jobs */
fileLoggerModule.prepare();
@ -150,14 +149,14 @@ public final class FileLoggerModuleTest {
/**
* Utility method to read first line of a file
*
*
* @param file as file name to be read
* @return a string value as first line in file
*/
private static final String readFirstLine(final String file) {
private static String readFirstLine(final String file) {
String firstLine = null;
try (BufferedReader bufferedReader = new BufferedReader(new FileReader(file))) {
try (var bufferedReader = new BufferedReader(new FileReader(file))) {
while (bufferedReader.ready()) {