test_class.declarator: store = new MemoryNodeStore()
test_class.modifier: private final
test_class.original_string: private final NodeStore store = new MemoryNodeStore();
test_class.type: NodeStore
test_class.var_name: store
test_class.declarator: permissionProvider = spy(new TestPermissionProvider())
test_class.modifier: private final
test_class.original_string: private final TestPermissionProvider permissionProvider = spy(new TestPermissionProvider());
test_class.type: TestPermissionProvider
test_class.var_name: permissionProvider
test_class.declarator: root
test_class.modifier: private
test_class.original_string: private MutableRoot root;
test_class.type: MutableRoot
test_class.var_name: root
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/core/MutableRootTest.java
test_class.identifier: MutableRootTest
test_case.body: @Test
      public void testCommit() throws Exception {
          MutableTree t = root.getTree(PathUtils.ROOT_PATH);
          NodeBuilder nb = t.getNodeBuilder();
          assertTrue(nb instanceof SecureNodeBuilder);
  
          assertEquals(canReadRootTree(t), nb.exists());
  
          // commit resets the permissionprovider, which in our test scenario alters
          // the 'denyAll' flag.
          root.commit();
  
          assertEquals(canReadRootTree(t), nb.exists());
  
          MutableTree t2 = root.getTree(PathUtils.ROOT_PATH);
          NodeBuilder nb2 = t.getNodeBuilder();
  
          assertEquals(canReadRootTree(t2), nb.exists());
          assertEquals(nb2.exists(), nb.exists());
      }
test_case.class_method_signature: MutableRootTest.testCommit()
test_case.full_signature: @Test public void testCommit()
test_case.identifier: testCommit
test_case.invocations: getTree getNodeBuilder assertTrue assertEquals canReadRootTree exists commit assertEquals canReadRootTree exists getTree getNodeBuilder assertEquals canReadRootTree exists assertEquals exists exists
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCommit()
focal_class.declarator: store
focal_class.modifier: private final
focal_class.original_string: private final NodeStore store;
focal_class.type: NodeStore
focal_class.var_name: store
focal_class.declarator: hook
focal_class.modifier: private final
focal_class.original_string: private final CommitHook hook;
focal_class.type: CommitHook
focal_class.var_name: hook
focal_class.declarator: workspaceName
focal_class.modifier: private final
focal_class.original_string: private final String workspaceName;
focal_class.type: String
focal_class.var_name: workspaceName
focal_class.declarator: subject
focal_class.modifier: private final
focal_class.original_string: private final Subject subject;
focal_class.type: Subject
focal_class.var_name: subject
focal_class.declarator: securityProvider
focal_class.modifier: private final
focal_class.original_string: private final SecurityProvider securityProvider;
focal_class.type: SecurityProvider
focal_class.var_name: securityProvider
focal_class.declarator: queryEngineSettings
focal_class.modifier: private final
focal_class.original_string: private final QueryEngineSettings queryEngineSettings;
focal_class.type: QueryEngineSettings
focal_class.var_name: queryEngineSettings
focal_class.declarator: indexProvider
focal_class.modifier: private final
focal_class.original_string: private final QueryIndexProvider indexProvider;
focal_class.type: QueryIndexProvider
focal_class.var_name: indexProvider
focal_class.declarator: session
focal_class.modifier: private final
focal_class.original_string: private final ContentSessionImpl session;
focal_class.type: ContentSessionImpl
focal_class.var_name: session
focal_class.declarator: rootTree
focal_class.modifier: private final
focal_class.original_string: private final MutableTree rootTree;
focal_class.type: MutableTree
focal_class.var_name: rootTree
focal_class.declarator: builder
focal_class.modifier: private final
focal_class.original_string: private final NodeBuilder builder;
focal_class.type: NodeBuilder
focal_class.var_name: builder
focal_class.declarator: secureBuilder
focal_class.modifier: private final
focal_class.original_string: private final SecureNodeBuilder secureBuilder;
focal_class.type: SecureNodeBuilder
focal_class.var_name: secureBuilder
focal_class.declarator: lastMove = new Move()
focal_class.modifier: private
focal_class.original_string: private Move lastMove = new Move();
focal_class.type: Move
focal_class.var_name: lastMove
focal_class.declarator: moveTracker = new MoveTracker()
focal_class.modifier: private final
focal_class.original_string: private final MoveTracker moveTracker = new MoveTracker();
focal_class.type: MoveTracker
focal_class.var_name: moveTracker
focal_class.declarator: modCount
focal_class.modifier: private
focal_class.original_string: private long modCount;
focal_class.type: long
focal_class.var_name: modCount
focal_class.declarator: permissionProvider = new LazyValue<PermissionProvider>() {
          @Override
          protected PermissionProvider createValue() {
              return getAcConfig().getPermissionProvider(
                      MutableRoot.this,
                      getContentSession().getWorkspaceName(),
                      subject.getPrincipals());
          }
      }
focal_class.modifier: private final
focal_class.original_string: private final LazyValue<PermissionProvider> permissionProvider = new LazyValue<PermissionProvider>() {
          @Override
          protected PermissionProvider createValue() {
              return getAcConfig().getPermissionProvider(
                      MutableRoot.this,
                      getContentSession().getWorkspaceName(),
                      subject.getPrincipals());
          }
      };
focal_class.type: LazyValue<PermissionProvider>
focal_class.var_name: permissionProvider
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableRoot.java
focal_class.identifier: MutableRoot
focal_class.interfaces: implements Root, PermissionAware
focal_class.class_method_signature: MutableRoot.MutableRoot(NodeStore store,
                   CommitHook hook,
                   String workspaceName,
                   Subject subject,
                   SecurityProvider securityProvider,
                   QueryEngineSettings queryEngineSettings,
                   QueryIndexProvider indexProvider,
                   ContentSessionImpl session)
focal_class.full_signature:   MutableRoot(NodeStore store,
                   CommitHook hook,
                   String workspaceName,
                   Subject subject,
                   SecurityProvider securityProvider,
                   QueryEngineSettings queryEngineSettings,
                   QueryIndexProvider indexProvider,
                   ContentSessionImpl session)
focal_class.identifier: MutableRoot
focal_class.parameters: (NodeStore store,
                   CommitHook hook,
                   String workspaceName,
                   Subject subject,
                   SecurityProvider securityProvider,
                   QueryEngineSettings queryEngineSettings,
                   QueryIndexProvider indexProvider,
                   ContentSessionImpl session)
focal_class.signature:  MutableRoot(NodeStore store,
                   CommitHook hook,
                   String workspaceName,
                   Subject subject,
                   SecurityProvider securityProvider,
                   QueryEngineSettings queryEngineSettings,
                   QueryIndexProvider indexProvider,
                   ContentSessionImpl session)
focal_class.class_method_signature: MutableRoot.checkLive()
focal_class.full_signature:  void checkLive()
focal_class.identifier: checkLive
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void checkLive()
focal_class.class_method_signature: MutableRoot.getContentSession()
focal_class.full_signature: @NotNull @Override public ContentSession getContentSession()
focal_class.identifier: getContentSession
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: ()
focal_class.return: ContentSession
focal_class.signature: ContentSession getContentSession()
focal_class.class_method_signature: MutableRoot.move(String sourcePath, String destPath)
focal_class.full_signature: @Override public boolean move(String sourcePath, String destPath)
focal_class.identifier: move
focal_class.modifiers: @Override public
focal_class.parameters: (String sourcePath, String destPath)
focal_class.return: boolean
focal_class.signature: boolean move(String sourcePath, String destPath)
focal_class.class_method_signature: MutableRoot.getTree(@NotNull String path)
focal_class.full_signature: @NotNull @Override public MutableTree getTree(@NotNull String path)
focal_class.identifier: getTree
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull String path)
focal_class.return: MutableTree
focal_class.signature: MutableTree getTree(@NotNull String path)
focal_class.class_method_signature: MutableRoot.rebase()
focal_class.full_signature: @Override public void rebase()
focal_class.identifier: rebase
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void rebase()
focal_class.class_method_signature: MutableRoot.refresh()
focal_class.full_signature: @Override public final void refresh()
focal_class.identifier: refresh
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void refresh()
focal_class.class_method_signature: MutableRoot.commit(@NotNull Map<String, Object> info)
focal_class.full_signature: @Override public void commit(@NotNull Map<String, Object> info)
focal_class.identifier: commit
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull Map<String, Object> info)
focal_class.return: void
focal_class.signature: void commit(@NotNull Map<String, Object> info)
focal_class.class_method_signature: MutableRoot.commit()
focal_class.full_signature: @Override public void commit()
focal_class.identifier: commit
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void commit()
focal_class.class_method_signature: MutableRoot.getCommitHook()
focal_class.full_signature: private CommitHook getCommitHook()
focal_class.identifier: getCommitHook
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: CommitHook
focal_class.signature: CommitHook getCommitHook()
focal_class.class_method_signature: MutableRoot.hasPendingChanges()
focal_class.full_signature: @Override public boolean hasPendingChanges()
focal_class.identifier: hasPendingChanges
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasPendingChanges()
focal_class.class_method_signature: MutableRoot.getQueryEngine()
focal_class.full_signature: @NotNull @Override public QueryEngine getQueryEngine()
focal_class.identifier: getQueryEngine
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: ()
focal_class.return: QueryEngine
focal_class.signature: QueryEngine getQueryEngine()
focal_class.class_method_signature: MutableRoot.createBlob(@NotNull InputStream inputStream)
focal_class.full_signature: @Override @NotNull public Blob createBlob(@NotNull InputStream inputStream)
focal_class.identifier: createBlob
focal_class.modifiers: @Override @NotNull public
focal_class.parameters: (@NotNull InputStream inputStream)
focal_class.return: Blob
focal_class.signature: Blob createBlob(@NotNull InputStream inputStream)
focal_class.class_method_signature: MutableRoot.getBlob(@NotNull String reference)
focal_class.full_signature: @Override public Blob getBlob(@NotNull String reference)
focal_class.identifier: getBlob
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull String reference)
focal_class.return: Blob
focal_class.signature: Blob getBlob(@NotNull String reference)
focal_class.class_method_signature: MutableRoot.getBaseState()
focal_class.full_signature: @NotNull NodeState getBaseState()
focal_class.identifier: getBaseState
focal_class.modifiers: @NotNull
focal_class.parameters: ()
focal_class.return: NodeState
focal_class.signature: NodeState getBaseState()
focal_class.class_method_signature: MutableRoot.updated()
focal_class.full_signature:  void updated()
focal_class.identifier: updated
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void updated()
focal_class.class_method_signature: MutableRoot.getRootState()
focal_class.full_signature: @NotNull private NodeState getRootState()
focal_class.identifier: getRootState
focal_class.modifiers: @NotNull private
focal_class.parameters: ()
focal_class.return: NodeState
focal_class.signature: NodeState getRootState()
focal_class.class_method_signature: MutableRoot.getAcConfig()
focal_class.full_signature: @NotNull private AuthorizationConfiguration getAcConfig()
focal_class.identifier: getAcConfig
focal_class.modifiers: @NotNull private
focal_class.parameters: ()
focal_class.return: AuthorizationConfiguration
focal_class.signature: AuthorizationConfiguration getAcConfig()
focal_class.class_method_signature: MutableRoot.newInfoWithCommitContext(Map<String, Object> info)
focal_class.full_signature: private static Map<String, Object> newInfoWithCommitContext(Map<String, Object> info)
focal_class.identifier: newInfoWithCommitContext
focal_class.modifiers: private static
focal_class.parameters: (Map<String, Object> info)
focal_class.return: Map<String, Object>
focal_class.signature: Map<String, Object> newInfoWithCommitContext(Map<String, Object> info)
focal_class.class_method_signature: MutableRoot.getPermissionProvider()
focal_class.full_signature: @NotNull @Override public PermissionProvider getPermissionProvider()
focal_class.identifier: getPermissionProvider
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: ()
focal_class.return: PermissionProvider
focal_class.signature: PermissionProvider getPermissionProvider()
focal_method.body: @Override
      public void commit(@NotNull Map<String, Object> info) throws CommitFailedException {
          checkLive();
          ContentSession session = getContentSession();
          CommitInfo commitInfo = new CommitInfo(
                  session.toString(), session.getAuthInfo().getUserID(), newInfoWithCommitContext(info));
          store.merge(builder, getCommitHook(), commitInfo);
          secureBuilder.baseChanged();
          modCount = 0;
          if (permissionProvider.hasValue()) {
              permissionProvider.get().refresh();
          }
          moveTracker.clear();
      }
focal_method.class_method_signature: MutableRoot.commit(@NotNull Map<String, Object> info)
focal_method.full_signature: @Override public void commit(@NotNull Map<String, Object> info)
focal_method.identifier: commit
focal_method.invocations: checkLive getContentSession toString getUserID getAuthInfo newInfoWithCommitContext merge getCommitHook baseChanged hasValue refresh get clear
focal_method.modifiers: @Override public
focal_method.parameters: (@NotNull Map<String, Object> info)
focal_method.return: void
focal_method.signature: void commit(@NotNull Map<String, Object> info)