* converts a CSV formatted data packet into a token.
* @param aDataPacket
* @return
*/
public static Token packetToToken(WebSocketPacket aDataPacket) {
Token lToken = new Token();
try {
String aData = aDataPacket.getString("UTF-8");
String[] lItems = aData.split(",");
for (int i = 0; i < lItems.length; i++) {
String[] lKeyVal = lItems[i].split("=", 2);
if (lKeyVal.length == 2) {
String lVal = lKeyVal[1];
if (lVal.length() <= 0) {
lToken.put(lKeyVal[0], null);
} else if (lVal.startsWith("\"") && lVal.endsWith("\"")) {
// unescape commata by \x2C
lVal = lVal.replace("\\x2C", ",");
// unescape quotes by \x22
lVal = lVal.replace("\\x22", "\"");
lToken.put(lKeyVal[0], lVal.substring(1, lVal.length() - 1));
} else {
lToken.put(lKeyVal[0], lVal);
}
}
}
} catch (UnsupportedEncodingException ex) {
// TODO: process exception