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()&amp;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()&amp;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

Reply via email to