Bug fixes

This commit is contained in:
Ziver Koc 2015-04-25 15:22:23 +00:00
parent 909ad1db7c
commit a06debdae3

View file

@ -244,8 +244,6 @@ public class Templator {
public void compile(StringBuilder str) { public void compile(StringBuilder str) {
Object obj = attrib.getObject(); Object obj = attrib.getObject();
if(obj != null) { if(obj != null) {
Object prevObj = get(".");
set(".", obj);
if(obj instanceof Boolean){ if(obj instanceof Boolean){
if ((Boolean) obj) if ((Boolean) obj)
@ -255,27 +253,32 @@ public class Templator {
if ((Integer) obj != 0) if ((Integer) obj != 0)
super.compile(str); super.compile(str);
} }
else if(obj instanceof Iterable){ else if(obj instanceof Iterable || obj.getClass().isArray()) {
for(Object o : (Iterable)obj){ // Iterate through the whole list Object prevObj = get(".");
set(".", o); set(".", obj);
super.compile(str);
} if (obj instanceof Iterable) {
} for (Object o : (Iterable) obj) { // Iterate through the whole list
else if (obj.getClass().isArray()) { set(".", o);
int length = Array.getLength(obj); super.compile(str);
for (int i = 0; i < length; i ++) { }
set(".", Array.get(obj, i)); } else if (obj.getClass().isArray()) {
super.compile(str); int length = Array.getLength(obj);
for (int i = 0; i < length; i++) {
set(".", Array.get(obj, i));
super.compile(str);
}
} }
// Reset map to parent object
if(prevObj != null)
set(".", prevObj);
else
remove(".");
} }
else else
super.compile(str); super.compile(str);
// Reset map to parent object
if(prevObj != null)
set(".", prevObj);
else
remove(".");
} }
} }
} }