Examples of PolicyCachePartitionConfiguration


Examples of com.volantis.mcs.runtime.configuration.project.PolicyCachePartitionConfiguration

        List themes = configuration.getProjectThemes().getThemes();
        assertEquals(Arrays.asList(new String[]{
            "/xdime-2/welcome.mthm"
        }), themes);

        PolicyCachePartitionConfiguration partition =
                configuration.getPolicyCachePartition();
        assertNotNull(partition);
        assertEquals(box(100), partition.getSize());

        RemotePolicyCacheConfiguration constraints =
                partition.getConstraintsConfiguration();
        assertNotNull(constraints);
        assertEquals(box(true), constraints.getDefaultCacheThisPolicy());
        assertEquals(box(false), constraints.getDefaultRetainDuringRetry());
        assertEquals(box(true), constraints.getDefaultRetryFailedRetrieval());
        assertEquals(box(50), constraints.getDefaultRetryInterval());
        assertEquals(box(5), constraints.getDefaultRetryMaxCount());
        assertEquals(box(Integer.MAX_VALUE), constraints.getDefaultTimeToLive());

        assertEquals(box(true), constraints.getAllowCacheThisPolicy());
        assertEquals(box(true), constraints.getAllowRetainDuringRetry());
        assertEquals(box(true), constraints.getAllowRetryFailedRetrieval());
        assertEquals(box(Integer.MAX_VALUE), constraints.getMaxRetryMaxCount());
        assertEquals(box(Integer.MAX_VALUE), constraints.getMaxTimeToLive());
        assertEquals(box(10), constraints.getMinRetryInterval());

        assertEquals(1, partition.getTypeSpecificPartitionCount());

        PolicyTypePartitionConfiguration typePartition =
                partition.getTypePartition(PolicyType.AUDIO);
        assertNotNull(typePartition);
        PolicyTypePartitionConfiguration imagePartition =
                partition.getTypePartition(PolicyType.IMAGE);
        assertSame(typePartition, imagePartition);
        assertEquals(Arrays.asList(new PolicyType[] {
            PolicyType.AUDIO, PolicyType.IMAGE
        }), typePartition.getPolicyTypes());
        assertEquals(50, typePartition.getSize());
View Full Code Here

Examples of com.volantis.mcs.runtime.configuration.project.PolicyCachePartitionConfiguration

    private void initialiseProjectCache(
            RuntimeProjectConfiguration configuration,
            RuntimeProjectBuilder builder) {
        // If the project does not define its own partition then use either the
        // default local, or default remote one.
        PolicyCachePartitionConfiguration partition = configuration.getPolicyCachePartition();
        if (partition == null) {
            if (builder.isRemote()) {
                // The project is remote so use the group associated with the
                // remote partition if any, or the default remote group.
                String location = configuration.getLocation();
                Group group = policyCache.getRemotePartitionGroup(location);
                if (group == null) {
                    group = policyCache.getRemoteDefaultGroup();
                }
                builder.setCacheControlDefaultsMap(remoteConstraintsMap);
                builder.setCacheGroup(group);
            } else {
                // Use the default local partition.
                builder.setCacheControlDefaultsMap(localConstraintsMap);
                builder.setCacheGroup(policyCache.getLocalDefaultGroup());
            }
        } else {
            RemotePolicyCacheConfiguration partitionConfiguration =
                    partition.getConstraintsConfiguration();

            PolicyCachePartitionConstraints partitionConstraints;
            Group baseGroup;
            if (builder.isRemote()) {
                // The project is remote so use the group associated with the
                // remote partition if any, or the remote group.
                String location = configuration.getLocation();
                baseGroup = policyCache.getRemotePartitionGroup(location);
                if (baseGroup == null) {
                    baseGroup = policyCache.getRemoteGroup();
                }
                partitionConstraints =
                        policyCache.getRemotePartitionConstraints();
            } else {
                baseGroup = policyCache.getLocalGroup();
                partitionConstraints =
                        policyCache.getLocalPartitionConstraints();
            }

            int partitionSize = partitionConstraints.constrainPartitionSize(
                    partition.getSize());
            if (partitionSize < 1) {
                throw new IllegalStateException("Partition size must be >= 1");
            }

            CacheFactory cacheFactory = CacheFactory.getDefaultInstance();
            GroupBuilder groupBuilder = cacheFactory.createGroupBuilder();
            groupBuilder.setMaxCount(partitionSize);
            Group partitionGroup = baseGroup.addGroup(
                    configuration.getLocation(), groupBuilder);

            // Create the base constraints for the partition. These will
            // be used to derive the constraints for the type specific
            // partitions.
            CacheControlConstraints base =
                    new CacheControlConstraints(
                            partitionConstraints.getConstraints(),
                            partitionConfiguration);

            builder.setCacheControlDefaults(base.getDefaultCacheControl());

            SeparateCacheControlConstraintsMap constraintsMap =
                    new SeparateCacheControlConstraintsMap();
            for (Iterator i = PolicyType.getPolicyTypes().iterator(); i.hasNext();) {
                PolicyType policyType = (PolicyType) i.next();
                PolicyTypePartitionConfiguration typePartitionConfiguration =
                        partition.getTypePartition(policyType);
                CacheControlConstraints typeConstraints;
                groupBuilder = cacheFactory.createGroupBuilder();
                if (typePartitionConfiguration == null) {
                    typeConstraints = base;
                    groupBuilder.setMaxCount(partitionSize);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.