} catch (IOException ex) {
}
PageCompiler compiler = getCompiler();
if (compiler == null)
throw new ResourceException("Can't load compiler: "+
getPageCompileProps().getCompilerClassName());
String args[] = { classFile.getAbsolutePath() };
PageCompileOutputStream out = new PageCompileOutputStream();
if (! compiler.compile(args, out)) {
//FIXME Warning
if (out.size() > 0) {
Reply error = request.makeReply(HTTP.INTERNAL_SERVER_ERROR);
error.setStream(out.getInputStream());
error.setContentLength(out.size());
error.setContentType(MimeType.TEXT_PLAIN);
throw new HTTPException(error);
}
}
//load class now
try {
GeneratedClassLoader loader = getClassLoader();
if (loader.classChanged(getPackagedClassName()))
loader = getNewClassLoader();
Class generatedClass = loader.loadClass(getPackagedClassName());
GeneratedFrame gframe =
(GeneratedFrame) generatedClass.newInstance();
return gframe;
} catch (Exception ex) {
throw new ResourceException(ex.getMessage());
}
}