businessObjectFormat.setBusinessObjectFormatUsage(businessObjectFormatEntity.getUsage()); businessObjectFormat.setBusinessObjectFormatFileType(businessObjectFormatEntity.getFileType().getCode()); businessObjectFormat.setBusinessObjectFormatVersion(businessObjectFormatEntity.getBusinessObjectFormatVersion()); businessObjectFormat.setLatestVersion(businessObjectFormatEntity.getLatestVersion()); businessObjectFormat.setPartitionKey(businessObjectFormatEntity.getPartitionKey());
businessObjectFormat.setBusinessObjectFormatUsage(businessObjectFormatEntity.getUsage()); businessObjectFormat.setBusinessObjectFormatFileType(businessObjectFormatEntity.getFileType().getCode()); businessObjectFormat.setBusinessObjectFormatVersion(businessObjectFormatEntity.getBusinessObjectFormatVersion()); businessObjectFormat.setLatestVersion(businessObjectFormatEntity.getLatestVersion()); businessObjectFormat.setPartitionKey(businessObjectFormatEntity.getPartitionKey());
expectedBusinessObjectFormat.setBusinessObjectFormatVersion(SECOND_FORMAT_VERSION); expectedBusinessObjectFormat.setSchema(updatedSchema); assertEquals(expectedBusinessObjectFormat, resultBusinessObjectFormat);
@Test public void testCreateBusinessObjectFormatInitialVersionExistsWithSchemaAdditiveSchemaChangesColumnDescriptionUpdated() { // Create relative database entities. businessObjectFormatServiceTestHelper.createTestDatabaseEntitiesForBusinessObjectFormatTesting(); // Create an initial format schema. Schema initialSchema = new Schema( Arrays.asList(new SchemaColumn(COLUMN_NAME, COLUMN_DATA_TYPE, COLUMN_SIZE, NO_COLUMN_REQUIRED, NO_COLUMN_DEFAULT_VALUE, COLUMN_DESCRIPTION)), Arrays.asList(new SchemaColumn(COLUMN_NAME_2, COLUMN_DATA_TYPE_2, COLUMN_SIZE, NO_COLUMN_REQUIRED, NO_COLUMN_DEFAULT_VALUE, COLUMN_DESCRIPTION_2)), SCHEMA_NULL_VALUE_BACKSLASH_N, SCHEMA_DELIMITER_PIPE, SCHEMA_ESCAPE_CHARACTER_BACKSLASH, PARTITION_KEY_GROUP); // Create the updated format schema having modified column descriptions for both regular and partition columns. Schema updatedSchema = (Schema) initialSchema.clone(); updatedSchema.getColumns().get(0).setDescription(COLUMN_DESCRIPTION_3); updatedSchema.getPartitions().get(0).setDescription(COLUMN_DESCRIPTION_4); // Create an initial version of the business object format. BusinessObjectFormat initialBusinessObjectFormat = businessObjectFormatService.createBusinessObjectFormat( new BusinessObjectFormatCreateRequest(NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, COLUMN_NAME_2, FORMAT_DESCRIPTION, FORMAT_DOCUMENT_SCHEMA, NO_ATTRIBUTES, NO_ATTRIBUTE_DEFINITIONS, initialSchema)); // Create a second version of the business object format with the schema columns having updated descriptions. BusinessObjectFormat resultBusinessObjectFormat = businessObjectFormatService.createBusinessObjectFormat( new BusinessObjectFormatCreateRequest(NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, COLUMN_NAME_2, FORMAT_DESCRIPTION, FORMAT_DOCUMENT_SCHEMA, NO_ATTRIBUTES, NO_ATTRIBUTE_DEFINITIONS, updatedSchema)); // Validate the returned object. BusinessObjectFormat expectedBusinessObjectFormat = (BusinessObjectFormat) initialBusinessObjectFormat.clone(); expectedBusinessObjectFormat.setId(resultBusinessObjectFormat.getId()); expectedBusinessObjectFormat.setBusinessObjectFormatVersion(SECOND_FORMAT_VERSION); expectedBusinessObjectFormat.setSchema(updatedSchema); assertEquals(expectedBusinessObjectFormat, resultBusinessObjectFormat); }
BusinessObjectFormat expectedBusinessObjectFormatChild = resultBusinessObjectFormatChildV0; expectedBusinessObjectFormatChild.setId(resultBusinessObjectFormatChildV1.getId()); expectedBusinessObjectFormatChild.setBusinessObjectFormatVersion(resultBusinessObjectFormatChildV1.getBusinessObjectFormatVersion()); expectedBusinessObjectFormatChild.setBusinessObjectFormatParents(resultBusinessObjectFormatChildV1.getBusinessObjectFormatParents()); BusinessObjectFormat expectedBusinessObjectParent = resultBusinessObjectFormatV0; expectedBusinessObjectParent.setId(resultBusinessObjectFormatParentV2.getId()); expectedBusinessObjectParent.setBusinessObjectFormatVersion(resultBusinessObjectFormatParentV2.getBusinessObjectFormatVersion()); expectedBusinessObjectParent.setBusinessObjectFormatChildren(resultBusinessObjectFormatParentV2.getBusinessObjectFormatChildren()); assertEquals(expectedBusinessObjectParent, resultBusinessObjectFormatParentV2);
expectedBusinessObjectFormat.setBusinessObjectFormatUsage(FORMAT_USAGE_CODE); expectedBusinessObjectFormat.setBusinessObjectFormatFileType(FileTypeEntity.RELATIONAL_TABLE_FILE_TYPE); expectedBusinessObjectFormat.setBusinessObjectFormatVersion(INITIAL_FORMAT_VERSION); expectedBusinessObjectFormat.setLatestVersion(LATEST_VERSION_FLAG_SET); expectedBusinessObjectFormat.setPartitionKey(BusinessObjectDataServiceImpl.NO_PARTITIONING_PARTITION_KEY);
expectedBusinessObjectFormat.setBusinessObjectFormatVersion(SECOND_FORMAT_VERSION); expectedBusinessObjectFormat.setSchema(expectedSchema);
expectedBusinessObjectFormat.setBusinessObjectFormatUsage(FORMAT_USAGE_CODE); expectedBusinessObjectFormat.setBusinessObjectFormatFileType(FileTypeEntity.RELATIONAL_TABLE_FILE_TYPE); expectedBusinessObjectFormat.setBusinessObjectFormatVersion(INITIAL_FORMAT_VERSION); expectedBusinessObjectFormat.setLatestVersion(LATEST_VERSION_FLAG_SET); expectedBusinessObjectFormat.setPartitionKey(BusinessObjectDataServiceImpl.NO_PARTITIONING_PARTITION_KEY);
sourceBusinessObjectFormatVersion = this.getBusinessObjectFormatVersion(); int copyBusinessObjectFormatVersion = strategy.copy(LocatorUtils.property(locator, "businessObjectFormatVersion", sourceBusinessObjectFormatVersion), sourceBusinessObjectFormatVersion, true); copy.setBusinessObjectFormatVersion(copyBusinessObjectFormatVersion); } else { if (businessObjectFormatVersionShouldBeCopiedAndSet == Boolean.FALSE) {
sourceBusinessObjectFormatVersion = this.getBusinessObjectFormatVersion(); int copyBusinessObjectFormatVersion = strategy.copy(LocatorUtils.property(locator, "businessObjectFormatVersion", sourceBusinessObjectFormatVersion), sourceBusinessObjectFormatVersion, true); copy.setBusinessObjectFormatVersion(copyBusinessObjectFormatVersion); } else { if (businessObjectFormatVersionShouldBeCopiedAndSet == Boolean.FALSE) {
sourceBusinessObjectFormatVersion = this.getBusinessObjectFormatVersion(); int copyBusinessObjectFormatVersion = strategy.copy(LocatorUtils.property(locator, "businessObjectFormatVersion", sourceBusinessObjectFormatVersion), sourceBusinessObjectFormatVersion, true); copy.setBusinessObjectFormatVersion(copyBusinessObjectFormatVersion); } else { if (businessObjectFormatVersionShouldBeCopiedAndSet == Boolean.FALSE) {