You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by eh...@apache.org on 2009/02/25 13:10:04 UTC
svn commit: r747761 -
/lucene/solr/trunk/contrib/velocity/src/main/java/org/apache/solr/request/VelocityResponseWriter.java
Author: ehatcher
Date: Wed Feb 25 12:10:03 2009
New Revision: 747761
URL: http://svn.apache.org/viewvc?rev=747761&view=rev
Log:
Add Velocity engine and list tool objects, and default template based on path if not explicitly specified
Modified:
lucene/solr/trunk/contrib/velocity/src/main/java/org/apache/solr/request/VelocityResponseWriter.java
Modified: lucene/solr/trunk/contrib/velocity/src/main/java/org/apache/solr/request/VelocityResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/velocity/src/main/java/org/apache/solr/request/VelocityResponseWriter.java?rev=747761&r1=747760&r2=747761&view=diff
==============================================================================
--- lucene/solr/trunk/contrib/velocity/src/main/java/org/apache/solr/request/VelocityResponseWriter.java (original)
+++ lucene/solr/trunk/contrib/velocity/src/main/java/org/apache/solr/request/VelocityResponseWriter.java Wed Feb 25 12:10:03 2009
@@ -24,12 +24,7 @@
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
-import org.apache.velocity.tools.generic.ComparisonDateTool;
-import org.apache.velocity.tools.generic.DateTool;
-import org.apache.velocity.tools.generic.EscapeTool;
-import org.apache.velocity.tools.generic.MathTool;
-import org.apache.velocity.tools.generic.NumberTool;
-import org.apache.velocity.tools.generic.SortTool;
+import org.apache.velocity.tools.generic.*;
import org.apache.velocity.app.VelocityEngine;
import java.io.File;
@@ -76,9 +71,11 @@
context.put("esc", new EscapeTool());
context.put("sort", new SortTool());
context.put("number", new NumberTool());
+ context.put("list", new ListTool());
context.put("date", new ComparisonDateTool());
context.put("math", new MathTool());
-
+ context.put("engine", engine); // for $engine.resourceExists(...)
+
String layout_template = request.getParams().get("v.layout");
String json_wrapper = request.getParams().get("v.json");
boolean wrap_response = (layout_template != null) || (json_wrapper !=null);
@@ -128,8 +125,19 @@
private Template getTemplate(VelocityEngine engine, SolrQueryRequest request) throws IOException {
Template template;
+
+ String template_name = request.getParams().get("v.template");
+ String qt = request.getParams().get("qt");
+ String path = (String) request.getContext().get("path");
+ if (template_name == null && path != null) {
+ template_name = path;
+ } // TODO: path is never null, so qt won't get picked up maybe special case for '/select' to use qt, otherwise use path?
+ if (template_name == null && qt != null) {
+ template_name = qt;
+ }
+ if (template_name == null) template_name = "index";
try {
- template = engine.getTemplate(request.getParams().get("v.template", "browse") + ".vm");
+ template = engine.getTemplate(template_name + ".vm");
} catch (Exception e) {
throw new IOException(e.getMessage());
}