public static void setResponse(HttpServletResponse response) { if (response != null) { checkResponseEncoding(response); RESPONSE_LOCAL.set(response); } else { RESPONSE_LOCAL.remove(); } Context.getContext().put("response", response); }
public static void setResponse(HttpServletResponse response) { if (response != null) { checkResponseEncoding(response); RESPONSE_LOCAL.set(response); } else { RESPONSE_LOCAL.remove(); } Context.getContext().put("response", response); }
public static void setRequest(HttpServletRequest request) { if (request != null) { if (ServletLoader.getServletContext() == null && request.getSession() != null && request.getSession().getServletContext() != null) { ServletLoader.setServletContext(request.getSession().getServletContext()); } REQUEST_LOCAL.set(request); } else { REQUEST_LOCAL.remove(); } Context.getContext().put("request", request); }
public static void setRequest(HttpServletRequest request) { if (request != null) { if (ServletLoader.getServletContext() == null && request.getSession() != null && request.getSession().getServletContext() != null) { ServletLoader.setServletContext(request.getSession().getServletContext()); } REQUEST_LOCAL.set(request); } else { REQUEST_LOCAL.remove(); } Context.getContext().put("request", request); }
public void render(Context context, Listener listener) throws IOException, ParseException { if (chain != null) { Object old = context.put(LISTENER_KEY, listener); try { chain.render(context); } finally { if (old != null) { context.put(LISTENER_KEY, old); } else { context.remove(LISTENER_KEY); } } } else { listener.render(context); } }
public void render(Context context, Listener listener) throws IOException, ParseException { if (chain != null) { Object old = context.put(LISTENER_KEY, listener); try { chain.render(context); } finally { if ( old != null) { context.put(LISTENER_KEY, old); } else { context.remove(LISTENER_KEY); } } } else { listener.render(context); } }
@Override public boolean visit(IfDirective node) throws IOException, ParseException { boolean result = ClassUtils.isTrue(popExpressionResult(node.getOffset())); Context.getContext().put(ifVariable, result); return result; }
@Override public boolean visit(IfDirective node) throws IOException, ParseException { boolean result = ClassUtils.isTrue(popExpressionResult(node.getOffset())); Context.getContext().put(ifVariable, result); return result; }
@Override public void visit(BreakDirective node) throws IOException, ParseException { boolean result = true; if (node.getExpression() != null) { result = ClassUtils.isTrue(popExpressionResult(node.getOffset())); } if (result) { Context.getContext().put(breakVariable, true); } }
@Override public void visit(BreakDirective node) throws IOException, ParseException { boolean result = true; if (node.getExpression() != null) { result = ClassUtils.isTrue(popExpressionResult(node.getOffset())); } if (result) { Context.getContext().put(breakVariable, true); } }
@Override public void visit(SetDirective node) throws IOException, ParseException { if (node.getExpression() != null) { Object result = popExpressionResult(node.getOffset()); if (node.isExport() && Context.getContext().getParent() != null) { Context.getContext().getParent().put(node.getName(), result); } else { Context.getContext().put(node.getName(), result); } } }
@Override public void visit(SetDirective node) throws IOException, ParseException { if (node.getExpression() != null) { Object result = popExpressionResult(node.getOffset()); if (node.isExport() && Context.getContext().getParent() != null) { Context.getContext().getParent().put(node.getName(), result); } else { Context.getContext().put(node.getName(), result); } } }
@Override public boolean visit(ForDirective node) throws IOException, ParseException { Object data = popExpressionResult(node.getOffset()); boolean result = ClassUtils.isTrue(data); Context.getContext().put(ifVariable, result); Iterator<?> iterator = CollectionUtils.toIterator(data); Status status = new Status((Status) Context.getContext().get(forVariable[0]), data); for (String var : forVariable) { Context.getContext().put(var, status); } loop: while (iterator.hasNext()) { Object item = iterator.next(); Context.getContext().put(node.getName(), item); for (Node child : node.getChildren()) { child.accept(this); if (ClassUtils.isTrue(Context.getContext().get(breakVariable))) { Context.getContext().remove(breakVariable); break loop; } } status.increment(); } for (String var : forVariable) { Context.getContext().put(var, status.getParent()); } return false; }
@Override public boolean visit(ForDirective node) throws IOException, ParseException { Object data = popExpressionResult(node.getOffset()); boolean result = ClassUtils.isTrue(data); Context.getContext().put(ifVariable, result); Iterator<?> iterator = CollectionUtils.toIterator(data); Status status = new Status((Status) Context.getContext().get(forVariable[0]), data); for (String var : forVariable) { Context.getContext().put(var, status); } loop: while (iterator.hasNext()) { Object item = iterator.next(); Context.getContext().put(node.getName(), item); for (Node child : node.getChildren()) { child.accept(this); if (ClassUtils.isTrue(Context.getContext().get(breakVariable))) { Context.getContext().remove(breakVariable); break loop; } } status.increment(); } for (String var : forVariable) { Context.getContext().put(var, status.getParent()); } return false; }
@Override public boolean visit(ElseDirective node) throws IOException, ParseException { boolean result = true; if (node.getExpression() != null) { result = ClassUtils.isTrue(popExpressionResult(node.getOffset())); } result = result && !ClassUtils.isTrue(Context.getContext().get(ifVariable)); if (result) { Context.getContext().put(ifVariable, true); } return result; }
@Override public boolean visit(ElseDirective node) throws IOException, ParseException { boolean result = true; if (node.getExpression() != null) { result = ClassUtils.isTrue(popExpressionResult(node.getOffset())); } result = result && ! ClassUtils.isTrue(Context.getContext().get(ifVariable)); if (result) { Context.getContext().put(ifVariable, true); } return result; }