Search in sources :

Example 1 with STARTED

use of org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.State.STARTED in project nexus-public by sonatype.

the class SelectorManagerImpl method browseActive.

@Override
@Guarded(by = STARTED)
public List<SelectorConfiguration> browseActive(final List<String> repositoryNames, final List<String> formats) {
    AuthorizationManager authorizationManager;
    User currentUser;
    try {
        authorizationManager = securitySystem.getAuthorizationManager(DEFAULT_SOURCE);
        currentUser = securitySystem.currentUser();
    } catch (NoSuchAuthorizationManagerException | UserNotFoundException e) {
        log.warn("Unable to load active content selectors", e);
        return Collections.emptyList();
    }
    if (currentUser == null) {
        return Collections.emptyList();
    }
    List<String> roleIds = currentUser.getRoles().stream().map(RoleIdentifier::getRoleId).collect(toList());
    List<Role> roles = getRoles(roleIds, authorizationManager, new ArrayList<>());
    List<String> contentSelectorNames = roles.stream().map(Role::getPrivileges).flatMap(Collection::stream).map(id -> {
        try {
            return authorizationManager.getPrivilege(id);
        } catch (NoSuchPrivilegeException e) {
            log.debug("Unable to find privilege for id={}, continuing to check privileges", id, e);
            return null;
        }
    }).filter(Objects::nonNull).filter(repositoryFormatOrNameMatcher(repositoryNames, formats)).map(this::getContentSelector).collect(toList());
    return browse().stream().filter(selector -> contentSelectorNames.contains(selector.getName())).collect(toList());
}
Also used : UserNotFoundException(org.sonatype.nexus.security.user.UserNotFoundException) Role(org.sonatype.nexus.security.role.Role) RoleIdentifier(org.sonatype.nexus.security.role.RoleIdentifier) LoadingCache(com.google.common.cache.LoadingCache) EntityId(org.sonatype.nexus.common.entity.EntityId) StringUtils(org.apache.commons.lang3.StringUtils) Guarded(org.sonatype.nexus.common.stateguard.Guarded) P_CONTENT_SELECTOR(org.sonatype.nexus.repository.security.RepositoryContentSelectorPrivilegeDescriptor.P_CONTENT_SELECTOR) Map(java.util.Map) SelectorConfiguration(org.sonatype.nexus.selector.SelectorConfiguration) AllowConcurrentEvents(com.google.common.eventbus.AllowConcurrentEvents) SelectorSqlBuilder(org.sonatype.nexus.selector.SelectorSqlBuilder) SelectorFactory(org.sonatype.nexus.selector.SelectorFactory) SecuritySystem(org.sonatype.nexus.security.SecuritySystem) Predicate(java.util.function.Predicate) Collection(java.util.Collection) RepositorySelector(org.sonatype.nexus.repository.security.RepositorySelector) NoSuchPrivilegeException(org.sonatype.nexus.security.privilege.NoSuchPrivilegeException) SERVICES(org.sonatype.nexus.common.app.ManagedLifecycle.Phase.SERVICES) Objects(java.util.Objects) CacheLoader(com.google.common.cache.CacheLoader) List(java.util.List) STARTED(org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.State.STARTED) NoSuchAuthorizationManagerException(org.sonatype.nexus.security.authz.NoSuchAuthorizationManagerException) UserNotFoundException(org.sonatype.nexus.security.user.UserNotFoundException) Optional(java.util.Optional) Selector(org.sonatype.nexus.selector.Selector) CacheBuilder(com.google.common.cache.CacheBuilder) DEFAULT_SOURCE(org.sonatype.nexus.security.user.UserManager.DEFAULT_SOURCE) Singleton(javax.inject.Singleton) ArrayList(java.util.ArrayList) EventAware(org.sonatype.nexus.common.event.EventAware) Inject(javax.inject.Inject) SelectorManager(org.sonatype.nexus.selector.SelectorManager) ImmutableList(com.google.common.collect.ImmutableList) RepositoryContentSelectorPrivilegeDescriptor(org.sonatype.nexus.repository.security.RepositoryContentSelectorPrivilegeDescriptor) Subscribe(com.google.common.eventbus.Subscribe) SoftReference(java.lang.ref.SoftReference) Named(javax.inject.Named) StateGuardLifecycleSupport(org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport) Role(org.sonatype.nexus.security.role.Role) VariableSource(org.sonatype.nexus.selector.VariableSource) NoSuchRoleException(org.sonatype.nexus.security.role.NoSuchRoleException) User(org.sonatype.nexus.security.user.User) AuthorizationManager(org.sonatype.nexus.security.authz.AuthorizationManager) SelectorEvaluationException(org.sonatype.nexus.selector.SelectorEvaluationException) Preconditions.checkNotNull(com.google.common.base.Preconditions.checkNotNull) P_REPOSITORY(org.sonatype.nexus.repository.security.RepositoryContentSelectorPrivilegeDescriptor.P_REPOSITORY) Collectors.toList(java.util.stream.Collectors.toList) ManagedLifecycle(org.sonatype.nexus.common.app.ManagedLifecycle) Collections(java.util.Collections) Privilege(org.sonatype.nexus.security.privilege.Privilege) NoSuchAuthorizationManagerException(org.sonatype.nexus.security.authz.NoSuchAuthorizationManagerException) User(org.sonatype.nexus.security.user.User) NoSuchPrivilegeException(org.sonatype.nexus.security.privilege.NoSuchPrivilegeException) AuthorizationManager(org.sonatype.nexus.security.authz.AuthorizationManager) Guarded(org.sonatype.nexus.common.stateguard.Guarded)

Example 2 with STARTED

use of org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.State.STARTED in project nexus-public by sonatype.

the class SelectorManagerImpl method browseActive.

@Override
@Guarded(by = STARTED)
public List<SelectorConfiguration> browseActive(final Collection<String> repositoryNames, final Collection<String> formats) {
    AuthorizationManager authorizationManager;
    User currentUser;
    try {
        authorizationManager = securitySystem.getAuthorizationManager(DEFAULT_SOURCE);
        currentUser = securitySystem.currentUser();
    } catch (NoSuchAuthorizationManagerException | UserNotFoundException e) {
        log.warn("Unable to load active content selectors", e);
        return Collections.emptyList();
    }
    if (currentUser == null) {
        return Collections.emptyList();
    }
    List<String> roleIds = currentUser.getRoles().stream().map(RoleIdentifier::getRoleId).collect(toList());
    Set<String> privilegeIds = getRoles(roleIds, authorizationManager).stream().map(Role::getPrivileges).flatMap(Collection::stream).collect(Collectors.toSet());
    List<String> contentSelectorNames = authorizationManager.getPrivileges(privilegeIds).stream().filter(repositoryFormatOrNameMatcher(repositoryNames, formats)).map(this::getContentSelector).collect(toList());
    return browse().stream().filter(selector -> contentSelectorNames.contains(selector.getName())).collect(toList());
}
Also used : UserNotFoundException(org.sonatype.nexus.security.user.UserNotFoundException) Role(org.sonatype.nexus.security.role.Role) RoleIdentifier(org.sonatype.nexus.security.role.RoleIdentifier) SelectorConfigurationChangedEvent(org.sonatype.nexus.distributed.event.service.api.common.SelectorConfigurationChangedEvent) LoadingCache(com.google.common.cache.LoadingCache) EntityId(org.sonatype.nexus.common.entity.EntityId) StringUtils(org.apache.commons.lang3.StringUtils) Guarded(org.sonatype.nexus.common.stateguard.Guarded) P_CONTENT_SELECTOR(org.sonatype.nexus.repository.security.RepositoryContentSelectorPrivilegeDescriptor.P_CONTENT_SELECTOR) Map(java.util.Map) SelectorConfiguration(org.sonatype.nexus.selector.SelectorConfiguration) AllowConcurrentEvents(com.google.common.eventbus.AllowConcurrentEvents) SelectorSqlBuilder(org.sonatype.nexus.selector.SelectorSqlBuilder) SelectorFactory(org.sonatype.nexus.selector.SelectorFactory) SecuritySystem(org.sonatype.nexus.security.SecuritySystem) Predicate(java.util.function.Predicate) Collection(java.util.Collection) Set(java.util.Set) RepositorySelector(org.sonatype.nexus.repository.security.RepositorySelector) SERVICES(org.sonatype.nexus.common.app.ManagedLifecycle.Phase.SERVICES) Collectors(java.util.stream.Collectors) CacheLoader(com.google.common.cache.CacheLoader) List(java.util.List) STARTED(org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.State.STARTED) NoSuchAuthorizationManagerException(org.sonatype.nexus.security.authz.NoSuchAuthorizationManagerException) UserNotFoundException(org.sonatype.nexus.security.user.UserNotFoundException) Optional(java.util.Optional) DuplicateKeyException(org.sonatype.nexus.datastore.api.DuplicateKeyException) Selector(org.sonatype.nexus.selector.Selector) CacheBuilder(com.google.common.cache.CacheBuilder) ValidationErrorsException(org.sonatype.nexus.rest.ValidationErrorsException) DEFAULT_SOURCE(org.sonatype.nexus.security.user.UserManager.DEFAULT_SOURCE) Singleton(javax.inject.Singleton) Function(java.util.function.Function) EventAware(org.sonatype.nexus.common.event.EventAware) HashSet(java.util.HashSet) Inject(javax.inject.Inject) SelectorManager(org.sonatype.nexus.selector.SelectorManager) ImmutableList(com.google.common.collect.ImmutableList) RepositoryContentSelectorPrivilegeDescriptor(org.sonatype.nexus.repository.security.RepositoryContentSelectorPrivilegeDescriptor) Subscribe(com.google.common.eventbus.Subscribe) SoftReference(java.lang.ref.SoftReference) Named(javax.inject.Named) StateGuardLifecycleSupport(org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport) Role(org.sonatype.nexus.security.role.Role) VariableSource(org.sonatype.nexus.selector.VariableSource) User(org.sonatype.nexus.security.user.User) AuthorizationManager(org.sonatype.nexus.security.authz.AuthorizationManager) SelectorEvaluationException(org.sonatype.nexus.selector.SelectorEvaluationException) Preconditions.checkNotNull(com.google.common.base.Preconditions.checkNotNull) P_REPOSITORY(org.sonatype.nexus.repository.security.RepositoryContentSelectorPrivilegeDescriptor.P_REPOSITORY) Collectors.toList(java.util.stream.Collectors.toList) UserManager(org.sonatype.nexus.security.user.UserManager) ManagedLifecycle(org.sonatype.nexus.common.app.ManagedLifecycle) Collections(java.util.Collections) Privilege(org.sonatype.nexus.security.privilege.Privilege) NoSuchAuthorizationManagerException(org.sonatype.nexus.security.authz.NoSuchAuthorizationManagerException) User(org.sonatype.nexus.security.user.User) AuthorizationManager(org.sonatype.nexus.security.authz.AuthorizationManager) Guarded(org.sonatype.nexus.common.stateguard.Guarded)

Example 3 with STARTED

use of org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.State.STARTED in project nexus-public by sonatype.

the class OrientBrowseNodeStore method deleteByRepository.

@Guarded(by = STARTED)
public void deleteByRepository(final String repositoryName) {
    log.debug("Deleting all browse nodes for repository {}", repositoryName);
    ProgressLogIntervalHelper progressLogger = new ProgressLogIntervalHelper(log, 60);
    int deletedCount;
    do {
        deletedCount = inTxRetry(databaseInstance).call(db -> entityAdapter.deleteByRepository(db, repositoryName, deletePageSize));
        progressLogger.info("Deleted {} browse nodes for repository {} in {}", deletedCount, repositoryName, progressLogger.getElapsed());
    } while (deletedCount == deletePageSize);
    progressLogger.flush();
    log.debug("All browse nodes deleted for repository {} in {}", repositoryName, progressLogger.getElapsed());
}
Also used : StorageFacet(org.sonatype.nexus.repository.storage.StorageFacet) Provider(javax.inject.Provider) GroupFacet(org.sonatype.nexus.repository.group.GroupFacet) EntityId(org.sonatype.nexus.common.entity.EntityId) OrientTransactional.inTxRetry(org.sonatype.nexus.orient.transaction.OrientTransactional.inTxRetry) BrowseNodeFilter(org.sonatype.nexus.repository.browse.node.BrowseNodeFilter) Guarded(org.sonatype.nexus.common.stateguard.Guarded) BucketEntityAdapter(org.sonatype.nexus.repository.storage.BucketEntityAdapter) BrowseNode(org.sonatype.nexus.repository.browse.node.BrowseNode) Arrays.asList(java.util.Arrays.asList) Map(java.util.Map) EscapeHelper(org.sonatype.nexus.common.template.EscapeHelper) SelectorConfiguration(org.sonatype.nexus.selector.SelectorConfiguration) SelectorSqlBuilder(org.sonatype.nexus.selector.SelectorSqlBuilder) BrowseListItem(org.sonatype.nexus.repository.browse.node.BrowseListItem) ONeedRetryException(com.orientechnologies.common.concur.ONeedRetryException) Collections.emptyList(java.util.Collections.emptyList) StorageTx(org.sonatype.nexus.repository.storage.StorageTx) Collectors(java.util.stream.Collectors) Asset(org.sonatype.nexus.repository.storage.Asset) AUTHZ_REPOSITORY_NAME(org.sonatype.nexus.repository.browse.internal.orient.BrowseNodeEntityAdapter.AUTHZ_REPOSITORY_NAME) Priority(javax.annotation.Priority) List(java.util.List) BrowseNodeIdentity(org.sonatype.nexus.repository.browse.node.BrowseNodeIdentity) Stream(java.util.stream.Stream) BrowseNodeComparator(org.sonatype.nexus.repository.browse.node.BrowseNodeComparator) STARTED(org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.State.STARTED) EntityHelper(org.sonatype.nexus.common.entity.EntityHelper) ORecordDuplicatedException(com.orientechnologies.orient.core.storage.ORecordDuplicatedException) BrowseNodeQueryService(org.sonatype.nexus.repository.browse.node.BrowseNodeQueryService) Optional(java.util.Optional) SecurityHelper(org.sonatype.nexus.security.SecurityHelper) ComponentSchemaRegistration(org.sonatype.nexus.repository.storage.internal.ComponentSchemaRegistration) SimpleDateFormat(java.text.SimpleDateFormat) HashMap(java.util.HashMap) Singleton(javax.inject.Singleton) ArrayList(java.util.ArrayList) Inject(javax.inject.Inject) SelectorManager(org.sonatype.nexus.selector.SelectorManager) SCHEMAS(org.sonatype.nexus.common.app.ManagedLifecycle.Phase.SCHEMAS) AttachedEntityId(org.sonatype.nexus.orient.entity.AttachedEntityId) Component(org.sonatype.nexus.repository.storage.Component) UnitOfWork(org.sonatype.nexus.transaction.UnitOfWork) DefaultBrowseNodeComparator(org.sonatype.nexus.repository.browse.node.DefaultBrowseNodeComparator) Repository(org.sonatype.nexus.repository.Repository) RepositoryViewPermission(org.sonatype.nexus.repository.security.RepositoryViewPermission) ODocument(com.orientechnologies.orient.core.record.impl.ODocument) ProgressLogIntervalHelper(org.sonatype.nexus.logging.task.ProgressLogIntervalHelper) BrowseNodeConfiguration(org.sonatype.nexus.repository.browse.node.BrowseNodeConfiguration) CselSelector(org.sonatype.nexus.selector.CselSelector) BreadActions(org.sonatype.nexus.security.BreadActions) Named(javax.inject.Named) Nullable(javax.annotation.Nullable) StateGuardLifecycleSupport(org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport) P_ASSET_ID(org.sonatype.nexus.repository.browse.internal.orient.BrowseNodeEntityAdapter.P_ASSET_ID) SelectorEvaluationException(org.sonatype.nexus.selector.SelectorEvaluationException) Equivalence(com.google.common.base.Equivalence) OrientTransactional.inTx(org.sonatype.nexus.orient.transaction.OrientTransactional.inTx) Preconditions.checkNotNull(com.google.common.base.Preconditions.checkNotNull) P_FORMAT(org.sonatype.nexus.repository.browse.internal.orient.BrowseNodeEntityAdapter.P_FORMAT) DatabaseInstance(org.sonatype.nexus.orient.DatabaseInstance) BrowsePath(org.sonatype.nexus.repository.browse.node.BrowsePath) Collectors.toList(java.util.stream.Collectors.toList) Transactional(org.sonatype.nexus.transaction.Transactional) Wrapper(com.google.common.base.Equivalence.Wrapper) ManagedLifecycle(org.sonatype.nexus.common.app.ManagedLifecycle) P_PATH(org.sonatype.nexus.repository.browse.internal.orient.BrowseNodeEntityAdapter.P_PATH) Comparator(java.util.Comparator) GroupType(org.sonatype.nexus.repository.types.GroupType) Collections(java.util.Collections) ProgressLogIntervalHelper(org.sonatype.nexus.logging.task.ProgressLogIntervalHelper) Guarded(org.sonatype.nexus.common.stateguard.Guarded)

Example 4 with STARTED

use of org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.State.STARTED in project nexus-public by sonatype.

the class OrientBrowseNodeStore method getByPath.

@Override
@Guarded(by = STARTED)
public Iterable<BrowseNode> getByPath(final Repository repository, final List<String> path, final int maxNodes) {
    String repositoryName = repository.getName();
    String format = repository.getFormat().getValue();
    List<SelectorConfiguration> selectors = emptyList();
    if (!hasBrowsePermission(repositoryName, format)) {
        // user doesn't have repository-wide access so need to apply content selection
        selectors = selectorManager.browseActive(asList(repositoryName), asList(format));
        if (selectors.isEmpty()) {
            // no browse permission and no selectors -> no results
            return emptyList();
        }
    }
    Map<String, Object> filterParameters = new HashMap<>();
    String assetFilter = buildAssetFilter(repository, selectors, filterParameters);
    BrowseNodeFilter filter = browseNodeFilters.getOrDefault(format, (node, name) -> true);
    List<BrowseNode> results;
    if (repository.getType() instanceof GroupType) {
        BrowseNodeIdentity identity = browseNodeIdentities.getOrDefault(format, BrowseNode::getName);
        Equivalence<OrientBrowseNode> browseNodeEquivalence = Equivalence.equals().onResultOf(identity::identity);
        // overlay member results, first-one-wins if there are any nodes with the same name
        results = members(repository).map(m -> getByPath(m.getName(), path, maxNodes, assetFilter, filterParameters)).flatMap(List::stream).map(browseNodeEquivalence::wrap).distinct().map(Wrapper::get).filter(node -> filter.test(node, repositoryName.equals(node.getRepositoryName()))).limit(maxNodes).collect(toList());
    } else {
        results = getByPath(repository.getName(), path, maxNodes, assetFilter, filterParameters).stream().filter(node -> filter.test(node, repositoryName.equals(node.getRepositoryName()))).collect(toList());
    }
    results.sort(getBrowseNodeComparator(format));
    return results;
}
Also used : StorageFacet(org.sonatype.nexus.repository.storage.StorageFacet) Provider(javax.inject.Provider) GroupFacet(org.sonatype.nexus.repository.group.GroupFacet) EntityId(org.sonatype.nexus.common.entity.EntityId) OrientTransactional.inTxRetry(org.sonatype.nexus.orient.transaction.OrientTransactional.inTxRetry) BrowseNodeFilter(org.sonatype.nexus.repository.browse.node.BrowseNodeFilter) Guarded(org.sonatype.nexus.common.stateguard.Guarded) BucketEntityAdapter(org.sonatype.nexus.repository.storage.BucketEntityAdapter) BrowseNode(org.sonatype.nexus.repository.browse.node.BrowseNode) Arrays.asList(java.util.Arrays.asList) Map(java.util.Map) EscapeHelper(org.sonatype.nexus.common.template.EscapeHelper) SelectorConfiguration(org.sonatype.nexus.selector.SelectorConfiguration) SelectorSqlBuilder(org.sonatype.nexus.selector.SelectorSqlBuilder) BrowseListItem(org.sonatype.nexus.repository.browse.node.BrowseListItem) ONeedRetryException(com.orientechnologies.common.concur.ONeedRetryException) Collections.emptyList(java.util.Collections.emptyList) StorageTx(org.sonatype.nexus.repository.storage.StorageTx) Collectors(java.util.stream.Collectors) Asset(org.sonatype.nexus.repository.storage.Asset) AUTHZ_REPOSITORY_NAME(org.sonatype.nexus.repository.browse.internal.orient.BrowseNodeEntityAdapter.AUTHZ_REPOSITORY_NAME) Priority(javax.annotation.Priority) List(java.util.List) BrowseNodeIdentity(org.sonatype.nexus.repository.browse.node.BrowseNodeIdentity) Stream(java.util.stream.Stream) BrowseNodeComparator(org.sonatype.nexus.repository.browse.node.BrowseNodeComparator) STARTED(org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.State.STARTED) EntityHelper(org.sonatype.nexus.common.entity.EntityHelper) ORecordDuplicatedException(com.orientechnologies.orient.core.storage.ORecordDuplicatedException) BrowseNodeQueryService(org.sonatype.nexus.repository.browse.node.BrowseNodeQueryService) Optional(java.util.Optional) SecurityHelper(org.sonatype.nexus.security.SecurityHelper) ComponentSchemaRegistration(org.sonatype.nexus.repository.storage.internal.ComponentSchemaRegistration) SimpleDateFormat(java.text.SimpleDateFormat) HashMap(java.util.HashMap) Singleton(javax.inject.Singleton) ArrayList(java.util.ArrayList) Inject(javax.inject.Inject) SelectorManager(org.sonatype.nexus.selector.SelectorManager) SCHEMAS(org.sonatype.nexus.common.app.ManagedLifecycle.Phase.SCHEMAS) AttachedEntityId(org.sonatype.nexus.orient.entity.AttachedEntityId) Component(org.sonatype.nexus.repository.storage.Component) UnitOfWork(org.sonatype.nexus.transaction.UnitOfWork) DefaultBrowseNodeComparator(org.sonatype.nexus.repository.browse.node.DefaultBrowseNodeComparator) Repository(org.sonatype.nexus.repository.Repository) RepositoryViewPermission(org.sonatype.nexus.repository.security.RepositoryViewPermission) ODocument(com.orientechnologies.orient.core.record.impl.ODocument) ProgressLogIntervalHelper(org.sonatype.nexus.logging.task.ProgressLogIntervalHelper) BrowseNodeConfiguration(org.sonatype.nexus.repository.browse.node.BrowseNodeConfiguration) CselSelector(org.sonatype.nexus.selector.CselSelector) BreadActions(org.sonatype.nexus.security.BreadActions) Named(javax.inject.Named) Nullable(javax.annotation.Nullable) StateGuardLifecycleSupport(org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport) P_ASSET_ID(org.sonatype.nexus.repository.browse.internal.orient.BrowseNodeEntityAdapter.P_ASSET_ID) SelectorEvaluationException(org.sonatype.nexus.selector.SelectorEvaluationException) Equivalence(com.google.common.base.Equivalence) OrientTransactional.inTx(org.sonatype.nexus.orient.transaction.OrientTransactional.inTx) Preconditions.checkNotNull(com.google.common.base.Preconditions.checkNotNull) P_FORMAT(org.sonatype.nexus.repository.browse.internal.orient.BrowseNodeEntityAdapter.P_FORMAT) DatabaseInstance(org.sonatype.nexus.orient.DatabaseInstance) BrowsePath(org.sonatype.nexus.repository.browse.node.BrowsePath) Collectors.toList(java.util.stream.Collectors.toList) Transactional(org.sonatype.nexus.transaction.Transactional) Wrapper(com.google.common.base.Equivalence.Wrapper) ManagedLifecycle(org.sonatype.nexus.common.app.ManagedLifecycle) P_PATH(org.sonatype.nexus.repository.browse.internal.orient.BrowseNodeEntityAdapter.P_PATH) Comparator(java.util.Comparator) GroupType(org.sonatype.nexus.repository.types.GroupType) Collections(java.util.Collections) Wrapper(com.google.common.base.Equivalence.Wrapper) BrowseNodeIdentity(org.sonatype.nexus.repository.browse.node.BrowseNodeIdentity) HashMap(java.util.HashMap) BrowseNodeFilter(org.sonatype.nexus.repository.browse.node.BrowseNodeFilter) BrowseNode(org.sonatype.nexus.repository.browse.node.BrowseNode) SelectorConfiguration(org.sonatype.nexus.selector.SelectorConfiguration) GroupType(org.sonatype.nexus.repository.types.GroupType) Guarded(org.sonatype.nexus.common.stateguard.Guarded)

Aggregations

Preconditions.checkNotNull (com.google.common.base.Preconditions.checkNotNull)4 Collections (java.util.Collections)4 List (java.util.List)4 Map (java.util.Map)4 Optional (java.util.Optional)4 Collectors.toList (java.util.stream.Collectors.toList)4 Inject (javax.inject.Inject)4 Named (javax.inject.Named)4 Singleton (javax.inject.Singleton)4 ManagedLifecycle (org.sonatype.nexus.common.app.ManagedLifecycle)4 EntityId (org.sonatype.nexus.common.entity.EntityId)4 Guarded (org.sonatype.nexus.common.stateguard.Guarded)4 StateGuardLifecycleSupport (org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport)4 STARTED (org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.State.STARTED)4 ArrayList (java.util.ArrayList)3 Collectors (java.util.stream.Collectors)3 SelectorConfiguration (org.sonatype.nexus.selector.SelectorConfiguration)3 SelectorEvaluationException (org.sonatype.nexus.selector.SelectorEvaluationException)3 SelectorManager (org.sonatype.nexus.selector.SelectorManager)3 SelectorSqlBuilder (org.sonatype.nexus.selector.SelectorSqlBuilder)3