Lesson 2: Specify class methods to handle events

CustdbScripts.class, created in the previous lesson, encapsulates the methods UploadInsert and DownloadCursor. These methods contain implementations for the ULCustomer upload_insert and download_cursor events, respectively.

In this section, you specify class methods for table-level events using two approaches:

  • Using the MobiLink Admin mode in Sybase Central:

    Connect to the CustDB database with Sybase Central, change the language for the upload_insert script to Java, and specify CustdbScripts.UploadInsert to handle the event.

  • Using the ml_add_java_table_script stored procedure:

    Connect to the CustDB database with Interactive SQL and execute ml_add_java_table_script, specifying CustdbScripts.DownloadCursor to handle the download_cursor event.

To specify CustdbScripts.UploadInsert to handle the ULCustomer upload_insert event
  1. Connect to the sample database using the Sybase Central MobiLink Admin mode:

    1. Start Sybase Central.

    2. Click View » Folders.

    3. Click Connections » Connect With MobiLink 11.

    4. Click the Identification tab.

    5. Click ODBC Data Source Name and type SQL Anywhere 11 CustDB.

    6. Click OK.

    Sybase Central displays the CustDB data source under the MobiLink 11 plug-in.

  2. Delete the existing upload_insert event for the ULCustomer table:

    1. In the left pane, double-click the Synchronized Tables folder and select the ULCustomer table. A list of table-level scripts appears in the right pane.

    2. Select the table script associated with the custdb 11.0 upload_insert event. Click Edit » Delete.

    3. In the Confirm Delete window, clickYes. The custdb 11.0 upload_insert event is removed from the ULCustomer table.

  3. Create a new upload_insert event for the ULCustomer table:

    1. With the ULCustomer table selected in the Synchronized Tables folder, click File » New » Table Script.

    2. Select custdb 11.0 as the script version.

    3. Select upload_insert as the event to create and click Next.

    4. Select Create A New Script Definition, and choose Java.

    5. Click Finish.

  4. Instruct the MobiLink server to run the CustdbScripts.UploadInsert method on an upload_insert event.

    1. Select the custDB 11.0 - upload_insert script.

    2. In the right pane, enter the following code:

      CustdbScripts.UploadInsert
    3. Click File » Save.

  5. Exit Sybase Central.

This step used Sybase Central to specify a Java method as the script for the ULCustomer upload_insert event.

Alternatively, you can use the ml_add_java_connection_script and ml_add_java_table_script stored procedures. Using these stored procedures is more efficient if you have a large number of Java methods to handle synchronization events.

See ml_add_java_connection_script system procedure and ml_add_java_table_script system procedure.

To specify CustdbScripts.DownloadCursor() to handle the ULCustomer download_cursor event
  1. Connect to the sample database with Interactive SQL.

    1. Click Start » Programs » SQL Anywhere 11 » Interactive SQL, or run the following command:

      dbisql
    2. Click the Identification tab.

    3. Click ODBC Data Source Name and type SQL Anywhere 11 CustDB.

    4. Click OK.

  2. Run the following command in Interactive SQL:

    CALL ml_add_java_table_script(
    'custdb 11.0',
    'ULCustomer',
    'download_cursor',
    'CustdbScripts.DownloadCursor');
    COMMIT;

    The following is a description of each parameter:

    Parameter Description
    custdb 11.0 The script version.
    ULCustomer The synchronized table.
    download_cursor The event name.
    CustdbScripts.DownloadCursor The fully qualified Java method.
  3. Exit Interactive SQL.

In this lesson, you specified your Java methods to handle ULCustomer table-level events. The next lesson ensures that the MobiLink server loads the appropriate class files and the MobiLink server API.

Further reading

For more information about adding scripts with stored procedures, see ml_add_java_connection_script system procedure and ml_add_java_table_script system procedure.

For general information about adding and deleting synchronization scripts, see Adding and deleting scripts.