[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