1 16 package com.blandware.atleap.webapp.action.testimonials; 17 18 import com.blandware.atleap.common.TestimonialModuleConstants; 19 import com.blandware.atleap.common.util.QueryInfo; 20 import com.blandware.atleap.model.testimonials.Testimonial; 21 import com.blandware.atleap.service.testimonials.TestimonialManager; 22 import com.blandware.atleap.webapp.action.core.grid.BaseGridAction; 23 import com.blandware.atleap.webapp.taglib.core.grid.util.Grid; 24 import com.blandware.atleap.webapp.taglib.core.grid.util.SortField; 25 import com.blandware.atleap.webapp.util.core.WebappConstants; 26 import com.blandware.atleap.webapp.util.core.WebappUtil; 27 import com.blandware.atleap.webapp.util.testimonials.TestimonialModuleWebConstants; 28 import org.apache.struts.Globals; 29 import org.apache.struts.action.ActionForm; 30 import org.apache.struts.action.ActionForward; 31 import org.apache.struts.action.ActionMapping; 32 33 import javax.servlet.http.HttpServletRequest ; 34 import javax.servlet.http.HttpServletResponse ; 35 import java.util.HashMap ; 36 import java.util.List ; 37 import java.util.ListIterator ; 38 import java.util.Locale ; 39 import java.util.Map ; 40 41 56 public final class ListTestimonialsAction extends BaseGridAction { 57 66 public ActionForward execute(ActionMapping mapping, ActionForm form, 67 HttpServletRequest request, HttpServletResponse response) throws Exception { 68 69 70 Grid testimonialGrid = getGridByName(TestimonialModuleWebConstants.TESTIMONIALS_GRID, request.getSession()); 71 if ( testimonialGrid == null ) { 72 testimonialGrid = new Grid(TestimonialModuleWebConstants.TESTIMONIALS_GRID); 73 } 74 75 String sortFieldName = request.getParameter("sortField"); 77 String orderByClause = new String (); 78 if ( TestimonialModuleWebConstants.TESTIMONIALS_GRID.equals(request.getParameter("gridName")) && sortFieldName != null && sortFieldName.length() > 0 ) { 79 SortField sortField = testimonialGrid.getSortFieldByFieldName(sortFieldName); 80 if ( sortField == null ) { 81 sortField = new SortField(sortFieldName); 82 testimonialGrid.addSortField(sortField); 83 } else { 84 sortField.reverseOrder(); 85 testimonialGrid.addSortField(sortField); 86 } 87 orderByClause = testimonialGrid.getOrderByClause(); 88 testimonialGrid.getSortFieldByFieldName(sortFieldName).reverseOrder(); 89 } 90 91 saveGrid(testimonialGrid, request.getSession()); 92 93 QueryInfo queryInfo = new QueryInfo(); 94 queryInfo.setWhereClause(testimonialGrid.getWhereClause()); 95 queryInfo.setOrderByClause(orderByClause); 96 97 Map queryParameters = new HashMap (); 98 Locale locale = (Locale ) request.getSession().getAttribute(Globals.LOCALE_KEY); 99 queryParameters.put("localeIdentifier", locale.getLanguage()); 100 queryInfo.setQueryParameters(queryParameters); 101 102 TestimonialManager testimonialManager = (TestimonialManager) getBean(TestimonialModuleConstants.TESTIMONIAL_MANAGER_BEAN); 103 List testimonials = testimonialManager.listTestimonials(queryInfo).asList(); 104 105 for ( ListIterator i = testimonials.listIterator(); i.hasNext(); ) { 106 Testimonial testimonial = (Testimonial) i.next(); 107 Testimonial tmp = new Testimonial(); 108 WebappUtil.copyProperties(tmp, testimonial, request); 109 tmp.setUri(WebappUtil.getActionMappingURL(testimonial.getUri(), null, request, WebappConstants.URL_TYPE_CONTEXT_RELATIVE)); 110 i.set(tmp); 111 } 112 113 request.setAttribute(TestimonialModuleWebConstants.TESTIMONIALS_COLLECTION_KEY, testimonials); 114 115 saveToken(request); 117 return mapping.findForward("listTestimonials"); 118 } 119 } | Popular Tags |