Skip to content

Commit 0f38f21

Browse files
author
Igor Polevoy
committed
moved BNF parser to separate package
1 parent aa33223 commit 0f38f21

File tree

19 files changed

+40
-21
lines changed

19 files changed

+40
-21
lines changed

javalite-templator/src/main/java/org/javalite/templator/AbstractTag.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
*/
2727
public abstract class AbstractTag extends TemplateToken {
2828

29+
private ThreadLocal<Map<String, Method>> methodCache = new ThreadLocal<Map<String, Method>>();
2930
private String argumentLine, body, tagName, matchingEnd = null;
3031
private int tagStartIndex = -1, tagEndIndex = -1, argumentsEndIndex = -1;
3132

@@ -179,9 +180,6 @@ public boolean marchArgumentEnd(String template, int index) {
179180
return false;
180181
}
181182

182-
183-
private ThreadLocal<Map<String, Method>> methodCache = new ThreadLocal<Map<String, Method>>();
184-
185183
/**
186184
* Tries to get a property value from object.
187185
*
@@ -202,18 +200,22 @@ protected final Object getValue(Object obj, String propertyName) throws Invocati
202200
//try map
203201
if (obj instanceof Map) {
204202
Map objectMap = (Map) obj;
205-
val = objectMap.get(propertyName);
203+
return objectMap.get(propertyName);
206204
}
207205

208206
if (val == null) {
209207
//try properties
210208
val = executeMethod(obj, "get" + capitalize(propertyName), null);
209+
if(val != null)
210+
return val;
211211
}
212212

213213

214214
//try generic get method
215215
if (val == null) {
216216
val = executeMethod(obj, "get", propertyName);
217+
if(val != null)
218+
return val;
217219
}
218220

219221

@@ -223,6 +225,8 @@ protected final Object getValue(Object obj, String propertyName) throws Invocati
223225
//TODO: optimize the same as methods.
224226
Field f = obj.getClass().getDeclaredField(propertyName);
225227
val = f.get(obj);
228+
if(val != null)
229+
return val;
226230

227231
} catch (NoSuchFieldException ignore) {
228232
} catch (IllegalAccessException ignore) {

javalite-templator/src/main/java/org/javalite/templator/StringToken.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package org.javalite.templator;
22

3+
import org.javalite.templator.TemplateToken;
4+
35
import java.io.IOException;
46
import java.io.Writer;
57
import java.util.Map;

javalite-templator/src/main/java/org/javalite/templator/AndExp.java renamed to javalite-templator/src/main/java/org/javalite/templator/template_parser/AndExp.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.javalite.templator;
1+
package org.javalite.templator.template_parser;
22

33
import java.util.Map;
44

javalite-templator/src/main/java/org/javalite/templator/BooleanId.java renamed to javalite-templator/src/main/java/org/javalite/templator/template_parser/BooleanId.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.javalite.templator;
1+
package org.javalite.templator.template_parser;
22

33
import java.util.Map;
44
import org.javalite.common.Convert;

javalite-templator/src/main/java/org/javalite/templator/ChainedIds.java renamed to javalite-templator/src/main/java/org/javalite/templator/template_parser/ChainedIds.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
package org.javalite.templator;
1+
package org.javalite.templator.template_parser;
2+
3+
import org.javalite.templator.TemplateException;
24

35
import java.util.List;
46
import java.util.Map;

javalite-templator/src/main/java/org/javalite/templator/Comparison.java renamed to javalite-templator/src/main/java/org/javalite/templator/template_parser/Comparison.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.javalite.templator;
1+
package org.javalite.templator.template_parser;
22

33
import java.util.Map;
44

javalite-templator/src/main/java/org/javalite/templator/ConstNode.java renamed to javalite-templator/src/main/java/org/javalite/templator/template_parser/ConstNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.javalite.templator;
1+
package org.javalite.templator.template_parser;
22

33
import java.io.IOException;
44
import java.util.Map;

javalite-templator/src/main/java/org/javalite/templator/Exp.java renamed to javalite-templator/src/main/java/org/javalite/templator/template_parser/Exp.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.javalite.templator;
1+
package org.javalite.templator.template_parser;
22

33
import java.util.Map;
44

javalite-templator/src/main/java/org/javalite/templator/ForNode.java renamed to javalite-templator/src/main/java/org/javalite/templator/template_parser/ForNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.javalite.templator;
1+
package org.javalite.templator.template_parser;
22

33
import java.io.IOException;
44
import java.util.HashMap;

javalite-templator/src/main/java/org/javalite/templator/IfNode.java renamed to javalite-templator/src/main/java/org/javalite/templator/template_parser/IfNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.javalite.templator;
1+
package org.javalite.templator.template_parser;
22

33
import java.io.IOException;
44
import java.util.Map;

0 commit comments

Comments
 (0)