diff --git a/src/main/java/com/example/cosmos_serversb/jsons/RequestJson.java b/src/main/java/com/example/cosmos_serversb/jsons/RequestJson.java new file mode 100644 index 0000000..26f8a65 --- /dev/null +++ b/src/main/java/com/example/cosmos_serversb/jsons/RequestJson.java @@ -0,0 +1,113 @@ +package com.example.cosmos_serversb.jsons; + +import com.example.cosmos_serversb.entities.Request; +import com.example.cosmos_serversb.entities.User; +import com.example.cosmos_serversb.models.Users; + +import java.util.Date; + +public class RequestJson { + private String rId; +// private String uri, IssuerUid, product; + private String uri, product; + private User Issuer; + private Date date, deadline; + private int location;// YahooローカルサーチAPIの業種コード + private boolean done = false; + + public RequestJson(){ + + } + + public RequestJson(Request request){ + setrId(request.getrId()); + setUri(request.getrId()); + setDate(request.getDate()); + SetIssuerByUid(request.getIssuerUid()); + //setIssuer(IssuerUid); + setProduct(request.getProduct()); + setDeadline(request.getDeadline()); + setLocation(request.getLocation()); + this.done = false; + } + + private void setrId(String rId){ + this.rId = rId; + } + + public String getrId(){ + return rId; + } + + private void setUri(String uri){ + this.uri = uri; + } + + public String getUri(){ + return uri; + } + + private void setDate(Date date){ + this.date = date; + } + + public Date getDate() { + return date; + } + +// private void setIssuerUid(String IssuerUid){ +// this.IssuerUid = IssuerUid; +// } +// +// public String getIssuerUid(){ +// return IssuerUid; +// } + + private User getIssuer(){ + return Issuer; + } + + private void setIssuer(User user){ + this.Issuer = user; + } + + private void SetIssuerByUid(String uId){ + this.Issuer = Users.getInstance().getUserById(uId); + } + + public String getProduct() { + return product; + } + + public void setProduct(String product) { + this.product = product; + } + + public Date getDeadline() { + return deadline; + } + + public void setDeadline(Date deadline) { + this.deadline = deadline; + } + + public int getLocation() { + return location; + } + + public void setLocation(int location) { + this.location = location; + } + + public boolean isDone() { + return done; + } + + public boolean getDone() { + return done; + } + + public void setDone(boolean done) { + this.done = done; + } +} \ No newline at end of file diff --git a/src/main/java/com/example/cosmos_serversb/jsons/RequestsJson.java b/src/main/java/com/example/cosmos_serversb/jsons/RequestsJson.java new file mode 100644 index 0000000..35933ee --- /dev/null +++ b/src/main/java/com/example/cosmos_serversb/jsons/RequestsJson.java @@ -0,0 +1,30 @@ +package com.example.cosmos_serversb.jsons; + +import com.example.cosmos_serversb.entities.Request; + +import java.util.ArrayList; +import java.util.Set; + + +public class RequestsJson { + public ArrayList requests; + + public RequestsJson(Set set){ + changeRequests(set); + } + + public ArrayList getRequests(){ + return requests; + } + + public void setRequests(ArrayList requests) { + this.requests = requests; + } + + public void changeRequests(Set set){ +// requests = new ArrayList(set); + for( Request request : (Set) set ) { + requests.add(new RequestJson(request)); + } + } +} diff --git a/src/main/java/com/example/cosmos_serversb/models/Groups.java b/src/main/java/com/example/cosmos_serversb/models/Groups.java index fcaf8c4..6a6db20 100644 --- a/src/main/java/com/example/cosmos_serversb/models/Groups.java +++ b/src/main/java/com/example/cosmos_serversb/models/Groups.java @@ -67,7 +67,6 @@ return editGroup; } } - return null; } @@ -103,11 +102,30 @@ return null; } - public static HashMap getRequestsListByGid(String gId){ + /* + public static Group getGroupByGid(String gId){ + Group editGroup; + Session session = SessionManager.getInstance().getSession(); + List groupResult = session.createQuery( "from Group" ).list(); + for ( Group group : (List) groupResult ) { + editGroup = group; + if (editGroup.getgId().equals(gId)) { + return editGroup; + } + } return null; } - public static Request addRequests(String gId, String uId, String product, String deadline, int location){ + */ + + public static RequestsJson getRequestsListByGid(String gId, boolean detail, int quantity){ + Session session = SessionManager.getInstance().getSession(); + Group group = session.load(Group.class, gId); + RequestsJson requestsJson = new RequestsJson(group.getRequests()); + return null; + } + + public static Request addRequests(String gId, String uId, String product, Date deadline, int location){ //テスト用 String rId = getInstance().createRId(); String uri = baseURI + AppName + "/groups/" + gId + "/requests/" + rId; @@ -119,7 +137,7 @@ return null; } - public static Request updateRequest(String gId, String rId, String uId, String product, String deadline, int location, boolean done){ + public static Request updateRequest(String gId, String rId, String uId, String product, Date deadline, int location, boolean done){ //テスト用 Request testRequest = new Request(rId, "http://test.com", new Date(1999,01,01), uId, product, new Date(1999,12,01), 999); diff --git a/src/main/java/com/example/cosmos_serversb/resources/GroupsRest.java b/src/main/java/com/example/cosmos_serversb/resources/GroupsRest.java index 70f42fd..bd30720 100644 --- a/src/main/java/com/example/cosmos_serversb/resources/GroupsRest.java +++ b/src/main/java/com/example/cosmos_serversb/resources/GroupsRest.java @@ -13,6 +13,7 @@ import com.example.cosmos_serversb.models.*; import java.io.IOException; +import java.util.Date; @Component @Path("/groups") @@ -100,19 +101,29 @@ return json; } +// @Path("/{gId}/requests") +// @GET +// public String getRequestsListByGid(@PathParam("gId") String gId, @QueryParam("token") String token) throws JsonProcessingException{ +// SessionManager.getInstance().getSession(); +// ObjectMapper mapper = new ObjectMapper(); +// String json = mapper.writeValueAsString(Groups.getInstance().getRequestsListByGid(gId)); +// SessionManager.getInstance().closeSession(); +// return json; +// } + @Path("/{gId}/requests") @GET - public String getRequestsListByGid(@PathParam("gId") String gId, @QueryParam("token") String token) throws JsonProcessingException{ + public String getRequestsListByGid(@PathParam("gId") String gId, @QueryParam("token") String token, @QueryParam("detail") boolean detail, @QueryParam("quantity") int quantity) throws JsonProcessingException{ SessionManager.getInstance().getSession(); ObjectMapper mapper = new ObjectMapper(); - String json = mapper.writeValueAsString(Groups.getInstance().getRequestsListByGid(gId)); + String json = mapper.writeValueAsString(Groups.getInstance().getRequestsListByGid(gId, detail, quantity)); SessionManager.getInstance().closeSession(); return json; } @Path("/{gId}/requests") @POST - public String addRequests(@PathParam("gId") String gId, @FormParam("uId") String uId, @FormParam("product") String product, @FormParam("deadline") String deadline, @FormParam("location") int location, @FormParam("token") String token) throws JsonProcessingException{ + public String addRequests(@PathParam("gId") String gId, @FormParam("uId") String uId, @FormParam("product") String product, @FormParam("deadline") Date deadline, @FormParam("location") int location, @FormParam("token") String token) throws JsonProcessingException{ SessionManager.getInstance().getSession(); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Groups.getInstance().addRequests(gId, uId, product, deadline, location)); @@ -132,7 +143,7 @@ @Path("{gId}/requests/{rId}") @PUT - public String updateRequest(@PathParam("gId") String gId, @PathParam("rId") String rId, @FormParam("uId") String uId, @FormParam("product") String product, @FormParam("deadline") String deadline, @FormParam("location") int location, @FormParam("done") boolean done, @FormParam("token") String token) throws JsonProcessingException{ + public String updateRequest(@PathParam("gId") String gId, @PathParam("rId") String rId, @FormParam("uId") String uId, @FormParam("product") String product, @FormParam("deadline") Date deadline, @FormParam("location") int location, @FormParam("done") boolean done, @FormParam("token") String token) throws JsonProcessingException{ SessionManager.getInstance().getSession(); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Groups.getInstance().updateRequest(gId, rId, uId, product, deadline, location, done));