Class MarketplaceCatalogCustomPersistenceHandler
java.lang.Object
org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter
com.broadleafcommerce.tenant.admin.handler.MultiTenantCatalogCustomPersistenceHandler
com.broadleafcommerce.marketplace.admin.handler.MarketplaceCatalogCustomPersistenceHandler
- All Implemented Interfaces:
org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler,org.springframework.core.Ordered
@BroadleafMarketplaceModule
@Service("blMarketplaceCatalogCustomPersistenceHandler")
public class MarketplaceCatalogCustomPersistenceHandler
extends com.broadleafcommerce.tenant.admin.handler.MultiTenantCatalogCustomPersistenceHandler
This extension handler is intended to run before
MultiTenantCatalogCustomPersistenceHandler in order to handle
fetch when the section entity is actually Vendor and not the site.- Author:
- Nick Crum ncrum
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final org.apache.commons.logging.Logprotected MarketplaceServiceprotected intFields inherited from class com.broadleafcommerce.tenant.admin.handler.MultiTenantCatalogCustomPersistenceHandler
DERIVED_CC, entityConfiguration, multiTenantDao, NON_DERIVED_CC, SELECT_CATALOG_CC, SELECT_CATALOG_FOR_DUPLICATION, siteDao, siteServiceFields inherited from interface org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler
DEFAULT_ORDERFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.broadleafcommerce.openadmin.dto.Entityadd(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper) protected jakarta.persistence.criteria.PredicatebuildIncludeCatalogsPredicate(jakarta.persistence.criteria.CriteriaBuilder builder, jakarta.persistence.criteria.From root, jakarta.persistence.criteria.CriteriaQuery criteria, List directValues, Long siteId) We override the original method in order to include vendor catalogs when fetching assignable catalogs for a marketplace site.protected jakarta.persistence.criteria.PredicatebuildPagedVendorPortalsPredicate(jakarta.persistence.criteria.CriteriaBuilder builder, jakarta.persistence.criteria.Path owningSite, List<Long> vendorPortalIds) If the vendorPortalIds are over 1000 they must be split into separate clauses to conform to DB standards like Oracle which prevent over 1000 entries in an IN statement.protected jakarta.persistence.criteria.PredicatebuildVendorPortalsPredicate(jakarta.persistence.criteria.Path owningSite, List<Long> vendorPortalIds) canHandleInspect(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage) canHandleRemove(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage) org.broadleafcommerce.openadmin.dto.DynamicResultSetfetch(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) intgetOrder()protected BooleanisFromVendorSection(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage) protected booleanprotected booleanisMarketplaceSite(org.broadleafcommerce.common.site.domain.Site site) org.broadleafcommerce.openadmin.dto.Entityupdate(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage, org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao, org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper) protected voidvalidateSharedWithVendorSetting(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage) Methods inherited from class com.broadleafcommerce.tenant.admin.handler.MultiTenantCatalogCustomPersistenceHandler
buildAllowedCatalogsPredicate, buildCatalogPredicate, buildFilterCatalogPredicate, buildFilterMappingForCatalogList, buildFilterMappingFromCatalog, buildFilterMappingFromSite, buildFinishedCatalogFilterMapping, buildImplicitCatalogPredicate, buildOwnedCatalogsPredicate, canHandleAdd, canHandleFetch, canHandleUpdate, catalogAncestorsIncludeCatalog, copyData, getCurrentSite, getFirstCriteria, getMultiTenantCatalog, inspect, isCatalogLookup, isFromCatalogClass, isFromCatalogInstance, isFromRootCatalog, isFromSiteInstance, isMainListGrid, isTemplateContext, postAdd, remove, removeCatalog, removeTemplateSiteCatalogXref, xrefClassMatchesMethods inherited from class org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter
getClassForName, getMetadata, getPolymorphicClasses, getResultSet, isAdornedListOperation, isAssignableFrom, isBasicOperation, isMapOperation, meetsCustomCriteria, willHandleSecurity
-
Field Details
-
LOG
protected static final org.apache.commons.logging.Log LOG -
pageSize
@Value("${fetch.collection.batch.pageSize:800}") protected int pageSize -
marketplaceService
-
-
Constructor Details
-
MarketplaceCatalogCustomPersistenceHandler
public MarketplaceCatalogCustomPersistenceHandler()
-
-
Method Details
-
canHandleInspect
public Boolean canHandleInspect(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage) - Specified by:
canHandleInspectin interfaceorg.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler- Overrides:
canHandleInspectin classcom.broadleafcommerce.tenant.admin.handler.MultiTenantCatalogCustomPersistenceHandler
-
canHandleRemove
public Boolean canHandleRemove(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage) - Specified by:
canHandleRemovein interfaceorg.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler- Overrides:
canHandleRemovein classcom.broadleafcommerce.tenant.admin.handler.MultiTenantCatalogCustomPersistenceHandler
-
getOrder
public int getOrder()- Specified by:
getOrderin interfaceorg.springframework.core.Ordered- Overrides:
getOrderin classorg.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerAdapter
-
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:
updatein interfaceorg.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler- Overrides:
updatein classcom.broadleafcommerce.tenant.admin.handler.MultiTenantCatalogCustomPersistenceHandler- 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:
addin interfaceorg.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler- Overrides:
addin classcom.broadleafcommerce.tenant.admin.handler.MultiTenantCatalogCustomPersistenceHandler- 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:
fetchin interfaceorg.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandler- Overrides:
fetchin classcom.broadleafcommerce.tenant.admin.handler.MultiTenantCatalogCustomPersistenceHandler- Throws:
org.broadleafcommerce.common.exception.ServiceException
-
buildIncludeCatalogsPredicate
protected jakarta.persistence.criteria.Predicate buildIncludeCatalogsPredicate(jakarta.persistence.criteria.CriteriaBuilder builder, jakarta.persistence.criteria.From root, jakarta.persistence.criteria.CriteriaQuery criteria, List directValues, Long siteId) We override the original method in order to include vendor catalogs when fetching assignable catalogs for a marketplace site.- Overrides:
buildIncludeCatalogsPredicatein classcom.broadleafcommerce.tenant.admin.handler.MultiTenantCatalogCustomPersistenceHandler
-
getExistingVendorPortalIds
-
isMarketplaceSite
protected boolean isMarketplaceSite(org.broadleafcommerce.common.site.domain.Site site) -
isGlobalSite
protected boolean isGlobalSite() -
isFromVendorSection
protected Boolean isFromVendorSection(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage) -
buildPagedVendorPortalsPredicate
protected jakarta.persistence.criteria.Predicate buildPagedVendorPortalsPredicate(jakarta.persistence.criteria.CriteriaBuilder builder, jakarta.persistence.criteria.Path owningSite, List<Long> vendorPortalIds) If the vendorPortalIds are over 1000 they must be split into separate clauses to conform to DB standards like Oracle which prevent over 1000 entries in an IN statement. -
buildVendorPortalsPredicate
-