1 16 package com.blandware.atleap.webapp.action.core.contentLocale; 17 18 import com.blandware.atleap.model.core.ContentLocale; 19 import com.blandware.atleap.webapp.action.core.BaseAction; 20 import com.blandware.atleap.webapp.form.ContentLocaleForm; 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.core.WebappUtil; 24 import org.apache.struts.action.ActionForm; 25 import org.apache.struts.action.ActionForward; 26 import org.apache.struts.action.ActionMapping; 27 import org.apache.struts.action.ActionMessage; 28 import org.apache.struts.action.ActionMessages; 29 30 import javax.servlet.http.HttpServletRequest ; 31 import javax.servlet.http.HttpServletResponse ; 32 import java.util.List ; 33 34 53 public final class CallUpdateContentLocaleAction extends BaseAction { 54 63 public ActionForward execute(ActionMapping mapping, ActionForm form, 64 HttpServletRequest request, HttpServletResponse response) throws Exception { 65 66 if ( isCancelled(request) ) { 67 return mapping.findForward("listContentLocales"); 68 } 69 70 if (!request.isUserInRole("core-contentLocale-update")) { 71 response.sendError(HttpServletResponse.SC_FORBIDDEN); 72 return null; 73 } 74 75 ContentLocaleForm contentLocaleForm = (ContentLocaleForm) form; 76 String localeIdentifier = null; 77 if ( contentLocaleForm.getIdentifier() != null ) { 78 localeIdentifier = contentLocaleForm.getIdentifier(); 79 } else if ( request.getSession().getAttribute(WebappConstants.CONTENT_LOCALE_IDENTIFIER_KEY) != null ) { 80 localeIdentifier = (String ) request.getSession().getAttribute(WebappConstants.CONTENT_LOCALE_IDENTIFIER_KEY); 81 } else { 82 if ( log.isWarnEnabled() ) { 83 log.warn("Missing content locale identifier. Returning to list..."); 84 } 85 return mapping.findForward("listContentLocales"); 86 } 87 88 ContentLocale contentLocale = LocaleUtil.getInstance(servlet.getServletContext()).retrieveContentLocale(localeIdentifier); 89 90 if ( contentLocale == null ) { 91 ActionMessages errors = new ActionMessages(); 93 errors.add("contentLocaleNotFound", new ActionMessage("core.contentLocale.errors.notFound")); 94 saveErrors(request, errors); 95 return mapping.findForward("listContentLocales"); 96 } 97 98 WebappUtil.copyProperties(contentLocaleForm, contentLocale, request); 99 contentLocaleForm.setTitleMap(contentLocale.getTitle()); 100 101 102 List contentLocales = LocaleUtil.getInstance(servlet.getServletContext()).getAvailableLocales(); 104 request.getSession().setAttribute(WebappConstants.CONTENT_LOCALES_COLLECTION_KEY, contentLocales); 105 106 saveToken(request); 108 return mapping.findForward("updateContentLocale"); 109 } 110 111 } | Popular Tags |