From a106e43fd0a2c158832e62a364d745ae7c20985c Mon Sep 17 00:00:00 2001 From: hns Date: Fri, 19 Jul 2002 11:35:21 +0000 Subject: [PATCH] Ditched getTranslatedSkinpath() and setTranslatedSkinpath in RequestTrans. getSkinpath() and setSkinpath now directly deal with Object arrays. --- src/helma/framework/ResponseBean.java | 4 ++-- src/helma/framework/ResponseTrans.java | 23 +++++++--------------- src/helma/scripting/fesi/HopExtension.java | 19 ++---------------- 3 files changed, 11 insertions(+), 35 deletions(-) diff --git a/src/helma/framework/ResponseBean.java b/src/helma/framework/ResponseBean.java index b074894a..69c937b1 100644 --- a/src/helma/framework/ResponseBean.java +++ b/src/helma/framework/ResponseBean.java @@ -117,11 +117,11 @@ public class ResponseBean implements Serializable { } public void setskinpath (Object[] arr) { - res.setTranslatedSkinpath (arr); + res.setSkinpath (arr); } public Object[] getskinpath () { - return res.getTranslatedSkinpath (); + return res.getSkinpath (); } public int getstatus () { diff --git a/src/helma/framework/ResponseTrans.java b/src/helma/framework/ResponseTrans.java index 203caeaf..1aa4fc60 100644 --- a/src/helma/framework/ResponseTrans.java +++ b/src/helma/framework/ResponseTrans.java @@ -61,10 +61,8 @@ public final class ResponseTrans implements Externalizable { // these are used to implement the _as_string variants for Hop templates. private transient Stack buffers; - // the path used to resolve skin names - private transient Object skinpath = null; - // the processed skinpath as array of Nodes or directory names - private transient Object[] translatedSkinpath = null; + // the path used to tell where to look for skins + private transient Object[] skinpath = null; // hashmap for skin caching private transient HashMap skincache; @@ -329,24 +327,17 @@ public final class ResponseTrans implements Externalizable { return contentType; } - public void setSkinpath (Object obj) { - skinpath = obj; - translatedSkinpath = null; + public void setSkinpath (Object[] arr) { + this.skinpath = arr; skincache = null; } - public Object getSkinpath () { + public Object[] getSkinpath () { + if (skinpath == null) + skinpath = new Object[0]; return skinpath; } - public void setTranslatedSkinpath (Object[] arr) { - this.translatedSkinpath = arr; - } - - public Object[] getTranslatedSkinpath () { - return translatedSkinpath; - } - public Skin getCachedSkin (String id) { if (skincache == null) return null; diff --git a/src/helma/scripting/fesi/HopExtension.java b/src/helma/scripting/fesi/HopExtension.java index 20e25e36..18bb4620 100644 --- a/src/helma/scripting/fesi/HopExtension.java +++ b/src/helma/scripting/fesi/HopExtension.java @@ -476,25 +476,10 @@ public final class HopExtension { skin = (Skin) obj; } - // if res.skinpath is set, transform it into an array of java objects + // retrieve res.skinpath, an array of objects that tell us where to look for skins // (strings for directory names and INodes for internal, db-stored skinsets) ResponseTrans res = fesi.getResponse(); - Object[] skinpath = res.getTranslatedSkinpath (); - if (skinpath == null) { - skinpath = new Object[0]; - Object rawSkinpath = res.getSkinpath (); - if (rawSkinpath != null && rawSkinpath instanceof JSWrapper) { - JSWrapper jsw = (JSWrapper) rawSkinpath; - ESObject eso = jsw.getESObject (); - if (eso instanceof ArrayPrototype) { - ArrayPrototype array = (ArrayPrototype) eso; - skinpath = new Object[array.size()]; - for (int i=0; i