private void updateLinkedRequestAppDataMapping ( final ClientTransaction ctx , Dialog dialog ) { if ( logger . isDebugEnabled ( ) ) { logger . debug ( "updateLinkedRequestAppDataMapping" ) ; } final Transaction linkedTransaction = linkedRequest . getTransaction ( ) ; final Dialog linkedDialog = linkedRequest . getDialog ( ) ; //keeping the client transaction in the server transaction's application data if ( linkedTransaction != null && linkedTransaction . getApplicationData ( ) != null ) { ( ( TransactionApplicationData ) linkedTransaction . getApplicationData ( ) ) . setTransaction ( ctx ) ; } if ( linkedDialog != null && linkedDialog . getApplicationData ( ) != null ) { ( ( TransactionApplicationData ) linkedDialog . getApplicationData ( ) ) . setTransaction ( ctx ) ; } //keeping the server transaction in the client transaction's application data this . transactionApplicationData . setTransaction ( linkedTransaction ) ; if ( dialog != null && dialog . getApplicationData ( ) != null ) { ( ( TransactionApplicationData ) dialog . getApplicationData ( ) ) . setTransaction ( linkedTransaction ) ; } }
Keeping the transactions mapping in application data for CANCEL handling