Migration

Note: When using search replace, we recommend using whole-word case sensitive search and replace to avoid changing similar strings that should not be changed.

Migrating from Earlier Versions to EventWeb 0.6.3

Changes for Service and Service Provider Classes

Rename classes and methods

Change init method "params" argument from String to TvList

If the init method doesn't use the params argument locally, changing the argument type may be all that is needed. Otherwise, the processing code will have to be changed. The TvList contains parameters as name/value pairs.

Update the SelfDescribing interface implementaton

Add a public getMaxMsgSize() method. This method should return the size of the largest message the class is expected to send or receive. If you're not sure how big that is, it's better to overestimate the value than to underestimate.

Change the return type of getSupportedTags and getSupportedValues from List to Set. A crude but easy way to cange a List to a Set is to use new TreeSet(list). Similarly, an array of String can be changed using new TreeSet(Arrays.asList(stringarray))

(See the new SelfDescribing interface for details.)

Migrating Service Providers

Rename classes and methods

Replace the SrvrChan getTvWriter method

Use the TvOutput putRec method.

Instead of assigning TvOutput.getTvWriter() to a variable, assign the TvOutput itself to it. Change the variable type from TvWriter to TvOutput, then replace the println method with putRec. The parameters are the same, so it's just a name change.

Migrating Event Providers

Most event providers do not require any changes.

Migrating Services

Rename classes and methods

Remove the ctrlr argument from the UnitBcReader constructor

The UnitBcReader constructor no longer uses the ctrlr argument. It's the last argument and is usually "this". Just delete the argument.

Change SrvrChan to TvOutput wherever the full SrvrChan definition isn't needed.

import eventweb.io.TvOutput and add it to the DEP_LIST.

Change SrvrChan to TvOutput using search and replace, but don't change it in the UnitBcReader constructor. If there are compile errors in other places where the change was made, change them back to SrvrChan.

Migrating from EventWeb 0.6.3 to EventWeb 0.6.4

Changes for Client Javascript

The main client side change is all applet references are wrapped with functions in TvIoBase.js.  Besides that, two status "constants" and one function have been given more generic names.

Note that client side and server side changes are independent: 0.6.3 clients will work with 0.6.4 servers, and 0.6.4 clients will work with 0.6.3 servers. However, this is only true if the client uses the corresponding version of TvIoBase.js. Also, 0.6.3 clients will not work with the WebSocket servers planned for EventWeb 0.7.0

(The name changes are not as involved as they appear because many of the items with name changes are infrequently used.)

Rename constants

Rename JavaScript functions

Replace references to tvbIoApplet methods with javascript function calls

Replace references to tvbIoApplet constants with TvIoBase constants

Replace tvbIoApplet.getTag() and tvbIoApplet.getValue() with a single call to tvbGetTvPair()

tvbGetTvPair() returns a two element array. The first element is the tag, and the second element is the value.

06/18/16  swt