diff --git a/src/main/java/org/ntlab/acanthus_server/resources/gallery/LayersRest.java b/src/main/java/org/ntlab/acanthus_server/resources/gallery/LayersRest.java index 92a5df6..190cb72 100644 --- a/src/main/java/org/ntlab/acanthus_server/resources/gallery/LayersRest.java +++ b/src/main/java/org/ntlab/acanthus_server/resources/gallery/LayersRest.java @@ -1,5 +1,6 @@ package org.ntlab.acanthus_server.resources.gallery; +import org.ntlab.acanthus_server.entities.Layer; import org.ntlab.acanthus_server.entities.Position; import org.ntlab.acanthus_server.models.Gallery; import org.springframework.stereotype.Component; @@ -8,6 +9,62 @@ import javax.ws.rs.core.MediaType; import java.util.ArrayList; +// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ +// +@Component +@Path("/gallery") public class LayersRest { + private Gallery gallery = Gallery.getInstance(); + + // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ + // 1ページのレイヤー情報を全て取得します + // 成功時のレスポンス: + // @PathParam Integer aid 作品ID + // @PathParam Integer pid ページのID 今回は0 + @Path("/{aid}/pageMap/{pid}/layers") + @GET + @Produces(MediaType.APPLICATION_JSON) + public Integer getLayers(@PathParam("aid") Integer aid, @PathParam("pid") Integer pid) { + var pages = gallery.getAnimationByAid(aid).getPages(); + return pages.get(pid).getLayers().size(); + } + + + // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ + // 1ページに1レイヤーを4枚まで追加 + // 成功時のレスポンス: + // @PathParam Integer aid 作品ID + // @PathParam Integer pid ページのID 今回は0 + @Path("/{aid}/pageMap/{pid}/layers") + @POST + @Produces(MediaType.APPLICATION_JSON) + public Integer addLayers(@PathParam("aid") Integer aid, @PathParam("pid") Integer pid) { + var pages = gallery.getAnimationByAid(aid).getPages(); + + if (pages.get(pid).getLayers().size() < 4) { + pages.get(pid).getLayers().add(new Layer()); + } + + return pages.get(pid).getLayers().size(); + } + + + // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ + // 1ページの1レイヤーに置けるstrokeの数を返します。 + // 成功時のレスポンス: + // @PathParam Integer aid 作品ID + // @PathParam Integer pid ページのID 今回は0 + // @PathParam Integer layerNo レイヤーの番号 今回は0 + @Path("/{aid}/pageMap/{pid}/layers/{layerNo}") + @GET + @Produces(MediaType.APPLICATION_JSON) + public Integer getStrokeSize(@PathParam("aid") Integer aid, @PathParam("pid") Integer pid, @PathParam("layerNo") Integer layerNo) { + var pages = gallery.getAnimationByAid(aid).getPages(); + + return pages.get(pid).getLayers().get(layerNo).getStrokes().size(); + } + + // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ + } diff --git a/src/main/java/org/ntlab/acanthus_server/resources/gallery/PagesRest.java b/src/main/java/org/ntlab/acanthus_server/resources/gallery/PagesRest.java new file mode 100644 index 0000000..77841a1 --- /dev/null +++ b/src/main/java/org/ntlab/acanthus_server/resources/gallery/PagesRest.java @@ -0,0 +1,50 @@ +package org.ntlab.acanthus_server.resources.gallery; + +import org.ntlab.acanthus_server.entities.Account; +import org.ntlab.acanthus_server.entities.Animation; +import org.ntlab.acanthus_server.entities.Page; +import org.ntlab.acanthus_server.models.Accounts; +import org.ntlab.acanthus_server.models.Gallery; +import org.springframework.stereotype.Component; + +import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; +import java.util.ArrayList; + +// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ +// +@Component +@Path("/gallery") +public class PagesRest { + + private Gallery gallery = Gallery.getInstance(); + private ArrayList pages = new ArrayList<>(); + + + // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ + // ページマップを取得 + // 成功時のレスポンス: + // @PathParam Integer aid 作品ID + @Path("/{aid}/pageMap/") + @GET + @Produces(MediaType.APPLICATION_JSON) + public ArrayList getPages(@PathParam("aid") Integer aid) { + pages = gallery.getAnimationByAid(aid).getPages(); + return pages; + } + + + // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ + // ページマップを追加 + // 成功時のレスポンス: + // @PathParam Integer aid 作品ID + @Path("/{aid}/pageMap/") + @POST + @Produces(MediaType.APPLICATION_JSON) + public Integer addPages(@PathParam("aid") Integer aid) { + pages = gallery.getAnimationByAid(aid).getPages(); + pages.add(new Page()); + return pages.size(); + } + // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ +} 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 518bdd1..bef8538 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 @@ -13,90 +13,8 @@ @Component @Path("/gallery") public class StrokesRest { - private ArrayList pages = new Animation(new Account(0)).getPages(); private Gallery gallery = Gallery.getInstance(); - - // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ - // ページマップを取得 - // 成功時のレスポンス: - // @PathParam Integer aid 作品ID - @Path("/{aid}/pageMap/") - @GET - @Produces(MediaType.APPLICATION_JSON) - public ArrayList getPages(@PathParam("aid") Integer aid) { - var animation = gallery.getAnimationInformation(aid); - - return pages; - } - - - // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ - // ページマップを追加 - // 成功時のレスポンス: - // @PathParam Integer aid 作品ID - @Path("/{aid}/pageMap/") - @POST - @Produces(MediaType.APPLICATION_JSON) - public Integer addPages(@PathParam("aid") Integer aid) { - var animation = gallery.getAnimationInformation(aid); - - pages.add(new Page()); - - return pages.size(); - } - - - // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ - // 1ページのレイヤー情報を全て取得します - // 成功時のレスポンス: - // @PathParam Integer aid 作品ID - // @PathParam Integer pid ページのID 今回は0 - @Path("/{aid}/pageMap/{pid}/layers") - @GET - @Produces(MediaType.APPLICATION_JSON) - public Integer getLayers(@PathParam("aid") Integer aid, @PathParam("pid") Integer pid) { - var animation = gallery.getAnimationInformation(aid); - - return pages.get(pid).getLayers().size(); - } - - - // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ - // 1ページに1レイヤーを4枚まで追加 - // 成功時のレスポンス: - // @PathParam Integer aid 作品ID - // @PathParam Integer pid ページのID 今回は0 - @Path("/{aid}/pageMap/{pid}/layers") - @POST - @Produces(MediaType.APPLICATION_JSON) - public Integer addLayers(@PathParam("aid") Integer aid, @PathParam("pid") Integer pid) { - var animation = gallery.getAnimationInformation(aid); - - if (pages.get(pid).getLayers().size() < 4) { - pages.get(pid).getLayers().add(new Layer()); - } - - return pages.get(pid).getLayers().size(); - } - - - // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ - // 1ページの1レイヤーに置けるstrokeの数を返します。 - // 成功時のレスポンス: - // @PathParam Integer aid 作品ID - // @PathParam Integer pid ページのID 今回は0 - // @PathParam Integer layerNo レイヤーの番号 今回は0 - @Path("/{aid}/pageMap/{pid}/layers/{layerNo}") - @GET - @Produces(MediaType.APPLICATION_JSON) - public Integer getLayerRest(@PathParam("aid") Integer aid, @PathParam("pid") Integer pid, @PathParam("layerNo") Integer layerNo) { - var animation = gallery.getAnimationInformation(aid); - - return pages.get(pid).getLayers().get(layerNo).getStrokes().size(); - } - - // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // 1ページの1レイヤーに置ける筆跡情報を全て取得します // 成功時のレスポンス:strokeNo{pen, color, thickness, potions{x, y}} @@ -107,18 +25,10 @@ @GET @Produces(MediaType.APPLICATION_JSON) public ArrayList getStrokeRest(@PathParam("aid") Integer aid, @PathParam("pid") Integer pid, @PathParam("layerNo") Integer layerNo) { - var animation = gallery.getAnimationInformation(aid); - + var pages = gallery.getAnimationByAid(aid).getPages(); return pages.get(pid).getLayers().get(layerNo).getStrokes(); - -// if(animation != null) { -// return this.Test; -// }else{ -// throw new WebApplicationException(401); -// } } - // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // 何かを書き始めた時strokeNoを取得しペン情報、色情報、太さ情報、座標情報を追加する // StrokeNoは画面に線を書き始めてから離すまで @@ -137,8 +47,7 @@ public Integer addStrokes(@PathParam("aid") Integer aid, @PathParam("pid") Integer pid, @PathParam("layerNo") Integer layerNo, @FormParam("uid") Integer uid, @FormParam("uidToken") String uidToken, @FormParam("pen") Integer pen, @FormParam("color") Integer color, @FormParam("thick") Integer thick) { - var animation = gallery.getAnimationInformation(aid); - + var pages = gallery.getAnimationByAid(aid).getPages(); var strokes = pages.get(pid).getLayers().get(layerNo).getStrokes(); Stroke stroke = new Stroke(); @@ -165,8 +74,7 @@ @DELETE @Produces(MediaType.APPLICATION_JSON) public String deleteStrokes(@PathParam("aid") Integer aid, @PathParam("pid") Integer pid, @PathParam("layerNo") Integer layerNo, @QueryParam("uid") Integer uid) { - var animation = gallery.getAnimationInformation(aid); - + var pages = gallery.getAnimationByAid(aid).getPages(); var strokes = pages.get(pid).getLayers().get(layerNo).getStrokes(); strokes.clear(); @@ -191,11 +99,10 @@ @Produces(MediaType.APPLICATION_JSON) public String deleteStrokeNo(@PathParam("aid") Integer aid, @PathParam("pid") Integer pid, @PathParam("layerNo") Integer layerNo, @PathParam("strokeNo") Integer strokeNo) { - var animation = gallery.getAnimationInformation(aid); - + var pages = gallery.getAnimationByAid(aid).getPages(); var strokes = pages.get(pid).getLayers().get(layerNo).getStrokes(); - strokes.remove((int)strokeNo); + strokes.remove((int) strokeNo); return "やかんの麦茶"; // if(animation != null) { // this.Test.setStrokes(pen, color, thick); @@ -216,8 +123,7 @@ @Produces(MediaType.APPLICATION_JSON) public ArrayList getPositions(@PathParam("aid") Integer aid, @PathParam("pid") Integer pid, @PathParam("layerNo") Integer layerNo, @PathParam("strokeNo") Integer strokeNo) { - var animation = gallery.getAnimationInformation(aid); - + var pages = gallery.getAnimationByAid(aid).getPages(); var strokes = pages.get(pid).getLayers().get(layerNo).getStrokes(); return strokes.get(strokeNo).getPositions(); // 呼び出したstrokesの情報を返す @@ -242,8 +148,7 @@ @Produces(MediaType.APPLICATION_JSON) public Integer addPositions(@PathParam("aid") Integer aid, @PathParam("pid") Integer pid, @PathParam("strokeNo") Integer strokeNo, @PathParam("layerNo") Integer layerNo, @FormParam("x") Float x, @FormParam("y") Float y) { - var animation = gallery.getAnimationInformation(aid); - + var pages = gallery.getAnimationByAid(aid).getPages(); var strokes = pages.get(pid).getLayers().get(layerNo).getStrokes(); Position position = new Position();