diff --git a/src/main/java/org/ntlab/acanthus_server/entities/Animation.java b/src/main/java/org/ntlab/acanthus_server/entities/Animation.java index c5a212c..de76cd7 100644 --- a/src/main/java/org/ntlab/acanthus_server/entities/Animation.java +++ b/src/main/java/org/ntlab/acanthus_server/entities/Animation.java @@ -17,11 +17,11 @@ private String lastUpdate; private Integer likes; private Integer views; - private ArrayList hashTag; + private ArrayList hashTag = new ArrayList<>(); private Account owner; - private ArrayList editors; - private ArrayList invites; - private HashMap pageMap; + private ArrayList editors = new ArrayList<>(); + private ArrayList invites = new ArrayList<>(); + private HashMap pageMap = new HashMap<>(); public Animation(Integer aid, String name, Account owner) { this.aid = aid; @@ -53,13 +53,13 @@ this.isPublic = publicStatus; } - public void addEditors(Editor editor) { this.editors.add(editor); } - public void setlastUpdate() { Date dt = new Date(); this.lastUpdate = dt.toString(); } + public void addEditors(Editor editor) { this.editors.add(editor); } + public void addLikes() { this.likes++; } public void addViews() { this.views++; } diff --git a/src/main/java/org/ntlab/acanthus_server/entities/Editor.java b/src/main/java/org/ntlab/acanthus_server/entities/Editor.java index ac1aaa9..a9a1167 100644 --- a/src/main/java/org/ntlab/acanthus_server/entities/Editor.java +++ b/src/main/java/org/ntlab/acanthus_server/entities/Editor.java @@ -1,7 +1,8 @@ package org.ntlab.acanthus_server.entities; public class Editor { - public Editor(Account owner){} + public Editor(Account owner){ + } /* public boolean owner(){return false;} */ diff --git a/src/main/java/org/ntlab/acanthus_server/entities/Position.java b/src/main/java/org/ntlab/acanthus_server/entities/Position.java index 6ba3e62..d1c638d 100644 --- a/src/main/java/org/ntlab/acanthus_server/entities/Position.java +++ b/src/main/java/org/ntlab/acanthus_server/entities/Position.java @@ -7,17 +7,19 @@ import java.util.UUID; public class Position { - private HashMap positionMap = new HashMap<>(); - private ArrayList> positionList = new ArrayList<>(); + private float x; + private float y; - public void putPosition(Integer x, Integer y) { - this.positionMap.put("x", x); - this.positionMap.put("y", y); - this.positionList.add(this.positionMap); + public float getX() { + return x; + } + public float getY() { + return y; } - public ArrayList> getPosition() { - return this.positionList; + public void setXY(float x, float y) { + this.x = x; + this.y = y; } } diff --git a/src/main/java/org/ntlab/acanthus_server/resources/accounts/WorkRest.java b/src/main/java/org/ntlab/acanthus_server/resources/accounts/WorkRest.java index d004461..8d0cc89 100644 --- a/src/main/java/org/ntlab/acanthus_server/resources/accounts/WorkRest.java +++ b/src/main/java/org/ntlab/acanthus_server/resources/accounts/WorkRest.java @@ -23,11 +23,11 @@ @GET @Produces(MediaType.APPLICATION_JSON) public WorkJson getWork(@PathParam("uid") Integer uid, @QueryParam("token") String token) { - var account = accounts.getAccountByUid(uid); + var account = accounts.getAccountByUid(uid); //ユーザー情報取得 if(account != null && account.getToken().equals(token)){ //指定ユーザーの制作作品の表示 - Collection workList = account.getWorkingMap().values(); + Collection workList = account.getWorkingMap().values(); //ユーザーの制作作品を取得しリスト化 return new WorkJson(workList); }else{ //ユーザーID、トークンが間違っている時のレスポンス @@ -46,9 +46,9 @@ if(account != null && account.getToken().equals(token)){ //指定ユーザーの新しい作品の追加 - int newAid = gallery.createAnimation(animationName, account); - var animation = gallery.getAnimationInformation(newAid); - var newWork = new Work(); + int newAid = gallery.createAnimation(animationName, account); //新しい作品の作成 + var animation = gallery.getAnimationInformation(newAid); //作成した作品情報取得 + var newWork = new Work(); //ユーザーの制作作品の作成 newWork.setWork(); newWork.setAnimation(animation); account.addWork(newWork); @@ -71,13 +71,17 @@ if(account != null && animation != null && account.getToken().equals(invitedToken)){ //指定ユーザーの制作作品への参加の許可 - String sinvitedUid = Integer.valueOf(invitedUid).toString(); + var invitedWork = account.getInvitedMap().get(aid); - if(animation.searchAnimationInvites(aid, sinvitedUid) != null){ - account.getInvitedMap().get(aid).setWork(); + //参加する作品が、ユーザーが招待されている作品として存在しているか確認 + if(invitedWork != null){ + invitedWork.setWork(); //招待されている作品を参加している作品へ状態変化 + + //作品のeditorsにユーザーを追加 + }else{ //作品に招待されていない場合のレスポンス - throw new WebApplicationException(401); + throw new WebApplicationException(400); } }else{ //ユーザーID、トークンが間違っている時のレスポンス 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 e8bef76..c0cb115 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 @@ -16,6 +16,7 @@ @Path("/gallery") public class StrokesRest { private Position Position = new Position(); + private ArrayList positions = new ArrayList<>(); private Stroke Test = new Stroke(); /* @@ -61,8 +62,8 @@ @Path("/{aid}/pageMap/0/layers/0/strokes/{strokeNo}/position") @GET @Produces(MediaType.APPLICATION_JSON) - public ArrayList> getPositions(@PathParam("aid") Integer aid, @PathParam("strokeNo") Integer strokeNo) { - return this.Position.getPosition(); + public ArrayList getPositions(@PathParam("aid") Integer aid, @PathParam("strokeNo") Integer strokeNo) { + return this.positions; } /* @@ -74,8 +75,9 @@ @Path("/{aid}/pageMap/0/layers/0/strokes/{strokeNo}/position") @POST @Produces(MediaType.APPLICATION_JSON) - public void addPositions(@PathParam("aid") Integer aid, @FormParam("x") Integer x, @FormParam("y") Integer y) { - this.Position.putPosition(x, y); + public void addPositions(@PathParam("aid") Integer aid, @FormParam("x") Float x, @FormParam("y") Float y) { + this.Position.setXY(x, y); + this.positions.add(this.Position); } }