本文整理了Java中javax.jcr.Repository
类的一些代码示例,展示了Repository
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Repository
类的具体详情如下:
包路径:javax.jcr.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
}
}
内容来源于网络,如有侵权,请联系作者删除!