Class SystemPropertyAttributeNameValidator

java.lang.Object
org.broadleafcommerce.openadmin.server.service.persistence.validation.ValidationConfigurationBasedPropertyValidator
org.broadleafcommerce.admin.persistence.validation.SystemPropertyAttributeNameValidator
All Implemented Interfaces:
org.broadleafcommerce.openadmin.server.service.persistence.validation.PropertyValidator

@Component("blSystemPropertyAttributeNameValidator") public class SystemPropertyAttributeNameValidator extends org.broadleafcommerce.openadmin.server.service.persistence.validation.ValidationConfigurationBasedPropertyValidator
Validates that a SystemProperty's AttributeName field does not contain a reserved key word surrounded by ".". AttributeNames such as "should.not.fail" will be converted to "should__not__fail" by JSCompatibilityHelper. This will later lead to a Thymeleaf exception when it attempts to process #fields.hasErrors('fields[should__not__fail].value') in entityForm.html.
Author:
Chris Kittrell (ckittrell)
  • Field Details

    • LOG

      protected static final org.apache.commons.logging.Log LOG
  • Constructor Details

    • SystemPropertyAttributeNameValidator

      public SystemPropertyAttributeNameValidator()
  • Method Details

    • validate

      public org.broadleafcommerce.openadmin.server.service.persistence.validation.PropertyValidationResult validate(org.broadleafcommerce.openadmin.dto.Entity entity, Serializable instance, Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> entityFieldMetadata, Map<String,String> validationConfiguration, org.broadleafcommerce.openadmin.dto.BasicFieldMetadata propertyMetadata, String propertyName, String value)
      Specified by:
      validate in interface org.broadleafcommerce.openadmin.server.service.persistence.validation.PropertyValidator
      Overrides:
      validate in class org.broadleafcommerce.openadmin.server.service.persistence.validation.ValidationConfigurationBasedPropertyValidator
    • containsWhiteSpace

      protected boolean containsWhiteSpace(String attributeName)
    • containsOnlyLettersNumbersPeriodsDashes

      protected boolean containsOnlyLettersNumbersPeriodsDashes(String attributeName)
    • retrieveContainedReservedKeywords

      protected Set<String> retrieveContainedReservedKeywords(String attributeName)
    • removeFirstAndLastPieces

      protected List<String> removeFirstAndLastPieces(List<String> attributeNamePieces)
      Remove the first & last elements since we know they cannot be surrounded by "."
    • createDisallowedCharactersValidationResult

      protected org.broadleafcommerce.openadmin.server.service.persistence.validation.PropertyValidationResult createDisallowedCharactersValidationResult()
    • getDisallowedCharactersErrorMesssage

      protected String getDisallowedCharactersErrorMesssage()
    • createContainsReservedKeywordsValidationResult

      protected org.broadleafcommerce.openadmin.server.service.persistence.validation.PropertyValidationResult createContainsReservedKeywordsValidationResult(Set<String> containedReservedKeywords)
    • getReservedWordErrorMessage

      protected String getReservedWordErrorMessage()