Class JpaImportVendorVisibilityHandler
java.lang.Object
com.broadleafcommerce.dataimport.provider.marketplace.vendor.JpaImportVendorVisibilityHandler
- All Implemented Interfaces:
com.broadleafcommerce.common.extension.data.DataRoutePartitionAware
,com.broadleafcommerce.data.tracking.core.marketplace.vendor.visibility.VendorVisibilityHandler
,org.springframework.core.Ordered
public class JpaImportVendorVisibilityHandler
extends Object
implements com.broadleafcommerce.data.tracking.core.marketplace.vendor.visibility.VendorVisibilityHandler
Responsible for performing vendor-visibility operations on
JpaImport
entities.-
Field Summary
Fields inherited from interface com.broadleafcommerce.common.extension.data.DataRoutePartitionAware
ALL_MATCH
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
createVendorNarrowingFilter
(Set<String> restrictedVendorRefs, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) getAssociatedVendorRef
(Object persistedDomainEntity, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) int
getOrder()
boolean
isEntityMutableByVendorRestrictions
(Object persistedDomainEntity, Set<String> restrictedVendorRefs, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) NOTE: Since imports are notTrackable
, persistence-related operations on them don't accept aContextInfo
or perform extra policy validation.
-
Constructor Details
-
JpaImportVendorVisibilityHandler
public JpaImportVendorVisibilityHandler()
-
-
Method Details
-
canHandle
- Specified by:
canHandle
in interfacecom.broadleafcommerce.data.tracking.core.marketplace.vendor.visibility.VendorVisibilityHandler
-
getOrder
public int getOrder()- Specified by:
getOrder
in interfaceorg.springframework.core.Ordered
- Specified by:
getOrder
in interfacecom.broadleafcommerce.data.tracking.core.marketplace.vendor.visibility.VendorVisibilityHandler
-
getDataRoutePartition
- Specified by:
getDataRoutePartition
in interfacecom.broadleafcommerce.common.extension.data.DataRoutePartitionAware
-
isEntityMutableByVendorRestrictions
public boolean isEntityMutableByVendorRestrictions(Object persistedDomainEntity, Set<String> restrictedVendorRefs, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) NOTE: Since imports are notTrackable
, persistence-related operations on them don't accept aContextInfo
or perform extra policy validation. For this reason, this method doesn't actually get called in most situations and is only implemented here for completeness. Any validation that must be done should occur inImportManager.initiateImport(ImportRequest, InputStreamSource, ContextInfo)
.- Specified by:
isEntityMutableByVendorRestrictions
in interfacecom.broadleafcommerce.data.tracking.core.marketplace.vendor.visibility.VendorVisibilityHandler
- Parameters:
persistedDomainEntity
- the persisted-domain entity to validate mutability for. This is guaranteed to only be an entity for whichcanHandle(Class)
returns true.restrictedVendorRefs
- the "vendorRef" (typically a vendor ID or code) of all vendors that mutability should be restricted to. Will never be empty.contextInfo
- context information surrounding sandboxing/multitenant state- Returns:
- true if the entity is mutable by the given vendor restrictions, false otherwise
-
createVendorNarrowingFilter
public String createVendorNarrowingFilter(Set<String> restrictedVendorRefs, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) - Specified by:
createVendorNarrowingFilter
in interfacecom.broadleafcommerce.data.tracking.core.marketplace.vendor.visibility.VendorVisibilityHandler
-
getAssociatedVendorRef
@Nullable public String getAssociatedVendorRef(Object persistedDomainEntity, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) - Specified by:
getAssociatedVendorRef
in interfacecom.broadleafcommerce.data.tracking.core.marketplace.vendor.visibility.VendorVisibilityHandler
-