Class CatalogJpaAutoConfiguration

java.lang.Object
com.broadleafcommerce.catalog.provider.jpa.autoconfigure.CatalogJpaAutoConfiguration

@Configuration @ConditionalOnProperty(name="broadleaf.database.provider", havingValue="jpa") @EnableJpaRepositories(basePackageClasses=JpaCategoryProductRepository.class, repositoryFactoryBeanClass=com.broadleafcommerce.data.tracking.jpa.filtering.narrow.factory.JpaTrackableRepositoryFactoryBean.class, excludeFilters=, entityManagerFactoryRef="catalogEntityManagerFactory", transactionManagerRef="catalogTransactionManager") @JpaEntityScan(basePackages="com.broadleafcommerce.catalog.provider.jpa.domain", routePackage="com.broadleafcommerce.catalog") @EnableConfigurationProperties({CatalogProperties.class,org.springframework.boot.autoconfigure.integration.IntegrationProperties.class,ProductTagRepositoryProperties.class,PromotionalCategoryProductRepositoryProperties.class,PromotionalProductRepositoryProperties.class,CategoryProductRepositoryProperties.class,CategoryAssetRepositoryProperties.class,CategoryRepositoryProperties.class,OptionTemplateRepositoryProperties.class,JpaProductCharacteristicPropagationProperties.class}) @JpaDataRoute(boundPropertiesType=CatalogProperties.class, routePackage="com.broadleafcommerce.catalog", routeKey="catalog", supportingRouteTypes={com.broadleafcommerce.data.tracking.core.data.TrackingDataRouteSupporting.class,com.broadleafcommerce.common.messaging.data.MessagingDataRouteSupporting.class,com.broadleafcommerce.data.tracking.core.data.CatalogDataRouteSupporting.class,com.broadleafcommerce.translation.data.TranslationDataRouteSupporting.class,com.broadleafcommerce.bulk.data.BulkDataRouteSupporting.class,com.broadleafcommerce.common.dataexport.data.ExportDataRouteSupporting.class,com.broadleafcommerce.common.dataimport.data.ImportDataRouteSupporting.class,com.broadleafcommerce.data.tracking.core.data.MarketplaceDataRouteSupporting.class}) public class CatalogJpaAutoConfiguration extends Object
The main Jpa auto configuration that initializes the out of the box Jpa repositories
Author:
Jeff Fischer
  • Constructor Details

    • CatalogJpaAutoConfiguration

      public CatalogJpaAutoConfiguration()
  • Method Details

    • jpaCategoryProductRepositoryImpl

      @Bean @ConditionalOnMissingBean public CustomizedCategoryProductRepository<JpaCategoryProduct> jpaCategoryProductRepositoryImpl(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, List<com.broadleafcommerce.data.tracking.core.service.RsqlQueryTransformer> rsqlQueryTransformers, cz.jirutka.rsql.parser.ast.RSQLVisitor<jakarta.persistence.criteria.Predicate,Class<?>> rsqlVisitor, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder catalogFilterRuleCriteriaBuilder, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager)
    • jpaProductTagRepositoryImpl

      @Bean @ConditionalOnMissingBean public CustomizedProductTagRepository<JpaProductTag> jpaProductTagRepositoryImpl(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, List<com.broadleafcommerce.data.tracking.core.service.RsqlQueryTransformer> rsqlQueryTransformers, cz.jirutka.rsql.parser.ast.RSQLVisitor<jakarta.persistence.criteria.Predicate,Class<?>> rsqlVisitor, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder catalogFilterRuleCriteriaBuilder, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager)
    • jpaPromotionalProductRepositoryImpl

      @Bean @ConditionalOnMissingBean public CustomizedPromotionalProductRepository<JpaPromotionalProduct> jpaPromotionalProductRepositoryImpl(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, List<com.broadleafcommerce.data.tracking.core.service.RsqlQueryTransformer> rsqlQueryTransformers, cz.jirutka.rsql.parser.ast.RSQLVisitor<jakarta.persistence.criteria.Predicate,Class<?>> rsqlVisitor, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder catalogFilterRuleCriteriaBuilder, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager)
    • jpaProductAssetRepositoryImpl

      @Bean @ConditionalOnMissingBean public CustomizedProductAssetRepository<JpaProductAsset> jpaProductAssetRepositoryImpl(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, List<com.broadleafcommerce.data.tracking.core.service.RsqlQueryTransformer> rsqlQueryTransformers, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaCriteriaBuilderRsqlVisitor rsqlVisitor, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder catalogFilterRuleCriteriaBuilder, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager)
    • jpaCategoryAssetRepositoryImpl

      @Bean @ConditionalOnMissingBean public CustomizedCategoryAssetRepository<JpaCategoryAsset> jpaCategoryAssetRepositoryImpl(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, List<com.broadleafcommerce.data.tracking.core.service.RsqlQueryTransformer> rsqlQueryTransformers, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaCriteriaBuilderRsqlVisitor rsqlVisitor, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder catalogFilterRuleCriteriaBuilder, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager)
    • jpaProductRepositoryImpl

      @Bean @ConditionalOnMissingBean public CustomizedProductRepository<JpaProduct> jpaProductRepositoryImpl(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, List<com.broadleafcommerce.data.tracking.core.service.RsqlQueryTransformer> rsqlQueryTransformers, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaCriteriaBuilderRsqlVisitor rsqlVisitor, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder filterRulesCriteriaBuilder, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager)
    • jpaVariantRepositoryImpl

      @Bean @ConditionalOnMissingBean public CustomizedVariantRepository<JpaVariant> jpaVariantRepositoryImpl(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder filterRulesCriteriaBuilder, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager)
    • jpaPromotionalCategoryProductRepositoryImpl

      @Bean @ConditionalOnMissingBean public CustomizedPromotionalCategoryProductRepository<JpaPromotionalCategoryProduct> jpaPromotionalCategoryProductRepositoryImpl(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder catalogFilterRuleCriteriaBuilder, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager)
    • jpaOptionTemplateRepositoryImpl

      @Bean @ConditionalOnMissingBean public CustomizedOptionTemplateRepository<JpaOptionTemplate> jpaOptionTemplateRepositoryImpl(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder catalogFilterRuleCriteriaBuilder, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager)
    • jpaCategoryRepositoryImpl

      @Bean @ConditionalOnMissingBean public CustomizedCategoryRepository<JpaCategory> jpaCategoryRepositoryImpl(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder catalogFilterRuleCriteriaBuilder, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager)
    • productFilterRulesExtractor

      @Bean("productFilterRulesExtractor") @ConditionalOnMissingBean(name="productFilterRulesExtractor") public com.broadleafcommerce.data.tracking.core.filtering.fetch.rsql.CatalogFilterRulesMapping productFilterRulesExtractor()
    • jpaDataDrivenEnumRepositoryImpl

      @Bean @ConditionalOnMissingBean public CustomizedDataDrivenEnumRepository<JpaDataDrivenEnum> jpaDataDrivenEnumRepositoryImpl(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder filterRulesCriteriaBuilder, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager)
    • jpaBusinessTypeRepositoryImpl

      @Bean @ConditionalOnMissingBean public CustomizedBusinessTypeRepository<JpaBusinessType> jpaBusinessTypeRepositoryImpl(com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager, com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder filterRulesCriteriaBuilder)
    • jpaProductCharacteristicRepositoryImpl

      @Bean @ConditionalOnMissingBean public CustomizedProductCharacteristicRepository<JpaProductCharacteristic> jpaProductCharacteristicRepositoryImpl(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder filterRulesCriteriaBuilder, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager)
    • jpaCatalogQueryHelper

      @Bean @ConditionalOnMissingBean public JpaCatalogQueryHelper jpaCatalogQueryHelper()
    • defaultCategoryAncestorHierarchyNativeSqlStrategy

      @Bean public com.broadleafcommerce.data.tracking.jpa.persistence.NativeSqlStrategy defaultCategoryAncestorHierarchyNativeSqlStrategy(@Value("${broadleaf.jpa.id.type:STRING}") String idType)
    • hsqlCategoryAncestorHierarchyNativeSqlStrategy

      @Bean public com.broadleafcommerce.data.tracking.jpa.persistence.NativeSqlStrategy hsqlCategoryAncestorHierarchyNativeSqlStrategy(@Value("${broadleaf.jpa.id.type:STRING}") String idType)
    • oracleCategoryAncestorHierarchyNativeSqlStrategy

      @Bean public com.broadleafcommerce.data.tracking.jpa.persistence.NativeSqlStrategy oracleCategoryAncestorHierarchyNativeSqlStrategy(@Value("${broadleaf.jpa.id.type:STRING}") String idType)
    • defaultProductUsingReferencedOptionTemplateNativeSqlStrategy

      @Bean public com.broadleafcommerce.data.tracking.jpa.persistence.NativeSqlStrategy defaultProductUsingReferencedOptionTemplateNativeSqlStrategy(@Value("${broadleaf.jpa.id.type:STRING}") String idType)
    • mysqlProductUsingReferencedOptionTemplateNativeSqlStrategy

      @Bean public com.broadleafcommerce.data.tracking.jpa.persistence.NativeSqlStrategy mysqlProductUsingReferencedOptionTemplateNativeSqlStrategy(@Value("${broadleaf.jpa.id.type:STRING}") String idType)
    • oracleProductUsingReferencedOptionTemplateNativeSqlStrategy

      @Bean public com.broadleafcommerce.data.tracking.jpa.persistence.NativeSqlStrategy oracleProductUsingReferencedOptionTemplateNativeSqlStrategy(@Value("${broadleaf.jpa.id.type:STRING}") String idType)
    • hsqlProductUsingReferencedOptionTemplateNativeSqlStrategy

      @Bean public com.broadleafcommerce.data.tracking.jpa.persistence.NativeSqlStrategy hsqlProductUsingReferencedOptionTemplateNativeSqlStrategy(@Value("${broadleaf.jpa.id.type:STRING}") String idType)
    • productCharacteristicDisabledHierarchyPropagationHandler

      @Bean @ConditionalOnMissingBean(name="productCharacteristicDisabledHierarchyPropagationHandler") @ConditionalOnProperty(name="broadleaf.catalog.characteristic-propagation.enabled", havingValue="false", matchIfMissing=true) public JpaProductCharacteristicDisabledHierarchyPropagationHandler productCharacteristicDisabledHierarchyPropagationHandler(com.broadleafcommerce.common.extension.TypeFactory typeFactory)
    • productCharacteristicDisabledPropagationHandler

      @Bean @ConditionalOnMissingBean(name="productCharacteristicDisabledPropagationHandler") @ConditionalOnProperty(name="broadleaf.catalog.characteristic-propagation.enabled", havingValue="false", matchIfMissing=true) public JpaProductCharacteristicDisabledPropagationHandler productCharacteristicDisabledPropagationHandler()
    • productSimpleTagsUpdatePropagator

      @Bean @ConditionalOnMissingBean(name="productSimpleTagsUpdatePropagator") public JpaProductSimpleTagsUpdatePropagator productSimpleTagsUpdatePropagator(com.broadleafcommerce.common.extension.TypeFactory typeFactory)
    • defaultSimpleProductTagPropagationUpdateNativeSqlStrategy

      @Bean @ConditionalOnMissingBean(name="defaultSimpleProductTagPropagationUpdateNativeSqlStrategy") public DefaultSimpleProductTagPropagationUpdateNativeSqlStrategy defaultSimpleProductTagPropagationUpdateNativeSqlStrategy(@Autowired(required=false) @Nullable com.fasterxml.jackson.databind.ObjectMapper fieldChangeMapper, com.broadleafcommerce.data.tracking.jpa.filtering.propagation.support.PropagationUpdateNativeSqlHelperUtility propagationUpdateNativeSqlUtility)