2003/05/12 05:31:50
[org.ibex.core.git] / src / org / xwt / Resources.java
index 26d4f68..c0240ca 100644 (file)
@@ -7,7 +7,7 @@ import java.util.*;
 import java.util.zip.*;
 import java.lang.*;
 import java.applet.*;
-import org.mozilla.javascript.*;
+import org.xwt.js.*;
 import org.xwt.util.*;
 
 /**
@@ -60,7 +60,6 @@ public class Resources {
                 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);
             }
@@ -69,7 +68,7 @@ public class Resources {
 
     /** Load an archive from an inputstream. */
     public static synchronized void loadArchive(InputStream is) throws IOException { loadArchive(is, 0, null); }
-    public static synchronized void loadArchive(InputStream is, final int length, final Function callback) throws IOException {
+    public static synchronized void loadArchive(InputStream is, final int length, final JS.Function callback) throws IOException {
 
         // random placeholder
         Object thisArchive = new Object();
@@ -85,10 +84,13 @@ public class Resources {
                     int ret = super.read(b, off, len);
                     if (clear && callback != null) {
                         clear = false;
-                        ThreadMessage.newthread(new JSObject.JSFunction() {
-                                public Object call(Context cx, Scriptable thisObj, Scriptable ctorObj, Object[] args) throws JavaScriptException {
+                        ThreadMessage.newthread(new JS.Function() {
+                                public Object _call(JS.Array args_) throws JS.Exn {
                                     try {
-                                        callback.call(cx, null, null, new Object[] { new Double(bytesDownloaded), new Double(length) });
+                                       JS.Array args = new JS.Array();
+                                       args.addElement(new Double(bytesDownloaded));
+                                       args.addElement(new Double(length));
+                                        callback.call(args);
                                     } finally {
                                         clear = true;
                                     }
@@ -114,16 +116,8 @@ public class Resources {
                 // placeholder so resolveResource() works properly
                 bytes.put(name.replace('/', '.'), new byte[] { });
                 name = name.substring(0, name.length() - 4);
-
-                String packageName = JSObject.nodeNameToPackageName(name.replace('/', '.'));
-                Object user = usedPackages.get(packageName);
-                if (user != null && user != thisArchive) {
-                    if (Log.on) Log.log(Resources.class, "templates have already been loaded into " + packageName + "; refusing to load " + name);
-                } else {
-                    usedPackages.put(packageName, thisArchive);
-                    Static.createStatic(name.replace('/', '.'), false);
-                    Template.buildTemplate(zis, name.replace('/', '.'), t);
-                }
+               Static.createStatic(name.replace('/', '.'), false);
+               Template.buildTemplate(zis, name.replace('/', '.'), t);
 
             } else {
                 bytes.put(name.replace('/', '.'), isToByteArray(zis));