[jboss-cvs] JBossCache/migration/tests/functional/org/jboss/cache/loader ...

Galder Zamarreno galder.zamarreno at jboss.com
Sat Apr 21 05:28:45 EDT 2007


  User: gzamarreno
  Date: 07/04/21 05:28:45

  Added:       migration/tests/functional/org/jboss/cache/loader   
                        TransformingCacheLoaderTestBase.java
                        TransformingFileCacheLoaderTest.java
                        TransformingJDBCCacheLoaderTest.java
  Log:
  [JBCACHE-964] moved migration functional tests to a more appropiate directory, plus layed path migration perf tests as part of the refactoring of old jdbc cache loader classes.
  
  Revision  Changes    Path
  1.1      date: 2007/04/21 09:28:45;  author: gzamarreno;  state: Exp;JBossCache/migration/tests/functional/org/jboss/cache/loader/TransformingCacheLoaderTestBase.java
  
  Index: TransformingCacheLoaderTestBase.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   * 
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  package org.jboss.cache.loader;
  
  import org.jboss.cache.CacheImpl;
  import org.jboss.cache.DefaultCacheFactory;
  import org.jboss.cache.config.Configuration;
  
  import java.util.HashMap;
  
  /**
   * Transforming cache loader test base.
   *
   * @author <a href="mailto:galder.zamarreno at jboss.com">Galder Zamarreno</a>
   */
  public class TransformingCacheLoaderTestBase extends AbstractCacheLoaderTestBase
  {
     private static final String CAPITAL = "capital";
     private static final String CURRENCY = "currency";
     private static final String POPULATION = "population";
     private static final String AREA = "area";
     private static final String EUROPE_NODE = "Europe";      
  
     protected CacheImpl createCache() throws Exception
     {
        CacheImpl cache = (CacheImpl) DefaultCacheFactory.getInstance().createCache(false);
        Configuration c = new Configuration();
        cache.setConfiguration(c);
        c.setCacheMode(Configuration.CacheMode.LOCAL);
        c.setTransactionManagerLookupClass("org.jboss.cache.transaction.DummyTransactionManagerLookup");
        return cache;
     }
  
     protected void loadCache(CacheImpl cache) throws Exception
     {
        cache.put(EUROPE_NODE, new HashMap());
        cache.put("Europe/Austria", new HashMap());
        cache.put("Europe/Austria", CAPITAL, "Vienna");
        cache.put("Europe/Austria", CURRENCY, "Euro");
        cache.put("Europe/Austria", POPULATION, new Integer(8184691));
  
        cache.put("Europe/England", new HashMap());
        cache.put("Europe/England", CAPITAL, "London");
        cache.put("Europe/England", CURRENCY, "British Pound");
        cache.put("Europe/England", POPULATION, new Integer(60441457));
  
        HashMap albania = new HashMap(4);
        albania.put(CAPITAL, "Tirana");
        albania.put(CURRENCY, "Lek");
        albania.put(POPULATION, new Integer(3563112));
        albania.put(AREA, new Integer(28748));
        cache.put("Europe/Albania", albania);
  
        HashMap hungary = new HashMap(4);
        hungary.put(CAPITAL, "Budapest");
        hungary.put(CURRENCY, "Forint");
        hungary.put(POPULATION, new Integer(10006835));
        hungary.put(AREA, new Integer(93030));
        cache.put("Europe/Hungary", hungary);
     }
  
     protected void checkData(CacheImpl cache) throws Exception
     {
        assertEquals("Vienna", cache.get("Europe/Austria", CAPITAL));
        assertEquals("Euro", cache.get("Europe/Austria", CURRENCY));
        assertEquals(8184691, cache.get("Europe/Austria", POPULATION));
  
        assertEquals("London", cache.get("Europe/England", CAPITAL));
        assertEquals("British Pound", cache.get("Europe/England", CURRENCY));
        assertEquals(60441457, cache.get("Europe/England", POPULATION));
  
        assertEquals("Tirana", cache.get("Europe/Albania", CAPITAL));
        assertEquals("Lek", cache.get("Europe/Albania", CURRENCY));
        assertEquals(3563112, cache.get("Europe/Albania", POPULATION));
        assertEquals(28748, cache.get("Europe/Albania", AREA));
  
        assertEquals("Budapest", cache.get("Europe/Hungary", CAPITAL));
        assertEquals("Forint", cache.get("Europe/Hungary", CURRENCY));
        assertEquals(10006835, cache.get("Europe/Hungary", POPULATION));
        assertEquals(93030, cache.get("Europe/Hungary", AREA));      
     }
  }
  
  
  
  1.1      date: 2007/04/21 09:28:45;  author: gzamarreno;  state: Exp;JBossCache/migration/tests/functional/org/jboss/cache/loader/TransformingFileCacheLoaderTest.java
  
  Index: TransformingFileCacheLoaderTest.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   * 
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  package org.jboss.cache.loader;
  
  import junit.framework.TestCase;
  
  import java.io.FileOutputStream;
  import java.io.File;
  import java.io.ObjectOutputStream;
  import java.io.IOException;
  import java.io.FileInputStream;
  import java.nio.channels.FileChannel;
  import java.util.HashMap;
  
  import org.jboss.cache.marshall.ObjectSerializationFactory;
  import org.jboss.cache.CacheImpl;
  import org.jboss.cache.DefaultCacheFactory;
  import org.jboss.cache.Fqn;
  import org.jboss.cache.misc.TestingUtil;
  import org.jboss.cache.config.Configuration;
  
  /**
   * Unit tests for TransformingFileCacheLoader
   *
   * @author <a href="mailto:galder.zamarreno at jboss.com">Galder Zamarreno</a>
   */
  public class TransformingFileCacheLoaderTest extends TransformingCacheLoaderTestBase
  {
     private CacheImpl cache;
     private String targetLoc;
  
     @Override
     protected void setUp() throws Exception
     {
        super.setUp();    //To change body of overridden methods use File | Settings | File Templates.
  
        String targetDir = System.getProperty("java.io.tmpdir", "/tmp");
        targetLoc = targetDir + "/filecacheloader-1x";
  
        cache = createCache();
  
        cache.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("",
              "org.jboss.cache.loader.TransformingFileCacheLoaderTest$LegacyFileCacheLoader",
              "location=" + targetLoc, false, true, false));
  
        TestingUtil.recursiveFileRemove(targetLoc);      
     }
  
     @Override
     protected void tearDown() throws Exception
     {
        cache.stop();
        cache.destroy();
        TestingUtil.recursiveFileRemove(targetLoc);      
     }
  
     public void testPutGetData() throws Exception
     {
        cache.start();
  
        loadCache(cache);
  
        cache.evict(Fqn.fromString("/"), true);
  
        checkData(cache);
     }
  
     public static class LegacyFileCacheLoader extends TransformingFileCacheLoader
     {
        @Override
        protected void marshall(Object obj, File to) throws Exception
        {
           FileOutputStream out = new FileOutputStream(to);
           ObjectOutputStream output = new ObjectOutputStream(out);
           output.writeObject(obj);
           out.close();
        }
     } 
  }
  
  
  
  1.1      date: 2007/04/21 09:28:45;  author: gzamarreno;  state: Exp;JBossCache/migration/tests/functional/org/jboss/cache/loader/TransformingJDBCCacheLoaderTest.java
  
  Index: TransformingJDBCCacheLoaderTest.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   * 
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  package org.jboss.cache.loader;
  
  import org.jboss.cache.CacheImpl;
  import org.jboss.cache.Fqn;
  import org.jboss.invocation.MarshalledValue;
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
  
  import java.util.Properties;
  import java.io.ByteArrayOutputStream;
  import java.io.ObjectOutputStream;
  
  /**
   * Unit tests for TransformingJDBCCacheLoader
   *
   * @author <a href="mailto:galder.zamarreno at jboss.com">Galder Zamarreno</a>
   */
  public class TransformingJDBCCacheLoaderTest extends TransformingCacheLoaderTestBase
  {
     private CacheImpl cache;
  
     @Override
     protected void setUp() throws Exception
     {
        super.setUp();
  
        cache = createCache();
  
        Properties prop = getProperties();
  
        String cacheJdbcUrl = changeDbName(prop.getProperty("cache.jdbc.url"));
  
        String props = "cache.jdbc.driver =" + prop.getProperty("cache.jdbc.driver") + "\n" +
              "cache.jdbc.url=" + cacheJdbcUrl + "\n" +
              "cache.jdbc.user=" + prop.getProperty("cache.jdbc.user") + "\n" +
              "cache.jdbc.password=" + prop.getProperty("cache.jdbc.password") + "\n" +
              "cache.jdbc.node.type=" + prop.getProperty("cache.jdbc.node.type") + "\n" +
              "cache.jdbc.sql-concat=" + prop.getProperty("cache.jdbc.sql-concat");
  
        cache.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("",
              "org.jboss.cache.loader.TransformingJDBCCacheLoaderTest$LegacyJDBCCacheLoader", props, false, true, false));
     }
  
     @Override
     protected void tearDown() throws Exception
     {
        cache.stop();
        cache.destroy();
     }
  
     public void testPutGetData() throws Exception
     {
        cache.start();
                            
        loadCache(cache);
  
        cache.evict(Fqn.fromString("/"), true);
  
        checkData(cache);      
     }
  
     protected Properties getProperties() throws Exception
     {
        Properties properties = new Properties();
        try
        {
           properties.load(this.getClass().getClassLoader().getResourceAsStream("cache-jdbc.properties"));
           return properties;
        }
        catch (Exception e)
        {
           throw new Exception("Error loading jdbc properties ", e);
        }
     }
  
     private String changeDbName(String url)
     {
        return url.replaceFirst("jbossdb", "jbossdb-1x");
     }
  
     public static class LegacyJDBCCacheLoader extends TransformingJDBCCacheLoader
     {
        @Override
        protected byte[] marshall(Object obj) throws Exception
        {
           Object marshalledNode = new MarshalledValue(obj);
           ByteArrayOutputStream baos = new ByteArrayOutputStream();
           ObjectOutputStream oos = new ObjectOutputStream(baos);
           oos.writeObject(marshalledNode);
           return baos.toByteArray();
        }
     }
  }
  
  
  



More information about the jboss-cvs-commits mailing list