/** * Returns a list of primary and sub-partition values per specified business object data. * * @param businessObjectDataKey the business object data key * * @return the list of primary and sub-partition values */ public List<String> getPrimaryAndSubPartitionValues(BusinessObjectDataKey businessObjectDataKey) { List<String> partitionValues = new ArrayList<>(); partitionValues.add(businessObjectDataKey.getPartitionValue()); partitionValues.addAll(businessObjectDataKey.getSubPartitionValues()); return partitionValues; }
/** * Returns a list of primary and sub-partition values per specified business object data. * * @param businessObjectDataKey the business object data key * * @return the list of primary and sub-partition values */ public List<String> getPrimaryAndSubPartitionValues(BusinessObjectDataKey businessObjectDataKey) { List<String> partitionValues = new ArrayList<>(); partitionValues.add(businessObjectDataKey.getPartitionValue()); partitionValues.addAll(businessObjectDataKey.getSubPartitionValues()); return partitionValues; }
/** * Returns a partition filter that the specified business object data key would match to. The filter is build as per specified sample partition filter. * * @param businessObjectDataKey the business object data key * @param samplePartitionFilter the sample partition filter * * @return the partition filter */ public List<String> getPartitionFilter(BusinessObjectDataKey businessObjectDataKey, List<String> samplePartitionFilter) { List<String> resultPartitionFilter = new ArrayList<>(); resultPartitionFilter.add(samplePartitionFilter.get(0) != null ? businessObjectDataKey.getPartitionValue() : null); for (int i = 0; i < BusinessObjectDataEntity.MAX_SUBPARTITIONS; i++) { resultPartitionFilter.add(samplePartitionFilter.get(i + 1) != null ? businessObjectDataKey.getSubPartitionValues().get(i) : null); } return resultPartitionFilter; }
/** * Returns a partition filter that the specified business object data key would match to. The filter is build as per specified sample partition filter. * * @param businessObjectDataKey the business object data key * @param samplePartitionFilter the sample partition filter * * @return the partition filter */ public List<String> getPartitionFilter(BusinessObjectDataKey businessObjectDataKey, List<String> samplePartitionFilter) { List<String> resultPartitionFilter = new ArrayList<>(); resultPartitionFilter.add(samplePartitionFilter.get(0) != null ? businessObjectDataKey.getPartitionValue() : null); for (int i = 0; i < BusinessObjectDataEntity.MAX_SUBPARTITIONS; i++) { resultPartitionFilter.add(samplePartitionFilter.get(i + 1) != null ? businessObjectDataKey.getSubPartitionValues().get(i) : null); } return resultPartitionFilter; }
/** * TODO This method may be bdata specific. Consider creating new abstract class to group all bdata related DAO. Builds a query restriction predicate for the * specified business object data entity as per primary and sub-partition values in the business object data key. * * @param builder the criteria builder * @param businessObjectDataEntity the business object data entity that appears in the from clause * @param businessObjectDataKey the business object data key * * @return the query restriction predicate */ protected Predicate getQueryRestrictionOnPartitionValues(CriteriaBuilder builder, From<?, BusinessObjectDataEntity> businessObjectDataEntity, BusinessObjectDataKey businessObjectDataKey) { return getQueryRestrictionOnPartitionValues(builder, businessObjectDataEntity, businessObjectDataKey.getPartitionValue(), businessObjectDataKey.getSubPartitionValues()); }
/** * TODO This method may be bdata specific. Consider creating new abstract class to group all bdata related DAO. Builds a query restriction predicate for the * specified business object data entity as per primary and sub-partition values in the business object data key. * * @param builder the criteria builder * @param businessObjectDataEntity the business object data entity that appears in the from clause * @param businessObjectDataKey the business object data key * * @return the query restriction predicate */ protected Predicate getQueryRestrictionOnPartitionValues(CriteriaBuilder builder, From<?, BusinessObjectDataEntity> businessObjectDataEntity, BusinessObjectDataKey businessObjectDataKey) { return getQueryRestrictionOnPartitionValues(builder, businessObjectDataEntity, businessObjectDataKey.getPartitionValue(), businessObjectDataKey.getSubPartitionValues()); }
/** * Returns a cloned version of the specified business object data key where all fields are made lowercase. * * @param businessObjectDataKey the business object data. * * @return the cloned business object data. */ private BusinessObjectDataKey cloneToLowerCase(BusinessObjectDataKey businessObjectDataKey) { BusinessObjectDataKey businessObjectDataKeyClone = new BusinessObjectDataKey(); businessObjectDataKeyClone.setNamespace(businessObjectDataKey.getNamespace().toLowerCase()); businessObjectDataKeyClone.setBusinessObjectDefinitionName(businessObjectDataKey.getBusinessObjectDefinitionName().toLowerCase()); businessObjectDataKeyClone.setBusinessObjectFormatUsage(businessObjectDataKey.getBusinessObjectFormatUsage().toLowerCase()); businessObjectDataKeyClone.setBusinessObjectFormatFileType(businessObjectDataKey.getBusinessObjectFormatFileType().toLowerCase()); businessObjectDataKeyClone.setBusinessObjectFormatVersion(businessObjectDataKey.getBusinessObjectFormatVersion()); businessObjectDataKeyClone.setPartitionValue(businessObjectDataKey.getPartitionValue()); businessObjectDataKeyClone.setBusinessObjectDataVersion(businessObjectDataKey.getBusinessObjectDataVersion()); businessObjectDataKeyClone.setSubPartitionValues(businessObjectDataKey.getSubPartitionValues()); return businessObjectDataKeyClone; }
/** * Returns a cloned version of the specified business object data key where all fields are made lowercase. * * @param businessObjectDataKey the business object data. * * @return the cloned business object data. */ private BusinessObjectDataKey cloneToLowerCase(BusinessObjectDataKey businessObjectDataKey) { BusinessObjectDataKey businessObjectDataKeyClone = new BusinessObjectDataKey(); businessObjectDataKeyClone.setNamespace(businessObjectDataKey.getNamespace().toLowerCase()); businessObjectDataKeyClone.setBusinessObjectDefinitionName(businessObjectDataKey.getBusinessObjectDefinitionName().toLowerCase()); businessObjectDataKeyClone.setBusinessObjectFormatUsage(businessObjectDataKey.getBusinessObjectFormatUsage().toLowerCase()); businessObjectDataKeyClone.setBusinessObjectFormatFileType(businessObjectDataKey.getBusinessObjectFormatFileType().toLowerCase()); businessObjectDataKeyClone.setBusinessObjectFormatVersion(businessObjectDataKey.getBusinessObjectFormatVersion()); businessObjectDataKeyClone.setPartitionValue(businessObjectDataKey.getPartitionValue()); businessObjectDataKeyClone.setBusinessObjectDataVersion(businessObjectDataKey.getBusinessObjectDataVersion()); businessObjectDataKeyClone.setSubPartitionValues(businessObjectDataKey.getSubPartitionValues()); return businessObjectDataKeyClone; }
/** * Returns S3 key prefix constructed according to the S3 Naming Convention Wiki page. * * @param businessObjectDataKey the business object data key * @param dataProviderName the data provider name * @param partitionKey the format partition key * @param subPartitionKeys the list of subpartition keys for the business object data * * @return the S3 key prefix constructed according to the S3 Naming Convention */ public static String getExpectedS3KeyPrefix(BusinessObjectDataKey businessObjectDataKey, String dataProviderName, String partitionKey, SchemaColumn[] subPartitionKeys) { return getExpectedS3KeyPrefix(businessObjectDataKey.getNamespace(), dataProviderName, businessObjectDataKey.getBusinessObjectDefinitionName(), businessObjectDataKey.getBusinessObjectFormatUsage(), businessObjectDataKey.getBusinessObjectFormatFileType(), businessObjectDataKey.getBusinessObjectFormatVersion(), partitionKey, businessObjectDataKey.getPartitionValue(), subPartitionKeys, businessObjectDataKey.getSubPartitionValues().toArray(new String[businessObjectDataKey.getSubPartitionValues().size()]), businessObjectDataKey.getBusinessObjectDataVersion()); }
/** * Creates a storage unit key from a business object data key and a storage name. * * @param businessObjectDataKey the business object data key * @param storageName the storage name * * @return the storage unit key */ public BusinessObjectDataStorageUnitKey createStorageUnitKey(BusinessObjectDataKey businessObjectDataKey, String storageName) { return new BusinessObjectDataStorageUnitKey(businessObjectDataKey.getNamespace(), businessObjectDataKey.getBusinessObjectDefinitionName(), businessObjectDataKey.getBusinessObjectFormatUsage(), businessObjectDataKey.getBusinessObjectFormatFileType(), businessObjectDataKey.getBusinessObjectFormatVersion(), businessObjectDataKey.getPartitionValue(), businessObjectDataKey.getSubPartitionValues(), businessObjectDataKey.getBusinessObjectDataVersion(), storageName); }
/** * Creates a storage unit key from a business object data key and a storage name. * * @param businessObjectDataKey the business object data key * @param storageName the storage name * * @return the storage unit key */ public BusinessObjectDataStorageUnitKey createStorageUnitKey(BusinessObjectDataKey businessObjectDataKey, String storageName) { return new BusinessObjectDataStorageUnitKey(businessObjectDataKey.getNamespace(), businessObjectDataKey.getBusinessObjectDefinitionName(), businessObjectDataKey.getBusinessObjectFormatUsage(), businessObjectDataKey.getBusinessObjectFormatFileType(), businessObjectDataKey.getBusinessObjectFormatVersion(), businessObjectDataKey.getPartitionValue(), businessObjectDataKey.getSubPartitionValues(), businessObjectDataKey.getBusinessObjectDataVersion(), storageName); }
/** * Returns a business object data attribute key built per specified parameters. * * @param businessObjectDataKey the business object data key * @param businessObjectDataAttributeName the name of the business object data attribute * * @return the business object data attribute key */ public BusinessObjectDataAttributeKey getBusinessObjectDataAttributeKey(BusinessObjectDataKey businessObjectDataKey, String businessObjectDataAttributeName) { return new BusinessObjectDataAttributeKey(businessObjectDataKey.getNamespace(), businessObjectDataKey.getBusinessObjectDefinitionName(), businessObjectDataKey.getBusinessObjectFormatUsage(), businessObjectDataKey.getBusinessObjectFormatFileType(), businessObjectDataKey.getBusinessObjectFormatVersion(), businessObjectDataKey.getPartitionValue(), businessObjectDataKey.getSubPartitionValues(), businessObjectDataKey.getBusinessObjectDataVersion(), businessObjectDataAttributeName); }
/** * Creates a business object data storage unit key from business object data key and storage name. * * @param businessObjectDataKey the business object data key * @param storageName the storage name * * @return the storage unit key */ public BusinessObjectDataStorageUnitKey createBusinessObjectDataStorageUnitKey(BusinessObjectDataKey businessObjectDataKey, String storageName) { return new BusinessObjectDataStorageUnitKey(businessObjectDataKey.getNamespace(), businessObjectDataKey.getBusinessObjectDefinitionName(), businessObjectDataKey.getBusinessObjectFormatUsage(), businessObjectDataKey.getBusinessObjectFormatFileType(), businessObjectDataKey.getBusinessObjectFormatVersion(), businessObjectDataKey.getPartitionValue(), businessObjectDataKey.getSubPartitionValues(), businessObjectDataKey.getBusinessObjectDataVersion(), storageName); }
/** * Creates a business object data storage unit key from business object data key and storage name. * * @param businessObjectDataKey the business object data key * @param storageName the storage name * * @return the storage unit key */ public BusinessObjectDataStorageUnitKey createBusinessObjectDataStorageUnitKey(BusinessObjectDataKey businessObjectDataKey, String storageName) { return new BusinessObjectDataStorageUnitKey(businessObjectDataKey.getNamespace(), businessObjectDataKey.getBusinessObjectDefinitionName(), businessObjectDataKey.getBusinessObjectFormatUsage(), businessObjectDataKey.getBusinessObjectFormatFileType(), businessObjectDataKey.getBusinessObjectFormatVersion(), businessObjectDataKey.getPartitionValue(), businessObjectDataKey.getSubPartitionValues(), businessObjectDataKey.getBusinessObjectDataVersion(), storageName); }
/** * Returns a business object data attribute key built per specified parameters. * * @param businessObjectDataKey the business object data key * @param businessObjectDataAttributeName the name of the business object data attribute * * @return the business object data attribute key */ public BusinessObjectDataAttributeKey getBusinessObjectDataAttributeKey(BusinessObjectDataKey businessObjectDataKey, String businessObjectDataAttributeName) { return new BusinessObjectDataAttributeKey(businessObjectDataKey.getNamespace(), businessObjectDataKey.getBusinessObjectDefinitionName(), businessObjectDataKey.getBusinessObjectFormatUsage(), businessObjectDataKey.getBusinessObjectFormatFileType(), businessObjectDataKey.getBusinessObjectFormatVersion(), businessObjectDataKey.getPartitionValue(), businessObjectDataKey.getSubPartitionValues(), businessObjectDataKey.getBusinessObjectDataVersion(), businessObjectDataAttributeName); }
/** * Returns a string representation of the business object data key. * * @param businessObjectDataKey the business object data key * * @return the string representation of the business object data key */ public String businessObjectDataKeyToString(BusinessObjectDataKey businessObjectDataKey) { if (businessObjectDataKey == null) { return null; } return businessObjectDataKeyToString(businessObjectDataKey.getNamespace(), businessObjectDataKey.getBusinessObjectDefinitionName(), businessObjectDataKey.getBusinessObjectFormatUsage(), businessObjectDataKey.getBusinessObjectFormatFileType(), businessObjectDataKey.getBusinessObjectFormatVersion(), businessObjectDataKey.getPartitionValue(), businessObjectDataKey.getSubPartitionValues(), businessObjectDataKey.getBusinessObjectDataVersion()); }
/** * Returns a string representation of the business object data key. * * @param businessObjectDataKey the business object data key * * @return the string representation of the business object data key */ public String businessObjectDataKeyToString(BusinessObjectDataKey businessObjectDataKey) { if (businessObjectDataKey == null) { return null; } return businessObjectDataKeyToString(businessObjectDataKey.getNamespace(), businessObjectDataKey.getBusinessObjectDefinitionName(), businessObjectDataKey.getBusinessObjectFormatUsage(), businessObjectDataKey.getBusinessObjectFormatFileType(), businessObjectDataKey.getBusinessObjectFormatVersion(), businessObjectDataKey.getPartitionValue(), businessObjectDataKey.getSubPartitionValues(), businessObjectDataKey.getBusinessObjectDataVersion()); }
/** * Creates and persists a new business object data entity. * * @return the newly created business object data entity. */ public BusinessObjectDataEntity createBusinessObjectDataEntity(BusinessObjectDataKey businessObjectDataKey, Boolean businessObjectDataLatestVersion, String businessObjectDataStatusCode) { return createBusinessObjectDataEntity(businessObjectDataKey.getNamespace(), businessObjectDataKey.getBusinessObjectDefinitionName(), businessObjectDataKey.getBusinessObjectFormatUsage(), businessObjectDataKey.getBusinessObjectFormatFileType(), businessObjectDataKey.getBusinessObjectFormatVersion(), businessObjectDataKey.getPartitionValue(), businessObjectDataKey.getSubPartitionValues(), businessObjectDataKey.getBusinessObjectDataVersion(), businessObjectDataLatestVersion, businessObjectDataStatusCode); }
/** * Returns an expected string representation of the specified business object data key. * * @param businessObjectDataKey the business object data key * * @return the string representation of the specified business object data key */ public String getExpectedBusinessObjectDataKeyAsString(BusinessObjectDataKey businessObjectDataKey) { return getExpectedBusinessObjectDataKeyAsString(businessObjectDataKey.getNamespace(), businessObjectDataKey.getBusinessObjectDefinitionName(), businessObjectDataKey.getBusinessObjectFormatUsage(), businessObjectDataKey.getBusinessObjectFormatFileType(), businessObjectDataKey.getBusinessObjectFormatVersion(), businessObjectDataKey.getPartitionValue(), businessObjectDataKey.getSubPartitionValues(), businessObjectDataKey.getBusinessObjectDataVersion()); }
/** * Validates business object data against specified arguments. * * @param expectedBusinessObjectDataId the expected business object data ID * @param expectedBusinessObjectDataKey the expected business object data key * @param expectedLatestVersion the expected business * @param expectedStatusCode the expected business object data status code * @param actualBusinessObjectData the business object data availability object instance to be validated */ public void validateBusinessObjectData(Integer expectedBusinessObjectDataId, BusinessObjectDataKey expectedBusinessObjectDataKey, Boolean expectedLatestVersion, String expectedStatusCode, BusinessObjectData actualBusinessObjectData) { validateBusinessObjectData(expectedBusinessObjectDataId, expectedBusinessObjectDataKey.getNamespace(), expectedBusinessObjectDataKey.getBusinessObjectDefinitionName(), expectedBusinessObjectDataKey.getBusinessObjectFormatUsage(), expectedBusinessObjectDataKey.getBusinessObjectFormatFileType(), expectedBusinessObjectDataKey.getBusinessObjectFormatVersion(), expectedBusinessObjectDataKey.getPartitionValue(), expectedBusinessObjectDataKey.getSubPartitionValues(), expectedBusinessObjectDataKey.getBusinessObjectDataVersion(), expectedLatestVersion, expectedStatusCode, actualBusinessObjectData); }