Class ExcelGenericReferenceValidator

    • Field Detail

      • VALIDATION_MESSAGE_KEY

        protected static final java.lang.String VALIDATION_MESSAGE_KEY
        See Also:
        Constant Field Values
    • Constructor Detail

      • ExcelGenericReferenceValidator

        public ExcelGenericReferenceValidator()
    • Method Detail

      • canHandle

        public boolean canHandle​(ImportParameters importParameters,
                                 AttributeDescriptorModel attributeDescriptor)
        Validator can handle request only if call value is not empty
        Specified by:
        canHandle in interface ExcelValidator
        Parameters:
        importParameters -
        attributeDescriptor -
        Returns:
        boolean whether validator can handle the cell.
      • validateRequiredAttribute

        public ExcelValidationResult validateRequiredAttribute​(RequiredAttribute requiredAttribute,
                                                               ImportParameters importParameters,
                                                               java.util.Map<java.lang.String,​java.lang.Object> context)
        Validates given cell and returns validation result. If cell doesn't have validation issues then ExcelValidationResult with no validation errors should be returned.
        Parameters:
        requiredAttribute - hierarchical structure of required attributes
        importParameters - parsed parameters for given cell
        context - map which can be used as a cache. The map is shared between all request for given excel sheet.
        Returns:
        ExcelValidationResult
      • recursivelyValidateAllLevels

        protected java.util.List<ValidationMessage> recursivelyValidateAllLevels​(RequiredAttribute rootUniqueAttribute,
                                                                                 ImportParameters importParameters,
                                                                                 java.util.Map<java.lang.String,​java.lang.Object> context)
        Recursively checks whether reference exist. The method starts checking references from the lowest descendant. If reference from lower level doesn't exist then process is stopped. For example, if given Catalog.id doesn't exist then reference for catalog version is not checked.
        Parameters:
        rootUniqueAttribute -
        importParameters -
        context -
        Returns:
      • validateSingleLevel

        protected java.util.List<ValidationMessage> validateSingleLevel​(RequiredAttribute rootUniqueAttribute,
                                                                        ImportParameters importParameters,
                                                                        java.util.Map<java.lang.String,​java.lang.Object> context)
        Validates just single level without checking children. This method is taking into account multi-values.
        Parameters:
        rootUniqueAttribute -
        importParameters -
        context -
        Returns:
      • validateSingleValue

        protected java.util.Optional<ValidationMessage> validateSingleValue​(RequiredAttribute rootUniqueAttribute,
                                                                            java.util.Map<java.lang.String,​java.lang.String> importParameters,
                                                                            java.util.Map<java.lang.String,​java.lang.Object> context)
        This method validates just single value from single level. For example, it checks whether given catalog version exist. To check catalog version, the method assumes that all children's references are checked and stored in context.
        Parameters:
        rootUniqueAttribute -
        importParameters -
        context -
        Returns:
      • prepareValidationMessage

        protected ValidationMessage prepareValidationMessage​(RequiredAttribute rootUniqueAttribute,
                                                             java.util.Map<java.lang.String,​java.lang.String> importParameters)
      • buildFlexibleSearchQuery

        protected java.util.Optional<FlexibleSearchQuery> buildFlexibleSearchQuery​(RequiredAttribute rootUniqueAttribute,
                                                                                   java.util.Map<java.lang.String,​java.lang.String> importParameters,
                                                                                   java.util.Map context)
      • setRequiredAttributesFactory

        public void setRequiredAttributesFactory​(RequiredAttributesFactory requiredAttributesFactory)
      • setFlexibleSearchService

        public void setFlexibleSearchService​(FlexibleSearchService flexibleSearchService)
      • setExcelWorkbookEntriesService

        public void setExcelWorkbookEntriesService​(ExcelWorkbookEntriesService excelWorkbookEntriesService)
      • setTypeService

        public void setTypeService​(TypeService typeService)
      • getTypeService

        protected TypeService getTypeService()
      • setBlacklistedTypes

        public void setBlacklistedTypes​(java.util.Collection<java.lang.String> blacklistedTypes)