Update of /cvsroot/bprocessor/kernel/src/net/sourceforge/bprocessor/kernel
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31899/src/net/sourceforge/bprocessor/kernel
Modified Files:
KernelClassLoader.java
Log Message:
Load classes the hard way to work around InputStream problems
Index: KernelClassLoader.java
===================================================================
RCS file: /cvsroot/bprocessor/kernel/src/net/sourceforge/bprocessor/kernel/KernelClassLoader.java,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** KernelClassLoader.java 27 Jun 2005 09:12:30 -0000 1.1.1.1
--- KernelClassLoader.java 12 Jul 2005 06:48:42 -0000 1.2
***************
*** 214,221 ****
if (ln.equals(name)) {
try {
! log.debug("Loading class : " + name);
InputStream is = jf.getInputStream(je);
! byte[] bytes = new byte[is.available()];
! is.read(bytes);
result = defineClass(name, bytes, 0, bytes.length);
resolveClass(result);
--- 214,231 ----
if (ln.equals(name)) {
try {
! if (log.isDebugEnabled()) {
! log.debug("Loading class : " + name + " from " + je.getName());
! }
InputStream is = jf.getInputStream(je);
! int avail = is.available();
! byte[] bytes = new byte[avail];
! int index = 0;
! int i = is.read();
! while (i != -1) {
! bytes[index] = (byte)i;
! i = is.read();
! index += 1;
! }
! is.close();
result = defineClass(name, bytes, 0, bytes.length);
resolveClass(result);
|