diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..5c98b428 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,2 @@ +# Default ignored files +/workspace.xml \ No newline at end of file diff --git a/src/main/java/edu/kis/powp/jobs2d/drivers/adapter/LineDrawerAdapter.java b/src/main/java/edu/kis/powp/jobs2d/drivers/adapter/LineDrawerAdapter.java new file mode 100644 index 00000000..ec20398f --- /dev/null +++ b/src/main/java/edu/kis/powp/jobs2d/drivers/adapter/LineDrawerAdapter.java @@ -0,0 +1,41 @@ +package edu.kis.powp.jobs2d.drivers.adapter; + +import edu.kis.legacy.drawer.panel.DrawPanelController; +import edu.kis.legacy.drawer.shape.ILine; +import edu.kis.legacy.drawer.shape.LineFactory; +import edu.kis.powp.jobs2d.Job2dDriver; + +import static edu.kis.powp.jobs2d.features.DrawerFeature.getDrawerController; + +/** + * driver adapter to drawer with several bugs. + */ +public class LineDrawerAdapter extends DrawPanelController implements Job2dDriver { + private int startX = 0, startY = 0; + + public LineDrawerAdapter() { + super(); + } + + @Override + public void setPosition(int x, int y) { + this.startX = x; + this.startY = y; + } + + @Override + public void operateTo(int x, int y) { + ILine line = LineFactory.getSpecialLine(); + line.setStartCoordinates(this.startX, this.startY); + line.setEndCoordinates(x, y); + + getDrawerController().drawLine(line); + + setPosition( x, y); + } + + @Override + public String toString() { + return "@Q!$!@$!#@$(*#@&Q(%^*#@"; + } +} diff --git a/src/main/java/edu/kis/powp/jobs2d/drivers/adapter/MyAdapter.java b/src/main/java/edu/kis/powp/jobs2d/drivers/adapter/MyAdapter.java index c99c5573..7a93f762 100644 --- a/src/main/java/edu/kis/powp/jobs2d/drivers/adapter/MyAdapter.java +++ b/src/main/java/edu/kis/powp/jobs2d/drivers/adapter/MyAdapter.java @@ -5,6 +5,8 @@ import edu.kis.legacy.drawer.shape.LineFactory; import edu.kis.powp.jobs2d.Job2dDriver; +import static edu.kis.powp.jobs2d.features.DrawerFeature.getDrawerController; + /** * driver adapter to drawer with several bugs. */ @@ -27,7 +29,9 @@ public void operateTo(int x, int y) { line.setStartCoordinates(this.startX, this.startY); line.setEndCoordinates(x, y); - drawLine(line); + getDrawerController().drawLine(line); + + setPosition( x, y); } @Override diff --git a/src/test/java/edu/kis/powp/jobs2d/TestJobs2dPatterns.java b/src/test/java/edu/kis/powp/jobs2d/TestJobs2dPatterns.java index 1e044fdd..260b21fa 100644 --- a/src/test/java/edu/kis/powp/jobs2d/TestJobs2dPatterns.java +++ b/src/test/java/edu/kis/powp/jobs2d/TestJobs2dPatterns.java @@ -8,6 +8,7 @@ import edu.kis.legacy.drawer.panel.DefaultDrawerFrame; import edu.kis.legacy.drawer.panel.DrawPanelController; import edu.kis.powp.appbase.Application; +import edu.kis.powp.jobs2d.drivers.adapter.LineDrawerAdapter; import edu.kis.powp.jobs2d.drivers.adapter.MyAdapter; import edu.kis.powp.jobs2d.events.SelectChangeVisibleOptionListener; import edu.kis.powp.jobs2d.events.SelectTestFigureOptionListener; @@ -23,10 +24,14 @@ public class TestJobs2dPatterns { * @param application Application context. */ private static void setupPresetTests(Application application) { - SelectTestFigureOptionListener selectTestFigureOptionListener = new SelectTestFigureOptionListener( - DriverFeature.getDriverManager()); + SelectTestFigureOptionListener selectTestFigureOptionListener1 = new SelectTestFigureOptionListener( + DriverFeature.getDriverManager(),"figureScript1"); + SelectTestFigureOptionListener selectTestFigureOptionListener2 = new SelectTestFigureOptionListener( + DriverFeature.getDriverManager(),"figureScript2"); - application.addTest("Figure Joe 1", selectTestFigureOptionListener); + + application.addTest("Figure Joe 1", selectTestFigureOptionListener1); + application.addTest("Figure Joe 2", selectTestFigureOptionListener2); } /** @@ -39,8 +44,11 @@ private static void setupDrivers(Application application) { DriverFeature.addDriver("Logger Driver", loggerDriver); DriverFeature.getDriverManager().setCurrentDriver(loggerDriver); - Job2dDriver testDriver = new MyAdapter(); - DriverFeature.addDriver("Buggy Simulator", testDriver); + Job2dDriver testDriver = new LineDrawerAdapter(); + DriverFeature.addDriver("Special Line", testDriver); + + Job2dDriver testDriver1 = new MyAdapter(); + DriverFeature.addDriver("Basic Line", testDriver1); DriverFeature.updateDriverInfo(); } @@ -54,7 +62,7 @@ private static void setupDefaultDrawerVisibilityManagement(Application applicati DefaultDrawerFrame defaultDrawerWindow = DefaultDrawerFrame.getDefaultDrawerFrame(); application.addComponentMenuElementWithCheckBox(DrawPanelController.class, "Default Drawer Visibility", new SelectChangeVisibleOptionListener(defaultDrawerWindow), true); - defaultDrawerWindow.setVisible(true); + defaultDrawerWindow.setVisible(false); } /** diff --git a/src/test/java/edu/kis/powp/jobs2d/events/SelectTestFigureOptionListener.java b/src/test/java/edu/kis/powp/jobs2d/events/SelectTestFigureOptionListener.java index 1819f86d..294a2936 100644 --- a/src/test/java/edu/kis/powp/jobs2d/events/SelectTestFigureOptionListener.java +++ b/src/test/java/edu/kis/powp/jobs2d/events/SelectTestFigureOptionListener.java @@ -9,13 +9,18 @@ public class SelectTestFigureOptionListener implements ActionListener { private DriverManager driverManager; + private String name; - public SelectTestFigureOptionListener(DriverManager driverManager) { + public SelectTestFigureOptionListener(DriverManager driverManager, String name) { this.driverManager = driverManager; + this.name = name; } @Override public void actionPerformed(ActionEvent e) { - FiguresJoe.figureScript1(driverManager.getCurrentDriver()); + if (name.contains("1")) + FiguresJoe.figureScript1(driverManager.getCurrentDriver()); + else + FiguresJoe.figureScript2(driverManager.getCurrentDriver()); } }