本文整理了Java中org.apache.jackrabbit.oak.api.Root
类的一些代码示例,展示了Root
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Root
类的具体详情如下:
包路径:org.apache.jackrabbit.oak.api.Root
类名称:Root
[英]A Root instance serves as a container for a Tree. It is obtained from a ContentSession, which governs accessibility and visibility of the Tree and its sub trees.
All root instances created by a content session become invalid after the content session is closed. Any method called on an invalid root instance will throw an InvalidStateException.
Tree instances may become non existing after a call to #refresh(), #rebase() or #commit(). Any write access to non existing Tree instances will cause an InvalidStateException.
[中]根实例充当树的容器。它是从ContentSession获取的,ContentSession控制树及其子树的可访问性和可见性。
内容会话关闭后,内容会话创建的所有根实例都将无效。对无效根实例调用的任何方法都将引发InvalidStateException。
调用#refresh()、#rebase()或#commit()后,树实例可能不存在。对不存在的树实例的任何写访问都将导致InvalidStateException。
代码示例来源:origin: apache/jackrabbit-oak
@Test
public void moveToSelf() throws CommitFailedException {
Root root = session.getLatestRoot();
root.getTree("/").addChild("s");
root.commit();
assertTrue(root.move("/s", "/s"));
}
代码示例来源:origin: apache/jackrabbit-oak
@Override
public void after() throws Exception {
try {
root.refresh();
root.getTree(TEST_PATH).remove();
root.commit();
} finally {
super.after();
}
}
代码示例来源:origin: apache/jackrabbit-oak
@Override
public boolean init(@NotNull Session session, @NotNull Root root, @NotNull NamePathMapper namePathMapper, boolean isWorkspaceImport, int uuidBehavior, @NotNull ReferenceChangeTracker referenceTracker, @NotNull SecurityProvider securityProvider) {
isSystemSession = root.getContentSession().getAuthInfo().getPrincipals().contains(SystemPrincipal.INSTANCE);
return true;
}
代码示例来源:origin: org.apache.jackrabbit/oak-core
void autosave() throws RepositoryException {
if (autosave) {
try {
root.commit();
} catch (CommitFailedException e) {
throw e.asRepositoryException();
} finally {
root.refresh();
}
}
}
代码示例来源:origin: apache/jackrabbit-oak
public void refresh(boolean keepChanges) {
sessionCounters.refreshTime = clock.getTime();
sessionCounters.refreshCount++;
if (keepChanges && hasPendingChanges()) {
root.rebase();
} else {
root.refresh();
}
if (permissionProvider != null) {
permissionProvider.refresh();
}
}
代码示例来源:origin: org.apache.jackrabbit/oak-core
@Nullable
Tree getAuthorizableByPrincipal(@NotNull Principal principal) {
if (principal instanceof TreeBasedPrincipal) {
return root.getTree(((TreeBasedPrincipal) principal).getOakPath());
}
// NOTE: in contrast to JR2 the extra shortcut for ID==principalName
// can be omitted as principals names are stored in user defined
// index as well.
try {
StringBuilder stmt = new StringBuilder();
stmt.append("SELECT * FROM [").append(UserConstants.NT_REP_AUTHORIZABLE).append(']');
stmt.append(" WHERE [").append(UserConstants.REP_PRINCIPAL_NAME).append("] = $principalName");
stmt.append(QueryEngine.INTERNAL_SQL2_QUERY);
Result result = root.getQueryEngine().executeQuery(stmt.toString(),
Query.JCR_SQL2, 1, 0,
Collections.singletonMap("principalName", PropertyValues.newString(principal.getName())),
NO_MAPPINGS);
Iterator<? extends ResultRow> rows = result.getRows().iterator();
if (rows.hasNext()) {
String path = rows.next().getPath();
return root.getTree(path);
}
} catch (ParseException ex) {
log.error("Failed to retrieve authorizable by principal", ex);
}
return null;
}
代码示例来源:origin: apache/jackrabbit-oak
@Override
public void after() throws Exception {
try {
if (testSession != null) {
testSession.close();
}
root.getTree("/a").remove();
root.commit();
} finally {
super.after();
}
}
代码示例来源:origin: apache/jackrabbit-oak
@Test
public void testGetProperties() throws Exception {
setupPermission("/a", testPrincipal, false, PrivilegeConstants.REP_READ_PROPERTIES);
testRoot.refresh();
Tree a = testRoot.getTree("/a");
Iterable<? extends PropertyState> props = a.getProperties();
assertFalse(props.iterator().hasNext());
}
}
代码示例来源:origin: apache/jackrabbit-oak
@Before
public void before() throws Exception {
session = createRepository().login(null, null);
root = session.getLatestRoot();
qe = root.getQueryEngine();
root.getTree("/oak:index/counter").setProperty("resolution", 100);
root.getTree("/oak:index/counter").setProperty("seed", 1);
Tree content = root.getTree("/").addChild("content");
// add 200'000 nodes under /content
for (int i = 0; i < 2000; i++) {
Tree t = content.addChild("test" + i);
for (int j = 0; j < 100; j++) {
t.addChild("n" + j);
}
}
root.commit();
runAsyncIndex();
}
代码示例来源:origin: apache/jackrabbit-oak
@Test
public void rebaseWithMove() throws CommitFailedException {
Root root1 = session.getLatestRoot();
Root root2 = session.getLatestRoot();
checkEqual(root1.getTree("/"), root2.getTree("/"));
root2.getTree("/").addChild("one").addChild("two").addChild("three")
.setProperty("p1", "V1");
root2.commit();
root1.move("/x", "/y/x-moved");
root1.rebase();
root2.move("/x", "/y/x-moved");
checkEqual(root1.getTree("/"), (root2.getTree("/")));
}
代码示例来源:origin: apache/jackrabbit-oak
@Override
public void after() throws Exception {
try {
root.getTree("/test").remove();
if (root.hasPendingChanges()) {
root.commit();
}
} finally {
super.after();
}
}
代码示例来源:origin: apache/jackrabbit-oak
@Test
public void move() throws CommitFailedException {
Root root = session.getLatestRoot();
Tree tree = root.getTree("/");
Tree y = tree.getChild("y");
Tree x = tree.getChild("x");
assertTrue(x.exists());
assertFalse(root.hasPendingChanges());
root.move("/x", "/y/xx");
assertTrue(root.hasPendingChanges());
assertFalse(tree.hasChild("x"));
assertTrue(y.hasChild("xx"));
assertEquals("/y/xx", x.getPath());
root.commit();
assertFalse(root.hasPendingChanges());
assertFalse(tree.hasChild("x"));
assertTrue(tree.hasChild("y"));
assertTrue(tree.getChild("y").hasChild("xx"));
}
代码示例来源:origin: apache/jackrabbit-oak
@Before
public void before() throws Exception {
super.before();
testPrincipal = getTestUser().getPrincipal();
NodeUtil rootNode = new NodeUtil(root.getTree("/"), namePathMapper);
NodeUtil testNode = rootNode.addChild("testPath", JcrConstants.NT_UNSTRUCTURED);
testNode.addChild("childNode", JcrConstants.NT_UNSTRUCTURED);
addAcl(testPath, EveryonePrincipal.getInstance());
addAcl(childPath, EveryonePrincipal.getInstance());
root.commit();
permissionStore = new PermissionStoreImpl(root, root.getContentSession().getWorkspaceName(), getConfig(AuthorizationConfiguration.class).getRestrictionProvider());
}
代码示例来源:origin: apache/jackrabbit-oak
@Test
public void testGetTokenInfoFromInvalidLocation4() throws Exception {
TokenInfo info = tokenProvider.createToken(userId, Collections.<String, Object>emptyMap());
Tree tokenTree = getTokenTree(info);
assertNotNull(tokenProvider.getTokenInfo(info.getToken()));
TokenInfo info2 = null;
try {
Tree adminTree = root.getTree(getUserManager(root).getAuthorizable(adminSession.getAuthInfo().getUserID()).getPath());
NodeUtil node = new NodeUtil(adminTree).getOrAddChild(TOKENS_NODE_NAME, JcrConstants.NT_UNSTRUCTURED);
assertTrue(root.move(tokenTree.getPath(), node.getTree().getPath() + '/' + tokenTree.getName()));
info2 = tokenProvider.getTokenInfo(info.getToken());
assertNotNull(info2);
assertFalse(info2.matches(new TokenCredentials(info.getToken())));
} finally {
root.refresh();
}
}
代码示例来源:origin: apache/jackrabbit-oak
@Test
public void moveNew() {
Root root = session.getLatestRoot();
Tree tree = root.getTree("/");
Tree t = tree.addChild("new");
root.move("/new", "/y/new");
assertEquals("/y/new", t.getPath());
assertFalse(tree.getChild("new").exists());
}
代码示例来源:origin: apache/jackrabbit-oak
@Test
public void testSyncMembershipDepthNoSync() throws Exception {
ExternalUser externalUser = idp.listUsers().next();
Authorizable a = syncCtx.createUser(externalUser);
root.commit();
assertTrue(externalUser.getDeclaredGroups().iterator().hasNext());
syncCtx.syncMembership(externalUser, a, 0);
assertFalse(root.hasPendingChanges());
syncCtx.syncMembership(externalUser, a, -1);
assertFalse(root.hasPendingChanges());
}
代码示例来源:origin: apache/jackrabbit-oak
@NotNull
public QueryEngine getQueryEngine() {
return root.getQueryEngine();
}
代码示例来源:origin: apache/jackrabbit-oak
@After
public void tearDown() {
root.refresh();
root = null;
}
代码示例来源:origin: apache/jackrabbit-oak
@Test
public void testCreateRemoveGroup() throws RepositoryException {
Group g = mgr.createGroup("g");
assertFalse(root.hasPendingChanges());
g.remove();
assertFalse(root.hasPendingChanges());
}
代码示例来源:origin: org.apache.jackrabbit/oak-remote
@Override
public void apply(Root root) throws RemoteCommitException {
logger.debug("performing 'move' operation on source={}, target={}", source, target);
boolean success = root.move(source, target);
if (success) {
return;
}
throw new RemoteCommitException("unable to move the tree");
}
内容来源于网络,如有侵权,请联系作者删除!