for (BusinessObjectDataAttributeEntity attributeEntity : businessObjectDataEntity.getAttributes()) String mapKey = attributeEntity.getName().toLowerCase(); if (existingAttributeEntities.containsKey(mapKey)) if (!StringUtils.equals(attribute.getValue(), attributeEntity.getValue())) attributeEntity.setValue(attribute.getValue()); BusinessObjectDataAttributeEntity attributeEntity = new BusinessObjectDataAttributeEntity(); businessObjectDataEntity.getAttributes().add(attributeEntity); attributeEntity.setBusinessObjectData(businessObjectDataEntity); attributeEntity.setName(attribute.getName()); attributeEntity.setValue(attribute.getValue());
/** * Creates and returns a business object data attribute key from a specified business object data attribute entity. * * @param businessObjectDataAttributeEntity the business object data attribute entity * * @return the newly created business object data attribute key */ private BusinessObjectDataAttributeKey getBusinessObjectDataAttributeKey(BusinessObjectDataAttributeEntity businessObjectDataAttributeEntity) { return new BusinessObjectDataAttributeKey( businessObjectDataAttributeEntity.getBusinessObjectData().getBusinessObjectFormat().getBusinessObjectDefinition().getNamespace().getCode(), businessObjectDataAttributeEntity.getBusinessObjectData().getBusinessObjectFormat().getBusinessObjectDefinition().getName(), businessObjectDataAttributeEntity.getBusinessObjectData().getBusinessObjectFormat().getUsage(), businessObjectDataAttributeEntity.getBusinessObjectData().getBusinessObjectFormat().getFileType().getCode(), businessObjectDataAttributeEntity.getBusinessObjectData().getBusinessObjectFormat().getBusinessObjectFormatVersion(), businessObjectDataAttributeEntity.getBusinessObjectData().getPartitionValue(), businessObjectDataHelper.getSubPartitionValues(businessObjectDataAttributeEntity.getBusinessObjectData()), businessObjectDataAttributeEntity.getBusinessObjectData().getVersion(), businessObjectDataAttributeEntity.getName()); } }
@Test public void testGetBusinessObjectDataAttributeUpperCaseParameters() { // Create and persist a business object data attribute entity using lower case values. BusinessObjectDataAttributeEntity businessObjectDataAttributeEntity = businessObjectDataAttributeDaoTestHelper .createBusinessObjectDataAttributeEntity(NAMESPACE, BDEF_NAME.toLowerCase(), FORMAT_USAGE_CODE.toLowerCase(), FORMAT_FILE_TYPE_CODE.toLowerCase(), FORMAT_VERSION, PARTITION_VALUE.toLowerCase(), convertListToLowerCase(SUBPARTITION_VALUES), DATA_VERSION, ATTRIBUTE_NAME_1_MIXED_CASE.toLowerCase(), ATTRIBUTE_VALUE_1.toLowerCase()); // Get the business object data attribute using upper case input parameters (except for case-sensitive partition values). BusinessObjectDataAttribute resultBusinessObjectDataAttribute = businessObjectDataAttributeService.getBusinessObjectDataAttribute( new BusinessObjectDataAttributeKey(NAMESPACE, BDEF_NAME.toUpperCase(), FORMAT_USAGE_CODE.toUpperCase(), FORMAT_FILE_TYPE_CODE.toUpperCase(), FORMAT_VERSION, PARTITION_VALUE.toLowerCase(), convertListToLowerCase(SUBPARTITION_VALUES), DATA_VERSION, ATTRIBUTE_NAME_1_MIXED_CASE.toUpperCase())); // Validate the returned object. businessObjectDataAttributeServiceTestHelper .validateBusinessObjectDataAttribute(businessObjectDataAttributeEntity.getId(), NAMESPACE, BDEF_NAME.toLowerCase(), FORMAT_USAGE_CODE.toLowerCase(), FORMAT_FILE_TYPE_CODE.toLowerCase(), FORMAT_VERSION, PARTITION_VALUE.toLowerCase(), convertListToLowerCase(SUBPARTITION_VALUES), DATA_VERSION, ATTRIBUTE_NAME_1_MIXED_CASE.toLowerCase(), ATTRIBUTE_VALUE_1.toLowerCase(), resultBusinessObjectDataAttribute); }
/** * Creates a new business object data attribute entity from the business object data entity and the request information. * * @param businessObjectDataEntity the business object data entity * @param request the business object data attribute create request * * @return the newly created business object data attribute entity */ private BusinessObjectDataAttributeEntity createBusinessObjectDataAttributeEntity(BusinessObjectDataEntity businessObjectDataEntity, BusinessObjectDataAttributeCreateRequest request) { // Create a new entity. BusinessObjectDataAttributeEntity businessObjectDataAttributeEntity = new BusinessObjectDataAttributeEntity(); businessObjectDataAttributeEntity.setBusinessObjectData(businessObjectDataEntity); businessObjectDataAttributeEntity.setName(request.getBusinessObjectDataAttributeKey().getBusinessObjectDataAttributeName()); businessObjectDataAttributeEntity.setValue(request.getBusinessObjectDataAttributeValue()); return businessObjectDataAttributeEntity; }
BusinessObjectDataAttributeEntity businessObjectDataAttributeEntityA = new BusinessObjectDataAttributeEntity(); businessObjectDataAttributeEntityA.setName(ATTRIBUTE_NAME.toUpperCase()); businessObjectDataAttributeEntityA.setValue(ATTRIBUTE_VALUE); BusinessObjectDataAttributeEntity businessObjectDataAttributeEntityB = new BusinessObjectDataAttributeEntity(); businessObjectDataAttributeEntityB.setName(ATTRIBUTE_NAME.toLowerCase()); businessObjectDataAttributeEntityB.setValue(ATTRIBUTE_VALUE_2);
@Test public void testUpdateBusinessObjectDataAttributesAttributeAdded() { // Create a list of attributes. List<Attribute> attributes = Arrays.asList(new Attribute(ATTRIBUTE_NAME, ATTRIBUTE_VALUE)); // Create a business object data entity without attributes. BusinessObjectDataEntity businessObjectDataEntity = new BusinessObjectDataEntity(); businessObjectDataEntity.setAttributes(new ArrayList<>()); // Call the method under test. attributeDaoHelper.updateBusinessObjectDataAttributes(businessObjectDataEntity, attributes); // Verify the external calls. verifyNoMoreInteractionsHelper(); // Validate the results. assertEquals(1, CollectionUtils.size(businessObjectDataEntity.getAttributes())); BusinessObjectDataAttributeEntity businessObjectDataAttributeEntity = IterableUtils.get(businessObjectDataEntity.getAttributes(), 0); assertEquals(businessObjectDataEntity, businessObjectDataAttributeEntity.getBusinessObjectData()); assertEquals(ATTRIBUTE_NAME, businessObjectDataAttributeEntity.getName()); assertEquals(ATTRIBUTE_VALUE, businessObjectDataAttributeEntity.getValue()); }
BusinessObjectDataEntity businessObjectDataEntity = businessObjectDataAttributeEntity.getBusinessObjectData(); businessObjectDataEntity.getAttributes().remove(businessObjectDataAttributeEntity); businessObjectDataDao.saveAndRefresh(businessObjectDataEntity);
/** * Creates the business object data attribute from the persisted entity. * * @param businessObjectDataAttributeEntity the business object data attribute entity * * @return the business object data attribute */ private BusinessObjectDataAttribute createBusinessObjectDataAttributeFromEntity(BusinessObjectDataAttributeEntity businessObjectDataAttributeEntity) { // Create the business object data attribute. BusinessObjectDataAttribute businessObjectDataAttribute = new BusinessObjectDataAttribute(); businessObjectDataAttribute.setId(businessObjectDataAttributeEntity.getId()); businessObjectDataAttribute.setBusinessObjectDataAttributeKey(getBusinessObjectDataAttributeKey(businessObjectDataAttributeEntity)); businessObjectDataAttribute.setBusinessObjectDataAttributeValue(businessObjectDataAttributeEntity.getValue()); return businessObjectDataAttribute; }
/** * Creates a map that maps business object data attribute names in lowercase to the relative business object data attribute entities. * * @param businessObjectDataAttributeEntities the collection of business object data attribute entities to be loaded into the map * * @return the map that maps business object data attribute names in lowercase to the relative business object data attribute entities */ public Map<String, BusinessObjectDataAttributeEntity> getBusinessObjectDataAttributeEntityMap( Collection<BusinessObjectDataAttributeEntity> businessObjectDataAttributeEntities) { Map<String, BusinessObjectDataAttributeEntity> businessObjectDataAttributeEntityMap = new HashMap<>(); for (BusinessObjectDataAttributeEntity businessObjectDataAttributeEntity : businessObjectDataAttributeEntities) { businessObjectDataAttributeEntityMap.put(businessObjectDataAttributeEntity.getName().toLowerCase(), businessObjectDataAttributeEntity); } return businessObjectDataAttributeEntityMap; } }
businessObjectDataAttributeEntity.setValue(request.getBusinessObjectDataAttributeValue());
/** * Creates a new business object data attribute entity from the business object data entity and the request information. * * @param businessObjectDataEntity the business object data entity * @param request the business object data attribute create request * * @return the newly created business object data attribute entity */ private BusinessObjectDataAttributeEntity createBusinessObjectDataAttributeEntity(BusinessObjectDataEntity businessObjectDataEntity, BusinessObjectDataAttributeCreateRequest request) { // Create a new entity. BusinessObjectDataAttributeEntity businessObjectDataAttributeEntity = new BusinessObjectDataAttributeEntity(); businessObjectDataAttributeEntity.setBusinessObjectData(businessObjectDataEntity); businessObjectDataAttributeEntity.setName(request.getBusinessObjectDataAttributeKey().getBusinessObjectDataAttributeName()); businessObjectDataAttributeEntity.setValue(request.getBusinessObjectDataAttributeValue()); return businessObjectDataAttributeEntity; }
@Test public void testUpdateBusinessObjectDataAttributesAttributeDeleted() { // Create a business object data attribute entity. BusinessObjectDataAttributeEntity businessObjectDataAttributeEntity = new BusinessObjectDataAttributeEntity(); businessObjectDataAttributeEntity.setName(ATTRIBUTE_NAME); businessObjectDataAttributeEntity.setValue(ATTRIBUTE_VALUE); // Create a business object data entity that contains one attribute entity. BusinessObjectDataEntity businessObjectDataEntity = new BusinessObjectDataEntity(); List<BusinessObjectDataAttributeEntity> businessObjectDataAttributeEntities = new ArrayList<>(); businessObjectDataEntity.setAttributes(businessObjectDataAttributeEntities); businessObjectDataAttributeEntities.add(businessObjectDataAttributeEntity); // Call the method under test. attributeDaoHelper.updateBusinessObjectDataAttributes(businessObjectDataEntity, NO_ATTRIBUTES); // Verify the external calls. verifyNoMoreInteractionsHelper(); // Validate the results. assertEquals(0, CollectionUtils.size(businessObjectDataEntity.getAttributes())); }
BusinessObjectDataEntity businessObjectDataEntity = businessObjectDataAttributeEntity.getBusinessObjectData(); businessObjectDataEntity.getAttributes().remove(businessObjectDataAttributeEntity); businessObjectDataDao.saveAndRefresh(businessObjectDataEntity);
/** * Creates the business object data attribute from the persisted entity. * * @param businessObjectDataAttributeEntity the business object data attribute entity * * @return the business object data attribute */ private BusinessObjectDataAttribute createBusinessObjectDataAttributeFromEntity(BusinessObjectDataAttributeEntity businessObjectDataAttributeEntity) { // Create the business object data attribute. BusinessObjectDataAttribute businessObjectDataAttribute = new BusinessObjectDataAttribute(); businessObjectDataAttribute.setId(businessObjectDataAttributeEntity.getId()); businessObjectDataAttribute.setBusinessObjectDataAttributeKey(getBusinessObjectDataAttributeKey(businessObjectDataAttributeEntity)); businessObjectDataAttribute.setBusinessObjectDataAttributeValue(businessObjectDataAttributeEntity.getValue()); return businessObjectDataAttribute; }
/** * Creates a map that maps business object data attribute names in lowercase to the relative business object data attribute entities. * * @param businessObjectDataAttributeEntities the collection of business object data attribute entities to be loaded into the map * * @return the map that maps business object data attribute names in lowercase to the relative business object data attribute entities */ public Map<String, BusinessObjectDataAttributeEntity> getBusinessObjectDataAttributeEntityMap( Collection<BusinessObjectDataAttributeEntity> businessObjectDataAttributeEntities) { Map<String, BusinessObjectDataAttributeEntity> businessObjectDataAttributeEntityMap = new HashMap<>(); for (BusinessObjectDataAttributeEntity businessObjectDataAttributeEntity : businessObjectDataAttributeEntities) { businessObjectDataAttributeEntityMap.put(businessObjectDataAttributeEntity.getName().toLowerCase(), businessObjectDataAttributeEntity); } return businessObjectDataAttributeEntityMap; } }
businessObjectDataAttributeEntity.setValue(request.getBusinessObjectDataAttributeValue());
for (BusinessObjectDataAttributeEntity attributeEntity : businessObjectDataEntity.getAttributes()) String mapKey = attributeEntity.getName().toLowerCase(); if (existingAttributeEntities.containsKey(mapKey)) if (!StringUtils.equals(attribute.getValue(), attributeEntity.getValue())) attributeEntity.setValue(attribute.getValue()); BusinessObjectDataAttributeEntity attributeEntity = new BusinessObjectDataAttributeEntity(); businessObjectDataEntity.getAttributes().add(attributeEntity); attributeEntity.setBusinessObjectData(businessObjectDataEntity); attributeEntity.setName(attribute.getName()); attributeEntity.setValue(attribute.getValue());
/** * Creates and persists a new business object data attribute entity. * * @param businessObjectDataEntity the business object data entity * @param businessObjectDataAttributeName the business object data attribute name * @param businessObjectDataAttributeValue the business object data attribute value * * @return the newly created business object data attribute entity. */ public BusinessObjectDataAttributeEntity createBusinessObjectDataAttributeEntity(BusinessObjectDataEntity businessObjectDataEntity, String businessObjectDataAttributeName, String businessObjectDataAttributeValue) { // Create a new business object data attribute entity. BusinessObjectDataAttributeEntity businessObjectDataAttributeEntity = new BusinessObjectDataAttributeEntity(); businessObjectDataAttributeEntity.setBusinessObjectData(businessObjectDataEntity); businessObjectDataAttributeEntity.setName(businessObjectDataAttributeName); businessObjectDataAttributeEntity.setValue(businessObjectDataAttributeValue); // Update the parent entity. businessObjectDataEntity.getAttributes().add(businessObjectDataAttributeEntity); businessObjectDataAttributeDao.saveAndRefresh(businessObjectDataEntity); return businessObjectDataAttributeEntity; } }