/**
*
*/
package com.salesmanager.shop.store.controller;
import javax.servlet.http.HttpServletRequest;
import com.salesmanager.core.model.reference.language.Language;
import com.salesmanager.shop.constants.Constants;
import com.salesmanager.shop.store.model.paging.PaginationData;
/**
* @author Umesh A
*
*/
public abstract class AbstractController {
/**
* Method which will help to retrieving values from Session
* based on the key being passed to the method.
* @param key
* @return value stored in session corresponding to the key
*/
@SuppressWarnings( "unchecked" )
protected <T> T getSessionAttribute(final String key, HttpServletRequest request) {
return (T) com.salesmanager.shop.utils.SessionUtil.getSessionAttribute(key, request);
}
protected void setSessionAttribute(final String key, final Object value, HttpServletRequest request) {
com.salesmanager.shop.utils.SessionUtil.setSessionAttribute(key, value, request);
}
protected void removeAttribute(final String key, HttpServletRequest request) {
com.salesmanager.shop.utils.SessionUtil.removeSessionAttribute(key, request);
}
protected Language getLanguage(HttpServletRequest request) {
return (Language)request.getAttribute(Constants.LANGUAGE);
}
protected PaginationData createPaginaionData( final int pageNumber, final int pageSize )
{
final PaginationData paginaionData = new PaginationData(pageSize,pageNumber);
return paginaionData;
}
protected PaginationData calculatePaginaionData( final PaginationData paginationData, final int pageSize, final int resultCount){
int currentPage = paginationData.getCurrentPage();
int count = Math.min((currentPage * pageSize), resultCount);
paginationData.setCountByPage(count);
paginationData.setTotalCount( resultCount );
return paginationData;
}
}