Start of Content Area

Background documentation MDM 5.5 SP06 Patch 01  Locate the document in its SAP Library structure

Use

With MDM 5.5 SP06 Patch 01, the Java API has been enhanced as follows:

      New

       New command ModifyRecordHierarchyCommand to change location of the record in the hierarchy structure.

       New KeyMappingFactory class for creating new instances of KeyMapping, RecordKeyMapping and AttributeKeyMapping interfaces.

       Added ability to create User session by specifying Locale instead of the Region name. Locale is an additional parameter in the UserSessionContextclass.

       New command RetrieveRelationshipMembershipCommand to retrieve all relationships that a record belongs to.

       Enabled the use of SearchGroup (still very limited).

       Allowed for AttributeSearchDimension + TextSearchConstraint search combination. It's mainly used for free-form search on text attributes.

       Allowed for AttributeSearchDimension + MeasurementSearchConstraint search combination. It's mainly used for free-form search on numeric attributes.

       Enabled the use of SearchGroup. There are still many limitations especially for attributes and qualifiers.

       Added the following methods getRepositoryStatus(), getRunningOperations(), isBrokenSynchronization() and isReadOnlyRepository() to the class RepositoryProperties.

       Added a new enum RepositoryAccessPermissions.Objects.WORKFLOWS for inquiring access permission for the workflows table.

      Fixes

       Setting up a search using the DateTimeSearchConstraint would eventually throw an exception when used in a command.

       Each instance of EventDispatcher may not have received a notification because in some cases, they may have used the same connection source.

       The method SearchGroup.removeSearchItem was not removing the item.

       Defining a search with a search dimension, for example FieldSearchDimension, failed to work on a data table.

       RetrieveRecordsByValueCommand did not work on a data table.

       The command SynchronizeSlaveRepositoryCommand never did work. In addition, the command to synchronize all changes since the last synchronization was changed. The old Javadoc indicated that a partial synchronization (one transaction) will be done.

       A command might throw a runtime exception "xxx was not the owner" when a simple connection was used. The error is a timing issue depending on when the GC is triggered.

       Executing a command that causes an OutOfMemoryErrorputs the connection into a bad state. Continued use of this connection would throw an IllegalStateException message, "Previous send not yet complete".

       Bug fix in the constructor of AttributeId class that obtains string representation of ID as input parameter.

       Bug fix in the RetrieveRecordsByIdCommand: add ability to get display value, record status, record type and to filter links.

       Bug fix in the RecordLoader. The following error existed: when a record was retrieved with RegionLayer.CURRENT, the multi-region field with Null value was not populated correctly causing a problem when setFieldValue method was called.

       For the classes CurrencyFieldProperties, BooleanFieldProperties and MeasurementFieldProperties, the getter methods could return incorrect results because of parsing issues. The methods include getTrueValue(), getSymbols(), getDecimalPlaces(), getShowFractions() and isShowFractions().

       Specifying a field sorting for a lookup field did not sort by the display value.

       MultilingualString.remove threw a ClassCastException.

       Could not set NULL value to multi-value numeric attribute.

       All commands inheriting from AbstractRecordIdsCommand and used through the constructor obtaining MdmSessionContext as a parameter could get NullPointerException while executing some setter methods.
For example:
DeleteRecordsCommand.setTable(TableId) and CheckinRecordsCommand.addRecordId(RecordId)

      Changes

       Added a new parameter isFilterQualifiedLinksto ResultDefinition class enabling filtering of qualified links.

       Changed the methods SearchGroup.addSearchItem to return the new search item.

       Deprecated the constants TextSearchConstraint.LANGUAGE_LAYER. There is no way to make use of it.

       Deprecated SearchGroup.STANDARD_OPERATOR. It has been moved to Search.STANDARD_OPERATOR.

       Deprecated the methods getMasterChangeId and getSlaveChangeId from SynchronizeSlaveRepositoryCommand. Added the method isMoreChanges.

       Changed class scope for AbstractAttributeProperties from package to public.

       Deprecated the enums BACKING_UP_REPOSITORY_TYPE, VERIFYING_REPOSITORY_TYPE, DUPLICATING_REPOSITORY_TYPE, ARCHIVING_REPOSITORY_TYPE from the class RepositoryProperties. They are replaced by RepositoryProperties.getRunningOperations.

       Deprecated the enum READ_ONLY_REPOSITORY_TYPE from the class RepositoryProperties. It is replaced by RepositoryProperties.isReadOnlyRepository.

       Added isFilterQualifiedLinks property to ResultDefinition

       Changed QualifiedLinkValue from a class to an interface. In addition, (1) added method getDisplayValue(); (2) added method getLookupDisplayValue(FieldId); (3) added method getQualifiedLookupRecord()

 

End of Content Area