Class ProductCustomPersistenceHandler

java.lang.Object
org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter
org.broadleafcommerce.admin.server.service.handler.ProductCustomPersistenceHandler
All Implemented Interfaces:
org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler, org.springframework.core.Ordered

@Component("blProductCustomPersistenceHandler") public class ProductCustomPersistenceHandler extends org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter
Author:
Jeff Fischer
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.broadleafcommerce.core.catalog.service.CatalogService
     
    protected boolean
     
     
    protected static final String
     
    protected org.broadleafcommerce.common.service.ParentCategoryLegacyModeService
     
    protected long
     
    protected org.broadleafcommerce.common.sandbox.SandBoxHelper
     

    Fields inherited from interface org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler

    DEFAULT_ORDER

    Fields inherited from interface org.springframework.core.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.broadleafcommerce.openadmin.dto.Entity
    add(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper)
     
    canHandleAdd(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage)
     
    canHandleFetch(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage)
     
    canHandleInspect(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage)
     
    canHandleRemove(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage)
     
    canHandleUpdate(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage)
     
    protected org.broadleafcommerce.openadmin.server.service.persistence.module.criteria.FilterMapping
    createFilterMappingForProperty(String targetPropertyName, org.broadleafcommerce.openadmin.server.service.persistence.module.criteria.predicate.PredicateProvider predicateProvider)
     
    org.broadleafcommerce.openadmin.dto.DynamicResultSet
    fetch(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.dto.CriteriaTransferObject cto, org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper)
     
    protected org.broadleafcommerce.core.catalog.domain.Product
    getAdminInstance(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper, org.broadleafcommerce.openadmin.dto.Entity entity)
     
    protected org.broadleafcommerce.core.catalog.domain.CategoryProductXref
    getCurrentDefaultXref(org.broadleafcommerce.core.catalog.domain.Product product)
     
    protected org.broadleafcommerce.core.catalog.domain.Category
    getExistingDefaultCategory(org.broadleafcommerce.core.catalog.domain.Product product)
     
    protected org.broadleafcommerce.openadmin.dto.DynamicResultSet
    getFilteredDynamicResultSet(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.dto.CriteriaTransferObject cto, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper)
     
    org.broadleafcommerce.openadmin.dto.DynamicResultSet
    inspect(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao, org.broadleafcommerce.openadmin.server.service.persistence.module.InspectHelper helper)
     
    protected Boolean
     
    protected boolean
    isRecursiveProductSelection(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage)
     
    protected void
    modifyParentCategoryMetadata(Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> md)
     
    void
    remove(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper)
     
    protected void
    removeBundleFieldRestrictions(org.broadleafcommerce.core.catalog.domain.ProductBundle adminInstance, Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> adminProperties, org.broadleafcommerce.openadmin.dto.Entity entity)
    If the pricing model is of type item_sum, that property should not be required
    protected void
    removeOldDefault(org.broadleafcommerce.core.catalog.domain.Product adminInstance, org.broadleafcommerce.core.catalog.domain.CategoryProductXref oldDefault, org.broadleafcommerce.openadmin.dto.Entity entity)
     
    protected void
    removeProduct(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.core.catalog.domain.Product adminInstance, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper)
     
    protected void
    setupXref(org.broadleafcommerce.core.catalog.domain.Product adminInstance)
     
    org.broadleafcommerce.openadmin.dto.Entity
    update(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper)
     

    Methods inherited from class org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter

    getClassForName, getMetadata, getOrder, getPolymorphicClasses, getResultSet, isAdornedListOperation, isAssignableFrom, isBasicOperation, isMapOperation, meetsCustomCriteria, willHandleSecurity

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ID_PROPERTY

      protected static final String ID_PROPERTY
      See Also:
    • catalogService

      protected org.broadleafcommerce.core.catalog.service.CatalogService catalogService
    • extensionManager

    • parentCategoryLegacyModeService

      protected org.broadleafcommerce.common.service.ParentCategoryLegacyModeService parentCategoryLegacyModeService
    • sandBoxHelper

      protected org.broadleafcommerce.common.sandbox.SandBoxHelper sandBoxHelper
    • queryLimit

      @Value("${product.query.limit:500}") protected long queryLimit
    • eagerFetchAssociations

      @Value("${product.eager.fetch.associations.admin:true}") protected boolean eagerFetchAssociations
  • Constructor Details

    • ProductCustomPersistenceHandler

      public ProductCustomPersistenceHandler()
  • Method Details

    • canHandleAdd

      public Boolean canHandleAdd(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage)
      Specified by:
      canHandleAdd in interface org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler
      Overrides:
      canHandleAdd in class org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter
    • canHandleUpdate

      public Boolean canHandleUpdate(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage)
      Specified by:
      canHandleUpdate in interface org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler
      Overrides:
      canHandleUpdate in class org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter
    • canHandleRemove

      public Boolean canHandleRemove(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage)
      Specified by:
      canHandleRemove in interface org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler
      Overrides:
      canHandleRemove in class org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter
    • canHandleFetch

      public Boolean canHandleFetch(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage)
      Specified by:
      canHandleFetch in interface org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler
      Overrides:
      canHandleFetch in class org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter
    • canHandleInspect

      public Boolean canHandleInspect(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage)
      Specified by:
      canHandleInspect in interface org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler
      Overrides:
      canHandleInspect in class org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter
    • inspect

      public org.broadleafcommerce.openadmin.dto.DynamicResultSet inspect(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao, org.broadleafcommerce.openadmin.server.service.persistence.module.InspectHelper helper) throws org.broadleafcommerce.common.exception.ServiceException
      Specified by:
      inspect in interface org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler
      Overrides:
      inspect in class org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter
      Throws:
      org.broadleafcommerce.common.exception.ServiceException
    • fetch

      public org.broadleafcommerce.openadmin.dto.DynamicResultSet fetch(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.dto.CriteriaTransferObject cto, org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper) throws org.broadleafcommerce.common.exception.ServiceException
      Specified by:
      fetch in interface org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler
      Overrides:
      fetch in class org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter
      Throws:
      org.broadleafcommerce.common.exception.ServiceException
    • add

      public org.broadleafcommerce.openadmin.dto.Entity add(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper) throws org.broadleafcommerce.common.exception.ServiceException
      Specified by:
      add in interface org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler
      Overrides:
      add in class org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter
      Throws:
      org.broadleafcommerce.common.exception.ServiceException
    • update

      public org.broadleafcommerce.openadmin.dto.Entity update(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper) throws org.broadleafcommerce.common.exception.ServiceException
      Specified by:
      update in interface org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler
      Overrides:
      update in class org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter
      Throws:
      org.broadleafcommerce.common.exception.ServiceException
    • remove

      public void remove(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper) throws org.broadleafcommerce.common.exception.ServiceException
      Specified by:
      remove in interface org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler
      Overrides:
      remove in class org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter
      Throws:
      org.broadleafcommerce.common.exception.ServiceException
    • getAdminInstance

      protected org.broadleafcommerce.core.catalog.domain.Product getAdminInstance(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper, org.broadleafcommerce.openadmin.dto.Entity entity) throws ClassNotFoundException
      Throws:
      ClassNotFoundException
    • removeProduct

      protected void removeProduct(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.core.catalog.domain.Product adminInstance, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper) throws org.broadleafcommerce.common.exception.ServiceException
      Throws:
      org.broadleafcommerce.common.exception.ServiceException
    • removeBundleFieldRestrictions

      protected void removeBundleFieldRestrictions(org.broadleafcommerce.core.catalog.domain.ProductBundle adminInstance, Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> adminProperties, org.broadleafcommerce.openadmin.dto.Entity entity)
      If the pricing model is of type item_sum, that property should not be required
      Parameters:
      adminInstance -
      adminProperties -
      entity -
    • isDefaultCategoryLegacyMode

      protected Boolean isDefaultCategoryLegacyMode()
    • modifyParentCategoryMetadata

      protected void modifyParentCategoryMetadata(Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> md)
    • getExistingDefaultCategory

      protected org.broadleafcommerce.core.catalog.domain.Category getExistingDefaultCategory(org.broadleafcommerce.core.catalog.domain.Product product)
    • removeOldDefault

      protected void removeOldDefault(org.broadleafcommerce.core.catalog.domain.Product adminInstance, org.broadleafcommerce.core.catalog.domain.CategoryProductXref oldDefault, org.broadleafcommerce.openadmin.dto.Entity entity)
    • setupXref

      protected void setupXref(org.broadleafcommerce.core.catalog.domain.Product adminInstance)
    • getCurrentDefaultXref

      protected org.broadleafcommerce.core.catalog.domain.CategoryProductXref getCurrentDefaultXref(org.broadleafcommerce.core.catalog.domain.Product product)
    • isRecursiveProductSelection

      protected boolean isRecursiveProductSelection(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage)
    • createFilterMappingForProperty

      protected org.broadleafcommerce.openadmin.server.service.persistence.module.criteria.FilterMapping createFilterMappingForProperty(String targetPropertyName, org.broadleafcommerce.openadmin.server.service.persistence.module.criteria.predicate.PredicateProvider predicateProvider)
    • getFilteredDynamicResultSet

      protected org.broadleafcommerce.openadmin.dto.DynamicResultSet getFilteredDynamicResultSet(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.dto.CriteriaTransferObject cto, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper) throws org.broadleafcommerce.common.exception.ServiceException
      Throws:
      org.broadleafcommerce.common.exception.ServiceException