aboutsummaryrefslogtreecommitdiff
path: root/src/uk/org/ury/protocol/ProtocolUtils.java
diff options
context:
space:
mode:
authorMatt Windsor <mattwindsor@btinternet.com>2011-03-21 21:54:31 +0000
committerMatt Windsor <mattwindsor@btinternet.com>2011-03-21 21:54:31 +0000
commitdf7d7981b56a4560c95ea7e9b194080e93398ecf (patch)
treeb3ae4f02d23ae1f7f4951c776ee8d91b0047dd6f /src/uk/org/ury/protocol/ProtocolUtils.java
parent2d073129857a42ab4195cd433c8be152e357033f (diff)
GREAT PACKAGE RESHUFFLE: Everything is now organised into frontend, backend and common (to frontend and backend) packages. Things may have been broken. Doc refresh.
Diffstat (limited to 'src/uk/org/ury/protocol/ProtocolUtils.java')
-rw-r--r--src/uk/org/ury/protocol/ProtocolUtils.java85
1 files changed, 0 insertions, 85 deletions
diff --git a/src/uk/org/ury/protocol/ProtocolUtils.java b/src/uk/org/ury/protocol/ProtocolUtils.java
deleted file mode 100644
index b2d3ed9..0000000
--- a/src/uk/org/ury/protocol/ProtocolUtils.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- *
- */
-package uk.org.ury.protocol;
-
-import java.util.Map;
-
-import org.json.simple.JSONObject;
-import org.json.simple.JSONValue;
-
-import uk.org.ury.protocol.exceptions.DecodeFailureException;
-import uk.org.ury.protocol.exceptions.InvalidMessageException;
-
-/**
- * Utilities for converting between strings encoded in the response protocol and
- * collections of items, as well as validating and unpicking protocol messages.
- *
- * @author Matt Windsor
- *
- */
-
-public class ProtocolUtils {
- /**
- * Encode a key-value map into a protocol string.
- *
- * The map can contain strings, lists and other maps. Other types may be
- * accepted by the underlying encoding engine, but the above types are the
- * only ones explicitly accepted.
- *
- * @param items
- * The key-value map of items, which should contain strings,
- * lists and maps. The keys of any map should be protocol
- * directives.
- *
- * @return A string containing the encoded representation of the map.
- */
- public static String encode(Map<String, Object> items) {
- return JSONValue.toJSONString(items);
- }
-
- /**
- * Decode a protocol string into a key-value map.
- *
- * @param string
- * The string to decode.
- *
- * @return A key-value map mapping directives to strings, lists and maps.
- *
- * @throws DecodeFailureException
- * if the decoding engine returns something other than a map.
- */
- public static Map<?, ?> decode(String string) throws DecodeFailureException {
- Object result = JSONValue.parse(string);
-
- if (result instanceof JSONObject)
- return (JSONObject) result;
- else
- throw new DecodeFailureException("Result not a map.");
- }
-
- /**
- * Check if a response is flagged as having OK status.
- *
- * @param response
- * The response message, as a key-value map (eg in decoded
- * format).
- *
- * @return true if the response is flagged with OK status, false if not (eg
- * ERROR status).
- *
- * @throws InvalidMessageException
- * if the response is invalid (eg the status is missing).
- */
- public static boolean responseIsOK(Map<?, ?> response)
- throws InvalidMessageException {
- if (response.containsKey(Directive.STATUS.toString()) == false)
- throw new InvalidMessageException("No status line in response.");
-
- if ((response.get(Directive.STATUS.toString()) instanceof String) == false)
- throw new InvalidMessageException("Status is not a string.");
-
- return (((String) response.get(Directive.STATUS.toString()))
- .equals(Status.OK.toString()));
- }
-}