1 16 package com.blandware.atleap.webapp.action.news; 17 18 import com.blandware.atleap.common.util.DateUtil; 19 import com.blandware.atleap.webapp.action.core.BaseAction; 20 import com.blandware.atleap.webapp.form.NewsItemForm; 21 import com.blandware.atleap.webapp.util.core.LocaleUtil; 22 import com.blandware.atleap.webapp.util.core.WebappConstants; 23 import com.blandware.atleap.webapp.util.news.NewsModuleWebConstants; 24 import com.blandware.atleap.model.core.ContentLocale; 25 import org.apache.commons.validator.GenericValidator; 26 import org.apache.struts.action.ActionForm; 27 import org.apache.struts.action.ActionForward; 28 import org.apache.struts.action.ActionMapping; 29 30 import javax.servlet.http.HttpServletRequest ; 31 import javax.servlet.http.HttpServletResponse ; 32 import java.util.*; 33 34 53 public final class CallCreateNewsItemAction extends BaseAction { 54 63 public ActionForward execute(ActionMapping mapping, ActionForm form, 64 HttpServletRequest request, HttpServletResponse response) throws Exception { 65 66 NewsItemForm newsItemForm = (NewsItemForm) form; 67 68 request.getSession().removeAttribute(NewsModuleWebConstants.NEWS_ITEM_SUBMITTED_ACTION_KEY); 69 70 List contentLocales = LocaleUtil.getInstance(servlet.getServletContext()).getAvailableLocales(); 71 request.getSession().setAttribute(WebappConstants.CONTENT_LOCALES_COLLECTION_KEY, contentLocales); 72 73 Locale locale = getLocale(request); 75 if ( GenericValidator.isBlankOrNull(newsItemForm.getPublicationDate()) ) { 76 newsItemForm.setPublicationDate(DateUtil.formatDate(new Date(), locale)); 77 } 78 79 if ( GenericValidator.isBlankOrNull(newsItemForm.getExpirationDate()) ) { 80 Calendar cal = Calendar.getInstance(locale); 81 cal.add(Calendar.YEAR, 1); 82 newsItemForm.setExpirationDate(DateUtil.formatDate(cal.getTime(), locale)); 83 } 84 85 String localesMode = newsItemForm.getLocalesMode(); 86 if ( !"current".equalsIgnoreCase(localesMode) && !"all".equalsIgnoreCase(localesMode) ) { 87 localesMode = "selected"; 88 } 89 newsItemForm.setLocalesMode(localesMode); 90 91 Map annotationCheckedBoxes = newsItemForm.getAnnotationCheckedBoxes(); 93 for (Iterator i = contentLocales.iterator(); i.hasNext();) { 94 ContentLocale contentLocale = (ContentLocale) i.next(); 95 annotationCheckedBoxes.put(contentLocale.getIdentifier(), Boolean.TRUE); 96 } 97 98 if ("selected".equalsIgnoreCase(localesMode)) { 100 request.setAttribute(WebappConstants.SELECT_ALL_LOCALES_CHECKBOX_IS_CHECKED, Boolean.TRUE); 101 } 102 103 saveToken(request); 105 return mapping.findForward("createNewsItem"); 106 } 107 } | Popular Tags |