diff --git a/src/main/java/org/ntlab/acanthus_server/entities/Page.java b/src/main/java/org/ntlab/acanthus_server/entities/Page.java index 8a7ef3c..1c7ff6d 100644 --- a/src/main/java/org/ntlab/acanthus_server/entities/Page.java +++ b/src/main/java/org/ntlab/acanthus_server/entities/Page.java @@ -1,4 +1,15 @@ package org.ntlab.acanthus_server.entities; +import java.util.ArrayList; + public class Page { + private ArrayList layers = new ArrayList<>(); + + public ArrayList getLayers() { + return this.layers; + } + + public void setLayers(ArrayList layers) { + this.layers = layers; + } } diff --git a/src/main/java/org/ntlab/acanthus_server/resources/gallery/StrokesRest.java b/src/main/java/org/ntlab/acanthus_server/resources/gallery/StrokesRest.java index 3365ae7..a5a4fb0 100644 --- a/src/main/java/org/ntlab/acanthus_server/resources/gallery/StrokesRest.java +++ b/src/main/java/org/ntlab/acanthus_server/resources/gallery/StrokesRest.java @@ -1,5 +1,6 @@ package org.ntlab.acanthus_server.resources.gallery; +import org.ntlab.acanthus_server.entities.Page; import org.ntlab.acanthus_server.entities.Layer; import org.ntlab.acanthus_server.entities.Position; import org.ntlab.acanthus_server.entities.Stroke; @@ -14,16 +15,28 @@ @Component @Path("/gallery") public class StrokesRest { - private ArrayList layers = new ArrayList<>(); + private ArrayList pages = new ArrayList<>(); private Gallery gallery = Gallery.getInstance(); + @Path("/{aid}/pageMap/") + @POST + @Produces(MediaType.APPLICATION_JSON) + public Integer addPages(@PathParam("aid") Integer aid) { + var animation = gallery.getAnimationInformation(aid); + + Page page = new Page(); + pages.add(page); + + return pages.size(); + } + @Path("/{aid}/pageMap/0/layers") @GET @Produces(MediaType.APPLICATION_JSON) public Integer getLayers(@PathParam("aid") Integer aid) { var animation = gallery.getAnimationInformation(aid); - return layers.size(); + return pages.get(0).getLayers().size(); } @Path("/{aid}/pageMap/0/layers") @@ -32,12 +45,12 @@ public Integer addLayers(@PathParam("aid") Integer aid) { var animation = gallery.getAnimationInformation(aid); - if (layers.size() < 4) { + if (pages.get(0).getLayers().size() < 4) { Layer layer = new Layer(); - layers.add(layer); + pages.get(0).getLayers().add(layer); } - return layers.size(); + return pages.get(0).getLayers().size(); } // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ @@ -52,7 +65,7 @@ public ArrayList getStrokeRest(@PathParam("aid") Integer aid, @PathParam("layerNo") Integer layerNo) { var animation = gallery.getAnimationInformation(aid); - return layers.get(layerNo).getStrokes(); + return pages.get(0).getLayers().get(layerNo).getStrokes(); // if(animation != null) { // return this.Test; @@ -79,7 +92,7 @@ @FormParam("pen") Integer pen, @FormParam("color") Integer color, @FormParam("thick") Integer thick) { var animation = gallery.getAnimationInformation(aid); - var strokes = layers.get(layerNo).getStrokes(); + var strokes = pages.get(0).getLayers().get(layerNo).getStrokes(); Stroke stroke = new Stroke(); stroke.addStrokes(pen, color, thick); // 線の情報を追加 @@ -96,12 +109,14 @@ // レイヤーごとのstrokeをすべて消去 - @Path("/{aid}/pageMap/0/layers/0/strokes") + @Path("/{aid}/pageMap/0/layers/{layerNo}/strokes") @DELETE @Produces(MediaType.APPLICATION_JSON) - public String deleteStrokes(@PathParam("aid") Integer aid, @FormParam("uid") Integer uid) { + public String deleteStrokes(@PathParam("aid") Integer aid, @PathParam("layerNo") Integer layerNo, @FormParam("uid") Integer uid) { var animation = gallery.getAnimationInformation(aid); + var strokes = pages.get(0).getLayers().get(layerNo).getStrokes(); + strokes.clear(); return "LGTM?"; // if(animation != null) { @@ -113,12 +128,14 @@ // strokeNoを指定してstrokeを消去 - @Path("/{aid}/pageMap/0/layers/0/strokes/{strokeNo}") + @Path("/{aid}/pageMap/0/layers/{layerNo}/strokes/{strokeNo}") @DELETE @Produces(MediaType.APPLICATION_JSON) - public String deleteStrokeNo(@PathParam("aid") Integer aid, @PathParam("strokeNo") Integer strokeNo) { + public String deleteStrokeNo(@PathParam("aid") Integer aid, @PathParam("layerNo") Integer layerNo, @PathParam("strokeNo") Integer strokeNo) { var animation = gallery.getAnimationInformation(aid); + var strokes = pages.get(0).getLayers().get(layerNo).getStrokes(); + int no = strokeNo; strokes.remove(no); return "やかんの麦茶"; @@ -139,7 +156,7 @@ public ArrayList getPositions(@PathParam("aid") Integer aid, @PathParam("layerNo") Integer layerNo, @PathParam("strokeNo") Integer strokeNo) { var animation = gallery.getAnimationInformation(aid); - var strokes = layers.get(layerNo).getStrokes(); + var strokes = pages.get(0).getLayers().get(layerNo).getStrokes(); Stroke stroke = strokes.get(strokeNo); // 指定したstrokeNoのstrokesを呼び出す return stroke.getPositions(); // 呼び出したstrokesの情報を返す @@ -163,7 +180,7 @@ public Integer addPositions(@PathParam("aid") Integer aid, @PathParam("strokeNo") Integer strokeNo, @PathParam("layerNo") Integer layerNo, @FormParam("x") Float x, @FormParam("y") Float y) { var animation = gallery.getAnimationInformation(aid); - var strokes = layers.get(layerNo).getStrokes(); + var strokes = pages.get(0).getLayers().get(layerNo).getStrokes(); Position position = new Position(); position.setXY(x, y);