From fdc8c8caf51c279a127d405087a314d739aa628a Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Fri, 15 Jan 2016 10:53:05 +0100 Subject: [PATCH] Fixed Templator Super class issue --- Zutil.jar | Bin 1190894 -> 1190904 bytes src/zutil/parser/Templator.java | 2 +- test/zutil/test/TemplatorTest.java | 14 ++++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Zutil.jar b/Zutil.jar index f7c6289e97eced995829a7697484e15b32a1d2ec..e7190494e491678d75371ac18a7b9909e47a2632 100755 GIT binary patch delta 21442 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 delta 21593 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 diff --git a/src/zutil/parser/Templator.java b/src/zutil/parser/Templator.java index fffd07f..b42b525 100755 --- a/src/zutil/parser/Templator.java +++ b/src/zutil/parser/Templator.java @@ -394,7 +394,7 @@ public class Templator { else { // Using a loop as the direct lookup throws a exception if no field was found // So this is probably a bit faster - for (Field field : obj.getClass().getDeclaredFields()) { // Only look for public fields + for (Field field : obj.getClass().getFields()) { // Only look for public fields if (field.getName().equals(attrib)) { field.setAccessible(true); return field.get(obj); diff --git a/test/zutil/test/TemplatorTest.java b/test/zutil/test/TemplatorTest.java index 45b8120..fadc1a8 100755 --- a/test/zutil/test/TemplatorTest.java +++ b/test/zutil/test/TemplatorTest.java @@ -38,6 +38,9 @@ public class TemplatorTest { class TestClass{ public String attr; } + class TestSubClass extends TestClass{ + public String subAttr; + } class TestFuncClass{ public boolean isTrue(){ return true; @@ -287,4 +290,15 @@ public class TemplatorTest { assertEquals( "super:sub1,sub2", tmpl.compile()); } + + + @Test + public void subClassTest(){ + Templator tmpl = new Templator("{{test.attr}}:{{test.subAttr}}"); + TestSubClass obj = new TestSubClass(); + obj.attr = "1234"; + obj.subAttr = "5678"; + tmpl.set("test", obj); + assertEquals("1234:5678", tmpl.compile()); + } }