Package org.apache.jackrabbit.mk.api

Examples of org.apache.jackrabbit.mk.api.MicroKernel


    protected NodeState state;

    @Before
    public void setUp() {
        MicroKernel microKernel = new MicroKernelImpl();
        store = new KernelNodeStore(microKernel);
        valueFactory = store.getValueFactory();
        state = createInitialState(microKernel);
    }
View Full Code Here


*/
public class PropertyIndexTest {

    @Test
    public void test() {
        MicroKernel mk = new MicroKernelImpl();
        Indexer indexer = new Indexer(mk);
        indexer.init();
        PropertyIndex index = indexer.createPropertyIndex("id", true);

        String head = mk.getHeadRevision();

        // meta data
        String meta = mk.getNodes(Indexer.INDEX_CONFIG_PATH, head, 1, 0, -1, null);
        Assert.assertEquals("{\":childNodeCount\":2,\":data\":{\":childNodeCount\":0}," +
                "\"property@id,unique\":{\":childNodeCount\":1,\":data\":{}}}", meta);

        String oldHead = head;

        Assert.assertEquals(null, index.getPath("1", head));

        head = mk.commit("/", "+\"test\" : {\"id\":\"1\"}", head, null);
        head = mk.commit("/", "+\"test2\" : {\"id\":\"2\"}", head, null);

        Assert.assertEquals("/test", index.getPath("1", head));
        Assert.assertEquals("/test2", index.getPath("2", head));

        Assert.assertEquals("/test", index.getPath("1", oldHead));
        Assert.assertEquals("/test2", index.getPath("2", oldHead));

        Assert.assertEquals("/test", index.getPath("1", head));
        Assert.assertEquals("/test2", index.getPath("2", head));

        head = mk.commit("/", "-\"test2\"", head, null);
        head = mk.commit("/test", "+\"test\" : {\"id\":\"3\"}", head, null);

        Assert.assertEquals("/test/test", index.getPath("3", head));

        // Recreate the indexer
        indexer = new Indexer(mk);
        indexer.init();
        index = indexer.createPropertyIndex("id", true);
        head = mk.getHeadRevision();
        Assert.assertEquals("/test/test", index.getPath("3", head));
        Assert.assertEquals(null, index.getPath("0", head));

        Assert.assertEquals("/test", index.getPath("1", head));
        head = mk.commit("/", "^ \"test/id\": 100", head, null);
        Assert.assertEquals(null, index.getPath("1", head));
        Assert.assertEquals("/test", index.getPath("100", head));

        Assert.assertEquals("/test/test", index.getPath("3", head));
        head = mk.commit("/", "- \"test\"", head, null);
        Assert.assertEquals(null, index.getPath("100", head));
        Assert.assertEquals(null, index.getPath("3", head));
    }
View Full Code Here

    @Before
    public void setup() {
        counter = 0;

        MicroKernel mk1 = new MicroKernelImpl("./target/mk1/" + random.nextInt());
        store1 = new KernelNodeStore(mk1);
        vf = store1.getValueFactory();
        mk1.commit("", "+\"/root\":{}", mk1.getHeadRevision(), "");
        root1 = new RootImpl(store1, null, new Subject());

        MicroKernel mk2 = new MicroKernelImpl("./target/mk2/" + random.nextInt());
        store2 = new KernelNodeStore(mk2);
        mk2.commit("", "+\"/root\":{}", mk2.getHeadRevision(), "");
        root2 = new RootImpl(store2, null, new Subject());
    }
View Full Code Here

    private NodeState root;

    @Before
    public void setUp() {
        MicroKernel kernel = new MicroKernelImpl();
        String jsop =
                "+\"test\":{\"a\":1,\"b\":2,\"c\":3,"
                + "\"x\":{},\"y\":{},\"z\":{}}";
        kernel .commit("/", jsop, null, "test data");
        store = new KernelNodeStore(kernel);
        root = store.getRoot();
    }
View Full Code Here

        return new OakFixture(name) {
            @Override
            public Oak getOak(int clusterId) throws Exception {
                Oak oak;
                if (useMk) {
                    MicroKernel kernel = new MicroKernelImpl();
                    oak = new Oak(new KernelNodeStore(kernel, cacheSize));
                } else {
                    oak = new Oak(new MemoryNodeStore());
                }
                return oak;
            }

            @Override
            public Oak[] setUpCluster(int n) throws Exception {
                Oak[] cluster = new Oak[n];
                for (int i = 0; i < cluster.length; i++) {
                    Oak oak;
                    if (useMk) {
                        MicroKernel kernel = new MicroKernelImpl();
                        oak = new Oak(new KernelNodeStore(kernel, cacheSize));
                    } else {
                        oak = new Oak(new MemoryNodeStore());
                    }
                    cluster[i] = oak;
View Full Code Here

    @Override
    public Object addingService(ServiceReference reference) {
        Object service = context.getService(reference);
        if (service instanceof MicroKernel) {
            MicroKernel kernel = (MicroKernel) service;
            KernelNodeStore store = new KernelNodeStore(kernel);
            services.put(reference, context.registerService(
                    NodeStore.class.getName(),
                    store,
                    new Properties()));
View Full Code Here

    public static RepositoryFixture getMemory(final long cacheSize) {
        return new OakRepositoryFixture("Oak-Memory") {
            @Override
            public Repository[] setUpCluster(int n) throws Exception {
                Repository[] cluster = new Repository[n];
                MicroKernel kernel = new MicroKernelImpl();
                for (int i = 0; i < cluster.length; i++) {
                    Oak oak = new Oak(new KernelNodeStore(kernel, cacheSize));
                    cluster[i] = new Jcr(oak).createRepository();
                }
                return cluster;
View Full Code Here

        test("simple:");
        test("simple:fs:target/temp;clean");
    }

    private static void test(String url) throws ParseException {
        MicroKernel mk = MicroKernelFactory.getInstance(url);
        System.out.println(url);
        String head = mk.getHeadRevision();
        head = mk.commit("/", "+ \"hello\" : {}", head, null);
        String move = "> \"hello\": \"world\" ";
        String set = "^ \"world/x\": 1 ";
        try {
            head = mk.commit("/", move + set, head, null);
            System.out.println("move & set worked");
        } catch (Exception e) {
            System.out.println("move & set didn't work:");
            e.printStackTrace(System.out);
            head = mk.commit("/", move, head, null);
            head = mk.commit("/", set, head, null);
        }
        System.out.println();
        mk.dispose();
    }
View Full Code Here

                }
            }
        });
        t.setDaemon(true);

        MicroKernel mk = new MicroKernelImpl(new Repository(gc, new MemoryBlobStore()));
        mk.commit("/", "+\"a\" : { \"b\" : { \"c\" : { \"d\" : {} } } }", mk.getHeadRevision(), null);
       
        t.start();
       
        try {
            for (int i = 0; i < 10; i++) {
                mk.commit("/a/b/c/d", "+\"e\" : {}", mk.getHeadRevision(), null);
                Thread.sleep(100);
                mk.commit("/a/b/c/d", "-\"e\"", mk.getHeadRevision(), null);
            }
        } finally {       
            t.join();
        }
    }
View Full Code Here

        rsTo = new DefaultRevisionStore(new InMemPersistence());
        rsTo.initialize();

        CopyingGC gc = new CopyingGC(rsFrom, rsTo);
       
        MicroKernel mk = new MicroKernelImpl(new Repository(gc, new MemoryBlobStore()));
        revs[0] = mk.commit("/", "+\"a\" : { \"c\":{}, \"d\":{} }", mk.getHeadRevision(), null);
        revs[1] = mk.commit("/", "+\"b\" : {}", mk.getHeadRevision(), null);
        revs[2] = mk.commit("/b", "+\"e\" : {}", mk.getHeadRevision(), null);
        revs[3] = mk.commit("/a/c", "+\"f\" : {}", mk.getHeadRevision(), null);

        // garbage collect
        gc.gc();

        revs[4] = mk.commit("/b/e", "+\"g\" : {}", mk.getHeadRevision(), null);
       
        // Assert head revision is contained after GC
        assertEquals(mk.getHeadRevision(), revs[revs.length - 1]);
       
        // Assert unused revisions were GCed
        for (int i = 0; i < 3; i++) {
            try {
                mk.getNodes("/", revs[i]);
                fail("Revision should have been GCed: "+ revs[i]);
            } catch (MicroKernelException e) {
                // ignore
            }
        }
       
        // Assert MK contains 3 revisions only
        assertEquals(3, ((JsopArray) Jsop.parse(mk.getRevisions(0, Integer.MAX_VALUE))).size());
    }
View Full Code Here

TOP

Related Classes of org.apache.jackrabbit.mk.api.MicroKernel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.