KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > portlets > languagesmanager > action > EditLanguageAction


1 /*
2  * Created on Sep 23, 2004
3  *
4  */

5 package com.dotmarketing.portlets.languagesmanager.action;
6
7
8
9 import java.sql.SQLException JavaDoc;
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 /**
31  * @author alex
32  *
33  */

34 public class EditLanguageAction extends DotPortletAction {
35     public void processAction(ActionMapping mapping, ActionForm form, PortletConfig config, ActionRequest req,
36         ActionResponse res) throws Exception JavaDoc {
37         String JavaDoc cmd = req.getParameter(Constants.CMD);
38
39         
40         Logger.debug(this, "\n\n***********cmd = " + cmd + "***");
41         
42         String JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc ae) {
74                 _handleException(ae, req);
75                 
76             }
77             _sendToReferral(req, res, "");
78         }
79         /*Copy copy props from the db to the form bean */
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     }//finish processAction
90

91     
92     
93     
94     /*here I retrieve the language from the database if I come from the views languages or from the form to save it*/
95     private void _retrieveLanguage(ActionRequest req, ActionResponse res, PortletConfig config, ActionForm form, String JavaDoc languageId)
96     throws Exception JavaDoc {
97    
98
99     
100         Language language = LanguageFactory.getLanguage(languageId);
101         
102     
103
104     req.setAttribute(WebKeys.LANGUAGE_MANAGER_LANGUAGE, language);
105     }
106     
107     
108    /* here I save the language if it exits or not in the database*/
109    private void _save(ActionRequest req, ActionResponse res, PortletConfig config, ActionForm form) throws Exception JavaDoc {
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 JavaDoc e ){
118             SessionMessages.add(req,"message", "message.languagemanager.languagenotsaved");
119             throw new SQLException JavaDoc();
120         }
121         SessionMessages.add(req,"message", "message.languagemanager.language_save");
122         
123         
124     }
125    /* here I delete the language from the database*/
126     private void _delete(ActionRequest req, ActionResponse res, PortletConfig config, ActionForm form, String JavaDoc languageId) {
127         Language language = LanguageFactory.getLanguage(languageId);
128         LanguageFactory.deleteLanguage(language);
129         LanguageCache.removeLanguage(language);
130         Logger.debug(this, "deleted");
131     }
132 }
Popular Tags