Package com.iizix.server.client
Class ClientTransactionProcessor
java.lang.Object
com.iizix.server.client.ClientTransactionProcessor
- All Implemented Interfaces:
- IClientTransactionProcessor,- ITransactionCreator,- ITransactionProcessor,- IRootPropTransactionSender
public class ClientTransactionProcessor extends Object implements IClientTransactionProcessor, IRootPropTransactionSender
The TransactionProcessor contains all the code required to process transactions with the application being run for a single client reconnectable connection. If parallel client sessions is enabled or allowed, a single AppSessionGyro is shared.
- Author:
- Christopher Mindus
- Method SummaryModifier and TypeMethodDescription- void- appendPublicKey- (SendTransaction trans) Appends the server public key for the Diffie-Hellman key exchange with the client.- void- closeClient- (String msg) Sends an HTML message to be displayed on the client that will immediately close the connection.Creates a transaction with the configured write cache.- getClientContextMenuReference- (UIContextMenu contextMenu) Gets the reference to use for a context menu.Gets the client parameters.Gets the client properties.- intReturns the lock serial number.- booleanVerifies that the connection is established and not paused, reconnecting, etc.- void- onConnection- (SessionTransMgr manager) Called when a connection is established.- void- onDisposed- (SessionTransMgr manager) Called when a connection is disposed of.- void- onPause- (SessionTransMgr manager) Called when a connection is paused.- void- onReconnected- (SessionTransMgr manager) Called when a connection is reconnected.- voidPosts an update to the root property to potentially perform client transactions.- void- processTransaction- (SessionTransMgr manager, ReadTransaction trans) Process incoming transaction that itself can consist of several sub-transactions.- voidRestarts the remote client.- void- sendTransaction- (SendTransaction trans) Sends the transaction to the remote party.- void- setBusy- (boolean isBusy) Sets the client session busy state.- voidSets the client session busy state.- void- showMessageInClient- (int severity, String heading, String msg) Sends an error message to be displayed on the client immediately.- voidUpdates the current user with a password that is encrypted in AES/CBC 256-bit.
- Method Details- getClientParamsGets the client parameters.
- onConnectionCalled when a connection is established.- Specified by:
- onConnectionin interface- ITransactionProcessor
 
- onPauseCalled when a connection is paused.- Specified by:
- onPausein interface- ITransactionProcessor
 
- onReconnectedCalled when a connection is reconnected.- Specified by:
- onReconnectedin interface- ITransactionProcessor
 
- onDisposedCalled when a connection is disposed of.- Specified by:
- onDisposedin interface- ITransactionProcessor
 
- processTransactionProcess incoming transaction that itself can consist of several sub-transactions.- Management transaction are not present here, but GConstants.TRANS_NEXT_SERIAL that should call - manager.onNextSerialTransaction();.- Specified by:
- processTransactionin interface- ITransactionProcessor
- Parameters:
- trans- The transaction to process.
 
- getClientPropsGets the client properties.
- createTransactionCreates a transaction with the configured write cache.- Specified by:
- createTransactionin interface- ITransactionCreator
- Returns:
- The new Transactioninstance.
 
- sendTransactionSends the transaction to the remote party.- Specified by:
- sendTransactionin interface- IRootPropTransactionSender
- Parameters:
- trans- The transaction.
 
- postClientUpdatepublic void postClientUpdate()Posts an update to the root property to potentially perform client transactions.
- isConnectedpublic boolean isConnected()Verifies that the connection is established and not paused, reconnecting, etc.- Specified by:
- isConnectedin interface- IRootPropTransactionSender
- Returns:
- true if connected, false otherwise.
 
- restartRemoteClientpublic void restartRemoteClient()Restarts the remote client. This is done without asking anything: it will just restart the iiziRun or browser by disconnecting from server and reloading the page directly. For iiziRun Developer/Custom sessions, this will bring up that interface.
- showMessageInClientSends an error message to be displayed on the client immediately.- Parameters:
- severity- The message severity (-1 none, 0=info, 1=warning, 2=error).
- heading- The heading text.
- msg- The message text.
 
- closeClientSends an HTML message to be displayed on the client that will immediately close the connection.- Parameters:
- msg- The message text in HTML.
 
- setBusypublic void setBusy- (boolean isBusy) Sets the client session busy state.- Parameters:
- isBusy- The busy state.
 
- setBusySets the client session busy state.- Parameters:
- isBusy- The busy state (must be true to display message or progress).
- msg- Message to display in HTML format, null for none, ignored when "ready" (busy=false).
- delay- Delay in milliseconds: -2=default, -1=disabled, 0=no delay, >0 to 20000 delay in milliseconds.
- progress- The progress state: -1 for none, otherwise a value between 0 and 100.
 
- getLockSerialpublic int getLockSerial()Returns the lock serial number.- Returns:
- Serial between 0 and 0xFFFF.
 
- getClientContextMenuReferenceGets the reference to use for a context menu.- Specified by:
- getClientContextMenuReferencein interface- IRootPropTransactionSender
- Parameters:
- contextMenu- The context menu.
- Returns:
- The reference to use, empty string for none (never null).
 
- appendPublicKeyAppends the server public key for the Diffie-Hellman key exchange with the client.- Specified by:
- appendPublicKeyin interface- IClientTransactionProcessor
- Parameters:
- trans- The transaction.
 
- updateAuthenticationUpdates the current user with a password that is encrypted in AES/CBC 256-bit.- Specified by:
- updateAuthenticationin interface- IClientTransactionProcessor
- Parameters:
- trans- The transaction
- Throws:
- Exception- If there is any kind of problem with the authentication, transaction, encryption or alike.