private Response<Object> parseResponseFromChars(char[] args, final String returnAddress) { final char[][] chars = CharScanner.splitFromStartWithLimit(args, (char) PROTOCOL_SEPARATOR, 0, RESPONSE_RETURN); String messageId = FastStringUtils.noCopyStringFromChars(chars[MESSAGE_ID_POS]); long id = 0L; if (!Str.isEmpty(messageId)) { id = Long.parseLong(messageId); } String address = FastStringUtils.noCopyStringFromChars(chars[ADDRESS_POS]); String stime = FastStringUtils.noCopyStringFromChars(chars[TIMESTAMP_POS]); long timestamp = 0L; if (!Str.isEmpty(stime)) { timestamp = Long.parseLong(stime); } char[] wasErrorsStr = chars[WAS_ERRORS_POS]; boolean wasErrors = wasErrorsStr != null && wasErrorsStr.length == 1 && wasErrorsStr[0] == '1'; char[] messageBodyChars = chars[RESPONSE_RETURN]; Object messageBody; if (!Chr.isEmpty(messageBodyChars)) { messageBody = jsonParser.parse(messageBodyChars); } else { messageBody = null; } return new ResponseImpl<>(id, timestamp, address, returnAddress, null, messageBody, null, wasErrors); }
private Response<Object> parseResponseFromChars(char[] args, final String returnAddress) { final char[][] chars = CharScanner.splitFromStartWithLimit(args, (char) PROTOCOL_SEPARATOR, 0, RESPONSE_RETURN); String messageId = FastStringUtils.noCopyStringFromChars(chars[MESSAGE_ID_POS]); long id = 0L; if (!Str.isEmpty(messageId)) { id = Long.parseLong(messageId); } String address = FastStringUtils.noCopyStringFromChars(chars[ADDRESS_POS]); String stime = FastStringUtils.noCopyStringFromChars(chars[TIMESTAMP_POS]); long timestamp = 0L; if (!Str.isEmpty(stime)) { timestamp = Long.parseLong(stime); } char[] wasErrorsStr = chars[WAS_ERRORS_POS]; boolean wasErrors = wasErrorsStr != null && wasErrorsStr.length == 1 && wasErrorsStr[0] == '1'; char[] messageBodyChars = chars[RESPONSE_RETURN]; Object messageBody; if (!Chr.isEmpty(messageBodyChars)) { messageBody = jsonParser.parse(messageBodyChars); } else { messageBody = null; } return new ResponseImpl<>(id, timestamp, address, returnAddress, null, messageBody, null, wasErrors); }
private Response<Object> parseResponseFromChars(String addressPrefix, char[] args, String parentReturnAddress) { final char[][] chars = CharScanner.splitFromStartWithLimit(args, (char) PROTOCOL_SEPARATOR, 0, RESPONSE_RETURN); String messageId = FastStringUtils.noCopyStringFromChars(chars[MESSAGE_ID_POS]); long id = 0L; if (!Str.isEmpty(messageId)) { id = Long.parseLong(messageId); } String address = FastStringUtils.noCopyStringFromChars(chars[ADDRESS_POS]); String returnAddress = FastStringUtils.noCopyStringFromChars(chars[RETURN_ADDRESS_POS]); String stime = FastStringUtils.noCopyStringFromChars(chars[TIMESTAMP_POS]); long timestamp = 0L; if (!Str.isEmpty(stime)) { timestamp = Long.parseLong(stime); } char[] wasErrorsStr = chars[WAS_ERRORS_POS]; boolean wasErrors = wasErrorsStr != null && wasErrorsStr.length == 1 && wasErrorsStr[0] == '1'; char[] messageBodyChars = chars[RESPONSE_RETURN]; Object messageBody; if (!Chr.isEmpty(messageBodyChars)) { messageBody = jsonParser.parse(messageBodyChars); } else { messageBody = null; } return new ResponseImpl<>(id, timestamp, address, returnAddress, null, messageBody, null, wasErrors); }