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

Galder Zamarreno galder.zamarreno at jboss.com
Wed Mar 7 18:32:05 EST 2007


  User: gzamarreno
  Date: 07/03/07 18:32:05

  Added:       migration/src/org/jboss/cache/loader  
                        TransformingFileCacheLoader.java
                        TransformingJDBCCacheLoader.java
  Log:
  [JBCACHE-964] Work committed:
  - Transforming Cache Loaders implemented and unit tests provided
  - migration folder structure. See JIRA.
  - build.xml modified to compile, jar, create manifest for migration jar
  and also added examples and migration jar to distros.
  - example created and tested; it includes readme.txt with details of the
  example and how to run it.
  Still TODO:
  - Unit tests for transforming cache loaders need to run from build.xml
  - Documentation for transforming cache loaders in users guide, what are
  they, when to use them,...etc.
  - Fix JBCACHE-877 that occurrs when unzipping JBossCache-core-2.0.0.BETA2.zip 
  and running the examples. Workaround is to bring trove.jar into its lib.
  - Get examples/cacheloader-migration/build.sh working
  - Move JDBCCacheLoaderOld to the migration side. It's not that straightforward due to classes in
  /src having dependencies on it. Needs further study.
  
  Revision  Changes    Path
  1.1      date: 2007/03/07 23:32:05;  author: gzamarreno;  state: Exp;JBossCache/migration/src/org/jboss/cache/loader/TransformingFileCacheLoader.java
  
  Index: TransformingFileCacheLoader.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.util.stream.MarshalledValueInputStream;
  
  import java.io.FileInputStream;
  import java.io.File;
  
  /**
   * Transforming file cache loader. It unmarshalls (read from file store) data in the way
   * JBossCache 1.x did.
   *
   * @author <a href="mailto:galder.zamarreno at jboss.com">Galder Zamarreno</a>
   */
  public class TransformingFileCacheLoader extends FileCacheLoader
  {
     @Override
     protected Object unmarshall(File from) throws Exception
     {
        FileInputStream in = new FileInputStream(from);
        MarshalledValueInputStream input = new MarshalledValueInputStream(in);
        Object unmarshalledObj = input.readObject();
        in.close();
        return unmarshalledObj;
     }
  }
  
  
  
  1.1      date: 2007/03/07 23:32:05;  author: gzamarreno;  state: Exp;JBossCache/migration/src/org/jboss/cache/loader/TransformingJDBCCacheLoader.java
  
  Index: TransformingJDBCCacheLoader.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.invocation.MarshalledValue;
  
  import java.io.ObjectInputStream;
  import java.io.InputStream;
  import java.rmi.MarshalledObject;
  
  /**
   * Transforming JDBC cache loader. It unmarshalls (read from JDBC db store) data in the way
   * JBossCache 1.x did.
   *
   * @author <a href="mailto:galder.zamarreno at jboss.com">Galder Zamarreno</a>
   */
  public class TransformingJDBCCacheLoader extends JDBCCacheLoader
  {
     @Override
     protected Object unmarshall(InputStream from) throws Exception
     {
        ObjectInputStream ois = new ObjectInputStream(from);
        Object marshalledNode = ois.readObject();
  
        // de-marshall value if possible
        if(marshalledNode instanceof MarshalledValue)
        {
           return ((MarshalledValue) marshalledNode).get();
        }
        else if(marshalledNode instanceof MarshalledObject)
        {
           return ((MarshalledObject) marshalledNode).get();
        }
  
        return null;
     }
  }
  
  
  



More information about the jboss-cvs-commits mailing list