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 P
convertFromPersistentDomain
(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 givencontextInfo
argument 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)
.void
Deprecated.Mostly copied fromMappableCrudEntityHelper.delete(String, CrudRepository)
, but overridden to support notifying on persistence events viaattemptDirectlySendingDeletePersistenceMessage(String, Object)
.void
Deprecated.Deletes the given role.boolean
existsById
(String id) Deprecated.Performs an existence check to determine if there is a role in the data store matching the given id.boolean
existsById
(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.boolean
Deprecated.Performs an existence check to determine if there is a role in the data store matching the given ID that has anull
AdminRole.tenantId
.boolean
existsByNameAndIdNot
(@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.name
is equal to the givenname
and whoseAdminRole.id
is not equal to the givenid
.protected AdminPermissionHydrationService
Deprecated.protected AdminRoleContextValidator<P>
Deprecated.protected com.broadleafcommerce.common.messaging.notification.MessageSerializationHelper
Deprecated.protected com.broadleafcommerce.common.messaging.notification.NotificationManager
Deprecated.protected com.broadleafcommerce.common.messaging.notification.NotificationStateService
Deprecated.protected com.broadleafcommerce.common.messaging.PersistenceProducer
Deprecated.protected AdminRoleRepository<?>
Deprecated.Override this to save callers a cast toDomainTypeAware
or other interfaces that it implements.protected String
getSerializedRepresentation
(Object object) Deprecated.protected com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidatorManager
Deprecated.protected void
initializePersistenceProducerState
(com.broadleafcommerce.common.messaging.notification.domain.NotificationStateAware repositoryDomain, com.broadleafcommerce.data.tracking.core.type.OperationType operationType) Deprecated.protected void
notifyPersistenceProducer
(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> D
replaceInternal
(@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 void
throwIfErrors
(org.springframework.validation.Errors errors) Deprecated.protected void
validateNoChildrenOfRoleBeforeDeletion
(@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, updateAllAllowingPartialSuccess
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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 toDomainTypeAware
or other interfaces that it implements. -
readByIdOptional
Deprecated.Description copied from interface:AdminRoleService
Read a single role by id.Similar to
MappableCrudEntityService.readById(String)
, but does not throw an exception if the entity is not found.- Specified by:
readByIdOptional
in interfaceAdminRoleService<P extends AdminRole>
- Parameters:
id
- the id of the role to find- Returns:
- an
Optional
containing 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:AdminRoleService
Reads 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:
readByIds
in 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:AdminRoleService
Reads 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:
readAllByName
in 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:AdminRoleService
Reports whether there exists a role in the data store whoseAdminRole.name
is equal to the givenname
and whoseAdminRole.id
is 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:
existsByNameAndIdNot
in 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:
true
if there exists a role accessible from the given context matching the given name and not matching the given id,false
otherwise
-
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:AdminRoleService
Reads 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:
readAll
in 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:AdminRoleService
Reads the role in the data store matching the given ID.- Specified by:
readById
in 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:AdminRoleService
Performs an existence check to determine if there is a role in the data store matching the given id.- Specified by:
existsById
in 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:AdminRoleService
Performs an existence check to determine if there is a role in the data store matching the given ID that has anull
AdminRole.tenantId
.- Specified by:
existsByIdInGlobal
in interfaceAdminRoleService<P extends AdminRole>
- Parameters:
id
- the id of the role to find- Returns:
- true if the role exists and has a
null
AdminRole.tenantId
, false otherwise
-
existsById
public boolean existsById(String id, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.Description copied from interface:AdminRoleService
Performs an existence check to determine if there is a role in the data store matching the given ID.Result will only be
true
if the record is also accessible from the given context as described in the class-level javadocs.- Specified by:
existsById
in interfaceAdminRoleService<P extends AdminRole>
- Parameters:
id
- the id of the role to findcontextInfo
- context information about multitenant state- Returns:
true
if 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:AdminRoleService
Creates 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
OperationAwarePersistenceMessage
to thePersistenceProducer.TYPE
channel.- Specified by:
create
in 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, theDomainMapperManager
is 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:AdminRoleService
Replaces the given role.Emits an
OperationAwarePersistenceMessage
to thePersistenceProducer.TYPE
channel.- Specified by:
replace
in 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
EntityMissingException
if 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:AdminRoleService
Deletes the given role.Emits an
OperationAwarePersistenceMessage
to thePersistenceProducer.TYPE
channel.- Specified by:
delete
in 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:
delete
in interfaceAdminRoleService<P extends AdminRole>
- Specified by:
delete
in interfacecom.broadleafcommerce.data.tracking.core.service.MappableCrudEntityService<P extends AdminRole>
- Overrides:
delete
in 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 givencontextInfo
argument instead of justnull
.Ensures
MutabilityContextStateMapperMember
will 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.
-