import java.io.*;
import java.net.*;
import java.util.*;
-import jazz.*;
+import java.util.zip.*;
import java.lang.*;
import java.applet.*;
import org.mozilla.javascript.*;
char c = name.charAt(i);
if (!((c >= 'A' && c <= 'Z') ||
(c >= 'a' && c <= 'z') ||
- c == '_' ||
- (c >= '0' && c <= '9') ||
- (c == '.' && i == name.length() - 4))) return false;
+ c == '_' || c == '.' ||
+ (c >= '0' && c <= '9'))) return false;
}
return true;
}
if (subfiles[i].equals("CVS") || !validResourceName(subfiles[i])) continue;
String name = prefix + subfiles[i];
File file = new File(dir.getPath() + File.separatorChar + subfiles[i]);
- if (file.isDirectory()) loadDirectory(file, name + File.separatorChar);
- else bytes.put(name.replace(File.separatorChar, '.'), file);
+ if (file.isDirectory()) {
+ loadDirectory(file, name + File.separatorChar);
+ } else {
+ if (name.endsWith(".xwt")) {
+ String name2 = name.substring(0, name.length() - 4);
+ Static.createStatic(name2.replace(File.separatorChar, '.'), false);
+ usedPackages.put(JSObject.nodeNameToPackageName(name2.replace('/', '.')), new Object());
+ }
+ bytes.put(name.replace(File.separatorChar, '.'), file);
+ }
}
}
}
public int read(byte[] b, int off, int len) throws IOException {
int ret = super.read(b, off, len);
- if (ret != -1) bytesDownloaded += ret;
if (clear && callback != null) {
clear = false;
ThreadMessage.newthread(new JSObject.JSFunction() {
}
});
}
+ bytesDownloaded += ret;
return ret;
}
});
+ Template.TemplateHelper t = new Template.TemplateHelper();
+
for(ZipEntry ze = zis.getNextEntry(); ze != null; ze = zis.getNextEntry()) {
String name = ze.getName();
if (!validResourceName(name.substring(name.lastIndexOf('/') + 1))) {
if (Log.on) Log.log(Resources.class, "templates have already been loaded into " + packageName + "; refusing to load " + name);
} else {
usedPackages.put(packageName, thisArchive);
- for(int i=0; i<name.length() && i != -1; i = name.indexOf('/', i + 1))
- Static.createStatic(name.substring(0, i).replace('/', '.'));
- Template.buildTemplate(zis, name.replace('/', '.'));
+ Static.createStatic(name.replace('/', '.'), false);
+ Template.buildTemplate(zis, name.replace('/', '.'), t);
}
} else {