1 16 package com.blandware.atleap.webapp.taglib.core.grid; 17 18 import com.blandware.atleap.webapp.taglib.core.grid.util.Grid; 19 import com.blandware.atleap.webapp.taglib.core.grid.util.SortField; 20 21 import javax.servlet.jsp.JspException ; 22 import javax.servlet.jsp.JspTagException ; 23 import javax.servlet.jsp.PageContext ; 24 import javax.servlet.jsp.tagext.JspFragment ; 25 import javax.servlet.jsp.tagext.SimpleTagSupport ; 26 import java.io.IOException ; 27 28 42 public class SortDescTag extends SimpleTagSupport { 43 44 50 public void doTag() throws JspException , IOException { 51 52 PageContext pageContext = (PageContext ) getJspContext(); 53 54 SortTag parentSortTag = (SortTag) findAncestorWithClass(this, SortTag.class); 55 if ( parentSortTag == null ) { 56 JspTagException e = new JspTagException ("Parent tag is invalid! This tag is only valid when nested within 'sort' tag"); 57 throw e; 58 } 59 60 String fieldName = parentSortTag.getFieldName(); 61 62 GridTag parentGridTag = (GridTag) findAncestorWithClass(this, GridTag.class); 63 Grid grid = parentGridTag.getGrid(); 64 65 SortField sortField = grid.getSortFieldByFieldName(fieldName); 66 if ( sortField != null && !sortField.isOrderAscending() ) { 67 JspFragment body = getJspBody(); 68 if ( body != null ) { 69 body.invoke(null); 70 } 71 } 72 } 73 } 74 | Popular Tags |