Author: ssmiweve
Date: 2007-11-17 21:06:48 +0100 (Sat, 17 Nov 2007)
New Revision: 5916

Modified:
   
trunk/view-config-spi/src/main/java/no/sesat/search/view/SearchTabFactory.java
   trunk/war/src/main/java/no/sesat/search/view/taglib/SearchTabMainTag.java
Log:
SEARCH-3719 - Se p?\195?\165 muligheter for bruk av ajax


Modified: 
trunk/view-config-spi/src/main/java/no/sesat/search/view/SearchTabFactory.java
===================================================================
--- 
trunk/view-config-spi/src/main/java/no/sesat/search/view/SearchTabFactory.java  
    2007-11-16 14:27:15 UTC (rev 5915)
+++ 
trunk/view-config-spi/src/main/java/no/sesat/search/view/SearchTabFactory.java  
    2007-11-17 20:06:48 UTC (rev 5916)
@@ -373,14 +373,19 @@
                 final NodeList layoutsNodeList = 
tabE.getElementsByTagName("layout");
 
                 Layout defaultLayout = null;
+                final Layout defaultInheritedLayout = null != inherit 
+                        ? inherit.getDefaultLayout()
+                        : null;
                 final Map<String,Layout> layouts = new 
HashMap<String,Layout>();
 
                 for(int j = 0 ;j < layoutsNodeList.getLength(); ++j){
 
                     final Element layoutE = (Element) layoutsNodeList.item(j);
                     final String layoutId = null != layoutE.getAttribute("id") 
? layoutE.getAttribute("id") : "";
-                    final Layout layout = new Layout(null != inherit ? 
inherit.getLayouts().get(layoutId) : null)
-                            .readLayout(layoutE);
+                    final Layout inheritedLayout = null != inherit && null != 
inherit.getLayouts().get(layoutId) 
+                            ? inherit.getLayouts().get(layoutId)
+                            : defaultInheritedLayout;
+                    final Layout layout = new 
Layout(inheritedLayout).readLayout(layoutE);
 
                     layouts.put(layoutId, layout);
 

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   
2007-11-16 14:27:15 UTC (rev 5915)
+++ trunk/war/src/main/java/no/sesat/search/view/taglib/SearchTabMainTag.java   
2007-11-17 20:06:48 UTC (rev 5916)
@@ -65,6 +65,9 @@
     /** Called by the container to invoke this tag.
      * The implementation of this method is provided by the tag library 
developer,
      * and handles all tag processing, body iteration, etc.
+     * 
+     * Calling this tag also has the side effect of setting the layout in use 
into the context's attributes.
+     * 
      * @throws javax.servlet.jsp.JspException 
      */
     @Override
@@ -74,9 +77,10 @@
         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();
+        cxt.setAttribute("layout", layout);
 
         final String front = null != layout.getFront() && 0 < 
layout.getFront().length()
                 ? layout.getFront()

_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits

Reply via email to