protected byte [ ] getGetProcessingOptions ( final byte [ ] pPdol ) throws CommunicationException { // List Tag and length from PDOL List < TagAndLength > list = TlvUtil . parseTagAndLength ( pPdol ) ; ByteArrayOutputStream out = new ByteArrayOutputStream ( ) ; try { out . write ( EmvTags . COMMAND_TEMPLATE . getTagBytes ( ) ) ; // COMMAND // TEMPLATE out . write ( TlvUtil . getLength ( list ) ) ; // ADD total length if ( list != null ) { for ( TagAndLength tl : list ) { out . write ( template . get ( ) . getTerminal ( ) . constructValue ( tl ) ) ; } } } catch ( IOException ioe ) { LOGGER . error ( "Construct GPO Command:" + ioe . getMessage ( ) , ioe ) ; } return template . get ( ) . getProvider ( ) . transceive ( new CommandApdu ( CommandEnum . GPO , out . toByteArray ( ) , 0 ) . toBytes ( ) ) ; }
Method used to create GPO command and execute it