Project

General

Profile

Actions

Programming Guide » History » Revision 8

« Previous | Revision 8/13 (diff) | Next »
chin-yeh, 08/10/2011 03:40 PM


Programming Guide

There are number of APIs provided by VP. All of these APIs are wrapped and exposed through a client application, vp-client. Refer to the following sub sections for more information.

The Javadoc of vp-client:

http://192.168.2.13:50000/vp_client_apidocs/

The binary or source files of vp-client:

SCM

Demo application of vp-client:

http://192.168.2.66:8080/vp-test/index.html

VP Registration

This method is only applicable for new registration, which means the member/shopper ID is not yet registered with VP before.

Input Parameters

See performRegistration

Output Parameters

The return object, TransactionResponse consists of the following fields value:
  • process - For registration, the possible value is VRegister
  • transactionId - The unique reference that passed in by the caller
  • countryId - The country ID/code that passed in by the caller
  • centerId - To differentiate if the caller are from POS system or online
  • memberId - The member/shopper ID
  • status - The status of the transaction. If success, returns 0000
  • errorCode - the error code of the transaction. if success, returns 00000
  • errorMessage - the detailed description of the error code

Code Snippet

Important note: One should modify the following code to cater existing program so do not copy & paste it directly.

Connection dbConnection = DBConnectionFactory.createDbConnection("java:/DB2DS2");
TransactionResponse vpResponse = new TransactionResponse();

try {
    vpResponse = VPServicesUtils.performRegistration(dbConnection, trxId, 
            countryId, memberId, memberName, vpAmount, trxDate, regDate, expDate);

} catch (RemoteException ex) {
  // do not ignore. either log the full stack trace or handle it
  LOGGER.error(ex);
} catch (SQLException ex) {
  // do not ignore. either log the full stack trace or handle it
  LOGGER.error(ex);
} finally {
    if (dbConnection != null) {
        dbConnection.close();
    }
}

Exception Handling Strategies

This method would throws the following exceptions:
  • RemoteException - if there's any issue in communicating with VP
  • SQLException - if there's any issue in persisting or updating the event
  • unchecked exception - e.g. NullPointerException. This is more like a programming errors so do not catch it for whatever reasons.
    • note: catch the Exception will catch both checked & unchecked exception

The above exceptions should never be ignored, at least, the full error stack trace should be logged.

VP Renewal

This method is only applicable for renewal. The member/shopper ID should have already registered with VP before.

Input Parameters

See performRenewal

Output Parameters

The return object, TransactionResponse consists of the following fields value:
  • process - For registration/renewal, the possible value is VRegister
  • transactionId - The unique reference that passed in by the caller
  • countryId - The country ID/code that passed in by the caller
  • centerId - To differentiate if the caller are from POS system or online
  • memberId - The member/shopper ID
  • status - The status of the transaction. If success, returns 0000
  • errorCode - the error code of the transaction. if success, returns 00000
  • errorMessage - the detailed description of the error code

Code Snippet

Important note: One should modify the following code to cater existing program so do not copy & paste it directly.

Connection dbConnection = DBConnectionFactory.createDbConnection("java:/DB2DS2");
TransactionResponse vpResponse = new TransactionResponse();

try {
    vpResponse = VPServicesUtils.performRenewal(dbConnection, trxId, 
            countryId, memberId, memberName, vpAmount, trxDate, regDate, expDate);

} catch (RemoteException ex) {
  // do not ignore. either log the full stack trace or handle it
  LOGGER.error(ex);
} catch (SQLException ex) {
  // do not ignore. either log the full stack trace or handle it
  LOGGER.error(ex);
} finally {
    if (dbConnection != null) {
        dbConnection.close();
    }
}

Exception Handling Strategies

This method would throws the following exceptions:
  • RemoteException - if there's any issue in communicating with VP
  • SQLException - if there's any issue in persisting or updating the event
  • unchecked exception - e.g. NullPointerException. This is more like a programming errors so do not catch it for whatever reasons.
    • note: catch the Exception will catch both checked & unchecked exception

The above exceptions should never be ignored, at least, the full error stack trace should be logged.

Updated by chin-yeh about 13 years ago · 8 revisions