Source:
<code>public AccessResultCode execute(final LnClientConnection conn, final DlmsDevice device, final PushSetupSms pushSetupSms) throws IOException, TimeoutException, ProtocolAdapterException { final SetParameter setParameterSendDestinationAndMethod; if (pushSetupSms.hasPushObjectList()) { <START> LOGGER.warn("Setting Push Object List of Push Setup Sms not implemented: " <END> + pushSetupSms.getPushObjectList()); } if (pushSetupSms.hasSendDestinationAndMethod()) { final AttributeAddress sendDestinationAndMethodAddress = new AttributeAddress(CLASS_ID, OBIS_CODE, ATTRIBUTE_ID_SEND_DESTINATION_AND_METHOD); final DataObject value = this.buildSendDestinationAndMethodObject(pushSetupSms .getSendDestinationAndMethod()); setParameterSendDestinationAndMethod = new SetParameter(sendDestinationAndMethodAddress, value); } else { LOGGER.error("Send Destination and Method of the Push Setup Sms is expected to be set."); setParameterSendDestinationAndMethod = null; } if (pushSetupSms.hasCommunicationWindow()) { LOGGER.warn("Setting Communication Window of Push Setup Sms not implemented: " + pushSetupSms.getCommunicationWindow()); } if (pushSetupSms.hasRandomisationStartInterval()) { LOGGER.warn("Setting Randomisation Start Interval of Push Setup Sms not implemented: " + pushSetupSms.getRandomisationStartInterval()); } if (pushSetupSms.hasNumberOfRetries()) { LOGGER.warn("Setting Number of Retries of Push Setup Sms not implemented: " + pushSetupSms.getNumberOfRetries()); } if (pushSetupSms.hasRepetitionDelay()) { LOGGER.warn("Setting Repetition Delay of Push Setup Sms not implemented: " + pushSetupSms.getRepetitionDelay()); } if (setParameterSendDestinationAndMethod == null) { return AccessResultCode.OTHER_REASON; } return conn.set(setParameterSendDestinationAndMethod).get(0); }</code><technical_language>"{}" pass a parameter logger instead of concatenating Strings</technical_language>

Target:
public AccessResultCode execute(final LnClientConnection conn, final DlmsDevice device, final PushSetupSms pushSetupSms) throws IOException, ProtocolAdapterException { final SetParameter setParameterSendDestinationAndMethod; if (pushSetupSms.hasPushObjectList()) { LOGGER.warn("Setting Push Object List of Push Setup Sms not implemented: {}", pushSetupSms.getPushObjectList()); } if (pushSetupSms.hasSendDestinationAndMethod()) { final AttributeAddress sendDestinationAndMethodAddress = new AttributeAddress(CLASS_ID, OBIS_CODE, ATTRIBUTE_ID_SEND_DESTINATION_AND_METHOD); final DataObject value = this.buildSendDestinationAndMethodObject(pushSetupSms .getSendDestinationAndMethod()); setParameterSendDestinationAndMethod = new SetParameter(sendDestinationAndMethodAddress, value); } else { LOGGER.error("Send Destination and Method of the Push Setup Sms is expected to be set."); throw new ProtocolAdapterException("Error setting Sms push setup data. No destination and method data"); } if (pushSetupSms.hasCommunicationWindow()) { LOGGER.warn("Setting Communication Window of Push Setup Sms not implemented: {}", pushSetupSms.getCommunicationWindow()); } if (pushSetupSms.hasRandomisationStartInterval()) { LOGGER.warn("Setting Randomisation Start Interval of Push Setup Sms not implemented: {}", pushSetupSms.getRandomisationStartInterval()); } if (pushSetupSms.hasNumberOfRetries()) { LOGGER.warn("Setting Number of Retries of Push Setup Sms not implemented: {}", pushSetupSms.getNumberOfRetries()); } if (pushSetupSms.hasRepetitionDelay()) { LOGGER.warn("Setting Repetition Delay of Push Setup Sms not implemented: {}", pushSetupSms.getRepetitionDelay()); } final List<AccessResultCode> resultCodes = conn.set(setParameterSendDestinationAndMethod); if (resultCodes != null && !resultCodes.isEmpty()) { return resultCodes.get(0); } else { throw new ProtocolAdapterException("Error setting Sms push setup data."); } }