Package org.jasig.portal.concurrency

Examples of org.jasig.portal.concurrency.CallableWithoutResult


        final UUID uuid = UUID.randomUUID();
        final IpAddress ipAddress = new IpAddress("127.0.0.1", 1337);
        final IpAddress ipAddress2 = new IpAddress("127.0.0.2", 7331);
       
        //Doesn't exist
        this.execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                final Map<Address, PhysicalAddress> addresses = pingDao.getAddresses(cluster);
                assertEquals(0, addresses.size());
            }
        });

        //Delete nothing
        this.execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                final Collection<Address> addresses = Arrays.<Address>asList(ipAddress, ipAddress2);
                pingDao.purgeOtherAddresses(cluster, addresses);
            }
        });

        //Create
        this.execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                pingDao.addAddress(cluster, uuid, ipAddress);
            }
        });

        //verify
        this.execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                final Map<Address, PhysicalAddress> addresses = pingDao.getAddresses(cluster);
               
                assertEquals(1, addresses.size());
               
                final Entry<Address, PhysicalAddress> entry = addresses.entrySet().iterator().next();
                assertEquals(uuid, entry.getKey());
                assertEquals(ipAddress, entry.getValue());
            }
        });

        //Update
        this.execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                pingDao.addAddress(cluster, uuid, ipAddress2);
            }
        });

        //verify
        this.execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                final Map<Address, PhysicalAddress> addresses = pingDao.getAddresses(cluster);
               
                assertEquals(1, addresses.size());
               
                final Entry<Address, PhysicalAddress> entry = addresses.entrySet().iterator().next();
                assertEquals(uuid, entry.getKey());
                assertEquals(ipAddress2, entry.getValue());
            }
        });

        //Delete
        this.execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                final Collection<Address> addresses = Arrays.<Address>asList(ipAddress);
                pingDao.purgeOtherAddresses(cluster, addresses);
            }
        });
       
        //Doesn't exist
        this.execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                final Map<Address, PhysicalAddress> addresses = pingDao.getAddresses(cluster);
                assertEquals(0, addresses.size());
            }
View Full Code Here


        });
    }

    @Test
    public void testNoopOperations() throws Exception {
        execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                final IPortletDefinitionId portletDefinitionId = PortletDefinitionIdImpl.create(1);
                final IPortletDefinition nullPortDef1 = jpaPortletDefinitionDao.getPortletDefinition(portletDefinitionId);
                assertNull(nullPortDef1);
View Full Code Here

               
                return chanDef2.getPortletDefinitionId();
            }
        });
       
        execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                final IPortletDefinition chanDef2 = jpaPortletDefinitionDao.getPortletDefinitionByFname("fname2");
       
                // Add some preferences
                final List<IPortletPreference> prefsList2 = chanDef2.getPortletPreferences();
                prefsList2.add(new PortletPreferenceImpl("prefName1", false, "val1", "val2"));
                prefsList2.add(new PortletPreferenceImpl("prefName2", true, "val3", "val4"));
               
                jpaPortletDefinitionDao.updatePortletDefinition(chanDef2);
            }
        });
       
        execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                final IPortletDefinition chanDef2 = jpaPortletDefinitionDao.getPortletDefinitionByFname("fname2");
       
                // verify preferences
                final List<IPortletPreference> prefsList2 = chanDef2.getPortletPreferences();
                assertEquals(2, prefsList2.size());
            }
        });
       
        execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
               
                // Check prefs, remove one and another
                final IPortletDefinition portDef3 = jpaPortletDefinitionDao.getPortletDefinitionByName("Test Portlet 2");
                final List<IPortletPreference> prefsList3 = portDef3.getPortletPreferences();
               
                final List<IPortletPreference> expectedPrefsList3 = new ArrayList<IPortletPreference>();
                expectedPrefsList3.add(new PortletPreferenceImpl("prefName1", false, "val1", "val2"));
                expectedPrefsList3.add(new PortletPreferenceImpl("prefName2", true, "val3", "val4"));
               
                assertEquals(expectedPrefsList3, prefsList3);
               
               
                prefsList3.remove(1);
                prefsList3.add(new PortletPreferenceImpl("prefName3", false, "val5", "val6"));
               
                jpaPortletDefinitionDao.updatePortletDefinition(portDef3);
            }
        });
       
        execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {

                // Check prefs
                final IPortletDefinition portDef4 = jpaPortletDefinitionDao.getPortletDefinition(portletDefinitionId);
View Full Code Here

                return t;
            }
        });
       
       
        this.execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                final String t = authDao.getAuthToken(service);
                assertEquals(token, t);
            }
View Full Code Here

                assertEquals(1000, t.length());
                return t;
            }
        });
       
        this.execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                authDao.createToken(service);
            }
        });
       
        this.execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                final String t = authDao.getAuthToken(service);
                assertEquals(token, t);
            }
View Full Code Here

        final ThreadGroupRunner threadGroupRunner = new ThreadGroupRunner("JpaClusterLockDaoTest-", true);
       
        threadGroupRunner.addTask(3, new ThrowingRunnable() {
            @Override
            public void runWithException() throws Throwable {
                executeInTransaction(new CallableWithoutResult() {
                    @Override
                    protected void callWithoutResult() {
                        try {
                            final String mutexName = "testConcurrentCreation";
                           
View Full Code Here

        reset(portalInfoProvider);
        when(portalInfoProvider.getUniqueServerName()).thenReturn("ServerA");

        final String mutexName = "testConcurrentLocking";

        execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                final ClusterMutex mutex = clusterLockDao.getClusterMutex(mutexName);
                assertNotNull(mutex);
            }
        });
       
       
        final ThreadGroupRunner threadGroupRunner = new ThreadGroupRunner("JpaClusterLockDaoTest-", true);
       
        final AtomicInteger lockCounter = new AtomicInteger();
       
        threadGroupRunner.addTask(3, new ThrowingRunnable() {
            @Override
            public void runWithException() throws Throwable {
                executeInTransaction(new CallableWithoutResult() {
                    @Override
                    protected void callWithoutResult() {
                        try {
                            threadGroupRunner.tick(1);
                            try {
View Full Code Here

        final AtomicInteger lockCounter = new AtomicInteger();
       
        threadGroupRunner.addTask(3, new ThrowingRunnable() {
            @Override
            public void runWithException() throws Throwable {
                executeInTransaction(new CallableWithoutResult() {
                    @Override
                    protected void callWithoutResult() {
                        try {
                            threadGroupRunner.tick(1);
                            try {
View Full Code Here

                return currentServer.get();
            }
        });

        //get/create the mutex
        execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                final ClusterMutex mutex = clusterLockDao.getClusterMutex(mutexName);
                assertNotNull(mutex);
            }
        });
       
        //lock serverA
        currentServer.set("ServerA");
        final ClusterMutex lockedMutex = execute(new Callable<ClusterMutex>() {
            @Override
            public ClusterMutex call() throws Exception {
                final ClusterMutex mutex = clusterLockDao.getLock(mutexName);
                assertNotNull(mutex);
                return mutex;
            }
        });
       
        //test context configures a 100ms abandoned lock timeout, spin in tryLock/updateLock for 110ms
        while (lockedMutex.getLockStart() + 110 > System.currentTimeMillis()) {
            //try lock ServerB
            currentServer.set("ServerB");
            execute(new CallableWithoutResult() {
                @Override
                protected void callWithoutResult() {
                    final ClusterMutex mutex = clusterLockDao.getLock(mutexName);
                    assertNull(mutex);
                }
            });
            TimeUnit.MILLISECONDS.sleep(1);
            //ServerA update ping
            currentServer.set("ServerA");
            execute(new CallableWithoutResult() {
                @Override
                protected void callWithoutResult() {
                    clusterLockDao.updateLock(mutexName);
                }
            });
View Full Code Here

                return currentServer.get();
            }
        });

        //get/create the mutex
        execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                final ClusterMutex mutex = clusterLockDao.getClusterMutex(mutexName);
                Assert.assertNotNull(mutex);
            }
        });
       
        //lock serverA
        currentServer.set("ServerA");
        execute(new CallableWithoutResult() {
            @Override
            protected void callWithoutResult() {
                final ClusterMutex mutex = clusterLockDao.getLock(mutexName);
                Assert.assertNotNull(mutex);
            }
        });
       
        final AtomicInteger lockFailCount = new AtomicInteger(0);
        final AtomicBoolean serverBLocked = new AtomicBoolean(false);
       
        currentServer.set("ServerB");
       
        //test context configures a 100ms abandoned lock timeout, wait 110 between tests
        for (int i = 0; i < 5 && !serverBLocked.get(); i++) {
            //try lock ServerB
            execute(new CallableWithoutResult() {
                @Override
                protected void callWithoutResult() {
                    final ClusterMutex mutex = clusterLockDao.getLock(mutexName);
                    if (mutex == null) {
                        lockFailCount.incrementAndGet();
View Full Code Here

TOP

Related Classes of org.jasig.portal.concurrency.CallableWithoutResult

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.