diff --git a/delegation/pom.xml b/delegation/pom.xml index 08b7df748..4c9d16887 100644 --- a/delegation/pom.xml +++ b/delegation/pom.xml @@ -1,27 +1,4 @@ - com.github.stefanbirkner system-rules - 1.14.0 test diff --git a/delegation/src/main/java/com/iluwatar/delegation/simple/AbstractPrinterController.java b/delegation/src/main/java/com/iluwatar/delegation/simple/AbstractPrinterController.java deleted file mode 100644 index 4baf41a88..000000000 --- a/delegation/src/main/java/com/iluwatar/delegation/simple/AbstractPrinterController.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.iluwatar.delegation.simple; - -/** - * Extra layer of abstraction for the controller to allow the controller in this example {@link PrinterController} to - * be as clean as possible. This just provides the default constructor and a simple getter method. The generic of - * T allows any implementation of {@link Printer} - * - * @param Printer - * @see Printer - * @see PrinterController - */ -public abstract class AbstractPrinterController implements Printer { - - - private T printer; - - /** - * @param printer instance of T {@link Printer} this instance is the delegate - */ - public AbstractPrinterController(T printer) { - this.printer = printer; - } - - /** - * Helper method to return the current instance of T {@link Printer} in order for - * the controller to call operations on the {@link Printer} - * - * @return instance of Printer - * @see Printer - */ - protected T getPrinter() { - return printer; - } -} diff --git a/delegation/src/main/java/com/iluwatar/delegation/simple/App.java b/delegation/src/main/java/com/iluwatar/delegation/simple/App.java index f0a55cc4c..e0c1ad44d 100644 --- a/delegation/src/main/java/com/iluwatar/delegation/simple/App.java +++ b/delegation/src/main/java/com/iluwatar/delegation/simple/App.java @@ -21,9 +21,9 @@ public class App { * @param args command line args */ public static void main(String[] args) { - AbstractPrinterController hpPrinterController = new PrinterController(new HpPrinter()); - AbstractPrinterController canonPrinterController = new PrinterController(new CanonPrinter()); - AbstractPrinterController epsonPrinterController = new PrinterController(new EpsonPrinter()); + PrinterController hpPrinterController = new PrinterController(new HpPrinter()); + PrinterController canonPrinterController = new PrinterController(new CanonPrinter()); + PrinterController epsonPrinterController = new PrinterController(new EpsonPrinter()); hpPrinterController.print(MESSAGE_TO_PRINT); canonPrinterController.print(MESSAGE_TO_PRINT); diff --git a/delegation/src/main/java/com/iluwatar/delegation/simple/Printer.java b/delegation/src/main/java/com/iluwatar/delegation/simple/Printer.java index d7a2fd7ca..b87779fd8 100644 --- a/delegation/src/main/java/com/iluwatar/delegation/simple/Printer.java +++ b/delegation/src/main/java/com/iluwatar/delegation/simple/Printer.java @@ -8,7 +8,6 @@ import com.iluwatar.delegation.simple.printers.HpPrinter; * @see com.iluwatar.delegation.simple.printers.CanonPrinter * @see com.iluwatar.delegation.simple.printers.EpsonPrinter * @see HpPrinter - * @see AbstractPrinterController */ public interface Printer { diff --git a/delegation/src/main/java/com/iluwatar/delegation/simple/PrinterController.java b/delegation/src/main/java/com/iluwatar/delegation/simple/PrinterController.java index 7197ba2ed..d237f0871 100644 --- a/delegation/src/main/java/com/iluwatar/delegation/simple/PrinterController.java +++ b/delegation/src/main/java/com/iluwatar/delegation/simple/PrinterController.java @@ -1,9 +1,11 @@ package com.iluwatar.delegation.simple; -public class PrinterController extends AbstractPrinterController { +public class PrinterController implements Printer { + + private final Printer printer; public PrinterController(Printer printer) { - super(printer); + this.printer = printer; } /** @@ -16,6 +18,6 @@ public class PrinterController extends AbstractPrinterController { */ @Override public void print(String message) { - getPrinter().print(message); + printer.print(message); } } diff --git a/delegation/src/main/java/com/iluwatar/delegation/simple/printers/CanonPrinter.java b/delegation/src/main/java/com/iluwatar/delegation/simple/printers/CanonPrinter.java index c11495121..ef6386429 100644 --- a/delegation/src/main/java/com/iluwatar/delegation/simple/printers/CanonPrinter.java +++ b/delegation/src/main/java/com/iluwatar/delegation/simple/printers/CanonPrinter.java @@ -15,7 +15,7 @@ public class CanonPrinter implements Printer { */ @Override public void print(String message) { - System.out.println("Canon Printer : " + message); + System.out.print("Canon Printer : " + message); } } diff --git a/delegation/src/main/java/com/iluwatar/delegation/simple/printers/EpsonPrinter.java b/delegation/src/main/java/com/iluwatar/delegation/simple/printers/EpsonPrinter.java index be494ce94..780d12bcb 100644 --- a/delegation/src/main/java/com/iluwatar/delegation/simple/printers/EpsonPrinter.java +++ b/delegation/src/main/java/com/iluwatar/delegation/simple/printers/EpsonPrinter.java @@ -15,7 +15,7 @@ public class EpsonPrinter implements Printer { */ @Override public void print(String message) { - System.out.println("Epson Printer : " + message); + System.out.print("Epson Printer : " + message); } } diff --git a/delegation/src/main/java/com/iluwatar/delegation/simple/printers/HpPrinter.java b/delegation/src/main/java/com/iluwatar/delegation/simple/printers/HpPrinter.java index a8f57e764..be8845ece 100644 --- a/delegation/src/main/java/com/iluwatar/delegation/simple/printers/HpPrinter.java +++ b/delegation/src/main/java/com/iluwatar/delegation/simple/printers/HpPrinter.java @@ -15,7 +15,7 @@ public class HpPrinter implements Printer { */ @Override public void print(String message) { - System.out.println("HP Printer : " + message); + System.out.print("HP Printer : " + message); } } diff --git a/delegation/src/test/java/com/iluwatar/delegation/simple/DelegateTest.java b/delegation/src/test/java/com/iluwatar/delegation/simple/DelegateTest.java index 79fc4cdfa..9442b3033 100644 --- a/delegation/src/test/java/com/iluwatar/delegation/simple/DelegateTest.java +++ b/delegation/src/test/java/com/iluwatar/delegation/simple/DelegateTest.java @@ -18,26 +18,26 @@ public class DelegateTest { @Test public void testCanonPrinter() throws Exception { - AbstractPrinterController abstractController = new PrinterController(new CanonPrinter()); - abstractController.print(MESSAGE); + PrinterController printerController = new PrinterController(new CanonPrinter()); + printerController.print(MESSAGE); - assertEquals("Canon Printer : Test Message Printed\n", systemOutRule.getLog()); + assertEquals("Canon Printer : Test Message Printed", systemOutRule.getLog()); } @Test public void testHpPrinter() throws Exception { - AbstractPrinterController abstractController = new PrinterController(new HpPrinter()); - abstractController.print(MESSAGE); + PrinterController printerController = new PrinterController(new HpPrinter()); + printerController.print(MESSAGE); - assertEquals("HP Printer : Test Message Printed\n", systemOutRule.getLog()); + assertEquals("HP Printer : Test Message Printed", systemOutRule.getLog()); } @Test public void testEpsonPrinter() throws Exception { - AbstractPrinterController abstractController = new PrinterController(new EpsonPrinter()); - abstractController.print(MESSAGE); + PrinterController printerController = new PrinterController(new EpsonPrinter()); + printerController.print(MESSAGE); - assertEquals("Epson Printer : Test Message Printed\n", systemOutRule.getLog()); + assertEquals("Epson Printer : Test Message Printed", systemOutRule.getLog()); } } diff --git a/pom.xml b/pom.xml index c56b9f122..13da41985 100644 --- a/pom.xml +++ b/pom.xml @@ -22,6 +22,7 @@ 2.15.3 1.2.17 18.0 + 1.14.0 abstract-factory @@ -155,6 +156,12 @@ guava ${guava.version} + + com.github.stefanbirkner + system-rules + ${systemrules.version} + test +