diff --git a/src/main/java/com/ntlab/irisserver/entities/Drawing.java b/src/main/java/com/ntlab/irisserver/entities/Drawing.java index c49a153..225da01 100644 --- a/src/main/java/com/ntlab/irisserver/entities/Drawing.java +++ b/src/main/java/com/ntlab/irisserver/entities/Drawing.java @@ -9,45 +9,14 @@ public class Drawing { - // お題 - @JsonProperty("title") - private String title; - - // 作者名 - @JsonProperty("member") - private String member; - // 絵のデータ @JsonProperty("drawing") private String drawing; - // true: 終了, false: まだ描かれていない - @JsonProperty("isDrawn") - private Boolean isDrawn; - - // リストに何を持たすかは相談したいところなので仮置き。。。 - private Map drawings = new HashMap<>(); - - - //----------------------------------------------------------------- - // getter - public String getTitle() { - return this.title; - } - public String getMember() { - return this.member; - } - public String getDrawing() { - return this.drawing; - } - public Boolean isDrawn() { - return this.isDrawn; + public Drawing(String drawing) { + this.drawing = drawing; } - //----------------------------------------------------------------- - // setter - public void setTitle(String title) {this.title = title;} - public void setMember(String member) {this.member = member;} - public void setDrawing(String drawing) {this.drawing = drawing;} - public void setIsDrawn(Boolean status) {this.isDrawn = status;} + //getter + public String getDrawing() {return this.drawing;} } diff --git a/src/main/java/com/ntlab/irisserver/resources/DrawingsRest.java b/src/main/java/com/ntlab/irisserver/resources/DrawingsRest.java index 13190ca..44de4bd 100644 --- a/src/main/java/com/ntlab/irisserver/resources/DrawingsRest.java +++ b/src/main/java/com/ntlab/irisserver/resources/DrawingsRest.java @@ -1,5 +1,9 @@ package com.ntlab.irisserver.resources; +import com.ntlab.irisserver.entities.Drawing; +import com.ntlab.irisserver.entities.Game; +import com.ntlab.irisserver.entities.Room; +import com.ntlab.irisserver.models.RoomManager; import com.ntlab.irisserver.utils.Base64Decode; import org.springframework.context.ApplicationContextAware; import org.springframework.beans.BeansException; @@ -32,44 +36,45 @@ @GET @Path("/{rid}/game/drawings/{dno}") @Produces(MediaType.APPLICATION_JSON) - public String getDrawing(@PathParam("rid") String rid, @PathParam("dno") int dno ) { + public Drawing getDrawing(@PathParam("rid") String rid, @PathParam("dno") int dno ) { - String path = ""; - String path1 = ""; - String fileName = ""; + RoomManager rm = RoomManager.getInstance(); + Room room = rm.getRoom(rid); + Game game = room.getGame(); + Drawing drawing = game.getDrawing(dno); - try { - path1 = applicationContext.getResource("file:").getFile().getAbsolutePath() + "/apache-tomcat-9.0.10/webapps/irisdata"; - fileName= rid + "-" + dno + ".png"; - path = path1 + fileName; - System.out.println("生成されたパス:" + path.toString()); - } catch (IOException e) { - e.printStackTrace(); - throw new WebApplicationException(500); - } + return drawing; - return path; } // 描いた絵を送る @PUT @Path("/{rid}/game/drawings/{dno}") @Produces(MediaType.APPLICATION_JSON) - public String putDrawing(@PathParam("rid") String rid, @PathParam("dno") int dno, @FormParam("drawing") String drawing ) { - String path1 = ""; + public String putDrawing(@PathParam("rid") String rid, @PathParam("dno") int dno, @FormParam("drawing") String drawingStr ) { + String pathDirectory = ""; String path = ""; try { - path1 = applicationContext.getResource("file:").getFile().getAbsolutePath() + "/apache-tomcat-9.0.10/webapps"; - System.out.println("保存前のディレクトリのパス:" + path1.toString()); - System.out.println("クライアントから届いたBASE64の文字列"+ drawing.toString()); + pathDirectory = applicationContext.getResource("file:").getFile().getAbsolutePath() + "/apache-tomcat-9.0.10/webapps"; + System.out.println("保存前のディレクトリのパス:" + pathDirectory.toString()); + System.out.println("クライアントから届いたBASE64の文字列"+ drawingStr.toString()); // utilsのBase64Decodeにデコードしてもらって、そのついでに保存してもらう - path = Base64Decode.saveAsFile(rid, dno, path1, drawing); + path = Base64Decode.saveAsFile(rid, dno, pathDirectory, drawingStr); + + Drawing drawing = new Drawing(path); + + RoomManager rm = RoomManager.getInstance(); + Room room = rm.getRoom(rid); + Game game = room.getGame(); + game.putDrawing(dno, drawing); + } catch (IOException e) { e.printStackTrace(); throw new WebApplicationException(500); } - System.out.println("画像デーをが追加しました。これがパス:" + path); + + System.out.println("画像データの追加完了。これがパス:" + path); return "画像保存完了"; }