diff --git a/.project b/.project
index 72f65b4..463409a 100644
--- a/.project
+++ b/.project
@@ -32,5 +32,6 @@
org.eclipse.wst.common.modulecore.ModuleCoreNature
org.eclipse.jem.workbench.JavaEMFNature
org.eclipse.buildship.core.gradleprojectnature
+ net.sf.eclipse.tomcat.tomcatnature
diff --git a/src/main/java/cactusServer/entities/Instance.java b/src/main/java/cactusServer/entities/Instance.java
index 650f494..d324b19 100644
--- a/src/main/java/cactusServer/entities/Instance.java
+++ b/src/main/java/cactusServer/entities/Instance.java
@@ -28,7 +28,7 @@
public class Instance extends Entity {
private String name;
private State state;
- private StageModel stage;
+ private String stage;
private HashMap areaMap = new HashMap<>();
private HashMap objMap = new HashMap<>();
@@ -43,7 +43,7 @@
* (�����͌����_�ł̉��̂���)
* @param name �C���X�^���X��
*/
- public Instance(String name, State state, StageModel stageModel) {
+ public Instance(String name, State state, String stageModel) {
setName(name);
setState(state);
setStage(stageModel);
@@ -57,7 +57,7 @@
return state;
}
- public StageModel getStage() {
+ public String getStage() {
return stage;
}
@@ -83,11 +83,7 @@
@JSONHint(ignore = true)
public List getCharacters() {
- List characters = new ArrayList<>();
- for (Character character : characterMap.values()) {
- characters.add(character);
- }
- return characters;
+ return new ArrayList(characterMap.values());
}
@JSONHint(ignore = true)
@@ -103,7 +99,7 @@
this.state = state;
}
- public void setStage(StageModel stage) {
+ public void setStage(String stage) {
this.stage = stage;
}
diff --git a/src/main/java/cactusServer/models/Instances.java b/src/main/java/cactusServer/models/Instances.java
index d57dd01..45039ed 100644
--- a/src/main/java/cactusServer/models/Instances.java
+++ b/src/main/java/cactusServer/models/Instances.java
@@ -53,7 +53,7 @@
* @param stageModel
* @return
*/
- public IDAddressedEntity createInstance(String name, Instance.State state, StageModel stageModel) {
+ public IDAddressedEntity createInstance(String name, Instance.State state, String stageModel) {
String id = RandomStringGenerator.generateUniqueString(UNIQUE_ID_LENGTH, RandomStringGenerator.ALPHA_NUMERIC, instanceMap.keySet());
Instance instance = new Instance(name, state, stageModel);
instanceMap.put(id, instance);
@@ -78,13 +78,9 @@
return instanceMap.get(instanceId);
}
-// public List getPlayers() {
-// //playerMap.values().toArray()
-//// List players = new ArrayList<>();
-//// for (Player player : playerMap.values().) {
-//// //players.
-//// }
-// }
+ public List getPlayers() {
+ return new ArrayList(playerMap.values());
+ }
public Player getPlayer(String playerId) {
return playerMap.get(playerId);
diff --git a/src/main/java/cactusServer/resources/InstancesRest.java b/src/main/java/cactusServer/resources/InstancesRest.java
index 38e6427..ebd3de6 100644
--- a/src/main/java/cactusServer/resources/InstancesRest.java
+++ b/src/main/java/cactusServer/resources/InstancesRest.java
@@ -3,6 +3,9 @@
import java.util.HashSet;
import java.util.Map;
+import javax.validation.Valid;
+import javax.ws.rs.BeanParam;
+import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
@@ -14,6 +17,8 @@
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
+import org.glassfish.jersey.process.internal.RequestScoped;
+
import cactusServer.entities.AddressedEntity;
import cactusServer.entities.Angle;
import cactusServer.entities.Area;
@@ -32,6 +37,7 @@
@Path("/instances")
+@RequestScoped
public class InstancesRest {
public static final String INSTANCES_URI = "/CactusServer/rest/instances";
public InstancesRest() {
@@ -91,34 +97,35 @@
-// @POST
-// @Produces(MediaType.APPLICATION_JSON)
-// public URIAddressedEntity create(@FormParam("name") String name, @FormParam("state") Instance.State state, @FormParam("stageModel") StageModel stageModel) {
-// IDAddressedEntity ae = Instances.getInstance().createInstance(name, state, stageModel);
-// return new URIAddressedEntity((INSTANCES_URI + "/" + ae.getId()), ae.getBody());
-// }
-//
-// @Path("/{instanceId}/areas")
-// @POST
-// @Produces(MediaType.APPLICATION_JSON)
-// public URIAddressedEntity create(@PathParam("instanceId") String instanceId, @FormParam("name") String name,
-// @FormParam("region") Plain[] region, @FormParam("permissions") HashSet permissions) {
-// Instance instance = Instances.getInstance().getInstance(instanceId);
-// IDAddressedEntity ae = instance.createArea(name, region, permissions);
-// return new URIAddressedEntity((INSTANCES_URI + "/" + instanceId + "/areas/" + ae.getId()), ae.getBody());
-// }
-//
-// @Path("/{instanceId}/objects")
-// @POST
-// @Produces(MediaType.APPLICATION_JSON)
-// public URIAddressedEntity create(@PathParam("instanceId") String instanceId, @FormParam("position") Position3D position,
-// @FormParam("velocity") Velocity3D velocity, @FormParam("angularVelocity") AngularVelocity3D angularVelocity,
-// @FormParam("angle") Angle angle, @FormParam("attribute") Attribute attribute, @FormParam("model") ObjectModel model) {
-// Instance instance = Instances.getInstance().getInstance(instanceId);
-// IDAddressedEntity ae = instance.createObject(position, velocity, angularVelocity, angle, attribute, model);
-// return new URIAddressedEntity((INSTANCES_URI + "/" + instanceId + "/objects/" + ae.getId()), ae.getBody());
-// }
-//
+ @POST
+ @Produces(MediaType.APPLICATION_JSON)
+ public URIAddressedEntity create(@FormParam("int") int a, @FormParam("name") String name, @FormParam("state") Instance.State state, @FormParam("stageModel") String stageModel) {
+ System.out.println(a);
+ IDAddressedEntity ae = Instances.getInstance().createInstance(name, Instance.State.AVAILABLE, "11111");
+ return new URIAddressedEntity((INSTANCES_URI + "/" + ae.getId()), ae.getBody());
+ }
+
+ @Path("/{instanceId}/areas")
+ @POST
+ @Produces(MediaType.APPLICATION_JSON)
+ public URIAddressedEntity createArea(@PathParam("instanceId") String instanceId, @FormParam("name") String name,
+ @FormParam("region") Plain[] region, @FormParam("permissions") HashSet permissions) {
+ Instance instance = Instances.getInstance().getInstance(instanceId);
+ IDAddressedEntity ae = instance.createArea(name, region, permissions);
+ return new URIAddressedEntity((INSTANCES_URI + "/" + instanceId + "/areas/" + ae.getId()), ae.getBody());
+ }
+
+ @Path("/{instanceId}/objects")
+ @POST
+ @Produces(MediaType.APPLICATION_JSON)
+ public URIAddressedEntity create(@PathParam("instanceId") String instanceId, @FormParam("position") Position3D position,
+ @FormParam("velocity") Velocity3D velocity, @FormParam("angularVelocity") AngularVelocity3D angularVelocity,
+ @FormParam("angle") Angle angle, @FormParam("attribute") Attribute attribute, @FormParam("model") ObjectModel model) {
+ Instance instance = Instances.getInstance().getInstance(instanceId);
+ IDAddressedEntity ae = instance.createObject(position, velocity, angularVelocity, angle, attribute, model);
+ return new URIAddressedEntity((INSTANCES_URI + "/" + instanceId + "/objects/" + ae.getId()), ae.getBody());
+ }
+
// @DELETE
// @Path("/destroyInstance")
diff --git a/src/main/java/cactusServer/utils/JSONConsumer.java b/src/main/java/cactusServer/utils/JSONConsumer.java
index c3b4d23..c61d8a2 100644
--- a/src/main/java/cactusServer/utils/JSONConsumer.java
+++ b/src/main/java/cactusServer/utils/JSONConsumer.java
@@ -2,6 +2,7 @@
import java.io.IOException;
import java.io.InputStream;
+import java.io.InputStreamReader;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
@@ -16,30 +17,30 @@
import net.arnx.jsonic.JSON;
import net.arnx.jsonic.JSONException;
-@Provider
-@Consumes(MediaType.APPLICATION_JSON)
-public class JSONConsumer implements MessageBodyReader {
-
- public boolean isReadable(java.lang.Class type,
- java.lang.reflect.Type genericType, java.lang.annotation.Annotation[]
- annotations, MediaType mediaType) {
- return true;
+/**
+ * �����g�p���Ȃ��Ȃ�Ǝv��
+ * @author student
+ *
+ */
+//@Provider
+//@Consumes(MediaType.APPLICATION_JSON)
+public class JSONConsumer implements MessageBodyReader