javax.jcr.Repository类的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(10.4k)|赞(0)|评价(0)|浏览(194)

本文整理了Java中javax.jcr.Repository类的一些代码示例,展示了Repository类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Repository类的具体详情如下:
包路径:javax.jcr.Repository
类名称:Repository

Repository介绍

[英]The entry point into the content repository. The Repository object is usually acquired through the RepositoryFactory.
[中]内容存储库的入口点。Repository对象通常通过RepositoryFactory获取。

代码示例

代码示例来源:origin: apache/jackrabbit-oak

private void run(Repository repository) throws RepositoryException {
  Session session = repository.login(
      new SimpleCredentials("admin", "admin".toCharArray()));
  AtomicInteger count = new AtomicInteger();
  long startTime = System.currentTimeMillis();
  Node testRoot = session.getRootNode().addNode("r" + AbstractTest.TEST_ID);
  createNodes(testRoot, 20, 6, count, startTime);
  long duration = System.currentTimeMillis() - startTime;
  System.out.format(
      "Created %d nodes in %d seconds (%.2fms/node)%n",
      count.get(), duration / 1000, (double) duration / count.get());
}

代码示例来源:origin: org.onehippo.cms7/hippo-repository-modules

static String getClusterNodeId(final Session session) {
  String clusterNodeId = session.getRepository().getDescriptor("jackrabbit.cluster.id");
  if (clusterNodeId == null) {
    clusterNodeId = DEFAULT_CLUSTER_NODE_ID;
  }
  return clusterNodeId;
}

代码示例来源:origin: org.apache.sling/org.apache.sling.jcr.base

public void printConfiguration(final PrintWriter pw) {
  // try to get repository
  final Repository repo = this.repository;
  writeHeader(pw, "Repository Properties");
  final String[] keys = repo.getDescriptorKeys();
  Arrays.sort(keys);
  for (final String key : keys) {
    final String val = repo.getDescriptor(key);
    writeEntry(pw, key, val);
  }
}

代码示例来源:origin: apache/jackrabbit

public void testReferenceBinaryExchangeWithSharedRepository() throws Exception {
  Session firstSession = superuser;
  // create a binary
  Binary b = vf.createBinary(new RandomInputStream(1, STREAM_LENGTH));
  ReferenceBinary referenceBinary = null;
  if (b instanceof ReferenceBinary) {
    referenceBinary = (ReferenceBinary) b;
  }
  assertNotNull(referenceBinary);
  assertNotNull(referenceBinary.getReference());
  // in the current test the message is exchanged via repository which is shared as well
  // put the reference message value in a property on a node
  String newNode = "sample_" + System.nanoTime();
  firstSession.getRootNode().addNode(newNode).setProperty("reference", referenceBinary.getReference());
  // save the first session
  firstSession.save();
  // get a second session over the same repository / ds
  Session secondSession = getHelper().getRepository().login(new SimpleCredentials("admin", "admin".toCharArray()));
  // read the binary referenced by the referencing binary
  String reference = secondSession.getRootNode().getNode(newNode).getProperty("reference").getString();
  ReferenceBinary ref = new SimpleReferenceBinary(reference);
  assertEquals(b, secondSession.getValueFactory().createValue(ref).getBinary());
}

代码示例来源:origin: apache/jackrabbit-oak

@Override
protected void setUp() throws Exception {
  super.setUp();
  SimpleCredentials creds = new SimpleCredentials("u", "u".toCharArray());
  UserManager uMgr = ((JackrabbitSession) superuser).getUserManager();
  User u = uMgr.createUser(creds.getUserID(), creds.getUserID());
  Group g = uMgr.createGroup("g");
  g.addMember(u);
  uPrincipal = u.getPrincipal();
  gPrincipal = g.getPrincipal();
  Node n = superuser.getNode(testRoot).addNode(nodeName1);
  testPath = n.getPath();
  Property p = n.setProperty(propertyName1, "value");
  propPath = p.getPath();
  Privilege[] privs = AccessControlUtils.privilegesFromNames(superuser,
      Privilege.JCR_VERSION_MANAGEMENT,
      Privilege.JCR_ADD_CHILD_NODES,
      Privilege.JCR_MODIFY_PROPERTIES);
  AccessControlUtils.addAccessControlEntry(superuser, n.getPath(), gPrincipal,
      privs, true);
  AccessControlUtils.addAccessControlEntry(superuser, n.getPath(), uPrincipal,
      new String[] {Privilege.JCR_VERSION_MANAGEMENT}, false);
  Node child = n.addNode(nodeName2);
  childPath = child.getPath();
  superuser.save();
  userSession = getHelper().getRepository().login(creds);
  // NOTE the following precondition defined by the test-setup!
  assertTrue(userSession.nodeExists(testPath));
  assertTrue(userSession.nodeExists(childPath));
}

代码示例来源:origin: apache/jackrabbit

public void testNullCredentialsNullWorkspaceLogin() throws RepositoryException {
    Session s = getHelper().getRepository().login(null, null);
    try {
      assertNotNull(s.getWorkspace().getName());
    } finally {
      s.logout();
    }
  }
}

代码示例来源:origin: apache/jackrabbit-oak

@Test
public void testLoginAfterChangePassword2() throws RepositoryException, NotExecutableException {
  try {
    user.changePassword("changed", testPw);
    superuser.save();
    // make sure the user can login with the new pw
    Session s = getHelper().getRepository().login(new SimpleCredentials(user.getID(), "changed".toCharArray()));
    s.logout();
  } finally {
    user.changePassword(testPw);
    superuser.save();
  }
}

代码示例来源:origin: apache/jackrabbit

protected void setUp() throws Exception {
  super.setUp();
  // check for lock support
  if (Boolean.FALSE.toString().equals(superuser.getRepository().getDescriptor(Repository.OPTION_LOCKING_SUPPORTED))) {
    throw new NotExecutableException();
  }
  testNode = testRootNode.addNode(nodeName1, testNodeType);
  testRootNode.getSession().save();
  testPath = testNode.getPath();
  openScopedLockMultiple = Boolean.TRUE.toString()
      .equals(getProperty(RepositoryStub.PROP_OPEN_SCOPED_LOCK_MULTIPLE, Boolean.FALSE.toString()));
  lockMgr = getLockManager(superuser);
}

代码示例来源:origin: stackoverflow.com

public static void main(String[] args) throws Exception {
  Repository repository = new TransientRepository();
  Session session = repository.login(
      new SimpleCredentials("username", "password".toCharArray()));
  try {
    Node root = session.getRootNode();
    System.out.println(root.getPath());
  } finally {
    session.logout();
  }
}

代码示例来源:origin: apache/jackrabbit-oak

@Test
public void testUserIDFromSession() throws RepositoryException, NotExecutableException {
  User u = null;
  Session uSession = null;
  try {
    String uid = createUserId();
    u = userMgr.createUser(uid, "pw");
    superuser.save();
    uSession = superuser.getRepository().login(new SimpleCredentials(uid, "pw".toCharArray()));
    assertEquals(u.getID(), uSession.getUserID());
  } finally {
    if (uSession != null) {
      uSession.logout();
    }
    if (u != null) {
      u.remove();
      superuser.save();
    }
  }
}

代码示例来源:origin: apache/jackrabbit-oak

@Test
public void testNewUserCanLogin() throws RepositoryException, NotExecutableException {
  String uid = createUserId();
  User u = null;
  Session s = null;
  try {
    u = userMgr.createUser(uid, "pw");
    superuser.save();
    Credentials creds = new SimpleCredentials(uid, "pw".toCharArray());
    s = superuser.getRepository().login(creds);
  } finally {
    if (u != null) {
      u.remove();
      superuser.save();
    }
    if (s != null) {
      s.logout();
    }
  }
}

代码示例来源:origin: apache/jackrabbit-oak

private void basicCrudTest(Repository repository) throws RepositoryException {
  Session session = repository.login(new SimpleCredentials("admin", "admin".toCharArray()));
  Node rootNode = session.getRootNode();
  Node child = JcrUtils.getOrAddNode(rootNode, "child", "oak:Unstructured");
  child.setProperty("foo3", "bar3");
  session.logout();
  System.out.println("Basic test passed");
}

代码示例来源:origin: apache/jackrabbit

public void createWorkspace(
    String username, String password, String name)
    throws RepositoryException {
  Session session = localRepository.login(
      new SimpleCredentials(username, password.toCharArray()));
  try {
    session.getWorkspace().createWorkspace(name);
  } finally {
    session.logout();
  }
}

代码示例来源:origin: info.magnolia/magnolia-module-forum

@Override
  protected void doExecute(InstallContext installContext) throws RepositoryException, TaskExecutionException {
    final InputStream xmlStreamNew = getClass().getResourceAsStream("/mgnl-nodetypes/magnolia-forum-nodetypes.xml");

    final Repository repository = ContentRepository.getRepository("forum");
    final SimpleCredentials credentials = new SimpleCredentials(ContentRepository.REPOSITORY_USER, ContentRepository.REPOSITORY_PSWD.toCharArray());
    final Session jcrSession = repository.login(credentials);
    try {
      try {
        final Workspace workspace = jcrSession.getWorkspace();
        final NodeTypeManager ntMgr = workspace.getNodeTypeManager();
        ((NodeTypeManagerImpl) ntMgr).registerNodeTypes(xmlStreamNew, NodeTypeManagerImpl.TEXT_XML, true);
      } catch (Exception e) {
        throw new RepositoryException(e.getMessage(), e);
      }
    } finally {
      IOUtils.closeQuietly(xmlStreamNew);
      jcrSession.logout();
    }
  }
}

代码示例来源:origin: apache/jackrabbit-oak

private boolean isReindexFinished() throws RepositoryException {
  Session s = repos.get(0).login(ADMIN);
  try {
    boolean reindex = s.getNode("/oak:index/" + INDEX_DEF_NODE)
      .getProperty(REINDEX_PROPERTY_NAME).getBoolean();
    return !reindex;
  } finally {
    s.logout();
  }
}

代码示例来源:origin: apache/jackrabbit-oak

@Test
public void testEnableUser() throws Exception {
  user.disable("readonly user is disabled!");
  superuser.save();
  // enable user again
  user.disable(null);
  superuser.save();
  assertFalse(user.isDisabled());
  assertNull(user.getDisabledReason());
  // -> login must succeed again
  getHelper().getRepository().login(new SimpleCredentials(user.getID(), "pw".toCharArray())).logout();
}

代码示例来源:origin: apache/jackrabbit-oak

public void testCreateUserAndLogin() throws RepositoryException {
  testUser = userManager.createUser(testId, TEST_PW);
  superuser.save();
  Credentials creds = null; // EXERCISE build the credentials
  getHelper().getRepository().login(creds).logout();
}

代码示例来源:origin: apache/jackrabbit-oak

@Override
public void before() throws Exception {
  super.before();
  User u = userMgr.createUser(uid, "pw");
  adminSession.save();
  AccessControlUtils.addAccessControlEntry(adminSession, Text.getRelativeParent(getTargetPath(), 1), u.getPrincipal(), new String[] {Privilege.JCR_ALL}, true);
  AccessControlUtils.addAccessControlEntry(adminSession, null, u.getPrincipal(), new String[] {PrivilegeConstants.JCR_NAMESPACE_MANAGEMENT}, true);
  adminSession.save();
  testSession = adminSession.getRepository().login(new SimpleCredentials(uid, "pw".toCharArray()));
}

代码示例来源:origin: apache/jackrabbit-oak

@Override
protected void setUp() throws Exception {
  super.setUp();
  if (!getHelper().getRepository().getDescriptorValue(Repository.OPTION_NODE_AND_PROPERTY_WITH_SAME_NAME_SUPPORTED).getBoolean()) {
    throw new NotExecutableException("node and property with same name is not supported");
  }
  n = testRootNode.addNode(sameName);
  p = testRootNode.setProperty(sameName, "value");
  superuser.save();
}

代码示例来源:origin: apache/jackrabbit-oak

@Test
public void testLoginDisabledUser() throws Exception {
  user.disable("readonly user is disabled!");
  superuser.save();
  // -> login must fail
  try {
    Session ss = getHelper().getRepository().login(new SimpleCredentials(user.getID(), "pw".toCharArray()));
    ss.logout();
    fail("A disabled user must not be allowed to login any more");
  } catch (LoginException e) {
    // success
  }
}

相关文章