Properties for Backwards Compatibility

From time to time, functional behavior of ActiveMatrix BusinessWorks changes. If you rely on the behavior of previous releases, there are properties that allow you to revert to the behavior of previous releases. This section lists properties that are included for backwards compatibility with projects created in previous versions.

While properties in this section can be used to revert to behavior of previous releases, use of these properties is not recommended for most circumstances. Functionality changes are usually introduced to improve the product or to correct erroneous behavior. Therefore, relying on the behavior of previous releases is not recommended for new projects.

The properties in this section are intended to allow backward compatibility of legacy projects until the project can be corrected to accommodate the new behavior. These properties are not intended for long-term use.

bw.plugin.ftp.stripLineFeedInPut

Prior to release 5.2.0, the FTP Put activity stripped the \n when \r\n was used for a new line in a file. This caused files to be unusable when a file was taken from a MS Windows machine and put onto a VMS machine. The FTP Put activity no longer strips the \n, and if you rely on this behavior in existing projects, you can set the bw.plugin.ftp.stripLineFeedInPut to true to obtain the behavior of previous releases.

bw.plugin.http.client.urlEncodeQueryString

As of release 5.2.0, the QueryString input element of the Send HTTP Request activity is not automatically URL encoded. Prior to release 5.2, the activity used URL encoding for the Query specified in the QueryString element. It is now the user's responsibility to properly URL-encode the query specified in the QueryString. Therefore, the activity does attempt to encode the value supplied in this element. This change may cause backward compatibility issues if you rely on the activity to perform the URL-encoding of the QueryString. This property is set to false by default, but setting it to true reverts to the behavior of previous releases.

bw.plugin.javaCode.explicitNull

To indicate a null reference, the Java Code activity omits the value in its output. This causes a String value used as a null place holder when another activity attempts to read the null in its input. However, other activities did not behave in this way. Other activities pass an explicit null for null references.

To preserve backward compatibility, the Java Code activity still behaves the same. However, you can set the bw.plugin.javaCode.explicitNull to true to cause the Java Code activity to behave in the same way as other activities. When this property is set to true, an explicit null is set for a null reference. This property is set to false by default, maintaining the behavior of the previous releases.

bw.plugin.parseData.enforceLineLength

In previous releases, the line length specified in the Data Format resource was not enforced. This allowed files with one large line to be parsed in some situations. In more recent releases, the line length is enforced so that files containing one large line are no longer allowed. If you rely on the behavior of the previous releases, set the bw.plugin.parseData.enforceLineLength property to false. By default, this property is set to true.

bw.plugin.timer.useJavaMonth

In previous releases, the Timer process starter used the Java convention (0-11) for month numbers in its output, however, the expected convention for month numbers is 1-12. In release 5.2.0, the month is returned as a number between 1 and 12. If you rely on the behavior of previous releases, you can set this property to true to maintain compatibility with previous releases.

com.tibco.plugin.soap.no_xsi_type

SOAP activities were enhanced in release 2.0.5 to emit xsi:type attributes. If you wish to maintain backward compatibility and not emit these attributes, you must set this property to true.

com.tibco.xml.xpath.create-dateTime.has.timezone

In Release 2.x, the XPath function create-dateTime() returned a value that included a time zone. In Release 5.1.2 and 5.1.3, the function was changed to omit the time zone. This property controls whether the time zone is included in the output of the create-dateTime() function. Setting this property to false (the default value) omits the time zone from the function output (the same behavior as 5.1.x). Setting this property to true causes the time zone to be included in the function output (the same behavior as 2.x).

Config.JDBC.CallProcedure.InputOptional

In releases prior to 5.2.0, the JDBC Call Procedure activity created input elements that were optional for stored procedure parameters. Optional parameters have never been supported by this activity. See the Known Issues list under the JDBC Palette heading in TIBCO ActiveMatrix BusinessWorks™ Release Notes. When migrating a project from a previous release, there will be validation errors for any unspecified input elements for stored procedure parameters. These migrated projects cannot be executed until the errors are resolved by using the Mapper Check and Repair button on the Input tab.

If you wish to migrate a project without fixing this problem, you can do so by setting this property to true.

Config.JDBC.CallProcedure.OutputUseNil

Prior to release 5.1.2, if a value returned from a database table was null, the output element corresponding to that table value was not placed into the output schema for a JDBC Call Procedure activity, if the output element was optional. The element is now placed into the output schema and has "xsi:nil = true" to indicate the element is null.

You should surround elements that can be nil with an if statement to determine whether to output the element. To maintain the behavior of previous releases, this property controls whether elements that are nil are contained in the output. Set the property to false to achieve the behavior of previous releases.

ignore.delimiters.under.quotes

Prior to Release 2.0.4, when using the activities in the Parse palette, delimiter-separated data was not treated in a standard way. There was no mechanism to escape the specified delimiter character. For example, if you chose a comma as the delimiter, there was no way to have a field contain a comma as in "Fresno, CA". Also, there was no way to have a field span multiple lines or include leading and trailing spaces.

Now fields can be surrounded in double quotes. For more information about the new semantics for parsing input text, see the description of the Data Format shared configuration resource in TIBCO ActiveMatrix BusinessWorks™ Palette Reference.

To disable this functionality, set the value of this property to true.

java.property.DiscardUTF8BOM

When a file is saved on a Windows platform using UTF-8 encoding, Windows adds a Byte Order Mark (BOM) to the beginning of the file. This BOM is not necessary for UTF-8, but it is valid. Prior to release 2.0.6, the File Reader activity’s output includes the BOM at the beginning of the data read from the file.

The BOM is now stripped when it is encountered. If you wish to retain the functionality of previous releases, you can set this property to false. In most cases, you will not need to set this property. You may need to set this property to true if your process definition is expecting a file that contains the BOM.

java.property.com.tibco.schema.ae.makeNillable

Certain TIBCO ActiveEnterprise-based schema elements do not display as nillable in the Input mapping tab. This can result in mappings (optional to optional) that do not copy the xsi:nil attributes at runtime to the output elements, and subsequently validation errors.

Setting this property to true causes mappings that meet the criteria to show warnings. Selecting the input mapping with an error and clicking the Mapper Check and Repair displays yellow warnings: “The input and this element are both nillable, set to copy-nil”. Clicking OK changes the mappings to add the copy-of for the nil attribute (“Optional and nillable to optional and nillable”). This is generally a better way to map this structure and ensures if the element in the source data has the xsi:nil attribute, it will be copied to the target element.

In Release 5.2.1 and subsequent releases, the default setting for this property is true, which may cause new warnings to appear in existing projects. Typically, the Mapper Check and repair button can be used to update the mappings to copy xsi:nil attributes. If it is preferable to have empty elements emitted in this case, then the property can be set to false.

Any new mapping done by drag-and-drop with the property set to true will have the “Optional and nillable” style mapping, instead of the “optional to optional” style.