@NotNull public static QueryIndexProvider compose( @NotNull Collection<QueryIndexProvider> providers) { if (providers.isEmpty()) { return new QueryIndexProvider() { @Override public List<QueryIndex> getQueryIndexes(NodeState nodeState) { return ImmutableList.of(); } }; } else if (providers.size() == 1) { return providers.iterator().next(); } else { return new CompositeQueryIndexProvider( ImmutableList.copyOf(providers)); } }
@Override @Nonnull public List<? extends QueryIndex> getQueryIndexes(NodeState nodeState) { QueryIndexProvider composite = CompositeQueryIndexProvider.compose(getServices()); return composite.getQueryIndexes(nodeState); }
@Nonnull public static QueryIndexProvider compose( @Nonnull Collection<QueryIndexProvider> providers) { if (providers.isEmpty()) { return new QueryIndexProvider() { @Override public List<QueryIndex> getQueryIndexes(NodeState nodeState) { return ImmutableList.of(); } }; } else if (providers.size() == 1) { return providers.iterator().next(); } else { return new CompositeQueryIndexProvider( ImmutableList.copyOf(providers)); } }
@Override @NotNull public List<? extends QueryIndex> getQueryIndexes(NodeState nodeState) { QueryIndexProvider composite = CompositeQueryIndexProvider.compose(getServices()); return composite.getQueryIndexes(nodeState); }
@NotNull public static Root createSystemRoot(@NotNull NodeStore store, @Nullable CommitHook hook, @Nullable String workspaceName, @Nullable SecurityProvider securityProvider, @Nullable QueryIndexProvider indexProvider) { return SystemRoot.create(store, (hook == null) ? EmptyHook.INSTANCE : hook, (workspaceName == null) ? Oak.DEFAULT_WORKSPACE_NAME : workspaceName, (securityProvider == null) ? new OpenSecurityProvider() : securityProvider, (indexProvider == null) ? new CompositeQueryIndexProvider() : indexProvider); } }
QueryIndexProvider indexProvider = CompositeQueryIndexProvider.compose(queryIndexProviders);
@Nonnull public static Root createSystemRoot(@Nonnull NodeStore store, @Nullable CommitHook hook, @Nullable String workspaceName, @Nullable SecurityProvider securityProvider, @Nullable QueryIndexProvider indexProvider) { return SystemRoot.create(store, (hook == null) ? EmptyHook.INSTANCE : hook, (workspaceName == null) ? Oak.DEFAULT_WORKSPACE_NAME : workspaceName, (securityProvider == null) ? new OpenSecurityProvider() : securityProvider, (indexProvider == null) ? new CompositeQueryIndexProvider() : indexProvider); } }
OakInitializer.initialize(store, new CompositeInitializer(initializers), indexEditors); QueryIndexProvider indexProvider = CompositeQueryIndexProvider.compose(queryIndexProviders);
@NotNull public static Root createSystemRoot(@NotNull NodeStore store, @Nullable CommitHook hook, @Nullable String workspaceName, @Nullable SecurityProvider securityProvider, @Nullable QueryIndexProvider indexProvider) { return SystemRoot.create(store, (hook == null) ? EmptyHook.INSTANCE : hook, (workspaceName == null) ? Oak.DEFAULT_WORKSPACE_NAME : workspaceName, (securityProvider == null) ? new OpenSecurityProvider() : securityProvider, (indexProvider == null) ? new CompositeQueryIndexProvider() : indexProvider); } }
QueryIndexProvider indexProvider = CompositeQueryIndexProvider.compose(queryIndexProviders);
/** * @deprecated with Oak 1.7.2 due to the usage of deprecated {@link QueryEngineSettings} */ @NotNull public static Root createSystemRoot(@NotNull NodeStore store, @Nullable CommitHook hook, @Nullable String workspaceName, @Nullable SecurityProvider securityProvider, @Nullable QueryEngineSettings queryEngineSettings, @Nullable QueryIndexProvider indexProvider) { return SystemRoot.create(store, (hook == null) ? EmptyHook.INSTANCE : hook, (workspaceName == null) ? Oak.DEFAULT_WORKSPACE_NAME : workspaceName, (securityProvider == null) ? new OpenSecurityProvider() : securityProvider, queryEngineSettings, (indexProvider == null) ? new CompositeQueryIndexProvider(): indexProvider); }
/** * @deprecated with Oak 1.7.2 due to the usage of deprecated {@link QueryEngineSettings} */ @Nonnull public static Root createSystemRoot(@Nonnull NodeStore store, @Nullable CommitHook hook, @Nullable String workspaceName, @Nullable SecurityProvider securityProvider, @Nullable QueryEngineSettings queryEngineSettings, @Nullable QueryIndexProvider indexProvider) { return SystemRoot.create(store, (hook == null) ? EmptyHook.INSTANCE : hook, (workspaceName == null) ? Oak.DEFAULT_WORKSPACE_NAME : workspaceName, (securityProvider == null) ? new OpenSecurityProvider() : securityProvider, queryEngineSettings, (indexProvider == null) ? new CompositeQueryIndexProvider(): indexProvider); }
/** * @deprecated with Oak 1.7.2 due to the usage of deprecated {@link QueryEngineSettings} */ @NotNull public static Root createSystemRoot(@NotNull NodeStore store, @Nullable CommitHook hook, @Nullable String workspaceName, @Nullable SecurityProvider securityProvider, @Nullable QueryEngineSettings queryEngineSettings, @Nullable QueryIndexProvider indexProvider) { return SystemRoot.create(store, (hook == null) ? EmptyHook.INSTANCE : hook, (workspaceName == null) ? Oak.DEFAULT_WORKSPACE_NAME : workspaceName, (securityProvider == null) ? new OpenSecurityProvider() : securityProvider, queryEngineSettings, (indexProvider == null) ? new CompositeQueryIndexProvider(): indexProvider); }
/** * Creates an content repository instance based on the given, already * initialized components. * * @param nodeStore the node store this repository is based upon. * @param commitHook the hook to use for processing commits * @param defaultWorkspaceName the default workspace name; * @param indexProvider index provider * @param securityProvider The configured security provider. */ public ContentRepositoryImpl(@NotNull NodeStore nodeStore, @NotNull CommitHook commitHook, @NotNull String defaultWorkspaceName, QueryEngineSettings queryEngineSettings, @Nullable QueryIndexProvider indexProvider, @NotNull SecurityProvider securityProvider, @Nullable Descriptors baseDescriptors) { this.nodeStore = checkNotNull(nodeStore); this.commitHook = checkNotNull(commitHook); this.defaultWorkspaceName = checkNotNull(defaultWorkspaceName); this.securityProvider = checkNotNull(securityProvider); this.queryEngineSettings = queryEngineSettings != null ? queryEngineSettings : new QueryEngineSettings(); this.indexProvider = indexProvider != null ? indexProvider : new CompositeQueryIndexProvider(); this.baseDescriptors = baseDescriptors; }
/** * Creates an content repository instance based on the given, already * initialized components. * * @param nodeStore the node store this repository is based upon. * @param commitHook the hook to use for processing commits * @param defaultWorkspaceName the default workspace name; * @param indexProvider index provider * @param securityProvider The configured security provider. */ public ContentRepositoryImpl(@Nonnull NodeStore nodeStore, @Nonnull CommitHook commitHook, @Nonnull String defaultWorkspaceName, QueryEngineSettings queryEngineSettings, @Nullable QueryIndexProvider indexProvider, @Nonnull SecurityProvider securityProvider, @Nullable Descriptors baseDescriptors) { this.nodeStore = checkNotNull(nodeStore); this.commitHook = checkNotNull(commitHook); this.defaultWorkspaceName = checkNotNull(defaultWorkspaceName); this.securityProvider = checkNotNull(securityProvider); this.queryEngineSettings = queryEngineSettings != null ? queryEngineSettings : new QueryEngineSettings(); this.indexProvider = indexProvider != null ? indexProvider : new CompositeQueryIndexProvider(); this.baseDescriptors = baseDescriptors; }
/** * Creates an content repository instance based on the given, already * initialized components. * * @param nodeStore the node store this repository is based upon. * @param commitHook the hook to use for processing commits * @param defaultWorkspaceName the default workspace name; * @param indexProvider index provider * @param securityProvider The configured security provider. */ public ContentRepositoryImpl(@NotNull NodeStore nodeStore, @NotNull CommitHook commitHook, @NotNull String defaultWorkspaceName, QueryEngineSettings queryEngineSettings, @Nullable QueryIndexProvider indexProvider, @NotNull SecurityProvider securityProvider, @Nullable Descriptors baseDescriptors) { this.nodeStore = checkNotNull(nodeStore); this.commitHook = checkNotNull(commitHook); this.defaultWorkspaceName = checkNotNull(defaultWorkspaceName); this.securityProvider = checkNotNull(securityProvider); this.queryEngineSettings = queryEngineSettings != null ? queryEngineSettings : new QueryEngineSettings(); this.indexProvider = indexProvider != null ? indexProvider : new CompositeQueryIndexProvider(); this.baseDescriptors = baseDescriptors; }
@Test public void testInitializerSegment() throws CommitFailedException, IOException { NodeStore store = SegmentNodeStoreBuilders.builder(new MemoryStore()).build(); NodeBuilder builder = store.getRoot().builder(); new InitialContent().initialize(builder); SecurityProvider provider = SecurityProviderBuilder.newBuilder().with( ConfigurationParameters.of(ImmutableMap.of(UserConfiguration.NAME, ConfigurationParameters.of(ImmutableMap.of("anonymousId", "anonymous", "adminId", "admin", "usersPath", "/home/users", "groupsPath", "/home/groups", "defaultDepth", "1"))))).build(); WorkspaceInitializer workspaceInitializer = provider.getConfiguration(UserConfiguration.class).getWorkspaceInitializer(); if (workspaceInitializer instanceof QueryIndexProviderAware) { ((QueryIndexProviderAware) workspaceInitializer).setQueryIndexProvider( new CompositeQueryIndexProvider(new PropertyIndexProvider(), new NodeTypeIndexProvider())); } workspaceInitializer.initialize( builder, "default"); builder.getNodeState(); }