/** * Convert Proton message to IoTHubMessage if the message type is methods * * @param amqpsMessage The Proton message to convert * @param deviceClientConfig The device client configuration * @return the converted message */ @Override protected AmqpsConvertFromProtonReturnValue convertFromProton(AmqpsMessage amqpsMessage, DeviceClientConfig deviceClientConfig) throws TransportException { if ((amqpsMessage.getAmqpsMessageType() == MessageType.DEVICE_METHODS) && (this.deviceClientConfig.getDeviceId().equals(deviceClientConfig.getDeviceId()))) { // Codes_SRS_AMQPSDEVICEMETHODS_12_016: [The function shall convert the amqpsMessage to IoTHubTransportMessage.] Message message = protonMessageToIoTHubMessage(amqpsMessage); MessageCallback messageCallback = deviceClientConfig.getDeviceMethodsMessageCallback(); Object messageContext = deviceClientConfig.getDeviceMethodsMessageContext(); // Codes_SRS_AMQPSDEVICEMETHODS_12_027: [The function shall create a AmqpsConvertFromProtonReturnValue and set the message field to the new IotHubTransportMessage.] // Codes_SRS_AMQPSDEVICEMETHODS_12_028: [The function shall create a AmqpsConvertFromProtonReturnValue and copy the DeviceClientConfig callback and context to it.] return new AmqpsConvertFromProtonReturnValue(message, messageCallback, messageContext); } else { // Codes_SRS_AMQPSDEVICEMETHODS_12_015: [The function shall return null if the message type is not DEVICE_METHODS.] return null; } }
case DEVICE_METHODS: transportMessage.setMessageCallback(this.config.getDeviceMethodsMessageCallback()); transportMessage.setMessageCallbackContext(this.config.getDeviceMethodsMessageContext()); break;