/** * Processes the tags search score multiplier. Multiply all the tags search score. * * @param businessObjectDefinitionEntity the business object definition entity */ public void processTagSearchScoreMultiplier(final BusinessObjectDefinitionEntity businessObjectDefinitionEntity) { LOGGER.debug("processTagSearchScoreMultiplier " + businessObjectDefinitionEntity.getId() + " " + businessObjectDefinitionEntity.getBusinessObjectDefinitionTags()); BigDecimal totalSearchScoreMultiplier = businessObjectDefinitionEntity.getBusinessObjectDefinitionTags().stream().filter(item -> item.getTag().getSearchScoreMultiplier() != null) .reduce(BigDecimal.ONE, (bd, item) -> bd.multiply(item.getTag().getSearchScoreMultiplier()), BigDecimal::multiply) .setScale(3, RoundingMode.HALF_UP); businessObjectDefinitionEntity.setTagSearchScoreMultiplier(totalSearchScoreMultiplier); } }
/** * Processes the tags search score multiplier. Multiply all the tags search score. * * @param businessObjectDefinitionEntity the business object definition entity */ public void processTagSearchScoreMultiplier(final BusinessObjectDefinitionEntity businessObjectDefinitionEntity) { LOGGER.debug("processTagSearchScoreMultiplier " + businessObjectDefinitionEntity.getId() + " " + businessObjectDefinitionEntity.getBusinessObjectDefinitionTags()); BigDecimal totalSearchScoreMultiplier = businessObjectDefinitionEntity.getBusinessObjectDefinitionTags().stream().filter(item -> item.getTag().getSearchScoreMultiplier() != null) .reduce(BigDecimal.ONE, (bd, item) -> bd.multiply(item.getTag().getSearchScoreMultiplier()), BigDecimal::multiply) .setScale(3, RoundingMode.HALF_UP); businessObjectDefinitionEntity.setTagSearchScoreMultiplier(totalSearchScoreMultiplier); } }
/** * Creates a business object definition tag key from the entity. * * @param businessObjectDefinitionTagEntity the business object definition entity * * @return the business object definition tag key */ private BusinessObjectDefinitionTagKey getBusinessObjectDefinitionTagKey(BusinessObjectDefinitionTagEntity businessObjectDefinitionTagEntity) { return new BusinessObjectDefinitionTagKey( new BusinessObjectDefinitionKey(businessObjectDefinitionTagEntity.getBusinessObjectDefinition().getNamespace().getCode(), businessObjectDefinitionTagEntity.getBusinessObjectDefinition().getName()), new TagKey(businessObjectDefinitionTagEntity.getTag().getTagType().getCode(), businessObjectDefinitionTagEntity.getTag().getTagCode())); }
/** * Creates a business object definition tag key from the entity. * * @param businessObjectDefinitionTagEntity the business object definition entity * * @return the business object definition tag key */ private BusinessObjectDefinitionTagKey getBusinessObjectDefinitionTagKey(BusinessObjectDefinitionTagEntity businessObjectDefinitionTagEntity) { return new BusinessObjectDefinitionTagKey( new BusinessObjectDefinitionKey(businessObjectDefinitionTagEntity.getBusinessObjectDefinition().getNamespace().getCode(), businessObjectDefinitionTagEntity.getBusinessObjectDefinition().getName()), new TagKey(businessObjectDefinitionTagEntity.getTag().getTagType().getCode(), businessObjectDefinitionTagEntity.getTag().getTagCode())); }
@NamespacePermission(fields = "#businessObjectDefinitionTagKey.businessObjectDefinitionKey.namespace", permissions = { NamespacePermissionEnum.WRITE_DESCRIPTIVE_CONTENT, NamespacePermissionEnum.WRITE}) @Override public BusinessObjectDefinitionTag deleteBusinessObjectDefinitionTag(BusinessObjectDefinitionTagKey businessObjectDefinitionTagKey) { // Validate and trim the business object definition tag key. validateBusinessObjectDefinitionTagKey(businessObjectDefinitionTagKey); // Retrieve and ensure that a business object definition tag exists. BusinessObjectDefinitionTagEntity businessObjectDefinitionTagEntity = getBusinessObjectDefinitionTagEntity(businessObjectDefinitionTagKey); // Delete this business object format. businessObjectDefinitionTagDao.delete(businessObjectDefinitionTagEntity); // Notify the search index that a business object definition must be updated. BusinessObjectDefinitionEntity businessObjectDefinitionEntity = businessObjectDefinitionDaoHelper.getBusinessObjectDefinitionEntity(businessObjectDefinitionTagKey.getBusinessObjectDefinitionKey()); LOGGER.info("Modify the business object definition in the search index associated with the business object definition tag being deleted." + " tagTypeCode=\"{}\", tagCode=\"{}\", businessObjectDefinitionId=\"{}\", searchIndexUpdateType=\"{}\"", businessObjectDefinitionTagEntity.getTag().getTagType().getCode(), businessObjectDefinitionTagEntity.getTag().getTagCode(), businessObjectDefinitionEntity.getId(), SEARCH_INDEX_UPDATE_TYPE_UPDATE); searchIndexUpdateHelper.modifyBusinessObjectDefinitionInSearchIndex(businessObjectDefinitionEntity, SEARCH_INDEX_UPDATE_TYPE_UPDATE); // Create and return the business object definition tag object from the deleted entity. return createBusinessObjectDefinitionTagFromEntity(businessObjectDefinitionTagEntity); }
@NamespacePermission(fields = "#businessObjectDefinitionTagKey.businessObjectDefinitionKey.namespace", permissions = { NamespacePermissionEnum.WRITE_DESCRIPTIVE_CONTENT, NamespacePermissionEnum.WRITE}) @Override public BusinessObjectDefinitionTag deleteBusinessObjectDefinitionTag(BusinessObjectDefinitionTagKey businessObjectDefinitionTagKey) { // Validate and trim the business object definition tag key. validateBusinessObjectDefinitionTagKey(businessObjectDefinitionTagKey); // Retrieve and ensure that a business object definition tag exists. BusinessObjectDefinitionTagEntity businessObjectDefinitionTagEntity = getBusinessObjectDefinitionTagEntity(businessObjectDefinitionTagKey); // Delete this business object format. businessObjectDefinitionTagDao.delete(businessObjectDefinitionTagEntity); // Notify the search index that a business object definition must be updated. BusinessObjectDefinitionEntity businessObjectDefinitionEntity = businessObjectDefinitionDaoHelper.getBusinessObjectDefinitionEntity(businessObjectDefinitionTagKey.getBusinessObjectDefinitionKey()); LOGGER.info("Modify the business object definition in the search index associated with the business object definition tag being deleted." + " tagTypeCode=\"{}\", tagCode=\"{}\", businessObjectDefinitionId=\"{}\", searchIndexUpdateType=\"{}\"", businessObjectDefinitionTagEntity.getTag().getTagType().getCode(), businessObjectDefinitionTagEntity.getTag().getTagCode(), businessObjectDefinitionEntity.getId(), SEARCH_INDEX_UPDATE_TYPE_UPDATE); searchIndexUpdateHelper.modifyBusinessObjectDefinitionInSearchIndex(businessObjectDefinitionEntity, SEARCH_INDEX_UPDATE_TYPE_UPDATE); // Create and return the business object definition tag object from the deleted entity. return createBusinessObjectDefinitionTagFromEntity(businessObjectDefinitionTagEntity); }