X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2FTemplate.java;h=2dbaa3b5116660342ad6242d2574d6c700e2c0ce;hb=0f94de16d032aa04fcfa50056f7964de2fcd2d58;hp=25159b471748f999401beca28819ebcc3caeafcd;hpb=a03f96763f672e067b1cc08dcf17261a12e9e2e2;p=org.ibex.core.git diff --git a/src/org/xwt/Template.java b/src/org/xwt/Template.java index 25159b4..2dbaa3b 100644 --- a/src/org/xwt/Template.java +++ b/src/org/xwt/Template.java @@ -58,7 +58,8 @@ public class Template { r = r.addExtension(".xwt"); if (r.t != null) return r.t; r.t = new Template(r); - new TemplateHelper().parseit(r.getInputStream(), r.t); + try { new TemplateHelper().parseit(r.getInputStream(), r.t); } + catch (FileNotFoundException e) { Log.log(Template.class, "template not found: "+r); } return r.t; } catch (Exception e) { if (Log.on) Log.log(r.t == null ? "null" : r.t.fileName, e); @@ -69,8 +70,7 @@ public class Template { public static Res resolveStringToResource(String str, XWT xwt, boolean permitAbsolute) { // URL if (str.indexOf("://") != -1) { - // FIXME - //if (permitAbsolute) return Res.fromString(str); + if (permitAbsolute) return (Res)xwt.callMethod("res.url", str, null, null, null, 1); Log.log(Template.class, "absolute URL " + str + " not permitted here"); return null; } @@ -89,7 +89,12 @@ public class Template { // Methods to apply templates //////////////////////////////////////////////////////// - private Template(Res r) { this.r = r; } + private Template(Res r) { + this.r = r; + String f = r.toString(); + if (f != null && !f.equals("")) + fileName = f.substring(f.lastIndexOf('/')+1, f.endsWith(".xwt") ? f.length() - 4 : f.length()); + } /** called before this template is applied or its static object can be externally referenced */ JSScope getStatic() { @@ -121,7 +126,7 @@ public class Template { for (int i=0; children != null && i