Package org.openxri.resolve

Examples of org.openxri.resolve.Cache


    */ /**
    *
    */
    public void testCache()
    {
        Cache oCache = new Cache(1000);
        assertTrue("Initial cache not empty", oCache.getNumNodes() == 0);

        XRD oDesc = new XRD();
        Service atAuthService = new Service();
        atAuthService.addMediaType(Tags.CONTENT_TYPE_XRDS + ";trust=none");
        atAuthService.addType(Tags.SERVICE_AUTH_RES);
        atAuthService.addURI("http://gcs.epok.net/xri/resolve?ns=at");
        oDesc.addService(atAuthService);

        XRD oDummy = new XRD();
        Service dummyService = new Service();
        dummyService.addMediaType(Tags.CONTENT_TYPE_XRDS + ";trust=none");
        dummyService.addType(Tags.SERVICE_AUTH_RES);
        dummyService.addURI("http://www.example.com/xri/resolve?id=1");
        oDummy.addService(dummyService);

        GCSAuthority oAuth = new GCSAuthority("@");
        oCache.stuff(oAuth, oDesc);
        assertTrue("Initial cache incorrect", oCache.getNumNodes() == 1);

        oCache.stuff(
            (XRIAuthority) AuthorityPath.buildAuthorityPath("@!a!b!foo"), oDummy);
        assertTrue("Cache size incorrect", oCache.getNumNodes() == 4);

        oCache.stuff(
            (XRIAuthority) AuthorityPath.buildAuthorityPath("@!a!c!moo"), oDummy);
        assertTrue("Cache size incorrect", oCache.getNumNodes() == 6);

        oCache.stuff(
            (XRIAuthority) AuthorityPath.buildAuthorityPath("@!a!c!woo"), oDummy);
        assertTrue("Cache size incorrect", oCache.getNumNodes() == 7);

        Cache.CachedValue oVal =
            oCache.find(
                (XRIAuthority) AuthorityPath.buildAuthorityPath("@!a!c!woo"),
                false);
        assertTrue("Cached value not found", oVal != null);

        oVal =
            oCache.find(
                (XRIAuthority) AuthorityPath.buildAuthorityPath("@!a!b!woo"),
                false);
        assertTrue("Cached value should not have been found", oVal == null);
        oCache.dump();

    } // testCache()
View Full Code Here


    */ /**
    *
    */
    public void testConcurrent()
    {
        Cache oCache = new Cache(1000);
        oCache.prune((XRIAuthority) AuthorityPath.buildAuthorityPath("@"));
        assertTrue("Initial cache not empty", oCache.getNumNodes() == 0);

       
        XRD oDesc = new XRD();
        Service atAuthService = new Service();
        atAuthService.addMediaType(Tags.CONTENT_TYPE_XRDS + ";trust=none");
        atAuthService.addType(Tags.SERVICE_AUTH_RES);
        atAuthService.addURI("http://gcs.epok.net/xri/resolve?ns=at");
        oDesc.addService(atAuthService);

        GCSAuthority oAuth = new GCSAuthority("@");
        oCache.stuff(oAuth, oDesc);
        assertTrue("Initial cache incorrect", oCache.getNumNodes() == 1);

        oCache.setMaxSize(5);

        Random oRand = new Random();

        try
        {
            Thread[] oThreads = new StuffPruneThread[100];
            for (int i = 0; i < oThreads.length; i++)
            {
                oThreads[i] = new StuffPruneThread(oRand);
            }

            for (int i = 0; i < oThreads.length; i++)
            {
                oThreads[i].start();
            }

            for (int i = 0; i < oThreads.length; i++)
            {
                oThreads[i].join();
            }
        }
        catch (Exception e)
        {
            assertTrue("Unexpected exception" + e, false);
        }

        oCache.dump();

        assertTrue(
            "Max cache size not honored",
            oCache.getNumNodes() <= oCache.getMaxSize());

        Cache.CachedValue oVal =
            oCache.find(
                (XRIAuthority) AuthorityPath.buildAuthorityPath("@"), false);
        assertTrue("Cached value for @ not found", oVal != null);

    } // testConcurrent()
View Full Code Here

            oDummy.addService(dummyService);

            String[] oCases =
                { "@!a1!b2!c3!d4", "@!x1!y2!z3", "@!a1!b2!c3", "@!a1!b2", "@!a1!b2!m3", "@!a1!o2!p3", "@!a1!o2!q3", "@!a1!b2!c3!d4!e5", "@!x1!y2" };

            Cache oCache = new Cache(1000);

            for (int i = 0; i < 1000; i++)
            {
                int x = moRand.nextInt(oCases.length);
                boolean bStuff = moRand.nextBoolean();
                XRIAuthority oAuth =
                    (XRIAuthority) AuthorityPath.buildAuthorityPath(oCases[x]);

                if (bStuff)
                {
                    oCache.stuff(oAuth, oDummy);
                }
                else
                {
                    oCache.prune(oAuth);
                }

                oCache.find(oAuth, true);
            }

        } // run()
View Full Code Here

TOP

Related Classes of org.openxri.resolve.Cache

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.