From 00c022388fcc884c18cf068e17afdbaaf1d9c757 Mon Sep 17 00:00:00 2001 From: Tarang Bhalodia Date: Thu, 8 Mar 2018 20:15:48 +0530 Subject: [PATCH] BAEL-1524: Chain of Responsibility Design Pattern in Java (#3780) * BAEL-1422: measure performance of Random and ThreadLocalRandom using JMH * BAEL-1422: updated benchmarking examples of Random and ThreadLocalRandom to use newWorkStealingPool that leverages ForkJoinPool * BAEL-1422: refactored benchmarking examples for comparing performance of ThreadLocalRandom and Random - initialised the collection of Callable before running benchmarking - removed for loop for submitting task and instead used executor.invokeAll(collection_of_callable) * BAEL-1282: added TDD type junit tests for geospatial queries elasticsearch * BAEL-1524: added example for chain of responsibility design pattern * BAEL-1524: added BDD style jUnit test to test unknown handler in ChainOfResponsibility design pattern * BAEL-1524: refactored ChainOfResponsibility design pattern example * BAEL-1524: refactored ChainOfResponsibility design pattern example * BAEL-1524: updated ChainOfResponsibility design pattern example * BAEL-1524: updated ChainOfResponsibility design pattern example * BAEL-1524: moved chain of responsibility example from core-java module to patterns module --- .../chainofresponsibility/AuthenticationProvider.java | 5 ----- .../chainofresponsibility/AuthenticationProcessor.java | 2 +- .../chainofresponsibility/AuthenticationProvider.java | 5 +++++ .../chainofresponsibility/OAuthAuthenticationProcessor.java | 2 +- .../pattern}/chainofresponsibility/OAuthTokenProvider.java | 2 +- .../chainofresponsibility/SamlAuthenticationProvider.java | 2 +- .../UsernamePasswordAuthenticationProcessor.java | 2 +- .../chainofresponsibility/UsernamePasswordProvider.java | 2 +- .../chainofresponsibility/ChainOfResponsibilityTest.java | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) delete mode 100644 core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/AuthenticationProvider.java rename {core-java/src/main/java/com/baeldung/designpatterns => patterns/behavioral-patterns/src/main/java/com/baeldung/pattern}/chainofresponsibility/AuthenticationProcessor.java (85%) create mode 100644 patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/AuthenticationProvider.java rename {core-java/src/main/java/com/baeldung/designpatterns => patterns/behavioral-patterns/src/main/java/com/baeldung/pattern}/chainofresponsibility/OAuthAuthenticationProcessor.java (90%) rename {core-java/src/main/java/com/baeldung/designpatterns => patterns/behavioral-patterns/src/main/java/com/baeldung/pattern}/chainofresponsibility/OAuthTokenProvider.java (54%) rename {core-java/src/main/java/com/baeldung/designpatterns => patterns/behavioral-patterns/src/main/java/com/baeldung/pattern}/chainofresponsibility/SamlAuthenticationProvider.java (57%) rename {core-java/src/main/java/com/baeldung/designpatterns => patterns/behavioral-patterns/src/main/java/com/baeldung/pattern}/chainofresponsibility/UsernamePasswordAuthenticationProcessor.java (90%) rename {core-java/src/main/java/com/baeldung/designpatterns => patterns/behavioral-patterns/src/main/java/com/baeldung/pattern}/chainofresponsibility/UsernamePasswordProvider.java (56%) rename {core-java/src/test/java/com/baeldung/designpatterns => patterns/behavioral-patterns/src/test/java/com/baeldung/pattern}/chainofresponsibility/ChainOfResponsibilityTest.java (95%) diff --git a/core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/AuthenticationProvider.java b/core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/AuthenticationProvider.java deleted file mode 100644 index 552a7ff6d9..0000000000 --- a/core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/AuthenticationProvider.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.baeldung.designpatterns.chainofresponsibility; - -public interface AuthenticationProvider { - -} diff --git a/core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/AuthenticationProcessor.java b/patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/AuthenticationProcessor.java similarity index 85% rename from core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/AuthenticationProcessor.java rename to patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/AuthenticationProcessor.java index b86a572393..374de31ba9 100644 --- a/core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/AuthenticationProcessor.java +++ b/patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/AuthenticationProcessor.java @@ -1,4 +1,4 @@ -package com.baeldung.designpatterns.chainofresponsibility; +package com.baeldung.pattern.chainofresponsibility; public abstract class AuthenticationProcessor { diff --git a/patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/AuthenticationProvider.java b/patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/AuthenticationProvider.java new file mode 100644 index 0000000000..7b8771ca41 --- /dev/null +++ b/patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/AuthenticationProvider.java @@ -0,0 +1,5 @@ +package com.baeldung.pattern.chainofresponsibility; + +public interface AuthenticationProvider { + +} diff --git a/core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/OAuthAuthenticationProcessor.java b/patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/OAuthAuthenticationProcessor.java similarity index 90% rename from core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/OAuthAuthenticationProcessor.java rename to patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/OAuthAuthenticationProcessor.java index 2e2e51fed2..3bf20cfc85 100644 --- a/core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/OAuthAuthenticationProcessor.java +++ b/patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/OAuthAuthenticationProcessor.java @@ -1,4 +1,4 @@ -package com.baeldung.designpatterns.chainofresponsibility; +package com.baeldung.pattern.chainofresponsibility; public class OAuthAuthenticationProcessor extends AuthenticationProcessor { diff --git a/core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/OAuthTokenProvider.java b/patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/OAuthTokenProvider.java similarity index 54% rename from core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/OAuthTokenProvider.java rename to patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/OAuthTokenProvider.java index d4e516053b..92d5f94245 100644 --- a/core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/OAuthTokenProvider.java +++ b/patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/OAuthTokenProvider.java @@ -1,4 +1,4 @@ -package com.baeldung.designpatterns.chainofresponsibility; +package com.baeldung.pattern.chainofresponsibility; public class OAuthTokenProvider implements AuthenticationProvider { diff --git a/core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/SamlAuthenticationProvider.java b/patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/SamlAuthenticationProvider.java similarity index 57% rename from core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/SamlAuthenticationProvider.java rename to patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/SamlAuthenticationProvider.java index 533b2b4a2d..cd927932ad 100644 --- a/core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/SamlAuthenticationProvider.java +++ b/patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/SamlAuthenticationProvider.java @@ -1,4 +1,4 @@ -package com.baeldung.designpatterns.chainofresponsibility; +package com.baeldung.pattern.chainofresponsibility; public class SamlAuthenticationProvider implements AuthenticationProvider { diff --git a/core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/UsernamePasswordAuthenticationProcessor.java b/patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/UsernamePasswordAuthenticationProcessor.java similarity index 90% rename from core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/UsernamePasswordAuthenticationProcessor.java rename to patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/UsernamePasswordAuthenticationProcessor.java index df600c35db..3885b2b79b 100644 --- a/core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/UsernamePasswordAuthenticationProcessor.java +++ b/patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/UsernamePasswordAuthenticationProcessor.java @@ -1,4 +1,4 @@ -package com.baeldung.designpatterns.chainofresponsibility; +package com.baeldung.pattern.chainofresponsibility; public class UsernamePasswordAuthenticationProcessor extends AuthenticationProcessor { diff --git a/core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/UsernamePasswordProvider.java b/patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/UsernamePasswordProvider.java similarity index 56% rename from core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/UsernamePasswordProvider.java rename to patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/UsernamePasswordProvider.java index 9fbfa7554d..9877039446 100644 --- a/core-java/src/main/java/com/baeldung/designpatterns/chainofresponsibility/UsernamePasswordProvider.java +++ b/patterns/behavioral-patterns/src/main/java/com/baeldung/pattern/chainofresponsibility/UsernamePasswordProvider.java @@ -1,4 +1,4 @@ -package com.baeldung.designpatterns.chainofresponsibility; +package com.baeldung.pattern.chainofresponsibility; public class UsernamePasswordProvider implements AuthenticationProvider { diff --git a/core-java/src/test/java/com/baeldung/designpatterns/chainofresponsibility/ChainOfResponsibilityTest.java b/patterns/behavioral-patterns/src/test/java/com/baeldung/pattern/chainofresponsibility/ChainOfResponsibilityTest.java similarity index 95% rename from core-java/src/test/java/com/baeldung/designpatterns/chainofresponsibility/ChainOfResponsibilityTest.java rename to patterns/behavioral-patterns/src/test/java/com/baeldung/pattern/chainofresponsibility/ChainOfResponsibilityTest.java index a28577efb1..a84f9dd8e5 100644 --- a/core-java/src/test/java/com/baeldung/designpatterns/chainofresponsibility/ChainOfResponsibilityTest.java +++ b/patterns/behavioral-patterns/src/test/java/com/baeldung/pattern/chainofresponsibility/ChainOfResponsibilityTest.java @@ -1,4 +1,4 @@ -package com.baeldung.designpatterns.chainofresponsibility; +package com.baeldung.pattern.chainofresponsibility; import org.junit.Test;