⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractentitycollectionregiontestcase.java

📁 hibernate 开源框架的代码 jar包希望大家能喜欢
💻 JAVA
字号:
/* * Hibernate, Relational Persistence for Idiomatic Java * * Copyright (c) 2007, Red Hat Middleware LLC or third-party contributors as * indicated by the @author tags or express copyright attribution * statements applied by the authors.  All third-party contributions are * distributed under license by Red Hat Middleware LLC. * * This copyrighted material is made available to anyone wishing to use, modify, * copy, or redistribute it subject to the terms and conditions of the GNU * Lesser General Public License, as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License * for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this distribution; if not, write to: * Free Software Foundation, Inc. * 51 Franklin Street, Fifth Floor * Boston, MA  02110-1301  USA */package org.hibernate.test.cache.jbc2;import java.util.Properties;import org.hibernate.cache.CacheDataDescription;import org.hibernate.cache.RegionFactory;import org.hibernate.cache.TransactionalDataRegion;import org.hibernate.cache.access.AccessType;import org.hibernate.cache.jbc2.JBossCacheRegionFactory;import org.hibernate.cache.jbc2.MultiplexedJBossCacheRegionFactory;import org.hibernate.cache.jbc2.SharedJBossCacheRegionFactory;import org.hibernate.cache.jbc2.builder.MultiplexingCacheInstanceManager;import org.hibernate.cache.jbc2.builder.SharedCacheInstanceManager;import org.hibernate.cfg.Configuration;import org.hibernate.cfg.Environment;import org.hibernate.test.util.CacheTestUtil;/** * Base class for tests of EntityRegion and CollectionRegion implementations. *  * @author <a href="brian.stansberry@jboss.com">Brian Stansberry</a> * @version $Revision: 1 $ */public abstract class AbstractEntityCollectionRegionTestCase extends AbstractRegionImplTestCase {    /**     * Create a new EntityCollectionRegionTestCaseBase.     *      * @param name     */    public AbstractEntityCollectionRegionTestCase(String name) {        super(name);    }       /**      * Create a Region backed by an OPTIMISTIC locking JBoss Cache, and then      * ensure that it handles calls to buildAccessStrategy as expected when      * all the various {@link AccessType}s are passed as arguments.     */    public void testSupportedAccessTypesOptimistic() throws Exception {                supportedAccessTypeTest(true);    }    /**      * Creates a Region backed by an PESSIMISTIC locking JBoss Cache, and then      * ensures that it handles calls to buildAccessStrategy as expected when      * all the various {@link AccessType}s are passed as arguments.     */    public void testSupportedAccessTypesPessimistic() throws Exception {                supportedAccessTypeTest(false);    }        private void supportedAccessTypeTest(boolean optimistic) throws Exception {                Configuration cfg = CacheTestUtil.buildConfiguration("test", MultiplexedJBossCacheRegionFactory.class, true, false);        String entityCfg = optimistic ? "optimistic-entity" : "pessimistic-entity";        cfg.setProperty(MultiplexingCacheInstanceManager.ENTITY_CACHE_RESOURCE_PROP, entityCfg);                JBossCacheRegionFactory regionFactory = CacheTestUtil.startRegionFactory(cfg, getCacheTestSupport());                supportedAccessTypeTest(regionFactory, cfg.getProperties());    }        /**      * Creates a Region using the given factory, and then ensure that it     * handles calls to buildAccessStrategy as expected when all the     * various {@link AccessType}s are passed as arguments.     */    protected abstract void supportedAccessTypeTest(RegionFactory regionFactory, Properties properties);        /**     * Test that the Region properly implements      * {@link TransactionalDataRegion#isTransactionAware()}.     *      * @throws Exception     */    public void testIsTransactionAware() throws Exception {                Configuration cfg = CacheTestUtil.buildConfiguration("test", SharedJBossCacheRegionFactory.class, true, false);        cfg.setProperty(SharedCacheInstanceManager.CACHE_RESOURCE_PROP, CacheTestUtil.LOCAL_PESSIMISTIC_CACHE);                JBossCacheRegionFactory regionFactory = CacheTestUtil.startRegionFactory(cfg, getCacheTestSupport());                TransactionalDataRegion region = (TransactionalDataRegion) createRegion(regionFactory, "test/test", cfg.getProperties(), getCacheDataDescription());                assertTrue("Region is transaction-aware", region.isTransactionAware());                CacheTestUtil.stopRegionFactory(regionFactory, getCacheTestSupport());                cfg = CacheTestUtil.buildConfiguration("test", SharedJBossCacheRegionFactory.class, true, false);        cfg.setProperty(SharedCacheInstanceManager.CACHE_RESOURCE_PROP, CacheTestUtil.LOCAL_PESSIMISTIC_CACHE);        // Make it non-transactional        cfg.getProperties().remove(Environment.TRANSACTION_MANAGER_STRATEGY);                regionFactory = CacheTestUtil.startRegionFactory(cfg, getCacheTestSupport());                region = (TransactionalDataRegion) createRegion(regionFactory, "test/test", cfg.getProperties(), getCacheDataDescription());                assertFalse("Region is not transaction-aware", region.isTransactionAware());                CacheTestUtil.stopRegionFactory(regionFactory, getCacheTestSupport());    }        public void testGetCacheDataDescription() throws Exception {        Configuration cfg = CacheTestUtil.buildConfiguration("test", SharedJBossCacheRegionFactory.class, true, false);        cfg.setProperty(SharedCacheInstanceManager.CACHE_RESOURCE_PROP, CacheTestUtil.LOCAL_PESSIMISTIC_CACHE);                JBossCacheRegionFactory regionFactory = CacheTestUtil.startRegionFactory(cfg, getCacheTestSupport());                TransactionalDataRegion region = (TransactionalDataRegion) createRegion(regionFactory, "test/test", cfg.getProperties(), getCacheDataDescription());                CacheDataDescription cdd = region.getCacheDataDescription();                assertNotNull(cdd);                CacheDataDescription expected = getCacheDataDescription();        assertEquals(expected.isMutable(), cdd.isMutable());        assertEquals(expected.isVersioned(), cdd.isVersioned());        assertEquals(expected.getVersionComparator(), cdd.getVersionComparator());            }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -