Adobe LiveCycle Data Services ES2 Version 3.1 Release Notes

Contents
What’s new
Known issues and API changes
Fixed issues

What’s new
LiveCycle Data Services 3.1 offers these new features and improvements:

Alignment with Flex 4 and Flash Builder 4
The LiveCycle Data Services 3.1 supports the released versions of Flex 4 and Flash Builder 4.

Extensibility and increased flexibility for model-driven development
The ability to generate and customize model-driven application code is much improved in LiveCycle Data Services 3.1. In addition to generating and customizing client-side ActionScript code and model-driven forms, you can generate and customize server-side Java code. You can also extract and customize the code generation templates for the generated client-side and server-side code.

The Modeler provides new user interface features for code generation. You can choose the types of code to generate, which code generation templates to extract, and where to save the generated code and templates.

For more information, see “Model-driven applications” in Using LiveCycle Data Services.

Improved offline data management support
LiveCycle Data Services 3.1 provides major improvements in offline data management support, including:

Offline queries using SQLite in AIR clients
Encryption of local data in SQLite
Model-driven development of offline applications
For more information, see “Occasionally connected clients” and “Model-driven applications” in Using LiveCycle Data Services.

Wider platform support
LiveCycle Data Services 3.1 provides support for additional platforms. For more information, see the LiveCycle Data Services product page on the Adobe website.

Many fixed issues
About half of the LiveCycle Data Services 3.1 development resources went into fixing bugs and usability issues. See Fixed issues for details.

Known issues and API changes
If you encounter a Hibernate version conflict, you must configure the application server to load the Hibernate classes included with LiveCycle Data Services in the WEB-INF/lib/hibernate*.jar files of the lcds web application.
BLZ-494 – If client is subscribed to multiple destinations over a single polling endpoint and one subscription is invalidated, polling stops.

Data Management Service: The fix for LCDS-876 required a public Java API change. The DataMessage.setUpdateBody method has been renamed as DataMessage.modifyUpdateMessageBody.

FBR-134 – Model-driven development: Using the same entity backed by the same database table in multiple models is not supported.

FBR-317 – Model deployment: When deploying a model to the Model Assembler, you cannot have a an entity property named “id” that is not an identity property. This is due to a bug in the Hibernate libraries used in the Model Assembler persistence layer.

FBR-383 – Model-driven development: When working with RDS, certain types of action queries such as UPDATES or DELETES that result in 0 row counts and upon being successful cause RDS to throw this “RDS: java.sql.SQLException: General error resultset closed”. This should be ignored. Also, all DDL statements cause this (for example, ALTER TABLE, etc.). Depending on the database driver used, you may not be allowed to execute queries. Again, the exception may be ignored and the statement will execute.

LCDS-864 – Model Assembler: After an authorization failure, local data change (delete) doesn’t roll back if there is only one item in the collection.

LCDS-895 – Modeler: The Modeler does not preserve comments.

LCDS-907 – Modeler: Invalid entity creation: same table defined in multiple schemas creates duplicate fields in entity model.

LCDS-1022 – Model-driven development: Deleting an entity from a model does not delete its classes from its package.

LCDS-1076 – Modeler Expression Builder: Cannot use “up” and “down” keyboard arrow keys to scroll through the list of functions or the function categories.

LCDS-1103 – Model-driven form: Adding a model-driven form in Flash Builder design mode takes a long time and causes a flicker. This does not occur when using a Flex form, or if either type of form is added in source mode.

LCDS-1113 – Model-driven development: Import incorrect package for service when entity package and service package are different.

LCDS-1119 – Model-driven form: Using multiple model-driven forms in same application results in issues with unexpected interactions between the forms.

LCDS-1187 – Data Management Service: Data Management samples use a deprecated API. New versions of fill methods on the Assembler interface methods take a propertySpecifier as an argument, but the samples and a code sample in the documentation use a deprecated fill method defined on the AbstractAssembler class, which does not take a propertySpecifier as an argument: public Collection fill(List fillParameters).

LCDS-1445 – Model-driven form: Model-driven form created against an entity with a datatype column of type float causes rounding of that type based on the numericStepper’s stepValue.

LCDS-1488 – Sample applications: The HTTPService sample in the LiveCycle Data Services samples application is not working on JBoss 5.0.

LCDS-1522 – The HTTP channels (HTTPChannel and SecureHTTPChannel) are not compatible with the small messages feature. For this reason we attempt to automatically disable small messages when the HTTP channels are being used. Due to this bug, there are some instances where small messages are not automatically disabled when using the HTTP channels and you could get errors unless you explicitly disable them. For this reason, when using an HTTP channel in your application you should explicitly disable small messages on your HTTP endpoint in the services-config.xml file.

LCDS-1533 – Edge Server: When using the Edge server to communicate with a JMS messaging destination in the application tier, if there is a problem on the JMS end such as the destination can’t be found in JNDI, the error is not making it back to the client and the client could go into an endless reconnect loop. This would likely only occur due to a development or deployment time configuration problem but it is good to be aware of this issue if you are having problems using a JMS messaging destination through the Edge Server as it could make the underlying configuration issue more difficult to identify.

LCDS-1537 – Modeler: The Generate Code button in the Modeler generates code based on the saved model, not the in memory (possibly modified) model. It needs to prompt for save before running.

LCDS-1540 – Model-driven development: No error when table creation fails on deploy due to JDBC driver fail to load. RDS view does show an error for same issue.

LCDS-1564 – Client-side data management: autocommit doesn’t work properly when the entity has a complex key with an association.

LCDS-1574 – Model-driven development: Using a DB2 database, the CLOB type length is limited to 255 when the column is created through model deployment. This is a bug in Hibernate. The workaround is to create the database table manually. See the following page for more information:

http://opensource.atlassian.com/projects/hibernate/browse/HHH-2969

LCDS-1578 – A null pointer exception can be thrown if there is a transient connection failure when using RTMP with LiveCycle Data Services in developer mode.
Fixed issues
BLZ-495 – HTTP channel failed to deserialize Externalizable(ArrayCollection) body in AsyncMessage.
BLZ-488 – ClassCastException when deploying an application in a cluster.
BLZ-487 – MessagingConfiguration doesn’t set JMX manageable property until after it is constructed.

BLZ-486 – Streaming HTTP endpoint not working on Safari on Mac.

BLZ-479 – Only one consumer gets the message from the same client when multiple consumers subscribe to the same messaging destination.

BLZ-476 -Get different error message in server’s servlet log and console log when a class is not of the expected type.

BLZ-475 – Changes to MessageService.java class introduced NullPointer exception when using a MultiTopicProducer component .

BLZ-459 – With create-asobject-for-missing-type set to true on a channel, when you get the type for the created ASObject from the missing type, it returns null.

BLZ-455 – Document client-load-balancing property in the sample configuration.

BLZ-452 – AMFConnection does not work against NIO-based endpoints.

BLZ-447 – AMF3 deserialization: Wrongly counted reference ID of duplicated String when there are Strings with only wildcards in the same message .

BLZ-428 – Pinging a LiveCycle Data Services endpoint returns HTTP: Status 200 in Internet Explorer 8.

BLZ-427 – Add configuration option for the BeanProxy.includeReadOnly property.

BLZ-387 – BlazeDS server hangs during server push.

BLZ-366 – Get channel fault when there is a transient disconnect on a streaming channel.

LCDS-1568 – A derived property with a type of boolean or Entity causes a compilation error in the model-driven form.

LCDS-1547 – Model-driven development: RDS database connection fails to Weblogic 10.3 and 11.

LCDS-1544 – Model-driven form: Improper activation of Delete button during update.

LCDS-1530 – Modeler: New entity creation behaves differently using right mouse click context menu versus dragging new entity from palette.

LCDS-1527 – Modeler Properties view: Edit Annotations dialog from entity, property, and so forth does not let you delete items or values.

LCDS-1525 – Modeler Properties view: Pressing the Edit Annotations button on the Properties view Inline General tab does nothing.

LCDS-1524 – Modeler: Modeler does not appear to hit the 2 classes in com.adobe.model.derived.editor.gef.tools.

LCDS-1517 – Model-driven form: Validation error for multiple rows causes multiple messages in toolbar tip.

LCDS-1513 – Model-driven development: It is not possible to create a string with indefinite length using modeling.

LCDS-1512 – Model-driven development: DataManagement model annotation validation gives CRUD duplication error.

LCDS-1510 – Model-driven development: Null pointer exception error dialog when downloading DDL.

LCDS-1508 – A call to releaseCollection() does not release the collection from management. Uncommitted changes are not released.

LCDS-1506 – Model-driven development: Auto-generated checkbox shouldn’t be enabled for id properties of complex types.

LCDS-1504 – Model-driven development: While specifying the ORDER By clause when creating a filter, if we do not specify ASC or DESC then Flash builder reports it as an issue. This should not be the case as the default behavior is ASC.

LCDS-1500 – Model-driven development: RDS – cannot connect to Oracle 10 or 11 using ojdbc6.jar in RDS view.

LCDS-1498 – Modeler Properties view: Change event of General tab property type dropdown does not execute when new or existing property edited as propertyname:type.

LCDS-1497 – Data Management Service is out of sync and becomes unreliable after DataServiceTransaction.refreshFill() call.

LCDS-1490 – Client-side data management: Generated DataManager has multiple unnecessary _initRemoteClassAlias() calls.

LCDS-1489 – Model-driven development: Dragging a table from a different datasource overwrites the existing Hibernate dialect, but not the existing datasource.

LCDS-1485 – Model-driven development: Dragging a table from a different datasource into a model with existing datasource may confuse users.

LCDS-1484 – Model-driven development: Dragging a datasource from RDS Dataview into the model pane in design mode doesn’t update the database Information in the Properties view.

LCDS-1483 – Model-driven development: Dragging database tables from RDS view onto Modeler canvas creates an extra id property “ID”.

LCDS-1482 – Model-driven development: Value of SQL Dialect combo box paints in an odd location.

LCDS-1481 – Model-driven development: Download DDL function for Model Explorer not working on Windows 7.

LCDS-1480 – Model-driven development: Model Explorer doesn’t refresh automatically when a model is deployed.

LCDS-1478 – Item query by foreign key id not working. The foreign key id value was 1 but changed to 0 when transmitted from client to server.

LCDS-1475 – Model-driven development: Expression Builder button used for validator expression on inline style/advanced configuration does not open the Expression Builder.

LCDS-1474 – Model-driven development: In Properties view text inputs for bundle, key, and tokens, vertical spacing gets very big as size of panel is enlarged.

LCDS-1471 – Model-driven development: Required properties inside a variant should not be annotated with @NotNull.

LCDS-1470 – Model-driven development: Incorrect error message when a service is not implemented on the server.

LCDS-1463 – Model-driven development: Properties view for service does not allow you to specify a return type of void.

LCDS-1454 – Modeler: Usability Improvements for the Modeler plugin.

LCDS-1453 – Model-driven development: Add an annotation that can suppress the service generation.

LCDS-1451 – Model-driven development: When a JDBC driver is not found, get the following RDS error: ‘Datasource jdbc/YourNameGoesHere not found’.

LCDS-1450 -Model-driven development: Expression Builder used for validator expression accepts entity property name during check, but saving the model results in an error in Design view.

LCDS-1448 – Model-driven form: Item with inline style showing that a validation condition is not met, continues to show a red border after the condition is met.

LCDS-1446 – Model-driven form: With numericStepper component in form does not activate reset or save buttons when existing value is edited directly in textInput control.

LCDS-1438 – Model-driven form: Adding a row of data using typical master-detail application with model-driven form should cause newly added row to be selected in DataGrid control.

LCDS-1423 – Model-driven development: BLOB types sent to FiberAssembler throw unexpected class not found exception.

LCDS-1422 – Modeler: On Mac, changing the property/column Type (or collection checkbox) does not update the Design view or source.

LCDS-1420 – Model-driven development: Provide Expression Builder button for default value field in Properties view.

LCDS-1418 – Model-driven development: Generate Form dialog in Modeler does not provide option to create model-driven form.

LCDS-1417 – Model-driven development: Using a ColumnName annotation with a complex id causes various JDBC errors when calling createItem(). The generated DDL isn’t correct either.

LCDS-1416 – Small message feature does not work with RTMP.

LCDS-1415 – Model-driven form: Form generates compilation error.

LCDS-1395 – Modeler: In IBM RAD 7.5.5 right mouse click does not bring any context menus up.

LCDS-1393 – Model-driven form isn’t generated if the template is in a non-default custom location.

LCDS-1390 – Model-driven form import statement for the Data Management Service shouldn’t use the project name as the package name.

LCDS-1388 – The Generate button doesn’t generate implicit service wrappers for a Data Management Service destination.

LCDS-1387 – Modeler: Feature for extracting templates doesn’t work properly.

LCDS-1385 – Model-driven development: JoinColumn annotation doesn’t work properly with one-to-many relationship when the owning entity has single id field.

LCDS-1384 – Model-driven development: One-to-many relationship with multiple id fields but no JoinColumns annotation doesn’t work properly.

LCDS-1383 – Model-driven development: ASImplicitServiceGenerator instance doesn’t find the template from the default location if a template is missing from the customized location.

LCDS-1380 – Model-driven development: Implicit required field message and others are not localized.

LCDS-1379 – Model-driven form: Form throws runtime exception with simple validation.

LCDS-1373 – Model-driven development: Creation of new model in new Flash Builder Flex/LiveCycle Data Services project creates 2 problems in problems view.

LCDS-1359 -Model-driven development: The Styles view regularly displays “This view is only available … (for design mode)” when you are in Design view.

LCDS-1357 – Modeler: Draws improper relationship lines when there is a particular combination of entity relationships.

LCDS-1355 – Model-driven development: An expression in a validation overrides ASValidator setting. Therefore, they should be mutually exclusive in the user interface.

LCDS-1348 – Model-driven development: For a bidirectional association, update returns incorrect result.

LCDS-1347 – Remote objects with AS keyword method names should causes error from client-side validator.

LCDS-1343 – Model-driven development: ComboBox control created by model-driven generation does not show error with red color when value is missing for required field.

LCDS-1341 – Model-driven development: Inline style created using only the Advanced Style Configuration dialog is not visible in the Properties view once it is created.

LCDS-1340 – Model-driven development: Message caption, error, and description text are populated with caption, error, and text when creating a global style. This causes these name and values to go into the model even when not wanted.

LCDS-1339 – RTMPProtocolHandler$DirectRTMPConnection Queue Grows in size until OOM exception occurs.

LCDS-1338 – Model-driven development: Opening a model results in the following message: “org.eclipse.core.runtime.CoreException: Plug-in com.adobe.model.editor was unable to load class com.adobe.model.derived.editor.xml.configuration.folding.FiberFoldingStructureProviderProxy.”

LCDS-1325 – A paged fill causes a null pointer exception.

LCDS-1323 – Modeler: For the Assembler Generator, get a null pointer exception when the template path is set to null.

LCDS-1318 – Model-driven form: Template uses xxxInput.value for a text input and causes compilation error.

LCDS-1317 – Model-driven development: The initial setting of project-level code generation should use the current workspace setting instead of the default setting.

LCDS-1309 – Model-driven form: borderColor setting causes compiler error with Flex SDK 4.

LCDS-1306 – Modeler: Closing a Flex project with a model file still open causes a Data Model Validation Error alert.

LCDS-1305 – Modeler: Relationship lines draw incorrectly or do not redraw as adding bidirectional relationship with the Properties view.

LCDS-1300 – Model-driven form: Reset button should clear data if clicked after adding a new row in a master-detail DataGrid control.

LCDS-1299 – Modeler: The name of an id, property, or entity is reset to the original name after a mouse click to another control in the Properties view.

LCDS-1288 – Model-driven form: Form radio button should be disabled if a service method is selected in the Generate Form dialog.

LCDS-1284 – Modeler: Creating a new FML file as a link to an FML file already on disk does not work properly.

LCDS-1280 – Modeler: Entities do no show in Design view after importing a service with a services wizard.

LCDS-1279 – GatewayFlexSession invalidations are not logged.

LCDS-1278 – Modeler: Unchecking ‘Paged Queries From Database’ and/or ‘Auto-refresh’ in Properties view for filter has no effect.

LCDS-1277 – Modeler: Properties view dialog lets you to add both a criteria filter and a pass through query. However, these are mutually exclusive options.

LCDS-1276 – Model-driven development: ActionScript service generation doesn’t generate proper code if findItem uses the same function as getItem in the DataManagement annotation.

LCDS-1275 – Model-driven development: Incorrect exception is thrown when a query is used along with a criteria in a filter.

LCDS-1274 – Modeler: An error in a model causes the alert with message, “The editor could not switch between pages …” to appear. But clicking OK closes the dialog and the Modeler does switch to Design view.

LCDS-1273 – Modeler: The property element’s default attribute cannot be set in the Properties view.

LCDS-1272 – Model-driven development: The modeling runtime should allow non-numeric ID field to be auto-generated.

LCDS-1270 – Modeler: There is no way to create a version property in Design view.

LCDS-1267 -Client-side data management: An autocommit value of true doesn’t work properly.

LCDS-1265 – AmfTrace causes out of memory errors when debug logging is enabled even when no endpoint filter is enabled.

LCDS-1264 – Modeler: The Properties view cannot handle a property type defined as char[32].

LCDS-1262 – Model-driven development: A null pointer exception is thrown in logs when there is a particular combination of entity relationships.

LCDS-1260 – Modeler: An invalid length for a property is silently removed without any feedback to the user.

LCDS-1259 – Modeler: Cannot set length of properties of type Blob in the Modeler Design view.

LCDS-1255 – Orphan records are left on the server.

LCDS-1254 – Model-driven development: Malformed code is generated when there is an entity without a package name.

LCDS-1253 – Model-driven development: Code generated for a paged operation ignores parameters of the operation.

LCDS-1249 – Model-driven development: A generated ActionScript value object causes an error when the entity has a uid as the id field.

LCDS-1245 – WebService wrapper regression error: “Cannot assign operations into an RPC Service (convertResultHandler).”

LCDS-1241 – Commit(array, cascadeCommit) fails to commit new created children intermittently.

LCDS-1240 – Modeler: Setting and unsetting the required attribute in the relationship Properties view for an assocation has no impact.
LCDS-1239 -An ItemReference instance’s responder isn’t called when commit(array, true) is used.

LCDS-1231 – New Flex project with WTP option has many errors similar to “Nested exception: cvc-elt.1: Cannot find the declaration of element ‘hibernate-configuration’.”

LCDS-1227 – Model-driven development: Modeling language XSD schema could support a default or initial attribute for property.

LCDS-1224 – Model-driven development: The revert() method should be exposed on service proxy the same way the commit() method is.

LCDS-1215 – Model-driven development: The com.adobe.model.core plug-in eventually causes a ClassCastException on parsing an FML file.

LCDS-1210 – Looping Connection Write on Ack State 2 in Reactor.java

LCDS-1209 – Support for URL binding notation for REST-style APIs in service wrapper classes.

LCDS-1205 – Strong sub-objects resulting in runtime error.

LCDS-1202 – Model-driven development: ColumnName annotation isn’t honored when using IdClass.

LCDS-1194 – refreshFill() method throws LazyInitializationException when updating.

LCDS-1190 – Modeler: When deleting an association in Design view, the cardinality attribute is not removed from the property in the model.

LCDS-1185 – Model-driven development: FullyQualifiedReferences flag not working.

LCDS-1181 – Model-driven development: Setting the selectedIndex property of a DataGrid control in a master/detail application with a model-driven form causes the form to immediately activate the Reset and Save buttons.

LCDS-1174 – When an item is removed from the managed fill, it triggers a DataConflictEvent instead of removing the item from the list silently.

LCDS-1172 – ASGeneration of _super*services does not place semicolon at end of import statements.

LCDS-1167 – Filter using JPQL passthrough query doesn’t work if the destination uses paging.

LCDS-1159 – Modeler: Adding new annotations, items, and values should leave the cursor on the field in enter mode.

LCDS-1057 – Model-driven development: DataGrid should display columns for derived properties.

LCDS-1150 – Model-driven development:Saving problems with multiple collections of same type.

LCDS-1148 – Modeler: Design view painting issue when dragging properties into cases of variant.

LCDS-1134 – Updating a Company form updates Company DataGrid and Employee form but not Employee DataGrid.

LCDS-1119 – Model-driven form: Using multiple model-driven forms on same application has issues with unexpected interactions between forms.

LCDS-1111 – Null pointer exception during startup on Mac OS when deploying within EAR with multiple modules on JBoss.

LCDS-1105 – Model-driven development: Model entity string ID length attribute doesn’t get enforced in the created table in the database.

LCDS-1104 – Model-driven development: Modeling fails to deploy a composite entity.

LCDS-1093 – Model-driven development: Integer entity of database imported is by default auto-generated and causes a run time error.

LCDS-1088 – Client-side data management can detect duplicate rows coming from the server and warn the user when user has chosen a wrong primary key.

LCDS-1066 – Expose the client IP address when an RTMP request is handled on the server.

LCDS-1055 – Modeler: Expression Builder has a syntax error when escaping GT, LT, etc.

LCDS-1048 – Network Monitor feature requires support to deserialize DataMessage and other LiveCycle Data Services messages present in flex.data.messages in Java to show server data.

LCDS-1040 – Assign convertresulthandler property of AbstractWebService to TypeUtility’s convertResultHandler.

LCDS-1039 – Dynamic channel configuration not working with DataService instance.

LCDS-1028 – GatewayService should fail gracefully if it has been blacklisted by GatewayEndpoint.

LCDS-1018 – When using Data Management Service paging, get an error when holding down the down arrow on a DataGrid scrollbar for paged association.

LCDS-1004 – Model-driven form: Generating model-driven form does not create working form.

LCDS-993 – Model-driven form: Compiler error is thrown when model-driven form is generated for remote destination.

LCDS-985 – Model-driven development: Variable argument support in FML files.

LCDS-974 – Get runtime exception: WLEventContextImpl must implement flash.util.IExternalizable.

LCDS-970 – Model-driven development: refreshFill() method doesn’t update the item if the item is first removed from the subscription and then added back into the subscription.

LCDS-959 – Modeler: Should provide the minimum diagramming features necessary to use it for simple class modeling.

LCDS-940 – ClassCastException when cascading the create of a unidirectional association from a class with no RemoteObject alias.

LCDS-931 – With shared-backend set to false, the update message triggers EntityUtility LazyInitializationException in a cluster.

LCDS-930 – There is no getRemoteAddr() interface when using NIOAMF endpoint.

LCDS-928 – SequenceManager.getSequence ArrayIndexOutOfBound Exception.

LCDS-917 – Deserialization error when returning properties of type Array which are typed entities.

LCDS-890 – Model-driven form: Form uses a getAll() function even though the destination isn’t backed by the FiberAssembler.

LCDS-884 – TypeError cannot convert ArrayCollection to Array when using DataService to update value.

LCDS-879 – Client-side data management: The getItem() method does not return a single item when an array is sent.

LCDS-815 – Model-driven form: Null pointer exception when having two model-driven forms are on the same MXML page.

LCDS-730 – ReleaseReference applied on no single-value property.

LCDS-713 – When deleting an item that has an child association, the Data Management Service sends back two delete result event.

LCDS-577 – MPI headers not getting added to server pushed messages.

LCDS-478 – When a paged fill returns only one item, client-side data management throws an argument error.

LCDS-429 – For client-side data management, a delete function with parameters= “id” doesn’t work when the entity has multiple id fields.

FB-19843 – Data Management destination introspection in Flash Builder does not generate proper fill function for Data Management Service destinations that use the AbstractAssembler approach.