Search in sources :

Example 6 with Jcr

use of org.apache.jackrabbit.oak.jcr.Jcr in project jackrabbit-oak by apache.

the class JsonIndexCommand method openSession.

public static Session openSession(NodeStore nodeStore) throws RepositoryException {
    if (nodeStore == null) {
        return null;
    }
    StatisticsProvider statisticsProvider = StatisticsProvider.NOOP;
    Oak oak = new Oak(nodeStore).with(ManagementFactory.getPlatformMBeanServer());
    oak.getWhiteboard().register(StatisticsProvider.class, statisticsProvider, Collections.emptyMap());
    LuceneIndexProvider provider = createLuceneIndexProvider();
    oak.with((QueryIndexProvider) provider).with((Observer) provider).with(createLuceneIndexEditorProvider());
    Jcr jcr = new Jcr(oak);
    Repository repository = jcr.createRepository();
    return repository.login(new SimpleCredentials("admin", "admin".toCharArray()));
}
Also used : SimpleCredentials(javax.jcr.SimpleCredentials) Repository(javax.jcr.Repository) Observer(org.apache.jackrabbit.oak.spi.commit.Observer) Oak(org.apache.jackrabbit.oak.Oak) Jcr(org.apache.jackrabbit.oak.jcr.Jcr) LuceneIndexProvider(org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider) StatisticsProvider(org.apache.jackrabbit.oak.stats.StatisticsProvider)

Example 7 with Jcr

use of org.apache.jackrabbit.oak.jcr.Jcr in project jackrabbit-oak by apache.

the class UpgradeOldSegmentTest method upgradeFrom10.

@Test
public void upgradeFrom10() throws Exception {
    File testFolder = new File(new File("target"), UpgradeOldSegmentTest.class.getSimpleName());
    FileUtils.deleteDirectory(testFolder);
    File oldRepo = new File(testFolder, "test-repo-1.0");
    oldRepo.mkdirs();
    try (InputStream in = UpgradeOldSegmentTest.class.getResourceAsStream("/test-repo-1.0.zip")) {
        Util.unzip(in, oldRepo);
    }
    SegmentTarNodeStoreContainer newRepoContainer = new SegmentTarNodeStoreContainer();
    OakUpgrade.main("segment-old:" + oldRepo.getPath(), newRepoContainer.getDescription());
    Repository repo = new Jcr(newRepoContainer.open()).createRepository();
    Session s = repo.login(new SimpleCredentials("admin", "admin".toCharArray()));
    Node myType = s.getNode("/jcr:system/jcr:nodeTypes/test:MyType");
    assertEquals(2, Iterators.size(myType.getNodes("jcr:propertyDefinition")));
    NodeTypeManager ntMgr = s.getWorkspace().getNodeTypeManager();
    assertTrue(ntMgr.hasNodeType("test:MyType"));
    NodeType nt = ntMgr.getNodeType("test:MyType");
    PropertyDefinition[] pDefs = nt.getDeclaredPropertyDefinitions();
    assertEquals(2, pDefs.length);
    for (PropertyDefinition pd : pDefs) {
        String name = pd.getName();
        if (name.equals("test:mandatory")) {
            assertTrue(pd.isMandatory());
        } else if (name.equals("test:optional")) {
            assertFalse(pd.isMandatory());
        } else {
            fail("Unexpected property definition: " + name);
        }
    }
    // flip mandatory flag for test:mandatory
    String cnd = "<'test'='http://www.apache.org/jackrabbit/test'>\n" + "[test:MyType] > nt:unstructured\n" + " - test:mandatory (string)\n" + " - test:optional (string)";
    CndImporter.registerNodeTypes(new StringReader(cnd), s, true);
    myType = s.getNode("/jcr:system/jcr:nodeTypes/test:MyType");
    assertEquals(2, Iterators.size(myType.getNodes("jcr:propertyDefinition")));
    nt = ntMgr.getNodeType("test:MyType");
    pDefs = nt.getDeclaredPropertyDefinitions();
    assertEquals(2, pDefs.length);
    for (PropertyDefinition pd : pDefs) {
        String name = pd.getName();
        if (name.equals("test:mandatory")) {
            assertFalse(pd.isMandatory());
        } else if (name.equals("test:optional")) {
            assertFalse(pd.isMandatory());
        } else {
            fail("Unexpected property definition: " + name);
        }
    }
    s.logout();
    if (repo instanceof JackrabbitRepository) {
        ((JackrabbitRepository) repo).shutdown();
    }
    newRepoContainer.close();
    newRepoContainer.clean();
    deleteRecursive(testFolder);
}
Also used : NodeTypeManager(javax.jcr.nodetype.NodeTypeManager) InputStream(java.io.InputStream) Node(javax.jcr.Node) PropertyDefinition(javax.jcr.nodetype.PropertyDefinition) SimpleCredentials(javax.jcr.SimpleCredentials) Repository(javax.jcr.Repository) JackrabbitRepository(org.apache.jackrabbit.api.JackrabbitRepository) SegmentTarNodeStoreContainer(org.apache.jackrabbit.oak.upgrade.cli.container.SegmentTarNodeStoreContainer) NodeType(javax.jcr.nodetype.NodeType) Jcr(org.apache.jackrabbit.oak.jcr.Jcr) StringReader(java.io.StringReader) JackrabbitRepository(org.apache.jackrabbit.api.JackrabbitRepository) File(java.io.File) Session(javax.jcr.Session) Test(org.junit.Test)

Example 8 with Jcr

use of org.apache.jackrabbit.oak.jcr.Jcr in project jackrabbit-oak by apache.

the class AbstractOak2OakTest method createSession.

protected void createSession() throws RepositoryException, IOException {
    destination = getDestinationContainer().open();
    repository = (RepositoryImpl) new Jcr(destination).with("oak.sling").with(new ReferenceIndexProvider()).createRepository();
    session = repository.login(new SimpleCredentials("admin", "admin".toCharArray()));
}
Also used : ReferenceIndexProvider(org.apache.jackrabbit.oak.plugins.index.reference.ReferenceIndexProvider) SimpleCredentials(javax.jcr.SimpleCredentials) Jcr(org.apache.jackrabbit.oak.jcr.Jcr)

Example 9 with Jcr

use of org.apache.jackrabbit.oak.jcr.Jcr in project jackrabbit-oak by apache.

the class RepeatedRepositorySidegradeTest method upgradeRepository.

@Before
public synchronized void upgradeRepository() throws Exception {
    if (!upgradeComplete) {
        final File sourceDir = new File(getTestDirectory(), "jackrabbit2");
        sourceDir.mkdirs();
        FileStore fileStore = fileStoreBuilder(sourceDir).build();
        SegmentNodeStore segmentNodeStore = SegmentNodeStoreBuilders.builder(fileStore).build();
        RepositoryImpl repository = (RepositoryImpl) new Jcr(new Oak(segmentNodeStore)).createRepository();
        Session session = repository.login(CREDENTIALS);
        try {
            createSourceContent(session);
        } finally {
            session.save();
            session.logout();
            repository.shutdown();
            fileStore.close();
        }
        final NodeStore target = getTargetNodeStore();
        doUpgradeRepository(sourceDir, target, false);
        fileStore.flush();
        fileStore = fileStoreBuilder(sourceDir).build();
        segmentNodeStore = SegmentNodeStoreBuilders.builder(fileStore).build();
        repository = (RepositoryImpl) new Jcr(new Oak(segmentNodeStore)).createRepository();
        session = repository.login(CREDENTIALS);
        try {
            modifySourceContent(session);
        } finally {
            session.save();
            session.logout();
            repository.shutdown();
            fileStore.close();
        }
        doUpgradeRepository(sourceDir, target, true);
        fileStore.flush();
        upgradeComplete = true;
    }
}
Also used : FileStore(org.apache.jackrabbit.oak.segment.file.FileStore) NodeStore(org.apache.jackrabbit.oak.spi.state.NodeStore) SegmentNodeStore(org.apache.jackrabbit.oak.segment.SegmentNodeStore) RepositoryImpl(org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl) Jcr(org.apache.jackrabbit.oak.jcr.Jcr) Oak(org.apache.jackrabbit.oak.Oak) SegmentNodeStore(org.apache.jackrabbit.oak.segment.SegmentNodeStore) File(java.io.File) Session(javax.jcr.Session) Before(org.junit.Before)

Example 10 with Jcr

use of org.apache.jackrabbit.oak.jcr.Jcr in project jackrabbit-oak by apache.

the class RepositorySidegradeTest method upgradeRepository.

@Before
public synchronized void upgradeRepository() throws Exception {
    targetNodeStore = SegmentNodeStoreBuilders.builder(new MemoryStore()).build();
    targetRepository = new Jcr(new Oak(targetNodeStore)).createRepository();
    NodeStore source = createSourceContent();
    RepositorySidegrade sidegrade = new RepositorySidegrade(source, targetNodeStore);
    sidegrade.copy();
}
Also used : MemoryStore(org.apache.jackrabbit.oak.segment.memory.MemoryStore) NodeStore(org.apache.jackrabbit.oak.spi.state.NodeStore) Jcr(org.apache.jackrabbit.oak.jcr.Jcr) Oak(org.apache.jackrabbit.oak.Oak) Before(org.junit.Before)

Aggregations

Jcr (org.apache.jackrabbit.oak.jcr.Jcr)36 Oak (org.apache.jackrabbit.oak.Oak)19 Before (org.junit.Before)19 SimpleCredentials (javax.jcr.SimpleCredentials)15 Session (javax.jcr.Session)11 NodeStore (org.apache.jackrabbit.oak.spi.state.NodeStore)8 File (java.io.File)7 Repository (javax.jcr.Repository)7 Node (javax.jcr.Node)6 MemoryStore (org.apache.jackrabbit.oak.segment.memory.MemoryStore)6 InputStream (java.io.InputStream)4 RepositoryImpl (org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl)4 QueryEngineSettings (org.apache.jackrabbit.oak.query.QueryEngineSettings)4 Observer (org.apache.jackrabbit.oak.spi.commit.Observer)4 RepositoryException (javax.jcr.RepositoryException)3 JackrabbitSession (org.apache.jackrabbit.api.JackrabbitSession)3 OakRepositoryFixture (org.apache.jackrabbit.oak.fixture.OakRepositoryFixture)3 SegmentNodeStore (org.apache.jackrabbit.oak.segment.SegmentNodeStore)3 QueryIndexProvider (org.apache.jackrabbit.oak.spi.query.QueryIndexProvider)3 ConfigurationParameters (org.apache.jackrabbit.oak.spi.security.ConfigurationParameters)3