1 16 package com.blandware.atleap.webapp.action.news; 17 18 import com.blandware.atleap.common.NewsModuleConstants; 19 import com.blandware.atleap.model.news.NewsItem; 20 import com.blandware.atleap.service.news.NewsManager; 21 import com.blandware.atleap.webapp.action.core.BaseAction; 22 import com.blandware.atleap.webapp.form.NewsItemForm; 23 import com.blandware.atleap.webapp.util.core.LocaleUtil; 24 import com.blandware.atleap.webapp.util.core.WebappConstants; 25 import com.blandware.atleap.webapp.util.news.NewsModuleWebConstants; 26 import org.apache.struts.action.ActionForm; 27 import org.apache.struts.action.ActionForward; 28 import org.apache.struts.action.ActionMapping; 29 import org.apache.struts.action.ActionMessage; 30 import org.apache.struts.action.ActionMessages; 31 32 import javax.servlet.http.HttpServletRequest ; 33 import javax.servlet.http.HttpServletResponse ; 34 import java.util.List ; 35 36 56 public final class ViewNewsItemAction extends BaseAction { 57 66 public ActionForward execute(ActionMapping mapping, ActionForm form, 67 HttpServletRequest request, HttpServletResponse response) throws Exception { 68 NewsItemForm newsItemForm = (NewsItemForm) form; 69 Long newsItemId = null; 70 if ( newsItemForm.getId() != null ) { 71 newsItemId = Long.valueOf(newsItemForm.getId()); 72 } else if ( request.getSession().getAttribute(NewsModuleWebConstants.NEWS_ITEM_ID_KEY) != null ) { 73 newsItemId = (Long ) request.getSession().getAttribute(NewsModuleWebConstants.NEWS_ITEM_ID_KEY); 74 } else { 75 if ( log.isWarnEnabled() ) { 76 log.warn("Missing content page ID. Returning to list..."); 77 } 78 return mapping.findForward("listNewsItems"); 79 } 80 81 NewsManager newsManager = (NewsManager) getBean(NewsModuleConstants.NEWS_MANAGER_BEAN); 82 NewsItem newsItem = newsManager.retrieveNewsItem(newsItemId); 83 if ( newsItem == null ) { 84 ActionMessages errors = new ActionMessages(); 86 errors.add("newsItemNotFound", new ActionMessage("news.errors.notFound")); 87 saveErrors(request, errors); 88 return mapping.findForward("listNewsItems"); 89 } 90 91 List contentLocales = LocaleUtil.getInstance(servlet.getServletContext()).getAvailableLocales(); 92 93 request.getSession().setAttribute(WebappConstants.CONTENT_LOCALES_COLLECTION_KEY, contentLocales); 94 95 request.setAttribute("newsItem", newsItem); 96 return mapping.findForward("viewNewsItem"); 97 } 98 } | Popular Tags |