/** * Create an instance of {@link BusinessObjectDataAvailabilityRequest } * */ public BusinessObjectDataAvailabilityRequest createBusinessObjectDataAvailabilityRequest() { return new BusinessObjectDataAvailabilityRequest(); }
/** * Creates business object data availability object instance and initialise it with the business object data availability request field values. * * @param request the business object data availability request * * @return the newly created BusinessObjectDataAvailability object instance */ private BusinessObjectDataAvailability createBusinessObjectDataAvailability(BusinessObjectDataAvailabilityRequest request) { BusinessObjectDataAvailability businessObjectDataAvailability = new BusinessObjectDataAvailability(); businessObjectDataAvailability.setNamespace(request.getNamespace()); businessObjectDataAvailability.setBusinessObjectDefinitionName(request.getBusinessObjectDefinitionName()); businessObjectDataAvailability.setBusinessObjectFormatUsage(request.getBusinessObjectFormatUsage()); businessObjectDataAvailability.setBusinessObjectFormatFileType(request.getBusinessObjectFormatFileType()); businessObjectDataAvailability.setBusinessObjectFormatVersion(request.getBusinessObjectFormatVersion()); businessObjectDataAvailability.setPartitionValueFilters(request.getPartitionValueFilters()); businessObjectDataAvailability.setPartitionValueFilter(request.getPartitionValueFilter()); businessObjectDataAvailability.setBusinessObjectDataVersion(request.getBusinessObjectDataVersion()); businessObjectDataAvailability.setStorageNames(request.getStorageNames()); businessObjectDataAvailability.setStorageName(request.getStorageName()); return businessObjectDataAvailability; }
/** * Gets business object format key from the business object data availability request. * * @param request the business object data availability request * * @return the business object format key */ private BusinessObjectFormatKey getBusinessObjectFormatKey(BusinessObjectDataAvailabilityRequest request) { return new BusinessObjectFormatKey(request.getNamespace(), request.getBusinessObjectDefinitionName(), request.getBusinessObjectFormatUsage(), request.getBusinessObjectFormatFileType(), request.getBusinessObjectFormatVersion()); }
/** * Gets storage names from the business object data availability request. * * @param request the business object data availability request * * @return the list of storage names */ private List<String> getStorageNames(BusinessObjectDataAvailabilityRequest request) { List<String> storageNames = new ArrayList<>(); if (StringUtils.isNotBlank(request.getStorageName())) { storageNames.add(request.getStorageName()); } if (!CollectionUtils.isEmpty(request.getStorageNames())) { storageNames.addAll(request.getStorageNames()); } return storageNames; }
Assert.hasText(request.getNamespace(), "A namespace must be specified."); request.setNamespace(request.getNamespace().trim()); Assert.hasText(request.getBusinessObjectDefinitionName(), "A business object definition name must be specified."); request.setBusinessObjectDefinitionName(request.getBusinessObjectDefinitionName().trim()); Assert.hasText(request.getBusinessObjectFormatUsage(), "A business object format usage must be specified."); request.setBusinessObjectFormatUsage(request.getBusinessObjectFormatUsage().trim()); Assert.hasText(request.getBusinessObjectFormatFileType(), "A business object format file type must be specified."); request.setBusinessObjectFormatFileType(request.getBusinessObjectFormatFileType().trim()); businessObjectDataHelper.validatePartitionValueFilters(request.getPartitionValueFilters(), request.getPartitionValueFilter(), true); Assert.isTrue(request.getStorageNames() == null || request.getStorageName() == null, "A list of storage names and a standalone storage name cannot be both specified."); if (request.getStorageName() != null) Assert.hasText(request.getStorageName(), "A storage name must be specified."); request.setStorageName(request.getStorageName().trim()); if (!CollectionUtils.isEmpty(request.getStorageNames())) for (int i = 0; i < request.getStorageNames().size(); i++) Assert.hasText(request.getStorageNames().get(i), "A storage name must be specified."); request.getStorageNames().set(i, request.getStorageNames().get(i).trim());
public Object copyTo(ObjectLocator locator, Object target, CopyStrategy2 strategy) { final Object draftCopy = ((target == null)?createNewInstance():target); if (draftCopy instanceof BusinessObjectDataAvailabilityRequest) { final BusinessObjectDataAvailabilityRequest copy = ((BusinessObjectDataAvailabilityRequest) draftCopy); if (namespaceShouldBeCopiedAndSet == Boolean.TRUE) { String sourceNamespace; sourceNamespace = this.getNamespace(); String copyNamespace = ((String) strategy.copy(LocatorUtils.property(locator, "namespace", sourceNamespace), sourceNamespace, (this.namespace!= null))); copy.setNamespace(copyNamespace); } else { if (namespaceShouldBeCopiedAndSet == Boolean.FALSE) { if (businessObjectDefinitionNameShouldBeCopiedAndSet == Boolean.TRUE) { String sourceBusinessObjectDefinitionName; sourceBusinessObjectDefinitionName = this.getBusinessObjectDefinitionName(); String copyBusinessObjectDefinitionName = ((String) strategy.copy(LocatorUtils.property(locator, "businessObjectDefinitionName", sourceBusinessObjectDefinitionName), sourceBusinessObjectDefinitionName, (this.businessObjectDefinitionName!= null))); copy.setBusinessObjectDefinitionName(copyBusinessObjectDefinitionName); } else { if (businessObjectDefinitionNameShouldBeCopiedAndSet == Boolean.FALSE) { if (businessObjectFormatUsageShouldBeCopiedAndSet == Boolean.TRUE) { String sourceBusinessObjectFormatUsage; sourceBusinessObjectFormatUsage = this.getBusinessObjectFormatUsage(); String copyBusinessObjectFormatUsage = ((String) strategy.copy(LocatorUtils.property(locator, "businessObjectFormatUsage", sourceBusinessObjectFormatUsage), sourceBusinessObjectFormatUsage, (this.businessObjectFormatUsage!= null))); copy.setBusinessObjectFormatUsage(copyBusinessObjectFormatUsage); } else { if (businessObjectFormatUsageShouldBeCopiedAndSet == Boolean.FALSE) { if (businessObjectFormatFileTypeShouldBeCopiedAndSet == Boolean.TRUE) {
@Test public void testCheckBusinessObjectDataAvailabilityUpperCaseParameters() { // Prepare test data and execute the check business object data availability request // with all parameter values in upper case (except for case-sensitive partition values). businessObjectDataAvailabilityTestHelper.createDatabaseEntitiesForBusinessObjectDataAvailabilityTesting(null); BusinessObjectDataAvailabilityRequest request = businessObjectDataServiceTestHelper.getTestBusinessObjectDataAvailabilityRequest(UNSORTED_PARTITION_VALUES); request.setBusinessObjectDefinitionName(request.getBusinessObjectDefinitionName().toUpperCase()); request.setBusinessObjectFormatUsage(request.getBusinessObjectFormatUsage().toUpperCase()); request.setBusinessObjectFormatFileType(request.getBusinessObjectFormatFileType().toUpperCase()); request.getPartitionValueFilters().get(0).setPartitionKey(request.getPartitionValueFilters().get(0).getPartitionKey().toUpperCase()); request.setStorageName(request.getStorageName().toUpperCase()); BusinessObjectDataAvailability resultAvailability = businessObjectDataService.checkBusinessObjectDataAvailability(request); // Validate the results. List<BusinessObjectDataStatus> expectedAvailableStatuses = businessObjectDataServiceTestHelper .getTestBusinessObjectDataStatuses(FORMAT_VERSION, BusinessObjectDataEntity.FIRST_PARTITION_COLUMN_POSITION, STORAGE_1_AVAILABLE_PARTITION_VALUES, NO_SUBPARTITION_VALUES, DATA_VERSION, BusinessObjectDataStatusEntity.VALID, false); List<BusinessObjectDataStatus> expectedNotAvailableStatuses = businessObjectDataServiceTestHelper .getTestBusinessObjectDataStatuses(FORMAT_VERSION, BusinessObjectDataEntity.FIRST_PARTITION_COLUMN_POSITION, STORAGE_1_NOT_AVAILABLE_PARTITION_VALUES, null, DATA_VERSION, BusinessObjectDataServiceImpl.REASON_NOT_REGISTERED, false); businessObjectDataServiceTestHelper .validateBusinessObjectDataAvailability(request, expectedAvailableStatuses, expectedNotAvailableStatuses, resultAvailability); }
request.setBusinessObjectDefinitionName("I_DO_NOT_EXIST"); try .getExpectedBusinessObjectFormatNotFoundErrorMessage(request.getNamespace(), request.getBusinessObjectDefinitionName(), request.getBusinessObjectFormatUsage(), request.getBusinessObjectFormatFileType(), request.getBusinessObjectFormatVersion()), e.getMessage()); request.getPartitionValueFilters().get(0).setPartitionKey("I_DO_NOT_EXIST"); try "businessObjectFormatVersion: %d}.", request.getPartitionValueFilters().get(0).getPartitionKey(), BusinessObjectDataEntity.MAX_SUBPARTITIONS + 1, request.getNamespace(), request.getBusinessObjectDefinitionName(), request.getBusinessObjectFormatUsage(), request.getBusinessObjectFormatFileType(), request.getBusinessObjectFormatVersion()), e.getMessage()); request.setPartitionValueFilter( new PartitionValueFilter(FIRST_PARTITION_COLUMN_NAME.toUpperCase(), new ArrayList<>(UNSORTED_PARTITION_VALUES), NO_PARTITION_VALUE_RANGE, NO_LATEST_BEFORE_PARTITION_VALUE, NO_LATEST_AFTER_PARTITION_VALUE)); request = new BusinessObjectDataAvailabilityRequest(NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, FORMAT_VERSION, Arrays.asList(partitionValueFilter), NO_STANDALONE_PARTITION_VALUE_FILTER, DATA_VERSION, NO_STORAGE_NAMES, STORAGE_NAME, NO_INCLUDE_ALL_REGISTERED_SUBPARTITIONS); request.setStorageName(BLANK_TEXT); request.setStorageNames(STORAGE_NAMES); try request.setStorageName("I_DO_NOT_EXIST"); try
String endPartitionValue, List<String> partitionValues) BusinessObjectDataAvailabilityRequest request = new BusinessObjectDataAvailabilityRequest(); request.setNamespace(AbstractServiceTest.NAMESPACE); request.setBusinessObjectDefinitionName(AbstractServiceTest.BDEF_NAME); request.setBusinessObjectFormatUsage(AbstractServiceTest.FORMAT_USAGE_CODE); request.setBusinessObjectFormatFileType(AbstractServiceTest.FORMAT_FILE_TYPE_CODE); request.setBusinessObjectFormatVersion(AbstractServiceTest.FORMAT_VERSION); request.setPartitionValueFilters(Arrays.asList(partitionValueFilter)); partitionValueFilter.setPartitionKey(partitionKey); request.setBusinessObjectDataVersion(AbstractServiceTest.DATA_VERSION); request.setStorageName(AbstractServiceTest.STORAGE_NAME); request.setIncludeAllRegisteredSubPartitions(AbstractServiceTest.NO_INCLUDE_ALL_REGISTERED_SUBPARTITIONS);
BusinessObjectDataAvailabilityRequest request = new BusinessObjectDataAvailabilityRequest(); request.setNamespace(activitiHelper.getExpressionVariableAsString(namespace, execution)); request.setBusinessObjectDefinitionName(activitiHelper.getExpressionVariableAsString(businessObjectDefinitionName, execution)); request.setBusinessObjectFormatUsage(activitiHelper.getExpressionVariableAsString(businessObjectFormatUsage, execution)); request.setBusinessObjectFormatFileType(activitiHelper.getExpressionVariableAsString(businessObjectFormatFileType, execution)); request.setBusinessObjectFormatVersion( activitiHelper.getExpressionVariableAsInteger(businessObjectFormatVersion, execution, "BusinessObjectFormatVersion", false)); request.setPartitionValueFilter(partitionValueFilter); request.setBusinessObjectDataVersion( activitiHelper.getExpressionVariableAsInteger(businessObjectDataVersion, execution, "BusinessObjectDataVersion", false)); request.setStorageName(activitiHelper.getExpressionVariableAsString(storageName, execution));
@Test public void testCheckBusinessObjectDataAvailabilityMissingOptionalParametersStandalonePartitionValueFilter() { // Prepare test data and execute the check business object data availability request // with a standalone partition value filter and without optional parameters. businessObjectDataAvailabilityTestHelper .createDatabaseEntitiesForBusinessObjectDataAvailabilityTesting(null, schemaColumnDaoTestHelper.getTestSchemaColumns(), schemaColumnDaoTestHelper.getTestPartitionColumns(), BusinessObjectDataEntity.FIRST_PARTITION_COLUMN_POSITION, NO_SUBPARTITION_VALUES, NO_ALLOW_DUPLICATE_BUSINESS_OBJECT_DATA); BusinessObjectDataAvailabilityRequest request = businessObjectDataServiceTestHelper.getTestBusinessObjectDataAvailabilityRequest(UNSORTED_PARTITION_VALUES); request.setPartitionValueFilter(request.getPartitionValueFilters().get(0)); request.setPartitionValueFilters(null); request.setBusinessObjectFormatVersion(null); request.getPartitionValueFilter().setPartitionKey(BLANK_TEXT); request.setBusinessObjectDataVersion(null); request.setStorageName(null); request.setIncludeAllRegisteredSubPartitions(null); BusinessObjectDataAvailability resultAvailability = businessObjectDataService.checkBusinessObjectDataAvailability(request); // Validate the results. List<BusinessObjectDataStatus> expectedAvailableStatuses = businessObjectDataServiceTestHelper .getTestBusinessObjectDataStatuses(FORMAT_VERSION, BusinessObjectDataEntity.FIRST_PARTITION_COLUMN_POSITION, MULTI_STORAGE_AVAILABLE_PARTITION_VALUES_UNION, NO_SUBPARTITION_VALUES, DATA_VERSION, BusinessObjectDataStatusEntity.VALID, false); List<BusinessObjectDataStatus> expectedNotAvailableStatuses = businessObjectDataServiceTestHelper .getTestBusinessObjectDataStatuses(null, BusinessObjectDataEntity.FIRST_PARTITION_COLUMN_POSITION, MULTI_STORAGE_NOT_AVAILABLE_PARTITION_VALUES, null, null, BusinessObjectDataServiceImpl.REASON_NOT_REGISTERED, true); businessObjectDataServiceTestHelper .validateBusinessObjectDataAvailability(request, expectedAvailableStatuses, expectedNotAvailableStatuses, resultAvailability); }
request.setBusinessObjectDefinitionName(BLANK_TEXT); try request.setBusinessObjectFormatUsage(BLANK_TEXT); try request.setBusinessObjectFormatFileType(BLANK_TEXT); try request.getPartitionValueFilters().get(0).setPartitionKey(BLANK_TEXT); try request.getPartitionValueFilters().get(0).getPartitionValues().add(BLANK_TEXT); try request.getPartitionValueFilters().get(0).setLatestBeforePartitionValue(new LatestBeforePartitionValue(partitionValue)); try request.getPartitionValueFilters().get(0).setLatestAfterPartitionValue(new LatestAfterPartitionValue(partitionValue)); try request.setStorageName(BLANK_TEXT); try request.setStorageName(null); request.setStorageNames(Arrays.asList(BLANK_TEXT)); try
@Test public void testCheckBusinessObjectDataAvailabilityPartitionValueListPartitionValueTokensMissingOptionalParameters() { // Prepare test data. businessObjectDataAvailabilityTestHelper .createDatabaseEntitiesForBusinessObjectDataAvailabilityTesting(NO_PARTITION_KEY_GROUP, schemaColumnDaoTestHelper.getTestSchemaColumns(), schemaColumnDaoTestHelper.getTestPartitionColumns(), BusinessObjectDataEntity.FIRST_PARTITION_COLUMN_POSITION, NO_SUBPARTITION_VALUES, NO_ALLOW_DUPLICATE_BUSINESS_OBJECT_DATA); // Check business object data availability using multiple maximum and minimum partition value tokens along with other partition values. BusinessObjectDataAvailabilityRequest request = businessObjectDataServiceTestHelper.getTestBusinessObjectDataAvailabilityRequest(UNSORTED_PARTITION_VALUES); request.getPartitionValueFilters().get(0).getPartitionValues().add(BusinessObjectDataService.MAX_PARTITION_VALUE_TOKEN); request.getPartitionValueFilters().get(0).getPartitionValues().add(BusinessObjectDataService.MIN_PARTITION_VALUE_TOKEN); request.getPartitionValueFilters().get(0).getPartitionValues().add(BusinessObjectDataService.MAX_PARTITION_VALUE_TOKEN); request.getPartitionValueFilters().get(0).getPartitionValues().add(BusinessObjectDataService.MIN_PARTITION_VALUE_TOKEN); request.setBusinessObjectFormatVersion(null); request.setBusinessObjectDataVersion(null); request.setStorageNames(NO_STORAGE_NAMES); request.setStorageName(NO_STORAGE_NAME); BusinessObjectDataAvailability resultBusinessObjectDataAvailability = businessObjectDataService.checkBusinessObjectDataAvailability(request); // Validate the response object. assertEquals(new BusinessObjectDataAvailability(NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, NO_FORMAT_VERSION, request.getPartitionValueFilters(), NO_STANDALONE_PARTITION_VALUE_FILTER, NO_DATA_VERSION, NO_STORAGE_NAMES, NO_STORAGE_NAME, businessObjectDataServiceTestHelper.getTestBusinessObjectDataStatuses(FORMAT_VERSION, BusinessObjectDataEntity.FIRST_PARTITION_COLUMN_POSITION, MULTI_STORAGE_AVAILABLE_PARTITION_VALUES_UNION, NO_SUBPARTITION_VALUES, DATA_VERSION, BusinessObjectDataStatusEntity.VALID, false), businessObjectDataServiceTestHelper.getTestBusinessObjectDataStatuses(NO_FORMAT_VERSION, BusinessObjectDataEntity.FIRST_PARTITION_COLUMN_POSITION, MULTI_STORAGE_NOT_AVAILABLE_PARTITION_VALUES, null, NO_DATA_VERSION, BusinessObjectDataServiceImpl.REASON_NOT_REGISTERED, false)), resultBusinessObjectDataAvailability); }
.buildPartitionFilters(request.getPartitionValueFilters(), request.getPartitionValueFilter(), businessObjectFormatKey, request.getBusinessObjectDataVersion(), storageNames, null, null, businessObjectFormatEntity); .getStorageUnitsByPartitionFiltersAndStorages(businessObjectFormatKey, partitionFilters, request.getBusinessObjectDataVersion(), BusinessObjectDataStatusEntity.VALID, storageNames, null, null, true); request.getBusinessObjectDataVersion() == null && BooleanUtils.isTrue(request.isIncludeAllRegisteredSubPartitions()); .getStorageUnitsByPartitionFiltersAndStorages(businessObjectFormatKey, unmatchedPartitionFilters, request.getBusinessObjectDataVersion(), null, storageNames, null, null, false);
@Test public void testCheckBusinessObjectDataAvailabilityFilterOnSubPartitionValuesStandalonePartitionValueFilter() { List<SchemaColumn> columns = schemaColumnDaoTestHelper.getTestSchemaColumns(); List<SchemaColumn> partitionColumns = schemaColumnDaoTestHelper.getTestPartitionColumns(); // Test data availability using primary partition and each of the available subpartition columns. for (int i = 0; i < Math.min(BusinessObjectDataEntity.MAX_SUBPARTITIONS + 1, PARTITION_COLUMNS.length); i++) { // Prepare test data and execute the check business object data availability request. businessObjectDataAvailabilityTestHelper .createDatabaseEntitiesForBusinessObjectDataAvailabilityTesting(null, columns, partitionColumns, i + 1, SUBPARTITION_VALUES, ALLOW_DUPLICATE_BUSINESS_OBJECT_DATA); BusinessObjectDataAvailabilityRequest request = businessObjectDataServiceTestHelper.getTestBusinessObjectDataAvailabilityRequest(UNSORTED_PARTITION_VALUES); request.setPartitionValueFilter(request.getPartitionValueFilters().get(0)); request.setPartitionValueFilters(null); request.getPartitionValueFilter().setPartitionKey(partitionColumns.get(i).getName()); BusinessObjectDataAvailability resultAvailability = businessObjectDataService.checkBusinessObjectDataAvailability(request); // Validate the results. List<BusinessObjectDataStatus> expectedAvailableStatuses = businessObjectDataServiceTestHelper .getTestBusinessObjectDataStatuses(FORMAT_VERSION, i + 1, STORAGE_1_AVAILABLE_PARTITION_VALUES, SUBPARTITION_VALUES, DATA_VERSION, BusinessObjectDataStatusEntity.VALID, false); List<BusinessObjectDataStatus> expectedNotAvailableStatuses = businessObjectDataServiceTestHelper .getTestBusinessObjectDataStatuses(FORMAT_VERSION, i + 1, STORAGE_1_NOT_AVAILABLE_PARTITION_VALUES, null, DATA_VERSION, BusinessObjectDataServiceImpl.REASON_NOT_REGISTERED, true); businessObjectDataServiceTestHelper .validateBusinessObjectDataAvailability(request, expectedAvailableStatuses, expectedNotAvailableStatuses, resultAvailability); } }
businessObjectDataStatus.setBusinessObjectFormatVersion(businessObjectDataAvailabilityRequest.getBusinessObjectFormatVersion()); if (businessObjectDataAvailabilityRequest.getPartitionValueFilters() != null) businessObjectDataStatus.setBusinessObjectDataVersion(businessObjectDataAvailabilityRequest.getBusinessObjectDataVersion()); businessObjectDataStatus.setReason(reason);
@Test public void testCheckBusinessObjectDataAvailabilityPartitionValueListStandalonePartitionValueFilter() { // Prepare test data and execute the check business object data availability request with a standalone partition value filter. businessObjectDataAvailabilityTestHelper.createDatabaseEntitiesForBusinessObjectDataAvailabilityTesting(null); BusinessObjectDataAvailabilityRequest request = businessObjectDataServiceTestHelper.getTestBusinessObjectDataAvailabilityRequest(UNSORTED_PARTITION_VALUES); request.setPartitionValueFilter(request.getPartitionValueFilters().get(0)); request.setPartitionValueFilters(null); BusinessObjectDataAvailability resultAvailability = businessObjectDataService.checkBusinessObjectDataAvailability(request); // Validate the results. List<BusinessObjectDataStatus> expectedAvailableStatuses = businessObjectDataServiceTestHelper .getTestBusinessObjectDataStatuses(FORMAT_VERSION, BusinessObjectDataEntity.FIRST_PARTITION_COLUMN_POSITION, STORAGE_1_AVAILABLE_PARTITION_VALUES, NO_SUBPARTITION_VALUES, DATA_VERSION, BusinessObjectDataStatusEntity.VALID, false); List<BusinessObjectDataStatus> expectedNotAvailableStatuses = businessObjectDataServiceTestHelper .getTestBusinessObjectDataStatuses(FORMAT_VERSION, BusinessObjectDataEntity.FIRST_PARTITION_COLUMN_POSITION, STORAGE_1_NOT_AVAILABLE_PARTITION_VALUES, null, DATA_VERSION, BusinessObjectDataServiceImpl.REASON_NOT_REGISTERED, true); businessObjectDataServiceTestHelper .validateBusinessObjectDataAvailability(request, expectedAvailableStatuses, expectedNotAvailableStatuses, resultAvailability); }
@Test public void testCheckBusinessObjectDataAvailabilityFilterOnSubPartitionValues() { List<SchemaColumn> columns = schemaColumnDaoTestHelper.getTestSchemaColumns(); List<SchemaColumn> partitionColumns = schemaColumnDaoTestHelper.getTestPartitionColumns(); // Test data availability using primary partition and each of the available subpartition columns. for (int i = 0; i < Math.min(BusinessObjectDataEntity.MAX_SUBPARTITIONS + 1, PARTITION_COLUMNS.length); i++) { // Prepare test data and execute the check business object data availability request. businessObjectDataAvailabilityTestHelper .createDatabaseEntitiesForBusinessObjectDataAvailabilityTesting(null, columns, partitionColumns, i + 1, SUBPARTITION_VALUES, ALLOW_DUPLICATE_BUSINESS_OBJECT_DATA); BusinessObjectDataAvailabilityRequest request = businessObjectDataServiceTestHelper.getTestBusinessObjectDataAvailabilityRequest(UNSORTED_PARTITION_VALUES); request.getPartitionValueFilters().get(0).setPartitionKey(partitionColumns.get(i).getName()); BusinessObjectDataAvailability resultAvailability = businessObjectDataService.checkBusinessObjectDataAvailability(request); // Validate the results. List<BusinessObjectDataStatus> expectedAvailableStatuses = businessObjectDataServiceTestHelper .getTestBusinessObjectDataStatuses(FORMAT_VERSION, i + 1, STORAGE_1_AVAILABLE_PARTITION_VALUES, SUBPARTITION_VALUES, DATA_VERSION, BusinessObjectDataStatusEntity.VALID, false); List<BusinessObjectDataStatus> expectedNotAvailableStatuses = businessObjectDataServiceTestHelper .getTestBusinessObjectDataStatuses(FORMAT_VERSION, i + 1, STORAGE_1_NOT_AVAILABLE_PARTITION_VALUES, null, DATA_VERSION, BusinessObjectDataServiceImpl.REASON_NOT_REGISTERED, false); businessObjectDataServiceTestHelper .validateBusinessObjectDataAvailability(request, expectedAvailableStatuses, expectedNotAvailableStatuses, resultAvailability); } }
public Object copyTo(ObjectLocator locator, Object target, CopyStrategy2 strategy) { final Object draftCopy = ((target == null)?createNewInstance():target); if (draftCopy instanceof BusinessObjectDataAvailabilityRequest) { final BusinessObjectDataAvailabilityRequest copy = ((BusinessObjectDataAvailabilityRequest) draftCopy); if (namespaceShouldBeCopiedAndSet == Boolean.TRUE) { String sourceNamespace; sourceNamespace = this.getNamespace(); String copyNamespace = ((String) strategy.copy(LocatorUtils.property(locator, "namespace", sourceNamespace), sourceNamespace, (this.namespace!= null))); copy.setNamespace(copyNamespace); } else { if (namespaceShouldBeCopiedAndSet == Boolean.FALSE) { if (businessObjectDefinitionNameShouldBeCopiedAndSet == Boolean.TRUE) { String sourceBusinessObjectDefinitionName; sourceBusinessObjectDefinitionName = this.getBusinessObjectDefinitionName(); String copyBusinessObjectDefinitionName = ((String) strategy.copy(LocatorUtils.property(locator, "businessObjectDefinitionName", sourceBusinessObjectDefinitionName), sourceBusinessObjectDefinitionName, (this.businessObjectDefinitionName!= null))); copy.setBusinessObjectDefinitionName(copyBusinessObjectDefinitionName); } else { if (businessObjectDefinitionNameShouldBeCopiedAndSet == Boolean.FALSE) { if (businessObjectFormatUsageShouldBeCopiedAndSet == Boolean.TRUE) { String sourceBusinessObjectFormatUsage; sourceBusinessObjectFormatUsage = this.getBusinessObjectFormatUsage(); String copyBusinessObjectFormatUsage = ((String) strategy.copy(LocatorUtils.property(locator, "businessObjectFormatUsage", sourceBusinessObjectFormatUsage), sourceBusinessObjectFormatUsage, (this.businessObjectFormatUsage!= null))); copy.setBusinessObjectFormatUsage(copyBusinessObjectFormatUsage); } else { if (businessObjectFormatUsageShouldBeCopiedAndSet == Boolean.FALSE) { if (businessObjectFormatFileTypeShouldBeCopiedAndSet == Boolean.TRUE) {
Assert.hasText(request.getNamespace(), "A namespace must be specified."); request.setNamespace(request.getNamespace().trim()); Assert.hasText(request.getBusinessObjectDefinitionName(), "A business object definition name must be specified."); request.setBusinessObjectDefinitionName(request.getBusinessObjectDefinitionName().trim()); Assert.hasText(request.getBusinessObjectFormatUsage(), "A business object format usage must be specified."); request.setBusinessObjectFormatUsage(request.getBusinessObjectFormatUsage().trim()); Assert.hasText(request.getBusinessObjectFormatFileType(), "A business object format file type must be specified."); request.setBusinessObjectFormatFileType(request.getBusinessObjectFormatFileType().trim()); businessObjectDataHelper.validatePartitionValueFilters(request.getPartitionValueFilters(), request.getPartitionValueFilter(), true); Assert.isTrue(request.getStorageNames() == null || request.getStorageName() == null, "A list of storage names and a standalone storage name cannot be both specified."); if (request.getStorageName() != null) Assert.hasText(request.getStorageName(), "A storage name must be specified."); request.setStorageName(request.getStorageName().trim()); if (!CollectionUtils.isEmpty(request.getStorageNames())) for (int i = 0; i < request.getStorageNames().size(); i++) Assert.hasText(request.getStorageNames().get(i), "A storage name must be specified."); request.getStorageNames().set(i, request.getStorageNames().get(i).trim());