Search in sources :

Example 6 with CompositeEditorProvider

use of org.apache.jackrabbit.oak.spi.commit.CompositeEditorProvider in project jackrabbit-oak by apache.

the class RepositorySidegrade method migrateWithoutCheckpoints.

private void migrateWithoutCheckpoints() throws CommitFailedException, RepositoryException {
    final List<CommitHook> hooks = new ArrayList<>();
    if (customCommitHooks != null) {
        hooks.addAll(customCommitHooks);
    }
    NodeState sourceRoot = wrapNodeState(source.getRoot(), true, false);
    NodeBuilder targetRoot = target.getRoot().builder();
    copyWorkspace(sourceRoot, targetRoot);
    removeCheckpointReferences(targetRoot);
    if (!versionCopyConfiguration.isCopyAll()) {
        NodeBuilder versionStorage = VersionHistoryUtil.getVersionStorage(targetRoot);
        if (!versionStorage.exists()) {
            // it's possible that this is a new repository and the version storage
            // hasn't been created/copied yet
            versionStorage = VersionHistoryUtil.createVersionStorage(targetRoot);
        }
        if (!versionCopyConfiguration.skipOrphanedVersionsCopy()) {
            copyVersionStorage(targetRoot, getVersionStorage(sourceRoot), versionStorage, versionCopyConfiguration);
        }
        hooks.add(new EditorHook(new VersionableEditor.Provider(sourceRoot, getWorkspaceName(), versionCopyConfiguration)));
    }
    // type validation, reference and indexing hooks
    hooks.add(new EditorHook(new CompositeEditorProvider(createTypeEditorProvider(), createIndexEditorProvider())));
    target.merge(targetRoot, new LoggingCompositeHook(hooks, null, false), CommitInfo.EMPTY);
    removeVersions();
}
Also used : CompositeEditorProvider(org.apache.jackrabbit.oak.spi.commit.CompositeEditorProvider) NameFilteringNodeState(org.apache.jackrabbit.oak.upgrade.nodestate.NameFilteringNodeState) MetadataExposingNodeState(org.apache.jackrabbit.oak.upgrade.nodestate.MetadataExposingNodeState) ReportingNodeState(org.apache.jackrabbit.oak.plugins.migration.report.ReportingNodeState) NodeState(org.apache.jackrabbit.oak.spi.state.NodeState) SegmentNodeState(org.apache.jackrabbit.oak.segment.SegmentNodeState) FilteringNodeState(org.apache.jackrabbit.oak.plugins.migration.FilteringNodeState) CommitHook(org.apache.jackrabbit.oak.spi.commit.CommitHook) EditorHook(org.apache.jackrabbit.oak.spi.commit.EditorHook) ArrayList(java.util.ArrayList) NodeBuilder(org.apache.jackrabbit.oak.spi.state.NodeBuilder) LoggingCompositeHook(org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade.LoggingCompositeHook) RepositoryUpgrade.createTypeEditorProvider(org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade.createTypeEditorProvider) RepositoryUpgrade.createIndexEditorProvider(org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade.createIndexEditorProvider) CompositeEditorProvider(org.apache.jackrabbit.oak.spi.commit.CompositeEditorProvider)

Example 7 with CompositeEditorProvider

use of org.apache.jackrabbit.oak.spi.commit.CompositeEditorProvider in project jackrabbit-oak by apache.

the class LuceneIndexAggregationTest2 method createRepository.

@Override
protected ContentRepository createRepository() {
    LuceneIndexProvider provider = new LuceneIndexProvider();
    return new Oak().with(new InitialContent() {

        @Override
        public void initialize(@Nonnull NodeBuilder builder) {
            super.initialize(builder);
            // registering additional node types for wider testing
            InputStream stream = null;
            try {
                stream = LuceneIndexAggregationTest2.class.getResourceAsStream("test_nodetypes.cnd");
                NodeState base = builder.getNodeState();
                NodeStore store = new MemoryNodeStore(base);
                Root root = RootFactory.createSystemRoot(store, new EditorHook(new CompositeEditorProvider(new NamespaceEditorProvider(), new TypeEditorProvider())), null, null, null, null);
                NodeTypeRegistry.register(root, stream, "testing node types");
                NodeState target = store.getRoot();
                target.compareAgainstBaseState(base, new ApplyDiff(builder));
            } catch (Exception e) {
                LOG.error("Error while registering required node types. Failing here", e);
                fail("Error while registering required node types");
            } finally {
                printNodeTypes(builder);
                if (stream != null) {
                    try {
                        stream.close();
                    } catch (IOException e) {
                        LOG.debug("Ignoring exception on stream closing.", e);
                    }
                }
            }
        }
    }).with(new OpenSecurityProvider()).with(((QueryIndexProvider) provider.with(getNodeAggregator()))).with((Observer) provider).with(new LuceneIndexEditorProvider()).createContentRepository();
}
Also used : NamespaceEditorProvider(org.apache.jackrabbit.oak.plugins.name.NamespaceEditorProvider) ApplyDiff(org.apache.jackrabbit.oak.spi.state.ApplyDiff) CompositeEditorProvider(org.apache.jackrabbit.oak.spi.commit.CompositeEditorProvider) NodeState(org.apache.jackrabbit.oak.spi.state.NodeState) Root(org.apache.jackrabbit.oak.api.Root) Nonnull(javax.annotation.Nonnull) InputStream(java.io.InputStream) OpenSecurityProvider(org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider) IOException(java.io.IOException) NodeBuilder(org.apache.jackrabbit.oak.spi.state.NodeBuilder) IOException(java.io.IOException) InitialContent(org.apache.jackrabbit.oak.InitialContent) NodeStore(org.apache.jackrabbit.oak.spi.state.NodeStore) MemoryNodeStore(org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore) MemoryNodeStore(org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore) TypeEditorProvider(org.apache.jackrabbit.oak.plugins.nodetype.TypeEditorProvider) EditorHook(org.apache.jackrabbit.oak.spi.commit.EditorHook) Oak(org.apache.jackrabbit.oak.Oak)

Aggregations

CompositeEditorProvider (org.apache.jackrabbit.oak.spi.commit.CompositeEditorProvider)7 EditorHook (org.apache.jackrabbit.oak.spi.commit.EditorHook)7 NodeState (org.apache.jackrabbit.oak.spi.state.NodeState)6 TypeEditorProvider (org.apache.jackrabbit.oak.plugins.nodetype.TypeEditorProvider)5 NodeBuilder (org.apache.jackrabbit.oak.spi.state.NodeBuilder)5 Root (org.apache.jackrabbit.oak.api.Root)4 MemoryNodeStore (org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore)4 NamespaceEditorProvider (org.apache.jackrabbit.oak.plugins.name.NamespaceEditorProvider)4 ApplyDiff (org.apache.jackrabbit.oak.spi.state.ApplyDiff)4 NodeStore (org.apache.jackrabbit.oak.spi.state.NodeStore)4 IOException (java.io.IOException)3 InitialContent (org.apache.jackrabbit.oak.InitialContent)3 InputStream (java.io.InputStream)2 Nonnull (javax.annotation.Nonnull)2 Oak (org.apache.jackrabbit.oak.Oak)2 CompositeIndexEditorProvider (org.apache.jackrabbit.oak.plugins.index.CompositeIndexEditorProvider)2 PropertyIndexEditorProvider (org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider)2 ReferenceEditorProvider (org.apache.jackrabbit.oak.plugins.index.reference.ReferenceEditorProvider)2 FilteringNodeState (org.apache.jackrabbit.oak.plugins.migration.FilteringNodeState)2 ReportingNodeState (org.apache.jackrabbit.oak.plugins.migration.report.ReportingNodeState)2