Search in sources :

Example 1 with Jcr

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

the class PersistentCacheTest method createRepository.

@Override
protected Repository[] createRepository(RepositoryFixture fixture) throws Exception {
    System.setProperty("PersistentCacheStats.rejectedPut", "true");
    if (fixture instanceof OakRepositoryFixture) {
        OakFixture oakFixture = ((OakRepositoryFixture) fixture).getOakFixture();
        if (oakFixture instanceof OakFixture.MongoFixture) {
            OakFixture.MongoFixture mongoFixture = (OakFixture.MongoFixture) oakFixture;
            DocumentMK.Builder builder = mongoFixture.getBuilder(1);
            builder.setStatisticsProvider(statsProvider);
            builder.setPersistentCache("target/persistentCache,time," + CACHE_OPTIONS);
            dns = builder.getNodeStore();
            nodesCache = DocumentNodeStoreHelper.getNodesCache(dns);
            Oak[] cluster = mongoFixture.setUpCluster(new DocumentMK.Builder[] { builder }, statsProvider);
            return new Repository[] { new Jcr(cluster[0]).createRepository() };
        }
    }
    throw new IllegalArgumentException("Fixture " + fixture + " not supported for this benchmark.");
}
Also used : OakRepositoryFixture(org.apache.jackrabbit.oak.fixture.OakRepositoryFixture) Repository(javax.jcr.Repository) DocumentMK(org.apache.jackrabbit.oak.plugins.document.DocumentMK) OakFixture(org.apache.jackrabbit.oak.fixture.OakFixture) Oak(org.apache.jackrabbit.oak.Oak) Jcr(org.apache.jackrabbit.oak.jcr.Jcr)

Example 2 with Jcr

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

the class ObservationTest method run.

@Override
public void run(Iterable<RepositoryFixture> fixtures) {
    for (RepositoryFixture fixture : fixtures) {
        if (fixture.isAvailable(1)) {
            System.out.format("%s: Observation throughput benchmark%n", fixture);
            try {
                final AtomicReference<Whiteboard> whiteboardRef = new AtomicReference<Whiteboard>();
                Repository[] cluster;
                if (fixture instanceof OakRepositoryFixture) {
                    cluster = ((OakRepositoryFixture) fixture).setUpCluster(1, new JcrCreator() {

                        @Override
                        public Jcr customize(Oak oak) {
                            whiteboardRef.set(oak.getWhiteboard());
                            return new Jcr(oak);
                        }
                    });
                } else {
                    cluster = fixture.setUpCluster(1);
                }
                try {
                    run(cluster[0], whiteboardRef.get());
                } finally {
                    fixture.tearDownCluster();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}
Also used : Repository(javax.jcr.Repository) OakRepositoryFixture(org.apache.jackrabbit.oak.fixture.OakRepositoryFixture) OakRepositoryFixture(org.apache.jackrabbit.oak.fixture.OakRepositoryFixture) RepositoryFixture(org.apache.jackrabbit.oak.fixture.RepositoryFixture) Oak(org.apache.jackrabbit.oak.Oak) Jcr(org.apache.jackrabbit.oak.jcr.Jcr) AtomicReference(java.util.concurrent.atomic.AtomicReference) JcrCreator(org.apache.jackrabbit.oak.fixture.JcrCreator) Whiteboard(org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard) RepositoryException(javax.jcr.RepositoryException) ExecutionException(java.util.concurrent.ExecutionException)

Example 3 with Jcr

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

the class RepositoryStartupServlet method initRepository.

/**
     * Creates a new Repository based on the configuration and initializes the
     * {@link #repository} field if successful.
     *
     * @throws ServletException if an error occurs
     */
private void initRepository() throws ServletException {
    // get repository config
    File repHome;
    try {
        repHome = new File(config.getRepositoryHome()).getCanonicalFile();
    } catch (IOException e) {
        throw new ServletExceptionWithCause("Repository configuration failure: " + config.getRepositoryHome(), e);
    }
    String repConfig = config.getRepositoryConfig();
    if (repConfig != null) {
        // Jackrabbit Classic
        InputStream in = getServletContext().getResourceAsStream(repConfig);
        if (in == null) {
            try {
                in = new FileInputStream(new File(repConfig));
            } catch (FileNotFoundException e) {
                // fallback to old config
                try {
                    in = new FileInputStream(new File(repHome, repConfig));
                } catch (FileNotFoundException e1) {
                    throw new ServletExceptionWithCause("Repository configuration not found: " + repConfig, e);
                }
            }
        }
        try {
            repository = createRepository(new InputSource(in), repHome);
        } catch (RepositoryException e) {
            throw new ServletExceptionWithCause("Error while creating repository", e);
        }
    } else {
        // Jackrabbit Oak
        try {
            String model = System.getProperty("sun.arch.data.model", "32");
            store = new FileStore(repHome, 256, "64".equals(model));
            repository = new Jcr(new SegmentNodeStore(store)).createRepository();
        } catch (IOException e) {
            throw new ServletExceptionWithCause("Error while creating repository", e);
        }
    }
}
Also used : FileStore(org.apache.jackrabbit.oak.plugins.segment.file.FileStore) InputSource(org.xml.sax.InputSource) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) FileNotFoundException(java.io.FileNotFoundException) Jcr(org.apache.jackrabbit.oak.jcr.Jcr) RepositoryException(javax.jcr.RepositoryException) IOException(java.io.IOException) SegmentNodeStore(org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore) File(java.io.File) FileInputStream(java.io.FileInputStream)

Example 4 with Jcr

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

the class RevisionGCTest method run.

@Override
public void run(Iterable<RepositoryFixture> fixtures) {
    for (RepositoryFixture fixture : fixtures) {
        if (fixture.isAvailable(1)) {
            System.out.format("%s: RevisionGC benchmark%n", fixture);
            try {
                final AtomicReference<Oak> whiteboardRef = new AtomicReference<Oak>();
                Repository[] cluster;
                if (fixture instanceof OakRepositoryFixture) {
                    cluster = ((OakRepositoryFixture) fixture).setUpCluster(1, new JcrCreator() {

                        @Override
                        public Jcr customize(Oak oak) {
                            whiteboardRef.set(oak);
                            return new Jcr(oak);
                        }
                    });
                } else {
                    System.err.format("%s: RevisionGC benchmark only runs on Oak%n", fixture);
                    return;
                }
                try {
                    run(cluster[0], getNodeStore(whiteboardRef.get()));
                } finally {
                    fixture.tearDownCluster();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}
Also used : Repository(javax.jcr.Repository) OakRepositoryFixture(org.apache.jackrabbit.oak.fixture.OakRepositoryFixture) OakRepositoryFixture(org.apache.jackrabbit.oak.fixture.OakRepositoryFixture) RepositoryFixture(org.apache.jackrabbit.oak.fixture.RepositoryFixture) Oak(org.apache.jackrabbit.oak.Oak) Jcr(org.apache.jackrabbit.oak.jcr.Jcr) AtomicReference(java.util.concurrent.atomic.AtomicReference) JcrCreator(org.apache.jackrabbit.oak.fixture.JcrCreator) RepositoryException(javax.jcr.RepositoryException)

Example 5 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)

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