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..c25ab36 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 addLayer(@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..ba96364 --- /dev/null +++ b/src/main/java/org/ntlab/acanthus_server/resources/gallery/PagesRest.java @@ -0,0 +1,49 @@ +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(); + + + // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ + // ページマップを取得 + // 成功時のレスポンス: + // @PathParam Integer aid 作品ID + @Path("/{aid}/pageMap/") + @GET + @Produces(MediaType.APPLICATION_JSON) + public ArrayList getPages(@PathParam("aid") Integer aid) { + var pages = gallery.getAnimationByAid(aid).getPages(); + return pages; + } + + + // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ + // ページマップを追加 + // 成功時のレスポンス: + // @PathParam Integer aid 作品ID + @Path("/{aid}/pageMap/") + @POST + @Produces(MediaType.APPLICATION_JSON) + public Integer addPage(@PathParam("aid") Integer aid) { + var 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..a94b809 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 @@ -2,100 +2,18 @@ import org.ntlab.acanthus_server.entities.*; import org.ntlab.acanthus_server.models.Gallery; -import org.ntlab.acanthus_server.entities.Animation; -import org.ntlab.acanthus_server.entities.Account; import org.springframework.stereotype.Component; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.util.ArrayList; +// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ +// @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(); - } - + private final Gallery gallery = Gallery.getInstance(); // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // 1ページの1レイヤーに置ける筆跡情報を全て取得します @@ -106,19 +24,11 @@ @Path("/{aid}/pageMap/{pid}/layers/{layerNo}/strokes") @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); - + public ArrayList getStrokes(@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(); - -// if(animation != null) { -// return this.Test; -// }else{ -// throw new WebApplicationException(401); -// } } - // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // 何かを書き始めた時strokeNoを取得しペン情報、色情報、太さ情報、座標情報を追加する // StrokeNoは画面に線を書き始めてから離すまで @@ -128,17 +38,16 @@ // @PathParam Integer layerNo レイヤーの番号 // @FormParam Integer uid ページのID // @FormParam Integer uidToken トークン - // @Formparam Integer pen ペン情報 - // @Formparam Integer color 色情報 - // @Formparam Integer thick 太さ情報 + // @FormParam Integer pen ペン情報 + // @FormParam Integer color 色情報 + // @FormParam Integer thick 太さ情報 @Path("/{aid}/pageMap/{pid}/layers/{layerNo}/strokes") @POST @Produces(MediaType.APPLICATION_JSON) 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(); @@ -189,13 +97,12 @@ @Path("/{aid}/pageMap/{pid}/layers/{layerNo}/strokes/{strokeNo}") @DELETE @Produces(MediaType.APPLICATION_JSON) - public String deleteStrokeNo(@PathParam("aid") Integer aid, @PathParam("pid") Integer pid, + public String deleteStrokeByStrokeNo(@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の情報を返す @@ -240,10 +146,9 @@ @Path("/{aid}/pageMap/{pid}/layers/{layerNo}/strokes/{strokeNo}/positions") @POST @Produces(MediaType.APPLICATION_JSON) - public Integer addPositions(@PathParam("aid") Integer aid, @PathParam("pid") Integer pid, @PathParam("strokeNo") Integer strokeNo, + public Integer addPosition(@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();