diff --git a/src/main/java/cactusServer/resources/CharactersRest.java b/src/main/java/cactusServer/resources/CharactersRest.java index de4d5f7..9e87709 100644 --- a/src/main/java/cactusServer/resources/CharactersRest.java +++ b/src/main/java/cactusServer/resources/CharactersRest.java @@ -22,7 +22,7 @@ @Path("/instances/{instanceId}/characters") public class CharactersRest { - + @Path("/{characterId}") @GET @Produces(MediaType.APPLICATION_JSON) @@ -36,7 +36,13 @@ } return null; } - + + @GET + @Produces(MediaType.APPLICATION_JSON) + public HashMap getCharacters(@PathParam("instanceId") String instanceId) { + return Instances.getInstance().getInstance(instanceId).getCharacters(); + } + @POST @Produces(MediaType.APPLICATION_JSON) public HashMap createCharacter(@PathParam("instanceId") String instanceId, @@ -44,7 +50,8 @@ @FormParam("position") Position3D position, @FormParam("angle") Quaternion3D angle, @FormParam("modelID") int modelID) { Instance instance = Instances.getInstance().getInstance(instanceId); - HashMap idMap = instance.createCharacter(instanceId, accountURI, name, position, angle, modelID); + HashMap idMap = instance.createCharacter(instanceId, accountURI, name, position, angle, + modelID); HashMap uriMap = new HashMap<>(); for (String id : idMap.keySet()) { String uri = (InstancesRest.INSTANCES_URI + "/" + instanceId + "/characters/") + id; @@ -52,12 +59,13 @@ } return uriMap; } - + @Path("/{characterId}") @PUT @Produces(MediaType.APPLICATION_JSON) - public Character updateCharacter(@FormParam("characterId") String characterId, - @FormParam("position") Position3D position, @FormParam("angle") Quaternion3D angle, @FormParam("modelID") String modelID) { + public Character updateCharacter(@FormParam("characterId") String characterId, + @FormParam("position") Position3D position, @FormParam("angle") Quaternion3D angle, + @FormParam("modelID") String modelID) { Character character = updateCharacter(characterId, position, angle, modelID); if (character != null) { throw new WebApplicationException(200); @@ -65,7 +73,5 @@ throw new WebApplicationException(400); } } - - } diff --git a/src/main/java/cactusServer/resources/ObjectsRest.java b/src/main/java/cactusServer/resources/ObjectsRest.java index 65cdd9f..b64726d 100644 --- a/src/main/java/cactusServer/resources/ObjectsRest.java +++ b/src/main/java/cactusServer/resources/ObjectsRest.java @@ -37,6 +37,12 @@ return null; } + @GET + @Produces(MediaType.APPLICATION_JSON) + public HashMap getObjects(@PathParam("instanceId") String instanceId) { + return Instances.getInstance().getInstance(instanceId).getObjects(); + } + // @Path("/{instanceId}/objects") @POST @Produces(MediaType.APPLICATION_JSON) @@ -45,7 +51,8 @@ @FormParam("angularVelocity") AngularVelocity3D angularVelocity, @FormParam("angle") Quaternion3D angle, @FormParam("attribute") Attribute attribute, @FormParam("model") String model) { Instance instance = Instances.getInstance().getInstance(instanceId); - HashMap idMap = instance.createObject(position, velocity, angularVelocity, angle, attribute, model); + HashMap idMap = instance.createObject(position, velocity, angularVelocity, angle, attribute, + model); HashMap uriMap = new HashMap<>(); for (String id : idMap.keySet()) { String uri = (InstancesRest.INSTANCES_URI + "/" + instanceId + "/objects/") + id; @@ -53,15 +60,15 @@ } return uriMap; } -// // @Path("/{instance-id}/objects/{object-id}") -// @Path("/{object-id}") -// @PUT -// @Produces(MediaType.APPLICATION_JSON) -// public Object updateObject(@FormParam("objectId") String objectId, -// @FormParam("position") Position3D position, -// @FormParam("velocity") Velocity3D velocity, -// @FormParam("angularVelocity") AngularVelocity3D angularVelocity, -// @FormParam("angle") Quaternion3D angle) { -// -// } + // // @Path("/{instance-id}/objects/{object-id}") + // @Path("/{object-id}") + // @PUT + // @Produces(MediaType.APPLICATION_JSON) + // public Object updateObject(@FormParam("objectId") String objectId, + // @FormParam("position") Position3D position, + // @FormParam("velocity") Velocity3D velocity, + // @FormParam("angularVelocity") AngularVelocity3D angularVelocity, + // @FormParam("angle") Quaternion3D angle) { + // + // } } diff --git a/src/main/java/cactusServer/resources/PlayersRest.java b/src/main/java/cactusServer/resources/PlayersRest.java index 0cce697..a8cff51 100644 --- a/src/main/java/cactusServer/resources/PlayersRest.java +++ b/src/main/java/cactusServer/resources/PlayersRest.java @@ -27,7 +27,8 @@ @FormParam("characterURI") String characterURI, @FormParam("cameraState") CameraState cameraState, @FormParam("animationClassToStart") EmoteState.EmoteType animationClassToStart) { Instances instances = Instances.getInstance(); - HashMap idMap = instances.createPlayer(instanceURI, characterURI, cameraState, animationClassToStart); + HashMap idMap = instances.createPlayer(instanceURI, characterURI, cameraState, + animationClassToStart); HashMap uriMap = new HashMap<>(); for (String id : idMap.keySet()) { String uri = (InstancesRest.INSTANCES_URI + "/" + "/players/") + id; @@ -35,7 +36,7 @@ } return uriMap; } - + @Path("/{playerId}") @GET @Produces(MediaType.APPLICATION_JSON) @@ -46,7 +47,13 @@ } return null; } - + + @GET + @Produces(MediaType.APPLICATION_JSON) + public HashMap getPlayers(@FormParam("instanceId") String instanceId) { + return Instances.getInstance().getPlayers(instanceId); + } + @Path("/{playerId}") @PUT @Produces(MediaType.APPLICATION_JSON) diff --git a/src/main/java/cactusServer/utils/JSONConsumer.java b/src/main/java/cactusServer/utils/JSONConsumer.java deleted file mode 100644 index a3412db..0000000 --- a/src/main/java/cactusServer/utils/JSONConsumer.java +++ /dev/null @@ -1,46 +0,0 @@ -package cactusServer.utils; - -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.lang.annotation.Annotation; -import java.lang.reflect.Type; - -import javax.validation.constraints.Null; -import javax.ws.rs.Consumes; -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyReader; -import javax.ws.rs.ext.Provider; - -import net.arnx.jsonic.JSON; -import net.arnx.jsonic.JSONException; - -/** - * �����g�p���Ȃ��Ȃ�Ǝv�� -> �S�~ - * @author student - * - */ -//@Provider -//@Consumes(MediaType.APPLICATION_JSON) -public class JSONConsumer implements MessageBodyReader { - @Override - public boolean isReadable(Class type, java.lang.reflect.Type genericType, - java.lang.annotation.Annotation[] annotations, MediaType mediaType) { - // return true; - return mediaType.isCompatible(MediaType.APPLICATION_JSON_TYPE); - } - - @Override - public Object readFrom(Class type, Type genericType, Annotation[] annotations, MediaType mediaType, - MultivaluedMap httpHeaders, InputStream entityStream) - throws IOException, WebApplicationException { - try { - // return JSON.decode(entityStream, genericType); - return JSON.decode(entityStream, type); - } catch (JSONException e) { - return null; - } - } -}