1 5 package com.dotmarketing.portlets.languagesmanager.action; 6 7 8 9 import java.sql.SQLException ; 10 11 import javax.portlet.ActionRequest; 12 import javax.portlet.ActionResponse; 13 import javax.portlet.PortletConfig; 14 15 import org.apache.commons.beanutils.BeanUtils; 16 import org.apache.struts.action.ActionForm; 17 import org.apache.struts.action.ActionMapping; 18 19 import com.dotmarketing.cache.LanguageCache; 20 import com.dotmarketing.portal.struts.DotPortletAction; 21 import com.dotmarketing.portlets.languagesmanager.factories.LanguageFactory; 22 import com.dotmarketing.portlets.languagesmanager.model.Language; 23 import com.dotmarketing.util.Logger; 24 import com.dotmarketing.util.Validator; 25 import com.dotmarketing.util.WebKeys; 26 import com.liferay.portal.util.Constants; 27 import com.liferay.util.servlet.SessionMessages; 28 29 30 34 public class EditLanguageAction extends DotPortletAction { 35 public void processAction(ActionMapping mapping, ActionForm form, PortletConfig config, ActionRequest req, 36 ActionResponse res) throws Exception { 37 String cmd = req.getParameter(Constants.CMD); 38 39 40 Logger.debug(this, "\n\n***********cmd = " + cmd + "***"); 41 42 String languageId = req.getParameter("id"); 43 44 Logger.debug(this, "id ="+languageId+"*********"); 45 46 if(languageId != null && (!languageId.equals("")) ){ 47 try { 48 _retrieveLanguage(req, res, config, form, languageId); 49 } catch (Exception e) { 50 _handleException(e, req); 51 } 52 } 53 54 if((cmd != null) && cmd.equals(Constants.SAVE)) { 55 try { 56 if (Validator.validate(req,form,mapping)) { 57 58 Logger.debug(this, "I'm saving"); 59 _save(req, res, config, form); 60 _sendToReferral(req, res, ""); 61 } 62 } catch (Exception ae) { 63 _handleException(ae, req); 64 65 } 66 67 } 68 69 if((cmd != null) && cmd.equals(Constants.DELETE)) { 70 try { 71 Logger.debug(this, "I'm deleting"); 72 _delete(req, res, config, form,languageId); 73 } catch (Exception ae) { 74 _handleException(ae, req); 75 76 } 77 _sendToReferral(req, res, ""); 78 } 79 80 if ((cmd != null) && cmd.equals(Constants.EDIT)) { 81 BeanUtils.copyProperties(form, req.getAttribute(WebKeys.LANGUAGE_MANAGER_LANGUAGE)); 82 } 83 84 85 86 87 88 setForward(req, "portlet.ext.languagesmanager.edit_languages"); 89 } 91 92 93 94 95 private void _retrieveLanguage(ActionRequest req, ActionResponse res, PortletConfig config, ActionForm form, String languageId) 96 throws Exception { 97 98 99 100 Language language = LanguageFactory.getLanguage(languageId); 101 102 103 104 req.setAttribute(WebKeys.LANGUAGE_MANAGER_LANGUAGE, language); 105 } 106 107 108 109 private void _save(ActionRequest req, ActionResponse res, PortletConfig config, ActionForm form) throws Exception { 110 Language language = (Language) req.getAttribute(WebKeys.LANGUAGE_MANAGER_LANGUAGE) ; 111 112 BeanUtils.copyProperties(language,form); 113 try{ 114 LanguageFactory.saveLanguage(language); 115 LanguageCache.addLanguage(language); 116 } 117 catch(Exception e ){ 118 SessionMessages.add(req,"message", "message.languagemanager.languagenotsaved"); 119 throw new SQLException (); 120 } 121 SessionMessages.add(req,"message", "message.languagemanager.language_save"); 122 123 124 } 125 126 private void _delete(ActionRequest req, ActionResponse res, PortletConfig config, ActionForm form, String languageId) { 127 Language language = LanguageFactory.getLanguage(languageId); 128 LanguageFactory.deleteLanguage(language); 129 LanguageCache.removeLanguage(language); 130 Logger.debug(this, "deleted"); 131 } 132 } | Popular Tags |