From 7d0a5c0edbe96112e609f29faa796167c1cd3179 Mon Sep 17 00:00:00 2001 From: Hemant Bothra Date: Wed, 18 Dec 2019 20:04:08 +0000 Subject: [PATCH 1/3] Issue 989 batch-2 (#1108) * Adding support for maven assembly plugin to generate executable jar with all dependencies in built * Merge branch 'master' into issue-989 # Conflicts: # abstract-document/pom.xml # pom.xml * Adding maven assemly plugin for projects with name A * Update in format as per checkstyle, i.e. Spcae in place of tab with size of 2 * batch set - 2 having all project with B and C * issue-989 d-e-f * fixing eip pom and adding g-h-i-l-m-n Skipping naked object as it seems it doesn't have main method, will consider this at end * Adding for O and P projects Skipping Object-Mother as we don't have main method for same. --- balking/pom.xml | 94 ++++++++++++++------------- bridge/pom.xml | 102 +++++++++++++++++------------- builder/pom.xml | 92 +++++++++++++++------------ business-delegate/pom.xml | 61 ++++++++++-------- bytecode/pom.xml | 91 ++++++++++++++------------ caching/pom.xml | 15 +++++ callback/pom.xml | 19 ++++++ chain/pom.xml | 19 ++++++ circuit-breaker/pom.xml | 19 ++++++ collection-pipeline/pom.xml | 19 ++++++ command/pom.xml | 19 ++++++ commander/pom.xml | 65 +++++++++++++++++++ composite/pom.xml | 19 ++++++ converter/pom.xml | 99 ++++++++++++++++------------- cqrs/pom.xml | 20 +++++- dao/pom.xml | 33 ++++++++-- data-bus/pom.xml | 19 ++++++ data-locality/pom.xml | 48 +++++++++----- data-mapper/pom.xml | 19 ++++++ data-transfer-object/pom.xml | 19 ++++++ decorator/pom.xml | 19 ++++++ delegation/pom.xml | 47 ++++++++++---- dependency-injection/pom.xml | 19 ++++++ dirty-flag/pom.xml | 19 ++++++ double-buffer/pom.xml | 19 ++++++ double-checked-locking/pom.xml | 19 ++++++ double-dispatch/pom.xml | 19 ++++++ eip-aggregator/pom.xml | 19 ++++++ eip-message-channel/pom.xml | 19 ++++++ eip-publish-subscribe/pom.xml | 19 ++++++ eip-splitter/pom.xml | 19 ++++++ eip-wire-tap/pom.xml | 19 ++++++ event-aggregator/pom.xml | 19 ++++++ event-asynchronous/pom.xml | 19 ++++++ event-driven-architecture/pom.xml | 19 ++++++ event-queue/pom.xml | 19 ++++++ event-sourcing/pom.xml | 19 ++++++ execute-around/pom.xml | 19 ++++++ extension-objects/pom.xml | 19 ++++++ facade/pom.xml | 20 ++++++ factory-kit/pom.xml | 19 ++++++ factory-method/pom.xml | 19 ++++++ feature-toggle/pom.xml | 19 ++++++ fluentinterface/pom.xml | 19 ++++++ flux/pom.xml | 19 ++++++ flyweight/pom.xml | 19 ++++++ front-controller/pom.xml | 19 ++++++ game-loop/pom.xml | 20 +++++- guarded-suspension/pom.xml | 19 ++++++ half-sync-half-async/pom.xml | 19 ++++++ hexagonal/pom.xml | 19 ++++++ intercepting-filter/pom.xml | 19 ++++++ interpreter/pom.xml | 19 ++++++ iterator/pom.xml | 19 ++++++ layers/pom.xml | 19 ++++++ lazy-loading/pom.xml | 19 ++++++ leader-election/pom.xml | 32 ++++++++++ marker/pom.xml | 21 +++++- master-worker-pattern/pom.xml | 19 ++++++ mediator/pom.xml | 19 ++++++ memento/pom.xml | 19 ++++++ model-view-controller/pom.xml | 19 ++++++ model-view-presenter/pom.xml | 19 ++++++ module/pom.xml | 19 ++++++ monad/pom.xml | 19 ++++++ multiton/pom.xml | 19 ++++++ mute-idiom/pom.xml | 19 ++++++ mutex/pom.xml | 19 ++++++ null-object/pom.xml | 19 ++++++ object-pool/pom.xml | 19 ++++++ observer/pom.xml | 19 ++++++ page-object/pom.xml | 19 ++++++ partial-response/pom.xml | 21 +++++- pipeline/pom.xml | 19 ++++++ poison-pill/pom.xml | 19 ++++++ priority-queue/pom.xml | 20 +++++- private-class-data/pom.xml | 19 ++++++ producer-consumer/pom.xml | 19 ++++++ promise/pom.xml | 19 ++++++ property/pom.xml | 19 ++++++ prototype/pom.xml | 19 ++++++ proxy/pom.xml | 19 ++++++ queue-load-leveling/pom.xml | 19 ++++++ 83 files changed, 1855 insertions(+), 281 deletions(-) diff --git a/balking/pom.xml b/balking/pom.xml index aca041684f50..96453169265b 100644 --- a/balking/pom.xml +++ b/balking/pom.xml @@ -1,46 +1,54 @@ - + - - java-design-patterns - com.iluwatar - 1.23.0-SNAPSHOT - - 4.0.0 - - balking - - - org.junit.jupiter - junit-jupiter-engine - test - - - - + 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"> + + java-design-patterns + com.iluwatar + 1.23.0-SNAPSHOT + + 4.0.0 + + balking + + + org.junit.jupiter + junit-jupiter-engine + test + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.balking.App + + + + + + + + diff --git a/bridge/pom.xml b/bridge/pom.xml index b37cb8c9da27..0664bc9b5977 100644 --- a/bridge/pom.xml +++ b/bridge/pom.xml @@ -1,47 +1,59 @@ - - - 4.0.0 - - com.iluwatar - java-design-patterns - 1.23.0-SNAPSHOT - - bridge - - - org.junit.jupiter - junit-jupiter-engine - test - - - org.mockito - mockito-core - test - - + + + 4.0.0 + + com.iluwatar + java-design-patterns + 1.23.0-SNAPSHOT + + bridge + + + org.junit.jupiter + junit-jupiter-engine + test + + + org.mockito + mockito-core + test + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.bridge.App + + + + + + + + diff --git a/builder/pom.xml b/builder/pom.xml index e31ef2798bcf..dab9c66a7f5b 100644 --- a/builder/pom.xml +++ b/builder/pom.xml @@ -1,42 +1,54 @@ - - - 4.0.0 - - com.iluwatar - java-design-patterns - 1.23.0-SNAPSHOT - - builder - - - org.junit.jupiter - junit-jupiter-engine - test - - + + + 4.0.0 + + com.iluwatar + java-design-patterns + 1.23.0-SNAPSHOT + + builder + + + org.junit.jupiter + junit-jupiter-engine + test + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.builder.App + + + + + + + + diff --git a/business-delegate/pom.xml b/business-delegate/pom.xml index 4bf05843c00c..26987c73aef1 100644 --- a/business-delegate/pom.xml +++ b/business-delegate/pom.xml @@ -1,31 +1,23 @@ - + + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 com.iluwatar @@ -45,4 +37,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.business.delegate.App + + + + + + + + diff --git a/bytecode/pom.xml b/bytecode/pom.xml index 6b2f0bf548ee..f6be69ceede7 100644 --- a/bytecode/pom.xml +++ b/bytecode/pom.xml @@ -1,45 +1,56 @@ - + - - java-design-patterns - com.iluwatar - 1.23.0-SNAPSHOT - - 4.0.0 + 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"> + + java-design-patterns + com.iluwatar + 1.23.0-SNAPSHOT + + 4.0.0 + + bytecode + + + org.junit.jupiter + junit-jupiter-engine + test + + - bytecode - - - org.junit.jupiter - junit-jupiter-engine - test - - + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.bytecode.App + + + + + + + + \ No newline at end of file diff --git a/caching/pom.xml b/caching/pom.xml index e479bc143b52..79bde5c951b4 100644 --- a/caching/pom.xml +++ b/caching/pom.xml @@ -69,6 +69,21 @@ false + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.caching.App + + + + + + diff --git a/callback/pom.xml b/callback/pom.xml index 634e4f7e90c9..c156527f5dab 100644 --- a/callback/pom.xml +++ b/callback/pom.xml @@ -39,4 +39,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.callback.App + + + + + + + + diff --git a/chain/pom.xml b/chain/pom.xml index f92637935560..cf70ad1e89f0 100644 --- a/chain/pom.xml +++ b/chain/pom.xml @@ -39,4 +39,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.chain.App + + + + + + + + diff --git a/circuit-breaker/pom.xml b/circuit-breaker/pom.xml index b04cd5c25ecc..fd9f85675650 100644 --- a/circuit-breaker/pom.xml +++ b/circuit-breaker/pom.xml @@ -37,4 +37,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.circuitbreaker.App + + + + + + + + diff --git a/collection-pipeline/pom.xml b/collection-pipeline/pom.xml index 3c2a925c4836..6d8d467ad151 100644 --- a/collection-pipeline/pom.xml +++ b/collection-pipeline/pom.xml @@ -37,4 +37,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.collectionpipeline.App + + + + + + + + diff --git a/command/pom.xml b/command/pom.xml index d43e09822734..50a14c45f00d 100644 --- a/command/pom.xml +++ b/command/pom.xml @@ -39,4 +39,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.command.App + + + + + + + + diff --git a/commander/pom.xml b/commander/pom.xml index 7c675a304d3a..7ab29e421c60 100644 --- a/commander/pom.xml +++ b/commander/pom.xml @@ -37,4 +37,69 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + Employee + + + + com.iluwatar.commander.AppEmployeeDbFailCases + + + ${project.artifactId}-EmployeeDBFailCase + + + + Message + + + + com.iluwatar.commander.AppMessagingFailCases + + + ${project.artifactId}-MessagingFailCase + + + + Payment + + + + com.iluwatar.commander.AppPaymentFailCases + + + ${project.artifactId}-PaymentFailCase + + + + Queue + + + + com.iluwatar.commander.AppQueueFailCases + + + ${project.artifactId}-QueueFailCase + + + + Shipping + + + + com.iluwatar.commander.AppShippingFailCases + + + ${project.artifactId}-ShippingFailCase + + + + + + diff --git a/composite/pom.xml b/composite/pom.xml index e833646807da..c16b95c13a8a 100644 --- a/composite/pom.xml +++ b/composite/pom.xml @@ -39,4 +39,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.composite.App + + + + + + + + diff --git a/converter/pom.xml b/converter/pom.xml index 9495e811ec9a..56eb2ccdbc8d 100644 --- a/converter/pom.xml +++ b/converter/pom.xml @@ -1,49 +1,58 @@ - + - - java-design-patterns - com.iluwatar - 1.23.0-SNAPSHOT - - 4.0.0 - - - org.junit.jupiter - junit-jupiter-engine - test - - - com.google.guava - guava - - - converter - + 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"> + + java-design-patterns + com.iluwatar + 1.23.0-SNAPSHOT + + converter + 4.0.0 + + + org.junit.jupiter + junit-jupiter-engine + test + + + com.google.guava + guava + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.converter.App + + + + + + + + diff --git a/cqrs/pom.xml b/cqrs/pom.xml index 0f1b4a7c31d9..b3a0303e634e 100644 --- a/cqrs/pom.xml +++ b/cqrs/pom.xml @@ -58,7 +58,25 @@ jaxb-api test - + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.cqrs.app.App + + + + + + + + diff --git a/dao/pom.xml b/dao/pom.xml index c3bc3300c030..7e8bd56256a6 100644 --- a/dao/pom.xml +++ b/dao/pom.xml @@ -24,8 +24,8 @@ --> + 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"> 4.0.0 com.iluwatar @@ -41,12 +41,31 @@ test - com.h2database - h2 - + com.h2database + h2 + - org.mockito - mockito-core + org.mockito + mockito-core + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.dao.App + + + + + + + + diff --git a/data-bus/pom.xml b/data-bus/pom.xml index 9a13745fe159..e67135ae0a28 100644 --- a/data-bus/pom.xml +++ b/data-bus/pom.xml @@ -48,4 +48,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.databus.App + + + + + + + + diff --git a/data-locality/pom.xml b/data-locality/pom.xml index d64b0f9416ff..660daa9b7fcc 100644 --- a/data-locality/pom.xml +++ b/data-locality/pom.xml @@ -26,20 +26,38 @@ - 4.0.0 - - com.iluwatar - java-design-patterns - 1.23.0-SNAPSHOT - - data-locality - - - - org.junit.jupiter - junit-jupiter-engine - test - - + 4.0.0 + + com.iluwatar + java-design-patterns + 1.23.0-SNAPSHOT + + data-locality + + + org.junit.jupiter + junit-jupiter-engine + test + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.data.locality.Application + + + + + + + + \ No newline at end of file diff --git a/data-mapper/pom.xml b/data-mapper/pom.xml index b587960ef788..64f03a186a7c 100644 --- a/data-mapper/pom.xml +++ b/data-mapper/pom.xml @@ -38,4 +38,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.datamapper.App + + + + + + + + diff --git a/data-transfer-object/pom.xml b/data-transfer-object/pom.xml index d01ff4f72ec0..5889daba887f 100644 --- a/data-transfer-object/pom.xml +++ b/data-transfer-object/pom.xml @@ -38,4 +38,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.datatransfer.CustomerClientApp + + + + + + + + diff --git a/decorator/pom.xml b/decorator/pom.xml index 3d005fa64a0a..c7e1a4d8deb3 100644 --- a/decorator/pom.xml +++ b/decorator/pom.xml @@ -44,4 +44,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.decorator.App + + + + + + + + diff --git a/delegation/pom.xml b/delegation/pom.xml index 5179a86852cd..63cd91842caa 100644 --- a/delegation/pom.xml +++ b/delegation/pom.xml @@ -26,20 +26,39 @@ - - java-design-patterns - com.iluwatar - 1.23.0-SNAPSHOT - - 4.0.0 + + java-design-patterns + com.iluwatar + 1.23.0-SNAPSHOT + + 4.0.0 - delegation + delegation - - - org.junit.jupiter - junit-jupiter-engine - test - - + + + org.junit.jupiter + junit-jupiter-engine + test + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.delegation.simple.App + + + + + + + + diff --git a/dependency-injection/pom.xml b/dependency-injection/pom.xml index 5caf8fbbce4f..9baffe3824ab 100644 --- a/dependency-injection/pom.xml +++ b/dependency-injection/pom.xml @@ -43,4 +43,23 @@ guice + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.dependency.injection.App + + + + + + + + diff --git a/dirty-flag/pom.xml b/dirty-flag/pom.xml index 0362780cb1e2..c014cd41e193 100644 --- a/dirty-flag/pom.xml +++ b/dirty-flag/pom.xml @@ -46,4 +46,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.dirtyflag.App + + + + + + + + diff --git a/double-buffer/pom.xml b/double-buffer/pom.xml index f4ea7db792a3..084cbc8c9f98 100644 --- a/double-buffer/pom.xml +++ b/double-buffer/pom.xml @@ -45,5 +45,24 @@ commons-lang3 + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.doublebuffer.App + + + + + + + + \ No newline at end of file diff --git a/double-checked-locking/pom.xml b/double-checked-locking/pom.xml index 27d7d24205d2..a77546386723 100644 --- a/double-checked-locking/pom.xml +++ b/double-checked-locking/pom.xml @@ -42,4 +42,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.doublechecked.locking.App + + + + + + + + diff --git a/double-dispatch/pom.xml b/double-dispatch/pom.xml index 059a7515b3b5..9582797a2729 100644 --- a/double-dispatch/pom.xml +++ b/double-dispatch/pom.xml @@ -44,4 +44,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.doubledispatch.App + + + + + + + + diff --git a/eip-aggregator/pom.xml b/eip-aggregator/pom.xml index e32969eaec76..578d1bbf2e46 100644 --- a/eip-aggregator/pom.xml +++ b/eip-aggregator/pom.xml @@ -84,4 +84,23 @@ + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.epi.aggregator.App + + + + + + + + diff --git a/eip-message-channel/pom.xml b/eip-message-channel/pom.xml index 800a62883c18..bea72b1f9110 100644 --- a/eip-message-channel/pom.xml +++ b/eip-message-channel/pom.xml @@ -48,4 +48,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.eip.message.channel.App + + + + + + + + diff --git a/eip-publish-subscribe/pom.xml b/eip-publish-subscribe/pom.xml index 65384438ef44..e7b5462b6e13 100644 --- a/eip-publish-subscribe/pom.xml +++ b/eip-publish-subscribe/pom.xml @@ -46,4 +46,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.eip.publish.subscribe.App + + + + + + + + diff --git a/eip-splitter/pom.xml b/eip-splitter/pom.xml index e73139b959fb..9c06f3f8d0f4 100644 --- a/eip-splitter/pom.xml +++ b/eip-splitter/pom.xml @@ -84,5 +84,24 @@ + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.eip.splitter.App + + + + + + + + diff --git a/eip-wire-tap/pom.xml b/eip-wire-tap/pom.xml index 6d29aac1afd7..06cbc33db7b8 100644 --- a/eip-wire-tap/pom.xml +++ b/eip-wire-tap/pom.xml @@ -84,5 +84,24 @@ + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.eip.wiretap.App + + + + + + + + diff --git a/event-aggregator/pom.xml b/event-aggregator/pom.xml index a9e8b4cd16ff..5553de2e342a 100644 --- a/event-aggregator/pom.xml +++ b/event-aggregator/pom.xml @@ -43,4 +43,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.event.aggregator.App + + + + + + + + diff --git a/event-asynchronous/pom.xml b/event-asynchronous/pom.xml index c05f54afde3f..001b3b9a894c 100644 --- a/event-asynchronous/pom.xml +++ b/event-asynchronous/pom.xml @@ -39,4 +39,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.event.asynchronous.App + + + + + + + + diff --git a/event-driven-architecture/pom.xml b/event-driven-architecture/pom.xml index 62a00fb70a5d..17d2795c4398 100644 --- a/event-driven-architecture/pom.xml +++ b/event-driven-architecture/pom.xml @@ -49,4 +49,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.eda.App + + + + + + + + diff --git a/event-queue/pom.xml b/event-queue/pom.xml index 58f31e3a05cb..fd8ce99026e3 100644 --- a/event-queue/pom.xml +++ b/event-queue/pom.xml @@ -40,4 +40,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.event.queue.App + + + + + + + + diff --git a/event-sourcing/pom.xml b/event-sourcing/pom.xml index 1232bb4b43fe..52bff8ff7746 100644 --- a/event-sourcing/pom.xml +++ b/event-sourcing/pom.xml @@ -47,4 +47,23 @@ + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.event.sourcing.App + + + + + + + + diff --git a/execute-around/pom.xml b/execute-around/pom.xml index e4f1d3fd299f..1752f04f5f8b 100644 --- a/execute-around/pom.xml +++ b/execute-around/pom.xml @@ -44,4 +44,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.execute.around.App + + + + + + + + diff --git a/extension-objects/pom.xml b/extension-objects/pom.xml index 34630508f480..0194357eda15 100644 --- a/extension-objects/pom.xml +++ b/extension-objects/pom.xml @@ -41,5 +41,24 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + App + + + + + + + + diff --git a/facade/pom.xml b/facade/pom.xml index 560f7ae1018c..a7fdb88f0809 100644 --- a/facade/pom.xml +++ b/facade/pom.xml @@ -39,4 +39,24 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.facade.App + + + + + + + + + diff --git a/factory-kit/pom.xml b/factory-kit/pom.xml index 194f94d5d926..87f27b341bc4 100644 --- a/factory-kit/pom.xml +++ b/factory-kit/pom.xml @@ -40,4 +40,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.factorykit.App + + + + + + + + diff --git a/factory-method/pom.xml b/factory-method/pom.xml index 5b3b6c9cc5b1..5f0358d4dcc1 100644 --- a/factory-method/pom.xml +++ b/factory-method/pom.xml @@ -39,4 +39,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.factory.method.App + + + + + + + + diff --git a/feature-toggle/pom.xml b/feature-toggle/pom.xml index 4ecd5f59df29..13f646b801a5 100644 --- a/feature-toggle/pom.xml +++ b/feature-toggle/pom.xml @@ -43,4 +43,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.featuretoggle.App + + + + + + + + diff --git a/fluentinterface/pom.xml b/fluentinterface/pom.xml index a40541fc4e2b..9eb063c132c5 100644 --- a/fluentinterface/pom.xml +++ b/fluentinterface/pom.xml @@ -46,4 +46,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.fluentinterface.app.App + + + + + + + + diff --git a/flux/pom.xml b/flux/pom.xml index 1c44d80574ec..8effd0fc941b 100644 --- a/flux/pom.xml +++ b/flux/pom.xml @@ -44,4 +44,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.flux.app.App + + + + + + + + diff --git a/flyweight/pom.xml b/flyweight/pom.xml index a17b43dcd572..f3a8082b5afb 100644 --- a/flyweight/pom.xml +++ b/flyweight/pom.xml @@ -39,4 +39,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.flyweight.App + + + + + + + + diff --git a/front-controller/pom.xml b/front-controller/pom.xml index de0f084a9aa2..34dabc18200f 100644 --- a/front-controller/pom.xml +++ b/front-controller/pom.xml @@ -50,4 +50,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.front.controller.App + + + + + + + + diff --git a/game-loop/pom.xml b/game-loop/pom.xml index da5c2bb09bc0..2c290827141c 100644 --- a/game-loop/pom.xml +++ b/game-loop/pom.xml @@ -40,6 +40,24 @@ junit - + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.gameloop.App + + + + + + + + \ No newline at end of file diff --git a/guarded-suspension/pom.xml b/guarded-suspension/pom.xml index bc1dec09eedc..791c696c158a 100644 --- a/guarded-suspension/pom.xml +++ b/guarded-suspension/pom.xml @@ -41,4 +41,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.guarded.suspension.App + + + + + + + + diff --git a/half-sync-half-async/pom.xml b/half-sync-half-async/pom.xml index 3e86d3a173b2..fdb37edb0106 100644 --- a/half-sync-half-async/pom.xml +++ b/half-sync-half-async/pom.xml @@ -49,4 +49,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.halfsynchalfasync.App + + + + + + + + diff --git a/hexagonal/pom.xml b/hexagonal/pom.xml index 324b9c8b8bf6..4873d0ddb238 100644 --- a/hexagonal/pom.xml +++ b/hexagonal/pom.xml @@ -48,4 +48,23 @@ mongo-java-driver + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.hexagonal.App + + + + + + + + diff --git a/intercepting-filter/pom.xml b/intercepting-filter/pom.xml index acc9f2268cfb..ea8597374576 100644 --- a/intercepting-filter/pom.xml +++ b/intercepting-filter/pom.xml @@ -49,4 +49,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.intercepting.filter.App + + + + + + + + diff --git a/interpreter/pom.xml b/interpreter/pom.xml index 1789069f757a..118cfcdf645e 100644 --- a/interpreter/pom.xml +++ b/interpreter/pom.xml @@ -44,4 +44,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.interpreter.App + + + + + + + + diff --git a/iterator/pom.xml b/iterator/pom.xml index a1f1b29100ec..514cedbea90e 100644 --- a/iterator/pom.xml +++ b/iterator/pom.xml @@ -44,4 +44,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.iterator.App + + + + + + + + diff --git a/layers/pom.xml b/layers/pom.xml index 0627fdf9b103..2ebace18b4f1 100644 --- a/layers/pom.xml +++ b/layers/pom.xml @@ -66,4 +66,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.layers.app.App + + + + + + + + diff --git a/lazy-loading/pom.xml b/lazy-loading/pom.xml index c0245aac018a..a6a5d3a4510a 100644 --- a/lazy-loading/pom.xml +++ b/lazy-loading/pom.xml @@ -39,4 +39,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.lazy.loading.App + + + + + + + + diff --git a/leader-election/pom.xml b/leader-election/pom.xml index 9e94ce32f241..8fc833f18072 100644 --- a/leader-election/pom.xml +++ b/leader-election/pom.xml @@ -40,4 +40,36 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + bully + + + + com.iluwatar.leaderelection.bully.BullyApp + + + ${project.artifactId}-Bully + + + + ring + + + + com.iluwatar.leaderelection.ring.RingApp + + + ${project.artifactId}-Ring + + + + + + \ No newline at end of file diff --git a/marker/pom.xml b/marker/pom.xml index fa794b5959da..5212832d8476 100644 --- a/marker/pom.xml +++ b/marker/pom.xml @@ -47,6 +47,23 @@ test - - + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + App + + + + + + + + diff --git a/master-worker-pattern/pom.xml b/master-worker-pattern/pom.xml index 7ace130d8a9e..9924d6a5a5f0 100644 --- a/master-worker-pattern/pom.xml +++ b/master-worker-pattern/pom.xml @@ -37,4 +37,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.masterworker.App + + + + + + + + diff --git a/mediator/pom.xml b/mediator/pom.xml index 2c0bfd4135b6..23d28726bdc5 100644 --- a/mediator/pom.xml +++ b/mediator/pom.xml @@ -49,4 +49,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.mediator.App + + + + + + + + diff --git a/memento/pom.xml b/memento/pom.xml index 07e4f0b839e5..70121cea3e56 100644 --- a/memento/pom.xml +++ b/memento/pom.xml @@ -39,4 +39,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.memento.App + + + + + + + + diff --git a/model-view-controller/pom.xml b/model-view-controller/pom.xml index 4759bf2d3158..a8ef230e85d6 100644 --- a/model-view-controller/pom.xml +++ b/model-view-controller/pom.xml @@ -44,4 +44,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.model.view.controller.App + + + + + + + + diff --git a/model-view-presenter/pom.xml b/model-view-presenter/pom.xml index 21ba3f14c56d..97b47f82c361 100644 --- a/model-view-presenter/pom.xml +++ b/model-view-presenter/pom.xml @@ -46,4 +46,23 @@ 1.0.2 + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.model.view.presenter.App + + + + + + + + diff --git a/module/pom.xml b/module/pom.xml index d30353070a15..25ad707ebc20 100644 --- a/module/pom.xml +++ b/module/pom.xml @@ -38,4 +38,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.module.App + + + + + + + + diff --git a/monad/pom.xml b/monad/pom.xml index 868cc871059b..f553c3079767 100644 --- a/monad/pom.xml +++ b/monad/pom.xml @@ -39,5 +39,24 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.monostate.App + + + + + + + + diff --git a/multiton/pom.xml b/multiton/pom.xml index 39deb9e4dcbe..ef1e9c8921a9 100644 --- a/multiton/pom.xml +++ b/multiton/pom.xml @@ -39,4 +39,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.multiton.App + + + + + + + + diff --git a/mute-idiom/pom.xml b/mute-idiom/pom.xml index 91f5063a7a0e..a32f6a3ea2fa 100644 --- a/mute-idiom/pom.xml +++ b/mute-idiom/pom.xml @@ -40,4 +40,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.mute.App + + + + + + + + diff --git a/mutex/pom.xml b/mutex/pom.xml index c1cad3d8aae4..9cdff25e42e2 100644 --- a/mutex/pom.xml +++ b/mutex/pom.xml @@ -39,4 +39,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.mutex.App + + + + + + + + diff --git a/null-object/pom.xml b/null-object/pom.xml index d80b97d95734..7b88fca790a5 100644 --- a/null-object/pom.xml +++ b/null-object/pom.xml @@ -39,4 +39,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.nullobject.App + + + + + + + + diff --git a/object-pool/pom.xml b/object-pool/pom.xml index fdd247476d12..2adad8942c92 100644 --- a/object-pool/pom.xml +++ b/object-pool/pom.xml @@ -39,4 +39,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.object.pool.App + + + + + + + + diff --git a/observer/pom.xml b/observer/pom.xml index fc8a53eae564..1e48268d885d 100644 --- a/observer/pom.xml +++ b/observer/pom.xml @@ -49,4 +49,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.observer.App + + + + + + + + diff --git a/page-object/pom.xml b/page-object/pom.xml index 99c67dbc5f38..cd704c1b8de9 100644 --- a/page-object/pom.xml +++ b/page-object/pom.xml @@ -37,4 +37,23 @@ sample-application test-automation + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.pageobject.App + + + + + + + + \ No newline at end of file diff --git a/partial-response/pom.xml b/partial-response/pom.xml index 6bca7007329d..83d81bf828f1 100644 --- a/partial-response/pom.xml +++ b/partial-response/pom.xml @@ -49,6 +49,23 @@ mockito-core - - + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.partialresponse.App + + + + + + + + \ No newline at end of file diff --git a/pipeline/pom.xml b/pipeline/pom.xml index e7d879d4a5ce..8c511cd8aff5 100644 --- a/pipeline/pom.xml +++ b/pipeline/pom.xml @@ -44,4 +44,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.pipeline.App + + + + + + + + diff --git a/poison-pill/pom.xml b/poison-pill/pom.xml index b751fad04837..4989581d7b97 100644 --- a/poison-pill/pom.xml +++ b/poison-pill/pom.xml @@ -44,4 +44,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.poison.pill.App + + + + + + + + diff --git a/priority-queue/pom.xml b/priority-queue/pom.xml index 3ba564b55583..7f435f489883 100644 --- a/priority-queue/pom.xml +++ b/priority-queue/pom.xml @@ -41,5 +41,23 @@ test - + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.priority.queue.Application + + + + + + + + \ No newline at end of file diff --git a/private-class-data/pom.xml b/private-class-data/pom.xml index ecc2933d9ef7..cb81ca3fc9e1 100644 --- a/private-class-data/pom.xml +++ b/private-class-data/pom.xml @@ -44,4 +44,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.privateclassdata.App + + + + + + + + diff --git a/producer-consumer/pom.xml b/producer-consumer/pom.xml index 479bd321aed2..ab1872c51562 100644 --- a/producer-consumer/pom.xml +++ b/producer-consumer/pom.xml @@ -44,4 +44,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.producer.consumer.App + + + + + + + + diff --git a/promise/pom.xml b/promise/pom.xml index 369e95748a87..4a9d76df1c84 100644 --- a/promise/pom.xml +++ b/promise/pom.xml @@ -44,4 +44,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.promise.App + + + + + + + + diff --git a/property/pom.xml b/property/pom.xml index 4e1a16a0d9f4..d271af036b47 100644 --- a/property/pom.xml +++ b/property/pom.xml @@ -39,4 +39,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.property.App + + + + + + + + diff --git a/prototype/pom.xml b/prototype/pom.xml index 7a8a685cc260..e68b11892ef2 100644 --- a/prototype/pom.xml +++ b/prototype/pom.xml @@ -49,4 +49,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.prototype.App + + + + + + + + diff --git a/proxy/pom.xml b/proxy/pom.xml index e08c6ad87b51..f54c77dcf137 100644 --- a/proxy/pom.xml +++ b/proxy/pom.xml @@ -44,4 +44,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.proxy.App + + + + + + + + diff --git a/queue-load-leveling/pom.xml b/queue-load-leveling/pom.xml index b77466934933..ee6e6c623288 100644 --- a/queue-load-leveling/pom.xml +++ b/queue-load-leveling/pom.xml @@ -39,4 +39,23 @@ test + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.queue.load.leveling.App + + + + + + + + From f835d3d516e833092da091567310933952367de4 Mon Sep 17 00:00:00 2001 From: Anurag Agarwal Date: Fri, 20 Dec 2019 10:41:30 +0530 Subject: [PATCH 2/3] Java 11 migrate remaining (g,h,i) (#1116) * Moves game-loop to Java 11 * Moves guarded-suspension to Java 11 * Moves half-sync-half-async to Java 11 * Moves hexagonal to Java 11 * Moves intercepting-filter to Java 11 * Moves interpreter to Java 11 * Moves iterator to Java 11 --- .../java/com/iluwatar/gameloop/GameLoop.java | 4 +- .../java/com/iluwatar/gameloop/AppTest.java | 3 +- .../com/iluwatar/gameloop/GameLoopTest.java | 2 +- .../com/iluwatar/guarded/suspension/App.java | 15 +--- .../guarded/suspension/GuardedQueueTest.java | 12 ++- .../com/iluwatar/halfsynchalfasync/App.java | 2 +- .../iluwatar/halfsynchalfasync/AppTest.java | 4 - .../AsynchronousServiceTest.java | 12 +-- .../main/java/com/iluwatar/hexagonal/App.java | 7 +- .../administration/ConsoleAdministration.java | 16 ++-- .../ConsoleAdministrationSrvImpl.java | 2 +- .../iluwatar/hexagonal/banking/MongoBank.java | 28 +++---- .../database/InMemoryTicketRepository.java | 9 +-- .../database/MongoTicketRepository.java | 56 ++++++------- .../domain/LotteryAdministration.java | 31 +++---- .../hexagonal/domain/LotteryNumbers.java | 19 ++--- .../hexagonal/domain/LotteryService.java | 14 ++-- .../hexagonal/domain/LotteryTicket.java | 15 ++-- .../domain/LotteryTicketCheckResult.java | 6 +- .../hexagonal/domain/LotteryTicketId.java | 3 +- .../hexagonal/domain/LotteryUtils.java | 3 +- .../hexagonal/domain/PlayerDetails.java | 15 ++-- .../hexagonal/eventlog/MongoEventLog.java | 10 +-- .../hexagonal/eventlog/StdOutEventLog.java | 10 +-- .../MongoConnectionPropertiesLoader.java | 10 +-- .../hexagonal/sampledata/SampleData.java | 24 +++--- .../hexagonal/service/ConsoleLottery.java | 13 ++- .../service/LotteryConsoleServiceImpl.java | 59 ++++++-------- .../java/com/iluwatar/hexagonal/AppTest.java | 3 +- .../hexagonal/banking/InMemoryBankTest.java | 8 +- .../hexagonal/banking/MongoBankTest.java | 6 +- .../InMemoryTicketRepositoryTest.java | 22 ++--- .../database/MongoTicketRepositoryTest.java | 22 +++-- .../hexagonal/domain/LotteryNumbersTest.java | 30 +++---- .../hexagonal/domain/LotteryTest.java | 39 +++++---- .../domain/LotteryTicketCheckResultTest.java | 16 ++-- .../hexagonal/domain/LotteryTicketIdTest.java | 12 +-- .../hexagonal/domain/LotteryTicketTest.java | 25 +++--- .../hexagonal/domain/PlayerDetailsTest.java | 14 ++-- .../hexagonal/eventlog/MongoEventLogTest.java | 8 +- .../hexagonal/test/LotteryTestUtils.java | 11 +-- .../intercepting/filter/AddressFilter.java | 2 +- .../com/iluwatar/intercepting/filter/App.java | 4 +- .../iluwatar/intercepting/filter/Client.java | 35 ++++---- .../intercepting/filter/ContactFilter.java | 9 ++- .../intercepting/filter/DepositFilter.java | 5 +- .../intercepting/filter/NameFilter.java | 6 +- .../intercepting/filter/OrderFilter.java | 5 +- .../iluwatar/intercepting/filter/Target.java | 22 +++-- .../iluwatar/intercepting/filter/AppTest.java | 5 +- .../filter/FilterManagerTest.java | 14 ++-- .../intercepting/filter/FilterTest.java | 80 +++++++++---------- .../intercepting/filter/OrderTest.java | 14 ++-- .../java/com/iluwatar/interpreter/App.java | 20 ++--- .../com/iluwatar/interpreter/AppTest.java | 5 +- .../iluwatar/interpreter/ExpressionTest.java | 34 ++++---- .../interpreter/MinusExpressionTest.java | 3 +- .../interpreter/MultiplyExpressionTest.java | 4 +- .../interpreter/NumberExpressionTest.java | 13 ++- .../interpreter/PlusExpressionTest.java | 5 +- .../main/java/com/iluwatar/iterator/App.java | 9 +-- .../iluwatar/iterator/bst/BstIterator.java | 2 +- .../java/com/iluwatar/iterator/bst/README.md | 2 +- .../com/iluwatar/iterator/bst/TreeNode.java | 4 +- .../list/TreasureChestItemIterator.java | 8 +- .../java/com/iluwatar/iterator/AppTest.java | 3 +- .../iterator/bst/BstIteratorTest.java | 13 ++- .../iterator/list/TreasureChestTest.java | 39 +++++---- 68 files changed, 453 insertions(+), 532 deletions(-) diff --git a/game-loop/src/main/java/com/iluwatar/gameloop/GameLoop.java b/game-loop/src/main/java/com/iluwatar/gameloop/GameLoop.java index 47410382203e..cbb456ccf5d5 100644 --- a/game-loop/src/main/java/com/iluwatar/gameloop/GameLoop.java +++ b/game-loop/src/main/java/com/iluwatar/gameloop/GameLoop.java @@ -70,7 +70,7 @@ public void stop() { * @return {@code true} if the game is running. */ public boolean isGameRunning() { - return status == GameStatus.RUNNING ? true : false; + return status == GameStatus.RUNNING; } /** @@ -80,7 +80,7 @@ public boolean isGameRunning() { */ protected void processInput() { try { - int lag = new Random().nextInt(200) + 50; + var lag = new Random().nextInt(200) + 50; Thread.sleep(lag); } catch (InterruptedException e) { logger.error(e.getMessage()); diff --git a/game-loop/src/test/java/com/iluwatar/gameloop/AppTest.java b/game-loop/src/test/java/com/iluwatar/gameloop/AppTest.java index 187fe1537c97..447e4f411faa 100644 --- a/game-loop/src/test/java/com/iluwatar/gameloop/AppTest.java +++ b/game-loop/src/test/java/com/iluwatar/gameloop/AppTest.java @@ -32,8 +32,7 @@ public class AppTest { @Test public void testMain() { - String[] args = {}; - new App().main(args); + new App().main(new String[]{}); } } diff --git a/game-loop/src/test/java/com/iluwatar/gameloop/GameLoopTest.java b/game-loop/src/test/java/com/iluwatar/gameloop/GameLoopTest.java index 61e2a3bb6ce0..4873cfd47ff0 100644 --- a/game-loop/src/test/java/com/iluwatar/gameloop/GameLoopTest.java +++ b/game-loop/src/test/java/com/iluwatar/gameloop/GameLoopTest.java @@ -65,7 +65,7 @@ public void testStop() { @Test public void testIsGameRunning() { - Assert.assertEquals(false, gameLoop.isGameRunning()); + Assert.assertFalse(gameLoop.isGameRunning()); } } diff --git a/guarded-suspension/src/main/java/com/iluwatar/guarded/suspension/App.java b/guarded-suspension/src/main/java/com/iluwatar/guarded/suspension/App.java index 7c9bc1429c4b..7e300575d2f3 100644 --- a/guarded-suspension/src/main/java/com/iluwatar/guarded/suspension/App.java +++ b/guarded-suspension/src/main/java/com/iluwatar/guarded/suspension/App.java @@ -23,7 +23,6 @@ package com.iluwatar.guarded.suspension; -import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; @@ -45,14 +44,11 @@ public class App { * @param args - command line args */ public static void main(String[] args) { - GuardedQueue guardedQueue = new GuardedQueue(); - ExecutorService executorService = Executors.newFixedThreadPool(3); + var guardedQueue = new GuardedQueue(); + var executorService = Executors.newFixedThreadPool(3); //here we create first thread which is supposed to get from guardedQueue - executorService.execute(() -> { - guardedQueue.get(); - } - ); + executorService.execute(guardedQueue::get); // here we wait two seconds to show that the thread which is trying // to get from guardedQueue will be waiting @@ -63,10 +59,7 @@ public static void main(String[] args) { } // now we execute second thread which will put number to guardedQueue // and notify first thread that it could get - executorService.execute(() -> { - guardedQueue.put(20); - } - ); + executorService.execute(() -> guardedQueue.put(20)); executorService.shutdown(); try { executorService.awaitTermination(30, TimeUnit.SECONDS); diff --git a/guarded-suspension/src/test/java/com/iluwatar/guarded/suspension/GuardedQueueTest.java b/guarded-suspension/src/test/java/com/iluwatar/guarded/suspension/GuardedQueueTest.java index 0cd3588222ba..38d451ced9e3 100644 --- a/guarded-suspension/src/test/java/com/iluwatar/guarded/suspension/GuardedQueueTest.java +++ b/guarded-suspension/src/test/java/com/iluwatar/guarded/suspension/GuardedQueueTest.java @@ -23,13 +23,11 @@ package com.iluwatar.guarded.suspension; -import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; -import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; - -import static org.junit.jupiter.api.Assertions.assertEquals; +import org.junit.jupiter.api.Test; /** * Test for Guarded Queue @@ -39,8 +37,8 @@ public class GuardedQueueTest { @Test public void testGet() { - GuardedQueue g = new GuardedQueue(); - ExecutorService executorService = Executors.newFixedThreadPool(2); + var g = new GuardedQueue(); + var executorService = Executors.newFixedThreadPool(2); executorService.submit(() -> value = g.get()); executorService.submit(() -> g.put(10)); executorService.shutdown(); @@ -54,7 +52,7 @@ public void testGet() { @Test public void testPut() { - GuardedQueue g = new GuardedQueue(); + var g = new GuardedQueue(); g.put(12); assertEquals(Integer.valueOf(12), g.get()); } diff --git a/half-sync-half-async/src/main/java/com/iluwatar/halfsynchalfasync/App.java b/half-sync-half-async/src/main/java/com/iluwatar/halfsynchalfasync/App.java index c559fca59411..7df2264ab135 100644 --- a/half-sync-half-async/src/main/java/com/iluwatar/halfsynchalfasync/App.java +++ b/half-sync-half-async/src/main/java/com/iluwatar/halfsynchalfasync/App.java @@ -70,7 +70,7 @@ public class App { * @param args command line args */ public static void main(String[] args) { - AsynchronousService service = new AsynchronousService(new LinkedBlockingQueue<>()); + var service = new AsynchronousService(new LinkedBlockingQueue<>()); /* * A new task to calculate sum is received but as this is main thread, it should not block. So * it passes it to the asynchronous task layer to compute and proceeds with handling other diff --git a/half-sync-half-async/src/test/java/com/iluwatar/halfsynchalfasync/AppTest.java b/half-sync-half-async/src/test/java/com/iluwatar/halfsynchalfasync/AppTest.java index d0526085afb6..b3cf4839b14f 100644 --- a/half-sync-half-async/src/test/java/com/iluwatar/halfsynchalfasync/AppTest.java +++ b/half-sync-half-async/src/test/java/com/iluwatar/halfsynchalfasync/AppTest.java @@ -25,12 +25,8 @@ import org.junit.jupiter.api.Test; -import java.util.concurrent.ExecutionException; - /** - * * Application test - * */ public class AppTest { diff --git a/half-sync-half-async/src/test/java/com/iluwatar/halfsynchalfasync/AsynchronousServiceTest.java b/half-sync-half-async/src/test/java/com/iluwatar/halfsynchalfasync/AsynchronousServiceTest.java index f8974bf1c327..91f9f9e2d44a 100644 --- a/half-sync-half-async/src/test/java/com/iluwatar/halfsynchalfasync/AsynchronousServiceTest.java +++ b/half-sync-half-async/src/test/java/com/iluwatar/halfsynchalfasync/AsynchronousServiceTest.java @@ -57,13 +57,13 @@ public void setUp() { @Test public void testPerfectExecution() throws Exception { - final Object result = new Object(); + final var result = new Object(); when(task.call()).thenReturn(result); service.execute(task); verify(task, timeout(2000)).onPostCall(eq(result)); - final InOrder inOrder = inOrder(task); + final var inOrder = inOrder(task); inOrder.verify(task, times(1)).onPreCall(); inOrder.verify(task, times(1)).call(); inOrder.verify(task, times(1)).onPostCall(eq(result)); @@ -73,13 +73,13 @@ public void testPerfectExecution() throws Exception { @Test public void testCallException() throws Exception { - final IOException exception = new IOException(); + final var exception = new IOException(); when(task.call()).thenThrow(exception); service.execute(task); verify(task, timeout(2000)).onError(eq(exception)); - final InOrder inOrder = inOrder(task); + final var inOrder = inOrder(task); inOrder.verify(task, times(1)).onPreCall(); inOrder.verify(task, times(1)).call(); inOrder.verify(task, times(1)).onError(exception); @@ -89,13 +89,13 @@ public void testCallException() throws Exception { @Test public void testPreCallException() { - final IllegalStateException exception = new IllegalStateException(); + final var exception = new IllegalStateException(); doThrow(exception).when(task).onPreCall(); service.execute(task); verify(task, timeout(2000)).onError(eq(exception)); - final InOrder inOrder = inOrder(task); + final var inOrder = inOrder(task); inOrder.verify(task, times(1)).onPreCall(); inOrder.verify(task, times(1)).onError(exception); diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/App.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/App.java index 4255b3359283..1733ea2ea9f6 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/App.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/App.java @@ -24,7 +24,6 @@ package com.iluwatar.hexagonal; import com.google.inject.Guice; -import com.google.inject.Injector; import com.iluwatar.hexagonal.domain.LotteryAdministration; import com.iluwatar.hexagonal.domain.LotteryService; import com.iluwatar.hexagonal.module.LotteryTestingModule; @@ -63,14 +62,14 @@ public class App { */ public static void main(String[] args) { - Injector injector = Guice.createInjector(new LotteryTestingModule()); + var injector = Guice.createInjector(new LotteryTestingModule()); // start new lottery round - LotteryAdministration administration = injector.getInstance(LotteryAdministration.class); + var administration = injector.getInstance(LotteryAdministration.class); administration.resetLottery(); // submit some lottery tickets - LotteryService service = injector.getInstance(LotteryService.class); + var service = injector.getInstance(LotteryService.class); SampleData.submitTickets(service, 20); // perform lottery diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/administration/ConsoleAdministration.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/administration/ConsoleAdministration.java index ca61b7649c5b..4a62d2d906d9 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/administration/ConsoleAdministration.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/administration/ConsoleAdministration.java @@ -24,7 +24,6 @@ package com.iluwatar.hexagonal.administration; import com.google.inject.Guice; -import com.google.inject.Injector; import com.iluwatar.hexagonal.domain.LotteryAdministration; import com.iluwatar.hexagonal.domain.LotteryService; import com.iluwatar.hexagonal.module.LotteryModule; @@ -46,17 +45,16 @@ public class ConsoleAdministration { */ public static void main(String[] args) { MongoConnectionPropertiesLoader.load(); - Injector injector = Guice.createInjector(new LotteryModule()); - LotteryAdministration administration = injector.getInstance(LotteryAdministration.class); - LotteryService service = injector.getInstance(LotteryService.class); + var injector = Guice.createInjector(new LotteryModule()); + var administration = injector.getInstance(LotteryAdministration.class); + var service = injector.getInstance(LotteryService.class); SampleData.submitTickets(service, 20); - ConsoleAdministrationSrv consoleAdministration = - new ConsoleAdministrationSrvImpl(administration, LOGGER); - try (Scanner scanner = new Scanner(System.in)) { - boolean exit = false; + var consoleAdministration = new ConsoleAdministrationSrvImpl(administration, LOGGER); + try (var scanner = new Scanner(System.in)) { + var exit = false; while (!exit) { printMainMenu(); - String cmd = readString(scanner); + var cmd = readString(scanner); if ("1".equals(cmd)) { consoleAdministration.getAllSubmittedTickets(); } else if ("2".equals(cmd)) { diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/administration/ConsoleAdministrationSrvImpl.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/administration/ConsoleAdministrationSrvImpl.java index fbd00aa1f829..7de34ca15217 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/administration/ConsoleAdministrationSrvImpl.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/administration/ConsoleAdministrationSrvImpl.java @@ -50,7 +50,7 @@ public void getAllSubmittedTickets() { @Override public void performLottery() { - LotteryNumbers numbers = administration.performLottery(); + var numbers = administration.performLottery(); logger.info("The winning numbers: {}", numbers.getNumbersAsString()); logger.info("Time to reset the database for next round, eh?"); } diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/banking/MongoBank.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/banking/MongoBank.java index e1c720c115e5..b34da3e17bd5 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/banking/MongoBank.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/banking/MongoBank.java @@ -28,7 +28,6 @@ import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.UpdateOptions; import java.util.ArrayList; -import java.util.List; import org.bson.Document; /** @@ -107,30 +106,31 @@ public MongoCollection getAccountsCollection() { @Override public void setFunds(String bankAccount, int amount) { - Document search = new Document("_id", bankAccount); - Document update = new Document("_id", bankAccount).append("funds", amount); - accountsCollection - .updateOne(search, new Document("$set", update), new UpdateOptions().upsert(true)); + var search = new Document("_id", bankAccount); + var update = new Document("_id", bankAccount).append("funds", amount); + var updateOptions = new UpdateOptions().upsert(true); + accountsCollection.updateOne(search, new Document("$set", update), updateOptions); } @Override public int getFunds(String bankAccount) { - Document search = new Document("_id", bankAccount); - List results = accountsCollection.find(search).limit(1).into(new ArrayList<>()); - if (results.size() > 0) { - return results.get(0).getInteger("funds"); - } else { - return 0; - } + return accountsCollection + .find(new Document("_id", bankAccount)) + .limit(1) + .into(new ArrayList<>()) + .stream() + .findFirst() + .map(x -> x.getInteger("funds")) + .orElse(0); } @Override public boolean transferFunds(int amount, String sourceAccount, String destinationAccount) { - int sourceFunds = getFunds(sourceAccount); + var sourceFunds = getFunds(sourceAccount); if (sourceFunds < amount) { return false; } else { - int destFunds = getFunds(destinationAccount); + var destFunds = getFunds(destinationAccount); setFunds(sourceAccount, sourceFunds - amount); setFunds(destinationAccount, destFunds + amount); return true; diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/database/InMemoryTicketRepository.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/database/InMemoryTicketRepository.java index a580a7cf51bb..973747acc7fa 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/database/InMemoryTicketRepository.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/database/InMemoryTicketRepository.java @@ -38,17 +38,12 @@ public class InMemoryTicketRepository implements LotteryTicketRepository { @Override public Optional findById(LotteryTicketId id) { - LotteryTicket ticket = tickets.get(id); - if (ticket == null) { - return Optional.empty(); - } else { - return Optional.of(ticket); - } + return Optional.ofNullable(tickets.get(id)); } @Override public Optional save(LotteryTicket ticket) { - LotteryTicketId id = new LotteryTicketId(); + var id = new LotteryTicketId(); tickets.put(id, ticket); return Optional.of(id); } diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/database/MongoTicketRepository.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/database/MongoTicketRepository.java index 794cd363fdb6..96ab74ba36bf 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/database/MongoTicketRepository.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/database/MongoTicketRepository.java @@ -32,11 +32,9 @@ import com.mongodb.client.MongoDatabase; import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.Set; +import java.util.function.Function; import java.util.stream.Collectors; import org.bson.Document; @@ -95,7 +93,7 @@ public void connect(String dbName, String ticketsCollectionName, } private void initCounters() { - Document doc = new Document("_id", "ticketId").append("seq", 1); + var doc = new Document("_id", "ticketId").append("seq", 1); countersCollection.insertOne(doc); } @@ -105,10 +103,10 @@ private void initCounters() { * @return next ticket id */ public int getNextId() { - Document find = new Document("_id", "ticketId"); - Document increase = new Document("seq", 1); - Document update = new Document("$inc", increase); - Document result = countersCollection.findOneAndUpdate(find, update); + var find = new Document("_id", "ticketId"); + var increase = new Document("seq", 1); + var update = new Document("$inc", increase); + var result = countersCollection.findOneAndUpdate(find, update); return result.getInteger("seq"); } @@ -132,20 +130,19 @@ public MongoCollection getCountersCollection() { @Override public Optional findById(LotteryTicketId id) { - Document find = new Document("ticketId", id.getId()); - List results = ticketsCollection.find(find).limit(1).into(new ArrayList<>()); - if (results.size() > 0) { - LotteryTicket lotteryTicket = docToTicket(results.get(0)); - return Optional.of(lotteryTicket); - } else { - return Optional.empty(); - } + return ticketsCollection + .find(new Document("ticketId", id.getId())) + .limit(1) + .into(new ArrayList<>()) + .stream() + .findFirst() + .map(this::docToTicket); } @Override public Optional save(LotteryTicket ticket) { - int ticketId = getNextId(); - Document doc = new Document("ticketId", ticketId); + var ticketId = getNextId(); + var doc = new Document("ticketId", ticketId); doc.put("email", ticket.getPlayerDetails().getEmail()); doc.put("bank", ticket.getPlayerDetails().getBankAccount()); doc.put("phone", ticket.getPlayerDetails().getPhoneNumber()); @@ -156,13 +153,12 @@ public Optional save(LotteryTicket ticket) { @Override public Map findAll() { - Map map = new HashMap<>(); - List docs = ticketsCollection.find(new Document()).into(new ArrayList<>()); - for (Document doc : docs) { - LotteryTicket lotteryTicket = docToTicket(doc); - map.put(lotteryTicket.getId(), lotteryTicket); - } - return map; + return ticketsCollection + .find(new Document()) + .into(new ArrayList<>()) + .stream() + .map(this::docToTicket) + .collect(Collectors.toMap(LotteryTicket::getId, Function.identity())); } @Override @@ -171,13 +167,13 @@ public void deleteAll() { } private LotteryTicket docToTicket(Document doc) { - PlayerDetails playerDetails = new PlayerDetails(doc.getString("email"), doc.getString("bank"), + var playerDetails = new PlayerDetails(doc.getString("email"), doc.getString("bank"), doc.getString("phone")); - Set numbers = Arrays.stream(doc.getString("numbers").split(",")) + var numbers = Arrays.stream(doc.getString("numbers").split(",")) .map(Integer::parseInt) .collect(Collectors.toSet()); - LotteryNumbers lotteryNumbers = LotteryNumbers.create(numbers); - return new LotteryTicket(new LotteryTicketId(doc - .getInteger("ticketId")), playerDetails, lotteryNumbers); + var lotteryNumbers = LotteryNumbers.create(numbers); + var ticketId = new LotteryTicketId(doc.getInteger("ticketId")); + return new LotteryTicket(ticketId, playerDetails, lotteryNumbers); } } diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryAdministration.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryAdministration.java index b9ebff446899..b174a4372433 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryAdministration.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryAdministration.java @@ -23,6 +23,9 @@ package com.iluwatar.hexagonal.domain; +import static com.iluwatar.hexagonal.domain.LotteryConstants.PRIZE_AMOUNT; +import static com.iluwatar.hexagonal.domain.LotteryConstants.SERVICE_BANK_ACCOUNT; + import com.google.inject.Inject; import com.iluwatar.hexagonal.banking.WireTransfers; import com.iluwatar.hexagonal.database.LotteryTicketRepository; @@ -60,23 +63,21 @@ public Map getAllSubmittedTickets() { * Draw lottery numbers. */ public LotteryNumbers performLottery() { - LotteryNumbers numbers = LotteryNumbers.createRandom(); - Map tickets = getAllSubmittedTickets(); - for (LotteryTicketId id : tickets.keySet()) { - LotteryTicketCheckResult result = LotteryUtils.checkTicketForPrize(repository, id, numbers); - if (result.getResult().equals(LotteryTicketCheckResult.CheckResult.WIN_PRIZE)) { - boolean transferred = wireTransfers.transferFunds(LotteryConstants.PRIZE_AMOUNT, - LotteryConstants.SERVICE_BANK_ACCOUNT, tickets.get(id).getPlayerDetails() - .getBankAccount()); - if (transferred) { - notifications - .ticketWon(tickets.get(id).getPlayerDetails(), LotteryConstants.PRIZE_AMOUNT); + var numbers = LotteryNumbers.createRandom(); + var tickets = getAllSubmittedTickets(); + for (var id : tickets.keySet()) { + var lotteryTicket = tickets.get(id); + var playerDetails = lotteryTicket.getPlayerDetails(); + var playerAccount = playerDetails.getBankAccount(); + var result = LotteryUtils.checkTicketForPrize(repository, id, numbers).getResult(); + if (result == LotteryTicketCheckResult.CheckResult.WIN_PRIZE) { + if (wireTransfers.transferFunds(PRIZE_AMOUNT, SERVICE_BANK_ACCOUNT, playerAccount)) { + notifications.ticketWon(playerDetails, PRIZE_AMOUNT); } else { - notifications - .prizeError(tickets.get(id).getPlayerDetails(), LotteryConstants.PRIZE_AMOUNT); + notifications.prizeError(playerDetails, PRIZE_AMOUNT); } - } else if (result.getResult().equals(LotteryTicketCheckResult.CheckResult.NO_PRIZE)) { - notifications.ticketDidNotWin(tickets.get(id).getPlayerDetails()); + } else if (result == LotteryTicketCheckResult.CheckResult.NO_PRIZE) { + notifications.ticketDidNotWin(playerDetails); } } return numbers; diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryNumbers.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryNumbers.java index 9dc00ec7695b..8988bba88add 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryNumbers.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryNumbers.java @@ -99,9 +99,9 @@ public String getNumbersAsString() { */ private void generateRandomNumbers() { numbers.clear(); - RandomNumberGenerator generator = new RandomNumberGenerator(MIN_NUMBER, MAX_NUMBER); + var generator = new RandomNumberGenerator(MIN_NUMBER, MAX_NUMBER); while (numbers.size() < NUM_NUMBERS) { - int num = generator.nextInt(); + var num = generator.nextInt(); numbers.add(num); } } @@ -141,8 +141,8 @@ public int nextInt() { @Override public int hashCode() { - final int prime = 31; - int result = 1; + final var prime = 31; + var result = 1; result = prime * result + ((numbers == null) ? 0 : numbers.hashCode()); return result; } @@ -158,14 +158,11 @@ public boolean equals(Object obj) { if (getClass() != obj.getClass()) { return false; } - LotteryNumbers other = (LotteryNumbers) obj; + var other = (LotteryNumbers) obj; if (numbers == null) { - if (other.numbers != null) { - return false; - } - } else if (!numbers.equals(other.numbers)) { - return false; + return other.numbers == null; + } else { + return numbers.equals(other.numbers); } - return true; } } diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryService.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryService.java index 212671d77740..cfd04c45f228 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryService.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryService.java @@ -23,6 +23,9 @@ package com.iluwatar.hexagonal.domain; +import static com.iluwatar.hexagonal.domain.LotteryConstants.SERVICE_BANK_ACCOUNT; +import static com.iluwatar.hexagonal.domain.LotteryConstants.TICKET_PRIZE; + import com.google.inject.Inject; import com.iluwatar.hexagonal.banking.WireTransfers; import com.iluwatar.hexagonal.database.LotteryTicketRepository; @@ -53,15 +56,16 @@ public LotteryService(LotteryTicketRepository repository, LotteryEventLog notifi * Submit lottery ticket to participate in the lottery. */ public Optional submitTicket(LotteryTicket ticket) { - boolean result = wireTransfers.transferFunds(LotteryConstants.TICKET_PRIZE, - ticket.getPlayerDetails().getBankAccount(), LotteryConstants.SERVICE_BANK_ACCOUNT); + var playerDetails = ticket.getPlayerDetails(); + var playerAccount = playerDetails.getBankAccount(); + var result = wireTransfers.transferFunds(TICKET_PRIZE, playerAccount, SERVICE_BANK_ACCOUNT); if (!result) { - notifications.ticketSubmitError(ticket.getPlayerDetails()); + notifications.ticketSubmitError(playerDetails); return Optional.empty(); } - Optional optional = repository.save(ticket); + var optional = repository.save(ticket); if (optional.isPresent()) { - notifications.ticketSubmitted(ticket.getPlayerDetails()); + notifications.ticketSubmitted(playerDetails); } return optional; } diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicket.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicket.java index 91c041273fbf..86a5a54878b4 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicket.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicket.java @@ -82,8 +82,8 @@ public String toString() { @Override public int hashCode() { - final int prime = 31; - int result = 1; + final var prime = 31; + var result = 1; result = prime * result + ((lotteryNumbers == null) ? 0 : lotteryNumbers.hashCode()); result = prime * result + ((playerDetails == null) ? 0 : playerDetails.hashCode()); return result; @@ -100,7 +100,7 @@ public boolean equals(Object obj) { if (getClass() != obj.getClass()) { return false; } - LotteryTicket other = (LotteryTicket) obj; + var other = (LotteryTicket) obj; if (lotteryNumbers == null) { if (other.lotteryNumbers != null) { return false; @@ -109,12 +109,9 @@ public boolean equals(Object obj) { return false; } if (playerDetails == null) { - if (other.playerDetails != null) { - return false; - } - } else if (!playerDetails.equals(other.playerDetails)) { - return false; + return other.playerDetails == null; + } else { + return playerDetails.equals(other.playerDetails); } - return true; } } diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicketCheckResult.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicketCheckResult.java index c7f07c1df960..640300b62de0 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicketCheckResult.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicketCheckResult.java @@ -76,8 +76,8 @@ public int getPrizeAmount() { @Override public int hashCode() { - final int prime = 31; - int result = 1; + final var prime = 31; + var result = 1; result = prime * result + ((checkResult == null) ? 0 : checkResult.hashCode()); result = prime * result + prizeAmount; return result; @@ -94,7 +94,7 @@ public boolean equals(Object obj) { if (getClass() != obj.getClass()) { return false; } - LotteryTicketCheckResult other = (LotteryTicketCheckResult) obj; + var other = (LotteryTicketCheckResult) obj; return checkResult == other.checkResult && prizeAmount == other.prizeAmount; } } diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicketId.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicketId.java index d4c036ece127..dfa3244498f8 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicketId.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicketId.java @@ -59,10 +59,9 @@ public boolean equals(Object o) { return false; } - LotteryTicketId that = (LotteryTicketId) o; + var that = (LotteryTicketId) o; return id == that.id; - } @Override diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryUtils.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryUtils.java index 84f9af9e8b3c..ce7cc8aefead 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryUtils.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryUtils.java @@ -25,7 +25,6 @@ import com.iluwatar.hexagonal.database.LotteryTicketRepository; import com.iluwatar.hexagonal.domain.LotteryTicketCheckResult.CheckResult; -import java.util.Optional; /** * Lottery utilities. @@ -43,7 +42,7 @@ public static LotteryTicketCheckResult checkTicketForPrize( LotteryTicketId id, LotteryNumbers winningNumbers ) { - Optional optional = repository.findById(id); + var optional = repository.findById(id); if (optional.isPresent()) { if (optional.get().getNumbers().equals(winningNumbers)) { return new LotteryTicketCheckResult(CheckResult.WIN_PRIZE, 1000); diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/PlayerDetails.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/PlayerDetails.java index f2c09744c178..70a2aa452176 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/PlayerDetails.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/PlayerDetails.java @@ -77,8 +77,8 @@ public String toString() { @Override public int hashCode() { - final int prime = 31; - int result = 1; + final var prime = 31; + var result = 1; result = prime * result + ((bankAccountNumber == null) ? 0 : bankAccountNumber.hashCode()); result = prime * result + ((emailAddress == null) ? 0 : emailAddress.hashCode()); result = prime * result + ((phoneNumber == null) ? 0 : phoneNumber.hashCode()); @@ -96,7 +96,7 @@ public boolean equals(Object obj) { if (getClass() != obj.getClass()) { return false; } - PlayerDetails other = (PlayerDetails) obj; + var other = (PlayerDetails) obj; if (bankAccountNumber == null) { if (other.bankAccountNumber != null) { return false; @@ -112,12 +112,9 @@ public boolean equals(Object obj) { return false; } if (phoneNumber == null) { - if (other.phoneNumber != null) { - return false; - } - } else if (!phoneNumber.equals(other.phoneNumber)) { - return false; + return other.phoneNumber == null; + } else { + return phoneNumber.equals(other.phoneNumber); } - return true; } } diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/eventlog/MongoEventLog.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/eventlog/MongoEventLog.java index f979506e4e3f..ba46f2d9745d 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/eventlog/MongoEventLog.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/eventlog/MongoEventLog.java @@ -107,7 +107,7 @@ public MongoCollection getEventsCollection() { @Override public void ticketSubmitted(PlayerDetails details) { - Document document = new Document("email", details.getEmail()); + var document = new Document("email", details.getEmail()); document.put("phone", details.getPhoneNumber()); document.put("bank", details.getBankAccount()); document @@ -118,7 +118,7 @@ public void ticketSubmitted(PlayerDetails details) { @Override public void ticketSubmitError(PlayerDetails details) { - Document document = new Document("email", details.getEmail()); + var document = new Document("email", details.getEmail()); document.put("phone", details.getPhoneNumber()); document.put("bank", details.getBankAccount()); document.put("message", "Lottery ticket could not be submitted because lack of funds."); @@ -128,7 +128,7 @@ public void ticketSubmitError(PlayerDetails details) { @Override public void ticketDidNotWin(PlayerDetails details) { - Document document = new Document("email", details.getEmail()); + var document = new Document("email", details.getEmail()); document.put("phone", details.getPhoneNumber()); document.put("bank", details.getBankAccount()); document.put("message", "Lottery ticket was checked and unfortunately did not win this time."); @@ -138,7 +138,7 @@ public void ticketDidNotWin(PlayerDetails details) { @Override public void ticketWon(PlayerDetails details, int prizeAmount) { - Document document = new Document("email", details.getEmail()); + var document = new Document("email", details.getEmail()); document.put("phone", details.getPhoneNumber()); document.put("bank", details.getBankAccount()); document.put("message", String @@ -150,7 +150,7 @@ public void ticketWon(PlayerDetails details, int prizeAmount) { @Override public void prizeError(PlayerDetails details, int prizeAmount) { - Document document = new Document("email", details.getEmail()); + var document = new Document("email", details.getEmail()); document.put("phone", details.getPhoneNumber()); document.put("bank", details.getBankAccount()); document.put("message", String diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/eventlog/StdOutEventLog.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/eventlog/StdOutEventLog.java index 284fc4d1cccd..474ab980e9b8 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/eventlog/StdOutEventLog.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/eventlog/StdOutEventLog.java @@ -42,9 +42,8 @@ public void ticketSubmitted(PlayerDetails details) { @Override public void ticketDidNotWin(PlayerDetails details) { - LOGGER - .info("Lottery ticket for {} was checked and unfortunately did not win this time.", details - .getEmail()); + LOGGER.info("Lottery ticket for {} was checked and unfortunately did not win this time.", + details.getEmail()); } @Override @@ -55,9 +54,8 @@ public void ticketWon(PlayerDetails details, int prizeAmount) { @Override public void prizeError(PlayerDetails details, int prizeAmount) { - LOGGER - .error("Lottery ticket for {} has won! Unfortunately the bank credit transfer of" - + " {} failed.", details.getEmail(), prizeAmount); + LOGGER.error("Lottery ticket for {} has won! Unfortunately the bank credit transfer of" + + " {} failed.", details.getEmail(), prizeAmount); } @Override diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/mongo/MongoConnectionPropertiesLoader.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/mongo/MongoConnectionPropertiesLoader.java index 2d8463f7f50f..c5888cd8fbe7 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/mongo/MongoConnectionPropertiesLoader.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/mongo/MongoConnectionPropertiesLoader.java @@ -38,12 +38,12 @@ public class MongoConnectionPropertiesLoader { * Try to load connection properties from file. Fall back to default connection properties. */ public static void load() { - String host = DEFAULT_HOST; - int port = DEFAULT_PORT; - String path = System.getProperty("hexagonal.properties.path"); - Properties properties = new Properties(); + var host = DEFAULT_HOST; + var port = DEFAULT_PORT; + var path = System.getProperty("hexagonal.properties.path"); + var properties = new Properties(); if (path != null) { - try (FileInputStream fin = new FileInputStream(path)) { + try (var fin = new FileInputStream(path)) { properties.load(fin); host = properties.getProperty("mongo-host"); port = Integer.parseInt(properties.getProperty("mongo-port")); diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java index ccda4a2086c0..42e49713d497 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java @@ -30,8 +30,10 @@ import com.iluwatar.hexagonal.domain.LotteryTicket; import com.iluwatar.hexagonal.domain.LotteryTicketId; import com.iluwatar.hexagonal.domain.PlayerDetails; +import java.util.AbstractMap.SimpleEntry; import java.util.List; import java.util.Random; +import java.util.stream.Collectors; /** * Utilities for creating sample lottery tickets. @@ -83,26 +85,28 @@ public class SampleData { new PlayerDetails("xavier@google.com", "143-947", "+375245"), new PlayerDetails("harriet@google.com", "842-404", "+131243252") ); - InMemoryBank wireTransfers = new InMemoryBank(); - for (PlayerDetails player : PLAYERS) { - wireTransfers.setFunds(player.getBankAccount(), - RANDOM.nextInt(LotteryConstants.PLAYER_MAX_BALANCE)); - } + var wireTransfers = new InMemoryBank(); + PLAYERS.stream() + .map(PlayerDetails::getBankAccount) + .map(e -> new SimpleEntry<>(e, RANDOM.nextInt(LotteryConstants.PLAYER_MAX_BALANCE))) + .collect(Collectors.toMap(SimpleEntry::getKey, SimpleEntry::getValue)) + .forEach(wireTransfers::setFunds); } /** * Inserts lottery tickets into the database based on the sample data. */ public static void submitTickets(LotteryService lotteryService, int numTickets) { - for (int i = 0; i < numTickets; i++) { - LotteryTicket ticket = new LotteryTicket(new LotteryTicketId(), - getRandomPlayerDetails(), LotteryNumbers.createRandom()); + for (var i = 0; i < numTickets; i++) { + var randomPlayerDetails = getRandomPlayerDetails(); + var lotteryNumbers = LotteryNumbers.createRandom(); + var lotteryTicketId = new LotteryTicketId(); + var ticket = new LotteryTicket(lotteryTicketId, randomPlayerDetails, lotteryNumbers); lotteryService.submitTicket(ticket); } } private static PlayerDetails getRandomPlayerDetails() { - int idx = RANDOM.nextInt(PLAYERS.size()); - return PLAYERS.get(idx); + return PLAYERS.get(RANDOM.nextInt(PLAYERS.size())); } } diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/service/ConsoleLottery.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/service/ConsoleLottery.java index dccbf68ebf4b..d77204b92bd0 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/service/ConsoleLottery.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/service/ConsoleLottery.java @@ -24,7 +24,6 @@ package com.iluwatar.hexagonal.service; import com.google.inject.Guice; -import com.google.inject.Injector; import com.iluwatar.hexagonal.banking.WireTransfers; import com.iluwatar.hexagonal.domain.LotteryService; import com.iluwatar.hexagonal.module.LotteryModule; @@ -45,15 +44,15 @@ public class ConsoleLottery { */ public static void main(String[] args) { MongoConnectionPropertiesLoader.load(); - Injector injector = Guice.createInjector(new LotteryModule()); - LotteryService service = injector.getInstance(LotteryService.class); - WireTransfers bank = injector.getInstance(WireTransfers.class); + var injector = Guice.createInjector(new LotteryModule()); + var service = injector.getInstance(LotteryService.class); + var bank = injector.getInstance(WireTransfers.class); try (Scanner scanner = new Scanner(System.in)) { - boolean exit = false; + var exit = false; while (!exit) { printMainMenu(); - String cmd = readString(scanner); - LotteryConsoleService lotteryConsoleService = new LotteryConsoleServiceImpl(LOGGER); + var cmd = readString(scanner); + var lotteryConsoleService = new LotteryConsoleServiceImpl(LOGGER); if ("1".equals(cmd)) { lotteryConsoleService.queryLotteryAccountFunds(bank, scanner); } else if ("2".equals(cmd)) { diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/service/LotteryConsoleServiceImpl.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/service/LotteryConsoleServiceImpl.java index d100dba03c83..c32ede62e371 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/service/LotteryConsoleServiceImpl.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/service/LotteryConsoleServiceImpl.java @@ -31,10 +31,7 @@ import com.iluwatar.hexagonal.domain.LotteryTicketId; import com.iluwatar.hexagonal.domain.PlayerDetails; import java.util.Arrays; -import java.util.HashSet; -import java.util.Optional; import java.util.Scanner; -import java.util.Set; import java.util.stream.Collectors; import org.slf4j.Logger; @@ -55,20 +52,18 @@ public LotteryConsoleServiceImpl(Logger logger) { @Override public void checkTicket(LotteryService service, Scanner scanner) { logger.info("What is the ID of the lottery ticket?"); - String id = readString(scanner); + var id = readString(scanner); logger.info("Give the 4 comma separated winning numbers?"); - String numbers = readString(scanner); + var numbers = readString(scanner); try { - String[] parts = numbers.split(","); - Set winningNumbers = new HashSet<>(); - for (int i = 0; i < 4; i++) { - winningNumbers.add(Integer.parseInt(parts[i])); - } + var winningNumbers = Arrays.stream(numbers.split(",")) + .map(Integer::parseInt) + .limit(4) + .collect(Collectors.toSet()); - final LotteryTicketId lotteryTicketId = new LotteryTicketId(Integer.parseInt(id)); - final LotteryNumbers lotteryNumbers = LotteryNumbers.create(winningNumbers); - LotteryTicketCheckResult result = - service.checkTicketForPrize(lotteryTicketId, lotteryNumbers); + final var lotteryTicketId = new LotteryTicketId(Integer.parseInt(id)); + final var lotteryNumbers = LotteryNumbers.create(winningNumbers); + var result = service.checkTicketForPrize(lotteryTicketId, lotteryNumbers); if (result.getResult().equals(LotteryTicketCheckResult.CheckResult.WIN_PRIZE)) { logger.info("Congratulations! The lottery ticket has won!"); @@ -85,26 +80,24 @@ public void checkTicket(LotteryService service, Scanner scanner) { @Override public void submitTicket(LotteryService service, Scanner scanner) { logger.info("What is your email address?"); - String email = readString(scanner); + var email = readString(scanner); logger.info("What is your bank account number?"); - String account = readString(scanner); + var account = readString(scanner); logger.info("What is your phone number?"); - String phone = readString(scanner); - PlayerDetails details = new PlayerDetails(email, account, phone); + var phone = readString(scanner); + var details = new PlayerDetails(email, account, phone); logger.info("Give 4 comma separated lottery numbers?"); - String numbers = readString(scanner); + var numbers = readString(scanner); try { - String[] parts = numbers.split(","); - Set chosen = Arrays.stream(parts).map(Integer::parseInt).collect(Collectors.toSet()); - LotteryNumbers lotteryNumbers = LotteryNumbers.create(chosen); - LotteryTicket lotteryTicket = - new LotteryTicket(new LotteryTicketId(), details, lotteryNumbers); - Optional id = service.submitTicket(lotteryTicket); - if (id.isPresent()) { - logger.info("Submitted lottery ticket with id: {}", id.get()); - } else { - logger.info("Failed submitting lottery ticket - please try again."); - } + var chosen = Arrays.stream(numbers.split(",")) + .map(Integer::parseInt) + .collect(Collectors.toSet()); + var lotteryNumbers = LotteryNumbers.create(chosen); + var lotteryTicket = new LotteryTicket(new LotteryTicketId(), details, lotteryNumbers); + service.submitTicket(lotteryTicket).ifPresentOrElse( + (id) -> logger.info("Submitted lottery ticket with id: {}", id), + () -> logger.info("Failed submitting lottery ticket - please try again.") + ); } catch (Exception e) { logger.info("Failed submitting lottery ticket - please try again."); } @@ -113,9 +106,9 @@ public void submitTicket(LotteryService service, Scanner scanner) { @Override public void addFundsToLotteryAccount(WireTransfers bank, Scanner scanner) { logger.info("What is the account number?"); - String account = readString(scanner); + var account = readString(scanner); logger.info("How many credits do you want to deposit?"); - String amount = readString(scanner); + var amount = readString(scanner); bank.setFunds(account, Integer.parseInt(amount)); logger.info("The account {} now has {} credits.", account, bank.getFunds(account)); } @@ -123,7 +116,7 @@ public void addFundsToLotteryAccount(WireTransfers bank, Scanner scanner) { @Override public void queryLotteryAccountFunds(WireTransfers bank, Scanner scanner) { logger.info("What is the account number?"); - String account = readString(scanner); + var account = readString(scanner); logger.info("The account {} has {} credits.", account, bank.getFunds(account)); } diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/AppTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/AppTest.java index c3fd915bd62b..05d51a283a2e 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/AppTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/AppTest.java @@ -32,7 +32,6 @@ class AppTest { @Test void testApp() { - String[] args = {}; - App.main(args); + App.main(new String[]{}); } } diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/banking/InMemoryBankTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/banking/InMemoryBankTest.java index d7c511357644..5c8ca44e4569 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/banking/InMemoryBankTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/banking/InMemoryBankTest.java @@ -23,20 +23,18 @@ package com.iluwatar.hexagonal.banking; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.junit.jupiter.api.Test; + /** - * * Tests for banking - * */ class InMemoryBankTest { private final WireTransfers bank = new InMemoryBank(); - + @Test void testInit() { assertEquals(0, bank.getFunds("foo")); diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/banking/MongoBankTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/banking/MongoBankTest.java index 3815a7899a79..b6a7e2a37d85 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/banking/MongoBankTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/banking/MongoBankTest.java @@ -23,14 +23,14 @@ package com.iluwatar.hexagonal.banking; +import static org.junit.jupiter.api.Assertions.assertEquals; + import com.iluwatar.hexagonal.mongo.MongoConnectionPropertiesLoader; import com.mongodb.MongoClient; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; - /** * Tests for Mongo banking adapter */ @@ -45,7 +45,7 @@ class MongoBankTest { @BeforeEach void init() { MongoConnectionPropertiesLoader.load(); - MongoClient mongoClient = new MongoClient(System.getProperty("mongo-host"), + var mongoClient = new MongoClient(System.getProperty("mongo-host"), Integer.parseInt(System.getProperty("mongo-port"))); mongoClient.dropDatabase(TEST_DB); mongoClient.close(); diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/database/InMemoryTicketRepositoryTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/database/InMemoryTicketRepositoryTest.java index 065425dee8f9..d016b096633b 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/database/InMemoryTicketRepositoryTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/database/InMemoryTicketRepositoryTest.java @@ -23,40 +23,34 @@ package com.iluwatar.hexagonal.database; -import java.util.Optional; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; -import com.iluwatar.hexagonal.domain.LotteryTicket; -import com.iluwatar.hexagonal.domain.LotteryTicketId; import com.iluwatar.hexagonal.test.LotteryTestUtils; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - /** - * * Tests for {@link LotteryTicketRepository} - * */ class InMemoryTicketRepositoryTest { private final LotteryTicketRepository repository = new InMemoryTicketRepository(); - + @BeforeEach void clear() { repository.deleteAll(); } - + @Test void testCrudOperations() { - LotteryTicketRepository repository = new InMemoryTicketRepository(); + var repository = new InMemoryTicketRepository(); assertTrue(repository.findAll().isEmpty()); - LotteryTicket ticket = LotteryTestUtils.createLotteryTicket(); - Optional id = repository.save(ticket); + var ticket = LotteryTestUtils.createLotteryTicket(); + var id = repository.save(ticket); assertTrue(id.isPresent()); assertEquals(1, repository.findAll().size()); - Optional optionalTicket = repository.findById(id.get()); + var optionalTicket = repository.findById(id.get()); assertTrue(optionalTicket.isPresent()); } } diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/database/MongoTicketRepositoryTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/database/MongoTicketRepositoryTest.java index fb3d0c4253d2..e926e1afb2bb 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/database/MongoTicketRepositoryTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/database/MongoTicketRepositoryTest.java @@ -23,6 +23,9 @@ package com.iluwatar.hexagonal.database; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + import com.iluwatar.hexagonal.domain.LotteryNumbers; import com.iluwatar.hexagonal.domain.LotteryTicket; import com.iluwatar.hexagonal.domain.LotteryTicketId; @@ -33,11 +36,6 @@ import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; -import java.util.Optional; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - /** * Tests for Mongo based ticket repository */ @@ -53,7 +51,7 @@ class MongoTicketRepositoryTest { @BeforeEach void init() { MongoConnectionPropertiesLoader.load(); - MongoClient mongoClient = new MongoClient(System.getProperty("mongo-host"), + var mongoClient = new MongoClient(System.getProperty("mongo-host"), Integer.parseInt(System.getProperty("mongo-port"))); mongoClient.dropDatabase(TEST_DB); mongoClient.close(); @@ -77,16 +75,16 @@ void testNextId() { @Test void testCrudOperations() { // create new lottery ticket and save it - PlayerDetails details = new PlayerDetails("foo@bar.com", "123-123", "07001234"); - LotteryNumbers random = LotteryNumbers.createRandom(); - LotteryTicket original = new LotteryTicket(new LotteryTicketId(), details, random); - Optional saved = repository.save(original); + var details = new PlayerDetails("foo@bar.com", "123-123", "07001234"); + var random = LotteryNumbers.createRandom(); + var original = new LotteryTicket(new LotteryTicketId(), details, random); + var saved = repository.save(original); assertEquals(1, repository.getTicketsCollection().count()); assertTrue(saved.isPresent()); // fetch the saved lottery ticket from database and check its contents - Optional found = repository.findById(saved.get()); + var found = repository.findById(saved.get()); assertTrue(found.isPresent()); - LotteryTicket ticket = found.get(); + var ticket = found.get(); assertEquals("foo@bar.com", ticket.getPlayerDetails().getEmail()); assertEquals("123-123", ticket.getPlayerDetails().getBankAccount()); assertEquals("07001234", ticket.getPlayerDetails().getPhoneNumber()); diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryNumbersTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryNumbersTest.java index c17c5c1fdc39..696fd0f98770 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryNumbersTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryNumbersTest.java @@ -23,47 +23,47 @@ package com.iluwatar.hexagonal.domain; -import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.Set; - -import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; /** - * * Unit tests for {@link LotteryNumbers} - * */ class LotteryNumbersTest { - + @Test void testGivenNumbers() { - LotteryNumbers numbers = LotteryNumbers.create(Set.of(1, 2, 3, 4)); + var numbers = LotteryNumbers.create(Set.of(1, 2, 3, 4)); assertEquals(numbers.getNumbers().size(), 4); assertTrue(numbers.getNumbers().contains(1)); assertTrue(numbers.getNumbers().contains(2)); assertTrue(numbers.getNumbers().contains(3)); assertTrue(numbers.getNumbers().contains(4)); } - + @Test void testNumbersCantBeModified() { - LotteryNumbers numbers = LotteryNumbers.create(Set.of(1, 2, 3, 4)); + var numbers = LotteryNumbers.create(Set.of(1, 2, 3, 4)); assertThrows(UnsupportedOperationException.class, () -> numbers.getNumbers().add(5)); } - + @Test void testRandomNumbers() { - LotteryNumbers numbers = LotteryNumbers.createRandom(); + var numbers = LotteryNumbers.createRandom(); assertEquals(numbers.getNumbers().size(), LotteryNumbers.NUM_NUMBERS); } - + @Test void testEquals() { - LotteryNumbers numbers1 = LotteryNumbers.create(Set.of(1, 2, 3, 4)); - LotteryNumbers numbers2 = LotteryNumbers.create(Set.of(1, 2, 3, 4)); + var numbers1 = LotteryNumbers.create(Set.of(1, 2, 3, 4)); + var numbers2 = LotteryNumbers.create(Set.of(1, 2, 3, 4)); assertEquals(numbers1, numbers2); - LotteryNumbers numbers3 = LotteryNumbers.create(Set.of(11, 12, 13, 14)); + var numbers3 = LotteryNumbers.create(Set.of(11, 12, 13, 14)); assertNotEquals(numbers1, numbers3); } } diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTest.java index 927e2fcd19a9..6d3ba8bc579e 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTest.java @@ -23,6 +23,10 @@ package com.iluwatar.hexagonal.domain; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + import com.google.inject.Guice; import com.google.inject.Inject; import com.google.inject.Injector; @@ -30,17 +34,12 @@ import com.iluwatar.hexagonal.domain.LotteryTicketCheckResult.CheckResult; import com.iluwatar.hexagonal.module.LotteryTestingModule; import com.iluwatar.hexagonal.test.LotteryTestUtils; +import java.util.Set; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import java.util.*; - -import static org.junit.jupiter.api.Assertions.*; - /** - * * Test the lottery system - * */ class LotteryTest { @@ -62,38 +61,38 @@ void setup() { // add funds to the test player's bank account wireTransfers.setFunds("123-12312", 100); } - + @Test void testLottery() { // admin resets the lottery administration.resetLottery(); assertEquals(0, administration.getAllSubmittedTickets().size()); - + // players submit the lottery tickets - Optional ticket1 = service.submitTicket(LotteryTestUtils.createLotteryTicket("cvt@bbb.com", + var ticket1 = service.submitTicket(LotteryTestUtils.createLotteryTicket("cvt@bbb.com", "123-12312", "+32425255", Set.of(1, 2, 3, 4))); assertTrue(ticket1.isPresent()); - Optional ticket2 = service.submitTicket(LotteryTestUtils.createLotteryTicket("ant@bac.com", + var ticket2 = service.submitTicket(LotteryTestUtils.createLotteryTicket("ant@bac.com", "123-12312", "+32423455", Set.of(11, 12, 13, 14))); assertTrue(ticket2.isPresent()); - Optional ticket3 = service.submitTicket(LotteryTestUtils.createLotteryTicket("arg@boo.com", + var ticket3 = service.submitTicket(LotteryTestUtils.createLotteryTicket("arg@boo.com", "123-12312", "+32421255", Set.of(6, 8, 13, 19))); assertTrue(ticket3.isPresent()); assertEquals(3, administration.getAllSubmittedTickets().size()); - + // perform lottery - LotteryNumbers winningNumbers = administration.performLottery(); + var winningNumbers = administration.performLottery(); // cheat a bit for testing sake, use winning numbers to submit another ticket - Optional ticket4 = service.submitTicket(LotteryTestUtils.createLotteryTicket("lucky@orb.com", + var ticket4 = service.submitTicket(LotteryTestUtils.createLotteryTicket("lucky@orb.com", "123-12312", "+12421255", winningNumbers.getNumbers())); assertTrue(ticket4.isPresent()); assertEquals(4, administration.getAllSubmittedTickets().size()); - + // check winners - Map tickets = administration.getAllSubmittedTickets(); - for (LotteryTicketId id: tickets.keySet()) { - LotteryTicketCheckResult checkResult = service.checkTicketForPrize(id, winningNumbers); + var tickets = administration.getAllSubmittedTickets(); + for (var id : tickets.keySet()) { + var checkResult = service.checkTicketForPrize(id, winningNumbers); assertNotEquals(CheckResult.TICKET_NOT_SUBMITTED, checkResult.getResult()); if (checkResult.getResult().equals(CheckResult.WIN_PRIZE)) { assertTrue(checkResult.getPrizeAmount() > 0); @@ -101,9 +100,9 @@ void testLottery() { assertEquals(0, checkResult.getPrizeAmount()); } } - + // check another ticket that has not been submitted - LotteryTicketCheckResult checkResult = service.checkTicketForPrize(new LotteryTicketId(), winningNumbers); + var checkResult = service.checkTicketForPrize(new LotteryTicketId(), winningNumbers); assertEquals(CheckResult.TICKET_NOT_SUBMITTED, checkResult.getResult()); assertEquals(0, checkResult.getPrizeAmount()); } diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketCheckResultTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketCheckResultTest.java index 06de817263d0..4ad872f69003 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketCheckResultTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketCheckResultTest.java @@ -23,25 +23,23 @@ package com.iluwatar.hexagonal.domain; -import com.iluwatar.hexagonal.domain.LotteryTicketCheckResult.CheckResult; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; +import com.iluwatar.hexagonal.domain.LotteryTicketCheckResult.CheckResult; +import org.junit.jupiter.api.Test; + /** - * * Unit tests for {@link LotteryTicketCheckResult} - * */ class LotteryTicketCheckResultTest { @Test void testEquals() { - LotteryTicketCheckResult result1 = new LotteryTicketCheckResult(CheckResult.NO_PRIZE); - LotteryTicketCheckResult result2 = new LotteryTicketCheckResult(CheckResult.NO_PRIZE); + var result1 = new LotteryTicketCheckResult(CheckResult.NO_PRIZE); + var result2 = new LotteryTicketCheckResult(CheckResult.NO_PRIZE); assertEquals(result1, result2); - LotteryTicketCheckResult result3 = new LotteryTicketCheckResult(CheckResult.WIN_PRIZE, 300000); + var result3 = new LotteryTicketCheckResult(CheckResult.WIN_PRIZE, 300000); assertNotEquals(result1, result3); - } + } } diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketIdTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketIdTest.java index b60e550d23e5..e6815ea08e06 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketIdTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketIdTest.java @@ -23,11 +23,11 @@ package com.iluwatar.hexagonal.domain; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; +import org.junit.jupiter.api.Test; + /** * Tests for lottery ticket id */ @@ -35,12 +35,12 @@ class LotteryTicketIdTest { @Test void testEquals() { - LotteryTicketId ticketId1 = new LotteryTicketId(); - LotteryTicketId ticketId2 = new LotteryTicketId(); - LotteryTicketId ticketId3 = new LotteryTicketId(); + var ticketId1 = new LotteryTicketId(); + var ticketId2 = new LotteryTicketId(); + var ticketId3 = new LotteryTicketId(); assertNotEquals(ticketId1, ticketId2); assertNotEquals(ticketId2, ticketId3); - LotteryTicketId ticketId4 = new LotteryTicketId(ticketId1.getId()); + var ticketId4 = new LotteryTicketId(ticketId1.getId()); assertEquals(ticketId1, ticketId4); } } diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketTest.java index 6d2e371c4bd0..445bdd27c498 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketTest.java @@ -23,13 +23,12 @@ package com.iluwatar.hexagonal.domain; -import org.junit.jupiter.api.Test; - -import java.util.Set; - import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; +import java.util.Set; +import org.junit.jupiter.api.Test; + /** * Test Lottery Tickets for equality */ @@ -37,16 +36,16 @@ class LotteryTicketTest { @Test void testEquals() { - PlayerDetails details1 = new PlayerDetails("bob@foo.bar", "1212-121212", "+34332322"); - LotteryNumbers numbers1 = LotteryNumbers.create(Set.of(1, 2, 3, 4)); - LotteryTicket ticket1 = new LotteryTicket(new LotteryTicketId(), details1, numbers1); - PlayerDetails details2 = new PlayerDetails("bob@foo.bar", "1212-121212", "+34332322"); - LotteryNumbers numbers2 = LotteryNumbers.create(Set.of(1, 2, 3, 4)); - LotteryTicket ticket2 = new LotteryTicket(new LotteryTicketId(), details2, numbers2); + var details1 = new PlayerDetails("bob@foo.bar", "1212-121212", "+34332322"); + var numbers1 = LotteryNumbers.create(Set.of(1, 2, 3, 4)); + var ticket1 = new LotteryTicket(new LotteryTicketId(), details1, numbers1); + var details2 = new PlayerDetails("bob@foo.bar", "1212-121212", "+34332322"); + var numbers2 = LotteryNumbers.create(Set.of(1, 2, 3, 4)); + var ticket2 = new LotteryTicket(new LotteryTicketId(), details2, numbers2); assertEquals(ticket1, ticket2); - PlayerDetails details3 = new PlayerDetails("elsa@foo.bar", "1223-121212", "+49332322"); - LotteryNumbers numbers3 = LotteryNumbers.create(Set.of(1, 2, 3, 8)); - LotteryTicket ticket3 = new LotteryTicket(new LotteryTicketId(), details3, numbers3); + var details3 = new PlayerDetails("elsa@foo.bar", "1223-121212", "+49332322"); + var numbers3 = LotteryNumbers.create(Set.of(1, 2, 3, 8)); + var ticket3 = new LotteryTicket(new LotteryTicketId(), details3, numbers3); assertNotEquals(ticket1, ticket3); } } diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/PlayerDetailsTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/PlayerDetailsTest.java index 2ecc0ab03d98..ba6b5f5579d6 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/PlayerDetailsTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/PlayerDetailsTest.java @@ -23,24 +23,22 @@ package com.iluwatar.hexagonal.domain; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; +import org.junit.jupiter.api.Test; + /** - * * Unit tests for {@link PlayerDetails} - * */ class PlayerDetailsTest { @Test void testEquals() { - PlayerDetails details1 = new PlayerDetails("tom@foo.bar", "11212-123434", "+12323425"); - PlayerDetails details2 = new PlayerDetails("tom@foo.bar", "11212-123434", "+12323425"); + var details1 = new PlayerDetails("tom@foo.bar", "11212-123434", "+12323425"); + var details2 = new PlayerDetails("tom@foo.bar", "11212-123434", "+12323425"); assertEquals(details1, details2); - PlayerDetails details3 = new PlayerDetails("john@foo.bar", "16412-123439", "+34323432"); + var details3 = new PlayerDetails("john@foo.bar", "16412-123439", "+34323432"); assertNotEquals(details1, details3); - } + } } diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/eventlog/MongoEventLogTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/eventlog/MongoEventLogTest.java index 63222095828c..b0c4e13832c7 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/eventlog/MongoEventLogTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/eventlog/MongoEventLogTest.java @@ -23,6 +23,8 @@ package com.iluwatar.hexagonal.eventlog; +import static org.junit.jupiter.api.Assertions.assertEquals; + import com.iluwatar.hexagonal.domain.PlayerDetails; import com.iluwatar.hexagonal.mongo.MongoConnectionPropertiesLoader; import com.mongodb.MongoClient; @@ -30,8 +32,6 @@ import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; - /** * Tests for Mongo event log */ @@ -46,7 +46,7 @@ class MongoEventLogTest { @BeforeEach void init() { MongoConnectionPropertiesLoader.load(); - MongoClient mongoClient = new MongoClient(System.getProperty("mongo-host"), + var mongoClient = new MongoClient(System.getProperty("mongo-host"), Integer.parseInt(System.getProperty("mongo-port"))); mongoClient.dropDatabase(TEST_DB); mongoClient.close(); @@ -60,7 +60,7 @@ void testSetup() { @Test void testFundTransfers() { - PlayerDetails playerDetails = new PlayerDetails("john@wayne.com", "000-000", "03432534543"); + var playerDetails = new PlayerDetails("john@wayne.com", "000-000", "03432534543"); mongoEventLog.prizeError(playerDetails, 1000); assertEquals(1, mongoEventLog.getEventsCollection().count()); mongoEventLog.prizeError(playerDetails, 1000); diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/test/LotteryTestUtils.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/test/LotteryTestUtils.java index 2f02ca34e9f2..4686478d3892 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/test/LotteryTestUtils.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/test/LotteryTestUtils.java @@ -27,13 +27,10 @@ import com.iluwatar.hexagonal.domain.LotteryTicket; import com.iluwatar.hexagonal.domain.LotteryTicketId; import com.iluwatar.hexagonal.domain.PlayerDetails; - import java.util.Set; /** - * * Utilities for lottery tests - * */ public class LotteryTestUtils { @@ -43,14 +40,14 @@ public class LotteryTestUtils { public static LotteryTicket createLotteryTicket() { return createLotteryTicket("foo@bar.com", "12231-213132", "+99324554", Set.of(1, 2, 3, 4)); } - + /** * @return lottery ticket */ public static LotteryTicket createLotteryTicket(String email, String account, String phone, - Set givenNumbers) { - PlayerDetails details = new PlayerDetails(email, account, phone); - LotteryNumbers numbers = LotteryNumbers.create(givenNumbers); + Set givenNumbers) { + var details = new PlayerDetails(email, account, phone); + var numbers = LotteryNumbers.create(givenNumbers); return new LotteryTicket(new LotteryTicketId(), details, numbers); } } diff --git a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/AddressFilter.java b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/AddressFilter.java index 6b9a15382b8e..5f13aa7d7f53 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/AddressFilter.java +++ b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/AddressFilter.java @@ -33,7 +33,7 @@ public class AddressFilter extends AbstractFilter { @Override public String execute(Order order) { - String result = super.execute(order); + var result = super.execute(order); if (order.getAddress() == null || order.getAddress().isEmpty()) { return result + "Invalid address! "; } else { diff --git a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/App.java b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/App.java index b81f1e229284..db1c4830f596 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/App.java +++ b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/App.java @@ -54,14 +54,14 @@ public class App { * @param args command line args */ public static void main(String[] args) { - FilterManager filterManager = new FilterManager(); + var filterManager = new FilterManager(); filterManager.addFilter(new NameFilter()); filterManager.addFilter(new ContactFilter()); filterManager.addFilter(new AddressFilter()); filterManager.addFilter(new DepositFilter()); filterManager.addFilter(new OrderFilter()); - Client client = new Client(); + var client = new Client(); client.setFilterManager(filterManager); } } diff --git a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/Client.java b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/Client.java index 865dbbb381da..656008c10363 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/Client.java +++ b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/Client.java @@ -25,7 +25,8 @@ import java.awt.BorderLayout; import java.awt.GridLayout; - +import java.awt.event.ActionEvent; +import java.util.Arrays; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; @@ -65,11 +66,11 @@ public Client() { setSize(300, 300); jl = new JLabel("RUNNING..."); jtFields = new JTextField[3]; - for (int i = 0; i < 3; i++) { + for (var i = 0; i < 3; i++) { jtFields[i] = new JTextField(); } jtAreas = new JTextArea[2]; - for (int i = 0; i < 2; i++) { + for (var i = 0; i < 2; i++) { jtAreas[i] = new JTextArea(); } clearButton = new JButton("Clear"); @@ -80,7 +81,7 @@ public Client() { private void setup() { setLayout(new BorderLayout()); - JPanel panel = new JPanel(); + var panel = new JPanel(); add(jl, BorderLayout.SOUTH); add(panel, BorderLayout.CENTER); panel.setLayout(new GridLayout(6, 2)); @@ -98,21 +99,11 @@ private void setup() { panel.add(processButton); clearButton.addActionListener(e -> { - for (JTextArea i : jtAreas) { - i.setText(""); - } - for (JTextField i : jtFields) { - i.setText(""); - } + Arrays.stream(jtAreas).forEach(i -> i.setText("")); + Arrays.stream(jtFields).forEach(i -> i.setText("")); }); - processButton.addActionListener(e -> { - Order order = - new Order(jtFields[0].getText(), jtFields[1].getText(), jtAreas[0].getText(), jtFields[2] - .getText(), - jtAreas[1].getText()); - jl.setText(sendRequest(order)); - }); + processButton.addActionListener(this::actionPerformed); JRootPane rootPane = SwingUtilities.getRootPane(processButton); rootPane.setDefaultButton(processButton); @@ -126,4 +117,14 @@ public void setFilterManager(FilterManager filterManager) { public String sendRequest(Order order) { return filterManager.filterRequest(order); } + + private void actionPerformed(ActionEvent e) { + var fieldText1 = jtFields[0].getText(); + var fieldText2 = jtFields[1].getText(); + var areaText1 = jtAreas[0].getText(); + var fieldText3 = jtFields[2].getText(); + var areaText2 = jtAreas[1].getText(); + var order = new Order(fieldText1, fieldText2, areaText1, fieldText3, areaText2); + jl.setText(sendRequest(order)); + } } diff --git a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/ContactFilter.java b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/ContactFilter.java index 9acdec31966b..0e76ac1c009b 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/ContactFilter.java +++ b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/ContactFilter.java @@ -34,10 +34,11 @@ public class ContactFilter extends AbstractFilter { @Override public String execute(Order order) { - String result = super.execute(order); - if (order.getContactNumber() == null || order.getContactNumber().isEmpty() - || order.getContactNumber().matches(".*[^\\d]+.*") - || order.getContactNumber().length() != 11) { + var result = super.execute(order); + var contactNumber = order.getContactNumber(); + if (contactNumber == null || contactNumber.isEmpty() + || contactNumber.matches(".*[^\\d]+.*") + || contactNumber.length() != 11) { return result + "Invalid contact number! "; } else { return result; diff --git a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/DepositFilter.java b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/DepositFilter.java index e7457c9bec5b..da802616d5f0 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/DepositFilter.java +++ b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/DepositFilter.java @@ -32,8 +32,9 @@ public class DepositFilter extends AbstractFilter { @Override public String execute(Order order) { - String result = super.execute(order); - if (order.getDepositNumber() == null || order.getDepositNumber().isEmpty()) { + var result = super.execute(order); + var depositNumber = order.getDepositNumber(); + if (depositNumber == null || depositNumber.isEmpty()) { return result + "Invalid deposit number! "; } else { return result; diff --git a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/NameFilter.java b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/NameFilter.java index 95ef54fe1d82..358c9fd8501d 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/NameFilter.java +++ b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/NameFilter.java @@ -33,9 +33,9 @@ public class NameFilter extends AbstractFilter { @Override public String execute(Order order) { - String result = super.execute(order); - if (order.getName() == null || order.getName().isEmpty() - || order.getName().matches(".*[^\\w|\\s]+.*")) { + var result = super.execute(order); + var name = order.getName(); + if (name == null || name.isEmpty() || name.matches(".*[^\\w|\\s]+.*")) { return result + "Invalid name! "; } else { return result; diff --git a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/OrderFilter.java b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/OrderFilter.java index de91386f3f57..c555322f7288 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/OrderFilter.java +++ b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/OrderFilter.java @@ -32,8 +32,9 @@ public class OrderFilter extends AbstractFilter { @Override public String execute(Order order) { - String result = super.execute(order); - if (order.getOrderItem() == null || order.getOrderItem().isEmpty()) { + var result = super.execute(order); + var orderItem = order.getOrderItem(); + if (orderItem == null || orderItem.isEmpty()) { return result + "Invalid order! "; } else { return result; diff --git a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/Target.java b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/Target.java index 9ded355c757a..08ed715b1aa2 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/Target.java +++ b/intercepting-filter/src/main/java/com/iluwatar/intercepting/filter/Target.java @@ -27,11 +27,10 @@ import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; - +import java.util.stream.IntStream; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; -import javax.swing.JRootPane; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.SwingUtilities; @@ -58,9 +57,8 @@ public Target() { super("Order System"); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setSize(640, 480); - dtm = - new DefaultTableModel(new Object[]{"Name", "Contact Number", "Address", "Deposit Number", - "Order"}, 0); + dtm = new DefaultTableModel( + new Object[]{"Name", "Contact Number", "Address", "Deposit Number", "Order"}, 0); jt = new JTable(dtm); del = new JButton("Delete"); setup(); @@ -68,18 +66,18 @@ public Target() { private void setup() { setLayout(new BorderLayout()); - JPanel bot = new JPanel(); + var bot = new JPanel(); add(jt.getTableHeader(), BorderLayout.NORTH); bot.setLayout(new BorderLayout()); bot.add(del, BorderLayout.EAST); add(bot, BorderLayout.SOUTH); - JScrollPane jsp = new JScrollPane(jt); + var jsp = new JScrollPane(jt); jsp.setPreferredSize(new Dimension(500, 250)); add(jsp, BorderLayout.CENTER); del.addActionListener(new DListener()); - JRootPane rootPane = SwingUtilities.getRootPane(del); + var rootPane = SwingUtilities.getRootPane(del); rootPane.setDefaultButton(del); setVisible(true); } @@ -91,14 +89,12 @@ public void execute(String[] request) { class DListener implements ActionListener { @Override public void actionPerformed(ActionEvent e) { - int temp = jt.getSelectedRow(); + var temp = jt.getSelectedRow(); if (temp == -1) { return; } - int temp2 = jt.getSelectedRowCount(); - for (int i = 0; i < temp2; i++) { - dtm.removeRow(temp); - } + var temp2 = jt.getSelectedRowCount(); + IntStream.range(0, temp2).forEach(i -> dtm.removeRow(temp)); } } } diff --git a/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/AppTest.java b/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/AppTest.java index 4ee7897ed111..8fbe9f1d20c1 100644 --- a/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/AppTest.java +++ b/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/AppTest.java @@ -26,15 +26,12 @@ import org.junit.jupiter.api.Test; /** - * * Application test. - * */ public class AppTest { @Test public void test() { - String[] args = {}; - App.main(args); + App.main(new String[]{}); } } diff --git a/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/FilterManagerTest.java b/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/FilterManagerTest.java index feffbd7bef52..605db4de295b 100644 --- a/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/FilterManagerTest.java +++ b/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/FilterManagerTest.java @@ -23,8 +23,6 @@ package com.iluwatar.intercepting.filter; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Matchers.any; import static org.mockito.Mockito.mock; @@ -33,6 +31,8 @@ import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; +import org.junit.jupiter.api.Test; + /** * Date: 12/13/15 - 3:01 PM * @@ -42,20 +42,20 @@ public class FilterManagerTest { @Test public void testFilterRequest() { - final Target target = mock(Target.class); - final FilterManager filterManager = new FilterManager(); + final var target = mock(Target.class); + final var filterManager = new FilterManager(); assertEquals("RUNNING...", filterManager.filterRequest(mock(Order.class))); verifyZeroInteractions(target); } @Test public void testAddFilter() { - final Target target = mock(Target.class); - final FilterManager filterManager = new FilterManager(); + final var target = mock(Target.class); + final var filterManager = new FilterManager(); verifyZeroInteractions(target); - final Filter filter = mock(Filter.class); + final var filter = mock(Filter.class); when(filter.execute(any(Order.class))).thenReturn("filter"); filterManager.addFilter(filter); diff --git a/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/FilterTest.java b/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/FilterTest.java index 2e9a9641f165..7a0ce915019c 100644 --- a/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/FilterTest.java +++ b/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/FilterTest.java @@ -23,17 +23,15 @@ package com.iluwatar.intercepting.filter; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.MethodSource; - -import java.util.ArrayList; -import java.util.List; - import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertSame; +import java.util.List; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + /** * Date: 12/13/15 - 2:17 PM * @@ -41,7 +39,8 @@ */ public class FilterTest { - private static final Order PERFECT_ORDER = new Order("name", "12345678901", "addr", "dep", "order"); + private static final Order PERFECT_ORDER = + new Order("name", "12345678901", "addr", "dep", "order"); private static final Order WRONG_ORDER = new Order("name", "12345678901", "addr", "dep", ""); private static final Order WRONG_DEPOSIT = new Order("name", "12345678901", "addr", "", "order"); private static final Order WRONG_ADDRESS = new Order("name", "12345678901", "", "dep", "order"); @@ -49,49 +48,48 @@ public class FilterTest { private static final Order WRONG_NAME = new Order("", "12345678901", "addr", "dep", "order"); static List getTestData() { - final List testData = new ArrayList<>(); - testData.add(new Object[]{new NameFilter(), PERFECT_ORDER, ""}); - testData.add(new Object[]{new NameFilter(), WRONG_NAME, "Invalid name!"}); - testData.add(new Object[]{new NameFilter(), WRONG_CONTACT, ""}); - testData.add(new Object[]{new NameFilter(), WRONG_ADDRESS, ""}); - testData.add(new Object[]{new NameFilter(), WRONG_DEPOSIT, ""}); - testData.add(new Object[]{new NameFilter(), WRONG_ORDER, ""}); - - testData.add(new Object[]{new ContactFilter(), PERFECT_ORDER, ""}); - testData.add(new Object[]{new ContactFilter(), WRONG_NAME, ""}); - testData.add(new Object[]{new ContactFilter(), WRONG_CONTACT, "Invalid contact number!"}); - testData.add(new Object[]{new ContactFilter(), WRONG_ADDRESS, ""}); - testData.add(new Object[]{new ContactFilter(), WRONG_DEPOSIT, ""}); - testData.add(new Object[]{new ContactFilter(), WRONG_ORDER, ""}); + return List.of( + new Object[]{new NameFilter(), PERFECT_ORDER, ""}, + new Object[]{new NameFilter(), WRONG_NAME, "Invalid name!"}, + new Object[]{new NameFilter(), WRONG_CONTACT, ""}, + new Object[]{new NameFilter(), WRONG_ADDRESS, ""}, + new Object[]{new NameFilter(), WRONG_DEPOSIT, ""}, + new Object[]{new NameFilter(), WRONG_ORDER, ""}, - testData.add(new Object[]{new AddressFilter(), PERFECT_ORDER, ""}); - testData.add(new Object[]{new AddressFilter(), WRONG_NAME, ""}); - testData.add(new Object[]{new AddressFilter(), WRONG_CONTACT, ""}); - testData.add(new Object[]{new AddressFilter(), WRONG_ADDRESS, "Invalid address!"}); - testData.add(new Object[]{new AddressFilter(), WRONG_DEPOSIT, ""}); - testData.add(new Object[]{new AddressFilter(), WRONG_ORDER, ""}); + new Object[]{new ContactFilter(), PERFECT_ORDER, ""}, + new Object[]{new ContactFilter(), WRONG_NAME, ""}, + new Object[]{new ContactFilter(), WRONG_CONTACT, "Invalid contact number!"}, + new Object[]{new ContactFilter(), WRONG_ADDRESS, ""}, + new Object[]{new ContactFilter(), WRONG_DEPOSIT, ""}, + new Object[]{new ContactFilter(), WRONG_ORDER, ""}, - testData.add(new Object[]{new DepositFilter(), PERFECT_ORDER, ""}); - testData.add(new Object[]{new DepositFilter(), WRONG_NAME, ""}); - testData.add(new Object[]{new DepositFilter(), WRONG_CONTACT, ""}); - testData.add(new Object[]{new DepositFilter(), WRONG_ADDRESS, ""}); - testData.add(new Object[]{new DepositFilter(), WRONG_DEPOSIT, "Invalid deposit number!"}); - testData.add(new Object[]{new DepositFilter(), WRONG_ORDER, ""}); + new Object[]{new AddressFilter(), PERFECT_ORDER, ""}, + new Object[]{new AddressFilter(), WRONG_NAME, ""}, + new Object[]{new AddressFilter(), WRONG_CONTACT, ""}, + new Object[]{new AddressFilter(), WRONG_ADDRESS, "Invalid address!"}, + new Object[]{new AddressFilter(), WRONG_DEPOSIT, ""}, + new Object[]{new AddressFilter(), WRONG_ORDER, ""}, - testData.add(new Object[]{new OrderFilter(), PERFECT_ORDER, ""}); - testData.add(new Object[]{new OrderFilter(), WRONG_NAME, ""}); - testData.add(new Object[]{new OrderFilter(), WRONG_CONTACT, ""}); - testData.add(new Object[]{new OrderFilter(), WRONG_ADDRESS, ""}); - testData.add(new Object[]{new OrderFilter(), WRONG_DEPOSIT, ""}); - testData.add(new Object[]{new OrderFilter(), WRONG_ORDER, "Invalid order!"}); + new Object[]{new DepositFilter(), PERFECT_ORDER, ""}, + new Object[]{new DepositFilter(), WRONG_NAME, ""}, + new Object[]{new DepositFilter(), WRONG_CONTACT, ""}, + new Object[]{new DepositFilter(), WRONG_ADDRESS, ""}, + new Object[]{new DepositFilter(), WRONG_DEPOSIT, "Invalid deposit number!"}, + new Object[]{new DepositFilter(), WRONG_ORDER, ""}, - return testData; + new Object[]{new OrderFilter(), PERFECT_ORDER, ""}, + new Object[]{new OrderFilter(), WRONG_NAME, ""}, + new Object[]{new OrderFilter(), WRONG_CONTACT, ""}, + new Object[]{new OrderFilter(), WRONG_ADDRESS, ""}, + new Object[]{new OrderFilter(), WRONG_DEPOSIT, ""}, + new Object[]{new OrderFilter(), WRONG_ORDER, "Invalid order!"} + ); } @ParameterizedTest @MethodSource("getTestData") public void testExecute(Filter filter, Order order, String expectedResult) { - final String result = filter.execute(order); + final var result = filter.execute(order); assertNotNull(result); assertEquals(expectedResult, result.trim()); } diff --git a/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/OrderTest.java b/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/OrderTest.java index a4862c4a828d..21643986e1ac 100644 --- a/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/OrderTest.java +++ b/intercepting-filter/src/test/java/com/iluwatar/intercepting/filter/OrderTest.java @@ -23,10 +23,10 @@ package com.iluwatar.intercepting.filter; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertEquals; +import org.junit.jupiter.api.Test; + /** * Date: 12/13/15 - 2:57 PM * @@ -38,35 +38,35 @@ public class OrderTest { @Test public void testSetName() { - final Order order = new Order(); + final var order = new Order(); order.setName(EXPECTED_VALUE); assertEquals(EXPECTED_VALUE, order.getName()); } @Test public void testSetContactNumber() { - final Order order = new Order(); + final var order = new Order(); order.setContactNumber(EXPECTED_VALUE); assertEquals(EXPECTED_VALUE, order.getContactNumber()); } @Test public void testSetAddress() { - final Order order = new Order(); + final var order = new Order(); order.setAddress(EXPECTED_VALUE); assertEquals(EXPECTED_VALUE, order.getAddress()); } @Test public void testSetDepositNumber() { - final Order order = new Order(); + final var order = new Order(); order.setDepositNumber(EXPECTED_VALUE); assertEquals(EXPECTED_VALUE, order.getDepositNumber()); } @Test public void testSetOrder() { - final Order order = new Order(); + final var order = new Order(); order.setOrderItem(EXPECTED_VALUE); assertEquals(EXPECTED_VALUE, order.getOrderItem()); } diff --git a/interpreter/src/main/java/com/iluwatar/interpreter/App.java b/interpreter/src/main/java/com/iluwatar/interpreter/App.java index d63c78506014..909c333451ae 100644 --- a/interpreter/src/main/java/com/iluwatar/interpreter/App.java +++ b/interpreter/src/main/java/com/iluwatar/interpreter/App.java @@ -49,24 +49,24 @@ public class App { * @param args command line args */ public static void main(String[] args) { - String tokenString = "4 3 2 - 1 + *"; - Stack stack = new Stack<>(); + var tokenString = "4 3 2 - 1 + *"; + var stack = new Stack(); - String[] tokenList = tokenString.split(" "); - for (String s : tokenList) { + var tokenList = tokenString.split(" "); + for (var s : tokenList) { if (isOperator(s)) { - Expression rightExpression = stack.pop(); - Expression leftExpression = stack.pop(); + var rightExpression = stack.pop(); + var leftExpression = stack.pop(); LOGGER.info("popped from stack left: {} right: {}", leftExpression.interpret(), rightExpression.interpret()); - Expression operator = getOperatorInstance(s, leftExpression, rightExpression); + var operator = getOperatorInstance(s, leftExpression, rightExpression); LOGGER.info("operator: {}", operator); - int result = operator.interpret(); - NumberExpression resultExpression = new NumberExpression(result); + var result = operator.interpret(); + var resultExpression = new NumberExpression(result); stack.push(resultExpression); LOGGER.info("push result to stack: {}", resultExpression.interpret()); } else { - Expression i = new NumberExpression(s); + var i = new NumberExpression(s); stack.push(i); LOGGER.info("push to stack: {}", i.interpret()); } diff --git a/interpreter/src/test/java/com/iluwatar/interpreter/AppTest.java b/interpreter/src/test/java/com/iluwatar/interpreter/AppTest.java index 1bc978735354..505dc559c6ca 100644 --- a/interpreter/src/test/java/com/iluwatar/interpreter/AppTest.java +++ b/interpreter/src/test/java/com/iluwatar/interpreter/AppTest.java @@ -26,15 +26,12 @@ import org.junit.jupiter.api.Test; /** - * * Application test - * */ public class AppTest { @Test public void test() { - String[] args = {}; - App.main(args); + App.main(new String[]{}); } } diff --git a/interpreter/src/test/java/com/iluwatar/interpreter/ExpressionTest.java b/interpreter/src/test/java/com/iluwatar/interpreter/ExpressionTest.java index be12e00b5d8c..85f836dabe5f 100644 --- a/interpreter/src/test/java/com/iluwatar/interpreter/ExpressionTest.java +++ b/interpreter/src/test/java/com/iluwatar/interpreter/ExpressionTest.java @@ -23,25 +23,23 @@ package com.iluwatar.interpreter; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.TestInstance; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.Arguments; -import org.junit.jupiter.params.provider.MethodSource; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; import java.util.ArrayList; -import java.util.List; import java.util.function.BiFunction; import java.util.function.IntBinaryOperator; import java.util.stream.Stream; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; /** * Date: 12/14/15 - 11:48 AM - * + *

* Test Case for Expressions + * * @param Type of Expression * @author Jeroen Meulemeester */ @@ -55,13 +53,13 @@ public abstract class ExpressionTest { * @return A stream with test entries */ static Stream prepareParameters(final IntBinaryOperator resultCalc) { - final List testData = new ArrayList<>(); - for (int i = -10; i < 10; i++) { - for (int j = -10; j < 10; j++) { + final var testData = new ArrayList(); + for (var i = -10; i < 10; i++) { + for (var j = -10; j < 10; j++) { testData.add(Arguments.of( - new NumberExpression(i), - new NumberExpression(j), - resultCalc.applyAsInt(i, j) + new NumberExpression(i), + new NumberExpression(j), + resultCalc.applyAsInt(i, j) )); } } @@ -104,7 +102,7 @@ static Stream prepareParameters(final IntBinaryOperator resultCalc) { @ParameterizedTest @MethodSource("expressionProvider") public void testInterpret(NumberExpression first, NumberExpression second, int result) { - final E expression = factory.apply(first, second); + final var expression = factory.apply(first, second); assertNotNull(expression); assertEquals(result, expression.interpret()); } @@ -115,7 +113,7 @@ public void testInterpret(NumberExpression first, NumberExpression second, int r @ParameterizedTest @MethodSource("expressionProvider") public void testToString(NumberExpression first, NumberExpression second) { - final E expression = factory.apply(first, second); + final var expression = factory.apply(first, second); assertNotNull(expression); assertEquals(expectedToString, expression.toString()); } diff --git a/interpreter/src/test/java/com/iluwatar/interpreter/MinusExpressionTest.java b/interpreter/src/test/java/com/iluwatar/interpreter/MinusExpressionTest.java index f5c51f72323d..19f74171bee4 100644 --- a/interpreter/src/test/java/com/iluwatar/interpreter/MinusExpressionTest.java +++ b/interpreter/src/test/java/com/iluwatar/interpreter/MinusExpressionTest.java @@ -23,9 +23,8 @@ package com.iluwatar.interpreter; -import org.junit.jupiter.params.provider.Arguments; - import java.util.stream.Stream; +import org.junit.jupiter.params.provider.Arguments; /** * Date: 12/14/15 - 12:08 PM diff --git a/interpreter/src/test/java/com/iluwatar/interpreter/MultiplyExpressionTest.java b/interpreter/src/test/java/com/iluwatar/interpreter/MultiplyExpressionTest.java index 5c956beb25d2..678048e1c2bf 100644 --- a/interpreter/src/test/java/com/iluwatar/interpreter/MultiplyExpressionTest.java +++ b/interpreter/src/test/java/com/iluwatar/interpreter/MultiplyExpressionTest.java @@ -23,9 +23,8 @@ package com.iluwatar.interpreter; -import org.junit.jupiter.params.provider.Arguments; - import java.util.stream.Stream; +import org.junit.jupiter.params.provider.Arguments; /** * Date: 12/14/15 - 12:08 PM @@ -46,7 +45,6 @@ public Stream expressionProvider() { /** * Create a new test instance using the given test parameters and expected result - * */ public MultiplyExpressionTest() { super("*", MultiplyExpression::new); diff --git a/interpreter/src/test/java/com/iluwatar/interpreter/NumberExpressionTest.java b/interpreter/src/test/java/com/iluwatar/interpreter/NumberExpressionTest.java index 593c08a9bbca..16fc0a429926 100644 --- a/interpreter/src/test/java/com/iluwatar/interpreter/NumberExpressionTest.java +++ b/interpreter/src/test/java/com/iluwatar/interpreter/NumberExpressionTest.java @@ -23,14 +23,13 @@ package com.iluwatar.interpreter; +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.util.stream.Stream; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; -import java.util.stream.Stream; - -import static org.junit.jupiter.api.Assertions.assertEquals; - /** * Date: 12/14/15 - 12:08 PM * @@ -61,9 +60,9 @@ public NumberExpressionTest() { @ParameterizedTest @MethodSource("expressionProvider") public void testFromString(NumberExpression first) throws Exception { - final int expectedValue = first.interpret(); - final String testStringValue = String.valueOf(expectedValue); - final NumberExpression numberExpression = new NumberExpression(testStringValue); + final var expectedValue = first.interpret(); + final var testStringValue = String.valueOf(expectedValue); + final var numberExpression = new NumberExpression(testStringValue); assertEquals(expectedValue, numberExpression.interpret()); } diff --git a/interpreter/src/test/java/com/iluwatar/interpreter/PlusExpressionTest.java b/interpreter/src/test/java/com/iluwatar/interpreter/PlusExpressionTest.java index 7fc5efa12d77..1f53f3606b14 100644 --- a/interpreter/src/test/java/com/iluwatar/interpreter/PlusExpressionTest.java +++ b/interpreter/src/test/java/com/iluwatar/interpreter/PlusExpressionTest.java @@ -23,9 +23,8 @@ package com.iluwatar.interpreter; -import org.junit.jupiter.params.provider.Arguments; - import java.util.stream.Stream; +import org.junit.jupiter.params.provider.Arguments; /** * Date: 12/14/15 - 12:08 PM @@ -41,7 +40,7 @@ public class PlusExpressionTest extends ExpressionTest { */ @Override public Stream expressionProvider() { - return prepareParameters((f, s) -> f + s); + return prepareParameters(Integer::sum); } /** diff --git a/iterator/src/main/java/com/iluwatar/iterator/App.java b/iterator/src/main/java/com/iluwatar/iterator/App.java index 6e72b4ae991d..b81e765beb4a 100644 --- a/iterator/src/main/java/com/iluwatar/iterator/App.java +++ b/iterator/src/main/java/com/iluwatar/iterator/App.java @@ -30,7 +30,6 @@ import com.iluwatar.iterator.bst.BstIterator; import com.iluwatar.iterator.bst.TreeNode; -import com.iluwatar.iterator.list.Item; import com.iluwatar.iterator.list.ItemType; import com.iluwatar.iterator.list.TreasureChest; import org.slf4j.Logger; @@ -53,7 +52,7 @@ public class App { private static void demonstrateTreasureChestIteratorForType(ItemType itemType) { LOGGER.info("------------------------"); LOGGER.info("Item Iterator for ItemType " + itemType + ": "); - Iterator itemIterator = TREASURE_CHEST.iterator(itemType); + var itemIterator = TREASURE_CHEST.iterator(itemType); while (itemIterator.hasNext()) { LOGGER.info(itemIterator.next().toString()); } @@ -62,15 +61,15 @@ private static void demonstrateTreasureChestIteratorForType(ItemType itemType) { private static void demonstrateBstIterator() { LOGGER.info("------------------------"); LOGGER.info("BST Iterator: "); - TreeNode root = buildIntegerBst(); - BstIterator bstIterator = new BstIterator<>(root); + var root = buildIntegerBst(); + var bstIterator = new BstIterator(root); while (bstIterator.hasNext()) { LOGGER.info("Next node: " + bstIterator.next().getVal()); } } private static TreeNode buildIntegerBst() { - TreeNode root = new TreeNode<>(8); + var root = new TreeNode<>(8); root.insert(3); root.insert(10); diff --git a/iterator/src/main/java/com/iluwatar/iterator/bst/BstIterator.java b/iterator/src/main/java/com/iluwatar/iterator/bst/BstIterator.java index 87511c7eaad3..b3e0dc3d649b 100644 --- a/iterator/src/main/java/com/iluwatar/iterator/bst/BstIterator.java +++ b/iterator/src/main/java/com/iluwatar/iterator/bst/BstIterator.java @@ -78,7 +78,7 @@ public TreeNode next() throws NoSuchElementException { if (pathStack.isEmpty()) { throw new NoSuchElementException(); } - TreeNode next = pathStack.pop(); + var next = pathStack.pop(); pushPathToNextSmallest(next.getRight()); return next; } diff --git a/iterator/src/main/java/com/iluwatar/iterator/bst/README.md b/iterator/src/main/java/com/iluwatar/iterator/bst/README.md index 02e8eefcb25b..816d1a4fe291 100644 --- a/iterator/src/main/java/com/iluwatar/iterator/bst/README.md +++ b/iterator/src/main/java/com/iluwatar/iterator/bst/README.md @@ -63,7 +63,7 @@ public TreeNode next() throws IllegalStateException { if (pathStack.isEmpty()) { throw new IllegalStateException(); } - TreeNode next = pathStack.pop(); + var next = pathStack.pop(); // follow right child to next smallest node pushPathToNextSmallest(next.getRight()); return next; diff --git a/iterator/src/main/java/com/iluwatar/iterator/bst/TreeNode.java b/iterator/src/main/java/com/iluwatar/iterator/bst/TreeNode.java index 9d03fdf86743..87f16e96cc16 100644 --- a/iterator/src/main/java/com/iluwatar/iterator/bst/TreeNode.java +++ b/iterator/src/main/java/com/iluwatar/iterator/bst/TreeNode.java @@ -72,7 +72,7 @@ private void setRight(TreeNode right) { * @param valToInsert The value to insert as a new TreeNode */ public void insert(T valToInsert) { - TreeNode parent = getParentNodeOfValueToBeInserted(valToInsert); + var parent = getParentNodeOfValueToBeInserted(valToInsert); parent.insertNewChild(valToInsert); } @@ -84,7 +84,7 @@ public void insert(T valToInsert) { */ private TreeNode getParentNodeOfValueToBeInserted(T valToInsert) { TreeNode parent = null; - TreeNode curr = this; + var curr = this; while (curr != null) { parent = curr; diff --git a/iterator/src/main/java/com/iluwatar/iterator/list/TreasureChestItemIterator.java b/iterator/src/main/java/com/iluwatar/iterator/list/TreasureChestItemIterator.java index 43dbc82fa3b0..90461c420ffb 100644 --- a/iterator/src/main/java/com/iluwatar/iterator/list/TreasureChestItemIterator.java +++ b/iterator/src/main/java/com/iluwatar/iterator/list/TreasureChestItemIterator.java @@ -24,7 +24,6 @@ package com.iluwatar.iterator.list; import com.iluwatar.iterator.Iterator; -import java.util.List; /** * TreasureChestItemIterator. @@ -59,10 +58,9 @@ public Item next() { } private int findNextIdx() { - List items = chest.getItems(); - boolean found = false; - int tempIdx = idx; - while (!found) { + var items = chest.getItems(); + var tempIdx = idx; + while (true) { tempIdx++; if (tempIdx >= items.size()) { tempIdx = -1; diff --git a/iterator/src/test/java/com/iluwatar/iterator/AppTest.java b/iterator/src/test/java/com/iluwatar/iterator/AppTest.java index 9076c5174c5e..ccb33307c9c1 100644 --- a/iterator/src/test/java/com/iluwatar/iterator/AppTest.java +++ b/iterator/src/test/java/com/iluwatar/iterator/AppTest.java @@ -32,7 +32,6 @@ class AppTest { @Test void testApp() { - String[] args = {}; - App.main(args); + App.main(new String[]{}); } } \ No newline at end of file diff --git a/iterator/src/test/java/com/iluwatar/iterator/bst/BstIteratorTest.java b/iterator/src/test/java/com/iluwatar/iterator/bst/BstIteratorTest.java index e7f81e0d3f86..fba9ae8e3bbb 100644 --- a/iterator/src/test/java/com/iluwatar/iterator/bst/BstIteratorTest.java +++ b/iterator/src/test/java/com/iluwatar/iterator/bst/BstIteratorTest.java @@ -28,13 +28,12 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; +import java.util.NoSuchElementException; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.api.TestInstance.Lifecycle; -import java.util.NoSuchElementException; - @TestInstance(Lifecycle.PER_CLASS) class BstIteratorTest { @@ -55,14 +54,14 @@ void createTrees() { @Test void nextForEmptyTree() { - BstIterator iter = new BstIterator<>(emptyRoot); + var iter = new BstIterator<>(emptyRoot); assertThrows(NoSuchElementException.class, iter::next, "next() should throw an IllegalStateException if hasNext() is false."); } @Test void nextOverEntirePopulatedTree() { - BstIterator iter = new BstIterator<>(nonEmptyRoot); + var iter = new BstIterator<>(nonEmptyRoot); assertEquals(Integer.valueOf(1), iter.next().getVal(), "First Node is 1."); assertEquals(Integer.valueOf(3), iter.next().getVal(), "Second Node is 3."); assertEquals(Integer.valueOf(4), iter.next().getVal(), "Third Node is 4."); @@ -73,19 +72,19 @@ void nextOverEntirePopulatedTree() { @Test void hasNextForEmptyTree() { - BstIterator iter = new BstIterator<>(emptyRoot); + var iter = new BstIterator<>(emptyRoot); assertFalse(iter.hasNext(), "hasNext() should return false for empty tree."); } @Test void hasNextForPopulatedTree() { - BstIterator iter = new BstIterator<>(nonEmptyRoot); + var iter = new BstIterator<>(nonEmptyRoot); assertTrue(iter.hasNext(), "hasNext() should return true for populated tree."); } @Test void nextAndHasNextOverEntirePopulatedTree() { - BstIterator iter = new BstIterator<>(nonEmptyRoot); + var iter = new BstIterator<>(nonEmptyRoot); assertTrue(iter.hasNext(), "Iterator hasNext() should be true."); assertEquals(Integer.valueOf(1), iter.next().getVal(), "First Node is 1."); assertTrue(iter.hasNext(), "Iterator hasNext() should be true."); diff --git a/iterator/src/test/java/com/iluwatar/iterator/list/TreasureChestTest.java b/iterator/src/test/java/com/iluwatar/iterator/list/TreasureChestTest.java index 350934590e51..5e4f85e6b6f0 100644 --- a/iterator/src/test/java/com/iluwatar/iterator/list/TreasureChestTest.java +++ b/iterator/src/test/java/com/iluwatar/iterator/list/TreasureChestTest.java @@ -27,7 +27,6 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.fail; -import com.iluwatar.iterator.Iterator; import java.util.List; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; @@ -46,16 +45,16 @@ public class TreasureChestTest { */ public static List dataProvider() { return List.of( - new Object[]{new Item(ItemType.POTION, "Potion of courage")}, - new Object[]{new Item(ItemType.RING, "Ring of shadows")}, - new Object[]{new Item(ItemType.POTION, "Potion of wisdom")}, - new Object[]{new Item(ItemType.POTION, "Potion of blood")}, - new Object[]{new Item(ItemType.WEAPON, "Sword of silver +1")}, - new Object[]{new Item(ItemType.POTION, "Potion of rust")}, - new Object[]{new Item(ItemType.POTION, "Potion of healing")}, - new Object[]{new Item(ItemType.RING, "Ring of armor")}, - new Object[]{new Item(ItemType.WEAPON, "Steel halberd")}, - new Object[]{new Item(ItemType.WEAPON, "Dagger of poison")} + new Object[]{new Item(ItemType.POTION, "Potion of courage")}, + new Object[]{new Item(ItemType.RING, "Ring of shadows")}, + new Object[]{new Item(ItemType.POTION, "Potion of wisdom")}, + new Object[]{new Item(ItemType.POTION, "Potion of blood")}, + new Object[]{new Item(ItemType.WEAPON, "Sword of silver +1")}, + new Object[]{new Item(ItemType.POTION, "Potion of rust")}, + new Object[]{new Item(ItemType.POTION, "Potion of healing")}, + new Object[]{new Item(ItemType.RING, "Ring of armor")}, + new Object[]{new Item(ItemType.WEAPON, "Steel halberd")}, + new Object[]{new Item(ItemType.WEAPON, "Dagger of poison")} ); } @@ -66,16 +65,16 @@ public static List dataProvider() { @ParameterizedTest @MethodSource("dataProvider") public void testIterator(Item expectedItem) { - final TreasureChest chest = new TreasureChest(); - final Iterator iterator = chest.iterator(expectedItem.getType()); + final var chest = new TreasureChest(); + final var iterator = chest.iterator(expectedItem.getType()); assertNotNull(iterator); while (iterator.hasNext()) { - final Item item = iterator.next(); + final var item = iterator.next(); assertNotNull(item); assertEquals(expectedItem.getType(), item.getType()); - final String name = item.toString(); + final var name = item.toString(); assertNotNull(name); if (expectedItem.toString().equals(name)) { return; @@ -93,17 +92,17 @@ public void testIterator(Item expectedItem) { @ParameterizedTest @MethodSource("dataProvider") public void testGetItems(Item expectedItem) throws Exception { - final TreasureChest chest = new TreasureChest(); - final List items = chest.getItems(); + final var chest = new TreasureChest(); + final var items = chest.getItems(); assertNotNull(items); - for (final Item item : items) { + for (final var item : items) { assertNotNull(item); assertNotNull(item.getType()); assertNotNull(item.toString()); - final boolean sameType = expectedItem.getType() == item.getType(); - final boolean sameName = expectedItem.toString().equals(item.toString()); + final var sameType = expectedItem.getType() == item.getType(); + final var sameName = expectedItem.toString().equals(item.toString()); if (sameType && sameName) { return; } From 670c4e43f3b3f46bdabea8d510f8292d869fe6d2 Mon Sep 17 00:00:00 2001 From: Anurag Agarwal Date: Sun, 22 Dec 2019 18:11:19 +0530 Subject: [PATCH 3/3] Java 11 migrate 7 remaining f (#1115) * Moves facade to Java 11 * Moves factory-kit to Java 11 * Moves factory-method to Java 11 * Moves feature-toggle to Java 11 * Moves fluentinterface to Java 11 * Moves flux to Java 11 * Moves flyweight to Java 11 * Moves front-controller to Java 11 * Uses stream properly * Resolves issues with ci --- facade/README.md | 8 +- .../main/java/com/iluwatar/facade/App.java | 2 +- .../facade/DwarvenGoldmineFacade.java | 4 +- .../iluwatar/facade/DwarvenMineWorker.java | 5 +- .../java/com/iluwatar/facade/AppTest.java | 5 +- .../facade/DwarvenGoldmineFacadeTest.java | 21 ++-- .../java/com/iluwatar/factorykit/App.java | 4 +- .../iluwatar/factorykit/WeaponFactory.java | 3 +- .../com/iluwatar/factorykit/app/AppTest.java | 3 +- .../factorykit/factorykit/FactoryKitTest.java | 23 ++-- factory-method/README.md | 2 +- .../java/com/iluwatar/factory/method/App.java | 5 +- .../factory/method/ElfBlacksmith.java | 9 +- .../factory/method/OrcBlacksmith.java | 5 +- .../com/iluwatar/factory/method/AppTest.java | 7 +- .../factory/method/FactoryMethodTest.java | 53 ++++----- .../java/com/iluwatar/featuretoggle/App.java | 22 ++-- .../PropertiesFeatureToggleVersionTest.java | 24 ++-- .../TieredFeatureToggleVersionTest.java | 14 +-- .../featuretoggle/user/UserGroupTest.java | 20 ++-- .../com/iluwatar/fluentinterface/app/App.java | 57 +++++----- .../fluentiterable/FluentIterable.java | 8 +- .../lazy/DecoratingIterator.java | 2 +- .../lazy/LazyFluentIterable.java | 21 ++-- .../simple/SimpleFluentIterable.java | 39 +++---- .../iluwatar/fluentinterface/app/AppTest.java | 3 +- .../fluentiterable/FluentIterableTest.java | 105 +++++++++--------- .../main/java/com/iluwatar/flux/app/App.java | 8 +- .../iluwatar/flux/dispatcher/Dispatcher.java | 2 +- .../com/iluwatar/flux/store/ContentStore.java | 2 +- .../com/iluwatar/flux/store/MenuStore.java | 2 +- .../java/com/iluwatar/flux/store/Store.java | 2 +- .../com/iluwatar/flux/view/ContentView.java | 2 +- .../java/com/iluwatar/flux/view/MenuView.java | 4 +- .../com/iluwatar/flux/action/ContentTest.java | 10 +- .../iluwatar/flux/action/MenuItemTest.java | 10 +- .../java/com/iluwatar/flux/app/AppTest.java | 5 +- .../flux/dispatcher/DispatcherTest.java | 68 ++++++------ .../iluwatar/flux/store/ContentStoreTest.java | 22 ++-- .../iluwatar/flux/store/MenuStoreTest.java | 22 ++-- .../iluwatar/flux/view/ContentViewTest.java | 16 +-- .../com/iluwatar/flux/view/MenuViewTest.java | 26 ++--- flyweight/README.md | 4 +- .../com/iluwatar/flyweight/AlchemistShop.java | 19 +--- .../main/java/com/iluwatar/flyweight/App.java | 2 +- .../com/iluwatar/flyweight/PotionFactory.java | 2 +- .../iluwatar/flyweight/AlchemistShopTest.java | 18 ++- .../java/com/iluwatar/flyweight/AppTest.java | 5 +- .../com/iluwatar/front/controller/App.java | 2 +- .../front/controller/FrontController.java | 10 +- .../iluwatar/front/controller/AppTest.java | 5 +- .../controller/ApplicationExceptionTest.java | 2 +- .../front/controller/CommandTest.java | 20 ++-- .../front/controller/FrontControllerTest.java | 18 ++- .../iluwatar/front/controller/ViewTest.java | 18 ++- 55 files changed, 374 insertions(+), 426 deletions(-) diff --git a/facade/README.md b/facade/README.md index 42000149898a..48650dfbb31c 100644 --- a/facade/README.md +++ b/facade/README.md @@ -76,9 +76,7 @@ public abstract class DwarvenMineWorker { } public void action(Action... actions) { - for (Action action : actions) { - action(action); - } + Arrays.stream(actions).forEach(this::action); } public abstract void work(); @@ -165,9 +163,7 @@ public class DwarvenGoldmineFacade { private static void makeActions(Collection workers, DwarvenMineWorker.Action... actions) { - for (DwarvenMineWorker worker : workers) { - worker.action(actions); - } + workers.forEach(worker -> worker.action(actions)); } } ``` diff --git a/facade/src/main/java/com/iluwatar/facade/App.java b/facade/src/main/java/com/iluwatar/facade/App.java index 8d1c34c39576..d77695b28ffd 100644 --- a/facade/src/main/java/com/iluwatar/facade/App.java +++ b/facade/src/main/java/com/iluwatar/facade/App.java @@ -42,7 +42,7 @@ public class App { * @param args command line args */ public static void main(String[] args) { - DwarvenGoldmineFacade facade = new DwarvenGoldmineFacade(); + var facade = new DwarvenGoldmineFacade(); facade.startNewDay(); facade.digOutGold(); facade.endDay(); diff --git a/facade/src/main/java/com/iluwatar/facade/DwarvenGoldmineFacade.java b/facade/src/main/java/com/iluwatar/facade/DwarvenGoldmineFacade.java index 9982e556b2b4..0cc91f29d6a6 100644 --- a/facade/src/main/java/com/iluwatar/facade/DwarvenGoldmineFacade.java +++ b/facade/src/main/java/com/iluwatar/facade/DwarvenGoldmineFacade.java @@ -63,8 +63,6 @@ private static void makeActions( Collection workers, DwarvenMineWorker.Action... actions ) { - for (DwarvenMineWorker worker : workers) { - worker.action(actions); - } + workers.forEach(worker -> worker.action(actions)); } } diff --git a/facade/src/main/java/com/iluwatar/facade/DwarvenMineWorker.java b/facade/src/main/java/com/iluwatar/facade/DwarvenMineWorker.java index 8263d71f241b..d52291ad434a 100644 --- a/facade/src/main/java/com/iluwatar/facade/DwarvenMineWorker.java +++ b/facade/src/main/java/com/iluwatar/facade/DwarvenMineWorker.java @@ -23,6 +23,7 @@ package com.iluwatar.facade; +import java.util.Arrays; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -76,9 +77,7 @@ private void action(Action action) { * Perform actions. */ public void action(Action... actions) { - for (Action action : actions) { - action(action); - } + Arrays.stream(actions).forEach(this::action); } public abstract void work(); diff --git a/facade/src/test/java/com/iluwatar/facade/AppTest.java b/facade/src/test/java/com/iluwatar/facade/AppTest.java index 828c01ebf61c..b6287b02b174 100644 --- a/facade/src/test/java/com/iluwatar/facade/AppTest.java +++ b/facade/src/test/java/com/iluwatar/facade/AppTest.java @@ -26,15 +26,12 @@ import org.junit.jupiter.api.Test; /** - * * Application test - * */ public class AppTest { @Test public void test() { - String[] args = {}; - App.main(args); + App.main(new String[]{}); } } diff --git a/facade/src/test/java/com/iluwatar/facade/DwarvenGoldmineFacadeTest.java b/facade/src/test/java/com/iluwatar/facade/DwarvenGoldmineFacadeTest.java index 33e157b771d2..3b67f37547c6 100644 --- a/facade/src/test/java/com/iluwatar/facade/DwarvenGoldmineFacadeTest.java +++ b/facade/src/test/java/com/iluwatar/facade/DwarvenGoldmineFacadeTest.java @@ -23,20 +23,19 @@ package com.iluwatar.facade; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + import ch.qos.logback.classic.Logger; import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.core.AppenderBase; +import java.util.LinkedList; +import java.util.List; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.slf4j.LoggerFactory; -import java.util.LinkedList; -import java.util.List; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - /** * Date: 12/9/15 - 9:40 PM * @@ -56,16 +55,16 @@ public void tearDown() { appender.stop(); } - /** + /** * Test a complete day cycle in the gold mine by executing all three different steps: {@link * DwarvenGoldmineFacade#startNewDay()}, {@link DwarvenGoldmineFacade#digOutGold()} and {@link * DwarvenGoldmineFacade#endDay()}. - * + *

* See if the workers are doing what's expected from them on each step. */ @Test public void testFullWorkDay() { - final DwarvenGoldmineFacade goldMine = new DwarvenGoldmineFacade(); + final var goldMine = new DwarvenGoldmineFacade(); goldMine.startNewDay(); // On the start of a day, all workers should wake up ... @@ -128,7 +127,9 @@ public int getLogSize() { } public boolean logContains(String message) { - return log.stream().anyMatch(event -> event.getFormattedMessage().equals(message)); + return log.stream() + .map(ILoggingEvent::getFormattedMessage) + .anyMatch(message::equals); } } diff --git a/factory-kit/src/main/java/com/iluwatar/factorykit/App.java b/factory-kit/src/main/java/com/iluwatar/factorykit/App.java index f767fb689359..a47ee38226cc 100644 --- a/factory-kit/src/main/java/com/iluwatar/factorykit/App.java +++ b/factory-kit/src/main/java/com/iluwatar/factorykit/App.java @@ -48,13 +48,13 @@ public class App { * @param args command line args */ public static void main(String[] args) { - WeaponFactory factory = WeaponFactory.factory(builder -> { + var factory = WeaponFactory.factory(builder -> { builder.add(WeaponType.SWORD, Sword::new); builder.add(WeaponType.AXE, Axe::new); builder.add(WeaponType.SPEAR, Spear::new); builder.add(WeaponType.BOW, Bow::new); }); - Weapon axe = factory.create(WeaponType.AXE); + var axe = factory.create(WeaponType.AXE); LOGGER.info(axe.toString()); } } diff --git a/factory-kit/src/main/java/com/iluwatar/factorykit/WeaponFactory.java b/factory-kit/src/main/java/com/iluwatar/factorykit/WeaponFactory.java index 2bdde87f7545..cf520dc0563b 100644 --- a/factory-kit/src/main/java/com/iluwatar/factorykit/WeaponFactory.java +++ b/factory-kit/src/main/java/com/iluwatar/factorykit/WeaponFactory.java @@ -24,7 +24,6 @@ package com.iluwatar.factorykit; import java.util.HashMap; -import java.util.Map; import java.util.function.Consumer; import java.util.function.Supplier; @@ -52,7 +51,7 @@ public interface WeaponFactory { * @return factory with specified {@link Builder}s */ static WeaponFactory factory(Consumer consumer) { - Map> map = new HashMap<>(); + var map = new HashMap>(); consumer.accept(map::put); return name -> map.get(name).get(); } diff --git a/factory-kit/src/test/java/com/iluwatar/factorykit/app/AppTest.java b/factory-kit/src/test/java/com/iluwatar/factorykit/app/AppTest.java index 2d3481c4884d..f1d3c65a2f52 100644 --- a/factory-kit/src/test/java/com/iluwatar/factorykit/app/AppTest.java +++ b/factory-kit/src/test/java/com/iluwatar/factorykit/app/AppTest.java @@ -33,8 +33,7 @@ public class AppTest { @Test public void test() { - String[] args = {}; - App.main(args); + App.main(new String[]{}); } } diff --git a/factory-kit/src/test/java/com/iluwatar/factorykit/factorykit/FactoryKitTest.java b/factory-kit/src/test/java/com/iluwatar/factorykit/factorykit/FactoryKitTest.java index 9892e8497409..fd8241efe262 100644 --- a/factory-kit/src/test/java/com/iluwatar/factorykit/factorykit/FactoryKitTest.java +++ b/factory-kit/src/test/java/com/iluwatar/factorykit/factorykit/FactoryKitTest.java @@ -23,6 +23,8 @@ package com.iluwatar.factorykit.factorykit; +import static org.junit.jupiter.api.Assertions.assertTrue; + import com.iluwatar.factorykit.Axe; import com.iluwatar.factorykit.Spear; import com.iluwatar.factorykit.Sword; @@ -32,10 +34,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertTrue; - - /** - * Test Factory Kit Pattern +/** + * Test Factory Kit Pattern */ public class FactoryKitTest { @@ -51,30 +51,33 @@ public void init() { } /** - * Testing {@link WeaponFactory} to produce a SPEAR asserting that the Weapon is an instance of {@link Spear} + * Testing {@link WeaponFactory} to produce a SPEAR asserting that the Weapon is an instance of + * {@link Spear} */ @Test public void testSpearWeapon() { - Weapon weapon = factory.create(WeaponType.SPEAR); + var weapon = factory.create(WeaponType.SPEAR); verifyWeapon(weapon, Spear.class); } /** - * Testing {@link WeaponFactory} to produce a AXE asserting that the Weapon is an instance of {@link Axe} + * Testing {@link WeaponFactory} to produce a AXE asserting that the Weapon is an instance of + * {@link Axe} */ @Test public void testAxeWeapon() { - Weapon weapon = factory.create(WeaponType.AXE); + var weapon = factory.create(WeaponType.AXE); verifyWeapon(weapon, Axe.class); } /** - * Testing {@link WeaponFactory} to produce a SWORD asserting that the Weapon is an instance of {@link Sword} + * Testing {@link WeaponFactory} to produce a SWORD asserting that the Weapon is an instance of + * {@link Sword} */ @Test public void testWeapon() { - Weapon weapon = factory.create(WeaponType.SWORD); + var weapon = factory.create(WeaponType.SWORD); verifyWeapon(weapon, Sword.class); } diff --git a/factory-method/README.md b/factory-method/README.md index 18cbba2e4a35..48ba6649cbcd 100644 --- a/factory-method/README.md +++ b/factory-method/README.md @@ -55,7 +55,7 @@ public class OrcBlacksmith implements Blacksmith { Now as the customers come the correct type of blacksmith is summoned and requested weapons are manufactured ```java -Blacksmith blacksmith = new ElfBlacksmith(); +var blacksmith = new ElfBlacksmith(); blacksmith.manufactureWeapon(WeaponType.SPEAR); blacksmith.manufactureWeapon(WeaponType.AXE); // Elvish weapons are created diff --git a/factory-method/src/main/java/com/iluwatar/factory/method/App.java b/factory-method/src/main/java/com/iluwatar/factory/method/App.java index 8ebf54b03965..1bfd824578eb 100644 --- a/factory-method/src/main/java/com/iluwatar/factory/method/App.java +++ b/factory-method/src/main/java/com/iluwatar/factory/method/App.java @@ -64,7 +64,7 @@ public App(Blacksmith blacksmith) { */ public static void main(String[] args) { // Lets go to war with Orc weapons - App app = new App(new OrcBlacksmith()); + var app = new App(new OrcBlacksmith()); app.manufactureWeapons(); // Lets go to war with Elf weapons @@ -73,8 +73,7 @@ public static void main(String[] args) { } private void manufactureWeapons() { - Weapon weapon; - weapon = blacksmith.manufactureWeapon(WeaponType.SPEAR); + var weapon = blacksmith.manufactureWeapon(WeaponType.SPEAR); LOGGER.info(weapon.toString()); weapon = blacksmith.manufactureWeapon(WeaponType.AXE); LOGGER.info(weapon.toString()); diff --git a/factory-method/src/main/java/com/iluwatar/factory/method/ElfBlacksmith.java b/factory-method/src/main/java/com/iluwatar/factory/method/ElfBlacksmith.java index 0da783a34352..b6f29e43a937 100644 --- a/factory-method/src/main/java/com/iluwatar/factory/method/ElfBlacksmith.java +++ b/factory-method/src/main/java/com/iluwatar/factory/method/ElfBlacksmith.java @@ -23,6 +23,7 @@ package com.iluwatar.factory.method; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; @@ -35,14 +36,12 @@ public class ElfBlacksmith implements Blacksmith { static { ELFARSENAL = new HashMap<>(WeaponType.values().length); - for (WeaponType type : WeaponType.values()) { - ELFARSENAL.put(type, new ElfWeapon(type)); - } + Arrays.stream(WeaponType.values()).forEach(type -> ELFARSENAL.put(type, new ElfWeapon(type))); } - + @Override public Weapon manufactureWeapon(WeaponType weaponType) { return ELFARSENAL.get(weaponType); } - + } diff --git a/factory-method/src/main/java/com/iluwatar/factory/method/OrcBlacksmith.java b/factory-method/src/main/java/com/iluwatar/factory/method/OrcBlacksmith.java index 376b2ec34283..b048300855df 100644 --- a/factory-method/src/main/java/com/iluwatar/factory/method/OrcBlacksmith.java +++ b/factory-method/src/main/java/com/iluwatar/factory/method/OrcBlacksmith.java @@ -23,6 +23,7 @@ package com.iluwatar.factory.method; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; @@ -35,9 +36,7 @@ public class OrcBlacksmith implements Blacksmith { static { ORCARSENAL = new HashMap<>(WeaponType.values().length); - for (WeaponType type : WeaponType.values()) { - ORCARSENAL.put(type, new OrcWeapon(type)); - } + Arrays.stream(WeaponType.values()).forEach(type -> ORCARSENAL.put(type, new OrcWeapon(type))); } @Override diff --git a/factory-method/src/test/java/com/iluwatar/factory/method/AppTest.java b/factory-method/src/test/java/com/iluwatar/factory/method/AppTest.java index eb71fb167249..c23295d9a0ff 100644 --- a/factory-method/src/test/java/com/iluwatar/factory/method/AppTest.java +++ b/factory-method/src/test/java/com/iluwatar/factory/method/AppTest.java @@ -25,15 +25,12 @@ import org.junit.jupiter.api.Test; -import java.io.IOException; - /** * Tests that Factory Method example runs without errors. */ public class AppTest { @Test - public void test() throws IOException { - String[] args = {}; - App.main(args); + public void test() { + App.main(new String[]{}); } } diff --git a/factory-method/src/test/java/com/iluwatar/factory/method/FactoryMethodTest.java b/factory-method/src/test/java/com/iluwatar/factory/method/FactoryMethodTest.java index eab890002f24..68960204a2b3 100644 --- a/factory-method/src/test/java/com/iluwatar/factory/method/FactoryMethodTest.java +++ b/factory-method/src/test/java/com/iluwatar/factory/method/FactoryMethodTest.java @@ -23,79 +23,80 @@ package com.iluwatar.factory.method; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.junit.jupiter.api.Test; + /** * The Factory Method is a creational design pattern which uses factory methods to deal with the * problem of creating objects without specifying the exact class of object that will be created. * This is done by creating objects via calling a factory method either specified in an interface * and implemented by child classes, or implemented in a base class and optionally overridden by * derived classes—rather than by calling a constructor. - * - *

Factory produces the object of its liking. - * The weapon {@link Weapon} manufactured by the - * blacksmith depends on the kind of factory implementation it is referring to. + * + *

Factory produces the object of its liking. + * The weapon {@link Weapon} manufactured by the blacksmith depends on the kind of factory + * implementation it is referring to. *

*/ public class FactoryMethodTest { /** - * Testing {@link OrcBlacksmith} to produce a SPEAR asserting that the Weapon is an instance - * of {@link OrcWeapon}. + * Testing {@link OrcBlacksmith} to produce a SPEAR asserting that the Weapon is an instance of + * {@link OrcWeapon}. */ @Test public void testOrcBlacksmithWithSpear() { - Blacksmith blacksmith = new OrcBlacksmith(); - Weapon weapon = blacksmith.manufactureWeapon(WeaponType.SPEAR); + var blacksmith = new OrcBlacksmith(); + var weapon = blacksmith.manufactureWeapon(WeaponType.SPEAR); verifyWeapon(weapon, WeaponType.SPEAR, OrcWeapon.class); } /** - * Testing {@link OrcBlacksmith} to produce an AXE asserting that the Weapon is an instance - * of {@link OrcWeapon}. + * Testing {@link OrcBlacksmith} to produce an AXE asserting that the Weapon is an instance of + * {@link OrcWeapon}. */ @Test public void testOrcBlacksmithWithAxe() { - Blacksmith blacksmith = new OrcBlacksmith(); - Weapon weapon = blacksmith.manufactureWeapon(WeaponType.AXE); + var blacksmith = new OrcBlacksmith(); + var weapon = blacksmith.manufactureWeapon(WeaponType.AXE); verifyWeapon(weapon, WeaponType.AXE, OrcWeapon.class); } /** - * Testing {@link ElfBlacksmith} to produce a SHORT_SWORD asserting that the Weapon is an - * instance of {@link ElfWeapon}. + * Testing {@link ElfBlacksmith} to produce a SHORT_SWORD asserting that the Weapon is an instance + * of {@link ElfWeapon}. */ @Test public void testElfBlacksmithWithShortSword() { - Blacksmith blacksmith = new ElfBlacksmith(); - Weapon weapon = blacksmith.manufactureWeapon(WeaponType.SHORT_SWORD); + var blacksmith = new ElfBlacksmith(); + var weapon = blacksmith.manufactureWeapon(WeaponType.SHORT_SWORD); verifyWeapon(weapon, WeaponType.SHORT_SWORD, ElfWeapon.class); } /** - * Testing {@link ElfBlacksmith} to produce a SPEAR asserting that the Weapon is an instance - * of {@link ElfWeapon}. + * Testing {@link ElfBlacksmith} to produce a SPEAR asserting that the Weapon is an instance of + * {@link ElfWeapon}. */ @Test public void testElfBlacksmithWithSpear() { - Blacksmith blacksmith = new ElfBlacksmith(); - Weapon weapon = blacksmith.manufactureWeapon(WeaponType.SPEAR); + var blacksmith = new ElfBlacksmith(); + var weapon = blacksmith.manufactureWeapon(WeaponType.SPEAR); verifyWeapon(weapon, WeaponType.SPEAR, ElfWeapon.class); } /** * This method asserts that the weapon object that is passed is an instance of the clazz and the * weapon is of type expectedWeaponType. - * - * @param weapon weapon object which is to be verified + * + * @param weapon weapon object which is to be verified * @param expectedWeaponType expected WeaponType of the weapon - * @param clazz expected class of the weapon + * @param clazz expected class of the weapon */ private void verifyWeapon(Weapon weapon, WeaponType expectedWeaponType, Class clazz) { assertTrue(clazz.isInstance(weapon), "Weapon must be an object of: " + clazz.getName()); - assertEquals(expectedWeaponType, weapon.getWeaponType(), "Weapon must be of weaponType: " + expectedWeaponType); + assertEquals(expectedWeaponType, weapon + .getWeaponType(), "Weapon must be of weaponType: " + expectedWeaponType); } } diff --git a/feature-toggle/src/main/java/com/iluwatar/featuretoggle/App.java b/feature-toggle/src/main/java/com/iluwatar/featuretoggle/App.java index af8e731c8a98..ceb926b63f68 100644 --- a/feature-toggle/src/main/java/com/iluwatar/featuretoggle/App.java +++ b/feature-toggle/src/main/java/com/iluwatar/featuretoggle/App.java @@ -72,33 +72,33 @@ public class App { */ public static void main(String[] args) { - final Properties properties = new Properties(); + final var properties = new Properties(); properties.put("enhancedWelcome", true); - Service service = new PropertiesFeatureToggleVersion(properties); - final String welcomeMessage = service.getWelcomeMessage(new User("Jamie No Code")); + var service = new PropertiesFeatureToggleVersion(properties); + final var welcomeMessage = service.getWelcomeMessage(new User("Jamie No Code")); LOGGER.info(welcomeMessage); // --------------------------------------------- - final Properties turnedOff = new Properties(); + final var turnedOff = new Properties(); turnedOff.put("enhancedWelcome", false); - Service turnedOffService = new PropertiesFeatureToggleVersion(turnedOff); - final String welcomeMessageturnedOff = + var turnedOffService = new PropertiesFeatureToggleVersion(turnedOff); + final var welcomeMessageturnedOff = turnedOffService.getWelcomeMessage(new User("Jamie No Code")); LOGGER.info(welcomeMessageturnedOff); // -------------------------------------------- - Service service2 = new TieredFeatureToggleVersion(); + var service2 = new TieredFeatureToggleVersion(); - final User paidUser = new User("Jamie Coder"); - final User freeUser = new User("Alan Defect"); + final var paidUser = new User("Jamie Coder"); + final var freeUser = new User("Alan Defect"); UserGroup.addUserToPaidGroup(paidUser); UserGroup.addUserToFreeGroup(freeUser); - final String welcomeMessagePaidUser = service2.getWelcomeMessage(paidUser); - final String welcomeMessageFreeUser = service2.getWelcomeMessage(freeUser); + final var welcomeMessagePaidUser = service2.getWelcomeMessage(paidUser); + final var welcomeMessageFreeUser = service2.getWelcomeMessage(freeUser); LOGGER.info(welcomeMessageFreeUser); LOGGER.info(welcomeMessagePaidUser); } diff --git a/feature-toggle/src/test/java/com/iluwatar/featuretoggle/pattern/propertiesversion/PropertiesFeatureToggleVersionTest.java b/feature-toggle/src/test/java/com/iluwatar/featuretoggle/pattern/propertiesversion/PropertiesFeatureToggleVersionTest.java index 0bab8bca4ba2..69641a7ada37 100644 --- a/feature-toggle/src/test/java/com/iluwatar/featuretoggle/pattern/propertiesversion/PropertiesFeatureToggleVersionTest.java +++ b/feature-toggle/src/test/java/com/iluwatar/featuretoggle/pattern/propertiesversion/PropertiesFeatureToggleVersionTest.java @@ -23,17 +23,15 @@ package com.iluwatar.featuretoggle.pattern.propertiesversion; -import com.iluwatar.featuretoggle.pattern.Service; -import com.iluwatar.featuretoggle.user.User; -import org.junit.jupiter.api.Test; - -import java.util.Properties; - import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; +import com.iluwatar.featuretoggle.user.User; +import java.util.Properties; +import org.junit.jupiter.api.Test; + /** * Test Properties Toggle */ @@ -49,7 +47,7 @@ public void testNullPropertiesPassed() { @Test public void testNonBooleanProperty() { assertThrows(IllegalArgumentException.class, () -> { - final Properties properties = new Properties(); + final var properties = new Properties(); properties.setProperty("enhancedWelcome", "Something"); new PropertiesFeatureToggleVersion(properties); }); @@ -57,21 +55,21 @@ public void testNonBooleanProperty() { @Test public void testFeatureTurnedOn() { - final Properties properties = new Properties(); + final var properties = new Properties(); properties.put("enhancedWelcome", true); - Service service = new PropertiesFeatureToggleVersion(properties); + var service = new PropertiesFeatureToggleVersion(properties); assertTrue(service.isEnhanced()); - final String welcomeMessage = service.getWelcomeMessage(new User("Jamie No Code")); + final var welcomeMessage = service.getWelcomeMessage(new User("Jamie No Code")); assertEquals("Welcome Jamie No Code. You're using the enhanced welcome message.", welcomeMessage); } @Test public void testFeatureTurnedOff() { - final Properties properties = new Properties(); + final var properties = new Properties(); properties.put("enhancedWelcome", false); - Service service = new PropertiesFeatureToggleVersion(properties); + var service = new PropertiesFeatureToggleVersion(properties); assertFalse(service.isEnhanced()); - final String welcomeMessage = service.getWelcomeMessage(new User("Jamie No Code")); + final var welcomeMessage = service.getWelcomeMessage(new User("Jamie No Code")); assertEquals("Welcome to the application.", welcomeMessage); } } diff --git a/feature-toggle/src/test/java/com/iluwatar/featuretoggle/pattern/tieredversion/TieredFeatureToggleVersionTest.java b/feature-toggle/src/test/java/com/iluwatar/featuretoggle/pattern/tieredversion/TieredFeatureToggleVersionTest.java index 1d161c741a74..bb7195b7d2e6 100644 --- a/feature-toggle/src/test/java/com/iluwatar/featuretoggle/pattern/tieredversion/TieredFeatureToggleVersionTest.java +++ b/feature-toggle/src/test/java/com/iluwatar/featuretoggle/pattern/tieredversion/TieredFeatureToggleVersionTest.java @@ -23,15 +23,15 @@ package com.iluwatar.featuretoggle.pattern.tieredversion; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + import com.iluwatar.featuretoggle.pattern.Service; import com.iluwatar.featuretoggle.user.User; import com.iluwatar.featuretoggle.user.UserGroup; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - /** * Test Tiered Feature Toggle */ @@ -49,15 +49,15 @@ public void setUp() { @Test public void testGetWelcomeMessageForPaidUser() { - final String welcomeMessage = service.getWelcomeMessage(paidUser); - final String expected = "You're amazing Jamie Coder. Thanks for paying for this awesome software."; + final var welcomeMessage = service.getWelcomeMessage(paidUser); + final var expected = "You're amazing Jamie Coder. Thanks for paying for this awesome software."; assertEquals(expected, welcomeMessage); } @Test public void testGetWelcomeMessageForFreeUser() { - final String welcomeMessage = service.getWelcomeMessage(freeUser); - final String expected = "I suppose you can use this software."; + final var welcomeMessage = service.getWelcomeMessage(freeUser); + final var expected = "I suppose you can use this software."; assertEquals(expected, welcomeMessage); } diff --git a/feature-toggle/src/test/java/com/iluwatar/featuretoggle/user/UserGroupTest.java b/feature-toggle/src/test/java/com/iluwatar/featuretoggle/user/UserGroupTest.java index 9490b59a5967..9bc29fabfcf7 100644 --- a/feature-toggle/src/test/java/com/iluwatar/featuretoggle/user/UserGroupTest.java +++ b/feature-toggle/src/test/java/com/iluwatar/featuretoggle/user/UserGroupTest.java @@ -23,34 +23,34 @@ package com.iluwatar.featuretoggle.user; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.junit.jupiter.api.Test; + /** * Test User Group specific feature */ public class UserGroupTest { @Test - public void testAddUserToFreeGroup() throws Exception { - User user = new User("Free User"); + public void testAddUserToFreeGroup() { + var user = new User("Free User"); UserGroup.addUserToFreeGroup(user); assertFalse(UserGroup.isPaid(user)); } @Test - public void testAddUserToPaidGroup() throws Exception { - User user = new User("Paid User"); + public void testAddUserToPaidGroup() { + var user = new User("Paid User"); UserGroup.addUserToPaidGroup(user); assertTrue(UserGroup.isPaid(user)); } @Test - public void testAddUserToPaidWhenOnFree() throws Exception { - User user = new User("Paid User"); + public void testAddUserToPaidWhenOnFree() { + var user = new User("Paid User"); UserGroup.addUserToFreeGroup(user); assertThrows(IllegalArgumentException.class, () -> { UserGroup.addUserToPaidGroup(user); @@ -58,8 +58,8 @@ public void testAddUserToPaidWhenOnFree() throws Exception { } @Test - public void testAddUserToFreeWhenOnPaid() throws Exception { - User user = new User("Free User"); + public void testAddUserToFreeWhenOnPaid() { + var user = new User("Free User"); UserGroup.addUserToPaidGroup(user); assertThrows(IllegalArgumentException.class, () -> { UserGroup.addUserToFreeGroup(user); diff --git a/fluentinterface/src/main/java/com/iluwatar/fluentinterface/app/App.java b/fluentinterface/src/main/java/com/iluwatar/fluentinterface/app/App.java index b3f8fc0b6a32..547c657e4c53 100644 --- a/fluentinterface/src/main/java/com/iluwatar/fluentinterface/app/App.java +++ b/fluentinterface/src/main/java/com/iluwatar/fluentinterface/app/App.java @@ -28,8 +28,6 @@ import com.iluwatar.fluentinterface.fluentiterable.FluentIterable; import com.iluwatar.fluentinterface.fluentiterable.lazy.LazyFluentIterable; import com.iluwatar.fluentinterface.fluentiterable.simple.SimpleFluentIterable; -import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.StringJoiner; import java.util.function.Function; @@ -57,19 +55,23 @@ public class App { */ public static void main(String[] args) { - List integerList = new ArrayList<>(); - integerList.addAll(List.of(1, -61, 14, -22, 18, -87, 6, 64, -82, 26, -98, 97, 45, 23, 2, - -68, 45)); + var integerList = List.of(1, -61, 14, -22, 18, -87, 6, 64, -82, 26, -98, 97, 45, 23, 2, -68); prettyPrint("The initial list contains: ", integerList); - List firstFiveNegatives = - SimpleFluentIterable.fromCopyOf(integerList).filter(negatives()).first(3).asList(); + var firstFiveNegatives = SimpleFluentIterable + .fromCopyOf(integerList) + .filter(negatives()) + .first(3) + .asList(); prettyPrint("The first three negative values are: ", firstFiveNegatives); - List lastTwoPositives = - SimpleFluentIterable.fromCopyOf(integerList).filter(positives()).last(2).asList(); + var lastTwoPositives = SimpleFluentIterable + .fromCopyOf(integerList) + .filter(positives()) + .last(2) + .asList(); prettyPrint("The last two positive values are: ", lastTwoPositives); SimpleFluentIterable @@ -79,15 +81,21 @@ public static void main(String[] args) { .ifPresent(evenNumber -> LOGGER.info("The first even number is: {}", evenNumber)); - List transformedList = - SimpleFluentIterable.fromCopyOf(integerList).filter(negatives()).map(transformToString()) - .asList(); + var transformedList = SimpleFluentIterable + .fromCopyOf(integerList) + .filter(negatives()) + .map(transformToString()) + .asList(); prettyPrint("A string-mapped list of negative numbers contains: ", transformedList); - List lastTwoOfFirstFourStringMapped = - LazyFluentIterable.from(integerList).filter(positives()).first(4).last(2) - .map(number -> "String[" + valueOf(number) + "]").asList(); + var lastTwoOfFirstFourStringMapped = LazyFluentIterable + .from(integerList) + .filter(positives()) + .first(4) + .last(2) + .map(number -> "String[" + valueOf(number) + "]") + .asList(); prettyPrint("The lazy list contains the last two of the first four positive numbers " + "mapped to Strings: ", lastTwoOfFirstFourStringMapped); @@ -96,12 +104,11 @@ public static void main(String[] args) { .filter(negatives()) .first(2) .last() - .ifPresent(lastOfFirstTwo -> LOGGER - .info("The last of the first two negatives is: {}", lastOfFirstTwo)); + .ifPresent(number -> LOGGER.info("Last amongst first two negatives: {}", number)); } private static Function transformToString() { - return integer -> "String[" + valueOf(integer) + "]"; + return integer -> "String[" + integer + "]"; } private static Predicate negatives() { @@ -116,14 +123,12 @@ private static void prettyPrint(String prefix, Iterable iterable) { prettyPrint(", ", prefix, iterable); } - private static void prettyPrint(String delimiter, String prefix, - Iterable iterable) { - StringJoiner joiner = new StringJoiner(delimiter, prefix, "."); - Iterator iterator = iterable.iterator(); - while (iterator.hasNext()) { - joiner.add(iterator.next().toString()); - } - + private static void prettyPrint( + String delimiter, String prefix, + Iterable iterable + ) { + var joiner = new StringJoiner(delimiter, prefix, "."); + iterable.forEach(e -> joiner.add(e.toString())); LOGGER.info(joiner.toString()); } } diff --git a/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/FluentIterable.java b/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/FluentIterable.java index ea8d7c9bf1fb..2ffa4d3dd355 100644 --- a/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/FluentIterable.java +++ b/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/FluentIterable.java @@ -24,7 +24,6 @@ package com.iluwatar.fluentinterface.fluentiterable; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Optional; import java.util.function.Function; @@ -102,11 +101,8 @@ public interface FluentIterable extends Iterable { * @return a list with all objects of the given iterator */ static List copyToList(Iterable iterable) { - List copy = new ArrayList<>(); - Iterator iterator = iterable.iterator(); - while (iterator.hasNext()) { - copy.add(iterator.next()); - } + var copy = new ArrayList(); + iterable.forEach(copy::add); return copy; } } diff --git a/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/lazy/DecoratingIterator.java b/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/lazy/DecoratingIterator.java index 711b54fc9c1a..c0b52cec7e03 100644 --- a/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/lazy/DecoratingIterator.java +++ b/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/lazy/DecoratingIterator.java @@ -65,7 +65,7 @@ public final E next() { if (next == null) { return fromIterator.next(); } else { - final E result = next; + final var result = next; next = null; return result; } diff --git a/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/lazy/LazyFluentIterable.java b/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/lazy/LazyFluentIterable.java index 82173c513189..f001c532f2c0 100644 --- a/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/lazy/LazyFluentIterable.java +++ b/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/lazy/LazyFluentIterable.java @@ -67,14 +67,14 @@ protected LazyFluentIterable() { */ @Override public FluentIterable filter(Predicate predicate) { - return new LazyFluentIterable() { + return new LazyFluentIterable<>() { @Override public Iterator iterator() { return new DecoratingIterator(iterable.iterator()) { @Override public E computeNext() { while (fromIterator.hasNext()) { - E candidate = fromIterator.next(); + var candidate = fromIterator.next(); if (predicate.test(candidate)) { return candidate; } @@ -94,7 +94,7 @@ public E computeNext() { */ @Override public Optional first() { - Iterator resultIterator = first(1).iterator(); + var resultIterator = first(1).iterator(); return resultIterator.hasNext() ? Optional.of(resultIterator.next()) : Optional.empty(); } @@ -116,7 +116,7 @@ public Iterator iterator() { @Override public E computeNext() { if (currentIndex < count && fromIterator.hasNext()) { - E candidate = fromIterator.next(); + var candidate = fromIterator.next(); currentIndex++; return candidate; } @@ -134,7 +134,7 @@ public E computeNext() { */ @Override public Optional last() { - Iterator resultIterator = last(1).iterator(); + var resultIterator = last(1).iterator(); return resultIterator.hasNext() ? Optional.of(resultIterator.next()) : Optional.empty(); } @@ -162,25 +162,20 @@ public Iterator iterator() { public E computeNext() { initialize(); - E candidate = null; while (currentIndex < stopIndex && fromIterator.hasNext()) { currentIndex++; fromIterator.next(); } if (currentIndex >= stopIndex && fromIterator.hasNext()) { - candidate = fromIterator.next(); + return fromIterator.next(); } - return candidate; + return null; } private void initialize() { if (list == null) { list = new ArrayList<>(); - Iterator newIterator = iterable.iterator(); - while (newIterator.hasNext()) { - list.add(newIterator.next()); - } - + iterable.forEach(list::add); totalElementsCount = list.size(); stopIndex = totalElementsCount - count; } diff --git a/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/simple/SimpleFluentIterable.java b/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/simple/SimpleFluentIterable.java index 5165ca765e37..b6a0686532ec 100644 --- a/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/simple/SimpleFluentIterable.java +++ b/fluentinterface/src/main/java/com/iluwatar/fluentinterface/fluentiterable/simple/SimpleFluentIterable.java @@ -62,9 +62,9 @@ protected SimpleFluentIterable(Iterable iterable) { */ @Override public final FluentIterable filter(Predicate predicate) { - Iterator iterator = iterator(); + var iterator = iterator(); while (iterator.hasNext()) { - E nextElement = iterator.next(); + var nextElement = iterator.next(); if (!predicate.test(nextElement)) { iterator.remove(); } @@ -79,7 +79,7 @@ public final FluentIterable filter(Predicate predicate) { */ @Override public final Optional first() { - Iterator resultIterator = first(1).iterator(); + var resultIterator = first(1).iterator(); return resultIterator.hasNext() ? Optional.of(resultIterator.next()) : Optional.empty(); } @@ -92,8 +92,8 @@ public final Optional first() { */ @Override public final FluentIterable first(int count) { - Iterator iterator = iterator(); - int currentCount = 0; + var iterator = iterator(); + var currentCount = 0; while (iterator.hasNext()) { iterator.next(); if (currentCount >= count) { @@ -111,7 +111,7 @@ public final FluentIterable first(int count) { */ @Override public final Optional last() { - List list = last(1).asList(); + var list = last(1).asList(); if (list.isEmpty()) { return Optional.empty(); } @@ -127,9 +127,9 @@ public final Optional last() { */ @Override public final FluentIterable last(int count) { - int remainingElementsCount = getRemainingElementsCount(); - Iterator iterator = iterator(); - int currentIndex = 0; + var remainingElementsCount = getRemainingElementsCount(); + var iterator = iterator(); + var currentIndex = 0; while (iterator.hasNext()) { iterator.next(); if (currentIndex < remainingElementsCount - count) { @@ -150,11 +150,8 @@ public final FluentIterable last(int count) { */ @Override public final FluentIterable map(Function function) { - List temporaryList = new ArrayList<>(); - Iterator iterator = iterator(); - while (iterator.hasNext()) { - temporaryList.add(function.apply(iterator.next())); - } + var temporaryList = new ArrayList(); + this.forEach(e -> temporaryList.add(function.apply(e))); return from(temporaryList); } @@ -178,7 +175,7 @@ public static FluentIterable from(Iterable iterable) { } public static FluentIterable fromCopyOf(Iterable iterable) { - List copy = FluentIterable.copyToList(iterable); + var copy = FluentIterable.copyToList(iterable); return new SimpleFluentIterable<>(copy); } @@ -204,10 +201,8 @@ public Spliterator spliterator() { * @return the count of remaining objects of the current Iterable */ public final int getRemainingElementsCount() { - int counter = 0; - Iterator iterator = iterator(); - while (iterator.hasNext()) { - iterator.next(); + var counter = 0; + for (var ignored : this) { counter++; } return counter; @@ -219,10 +214,8 @@ public final int getRemainingElementsCount() { * @return a new List with the remaining objects. */ public static List toList(Iterator iterator) { - List copy = new ArrayList<>(); - while (iterator.hasNext()) { - copy.add(iterator.next()); - } + var copy = new ArrayList(); + iterator.forEachRemaining(copy::add); return copy; } } diff --git a/fluentinterface/src/test/java/com/iluwatar/fluentinterface/app/AppTest.java b/fluentinterface/src/test/java/com/iluwatar/fluentinterface/app/AppTest.java index f6543f46b3e5..6f25d841691d 100644 --- a/fluentinterface/src/test/java/com/iluwatar/fluentinterface/app/AppTest.java +++ b/fluentinterface/src/test/java/com/iluwatar/fluentinterface/app/AppTest.java @@ -32,7 +32,6 @@ public class AppTest { @Test public void test() { - String[] args = {}; - App.main(args); + App.main(new String[]{}); } } diff --git a/fluentinterface/src/test/java/com/iluwatar/fluentinterface/fluentiterable/FluentIterableTest.java b/fluentinterface/src/test/java/com/iluwatar/fluentinterface/fluentiterable/FluentIterableTest.java index 4ee30d3e5734..2ae69eaf84d3 100644 --- a/fluentinterface/src/test/java/com/iluwatar/fluentinterface/fluentiterable/FluentIterableTest.java +++ b/fluentinterface/src/test/java/com/iluwatar/fluentinterface/fluentiterable/FluentIterableTest.java @@ -23,16 +23,19 @@ package com.iluwatar.fluentinterface.fluentiterable; -import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoMoreInteractions; import java.util.Collections; import java.util.List; -import java.util.Optional; -import java.util.Spliterator; import java.util.function.Consumer; - -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.Mockito.*; +import org.junit.jupiter.api.Test; /** * Date: 12/12/15 - 7:00 PM @@ -50,28 +53,28 @@ public abstract class FluentIterableTest { protected abstract FluentIterable createFluentIterable(final Iterable integers); @Test - public void testFirst() throws Exception { - final List integers = List.of(1, 2, 3, 10, 9, 8); - final Optional first = createFluentIterable(integers).first(); + public void testFirst() { + final var integers = List.of(1, 2, 3, 10, 9, 8); + final var first = createFluentIterable(integers).first(); assertNotNull(first); assertTrue(first.isPresent()); assertEquals(integers.get(0), first.get()); } @Test - public void testFirstEmptyCollection() throws Exception { - final List integers = Collections.emptyList(); - final Optional first = createFluentIterable(integers).first(); + public void testFirstEmptyCollection() { + final var integers = Collections.emptyList(); + final var first = createFluentIterable(integers).first(); assertNotNull(first); assertFalse(first.isPresent()); } @Test - public void testFirstCount() throws Exception { - final List integers = List.of(1, 2, 3, 10, 9, 8); - final List first4 = createFluentIterable(integers) - .first(4) - .asList(); + public void testFirstCount() { + final var integers = List.of(1, 2, 3, 10, 9, 8); + final var first4 = createFluentIterable(integers) + .first(4) + .asList(); assertNotNull(first4); assertEquals(4, first4.size()); @@ -83,11 +86,11 @@ public void testFirstCount() throws Exception { } @Test - public void testFirstCountLessItems() throws Exception { - final List integers = List.of(1, 2, 3); - final List first4 = createFluentIterable(integers) - .first(4) - .asList(); + public void testFirstCountLessItems() { + final var integers = List.of(1, 2, 3); + final var first4 = createFluentIterable(integers) + .first(4) + .asList(); assertNotNull(first4); assertEquals(3, first4.size()); @@ -98,28 +101,28 @@ public void testFirstCountLessItems() throws Exception { } @Test - public void testLast() throws Exception { - final List integers = List.of(1, 2, 3, 10, 9, 8); - final Optional last = createFluentIterable(integers).last(); + public void testLast() { + final var integers = List.of(1, 2, 3, 10, 9, 8); + final var last = createFluentIterable(integers).last(); assertNotNull(last); assertTrue(last.isPresent()); assertEquals(integers.get(integers.size() - 1), last.get()); } @Test - public void testLastEmptyCollection() throws Exception { - final List integers = Collections.emptyList(); - final Optional last = createFluentIterable(integers).last(); + public void testLastEmptyCollection() { + final var integers = Collections.emptyList(); + final var last = createFluentIterable(integers).last(); assertNotNull(last); assertFalse(last.isPresent()); } @Test - public void testLastCount() throws Exception { - final List integers = List.of(1, 2, 3, 10, 9, 8); - final List last4 = createFluentIterable(integers) - .last(4) - .asList(); + public void testLastCount() { + final var integers = List.of(1, 2, 3, 10, 9, 8); + final var last4 = createFluentIterable(integers) + .last(4) + .asList(); assertNotNull(last4); assertEquals(4, last4.size()); @@ -130,11 +133,11 @@ public void testLastCount() throws Exception { } @Test - public void testLastCountLessItems() throws Exception { - final List integers = List.of(1, 2, 3); - final List last4 = createFluentIterable(integers) - .last(4) - .asList(); + public void testLastCountLessItems() { + final var integers = List.of(1, 2, 3); + final var last4 = createFluentIterable(integers) + .last(4) + .asList(); assertNotNull(last4); assertEquals(3, last4.size()); @@ -145,11 +148,11 @@ public void testLastCountLessItems() throws Exception { } @Test - public void testFilter() throws Exception { - final List integers = List.of(1, 2, 3, 10, 9, 8); - final List evenItems = createFluentIterable(integers) - .filter(i -> i % 2 == 0) - .asList(); + public void testFilter() { + final var integers = List.of(1, 2, 3, 10, 9, 8); + final var evenItems = createFluentIterable(integers) + .filter(i -> i % 2 == 0) + .asList(); assertNotNull(evenItems); assertEquals(3, evenItems.size()); @@ -159,11 +162,11 @@ public void testFilter() throws Exception { } @Test - public void testMap() throws Exception { - final List integers = List.of(1, 2, 3); - final List longs = createFluentIterable(integers) - .map(Integer::longValue) - .asList(); + public void testMap() { + final var integers = List.of(1, 2, 3); + final var longs = createFluentIterable(integers) + .map(Integer::longValue) + .asList(); assertNotNull(longs); assertEquals(integers.size(), longs.size()); @@ -174,7 +177,7 @@ public void testMap() throws Exception { @Test public void testForEach() { - final List integers = List.of(1, 2, 3); + final var integers = List.of(1, 2, 3); final Consumer consumer = mock(Consumer.class); createFluentIterable(integers).forEach(consumer); @@ -188,8 +191,8 @@ public void testForEach() { @Test public void testSpliterator() throws Exception { - final List integers = List.of(1, 2, 3); - final Spliterator split = createFluentIterable(integers).spliterator(); + final var integers = List.of(1, 2, 3); + final var split = createFluentIterable(integers).spliterator(); assertNotNull(split); } diff --git a/flux/src/main/java/com/iluwatar/flux/app/App.java b/flux/src/main/java/com/iluwatar/flux/app/App.java index 13a16c977437..1344d9eaa101 100644 --- a/flux/src/main/java/com/iluwatar/flux/app/App.java +++ b/flux/src/main/java/com/iluwatar/flux/app/App.java @@ -54,13 +54,13 @@ public class App { public static void main(String[] args) { // initialize and wire the system - MenuStore menuStore = new MenuStore(); + var menuStore = new MenuStore(); Dispatcher.getInstance().registerStore(menuStore); - ContentStore contentStore = new ContentStore(); + var contentStore = new ContentStore(); Dispatcher.getInstance().registerStore(contentStore); - MenuView menuView = new MenuView(); + var menuView = new MenuView(); menuStore.registerView(menuView); - ContentView contentView = new ContentView(); + var contentView = new ContentView(); contentStore.registerView(contentView); // render initial view diff --git a/flux/src/main/java/com/iluwatar/flux/dispatcher/Dispatcher.java b/flux/src/main/java/com/iluwatar/flux/dispatcher/Dispatcher.java index 206ef8b3fdd0..cf09ecf6866e 100644 --- a/flux/src/main/java/com/iluwatar/flux/dispatcher/Dispatcher.java +++ b/flux/src/main/java/com/iluwatar/flux/dispatcher/Dispatcher.java @@ -70,6 +70,6 @@ public void menuItemSelected(MenuItem menuItem) { } private void dispatchAction(Action action) { - stores.stream().forEach(store -> store.onAction(action)); + stores.forEach(store -> store.onAction(action)); } } diff --git a/flux/src/main/java/com/iluwatar/flux/store/ContentStore.java b/flux/src/main/java/com/iluwatar/flux/store/ContentStore.java index be2a5e419bdb..60d3faea0e2e 100644 --- a/flux/src/main/java/com/iluwatar/flux/store/ContentStore.java +++ b/flux/src/main/java/com/iluwatar/flux/store/ContentStore.java @@ -38,7 +38,7 @@ public class ContentStore extends Store { @Override public void onAction(Action action) { if (action.getType().equals(ActionType.CONTENT_CHANGED)) { - ContentAction contentAction = (ContentAction) action; + var contentAction = (ContentAction) action; content = contentAction.getContent(); notifyChange(); } diff --git a/flux/src/main/java/com/iluwatar/flux/store/MenuStore.java b/flux/src/main/java/com/iluwatar/flux/store/MenuStore.java index 4757a563e63f..819500c8a360 100644 --- a/flux/src/main/java/com/iluwatar/flux/store/MenuStore.java +++ b/flux/src/main/java/com/iluwatar/flux/store/MenuStore.java @@ -38,7 +38,7 @@ public class MenuStore extends Store { @Override public void onAction(Action action) { if (action.getType().equals(ActionType.MENU_ITEM_SELECTED)) { - MenuAction menuAction = (MenuAction) action; + var menuAction = (MenuAction) action; selected = menuAction.getMenuItem(); notifyChange(); } diff --git a/flux/src/main/java/com/iluwatar/flux/store/Store.java b/flux/src/main/java/com/iluwatar/flux/store/Store.java index b0fc8bac0d23..cfbdf4af54ef 100644 --- a/flux/src/main/java/com/iluwatar/flux/store/Store.java +++ b/flux/src/main/java/com/iluwatar/flux/store/Store.java @@ -42,6 +42,6 @@ public void registerView(View view) { } protected void notifyChange() { - views.stream().forEach(view -> view.storeChanged(this)); + views.forEach(view -> view.storeChanged(this)); } } diff --git a/flux/src/main/java/com/iluwatar/flux/view/ContentView.java b/flux/src/main/java/com/iluwatar/flux/view/ContentView.java index fc794d8dc6bf..b71a2c53ba38 100644 --- a/flux/src/main/java/com/iluwatar/flux/view/ContentView.java +++ b/flux/src/main/java/com/iluwatar/flux/view/ContentView.java @@ -40,7 +40,7 @@ public class ContentView implements View { @Override public void storeChanged(Store store) { - ContentStore contentStore = (ContentStore) store; + var contentStore = (ContentStore) store; content = contentStore.getContent(); render(); } diff --git a/flux/src/main/java/com/iluwatar/flux/view/MenuView.java b/flux/src/main/java/com/iluwatar/flux/view/MenuView.java index c09d146a9298..f4cdf7a4d7de 100644 --- a/flux/src/main/java/com/iluwatar/flux/view/MenuView.java +++ b/flux/src/main/java/com/iluwatar/flux/view/MenuView.java @@ -41,14 +41,14 @@ public class MenuView implements View { @Override public void storeChanged(Store store) { - MenuStore menuStore = (MenuStore) store; + var menuStore = (MenuStore) store; selected = menuStore.getSelected(); render(); } @Override public void render() { - for (MenuItem item : MenuItem.values()) { + for (var item : MenuItem.values()) { if (selected.equals(item)) { LOGGER.info("* {}", item); } else { diff --git a/flux/src/test/java/com/iluwatar/flux/action/ContentTest.java b/flux/src/test/java/com/iluwatar/flux/action/ContentTest.java index 3e047db216ca..f0f41f8ce0f7 100644 --- a/flux/src/test/java/com/iluwatar/flux/action/ContentTest.java +++ b/flux/src/test/java/com/iluwatar/flux/action/ContentTest.java @@ -23,11 +23,11 @@ package com.iluwatar.flux.action; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; +import org.junit.jupiter.api.Test; + /** * Date: 12/12/15 - 10:11 PM * @@ -36,9 +36,9 @@ public class ContentTest { @Test - public void testToString() throws Exception { - for (final Content content : Content.values()) { - final String toString = content.toString(); + public void testToString() { + for (final var content : Content.values()) { + final var toString = content.toString(); assertNotNull(toString); assertFalse(toString.trim().isEmpty()); } diff --git a/flux/src/test/java/com/iluwatar/flux/action/MenuItemTest.java b/flux/src/test/java/com/iluwatar/flux/action/MenuItemTest.java index 272c3a31b7c0..374f27daaa4c 100644 --- a/flux/src/test/java/com/iluwatar/flux/action/MenuItemTest.java +++ b/flux/src/test/java/com/iluwatar/flux/action/MenuItemTest.java @@ -23,11 +23,11 @@ package com.iluwatar.flux.action; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; +import org.junit.jupiter.api.Test; + /** * Date: 12/12/15 - 10:15 PM * @@ -36,9 +36,9 @@ public class MenuItemTest { @Test - public void testToString() throws Exception { - for (final MenuItem menuItem : MenuItem.values()) { - final String toString = menuItem.toString(); + public void testToString() { + for (final var menuItem : MenuItem.values()) { + final var toString = menuItem.toString(); assertNotNull(toString); assertFalse(toString.trim().isEmpty()); } diff --git a/flux/src/test/java/com/iluwatar/flux/app/AppTest.java b/flux/src/test/java/com/iluwatar/flux/app/AppTest.java index f4b58a9b11cb..8916ad4de856 100644 --- a/flux/src/test/java/com/iluwatar/flux/app/AppTest.java +++ b/flux/src/test/java/com/iluwatar/flux/app/AppTest.java @@ -26,15 +26,12 @@ import org.junit.jupiter.api.Test; /** - * * Application test - * */ public class AppTest { @Test public void test() { - String[] args = {}; - App.main(args); + App.main(new String[]{}); } } diff --git a/flux/src/test/java/com/iluwatar/flux/dispatcher/DispatcherTest.java b/flux/src/test/java/com/iluwatar/flux/dispatcher/DispatcherTest.java index 33ee1b69d5c5..5212a57d8396 100644 --- a/flux/src/test/java/com/iluwatar/flux/dispatcher/DispatcherTest.java +++ b/flux/src/test/java/com/iluwatar/flux/dispatcher/DispatcherTest.java @@ -23,6 +23,14 @@ package com.iluwatar.flux.dispatcher; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoMoreInteractions; + import com.iluwatar.flux.action.Action; import com.iluwatar.flux.action.ActionType; import com.iluwatar.flux.action.Content; @@ -30,23 +38,12 @@ import com.iluwatar.flux.action.MenuAction; import com.iluwatar.flux.action.MenuItem; import com.iluwatar.flux.store.Store; +import java.util.List; +import java.util.stream.Collectors; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.util.List; -import java.util.stream.Collectors; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertSame; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyNoMoreInteractions; - /** * Date: 12/12/15 - 8:22 PM * @@ -61,53 +58,56 @@ public class DispatcherTest { */ @BeforeEach public void setUp() throws Exception { - final Constructor constructor; - constructor = Dispatcher.class.getDeclaredConstructor(); + final var constructor = Dispatcher.class.getDeclaredConstructor(); constructor.setAccessible(true); - final Field field = Dispatcher.class.getDeclaredField("instance"); + final var field = Dispatcher.class.getDeclaredField("instance"); field.setAccessible(true); field.set(Dispatcher.getInstance(), constructor.newInstance()); } @Test - public void testGetInstance() throws Exception { + public void testGetInstance() { assertNotNull(Dispatcher.getInstance()); assertSame(Dispatcher.getInstance(), Dispatcher.getInstance()); } @Test - public void testMenuItemSelected() throws Exception { - final Dispatcher dispatcher = Dispatcher.getInstance(); + public void testMenuItemSelected() { + final var dispatcher = Dispatcher.getInstance(); - final Store store = mock(Store.class); + final var store = mock(Store.class); dispatcher.registerStore(store); dispatcher.menuItemSelected(MenuItem.HOME); dispatcher.menuItemSelected(MenuItem.COMPANY); // We expect 4 events, 2 menu selections and 2 content change actions - final ArgumentCaptor actionCaptor = ArgumentCaptor.forClass(Action.class); + final var actionCaptor = ArgumentCaptor.forClass(Action.class); verify(store, times(4)).onAction(actionCaptor.capture()); verifyNoMoreInteractions(store); - final List actions = actionCaptor.getAllValues(); - final List menuActions = actions.stream() - .filter(a -> a.getType().equals(ActionType.MENU_ITEM_SELECTED)) - .map(a -> (MenuAction) a) - .collect(Collectors.toList()); + final var actions = actionCaptor.getAllValues(); + final var menuActions = actions.stream() + .filter(a -> a.getType().equals(ActionType.MENU_ITEM_SELECTED)) + .map(a -> (MenuAction) a) + .collect(Collectors.toList()); - final List contentActions = actions.stream() - .filter(a -> a.getType().equals(ActionType.CONTENT_CHANGED)) - .map(a -> (ContentAction) a) - .collect(Collectors.toList()); + final var contentActions = actions.stream() + .filter(a -> a.getType().equals(ActionType.CONTENT_CHANGED)) + .map(a -> (ContentAction) a) + .collect(Collectors.toList()); assertEquals(2, menuActions.size()); - assertEquals(1, menuActions.stream().map(MenuAction::getMenuItem).filter(MenuItem.HOME::equals).count()); - assertEquals(1, menuActions.stream().map(MenuAction::getMenuItem).filter(MenuItem.COMPANY::equals).count()); + assertEquals(1, menuActions.stream().map(MenuAction::getMenuItem).filter(MenuItem.HOME::equals) + .count()); + assertEquals(1, menuActions.stream().map(MenuAction::getMenuItem) + .filter(MenuItem.COMPANY::equals).count()); assertEquals(2, contentActions.size()); - assertEquals(1, contentActions.stream().map(ContentAction::getContent).filter(Content.PRODUCTS::equals).count()); - assertEquals(1, contentActions.stream().map(ContentAction::getContent).filter(Content.COMPANY::equals).count()); + assertEquals(1, contentActions.stream().map(ContentAction::getContent) + .filter(Content.PRODUCTS::equals).count()); + assertEquals(1, contentActions.stream().map(ContentAction::getContent) + .filter(Content.COMPANY::equals).count()); } diff --git a/flux/src/test/java/com/iluwatar/flux/store/ContentStoreTest.java b/flux/src/test/java/com/iluwatar/flux/store/ContentStoreTest.java index 5bb35a2f258c..cca59a5ab008 100644 --- a/flux/src/test/java/com/iluwatar/flux/store/ContentStoreTest.java +++ b/flux/src/test/java/com/iluwatar/flux/store/ContentStoreTest.java @@ -23,20 +23,20 @@ package com.iluwatar.flux.store; -import com.iluwatar.flux.action.Content; -import com.iluwatar.flux.action.ContentAction; -import com.iluwatar.flux.action.MenuAction; -import com.iluwatar.flux.action.MenuItem; -import com.iluwatar.flux.view.View; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.verifyNoMoreInteractions; +import static org.mockito.Mockito.verifyZeroInteractions; + +import com.iluwatar.flux.action.Content; +import com.iluwatar.flux.action.ContentAction; +import com.iluwatar.flux.action.MenuAction; +import com.iluwatar.flux.action.MenuItem; +import com.iluwatar.flux.view.View; +import org.junit.jupiter.api.Test; /** * Date: 12/12/15 - 10:18 PM @@ -46,10 +46,10 @@ public class ContentStoreTest { @Test - public void testOnAction() throws Exception { - final ContentStore contentStore = new ContentStore(); + public void testOnAction() { + final var contentStore = new ContentStore(); - final View view = mock(View.class); + final var view = mock(View.class); contentStore.registerView(view); verifyZeroInteractions(view); diff --git a/flux/src/test/java/com/iluwatar/flux/store/MenuStoreTest.java b/flux/src/test/java/com/iluwatar/flux/store/MenuStoreTest.java index 8085326c86a9..24a05f48659a 100644 --- a/flux/src/test/java/com/iluwatar/flux/store/MenuStoreTest.java +++ b/flux/src/test/java/com/iluwatar/flux/store/MenuStoreTest.java @@ -23,20 +23,20 @@ package com.iluwatar.flux.store; -import com.iluwatar.flux.action.Content; -import com.iluwatar.flux.action.ContentAction; -import com.iluwatar.flux.action.MenuAction; -import com.iluwatar.flux.action.MenuItem; -import com.iluwatar.flux.view.View; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.verifyNoMoreInteractions; +import static org.mockito.Mockito.verifyZeroInteractions; + +import com.iluwatar.flux.action.Content; +import com.iluwatar.flux.action.ContentAction; +import com.iluwatar.flux.action.MenuAction; +import com.iluwatar.flux.action.MenuItem; +import com.iluwatar.flux.view.View; +import org.junit.jupiter.api.Test; /** * Date: 12/12/15 - 10:18 PM @@ -46,10 +46,10 @@ public class MenuStoreTest { @Test - public void testOnAction() throws Exception { - final MenuStore menuStore = new MenuStore(); + public void testOnAction() { + final var menuStore = new MenuStore(); - final View view = mock(View.class); + final var view = mock(View.class); menuStore.registerView(view); verifyZeroInteractions(view); diff --git a/flux/src/test/java/com/iluwatar/flux/view/ContentViewTest.java b/flux/src/test/java/com/iluwatar/flux/view/ContentViewTest.java index fe6b46618a6d..15ffc48d0bbd 100644 --- a/flux/src/test/java/com/iluwatar/flux/view/ContentViewTest.java +++ b/flux/src/test/java/com/iluwatar/flux/view/ContentViewTest.java @@ -23,15 +23,15 @@ package com.iluwatar.flux.view; -import com.iluwatar.flux.action.Content; -import com.iluwatar.flux.store.ContentStore; -import org.junit.jupiter.api.Test; - import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; import static org.mockito.Mockito.verifyNoMoreInteractions; +import static org.mockito.Mockito.when; + +import com.iluwatar.flux.action.Content; +import com.iluwatar.flux.store.ContentStore; +import org.junit.jupiter.api.Test; /** * Date: 12/12/15 - 10:31 PM @@ -41,11 +41,11 @@ public class ContentViewTest { @Test - public void testStoreChanged() throws Exception { - final ContentStore store = mock(ContentStore.class); + public void testStoreChanged() { + final var store = mock(ContentStore.class); when(store.getContent()).thenReturn(Content.PRODUCTS); - final ContentView view = new ContentView(); + final var view = new ContentView(); view.storeChanged(store); verify(store, times(1)).getContent(); diff --git a/flux/src/test/java/com/iluwatar/flux/view/MenuViewTest.java b/flux/src/test/java/com/iluwatar/flux/view/MenuViewTest.java index 4383c0063fb6..2efe0ba025ae 100644 --- a/flux/src/test/java/com/iluwatar/flux/view/MenuViewTest.java +++ b/flux/src/test/java/com/iluwatar/flux/view/MenuViewTest.java @@ -23,13 +23,6 @@ package com.iluwatar.flux.view; -import com.iluwatar.flux.action.Action; -import com.iluwatar.flux.action.MenuItem; -import com.iluwatar.flux.dispatcher.Dispatcher; -import com.iluwatar.flux.store.MenuStore; -import com.iluwatar.flux.store.Store; -import org.junit.jupiter.api.Test; - import static org.mockito.Matchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; @@ -37,6 +30,13 @@ import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; +import com.iluwatar.flux.action.Action; +import com.iluwatar.flux.action.MenuItem; +import com.iluwatar.flux.dispatcher.Dispatcher; +import com.iluwatar.flux.store.MenuStore; +import com.iluwatar.flux.store.Store; +import org.junit.jupiter.api.Test; + /** * Date: 12/12/15 - 10:31 PM * @@ -45,11 +45,11 @@ public class MenuViewTest { @Test - public void testStoreChanged() throws Exception { - final MenuStore store = mock(MenuStore.class); + public void testStoreChanged() { + final var store = mock(MenuStore.class); when(store.getSelected()).thenReturn(MenuItem.HOME); - final MenuView view = new MenuView(); + final var view = new MenuView(); view.storeChanged(store); verify(store, times(1)).getSelected(); @@ -57,11 +57,11 @@ public void testStoreChanged() throws Exception { } @Test - public void testItemClicked() throws Exception { - final Store store = mock(Store.class); + public void testItemClicked() { + final var store = mock(Store.class); Dispatcher.getInstance().registerStore(store); - final MenuView view = new MenuView(); + final var view = new MenuView(); view.itemClicked(MenuItem.PRODUCTS); // We should receive a menu click action and a content changed action diff --git a/flyweight/README.md b/flyweight/README.md index 4847b828505b..a263cc438a7e 100644 --- a/flyweight/README.md +++ b/flyweight/README.md @@ -72,7 +72,7 @@ public class PotionFactory { } Potion createPotion(PotionType type) { - Potion potion = potions.get(type); + var potion = potions.get(type); if (potion == null) { switch (type) { case HEALING: @@ -99,7 +99,7 @@ public class PotionFactory { And it can be used as below ```java -PotionFactory factory = new PotionFactory(); +var factory = new PotionFactory(); factory.createPotion(PotionType.INVISIBILITY).drink(); // You become invisible. (Potion=6566818) factory.createPotion(PotionType.HEALING).drink(); // You feel healed. (Potion=648129364) factory.createPotion(PotionType.INVISIBILITY).drink(); // You become invisible. (Potion=6566818) diff --git a/flyweight/src/main/java/com/iluwatar/flyweight/AlchemistShop.java b/flyweight/src/main/java/com/iluwatar/flyweight/AlchemistShop.java index e99cfc8078a8..4fa7312e56c1 100644 --- a/flyweight/src/main/java/com/iluwatar/flyweight/AlchemistShop.java +++ b/flyweight/src/main/java/com/iluwatar/flyweight/AlchemistShop.java @@ -23,7 +23,6 @@ package com.iluwatar.flyweight; -import java.util.Collections; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,7 +41,7 @@ public class AlchemistShop { * Constructor. */ public AlchemistShop() { - PotionFactory factory = new PotionFactory(); + var factory = new PotionFactory(); topShelf = List.of( factory.createPotion(PotionType.INVISIBILITY), factory.createPotion(PotionType.INVISIBILITY), @@ -68,7 +67,7 @@ public AlchemistShop() { * @return The top shelf potions */ public final List getTopShelf() { - return Collections.unmodifiableList(this.topShelf); + return List.copyOf(this.topShelf); } /** @@ -77,24 +76,16 @@ public final List getTopShelf() { * @return The bottom shelf potions */ public final List getBottomShelf() { - return Collections.unmodifiableList(this.bottomShelf); + return List.copyOf(this.bottomShelf); } /** * Enumerate potions. */ public void enumerate() { - LOGGER.info("Enumerating top shelf potions\n"); - - for (Potion p : topShelf) { - p.drink(); - } - + topShelf.forEach(Potion::drink); LOGGER.info("Enumerating bottom shelf potions\n"); - - for (Potion p : bottomShelf) { - p.drink(); - } + bottomShelf.forEach(Potion::drink); } } diff --git a/flyweight/src/main/java/com/iluwatar/flyweight/App.java b/flyweight/src/main/java/com/iluwatar/flyweight/App.java index cbea6b9cc97b..8f5ff8742030 100644 --- a/flyweight/src/main/java/com/iluwatar/flyweight/App.java +++ b/flyweight/src/main/java/com/iluwatar/flyweight/App.java @@ -43,7 +43,7 @@ public class App { * @param args command line args */ public static void main(String[] args) { - AlchemistShop alchemistShop = new AlchemistShop(); + var alchemistShop = new AlchemistShop(); alchemistShop.enumerate(); } } diff --git a/flyweight/src/main/java/com/iluwatar/flyweight/PotionFactory.java b/flyweight/src/main/java/com/iluwatar/flyweight/PotionFactory.java index 19edf0e21502..a731c03590fb 100644 --- a/flyweight/src/main/java/com/iluwatar/flyweight/PotionFactory.java +++ b/flyweight/src/main/java/com/iluwatar/flyweight/PotionFactory.java @@ -40,7 +40,7 @@ public PotionFactory() { } Potion createPotion(PotionType type) { - Potion potion = potions.get(type); + var potion = potions.get(type); if (potion == null) { switch (type) { case HEALING: diff --git a/flyweight/src/test/java/com/iluwatar/flyweight/AlchemistShopTest.java b/flyweight/src/test/java/com/iluwatar/flyweight/AlchemistShopTest.java index 16374efb2f95..50053dddf65c 100644 --- a/flyweight/src/test/java/com/iluwatar/flyweight/AlchemistShopTest.java +++ b/flyweight/src/test/java/com/iluwatar/flyweight/AlchemistShopTest.java @@ -23,14 +23,12 @@ package com.iluwatar.flyweight; -import org.junit.jupiter.api.Test; - -import java.util.ArrayList; -import java.util.List; - import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import java.util.ArrayList; +import org.junit.jupiter.api.Test; + /** * Date: 12/12/15 - 10:54 PM * @@ -39,18 +37,18 @@ public class AlchemistShopTest { @Test - public void testShop() throws Exception { - final AlchemistShop shop = new AlchemistShop(); + public void testShop() { + final var shop = new AlchemistShop(); - final List bottomShelf = shop.getBottomShelf(); + final var bottomShelf = shop.getBottomShelf(); assertNotNull(bottomShelf); assertEquals(5, bottomShelf.size()); - final List topShelf = shop.getTopShelf(); + final var topShelf = shop.getTopShelf(); assertNotNull(topShelf); assertEquals(8, topShelf.size()); - final List allPotions = new ArrayList<>(); + final var allPotions = new ArrayList(); allPotions.addAll(topShelf); allPotions.addAll(bottomShelf); diff --git a/flyweight/src/test/java/com/iluwatar/flyweight/AppTest.java b/flyweight/src/test/java/com/iluwatar/flyweight/AppTest.java index 8beff17235b5..3d81a6db2e7b 100644 --- a/flyweight/src/test/java/com/iluwatar/flyweight/AppTest.java +++ b/flyweight/src/test/java/com/iluwatar/flyweight/AppTest.java @@ -26,15 +26,12 @@ import org.junit.jupiter.api.Test; /** - * * Application test - * */ public class AppTest { @Test public void test() { - String[] args = {}; - App.main(args); + App.main(new String[]{}); } } diff --git a/front-controller/src/main/java/com/iluwatar/front/controller/App.java b/front-controller/src/main/java/com/iluwatar/front/controller/App.java index 7388a06f80d1..d1a77887f7f2 100644 --- a/front-controller/src/main/java/com/iluwatar/front/controller/App.java +++ b/front-controller/src/main/java/com/iluwatar/front/controller/App.java @@ -47,7 +47,7 @@ public class App { * @param args command line args */ public static void main(String[] args) { - FrontController controller = new FrontController(); + var controller = new FrontController(); controller.handleRequest("Archer"); controller.handleRequest("Catapult"); controller.handleRequest("foobar"); diff --git a/front-controller/src/main/java/com/iluwatar/front/controller/FrontController.java b/front-controller/src/main/java/com/iluwatar/front/controller/FrontController.java index 91535f9e04d6..acdb7b1c8f35 100644 --- a/front-controller/src/main/java/com/iluwatar/front/controller/FrontController.java +++ b/front-controller/src/main/java/com/iluwatar/front/controller/FrontController.java @@ -30,12 +30,12 @@ public class FrontController { public void handleRequest(String request) { - Command command = getCommand(request); + var command = getCommand(request); command.process(); } private Command getCommand(String request) { - Class commandClass = getCommandClass(request); + var commandClass = getCommandClass(request); try { return (Command) commandClass.newInstance(); } catch (Exception e) { @@ -44,12 +44,10 @@ private Command getCommand(String request) { } private static Class getCommandClass(String request) { - Class result; try { - result = Class.forName("com.iluwatar.front.controller." + request + "Command"); + return Class.forName("com.iluwatar.front.controller." + request + "Command"); } catch (ClassNotFoundException e) { - result = UnknownCommand.class; + return UnknownCommand.class; } - return result; } } diff --git a/front-controller/src/test/java/com/iluwatar/front/controller/AppTest.java b/front-controller/src/test/java/com/iluwatar/front/controller/AppTest.java index c77da640dbd7..2ea58c6a6da2 100644 --- a/front-controller/src/test/java/com/iluwatar/front/controller/AppTest.java +++ b/front-controller/src/test/java/com/iluwatar/front/controller/AppTest.java @@ -26,15 +26,12 @@ import org.junit.jupiter.api.Test; /** - * * Application test - * */ public class AppTest { @Test public void test() { - String[] args = {}; - App.main(args); + App.main(new String[]{}); } } diff --git a/front-controller/src/test/java/com/iluwatar/front/controller/ApplicationExceptionTest.java b/front-controller/src/test/java/com/iluwatar/front/controller/ApplicationExceptionTest.java index 085c317555a4..165d13f44f0d 100644 --- a/front-controller/src/test/java/com/iluwatar/front/controller/ApplicationExceptionTest.java +++ b/front-controller/src/test/java/com/iluwatar/front/controller/ApplicationExceptionTest.java @@ -36,7 +36,7 @@ public class ApplicationExceptionTest { @Test public void testCause() { - final Exception cause = new Exception(); + final var cause = new Exception(); assertSame(cause, new ApplicationException(cause).getCause()); } diff --git a/front-controller/src/test/java/com/iluwatar/front/controller/CommandTest.java b/front-controller/src/test/java/com/iluwatar/front/controller/CommandTest.java index 82cd4c0da699..46a3ae94b5a1 100644 --- a/front-controller/src/test/java/com/iluwatar/front/controller/CommandTest.java +++ b/front-controller/src/test/java/com/iluwatar/front/controller/CommandTest.java @@ -23,17 +23,15 @@ package com.iluwatar.front.controller; +import static org.junit.jupiter.api.Assertions.assertEquals; + import com.iluwatar.front.controller.utils.InMemoryAppender; +import java.util.List; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; -import java.util.ArrayList; -import java.util.List; - -import static org.junit.jupiter.api.Assertions.assertEquals; - /** * Date: 12/13/15 - 1:39 PM * @@ -54,11 +52,11 @@ public void tearDown() { } static List dataProvider() { - final List parameters = new ArrayList<>(); - parameters.add(new Object[]{"Archer", "Displaying archers"}); - parameters.add(new Object[]{"Catapult", "Displaying catapults"}); - parameters.add(new Object[]{"NonExistentCommand", "Error 500"}); - return parameters; + return List.of( + new Object[]{"Archer", "Displaying archers"}, + new Object[]{"Catapult", "Displaying catapults"}, + new Object[]{"NonExistentCommand", "Error 500"} + ); } /** @@ -68,7 +66,7 @@ static List dataProvider() { @ParameterizedTest @MethodSource("dataProvider") public void testDisplay(String request, String displayMessage) { - final FrontController frontController = new FrontController(); + final var frontController = new FrontController(); assertEquals(0, appender.getLogSize()); frontController.handleRequest(request); assertEquals(displayMessage, appender.getLastMessage()); diff --git a/front-controller/src/test/java/com/iluwatar/front/controller/FrontControllerTest.java b/front-controller/src/test/java/com/iluwatar/front/controller/FrontControllerTest.java index e1701892b24c..eac3ae3bc845 100644 --- a/front-controller/src/test/java/com/iluwatar/front/controller/FrontControllerTest.java +++ b/front-controller/src/test/java/com/iluwatar/front/controller/FrontControllerTest.java @@ -23,17 +23,15 @@ package com.iluwatar.front.controller; +import static org.junit.jupiter.api.Assertions.assertEquals; + import com.iluwatar.front.controller.utils.InMemoryAppender; +import java.util.List; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; -import java.util.ArrayList; -import java.util.List; - -import static org.junit.jupiter.api.Assertions.assertEquals; - /** * Date: 12/13/15 - 1:39 PM * @@ -54,11 +52,11 @@ public void tearDown() { } static List dataProvider() { - final List parameters = new ArrayList<>(); - parameters.add(new Object[]{new ArcherCommand(), "Displaying archers"}); - parameters.add(new Object[]{new CatapultCommand(), "Displaying catapults"}); - parameters.add(new Object[]{new UnknownCommand(), "Error 500"}); - return parameters; + return List.of( + new Object[]{new ArcherCommand(), "Displaying archers"}, + new Object[]{new CatapultCommand(), "Displaying catapults"}, + new Object[]{new UnknownCommand(), "Error 500"} + ); } /** diff --git a/front-controller/src/test/java/com/iluwatar/front/controller/ViewTest.java b/front-controller/src/test/java/com/iluwatar/front/controller/ViewTest.java index 3d954a129f1c..6839d4ad0096 100644 --- a/front-controller/src/test/java/com/iluwatar/front/controller/ViewTest.java +++ b/front-controller/src/test/java/com/iluwatar/front/controller/ViewTest.java @@ -23,17 +23,15 @@ package com.iluwatar.front.controller; +import static org.junit.jupiter.api.Assertions.assertEquals; + import com.iluwatar.front.controller.utils.InMemoryAppender; +import java.util.List; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; -import java.util.ArrayList; -import java.util.List; - -import static org.junit.jupiter.api.Assertions.assertEquals; - /** * Date: 12/13/15 - 1:39 PM * @@ -54,11 +52,11 @@ public void tearDown() { } static List dataProvider() { - final List parameters = new ArrayList<>(); - parameters.add(new Object[]{new ArcherView(), "Displaying archers"}); - parameters.add(new Object[]{new CatapultView(), "Displaying catapults"}); - parameters.add(new Object[]{new ErrorView(), "Error 500"}); - return parameters; + return List.of( + new Object[]{new ArcherView(), "Displaying archers"}, + new Object[]{new CatapultView(), "Displaying catapults"}, + new Object[]{new ErrorView(), "Error 500"} + ); } /**