[jbosscache-commits] JBoss Cache SVN: r4542 - core/trunk/src/test/java/org/jboss/cache/marshall.
jbosscache-commits at lists.jboss.org
jbosscache-commits at lists.jboss.org
Thu Oct 4 12:37:04 EDT 2007
Author: manik.surtani at jboss.com
Date: 2007-10-04 12:37:04 -0400 (Thu, 04 Oct 2007)
New Revision: 4542
Modified:
core/trunk/src/test/java/org/jboss/cache/marshall/FooClassLoader.java
Log:
Fixed dependency on a .clazz file that may not be available during test runs
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/FooClassLoader.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/FooClassLoader.java 2007-10-04 16:21:24 UTC (rev 4541)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/FooClassLoader.java 2007-10-04 16:37:04 UTC (rev 4542)
@@ -7,33 +7,121 @@
public class FooClassLoader extends ClassLoader
{
private Class foo;
+ private boolean useCachedByteStream = true;
+
public FooClassLoader(ClassLoader parent)
{
super(parent);
}
-
+
public Class loadFoo() throws ClassNotFoundException
{
if (foo == null)
{
- try
+ byte[] bytes;
+ if (useCachedByteStream)
{
- InputStream is = getResourceAsStream("org/jboss/cache/marshall/Foo.clazz");
- byte[] bytes = new byte[1024];
- ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
- int read;
- while ((read = is.read(bytes)) > -1) {
- baos.write(bytes, 0, read);
- }
- bytes = baos.toByteArray();
- foo = this.defineClass("org.jboss.cache.marshall.Foo", bytes, 0, bytes.length);
+ bytes = getFooClazzAsBytes();
}
- catch (IOException e)
+ else
{
- throw new ClassNotFoundException("cannot read org/jboss/cache/marshall/Foo.clazz", e);
+ try
+ {
+ InputStream is = getResourceAsStream("org/jboss/cache/marshall/Foo.clazz");
+ bytes = new byte[1024];
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
+ int read;
+ while ((read = is.read(bytes)) > -1)
+ {
+ baos.write(bytes, 0, read);
+ }
+ bytes = getFooClazzAsBytes();
+ }
+ catch (IOException e)
+ {
+ throw new ClassNotFoundException("cannot read org/jboss/cache/marshall/Foo.clazz", e);
+ }
}
+
+ foo = this.defineClass("org.jboss.cache.marshall.Foo", bytes, 0, bytes.length);
}
return foo;
}
+ private byte[] getFooClazzAsBytes()
+ {
+ // GENERATED using main() method to read org/jboss/cache/marshall/Foo.clazz into a byte[]
+ // so that this byte stream is available even if Foo.clazz is not included in the test classpath by Maven
+ // Copy out this generated snippet into FooClassLoader.java and use this byte[] instead of
+ // trying to read Foo.clazz off the classpath.
+
+ return new byte[]{
+ -54, -2, -70, -66, 0, 0, 0, 46, 0, 61, 7, 0, 2, 1, 0, 28, 111, 114, 103, 47, 106, 98, 111, 115, 115, 47, 99, 97, 99, 104,
+ 101, 47, 109, 97, 114, 115, 104, 97, 108, 108, 47, 70, 111, 111, 7, 0, 4, 1, 0, 16, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47,
+ 79, 98, 106, 101, 99, 116, 7, 0, 6, 1, 0, 20, 106, 97, 118, 97, 47, 105, 111, 47, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98,
+ 108, 101, 1, 0, 16, 115, 101, 114, 105, 97, 108, 86, 101, 114, 115, 105, 111, 110, 85, 73, 68, 1, 0, 1, 74, 1, 0, 13, 67, 111,
+ 110, 115, 116, 97, 110, 116, 86, 97, 108, 117, 101, 5, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 6, 60, 105, 110, 105, 116, 62, 1,
+ 0, 3, 40, 41, 86, 1, 0, 4, 67, 111, 100, 101, 10, 0, 3, 0, 16, 12, 0, 12, 0, 13, 1, 0, 15, 76, 105, 110, 101, 78,
+ 117, 109, 98, 101, 114, 84, 97, 98, 108, 101, 1, 0, 18, 76, 111, 99, 97, 108, 86, 97, 114, 105, 97, 98, 108, 101, 84, 97, 98, 108,
+ 101, 1, 0, 4, 116, 104, 105, 115, 1, 0, 30, 76, 111, 114, 103, 47, 106, 98, 111, 115, 115, 47, 99, 97, 99, 104, 101, 47, 109, 97,
+ 114, 115, 104, 97, 108, 108, 47, 70, 111, 111, 59, 1, 0, 6, 101, 113, 117, 97, 108, 115, 1, 0, 21, 40, 76, 106, 97, 118, 97, 47,
+ 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 41, 90, 1, 0, 3, 111, 98, 106, 1, 0, 18, 76, 106, 97, 118, 97, 47, 108,
+ 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 1, 0, 8, 104, 97, 115, 104, 67, 111, 100, 101, 1, 0, 3, 40, 41, 73, 1, 0,
+ 8, 116, 111, 83, 116, 114, 105, 110, 103, 1, 0, 20, 40, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110,
+ 103, 59, 7, 0, 30, 1, 0, 26, 106, 97, 118, 97, 47, 115, 101, 99, 117, 114, 105, 116, 121, 47, 83, 101, 99, 117, 114, 101, 82, 97,
+ 110, 100, 111, 109, 10, 0, 29, 0, 16, 7, 0, 33, 1, 0, 22, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110,
+ 103, 66, 117, 102, 102, 101, 114, 8, 0, 35, 1, 0, 36, 111, 114, 103, 46, 106, 98, 111, 115, 115, 46, 99, 97, 99, 104, 101, 46, 109,
+ 97, 114, 115, 104, 97, 108, 108, 46, 70, 111, 111, 91, 114, 97, 110, 100, 111, 109, 61, 10, 0, 32, 0, 37, 12, 0, 12, 0, 38, 1,
+ 0, 21, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 41, 86, 10, 0, 40, 0, 42, 7, 0,
+ 41, 1, 0, 16, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 82, 97, 110, 100, 111, 109, 12, 0, 43, 0, 26, 1, 0, 7, 110, 101,
+ 120, 116, 73, 110, 116, 10, 0, 32, 0, 45, 12, 0, 46, 0, 47, 1, 0, 6, 97, 112, 112, 101, 110, 100, 1, 0, 27, 40, 73, 41,
+ 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 66, 117, 102, 102, 101, 114, 59, 8, 0, 49, 1, 0, 1,
+ 93, 10, 0, 32, 0, 51, 12, 0, 46, 0, 52, 1, 0, 44, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105,
+ 110, 103, 59, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 66, 117, 102, 102, 101, 114, 59, 10, 0,
+ 32, 0, 54, 12, 0, 27, 0, 28, 1, 0, 6, 114, 97, 110, 100, 111, 109, 1, 0, 18, 76, 106, 97, 118, 97, 47, 117, 116, 105, 108,
+ 47, 82, 97, 110, 100, 111, 109, 59, 1, 0, 2, 115, 98, 1, 0, 24, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114,
+ 105, 110, 103, 66, 117, 102, 102, 101, 114, 59, 1, 0, 10, 83, 111, 117, 114, 99, 101, 70, 105, 108, 101, 1, 0, 8, 70, 111, 111, 46,
+ 106, 97, 118, 97, 0, 33, 0, 1, 0, 3, 0, 1, 0, 5, 0, 1, 0, 26, 0, 7, 0, 8, 0, 1, 0, 9, 0, 0, 0, 2,
+ 0, 10, 0, 4, 0, 1, 0, 12, 0, 13, 0, 1, 0, 14, 0, 0, 0, 47, 0, 1, 0, 1, 0, 0, 0, 5, 42, -73, 0, 15,
+ -79, 0, 0, 0, 2, 0, 17, 0, 0, 0, 6, 0, 1, 0, 0, 0, 15, 0, 18, 0, 0, 0, 12, 0, 1, 0, 0, 0, 5, 0,
+ 19, 0, 20, 0, 0, 0, 1, 0, 21, 0, 22, 0, 1, 0, 14, 0, 0, 0, 57, 0, 1, 0, 2, 0, 0, 0, 5, 43, -63, 0,
+ 1, -84, 0, 0, 0, 2, 0, 17, 0, 0, 0, 6, 0, 1, 0, 0, 0, 22, 0, 18, 0, 0, 0, 22, 0, 2, 0, 0, 0, 5,
+ 0, 19, 0, 20, 0, 0, 0, 0, 0, 5, 0, 23, 0, 24, 0, 1, 0, 1, 0, 25, 0, 26, 0, 1, 0, 14, 0, 0, 0, 44,
+ 0, 1, 0, 1, 0, 0, 0, 2, 4, -84, 0, 0, 0, 2, 0, 17, 0, 0, 0, 6, 0, 1, 0, 0, 0, 27, 0, 18, 0, 0,
+ 0, 12, 0, 1, 0, 0, 0, 2, 0, 19, 0, 20, 0, 0, 0, 1, 0, 27, 0, 28, 0, 1, 0, 14, 0, 0, 0, 111, 0, 3,
+ 0, 3, 0, 0, 0, 37, -69, 0, 29, 89, -73, 0, 31, 76, -69, 0, 32, 89, 18, 34, -73, 0, 36, 77, 44, 43, -74, 0, 39, -74,
+ 0, 44, 18, 48, -74, 0, 50, 87, 44, -74, 0, 53, -80, 0, 0, 0, 2, 0, 17, 0, 0, 0, 18, 0, 4, 0, 0, 0, 32, 0,
+ 8, 0, 33, 0, 18, 0, 34, 0, 32, 0, 35, 0, 18, 0, 0, 0, 32, 0, 3, 0, 0, 0, 37, 0, 19, 0, 20, 0, 0, 0,
+ 8, 0, 29, 0, 55, 0, 56, 0, 1, 0, 18, 0, 19, 0, 57, 0, 58, 0, 2, 0, 1, 0, 59, 0, 0, 0, 2, 0, 60,};
+ }
+
+/* public static void main(String[] args) throws Exception
+ {
+ InputStream is = FooClassLoader.class.getClassLoader().getResourceAsStream("org/jboss/cache/marshall/Foo.clazz");
+ byte[] bytes = new byte[1024];
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
+ int read;
+ while ((read = is.read(bytes)) > -1)
+ {
+ baos.write(bytes, 0, read);
+ }
+ bytes = baos.toByteArray();
+
+ System.out.println("// GENERATED using main() method to read org/jboss/cache/marshall/Foo.clazz into a byte[]");
+ System.out.println("// so that this byte stream is available even if Foo.clazz is not included in the test classpath by Maven");
+ System.out.println("// Copy out this generated snippet into FooClassLoader.java and use this byte[] instead of ");
+ System.out.println("// trying to read Foo.clazz off the classpath. ");
+ System.out.println();
+ System.out.println("return new byte[] {");
+
+ int i=0;
+ for (byte b : bytes)
+ {
+ i++;
+ System.out.print(b);
+ System.out.print(", ");
+ if (i % 30 == 0) System.out.println();
+ }
+ System.out.println("};");
+ }*/
}
More information about the jbosscache-commits
mailing list