public abstract class AbstractSharedEntitySearcher<S extends SharedEntity> extends Object implements SharedEntitySearcher<S>
Modifier and Type | Field and Description |
---|---|
protected static QProjectRoleActor |
PROJECT_ROLE_ACTOR |
protected static QSharePermissions |
SHARE_PERMISSIONS |
Constructor and Description |
---|
AbstractSharedEntitySearcher(QueryDslAccessor queryDslAccessor,
GroupManager groupManager,
SharedEntityAccessor.Factory sharedEntityAccesorFactory) |
Modifier and Type | Method and Description |
---|---|
protected static com.querydsl.core.types.Predicate |
buildProjectPermissionsConstraint(ApplicationUser user,
Collection<String> userGroups)
Builds the 'project" share clause, based on all the project/role combinations the user belongs to
|
protected static com.querydsl.core.BooleanBuilder |
buildSimplePermissionsConstraint(Collection<String> userGroups)
Builds the simple permissions constraint based on the
ApplicationUser and its groups. |
protected abstract Long |
countInternal(DbConnection dbConnection,
ApplicationUser user,
SharedEntitySearchParameters searchParameters,
int pageOffset,
int pageSize) |
protected Collection<String> |
fetchUserGroups(ApplicationUser user)
Finds the groups where the
user belongs to |
protected abstract SharedEntity.TypeDescriptor<S> |
getTypeDescriptor() |
SharedEntitySearchResult<S> |
search(SharedEntitySearchParameters searchParameters)
Search for
SharedEntity instances that match the passed in searchParameters. |
SharedEntitySearchResult<S> |
search(SharedEntitySearchParameters searchParameters,
ApplicationUser user,
int pageOffset,
int pageSize)
Search for
SharedEntity instances that match the passed in searchParameters. |
protected abstract com.querydsl.sql.SQLQuery<Long> |
searchInternal(DbConnection dbConnection,
ApplicationUser user,
SharedEntitySearchParameters searchParameters,
int pageOffset,
int pageSize) |
protected static final QSharePermissions SHARE_PERMISSIONS
protected static final QProjectRoleActor PROJECT_ROLE_ACTOR
public AbstractSharedEntitySearcher(QueryDslAccessor queryDslAccessor, GroupManager groupManager, SharedEntityAccessor.Factory sharedEntityAccesorFactory)
public SharedEntitySearchResult<S> search(@Nonnull SharedEntitySearchParameters searchParameters, @Nullable ApplicationUser user, int pageOffset, int pageSize)
SharedEntitySearcher
SharedEntity
instances that match the passed in searchParameters.search
in interface SharedEntitySearcher<S extends SharedEntity>
searchParameters
- the search searchParameters for the search.user
- the user to perform the search as.pageOffset
- the page that should be returned by the search. Must be >=0.pageSize
- the width of the page that should be returned by the search. Can be set to Integer.MAX_VALUE if you want to return all results
at one. In this case it is compulsory to set pageOffest to 0.public SharedEntitySearchResult<S> search(@Nonnull SharedEntitySearchParameters searchParameters)
SharedEntitySearcher
SharedEntity
instances that match the passed in searchParameters. Used for system searches. Unpaged and no permissions query
performed.search
in interface SharedEntitySearcher<S extends SharedEntity>
searchParameters
- the search searchParameters for the search.protected static com.querydsl.core.BooleanBuilder buildSimplePermissionsConstraint(Collection<String> userGroups)
ApplicationUser
and its groups. Simple permissions
include the 'global' and 'group' permissions that don't need extra table joins.userGroups
- the groups the user
belongs toBooleanBuilder
with the permission constraintprotected static com.querydsl.core.types.Predicate buildProjectPermissionsConstraint(ApplicationUser user, Collection<String> userGroups)
user
- the ApplicationUser
userGroups
- the groups the user
belongs toBooleanBuilder
with the permission constraintprotected Collection<String> fetchUserGroups(ApplicationUser user)
user
belongs touser
- The ApplicationUser
Collection
of String
with the group names or an empty listprotected abstract com.querydsl.sql.SQLQuery<Long> searchInternal(DbConnection dbConnection, ApplicationUser user, SharedEntitySearchParameters searchParameters, int pageOffset, int pageSize)
protected abstract Long countInternal(DbConnection dbConnection, ApplicationUser user, SharedEntitySearchParameters searchParameters, int pageOffset, int pageSize)
protected abstract SharedEntity.TypeDescriptor<S> getTypeDescriptor()
Copyright © 2002-2016 Atlassian. All Rights Reserved.