@CheckForNull public static Editor wrap(@CheckForNull Editor editor) { if (editor != null && !(editor instanceof VisibleEditor)) { return new VisibleEditor(editor); } return editor; }
@Override @CheckForNull public Editor childNodeChanged( String name, NodeState before, NodeState after) throws CommitFailedException { if (!isHidden(name)) { return wrap(editor.childNodeChanged(name, before, after)); } else { return null; } }
@Nullable public static Editor wrap(@Nullable Editor editor) { if (editor != null && !(editor instanceof VisibleEditor)) { return new VisibleEditor(editor); } return editor; }
@Override @CheckForNull public Editor childNodeDeleted(String name, NodeState before) throws CommitFailedException { if (!isHidden(name)) { return wrap(editor.childNodeDeleted(name, before)); } else { return null; } }
@Override public void run() { EditorDiff.process( new VisibleEditor(TraversingEditor.INSTANCE), before, state); } });
@Override @Nullable public Editor childNodeAdded(String name, NodeState after) throws CommitFailedException { if (!isHidden(name)) { return wrap(editor.childNodeAdded(name, after)); } else { return null; } }
@Override public void run() { EditorDiff.process( new VisibleEditor(TraversingEditor.INSTANCE), before, state); } });
@Override @Nullable public Editor childNodeChanged( String name, NodeState before, NodeState after) throws CommitFailedException { if (!isHidden(name)) { return wrap(editor.childNodeChanged(name, before, after)); } else { return null; } }
Editor editor = new VisibleEditor(new TypeEditor( callback, modifiedTypes, afterTypes, primary, mixins, builder)); return new VisibleEditor(new TypeEditor( callback, null, afterTypes, primary, mixins, builder));
@Override @Nullable public Editor childNodeDeleted(String name, NodeState before) throws CommitFailedException { if (!isHidden(name)) { return wrap(editor.childNodeDeleted(name, before)); } else { return null; } }
Editor editor = new VisibleEditor(new TypeEditor( callback, modifiedTypes, afterTypes, primary, mixins, builder)); return new VisibleEditor(new TypeEditor( callback, null, afterTypes, primary, mixins, builder));
@Override @CheckForNull public Editor childNodeAdded(String name, NodeState after) throws CommitFailedException { if (!isHidden(name)) { return wrap(editor.childNodeAdded(name, after)); } else { return null; } }
Editor editor = new VisibleEditor(new TypeEditor( callback, modifiedTypes, afterTypes, primary, mixins, builder)); return new VisibleEditor(new TypeEditor( callback, null, afterTypes, primary, mixins, builder));
@Override @Nullable public Editor getRootEditor( NodeState before, NodeState after, NodeBuilder builder, CommitInfo info) { IndexUpdate editor = new IndexUpdate(provider, async, after, builder, NOOP_CALLBACK, NodeTraversalCallback.NOOP, info, corruptIndexHandler) .withMissingProviderStrategy(missingStrategy); editor.setIgnoreReindexFlags(ignoreReindexFlags); return VisibleEditor.wrap(editor); }
Editor editor = new VisibleEditor(TypeEditor.create( callback, checkNodeTypeNames, context.nodeTypes, primary, mixins, rootBuilder));
@Override @CheckForNull public Editor getRootEditor( NodeState before, NodeState after, NodeBuilder builder, CommitInfo info) { IndexUpdate editor = new IndexUpdate(provider, async, after, builder, NOOP_CALLBACK, NodeTraversalCallback.NOOP, info, corruptIndexHandler) .withMissingProviderStrategy(missingStrategy); editor.setIgnoreReindexFlags(ignoreReindexFlags); return VisibleEditor.wrap(editor); }
@Override public Editor getRootEditor( NodeState before, NodeState after, NodeBuilder builder, CommitInfo info) { if (!builder.hasChildNode(JCR_SYSTEM)) { return null; } NodeBuilder system = builder.child(JCR_SYSTEM); if (!system.hasChildNode(JCR_VERSIONSTORAGE)) { return null; } NodeBuilder versionStorage = system.child(JCR_VERSIONSTORAGE); return new VisibleEditor(new CompositeEditor( new VersionEditor(versionStorage, builder, info), new SubtreeEditor( new VersionStorageEditor(versionStorage, builder), JCR_SYSTEM, JCR_VERSIONSTORAGE))); }
@Override @Nullable public Editor getRootEditor( NodeState before, NodeState after, NodeBuilder builder, CommitInfo info) { IndexUpdate editor = new IndexUpdate(provider, async, after, builder, NOOP_CALLBACK, NodeTraversalCallback.NOOP, info, corruptIndexHandler) .withMissingProviderStrategy(missingStrategy); editor.setIgnoreReindexFlags(ignoreReindexFlags); return VisibleEditor.wrap(editor); }
@Override public Editor getRootEditor( NodeState before, NodeState after, NodeBuilder builder, CommitInfo info) { if (!builder.hasChildNode(JCR_SYSTEM)) { return null; } NodeBuilder system = builder.child(JCR_SYSTEM); if (!system.hasChildNode(JCR_VERSIONSTORAGE)) { return null; } NodeBuilder versionStorage = system.child(JCR_VERSIONSTORAGE); return new VisibleEditor(new CompositeEditor( new VersionEditor(versionStorage, builder, info), new SubtreeEditor( new VersionStorageEditor(versionStorage, builder), JCR_SYSTEM, JCR_VERSIONSTORAGE))); }
@Override public void enter(NodeState before, NodeState after) throws CommitFailedException { rootState.nodeRead(this); collectIndexEditors(builder.getChildNode(INDEX_DEFINITIONS_NAME), before); if (!reindex.isEmpty()) { log.info("Reindexing will be performed for following indexes: {}", reindex.keySet()); rootState.progressReporter.reindexingTraversalStart(getPath()); } // no-op when reindex is empty CommitFailedException exception = process( wrap(wrapProgress(compose(reindex.values()))), MISSING_NODE, after); rootState.progressReporter.reindexingTraversalEnd(); if (exception != null) { throw exception; } for (Editor editor : editors) { editor.enter(before, after); } }