From d4ee9a21bd67e31eb1558f070d27dd9550ee6dab Mon Sep 17 00:00:00 2001
From: a23022716 <celia.arezki.1@etu.univ-amu.fr>
Date: Fri, 11 Oct 2024 10:54:06 +0200
Subject: [PATCH] Move all the old code into a package named tp3, and create a
 new package for tp5, then add  the Shape interface within it

---
 src/main/java/serializer/DrawerWithSave.java       | 4 ----
 src/main/java/serializer/ShapeReader.java          | 3 +--
 src/main/java/serializer/ShapeWriter.java          | 2 +-
 src/main/java/shape/App.java                       | 1 +
 src/main/java/shape/{ => tp3}/AbstractShape.java   | 3 ++-
 src/main/java/shape/{ => tp3}/BorderDecorator.java | 2 +-
 src/main/java/shape/{ => tp3}/CenterDecorator.java | 2 +-
 src/main/java/shape/{ => tp3}/Circle.java          | 2 +-
 src/main/java/shape/{ => tp3}/Decorator.java       | 2 +-
 src/main/java/shape/{ => tp3}/Polygon.java         | 2 +-
 src/main/java/shape/{ => tp3}/Rectangle.java       | 2 +-
 src/main/java/shape/{ => tp3}/Shape.java           | 2 +-
 src/main/java/shape/{ => tp3}/ShapeContainer.java  | 3 ++-
 src/main/java/shape/tp5/Shape.java                 | 9 +++++++++
 src/main/java/state/Drawer.java                    | 3 +--
 15 files changed, 24 insertions(+), 18 deletions(-)
 rename src/main/java/shape/{ => tp3}/AbstractShape.java (96%)
 rename src/main/java/shape/{ => tp3}/BorderDecorator.java (97%)
 rename src/main/java/shape/{ => tp3}/CenterDecorator.java (98%)
 rename src/main/java/shape/{ => tp3}/Circle.java (97%)
 rename src/main/java/shape/{ => tp3}/Decorator.java (97%)
 rename src/main/java/shape/{ => tp3}/Polygon.java (97%)
 rename src/main/java/shape/{ => tp3}/Rectangle.java (98%)
 rename src/main/java/shape/{ => tp3}/Shape.java (91%)
 rename src/main/java/shape/{ => tp3}/ShapeContainer.java (95%)
 create mode 100644 src/main/java/shape/tp5/Shape.java

diff --git a/src/main/java/serializer/DrawerWithSave.java b/src/main/java/serializer/DrawerWithSave.java
index 2852edf..e3b746f 100644
--- a/src/main/java/serializer/DrawerWithSave.java
+++ b/src/main/java/serializer/DrawerWithSave.java
@@ -1,14 +1,10 @@
 package serializer;
 
-import javafx.scene.canvas.Canvas;
 import javafx.scene.control.Alert;
 import javafx.stage.FileChooser;
-import shape.Shape;
 
 import java.io.File;
 import java.io.IOException;
-import java.util.List;
-import java.util.stream.Collectors;
 
 
 public class DrawerWithSave extends state.Drawer {
diff --git a/src/main/java/serializer/ShapeReader.java b/src/main/java/serializer/ShapeReader.java
index 4905948..8ef764c 100644
--- a/src/main/java/serializer/ShapeReader.java
+++ b/src/main/java/serializer/ShapeReader.java
@@ -1,13 +1,12 @@
 package serializer;
 
-import shape.Shape;
+import shape.tp3.Shape;
 
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
 import java.util.List;
-import java.util.stream.Collector;
 
 public class ShapeReader {
     public static List<Shape> read(File file) throws IOException {
diff --git a/src/main/java/serializer/ShapeWriter.java b/src/main/java/serializer/ShapeWriter.java
index 6a76ef8..5e2f5d4 100644
--- a/src/main/java/serializer/ShapeWriter.java
+++ b/src/main/java/serializer/ShapeWriter.java
@@ -1,6 +1,6 @@
 package serializer;
 
-import shape.Shape;
+import shape.tp3.Shape;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/src/main/java/shape/App.java b/src/main/java/shape/App.java
index 45baec7..640d39b 100644
--- a/src/main/java/shape/App.java
+++ b/src/main/java/shape/App.java
@@ -8,6 +8,7 @@ import javafx.scene.canvas.Canvas;
 import javafx.scene.canvas.GraphicsContext;
 import javafx.scene.paint.Color;
 import javafx.stage.Stage;
+import shape.tp3.*;
 
 public class App extends Application {
 
diff --git a/src/main/java/shape/AbstractShape.java b/src/main/java/shape/tp3/AbstractShape.java
similarity index 96%
rename from src/main/java/shape/AbstractShape.java
rename to src/main/java/shape/tp3/AbstractShape.java
index 21e40a1..04f7b14 100644
--- a/src/main/java/shape/AbstractShape.java
+++ b/src/main/java/shape/tp3/AbstractShape.java
@@ -1,6 +1,7 @@
-package shape;
+package shape.tp3;
 import javafx.geometry.Point2D;
 import javafx.scene.canvas.GraphicsContext;
+
 import java.util.ArrayList;
 import java.util.List;
 
diff --git a/src/main/java/shape/BorderDecorator.java b/src/main/java/shape/tp3/BorderDecorator.java
similarity index 97%
rename from src/main/java/shape/BorderDecorator.java
rename to src/main/java/shape/tp3/BorderDecorator.java
index 37c7787..89d03b5 100644
--- a/src/main/java/shape/BorderDecorator.java
+++ b/src/main/java/shape/tp3/BorderDecorator.java
@@ -1,4 +1,4 @@
-package shape;
+package shape.tp3;
 import javafx.geometry.Point2D;
 import javafx.scene.canvas.GraphicsContext;
 import javafx.scene.paint.Color;
diff --git a/src/main/java/shape/CenterDecorator.java b/src/main/java/shape/tp3/CenterDecorator.java
similarity index 98%
rename from src/main/java/shape/CenterDecorator.java
rename to src/main/java/shape/tp3/CenterDecorator.java
index e0bc27f..c10005e 100644
--- a/src/main/java/shape/CenterDecorator.java
+++ b/src/main/java/shape/tp3/CenterDecorator.java
@@ -1,4 +1,4 @@
-package shape;
+package shape.tp3;
 import javafx.geometry.Point2D;
 import javafx.scene.canvas.GraphicsContext;
 import javafx.scene.paint.Color;
diff --git a/src/main/java/shape/Circle.java b/src/main/java/shape/tp3/Circle.java
similarity index 97%
rename from src/main/java/shape/Circle.java
rename to src/main/java/shape/tp3/Circle.java
index d573b26..d4cc5b8 100644
--- a/src/main/java/shape/Circle.java
+++ b/src/main/java/shape/tp3/Circle.java
@@ -1,4 +1,4 @@
-package shape;
+package shape.tp3;
 
 import javafx.geometry.Point2D;
 import javafx.scene.canvas.GraphicsContext;
diff --git a/src/main/java/shape/Decorator.java b/src/main/java/shape/tp3/Decorator.java
similarity index 97%
rename from src/main/java/shape/Decorator.java
rename to src/main/java/shape/tp3/Decorator.java
index d2428a0..fcae4d1 100644
--- a/src/main/java/shape/Decorator.java
+++ b/src/main/java/shape/tp3/Decorator.java
@@ -1,4 +1,4 @@
-package shape;
+package shape.tp3;
 import javafx.scene.canvas.GraphicsContext;
 import javafx.geometry.Point2D;
 
diff --git a/src/main/java/shape/Polygon.java b/src/main/java/shape/tp3/Polygon.java
similarity index 97%
rename from src/main/java/shape/Polygon.java
rename to src/main/java/shape/tp3/Polygon.java
index 6399e98..8765f93 100644
--- a/src/main/java/shape/Polygon.java
+++ b/src/main/java/shape/tp3/Polygon.java
@@ -1,4 +1,4 @@
-package shape;
+package shape.tp3;
 
 import javafx.geometry.Point2D;
 import javafx.scene.canvas.GraphicsContext;
diff --git a/src/main/java/shape/Rectangle.java b/src/main/java/shape/tp3/Rectangle.java
similarity index 98%
rename from src/main/java/shape/Rectangle.java
rename to src/main/java/shape/tp3/Rectangle.java
index 5651dec..e816c28 100644
--- a/src/main/java/shape/Rectangle.java
+++ b/src/main/java/shape/tp3/Rectangle.java
@@ -1,4 +1,4 @@
-package shape;
+package shape.tp3;
 
 import javafx.geometry.Point2D;
 import javafx.scene.canvas.GraphicsContext;
diff --git a/src/main/java/shape/Shape.java b/src/main/java/shape/tp3/Shape.java
similarity index 91%
rename from src/main/java/shape/Shape.java
rename to src/main/java/shape/tp3/Shape.java
index 8e28d81..5246727 100644
--- a/src/main/java/shape/Shape.java
+++ b/src/main/java/shape/tp3/Shape.java
@@ -1,4 +1,4 @@
-package shape;
+package shape.tp3;
 
 import javafx.geometry.Point2D;
 import javafx.scene.canvas.GraphicsContext;
diff --git a/src/main/java/shape/ShapeContainer.java b/src/main/java/shape/tp3/ShapeContainer.java
similarity index 95%
rename from src/main/java/shape/ShapeContainer.java
rename to src/main/java/shape/tp3/ShapeContainer.java
index 174f89d..95477d5 100644
--- a/src/main/java/shape/ShapeContainer.java
+++ b/src/main/java/shape/tp3/ShapeContainer.java
@@ -1,6 +1,7 @@
-package shape;
+package shape.tp3;
 
 import javafx.scene.canvas.GraphicsContext;
+
 import java.util.ArrayList;
 import java.util.List;
 
diff --git a/src/main/java/shape/tp5/Shape.java b/src/main/java/shape/tp5/Shape.java
new file mode 100644
index 0000000..3750e0d
--- /dev/null
+++ b/src/main/java/shape/tp5/Shape.java
@@ -0,0 +1,9 @@
+package shape.tp5;
+
+import javafx.scene.canvas.GraphicsContext;
+
+public interface Shape {
+    void paint(GraphicsContext graphicsContext);
+    boolean contains(double x, double y);
+    void translate(double dx, double dy);
+}
diff --git a/src/main/java/state/Drawer.java b/src/main/java/state/Drawer.java
index 67b9e1c..e5c46b2 100644
--- a/src/main/java/state/Drawer.java
+++ b/src/main/java/state/Drawer.java
@@ -1,8 +1,7 @@
 package state;
 
 import javafx.scene.canvas.Canvas;
-import shape.Circle;
-import shape.Shape;
+import shape.tp3.Shape;
 
 import java.util.ArrayList;
 import java.util.List;
-- 
GitLab