diff --git a/src/main/java/com/example/cosmos_serversb/entities/Group.java b/src/main/java/com/example/cosmos_serversb/entities/Group.java index e774568..8aae1f5 100644 --- a/src/main/java/com/example/cosmos_serversb/entities/Group.java +++ b/src/main/java/com/example/cosmos_serversb/entities/Group.java @@ -3,16 +3,15 @@ import com.example.cosmos_serversb.models.SessionManager; import com.example.cosmos_serversb.models.Users; -import com.sun.corba.se.impl.orbutil.graph.Graph; import org.hibernate.Session; -import java.util.ArrayList; import java.util.HashSet; import java.util.Set; public class Group { private String gId; private String uri, name; + private long requestHash = 0; private Set members = new HashSet<>(); private Set requests; @@ -58,6 +57,18 @@ return name; } + public long getRequestHash() { + return requestHash; + } + + private void setRequestHash(long hash) { + this.requestHash = hash; + } + + public void updateRequestHash(Request request){ + setRequestHash(getRequestHash()+1); + } + public Set getRequests(){ return requests; } diff --git a/src/main/java/com/example/cosmos_serversb/jsons/GidUriJson.java b/src/main/java/com/example/cosmos_serversb/jsons/GidUriJson.java index d40cd6f..0e8e1c0 100644 --- a/src/main/java/com/example/cosmos_serversb/jsons/GidUriJson.java +++ b/src/main/java/com/example/cosmos_serversb/jsons/GidUriJson.java @@ -6,6 +6,7 @@ private String name; private String gId; private String uri; + private Long requestHash; public GidUriJson(){ @@ -15,6 +16,7 @@ setName(group.getName()); setgId(group.getgId()); setUri(group.getUri()); + setRequestHash(group.getRequestHash()); } private void setName(String name) { this.name = name; } @@ -37,4 +39,11 @@ return uri; } + private void setRequestHash(Long requestHash) { + this.requestHash = requestHash; + } + + public long getRequestHash() { + return requestHash; + } } 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 cc6756c..1cda188 100644 --- a/src/main/java/com/example/cosmos_serversb/models/Groups.java +++ b/src/main/java/com/example/cosmos_serversb/models/Groups.java @@ -177,6 +177,7 @@ Group editGroup = session.get(Group.class, gId); if(editGroup != null) { editGroup.addRequests(request); + editGroup.updateRequestHash(request); session.update(editGroup); return request; } @@ -195,7 +196,7 @@ return null; } - public static Request updateRequest(String gId, String rId, String uId, String product, String deadline, int location, boolean done){ + public static RidUriJson updateRequest(String gId, String rId, String uId, String product, String deadline, int location, boolean done){ if(product == null){ return null; //not-null制約 } @@ -204,6 +205,8 @@ if(editRequest != null){ editRequest.update(uId, product, deadline, location, done); session.update(editRequest); + session.get(Group.class, gId).updateRequestHash(editRequest); + return new RidUriJson(editRequest); } //例外処理 return null; @@ -218,6 +221,7 @@ Session session = SessionManager.getInstance().getSession(); Request request = session.get(Request.class, rId); if(request != null) { + session.get(Group.class, gId).updateRequestHash(request); session.delete(request); return DeleteResult.SUCCESS; } diff --git a/src/main/resources/Group.hbm.xml b/src/main/resources/Group.hbm.xml index 061392e..026ce9f 100644 --- a/src/main/resources/Group.hbm.xml +++ b/src/main/resources/Group.hbm.xml @@ -17,6 +17,7 @@ + diff --git a/src/main/resources/application-development.properties b/src/main/resources/application-development.properties index 4c76c3b..91a9ee2 100644 --- a/src/main/resources/application-development.properties +++ b/src/main/resources/application-development.properties @@ -12,4 +12,4 @@ #baseURI cosmos.baseURI=http://nitta-lab-www.is.konan-u.ac.jp/ cosmos.appName=cosmsos -cosmos.URL=${cosmos.baseURI}${cosmos.appName} \ No newline at end of file +cosmos.URL=${cosmos.baseURI}${cosmos.appName}