// The current TLV should be a integer
// We get it and store it in MessageId
TLV tlv = container.getCurrentTLV();
Value value = tlv.getValue();
if ( ( value == null ) || ( value.getData() == null ) )
{
String msg = I18n.err( I18n.ERR_04075 );
LOG.error( msg );
// This will generate a PROTOCOL_ERROR
throw new DecoderException( msg );
}
try
{
int abandonnedMessageId = IntegerDecoder.parse( value, 0, Integer.MAX_VALUE );
abandonRequest.setAbandoned( abandonnedMessageId );
if ( IS_DEBUG )
{
LOG
.debug( "AbandonMessage Id has been decoded : {}", Integer
.valueOf( abandonnedMessageId ) );
}
container.setGrammarEndAllowed( true );
return;
}
catch ( IntegerDecoderException ide )
{
LOG.error( I18n
.err( I18n.ERR_04076, Strings.dumpBytes(value.getData()), ide.getMessage() ) );
// This will generate a PROTOCOL_ERROR
throw new DecoderException( ide.getMessage() );
}
}