diff --git a/src/main/java/cactusServer/resources/AccountsRest.java b/src/main/java/cactusServer/resources/AccountsRest.java index dd5af7e..8837022 100644 --- a/src/main/java/cactusServer/resources/AccountsRest.java +++ b/src/main/java/cactusServer/resources/AccountsRest.java @@ -7,16 +7,17 @@ import cactusServer.entities.*; import cactusServer.models.Accounts; +import net.arnx.jsonic.JSON; @Path("/accounts") public class AccountsRest { @PUT //@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) - public URIAddressedAccount loginAccount(@FormParam("userID") String userID, @FormParam("userPass") String userPass) { + public String loginAccount(@FormParam("userID") String userID, @FormParam("userPass") String userPass) { URIAddressedAccount session = Accounts.getInstance().loginAccount(userID, userPass); if (session != null) { - return session; + return JSON.encode(session); } else { throw new WebApplicationException(400); } @@ -26,18 +27,18 @@ @Path("/logout") //@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) - public Account logoutAccount(@FormParam("token") String token) { - return Accounts.getInstance().logoutAccount(token); + public String logoutAccount(@FormParam("token") String token) { + return JSON.encode(Accounts.getInstance().logoutAccount(token)); } @POST //@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) - public URIAddressedAccount createAccount(@FormParam("userID") String userID, @FormParam("userName") String userName, + public String createAccount(@FormParam("userID") String userID, @FormParam("userName") String userName, @FormParam("userPass") String userPass) { URIAddressedAccount editAccount = Accounts.getInstance().createAcount(userID, userName, userPass); if (editAccount != null) { - return editAccount; + return JSON.encode(editAccount); } else { throw new WebApplicationException(409); } @@ -47,17 +48,17 @@ @Path("/{uniqueID}") //@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) - public Account getAccount(@PathParam("uniqueID") String uniqueID) { - return Accounts.getInstance().getAccountByuniqueID(uniqueID); + public String getAccount(@PathParam("uniqueID") String uniqueID) { + return JSON.encode(Accounts.getInstance().getAccountByuniqueID(uniqueID)); } @DELETE @Path("/{uniqueID}") //@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) - public Account deleteAccount(@PathParam("uniqueID") String uniqueID) { + public String deleteAccount(@PathParam("uniqueID") String uniqueID) { if (Accounts.getInstance().getAccountByuniqueID(uniqueID) != null) { - return Accounts.getInstance().deleteAccount(uniqueID); + return JSON.encode(Accounts.getInstance().deleteAccount(uniqueID)); } else { throw new WebApplicationException(400); } @@ -66,8 +67,8 @@ @GET //@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) - public ArrayList getAccounts() { - return Accounts.getInstance().getAccounts(); + public String getAccounts() { + return JSON.encode(Accounts.getInstance().getAccounts()); } } diff --git a/src/main/java/cactusServer/resources/CharactersRest.java b/src/main/java/cactusServer/resources/CharactersRest.java index 064f150..30108b8 100644 --- a/src/main/java/cactusServer/resources/CharactersRest.java +++ b/src/main/java/cactusServer/resources/CharactersRest.java @@ -26,27 +26,30 @@ @Path("/{characterId}") @GET - @Produces(MediaType.APPLICATION_JSON) - public Character getCharacter(@PathParam("instanceId") String instanceId, + //@Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_PLAIN) + public String getCharacter(@PathParam("instanceId") String instanceId, @PathParam("characterId") String characterId) { Instance instance = Instances.getInstance().getInstance(instanceId); if (instance != null) { Character character = instance.getCharacter(characterId); System.out.println(JSON.encode(character, true)); - return character; + return JSON.encode(character); } return null; } @GET - @Produces(MediaType.APPLICATION_JSON) - public HashMap getCharacters(@PathParam("instanceId") String instanceId, @QueryParam("accountURI") String accountURI) { - return Instances.getInstance().getInstance(instanceId).getCharacters(accountURI); + //@Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_PLAIN) + public String getCharacters(@PathParam("instanceId") String instanceId, @QueryParam("accountURI") String accountURI) { + return JSON.encode(Instances.getInstance().getInstance(instanceId).getCharacters(accountURI)); } @POST - @Produces(MediaType.APPLICATION_JSON) - public HashMap createCharacter(@PathParam("instanceId") String instanceId, + //@Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_PLAIN) + public String createCharacter(@PathParam("instanceId") String instanceId, @FormParam("accountURI") String accountURI, @FormParam("name") String name, @FormParam("position") Position3D position, @FormParam("angle") Quaternion3D angle, @FormParam("modelID") int modelID) { @@ -58,16 +61,17 @@ String uri = (InstancesRest.INSTANCES_URI + "/" + instanceId + "/characters/") + id; uriMap.put(uri, idMap.get(id)); } - return uriMap; + return JSON.encode(uriMap); } @Path("/{characterId}") @PUT - @Produces(MediaType.APPLICATION_JSON) - public Character updateCharacter(@FormParam("characterId") String characterId, + //@Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_PLAIN) + public String updateCharacter(@FormParam("characterId") String characterId, @FormParam("position") Position3D position, @FormParam("angle") Quaternion3D angle, @FormParam("modelID") String modelID) { - Character character = updateCharacter(characterId, position, angle, modelID); + String character = updateCharacter(characterId, position, angle, modelID); if (character != null) { throw new WebApplicationException(200); } else { diff --git a/src/main/java/cactusServer/resources/ObjectsRest.java b/src/main/java/cactusServer/resources/ObjectsRest.java index a8b9e41..d7dc3da 100644 --- a/src/main/java/cactusServer/resources/ObjectsRest.java +++ b/src/main/java/cactusServer/resources/ObjectsRest.java @@ -21,30 +21,34 @@ import cactusServer.entities.Object; import cactusServer.entities.Object.Attribute; import cactusServer.models.Instances; +import net.arnx.jsonic.JSON; @Path("/instances/{instanceId}/objects") public class ObjectsRest { @Path("/{objectId}") @GET - @Produces(MediaType.APPLICATION_JSON) - public Object getObject(@PathParam("instanceId") String instanceId, @PathParam("objectId") String objectId) { + //@Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_PLAIN) + public String getObject(@PathParam("instanceId") String instanceId, @PathParam("objectId") String objectId) { Instance instance = Instances.getInstance().getInstance(instanceId); if (instance != null) { - return instance.getObject(objectId); + return JSON.encode(instance.getObject(objectId)); } return null; } @GET - @Produces(MediaType.APPLICATION_JSON) - public HashMap getObjects(@PathParam("instanceId") String instanceId) { - return Instances.getInstance().getInstance(instanceId).getObjects(); + //@Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_PLAIN) + public String getObjects(@PathParam("instanceId") String instanceId) { + return JSON.encode(Instances.getInstance().getInstance(instanceId).getObjects()); } @POST - @Produces(MediaType.APPLICATION_JSON) - public HashMap createObject(@PathParam("instanceId") String instanceId, + //@Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_PLAIN) + public String createObject(@PathParam("instanceId") String instanceId, @FormParam("position") Position3D position, @FormParam("velocity") Velocity3D velocity, @FormParam("angularVelocity") AngularVelocity3D angularVelocity, @FormParam("angle") Quaternion3D angle, @FormParam("attribute") Attribute attribute, @FormParam("model") String model) { @@ -56,13 +60,14 @@ String uri = (InstancesRest.INSTANCES_URI + "/" + instanceId + "/objects/") + id; uriMap.put(uri, idMap.get(id)); } - return uriMap; + return JSON.encode(uriMap); } @Path("/{objectId}") @PUT - @Produces(MediaType.APPLICATION_JSON) - public Object updateObject(@PathParam("instanceId") String instanceId, @PathParam("objectId") String objectId, + //@Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_PLAIN) + public String updateObject(@PathParam("instanceId") String instanceId, @PathParam("objectId") String objectId, @FormParam("position") Position3D position, @FormParam("velocity") Velocity3D velocity, @FormParam("angularVelocity") AngularVelocity3D angularVelocity, @FormParam("angle") Quaternion3D angle) { Instance instance = Instances.getInstance().getInstance(instanceId); @@ -73,7 +78,7 @@ object.setAngularVelocity(angularVelocity); object.setPosition(position); object.setVelocity(velocity); - return object; + return JSON.encode(object); } } throw new WebApplicationException(400); diff --git a/src/main/java/cactusServer/resources/PlayersRest.java b/src/main/java/cactusServer/resources/PlayersRest.java index b648beb..c8a97a6 100644 --- a/src/main/java/cactusServer/resources/PlayersRest.java +++ b/src/main/java/cactusServer/resources/PlayersRest.java @@ -19,12 +19,14 @@ import cactusServer.entities.EmoteState; import cactusServer.entities.Player; import cactusServer.models.Instances; +import net.arnx.jsonic.JSON; @Path("/instances/players") public class PlayersRest { @POST - @Produces(MediaType.APPLICATION_JSON) - public HashMap createPlayer(@PathParam("instanceId") String instanceURI, + //@Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_PLAIN) + public String createPlayer(@PathParam("instanceId") String instanceURI, @FormParam("characterURI") String characterURI, @FormParam("cameraState") CameraState cameraState, @FormParam("animationClassToStart") EmoteState.EmoteType animationClassToStart) { Instances instances = Instances.getInstance(); @@ -35,31 +37,34 @@ String uri = (InstancesRest.INSTANCES_URI + "/" + "/players/") + id; uriMap.put(uri, idMap.get(id)); } - return uriMap; + return JSON.encode(uriMap); } @Path("/{playerId}") @GET - @Produces(MediaType.APPLICATION_JSON) - public Player getPlayer(@PathParam("playerId") String playerId) { - return Instances.getInstance().getPlayer(playerId); + //@Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_PLAIN) + public String getPlayer(@PathParam("playerId") String playerId) { + return JSON.encode(Instances.getInstance().getPlayer(playerId)); } @GET - @Produces(MediaType.APPLICATION_JSON) - public HashMap getPlayers(@QueryParam("instanceId") String instanceId) { - return Instances.getInstance().getPlayers(instanceId); + //@Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_PLAIN) + public String getPlayers(@QueryParam("instanceId") String instanceId) { + return JSON.encode(Instances.getInstance().getPlayers(instanceId)); } @Path("/{playerId}") @PUT - @Produces(MediaType.APPLICATION_JSON) - public Player updatePlayer(@PathParam("instanceId") String instanceId, @FormParam("playerId") String playerId, + //@Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_PLAIN) + public String updatePlayer(@PathParam("instanceId") String instanceId, @FormParam("playerId") String playerId, @FormParam("characterURI") String characterURI, @FormParam("position") Position3D position, @FormParam("angle") Quaternion3D angle, @FormParam("cameraState") CameraState cameraState, @FormParam("animationClassToStart") EmoteState.EmoteType animationClassToStart) { - return Instances.getInstance().updatePlayer(playerId, characterURI, position, angle, cameraState, - animationClassToStart); + return JSON.encode(Instances.getInstance().updatePlayer(playerId, characterURI, position, angle, cameraState, + animationClassToStart)); } }