Class DefaultAdminRoleService<P extends AdminRole>
- All Implemented Interfaces:
AdminRoleService<P>,com.broadleafcommerce.data.tracking.core.service.MappableCrudEntityService<P>
- Author:
- Samarth Dhruva (samarthd)
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultAdminRoleService(AdminPermissionHydrationService adminPermissionHydrationService, AdminRoleContextValidator<P> adminRoleContextValidator, com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidatorManager validator, com.broadleafcommerce.common.messaging.PersistenceProducer persistenceProducer, AdminRoleRepository<?> repository, com.broadleafcommerce.data.tracking.core.service.MappableCrudEntityHelper helper, com.broadleafcommerce.common.messaging.notification.NotificationStateService notificationStateService, com.broadleafcommerce.common.messaging.notification.NotificationManager notificationManager, com.broadleafcommerce.common.messaging.notification.MessageSerializationHelper messageSerializationHelper, com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node> parser) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionprotected <T> OperationAwarePersistenceMessage<T>buildPersistenceMessage(T entity, com.broadleafcommerce.data.tracking.core.type.OperationType operationType, Instant timestamp) Deprecated.protected PconvertFromPersistentDomain(Object persistedDomain, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Similar toMappableCrudEntityHelper.convertFromPersistentDomain(java.lang.Object), except will invokeDomainMapperManager.fromRepositoryDomain(BusinessTypeAware, ContextInfo)with the givencontextInfoargument instead of justnull.<D,R extends org.springframework.data.repository.CrudRepository<D, String> & com.broadleafcommerce.common.extension.DomainTypeAware>
PDeprecated.Deprecated.Creates the role.protected <D,R extends org.springframework.data.repository.CrudRepository<D, String> & com.broadleafcommerce.common.extension.DomainTypeAware>
DcreateInternal(P businessInstance) Deprecated.Mostly copied fromMappableCrudEntityHelper.create(Object, CrudRepository), but overridden to support notifying on persistence events vianotifyPersistenceProducer(NotificationStateAware).voidDeprecated.Mostly copied fromMappableCrudEntityHelper.delete(String, CrudRepository), but overridden to support notifying on persistence events viaattemptDirectlySendingDeletePersistenceMessage(String, Object).voidDeprecated.Deletes the given role.booleanexistsById(String id) Deprecated.Performs an existence check to determine if there is a role in the data store matching the given id.booleanexistsById(String id, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Performs an existence check to determine if there is a role in the data store matching the given ID.booleanDeprecated.Performs an existence check to determine if there is a role in the data store matching the given ID that has anullAdminRole.tenantId.booleanexistsByNameAndIdNot(@NonNull String name, String id, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Reports whether there exists a role in the data store whoseAdminRole.nameis equal to the givennameand whoseAdminRole.idis not equal to the givenid.protected AdminPermissionHydrationServiceDeprecated.protected AdminRoleContextValidator<P>Deprecated.protected com.broadleafcommerce.common.messaging.notification.MessageSerializationHelperDeprecated.protected com.broadleafcommerce.common.messaging.notification.NotificationManagerDeprecated.protected com.broadleafcommerce.common.messaging.notification.NotificationStateServiceDeprecated.protected com.broadleafcommerce.common.messaging.PersistenceProducerDeprecated.protected AdminRoleRepository<?>Deprecated.Override this to save callers a cast toDomainTypeAwareor other interfaces that it implements.protected StringgetSerializedRepresentation(Object object) Deprecated.protected com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidatorManagerDeprecated.protected voidinitializePersistenceProducerState(com.broadleafcommerce.common.messaging.notification.domain.NotificationStateAware repositoryDomain, com.broadleafcommerce.data.tracking.core.type.OperationType operationType) Deprecated.protected voidnotifyPersistenceProducer(com.broadleafcommerce.common.messaging.notification.domain.NotificationStateAware domain) Deprecated.org.springframework.data.domain.Page<P>readAll(org.springframework.data.domain.Pageable pageable, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Reads all roles in the data store.org.springframework.data.domain.Page<P>readAllByName(String name, org.springframework.data.domain.Pageable pageable, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Reads roles in the data store, filtering to those whose name contains the given value.Deprecated.Reads the role in the data store matching the given ID.Deprecated.Read a single role by id.readByIds(List<String> ids, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Reads the roles in the data store matching the given IDs.Deprecated.replace(String id, P role, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Replaces the given role.protected <D> DreplaceInternal(@NonNull String id, P businessInstance, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Mostly copied fromMappableCrudEntityHelper.replace(String, Object, CrudRepository), but overridden to support notifying on persistence events vianotifyPersistenceProducer(NotificationStateAware).protected voidthrowIfErrors(org.springframework.validation.Errors errors) Deprecated.protected voidvalidateNoChildrenOfRoleBeforeDeletion(@NonNull String roleToDeleteId) Deprecated.Given a role that is requested to be deleted, checks that it does not have any child roles in the data store.Methods inherited from class com.broadleafcommerce.data.tracking.core.service.BaseMappableCrudEntityService
convertFromPersistentDomain, createAll, createAllAllowingPartialSuccess, getHelper, readAll, readAll, readAll, readAllByIds, readById, replaceAll, replaceAllAllowingPartialSuccess, update, updateAll, updateAllAllowingPartialSuccessMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.broadleafcommerce.data.tracking.core.service.MappableCrudEntityService
createAll, createAllAllowingPartialSuccess, readAll, readAll, readAll, readAllByIds, readById, replaceAll, replaceAllAllowingPartialSuccess, update, updateAll, updateAllAllowingPartialSuccess
-
Constructor Details
-
DefaultAdminRoleService
public DefaultAdminRoleService(AdminPermissionHydrationService adminPermissionHydrationService, AdminRoleContextValidator<P> adminRoleContextValidator, com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidatorManager validator, com.broadleafcommerce.common.messaging.PersistenceProducer persistenceProducer, AdminRoleRepository<?> repository, com.broadleafcommerce.data.tracking.core.service.MappableCrudEntityHelper helper, com.broadleafcommerce.common.messaging.notification.NotificationStateService notificationStateService, com.broadleafcommerce.common.messaging.notification.NotificationManager notificationManager, com.broadleafcommerce.common.messaging.notification.MessageSerializationHelper messageSerializationHelper, com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node> parser) Deprecated.
-
-
Method Details
-
getRepository
Deprecated.Override this to save callers a cast toDomainTypeAwareor other interfaces that it implements. -
readByIdOptional
Deprecated.Description copied from interface:AdminRoleServiceRead a single role by id.Similar to
MappableCrudEntityService.readById(String), but does not throw an exception if the entity is not found.- Specified by:
readByIdOptionalin interfaceAdminRoleService<P extends AdminRole>- Parameters:
id- the id of the role to find- Returns:
- an
Optionalcontaining the role if found, otherwiseOptional.empty()
-
readByIds
public List<P> readByIds(List<String> ids, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Description copied from interface:AdminRoleServiceReads the roles in the data store matching the given IDs. If any of the roles are not accessible from the given context as described in the class-level javadocs, they will not be returned (effectively not found).- Specified by:
readByIdsin interfaceAdminRoleService<P extends AdminRole>- Parameters:
ids- the ids of the roles to findcontextInfo- context information about multitenant state- Returns:
- the roles matching the given ids if found and accessible from the given context
-
readAllByName
public org.springframework.data.domain.Page<P> readAllByName(String name, org.springframework.data.domain.Pageable pageable, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Description copied from interface:AdminRoleServiceReads roles in the data store, filtering to those whose name contains the given value. Results are restricted to only the roles accessible from the given context as described in the class-level javadocs.- Specified by:
readAllByNamein interfaceAdminRoleService<P extends AdminRole>- Parameters:
name- the value that role names must contain in order to matchpageable- describes the page of results to returncontextInfo- context information about multitenant state- Returns:
- roles accessible in the current context that match the given name
-
existsByNameAndIdNot
public boolean existsByNameAndIdNot(@NonNull @NonNull String name, @Nullable String id, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Description copied from interface:AdminRoleServiceReports whether there exists a role in the data store whoseAdminRole.nameis equal to the givennameand whoseAdminRole.idis not equal to the givenid. Results are restricted to only the roles accessible from the given context as described in the class-level javadocs.- Specified by:
existsByNameAndIdNotin interfaceAdminRoleService<P extends AdminRole>- Parameters:
name- the value that role name must equal in order to matchid- (optional) the value that the role's id must not equal in order to match. If this value isnull, then results will not be filtered by their id.contextInfo- context information about multitenant state- Returns:
trueif there exists a role accessible from the given context matching the given name and not matching the given id,falseotherwise
-
readAll
public org.springframework.data.domain.Page<P> readAll(org.springframework.data.domain.Pageable pageable, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Description copied from interface:AdminRoleServiceReads all roles in the data store. Results are restricted to only the roles accessible from the given context as described in the class-level javadocs.- Specified by:
readAllin interfaceAdminRoleService<P extends AdminRole>- Parameters:
pageable- describes the page of results to returncontextInfo- context information about multitenant state- Returns:
- roles accessible in the current context
-
readById
public P readById(String id, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Description copied from interface:AdminRoleServiceReads the role in the data store matching the given ID.- Specified by:
readByIdin interfaceAdminRoleService<P extends AdminRole>- Parameters:
id- the id of the role to findcontextInfo- context information about multitenant state- Returns:
- the role matching the given id if found and accessible from the given context
-
existsById
Deprecated.Description copied from interface:AdminRoleServicePerforms an existence check to determine if there is a role in the data store matching the given id.- Specified by:
existsByIdin interfaceAdminRoleService<P extends AdminRole>- Parameters:
id- the id of the role to find- Returns:
- true if the role exists, false otherwise
-
existsByIdInGlobal
Deprecated.Description copied from interface:AdminRoleServicePerforms an existence check to determine if there is a role in the data store matching the given ID that has anullAdminRole.tenantId.- Specified by:
existsByIdInGlobalin interfaceAdminRoleService<P extends AdminRole>- Parameters:
id- the id of the role to find- Returns:
- true if the role exists and has a
nullAdminRole.tenantId, false otherwise
-
existsById
public boolean existsById(String id, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Description copied from interface:AdminRoleServicePerforms an existence check to determine if there is a role in the data store matching the given ID.Result will only be
trueif the record is also accessible from the given context as described in the class-level javadocs.- Specified by:
existsByIdin interfaceAdminRoleService<P extends AdminRole>- Parameters:
id- the id of the role to findcontextInfo- context information about multitenant state- Returns:
trueif a role exists that matches the given id and is accessible from the given context
-
create
public P create(P role, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Description copied from interface:AdminRoleServiceCreates the role.If in a tenant or application context, the role's context information will be overwritten and initialized to match the given context.
If in a global context, the role's context information will be untouched from what is supplied.
Emits an
OperationAwarePersistenceMessageto thePersistenceProducer.TYPEchannel.- Specified by:
createin interfaceAdminRoleService<P extends AdminRole>- Parameters:
role- the role to createcontextInfo- context information about multitenant state- Returns:
- the role after it has been created in the data store
-
throwIfErrors
protected void throwIfErrors(org.springframework.validation.Errors errors) Deprecated. -
create
public <D,R extends org.springframework.data.repository.CrudRepository<D, P createString> & com.broadleafcommerce.common.extension.DomainTypeAware> (@NonNull P businessInstance) Deprecated. -
createInternal
protected <D,R extends org.springframework.data.repository.CrudRepository<D, D createInternalString> & com.broadleafcommerce.common.extension.DomainTypeAware> (@NonNull P businessInstance) Deprecated.Mostly copied fromMappableCrudEntityHelper.create(Object, CrudRepository), but overridden to support notifying on persistence events vianotifyPersistenceProducer(NotificationStateAware).- Parameters:
businessInstance- The business domain instance. In general, theDomainMapperManageris responsible for converting to a repository platform type for persistence.- Returns:
- The new entity instance in the form of a persisted type instance.
- Throws:
com.broadleafcommerce.common.error.validation.ValidationException- if the given businessInstance could not be created
-
initializePersistenceProducerState
protected void initializePersistenceProducerState(com.broadleafcommerce.common.messaging.notification.domain.NotificationStateAware repositoryDomain, com.broadleafcommerce.data.tracking.core.type.OperationType operationType) Deprecated. -
buildPersistenceMessage
protected <T> OperationAwarePersistenceMessage<T> buildPersistenceMessage(T entity, com.broadleafcommerce.data.tracking.core.type.OperationType operationType, Instant timestamp) Deprecated. -
getSerializedRepresentation
Deprecated. -
notifyPersistenceProducer
protected void notifyPersistenceProducer(com.broadleafcommerce.common.messaging.notification.domain.NotificationStateAware domain) Deprecated. -
replace
public P replace(String id, P role, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Description copied from interface:AdminRoleServiceReplaces the given role.Emits an
OperationAwarePersistenceMessageto thePersistenceProducer.TYPEchannel.- Specified by:
replacein interfaceAdminRoleService<P extends AdminRole>- Parameters:
id- the id of the role to replacerole- the replacement rolecontextInfo- context information about multitenant state- Returns:
- the role after it has been replaced in the data store
-
replace
Deprecated. -
replaceInternal
protected <D> D replaceInternal(@NonNull @NonNull String id, @NonNull P businessInstance, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Mostly copied fromMappableCrudEntityHelper.replace(String, Object, CrudRepository), but overridden to support notifying on persistence events vianotifyPersistenceProducer(NotificationStateAware).- Parameters:
id- The id for the entity.businessInstance- The payload type that domain class should be converted to. In general, the payload is what the rest API responds with.- Returns:
- The replaced entity instance in the form of a persisted instance, or
EntityMissingExceptionif not available. - Throws:
com.broadleafcommerce.common.error.validation.ValidationException- if the given businessInstance failed validation on replacementcom.broadleafcommerce.data.tracking.core.exception.EntityMissingException- if a managed instance corresponding to the given id could not be found
-
delete
public void delete(String id, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Description copied from interface:AdminRoleServiceDeletes the given role.Emits an
OperationAwarePersistenceMessageto thePersistenceProducer.TYPEchannel.- Specified by:
deletein interfaceAdminRoleService<P extends AdminRole>- Parameters:
id- the ID of the role to deletecontextInfo- context information about multitenant state
-
delete
Deprecated.Mostly copied fromMappableCrudEntityHelper.delete(String, CrudRepository), but overridden to support notifying on persistence events viaattemptDirectlySendingDeletePersistenceMessage(String, Object).- Specified by:
deletein interfaceAdminRoleService<P extends AdminRole>- Specified by:
deletein interfacecom.broadleafcommerce.data.tracking.core.service.MappableCrudEntityService<P extends AdminRole>- Overrides:
deletein classcom.broadleafcommerce.data.tracking.core.service.BaseMappableCrudEntityService<P extends AdminRole>- Parameters:
id- The id of the entity to delete- Throws:
com.broadleafcommerce.data.tracking.core.exception.EntityMissingException- if the role was not found
-
validateNoChildrenOfRoleBeforeDeletion
Deprecated.Given a role that is requested to be deleted, checks that it does not have any child roles in the data store. This protects against descendants being suddenly orphaned.- Parameters:
roleToDeleteId- the id of the role which should be validated to have no children in the data store- Throws:
InvalidAdminRoleDeleteException- if the role has children in the data store
-
convertFromPersistentDomain
protected P convertFromPersistentDomain(Object persistedDomain, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Similar toMappableCrudEntityHelper.convertFromPersistentDomain(java.lang.Object), except will invokeDomainMapperManager.fromRepositoryDomain(BusinessTypeAware, ContextInfo)with the givencontextInfoargument instead of justnull.Ensures
MutabilityContextStateMapperMemberwill have a context to base its mutability determination on.- Parameters:
persistedDomain- the persisted-domain instance to convert to the business domaincontextInfo- context information surrounding multitenant state
-
getAdminRoleContextValidator
Deprecated. -
getAdminPermissionHydrationService
Deprecated. -
getValidator
protected com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidatorManager getValidator()Deprecated. -
getPersistenceProducer
protected com.broadleafcommerce.common.messaging.PersistenceProducer getPersistenceProducer()Deprecated. -
getNotificationStateService
protected com.broadleafcommerce.common.messaging.notification.NotificationStateService getNotificationStateService()Deprecated. -
getNotificationManager
protected com.broadleafcommerce.common.messaging.notification.NotificationManager getNotificationManager()Deprecated. -
getMessageSerializationHelper
protected com.broadleafcommerce.common.messaging.notification.MessageSerializationHelper getMessageSerializationHelper()Deprecated.
-