@Test(expected=UnrecognizedMessageTypeException.class) public void deserializeWellFormedButConfusedMessage() throws IOException, UnrecognizedMessageTypeException { // Build a simple message that's missing a name BinaryMessages.VehicleMessage.Builder builder = BinaryMessages.VehicleMessage.newBuilder(); builder.setType(BinaryMessages.VehicleMessage.Type.SIMPLE); BinaryMessages.SimpleMessage.Builder messageBuilder = BinaryMessages.SimpleMessage.newBuilder(); BinaryMessages.DynamicField.Builder fieldBuilder = BinaryMessages.DynamicField.newBuilder(); fieldBuilder.setType(BinaryMessages.DynamicField.Type.NUM); fieldBuilder.setNumericValue(42); messageBuilder.setValue(fieldBuilder); builder.setSimpleMessage(messageBuilder); BinaryMessages.VehicleMessage serialized = builder.build(); ByteArrayOutputStream output = new ByteArrayOutputStream(); serialized.writeTo(output); InputStream input = new ByteArrayInputStream(output.toByteArray()); BinaryFormatter.deserialize(input); }
/** * <code>optional .openxc.CanMessage can_message = 2;</code> */ private com.google.protobuf.SingleFieldBuilderV3< com.openxc.BinaryMessages.CanMessage, com.openxc.BinaryMessages.CanMessage.Builder, com.openxc.BinaryMessages.CanMessageOrBuilder> getCanMessageFieldBuilder() { if (canMessageBuilder_ == null) { canMessageBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.openxc.BinaryMessages.CanMessage, com.openxc.BinaryMessages.CanMessage.Builder, com.openxc.BinaryMessages.CanMessageOrBuilder>( getCanMessage(), getParentForChildren(), isClean()); canMessage_ = null; } return canMessageBuilder_; }
/** * <code>optional .openxc.CanMessage can_message = 2;</code> */ public com.openxc.BinaryMessages.CanMessage.Builder getCanMessageBuilder() { bitField0_ |= 0x00000002; onChanged(); return getCanMessageFieldBuilder().getBuilder(); } /**
private static void serializeCommandResponse(BinaryMessages.VehicleMessage.Builder builder, CommandResponse message) throws SerializationException { builder.setType(BinaryMessages.VehicleMessage.Type.COMMAND_RESPONSE); builder.setCommandResponse(messageBuilder);
private static void serializeCommand(BinaryMessages.VehicleMessage.Builder builder, Command message) throws SerializationException { builder.setType(BinaryMessages.VehicleMessage.Type.CONTROL_COMMAND); builder.setControlCommand(messageBuilder);
public static MessageLite preSerialize(VehicleMessage message) throws SerializationException { if(message.hasExtras()) { throw new SerializationException("Messages with extras cannot be " + "serialized to the binary format - use JSON instead"); } BinaryMessages.VehicleMessage.Builder builder = BinaryMessages.VehicleMessage.newBuilder(); if(message instanceof CanMessage) { serializeCanMessage(builder, (CanMessage) message); } else if(message instanceof DiagnosticResponse) { serializeDiagnosticResponse(builder, (DiagnosticResponse) message); } else if(message instanceof Command) { serializeCommand(builder, (Command) message); } else if(message instanceof CommandResponse) { serializeCommandResponse(builder, (CommandResponse) message); } else if(message instanceof EventedSimpleVehicleMessage) { serializeEventedSimpleVehicleMessage(builder, (EventedSimpleVehicleMessage) message); } else if(message instanceof SimpleVehicleMessage) { serializeSimpleVehicleMessage(builder, (SimpleVehicleMessage) message); } else if(message instanceof NamedVehicleMessage) { serializeNamedVehicleMessage(builder, (NamedVehicleMessage) message); } else { serializeGenericVehicleMessage(builder, message); } return builder.build(); }
public Builder mergeFrom(com.openxc.BinaryMessages.VehicleMessage other) { if (other == com.openxc.BinaryMessages.VehicleMessage.getDefaultInstance()) return this; if (other.hasType()) { setType(other.getType()); } if (other.hasCanMessage()) { mergeCanMessage(other.getCanMessage()); } if (other.hasSimpleMessage()) { mergeSimpleMessage(other.getSimpleMessage()); } if (other.hasDiagnosticResponse()) { mergeDiagnosticResponse(other.getDiagnosticResponse()); } if (other.hasControlCommand()) { mergeControlCommand(other.getControlCommand()); } if (other.hasCommandResponse()) { mergeCommandResponse(other.getCommandResponse()); } if (other.hasTimestamp()) { setTimestamp(other.getTimestamp()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; }
@Test public void deserializeNoErrors() throws IOException, UnrecognizedMessageTypeException { BinaryMessages.VehicleMessage.Builder builder = BinaryMessages.VehicleMessage.newBuilder(); builder.setType(BinaryMessages.VehicleMessage.Type.SIMPLE); BinaryMessages.SimpleMessage.Builder messageBuilder = BinaryMessages.SimpleMessage.newBuilder(); messageBuilder.setName(messageName); BinaryMessages.DynamicField.Builder fieldBuilder = BinaryMessages.DynamicField.newBuilder(); fieldBuilder.setType(BinaryMessages.DynamicField.Type.NUM); fieldBuilder.setNumericValue(42); messageBuilder.setValue(fieldBuilder); builder.setSimpleMessage(messageBuilder); BinaryMessages.VehicleMessage serialized = builder.build(); ByteArrayOutputStream output = new ByteArrayOutputStream(); serialized.writeTo(output); InputStream input = new ByteArrayInputStream(output.toByteArray()); try { message = (SimpleVehicleMessage) BinaryFormatter.deserialize(input); } catch(UnrecognizedMessageTypeException e) {} assertEquals(message.getName(), messageName); assertEquals(message.getValue(), value); }
private static void serializeDiagnosticResponse(BinaryMessages.VehicleMessage.Builder builder, DiagnosticResponse message) { builder.setType(BinaryMessages.VehicleMessage.Type.DIAGNOSTIC); BinaryMessages.DiagnosticResponse.Builder messageBuilder = BinaryMessages.DiagnosticResponse.newBuilder(); messageBuilder.setBus(message.getBusId()); messageBuilder.setMessageId(message.getId()); messageBuilder.setMode(message.getMode()); messageBuilder.setPid(message.getPid()); messageBuilder.setNegativeResponseCode(message.getNegativeResponseCode().code()); messageBuilder.setSuccess(message.isSuccessful()); if(message.hasValue()) { messageBuilder.setValue(message.getValue()); } if(message.hasPayload()) { messageBuilder.setPayload(ByteString.copyFrom(message.getPayload())); } builder.setDiagnosticResponse(messageBuilder); }
/** * <code>optional .openxc.ControlCommand control_command = 5;</code> */ private com.google.protobuf.SingleFieldBuilderV3< com.openxc.BinaryMessages.ControlCommand, com.openxc.BinaryMessages.ControlCommand.Builder, com.openxc.BinaryMessages.ControlCommandOrBuilder> getControlCommandFieldBuilder() { if (controlCommandBuilder_ == null) { controlCommandBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.openxc.BinaryMessages.ControlCommand, com.openxc.BinaryMessages.ControlCommand.Builder, com.openxc.BinaryMessages.ControlCommandOrBuilder>( getControlCommand(), getParentForChildren(), isClean()); controlCommand_ = null; } return controlCommandBuilder_; }
/** * <code>optional .openxc.CommandResponse command_response = 6;</code> */ private com.google.protobuf.SingleFieldBuilderV3< com.openxc.BinaryMessages.CommandResponse, com.openxc.BinaryMessages.CommandResponse.Builder, com.openxc.BinaryMessages.CommandResponseOrBuilder> getCommandResponseFieldBuilder() { if (commandResponseBuilder_ == null) { commandResponseBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.openxc.BinaryMessages.CommandResponse, com.openxc.BinaryMessages.CommandResponse.Builder, com.openxc.BinaryMessages.CommandResponseOrBuilder>( getCommandResponse(), getParentForChildren(), isClean()); commandResponse_ = null; } return commandResponseBuilder_; }
@java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /**
public com.openxc.BinaryMessages.VehicleMessage build() { com.openxc.BinaryMessages.VehicleMessage result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; }
private static void serializeSimpleVehicleMessage(BinaryMessages.VehicleMessage.Builder builder, SimpleVehicleMessage message) { BinaryMessages.SimpleMessage.Builder messageBuilder = startBuildingSimple(builder, message); messageBuilder.setValue(buildDynamicField(message.getValue())); builder.setSimpleMessage(messageBuilder); }
private static void serializeEventedSimpleVehicleMessage(BinaryMessages.VehicleMessage.Builder builder, EventedSimpleVehicleMessage message) { BinaryMessages.SimpleMessage.Builder messageBuilder = startBuildingSimple(builder, message); messageBuilder.setValue(buildDynamicField(message.getValue())); messageBuilder.setEvent(buildDynamicField(message.getEvent())); builder.setSimpleMessage(messageBuilder); }
/** * <code>optional .openxc.CommandResponse command_response = 6;</code> */ public com.openxc.BinaryMessages.CommandResponse.Builder getCommandResponseBuilder() { bitField0_ |= 0x00000020; onChanged(); return getCommandResponseFieldBuilder().getBuilder(); } /**
private static void serializeCanMessage(BinaryMessages.VehicleMessage.Builder builder, CanMessage message) { builder.setType(BinaryMessages.VehicleMessage.Type.CAN); BinaryMessages.CanMessage.Builder messageBuilder = BinaryMessages.CanMessage.newBuilder(); messageBuilder.setBus(message.getBusId()); messageBuilder.setId(message.getId()); messageBuilder.setData(ByteString.copyFrom(message.getData())); builder.setCanMessage(messageBuilder); }
private static BinaryMessages.SimpleMessage.Builder startBuildingSimple( BinaryMessages.VehicleMessage.Builder builder, NamedVehicleMessage message) { builder.setType(BinaryMessages.VehicleMessage.Type.SIMPLE); BinaryMessages.SimpleMessage.Builder messageBuilder = BinaryMessages.SimpleMessage.newBuilder(); messageBuilder.setName(message.getName()); return messageBuilder; }
private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getCanMessageFieldBuilder(); getSimpleMessageFieldBuilder(); getDiagnosticResponseFieldBuilder(); getControlCommandFieldBuilder(); getCommandResponseFieldBuilder(); } } public Builder clear() {