diff --git a/src/main/java/com/ntlab/irisserver/entities/Drawing.java b/src/main/java/com/ntlab/irisserver/entities/Drawing.java index 584889a..bd51375 100644 --- a/src/main/java/com/ntlab/irisserver/entities/Drawing.java +++ b/src/main/java/com/ntlab/irisserver/entities/Drawing.java @@ -6,6 +6,14 @@ public class Drawing { + // お題 + @JsonProperty("title") + private String title; + + // 作者名 + @JsonProperty("member") + private String member; + @JsonProperty("drawing") private String drawing; @@ -15,6 +23,12 @@ //----------------------------------------------------------------- // getter + public String getTitle() { + return this.title; + } + public String getMember() { + return this.member; + } public String getDrawing() { return this.drawing; } @@ -24,6 +38,8 @@ //----------------------------------------------------------------- // 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;} diff --git a/src/main/java/com/ntlab/irisserver/entities/Room.java b/src/main/java/com/ntlab/irisserver/entities/Room.java index 8ff70e3..cf6a1f5 100644 --- a/src/main/java/com/ntlab/irisserver/entities/Room.java +++ b/src/main/java/com/ntlab/irisserver/entities/Room.java @@ -48,10 +48,7 @@ Map drawings = new HashMap<>(); - - public Room(String rid, String owner) { - this.rid=rid; - ownerName=owner; + public Room() { drawingTimer = false; drawingTimerTimes = 0; gameTimer = true; @@ -59,6 +56,11 @@ gameTimerFirstThinkingTimes = 10; } + public Room(String rid, String owner) { + this.rid=rid; + ownerName=owner; + } + public List getMembers() { List memberslist = new ArrayList(members.values()) ; diff --git a/src/main/java/com/ntlab/irisserver/resources/MemberRest.java b/src/main/java/com/ntlab/irisserver/resources/MemberRest.java index 94157dd..a910a8c 100644 --- a/src/main/java/com/ntlab/irisserver/resources/MemberRest.java +++ b/src/main/java/com/ntlab/irisserver/resources/MemberRest.java @@ -30,7 +30,7 @@ @PUT public String putMember(@PathParam("rid") String rid, @FormParam("nickname") String nickname) { RoomManager rm = RoomManager.getInstance(); - Room room = rm.getRoom("rid"); + Room room = rm.getRoom(rid); List m = room.getMembers(); return "変更しました"; } @@ -40,7 +40,7 @@ @DELETE public String deleteMember(@PathParam("rid") String rid, @FormParam("nickname") String nickname) { RoomManager rm = RoomManager.getInstance(); - Room room = rm.getRoom("rid"); + Room room = rm.getRoom(rid); List m = room.getMembers(); for( i = 0; i < 10; i++ ) { Member name = m.get(i); diff --git a/src/main/java/com/ntlab/irisserver/resources/MembersRest.java b/src/main/java/com/ntlab/irisserver/resources/MembersRest.java new file mode 100644 index 0000000..41533dc --- /dev/null +++ b/src/main/java/com/ntlab/irisserver/resources/MembersRest.java @@ -0,0 +1,11 @@ +package com.ntlab.irisserver.resources; + +import org.springframework.stereotype.Component; + +import javax.ws.rs.Path; + +@Component +@Path("MembersRest") +public class MembersRest { + +} diff --git a/src/main/java/com/ntlab/irisserver/resources/SettingsRest.java b/src/main/java/com/ntlab/irisserver/resources/SettingsRest.java index 7448c2b..344e615 100644 --- a/src/main/java/com/ntlab/irisserver/resources/SettingsRest.java +++ b/src/main/java/com/ntlab/irisserver/resources/SettingsRest.java @@ -1,36 +1,44 @@ package com.ntlab.irisserver.resources; +import com.ntlab.irisserver.entities.Room; +import com.ntlab.irisserver.models.RoomManager; import org.springframework.stereotype.Component; import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; @Component @Path("rooms") public class SettingsRest { - //お絵描きの制限時間、単位は秒、初期値は10 - int drawingTimerTimes = 10; - //ゲーム画面での諜報員が考える時間の長さ、単位は秒、初期値30 - int gameTimerTimes = 30; - //最初のヒントの追加考察時間、単位は秒、初期値10 - int gameTimerFirstThinkingTimes = 10; - boolean drawingTimer = false; - boolean gameTimer = true; - /* RoomManager rm = RoomManager.getInstance(); - Room room = rm.getRoom(); - */ - @GET - @Path("/{rid}/settings") - public Object GetSettings(@PathParam("rid") String rid){ - return "drawingTime:" + drawingTimer + ",\n" + - "drawingTimerTimes:" + drawingTimerTimes + ",\n" + - "gameTimer:" + gameTimer +",\n" + - "gameTimerTimes:" + gameTimerTimes + ",\n" + - "gameTimerInitializeTimes:" + gameTimerFirstThinkingTimes; +//------------------------------------------------------------------------------------ + //GET:設定情報の入手 + @GET + @Produces(MediaType.APPLICATION_JSON) + @Path("/{rid}/settings") + public Object GetSettings(@PathParam("rid") String rid) { + + Room r = rm.getRoom(rid); + + //部屋が存在しないとき + var response = Response.status(Response.Status.NO_CONTENT); + if(r == null) { + response.status(404).entity("部屋が存在しません"); + throw new WebApplicationException(response.build()); + } + else return + "drawingTime:" + r.isDrawingTimer()+ ",\n" + + "drawingTimerTimes:" + r.getDrawingTimerTimes() + ",\n" + + "gameTimer:" + r.isGameTimer() +",\n" + + "gameTimerTimes:" + r.getGameTimerTimes() + ",\n" + + "gameTimerInitializeTimes:" + r.getGameTimerFirstThinkingTimes(); } +//---------------------------------------------------------------------------------------------------- + //PUT:設定値の変更 @PUT @Path("/{rid}/settings") public void PutSettings(@PathParam("rid") String rid, @@ -38,18 +46,23 @@ @FormParam("drawingTimerTimes") int dTimerTimes, @FormParam("gameTimer") boolean gTimer, @FormParam("gameTimerTimes") int gTimerTimes, - @FormParam("gameTimerFirstThinkingTimes") int gTimerFTTimes){ - drawingTimer = dTimer; - drawingTimerTimes = dTimerTimes; - gameTimer = gTimer; - gameTimerTimes = gTimerTimes; - gameTimerFirstThinkingTimes =gTimerFTTimes; - + @FormParam("gameTimerFirstThinkingTimes") int gTimerFTTimes) { + + Room r = rm.getRoom(rid); + + //部屋がある時、値を変更 + if(r != null) { + r.setDrawingTimer(dTimer); + r.setDrawingTimerTimes(dTimerTimes); + r.setGameTimer(gTimer); + r.setGameTimerTimes(gTimerTimes); + r.setGameTimerFirstThinkingTimes(gTimerFTTimes); + }else{ + //部屋がなければエラー + var response = Response.status(Response.Status.NO_CONTENT); + response.status(404).entity("部屋が存在しません"); + throw new WebApplicationException(response.build()); + } } - public void DrawingSetting(){ - } - - public void GameSetting(){ - } } diff --git a/src/main/java/utils/Base64Decode.java b/src/main/java/utils/Base64Decode.java new file mode 100644 index 0000000..a300629 --- /dev/null +++ b/src/main/java/utils/Base64Decode.java @@ -0,0 +1,10 @@ +package utils; + +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Base64; + +public class Base64Decode { +}