root = parser.parse(data).getAsJsonObject(); } catch(JsonSyntaxException | IllegalStateException e) { throw new UnrecognizedMessageTypeException( "Unable to parse JSON from \"" + data + "\": " + e); message = sGson.fromJson(root, VehicleMessage.class); } else { throw new UnrecognizedMessageTypeException( "Unrecognized combination of fields: " + fields); throw new UnrecognizedMessageTypeException( "Unable to parse JSON from \"" + data + "\": " + e);
protected void serializeDeserializeAndCheckEqual( VehicleMessage originalMessage) { String serialized = JsonFormatter.serialize(originalMessage); assertFalse(serialized.isEmpty()); try { VehicleMessage deserialized = JsonFormatter.deserialize(serialized); assertEquals(originalMessage, deserialized); } catch(UnrecognizedMessageTypeException e) { Assert.fail(e.toString()); } }
commandType = CommandType.DIAGNOSTIC_REQUEST; } else { throw new UnrecognizedMessageTypeException( "Unrecognized command type in response: " + response.getType()); throw new UnrecognizedMessageTypeException( "Command response missing type"); throw new UnrecognizedMessageTypeException( "Command response missing status");
private static VehicleMessage deserialize( BinaryMessages.VehicleMessage binaryMessage) throws UnrecognizedMessageTypeException { if(binaryMessage.hasSimpleMessage()) { return deserializeNamedMessage(binaryMessage); } else if(binaryMessage.hasCanMessage()) { return deserializeCanMessage(binaryMessage); } else if(binaryMessage.hasCommandResponse()) { return deserializeCommandResponse(binaryMessage); } else if(binaryMessage.hasControlCommand()) { return deserializeCommand(binaryMessage); } else if(binaryMessage.hasDiagnosticResponse()) { return deserializeDiagnosticResponse(binaryMessage); } else { throw new UnrecognizedMessageTypeException( "Binary message type not recognized"); } } }
commandType = CommandType.DIAGNOSTIC_REQUEST; } else { throw new UnrecognizedMessageTypeException( "Unrecognized command type in command: " + command.getType()); throw new UnrecognizedMessageTypeException( "Command missing type");
throws UnrecognizedMessageTypeException { if(!command.hasDiagnosticRequest()) { throw new UnrecognizedMessageTypeException( "Diagnostic command missing request details"); String action; if(!diagnosticCommand.hasAction()) { throw new UnrecognizedMessageTypeException( "Diagnostic command missing action"); } else if(diagnosticCommand.getAction() == action = DiagnosticRequest.CANCEL_ACTION_KEY; } else { throw new UnrecognizedMessageTypeException( "Unrecognized action: " + diagnosticCommand.getAction());
private static DiagnosticResponse deserializeDiagnosticResponse( BinaryMessages.VehicleMessage binaryMessage) throws UnrecognizedMessageTypeException { BinaryMessages.DiagnosticResponse serializedResponse = binaryMessage.getDiagnosticResponse(); if(!serializedResponse.hasBus() || !serializedResponse.hasMessageId() || !serializedResponse.hasMode()) { throw new UnrecognizedMessageTypeException( "Diagnostic response missing one or more required fields"); } DiagnosticResponse response = new DiagnosticResponse( serializedResponse.getBus(), serializedResponse.getMessageId(), serializedResponse.getMode()); if(serializedResponse.hasPid()) { response.setPid(serializedResponse.getPid()); } if(serializedResponse.hasPayload()) { response.setPayload(serializedResponse.getPayload().toByteArray()); } if(serializedResponse.hasNegativeResponseCode()) { response.setNegativeResponseCode( DiagnosticResponse.NegativeResponseCode.get( serializedResponse.getNegativeResponseCode())); } if(serializedResponse.hasValue()) { response.setValue(serializedResponse.getValue()); } return response; }
name = simpleMessage.getName(); } else { throw new UnrecognizedMessageTypeException( "Binary message is missing name");