1   package com.mlw.fps.view.taglib;
2   
3   import javax.servlet.jsp.JspException;
4   
5   import org.apache.struts.util.RequestUtils;
6   import org.apache.struts.util.ResponseUtils;
7   
8   import com.mlw.fps.view.form.AdvancedSortInfoForm;
9   
10  /***
11   *
12   * @author  Matthew Wilson
13   * @version $Revision: 1.3 $
14   */
15  public class HeaderTag extends javax.servlet.jsp.tagext.BodyTagSupport
16  {
17    private String sortInfo;
18    private String action;
19    
20    /*** Holds value of property valueList. */
21    private String valueList;
22    
23    /*** Holds value of property sortColumn. */
24    private String sortColumn;
25  
26    /*** Creates new GridTag
27     */
28    public HeaderTag()
29    {
30      super();
31    }
32    
33    public String getSortInfo()
34    {
35      return sortInfo;
36    }
37    
38    public AdvancedSortInfoForm getSortInfoBean() throws JspException
39    {
40      return (AdvancedSortInfoForm)RequestUtils.lookup(pageContext, sortInfo, null);
41    }
42    
43    public void release()
44    {
45      sortColumn = null;
46      valueList = null;
47      sortInfo = null;
48      action = null;
49    }
50    
51    /***
52     * @throws JspException
53     * @return
54     **/
55    public int doStartTag() throws JspException
56    {
57      AdvancedSortInfoForm sortInfo = getSortInfoBean();
58      if( sortInfo.getColumn()==null ) sortInfo.setColumn(sortColumn);
59      
60      ResponseUtils.write(pageContext, "<tr>");
61      return EVAL_BODY_AGAIN;
62    }
63    
64    public int doEndTag() throws JspException
65    {
66      if( getBodyContent()!=null) 
67      {
68        ResponseUtils.write(pageContext, getBodyContent().getString() );
69      }
70      ResponseUtils.write(pageContext, "</tr>");
71      
72      if( valueList!=null )
73      {
74        AdvancedSortInfoForm sortInfo = (AdvancedSortInfoForm)getSortInfoBean();
75        com.mlw.fps.view.manager.ViewManager view = (com.mlw.fps.view.manager.ViewManager)pageContext.getSession().getAttribute("viewManager");
76        
77        com.mlw.vlh.ValueListInfo info = new com.mlw.vlh.ValueListInfo(
78        sortInfo.getColumn(),
79        sortInfo.getDirection(),
80        view.getFilterManager().getSystemFilters().getFilters()
81        );
82        
83        if( sortInfo.getKillerPk() != null )
84          info.getFilters().put("killerPk", sortInfo.getKillerPk() );
85        else
86          info.getFilters().remove("killerPk");
87          
88        
89        if( sortInfo.getWeaponPk() != null )
90          info.getFilters().put("weaponPk", sortInfo.getWeaponPk() );
91        else
92          info.getFilters().remove("weaponPk");
93        
94        pageContext.getRequest().setAttribute(valueList, com.mlw.vlh.ValueListHandler.getInstance().getValueList(info, valueList) );
95        
96        info.getFilters().remove("killerPk");
97      }
98      
99      return SKIP_BODY;
100   }
101   
102   /*** Setter for property sortInfo.
103    * @param sortInfo New value of property sortInfo.
104    */
105   public void setSortInfo(String sortInfo)
106   {
107     this.sortInfo = sortInfo;
108   }
109   
110   /*** Setter for property action.
111    * @param action New value of property action.
112    */
113   public void setAction(String action)
114   {
115     this.action = action;
116   }
117   public String getAction()
118   {
119     if( action.endsWith("&") )
120     {
121       return action;
122     }
123     else if( action.indexOf('?') > 0 )
124     {
125       return action + "&";
126     }
127     else
128     {
129       return action + "?";
130     }
131   }
132   
133   /*** Getter for property valueList.
134    * @return Value of property valueList.
135    */
136   public String getValueList()
137   {
138     return this.valueList;
139   }
140   
141   /*** Setter for property valueList.
142    * @param valueList New value of property valueList.
143    */
144   public void setValueList(String valueList)
145   {
146     this.valueList = valueList;
147   }
148   
149   /*** Getter for property sortColumn.
150    * @return Value of property sortColumn.
151    */
152   public String getSortColumn()
153   {
154     return this.sortColumn;
155   }
156   
157   /*** Setter for property sortColumn.
158    * @param sortColumn New value of property sortColumn.
159    */
160   public void setSortColumn(String sortColumn)
161   {
162     this.sortColumn = sortColumn;
163   }
164   
165 }
This page was automatically generated by Maven