Author: ssmiweve
Date: 2008-01-16 21:55:24 +0100 (Wed, 16 Jan 2008)
New Revision: 5975
Modified:
trunk/generic.sesam/war/src/main/templates/VM_sesat_library.vm
trunk/war/src/main/java/no/sesat/search/view/taglib/SearchTabIncludeTag.java
trunk/war/src/main/java/no/sesat/search/view/taglib/SearchTabMainTag.java
Log:
searchTabInclude works again (forgot to upgrade it to work against the new
layouts map)
Modified: trunk/generic.sesam/war/src/main/templates/VM_sesat_library.vm
===================================================================
--- trunk/generic.sesam/war/src/main/templates/VM_sesat_library.vm
2008-01-16 16:40:13 UTC (rev 5974)
+++ trunk/generic.sesam/war/src/main/templates/VM_sesat_library.vm
2008-01-16 20:55:24 UTC (rev 5975)
@@ -1,8 +1,11 @@
#macro(searchTabInclude $includeName)
- #if($includeName && $tab.layout)
- #set ($includeValue = "$!tab.layout.getInclude($includeName)")
+ #if($includeName && $layout)
+ #set ($includeValue = "$!layout.getInclude($includeName)")
#if($includeValue && $includeValue.trim().length() > 0)
+ <!-- $includeName -->
#parse("$datamodel.site.site.getTemplateDir()/fragments/layout/${includeValue}.vm")
+ #else
+ <!-- $includeName not found -->
#end
#end
#end
@@ -11,7 +14,7 @@
<img src="/images/star.png" width="11" height="11" alt="star" />
$text.getMessage("didYouMean"):
#foreach ($querySuggestion in
$datamodel.getSearch($command).results.querySuggestions)
- <em><a
href="$boomerang.getUrl($datamodel.site.site,"/search/?c=$tab.getKey()&q=#urlencode($querySuggestion.suggestion)",
"category:navigation;subcategory:spell")">$querySuggestion.htmlSuggestion</a></em>#if
($velocityCount <
$datamodel.getSearch($command).results.getQuerySuggestions().size()) eller
#end#end?
+ <em><a
href="$boomerang.getUrl($datamodel.site.site,"/search/?c=$datamodel.page.currentTab.getKey()&q=#urlencode($querySuggestion.suggestion)",
"category:navigation;subcategory:spell")">$querySuggestion.htmlSuggestion</a></em>#if
($velocityCount <
$datamodel.getSearch($command).results.getQuerySuggestions().size()) eller
#end#end?
#end
Modified:
trunk/war/src/main/java/no/sesat/search/view/taglib/SearchTabIncludeTag.java
===================================================================
---
trunk/war/src/main/java/no/sesat/search/view/taglib/SearchTabIncludeTag.java
2008-01-16 16:40:13 UTC (rev 5974)
+++
trunk/war/src/main/java/no/sesat/search/view/taglib/SearchTabIncludeTag.java
2008-01-16 20:55:24 UTC (rev 5975)
@@ -78,30 +78,39 @@
* and handles all tag processing, body iteration, etc.
*/
@Override
- public void doTag() throws JspException {
+ public void doTag() throws JspException, IOException {
final PageContext cxt = (PageContext) getJspContext();
final DataModel datamodel = (DataModel)
cxt.findAttribute(DataModel.KEY);
final SearchTab tab = datamodel.getPage().getCurrentTab();
final StringDataObject layoutDO =
datamodel.getParameters().getValue(RunningQueryImpl.PARAM_LAYOUT);
- final Layout layout = null != layoutDO
+ final Layout layout = null != cxt.getAttribute("layout") ?
(Layout)cxt.getAttribute("layout") : null != layoutDO
? tab.getLayouts().get(layoutDO.getXmlEscaped())
: tab.getDefaultLayout();
- final String template = LAYOUT_DIRECTORY + layout.getInclude(include);
- try{
- cxt.getOut().println("<!-- " + include + " -->");
- }catch(IOException ioe){
- LOG.warn("Failed to write include comment", ioe);
- }
+ cxt.setAttribute("layout", layout);
- final Map<String,Object> map = new HashMap<String,Object>();
-
- // HACK the pager until the datamodel provides methods to access
"paging" commands in the current mode.
- map.put("commandName", layout.getOrigin());
- // end-HACK
-
- importTemplate(template, map);
+ if(null != layout.getInclude(include) &&
layout.getInclude(include).length() > 0 ){
+
+ final String template = LAYOUT_DIRECTORY +
layout.getInclude(include);
+ try{
+ cxt.getOut().println("<!-- " + include + " -->");
+ }catch(IOException ioe){
+ LOG.warn("Failed to write include comment", ioe);
+ }
+ final Map<String,Object> map = new HashMap<String,Object>();
+
+ map.put("layout", layout);
+ // HACK the pager until the datamodel provides methods to access
"paging" commands in the current mode.
+ map.put("commandName", layout.getOrigin());
+ // end-HACK
+
+ importTemplate(template, map);
+
+ }else{
+ // could not find include
+ cxt.getOut().write("<!-- " + include + " not found -->");
+ }
}
// Package protected ---------------------------------------------
Modified:
trunk/war/src/main/java/no/sesat/search/view/taglib/SearchTabMainTag.java
===================================================================
--- trunk/war/src/main/java/no/sesat/search/view/taglib/SearchTabMainTag.java
2008-01-16 16:40:13 UTC (rev 5974)
+++ trunk/war/src/main/java/no/sesat/search/view/taglib/SearchTabMainTag.java
2008-01-16 20:55:24 UTC (rev 5975)
@@ -98,10 +98,12 @@
LOG.warn("Failed to write include comment", ioe);
}
- importTemplate(
- include.startsWith("/") ? include : PAGES_DIRECTORY +
include,
- new HashMap<String,Object>());
+ final Map<String,Object> map = new HashMap<String,Object>();
+
+ map.put("layout", layout);
+ importTemplate(include.startsWith("/") ? include : PAGES_DIRECTORY
+ include, map);
+
}else{
// use the default httpDecorator.jsp
cxt.setAttribute(MISSING, Boolean.TRUE);
_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits