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.WebappUtil; 23 import org.apache.commons.validator.GenericValidator; 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 import org.springframework.orm.ObjectOptimisticLockingFailureException; 30 31 import javax.servlet.http.HttpServletRequest ; 32 import javax.servlet.http.HttpServletResponse ; 33 34 59 public final class UpdateContentLocaleAction extends BaseAction { 60 69 public ActionForward execute(ActionMapping mapping, ActionForm form, 70 HttpServletRequest request, HttpServletResponse response) throws Exception { 71 72 if ( !isCancelled(request) ) { 73 ContentLocaleForm contentLocaleForm = (ContentLocaleForm) form; 74 75 String contentLocaleIdentifier = contentLocaleForm.getIdentifier(); 76 77 if ( GenericValidator.isBlankOrNull(contentLocaleIdentifier) ) { 78 if ( log.isWarnEnabled() ) { 79 log.warn("Missing content locale identifier. Returning to list..."); 80 } 81 return mapping.findForward("listContentLocales"); 82 } 83 84 ContentLocale contentLocale = LocaleUtil.getInstance(servlet.getServletContext()).retrieveContentLocale(contentLocaleIdentifier); 85 86 if ( contentLocale == null ) { 87 ActionMessages errors = new ActionMessages(); 89 errors.add("contentLocaleNotFound", new ActionMessage("core.contentLocale.errors.notFound")); 90 saveErrors(request, errors); 91 return mapping.findForward("listContentLocales"); 92 } 93 94 WebappUtil.copyProperties(contentLocale, contentLocaleForm, request); 95 contentLocale.setTitle(contentLocaleForm.getTitleMap()); 96 97 try { 98 LocaleUtil.getInstance(servlet.getServletContext()).updateContentLocale(contentLocale); 99 } catch ( ObjectOptimisticLockingFailureException e ) { 100 ActionMessages errors = new ActionMessages(); 102 errors.add("updateFailed", new ActionMessage("core.contentLocale.errors.updateFailed")); 103 saveErrors(request, errors); 104 return mapping.findForward("callUpdateContentLocale"); 105 } 106 } 107 return mapping.findForward("listContentLocales"); 108 } 109 } | Popular Tags |