diff --git a/src/main/java/cactusServer/entities/Instance.java b/src/main/java/cactusServer/entities/Instance.java index 4c94add..85283ae 100644 --- a/src/main/java/cactusServer/entities/Instance.java +++ b/src/main/java/cactusServer/entities/Instance.java @@ -7,7 +7,6 @@ import java.util.List; import java.util.Set; -//import org.glassfish.jersey.process.internal.Stage; import org.ntlab.radishforandroidstudio.framework.model3D.ModelFactory; import org.ntlab.radishforandroidstudio.framework.model3D.ModelFileFormatException; import org.ntlab.radishforandroidstudio.framework.model3D.Object3D; @@ -53,10 +52,10 @@ setStage(stageURI); initUniverse(); } - + private void initUniverse() { universe = new Universe(); - + // stageURI�����ɂ��ēǂݍ��ރX�e�[�W�̃t�@�C����(���΃p�X)�����\�� String stageFileName = stageURI; @@ -82,7 +81,7 @@ public String getStage() { return stageURI; } - + @JSONHint(ignore = true) public Universe getUniverse() { return universe; diff --git a/src/main/java/cactusServer/resources/InstancesRest.java b/src/main/java/cactusServer/resources/InstancesRest.java index 4db312e..69d0602 100644 --- a/src/main/java/cactusServer/resources/InstancesRest.java +++ b/src/main/java/cactusServer/resources/InstancesRest.java @@ -1,11 +1,7 @@ package cactusServer.resources; import java.util.HashSet; -import java.util.Map; -import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; import javax.ws.rs.FormParam; import javax.ws.rs.GET; import javax.ws.rs.POST; @@ -13,48 +9,39 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import org.glassfish.jersey.process.internal.RequestScoped; +import org.ntlab.radishforandroidstudio.framework.model3D.Position3D; -import cactusServer.entities.AddressedEntity; import cactusServer.entities.Angle; import cactusServer.entities.Area; import cactusServer.entities.Area.Allowed; import cactusServer.entities.CameraState; import cactusServer.entities.Character; -import cactusServer.entities.CharacterModel; import cactusServer.entities.EmoteState; import cactusServer.entities.IDAddressedEntity; import cactusServer.entities.Instance; -import cactusServer.entities.Object.Attribute; -import cactusServer.entities.ObjectModel; import cactusServer.entities.Plain; import cactusServer.entities.Player; -import cactusServer.entities.StageModel; import cactusServer.entities.URIAddressedEntity; import cactusServer.models.Instances; -import framework.model3D.Position3D; -import framework.physics.AngularVelocity3D; -import framework.physics.Velocity3D; - @Path("/instances") @RequestScoped public class InstancesRest { public static final String INSTANCES_URI = "/CactusServer/rest/instances"; + public InstancesRest() { } - -// @Path("/test") -// @GET -// @Produces(MediaType.TEXT_PLAIN) -// public String hoge() { -// return "deploy jenkins from tomcat"; -// } + // @Path("/test") + // @GET + // @Produces(MediaType.TEXT_PLAIN) + // public String hoge() { + // return "deploy jenkins from tomcat"; + // } @Path("/{instanceId}") @GET @@ -62,7 +49,7 @@ public Instance getInstance(@PathParam("instanceId") String instanceId) { return Instances.getInstance().getInstance(instanceId); } - + @Path("/{instanceId}/areas/{areaId}") @GET @Produces(MediaType.APPLICATION_JSON) @@ -71,21 +58,21 @@ if (instance != null) { return instance.getArea(areaId); } - return null; + return null; } - - + @Path("/{instanceId}/characters/{characterId}") @GET @Produces(MediaType.APPLICATION_JSON) - public Character getCharacter(@PathParam("instanceId") String instanceId, @PathParam("characterId") String characterId) { + public Character getCharacter(@PathParam("instanceId") String instanceId, + @PathParam("characterId") String characterId) { Instance instance = Instances.getInstance().getInstance(instanceId); if (instance != null) { return instance.getCharacter(characterId); } return null; } - + @Path("/players/{playerId}") @GET @Produces(MediaType.APPLICATION_JSON) @@ -96,10 +83,11 @@ } return null; } - + @POST @Produces(MediaType.APPLICATION_JSON) - public URIAddressedEntity create(@FormParam("name") String name, @FormParam("state") Instance.State state, @FormParam("stageModel") String stageModel) { + public URIAddressedEntity create(@FormParam("name") String name, @FormParam("state") Instance.State state, + @FormParam("stageModel") String stageModel) { IDAddressedEntity ae = Instances.getInstance().createInstance(name, state, stageModel); return new URIAddressedEntity((INSTANCES_URI + "/" + ae.getId()), ae.getBody()); } @@ -107,65 +95,73 @@ @Path("/{instanceId}/areas") @POST @Produces(MediaType.APPLICATION_JSON) - public URIAddressedEntity createArea(@PathParam("instanceId") String instanceId, @FormParam("name") String name, + 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}/characters") @POST @Produces(MediaType.APPLICATION_JSON) - public URIAddressedEntity createCharacter(@PathParam("instanceId") String instanceId, @FormParam("accountURI") String accountURI, - @FormParam("name") String name, @FormParam("position") Position3D position, @FormParam("angle") Angle angle, + public URIAddressedEntity createCharacter(@PathParam("instanceId") String instanceId, + @FormParam("accountURI") String accountURI, @FormParam("name") String name, + @FormParam("position") Position3D position, @FormParam("angle") Angle angle, @FormParam("model") String model) { Instance instance = Instances.getInstance().getInstance(instanceId); IDAddressedEntity ae = instance.createCharacter(instanceId, accountURI, name, position, angle, model); return new URIAddressedEntity((INSTANCES_URI + "/" + instanceId + "/characters/" + ae.getId()), ae.getBody()); } - + @Path("/players") @POST @Produces(MediaType.APPLICATION_JSON) - public URIAddressedEntity createPlayer(@PathParam("instanceId") String instanceURI, @FormParam("characterURI") String characterURI, - @FormParam("cameraState") CameraState cameraState, @FormParam("animationClassToStart") EmoteState.EmoteType animationClassToStart) { + public URIAddressedEntity createPlayer(@PathParam("instanceId") String instanceURI, + @FormParam("characterURI") String characterURI, @FormParam("cameraState") CameraState cameraState, + @FormParam("animationClassToStart") EmoteState.EmoteType animationClassToStart) { Instances instances = Instances.getInstance(); IDAddressedEntity ae = instances.createPlayer(instanceURI, characterURI, cameraState, animationClassToStart); return new URIAddressedEntity((INSTANCES_URI + "/" + instanceURI + "/players/" + ae.getId()), ae.getBody()); } - + @Path("/players/{playerId}") @PUT @Produces(MediaType.APPLICATION_JSON) - public Player updatePlayer(@PathParam("instanceId") String instanceId, @FormParam("playerId") String playerId, - @FormParam("characterURI") String characterURI, @FormParam("position") Position3D position, @FormParam("angle") Angle angle, - @FormParam("cameraState") CameraState cameraState, @FormParam("animationClassToStart") EmoteState.EmoteType animationClassToStart) { - return Instances.getInstance().updatePlayer(playerId, characterURI, position, angle, cameraState, animationClassToStart); + public Player updatePlayer(@PathParam("instanceId") String instanceId, @FormParam("playerId") String playerId, + @FormParam("characterURI") String characterURI, @FormParam("position") Position3D position, + @FormParam("angle") Angle angle, @FormParam("cameraState") CameraState cameraState, + @FormParam("animationClassToStart") EmoteState.EmoteType animationClassToStart) { + return Instances.getInstance().updatePlayer(playerId, characterURI, position, angle, cameraState, + animationClassToStart); } - -// @Path("/characters/{characterId}") -// @PUT -// @Produces(MediaType.APPLICATION_JSON) -// public Character updateCharacter(@FormParam("characterId") String characterId, @FormParam("position") Position3D position, -// @FormParam("angle") Angle angle, @FormParam("model") String model) { -// Character response = Instance.updateCharacter(characterId, position, angle, model); -// response.setStatus(HttpServletResponse.SC_OK); -// } - -// @DELETE -// @Path("/destroyInstance") -// @Produces(MediaType.APPLICATION_JSON) -// public Instance destroy(@QueryParam("instanceId") String instanceId) { -// return Instances.getInstance().destroyInstance(instanceId); -// } -// -// @Path("/{instanceId}") -// @PUT -// public Instance putInstance(@PathParam("InstanceId") String instanceId, @FormParam("areaId") String areaId, -// @FormParam("objectId") String objectId, @FormParam("characterId") String characterId) { -// -// } - + // @Path("/characters/{characterId}") + // @PUT + // @Produces(MediaType.APPLICATION_JSON) + // public Character updateCharacter(@FormParam("characterId") String + // characterId, @FormParam("position") Position3D position, + // @FormParam("angle") Angle angle, @FormParam("model") String model) { + // Character response = Instance.updateCharacter(characterId, position, angle, + // model); + // response.setStatus(HttpServletResponse.SC_OK); + // } + + // @DELETE + // @Path("/destroyInstance") + // @Produces(MediaType.APPLICATION_JSON) + // public Instance destroy(@QueryParam("instanceId") String instanceId) { + // return Instances.getInstance().destroyInstance(instanceId); + // } + + // + // @Path("/{instanceId}") + // @PUT + // public Instance putInstance(@PathParam("InstanceId") String instanceId, + // @FormParam("areaId") String areaId, + // @FormParam("objectId") String objectId, @FormParam("characterId") String + // characterId) { + // + // } + } diff --git a/src/main/java/cactusServer/resources/ObjectsRest.java b/src/main/java/cactusServer/resources/ObjectsRest.java index 7d85823..62e4ede 100644 --- a/src/main/java/cactusServer/resources/ObjectsRest.java +++ b/src/main/java/cactusServer/resources/ObjectsRest.java @@ -8,20 +8,21 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.ntlab.radishforandroidstudio.framework.model3D.Position3D; +import org.ntlab.radishforandroidstudio.framework.physics.AngularVelocity3D; +import org.ntlab.radishforandroidstudio.framework.physics.Velocity3D; + import cactusServer.entities.Angle; import cactusServer.entities.IDAddressedEntity; import cactusServer.entities.Instance; import cactusServer.entities.URIAddressedEntity; import cactusServer.entities.Object.Attribute; import cactusServer.models.Instances; -import framework.model3D.Position3D; -import framework.physics.AngularVelocity3D; -import framework.physics.Velocity3D; @Path("/instances/{instanceId}/objects") public class ObjectsRest { -// @Path("/{instanceId}/objects/{objectId}") + // @Path("/{instanceId}/objects/{objectId}") @Path("/{objectId}") @GET @Produces(MediaType.APPLICATION_JSON) @@ -32,16 +33,18 @@ } return null; } - -// @Path("/{instanceId}/objects") + + // @Path("/{instanceId}/objects") @POST @Produces(MediaType.APPLICATION_JSON) - public URIAddressedEntity createObject(@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") String model) { + public URIAddressedEntity createObject(@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") String model) { Instance instance = Instances.getInstance().getInstance(instanceId); IDAddressedEntity ae = instance.createObject(position, velocity, angularVelocity, angle, attribute, model); - return new URIAddressedEntity((InstancesRest.INSTANCES_URI + "/" + instanceId + "/objects/" + ae.getId()), ae.getBody()); - } + return new URIAddressedEntity((InstancesRest.INSTANCES_URI + "/" + instanceId + "/objects/" + ae.getId()), + ae.getBody()); + } }