public final synchronized boolean update(
String jarName, String remoteLocation)
throws Exception {
File f = new File(cachePath+"/"+jarName+".jar");
if ((f != null) && (f.exists()))
f.delete();
if ((remoteLocation != null) &&
(remoteLocation.length() > 0)) {
remoteLocProp.put(jarName, remoteLocation);
BufferedOutputStream bos =
new BufferedOutputStream(
new FileOutputStream(remoteLocFile));
remoteLocProp.store(bos, null);
}
ClassEntry ce = null;
if (classEntries.containsKey(jarName)) {
ce = (ClassEntry)classEntries.get(jarName);
ce.update(remoteLocation);
return true;
}
ce = new ClassEntry(this, jarName);
classEntries.put(jarName, ce);
return false;
}