diff --git a/src/main/java/org/ntlab/acanthus_server/models/Gallery.java b/src/main/java/org/ntlab/acanthus_server/models/Gallery.java index c18b3f2..46bed14 100644 --- a/src/main/java/org/ntlab/acanthus_server/models/Gallery.java +++ b/src/main/java/org/ntlab/acanthus_server/models/Gallery.java @@ -29,7 +29,7 @@ /*インスタンス生成を禁止するコンストラクタ*/ private Gallery(){ - + //createDummyAnimation(); } //----------------------------------------------------------------- @@ -39,10 +39,13 @@ public Collection getAllAnimation(){return animationHashMap.values();} //----------------------------------------------------------------- - // 1つの作品の全ての情報を返す. + // 1つの作品の全ての情報を返す.この二つのメソッドは同じです。どっちを使っても public Animation getAnimationInformation( Integer aid){return animationHashMap.get(aid);} + public Animation getAnimationByAid(Integer aid) { + return animationHashMap.get(aid); + } //----------------------------------------------------------------- @@ -56,7 +59,15 @@ return aid; } - public Animation getAnimationByAid(Integer aid) { - return animationHashMap.get(aid); - } + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // ダミー作品生成 +// private void createDummyAnimation(){ +// var dummyAnimation = new Animation(); +// animationHashMap.put(dummyAnimation.getAid(), dummyAnimation); +// } +// //----------------------------------------------------------------- + + } diff --git a/src/main/java/org/ntlab/acanthus_server/resources/gallery/GalleryRest.java b/src/main/java/org/ntlab/acanthus_server/resources/gallery/GalleryRest.java index 1abebd2..d7d6f83 100644 --- a/src/main/java/org/ntlab/acanthus_server/resources/gallery/GalleryRest.java +++ b/src/main/java/org/ntlab/acanthus_server/resources/gallery/GalleryRest.java @@ -9,6 +9,7 @@ import javax.ws.rs.*; import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; //import java.security.acl.Owner; import java.util.*; @@ -23,7 +24,7 @@ @Produces(MediaType.APPLICATION_JSON) public Collection getGallery(){ var animationJsonList = new ArrayList(); - for(var animation : gallery.getAllAnimation() ) animationJsonList.add(new AnimationJson(animation)); + for (var animation : gallery.getAllAnimation()) animationJsonList.add(new AnimationJson(animation)); return animationJsonList; } //public Animation getGallery(){return ;} @@ -33,9 +34,21 @@ @Produces(MediaType.APPLICATION_JSON) public Integer createAnimation(@FormParam("name") String name ,@FormParam("token") String token ,@FormParam("uid") Integer uid){ - Accounts accounts = Accounts.getInstance(); - Account Owner = accounts.getAccountByUid(uid); - return gallery.createAnimation(name, Owner); + var searchAccounts = Accounts.getInstance().getAccountByUid(uid); + if(searchAccounts == null){ + var response=Response.status(404).entity("該当アカウントが存在しません"); + throw new WebApplicationException(response.build()); + } + + if(!searchAccounts.isCollectToken(token)){ + var response = Response.status(400).entity("トークンが違います。"); + throw new WebApplicationException(response.build()); + } + else { + Accounts accounts = Accounts.getInstance(); + Account Owner = accounts.getAccountByUid(uid); + return gallery.createAnimation(name, Owner); + } } @@ -43,9 +56,8 @@ @GET @Produces(MediaType.APPLICATION_JSON) public Collection getAnimationInformation(@PathParam("aid") Integer aid){ + var searchAnimation =gallery.getAnimationInformation(aid); - - var animationJsonList = new ArrayList(); animationJsonList.add(new AnimationJson(searchAnimation));