KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > portlets > jobs > action > EditResumeAction


1 package com.dotmarketing.portlets.jobs.action;
2
3 import java.util.Calendar JavaDoc;
4 import java.util.GregorianCalendar JavaDoc;
5 import javax.portlet.ActionRequest;
6 import javax.portlet.ActionResponse;
7 import javax.portlet.PortletConfig;
8 import javax.servlet.http.HttpServletRequest JavaDoc;
9 import org.apache.commons.beanutils.BeanUtils;
10 import org.apache.struts.action.ActionForm;
11 import org.apache.struts.action.ActionMapping;
12 import com.dotmarketing.factories.InodeFactory;
13 import com.dotmarketing.portal.struts.DotPortletAction;
14 import com.dotmarketing.portlets.jobs.factories.ResumeFactory;
15 import com.dotmarketing.portlets.jobs.model.Resume;
16 import com.dotmarketing.util.Constants;
17 import com.dotmarketing.util.Logger;
18 import com.dotmarketing.util.Validator;
19 import com.dotmarketing.util.WebKeys;
20 import com.liferay.portlet.ActionRequestImpl;
21 import com.liferay.util.servlet.SessionMessages;
22
23 public class EditResumeAction extends DotPortletAction {
24     public void processAction(ActionMapping mapping, ActionForm form, PortletConfig config, ActionRequest req,
25             ActionResponse res) throws Exception JavaDoc {
26         String JavaDoc cmd = req.getParameter(com.liferay.portal.util.Constants.CMD);
27         
28         //wraps request to get session object
29
ActionRequestImpl reqImpl = (ActionRequestImpl) req;
30         HttpServletRequest JavaDoc httpReq = reqImpl.getHttpServletRequest();
31         
32         String JavaDoc referer = req.getParameter("referer");
33         
34         //get Resume from inode
35
_editResume(form, req, res);
36         
37         // Save / Update a Resume
38
if (com.liferay.portal.util.Constants.ADD.equals(cmd)) {
39             Logger.debug(this, "Resume: Saving Resume");
40             
41             ///Validate Resume
42
if (!Validator.validate(req, form, mapping)) {
43                 Logger.debug(this, "Resume: Validation Resume Failed");
44                 setForward(req, mapping.getInput());
45                 
46                 return;
47             } else {
48                 try {
49                     _saveResume(form, req, res);
50                 } catch (Exception JavaDoc e) {
51                     _handleException(e, req);
52                 }
53                 
54                 _sendToReferral(req, res, referer);
55                 
56                 return;
57             }
58         }
59         // Delete a Resume
60
else if (com.liferay.portal.util.Constants.DELETE.equals(cmd)) {
61             Logger.debug(this, "Resume: Deleting Resume");
62             
63             try {
64                 _deleteResume(form, req, res);
65             } catch (Exception JavaDoc e) {
66                 _handleException(e, req);
67             }
68             
69             _sendToReferral(req, res, referer);
70             
71             return;
72         }
73         
74         // Activate a Resume
75
else if (Constants.ACTIVATE.equals(cmd)) {
76             Logger.debug(this, "Resume: Activating Resume");
77             
78             try {
79                 _activateResume(form, req, res);
80             } catch (Exception JavaDoc e) {
81                 _handleException(e, req);
82             }
83             
84             _sendToReferral(req, res, referer);
85             
86             return;
87         }
88
89         // Activate a Resume
90
else if ("deletefile".equals(cmd)) {
91             Logger.debug(this, "Resume: Deleting File from Resume");
92             
93             try {
94                 _deleteResumeFile(form, req, res);
95             } catch (Exception JavaDoc e) {
96                 _handleException(e, req);
97             }
98             
99             _sendToReferral(req, res, referer);
100             
101             return;
102         }
103
104         BeanUtils.copyProperties(form, req.getAttribute(WebKeys.RESUME_EDIT));
105         setForward(req, "portlet.ext.jobs.edit_resume");
106     }
107     
108     /*Private Methods*/
109     //save resume
110
private void _saveResume(ActionForm form, ActionRequest req, ActionResponse res)
111     throws Exception JavaDoc {
112
113         BeanUtils.copyProperties(req.getAttribute(WebKeys.RESUME_EDIT), form);
114         Resume resume = (Resume) req.getAttribute(WebKeys.RESUME_EDIT);
115
116         if(resume.getExpirationdate() == null) {
117             if(resume.isActive()) {
118                 Calendar JavaDoc calendar = new GregorianCalendar JavaDoc();
119                 calendar.setTime(resume.getCreationdate());
120                 calendar.add(Calendar.MONTH,6);
121                 resume.setExpirationdate(calendar.getTime());
122             }
123         }
124
125         resume = ResumeFactory.save(resume);
126         req.setAttribute(WebKeys.RESUME_EDIT, resume);
127         
128         SessionMessages.add(req, "message.resume.save");
129     }
130     
131     //delete resume
132
private void _deleteResume(ActionForm form, ActionRequest req, ActionResponse res)
133     throws Exception JavaDoc {
134         Resume resume = (Resume) req.getAttribute(WebKeys.RESUME_EDIT);
135         InodeFactory.deleteInode(resume);
136         SessionMessages.add(req, "message", "message.resume.delete");
137     }
138     
139     //delete resume
140
private void _deleteResumeFile(ActionForm form, ActionRequest req, ActionResponse res)
141     throws Exception JavaDoc {
142         Resume resume = (Resume) req.getAttribute(WebKeys.RESUME_EDIT);
143        // FileUpload file = (FileUpload) InodeFactory.getChildOfClass(resume, FileUpload.class);
144
// resume.deleteChild(file);
145
// InodeFactory.deleteInode(file);
146
}
147
148     //activate resume
149
private void _activateResume(ActionForm form, ActionRequest req, ActionResponse res)
150     throws Exception JavaDoc {
151         //to get http request object
152
Resume r = (Resume)req.getAttribute(WebKeys.RESUME_EDIT);
153         
154         String JavaDoc activeStr = req.getParameter("active");
155         boolean active = Boolean.parseBoolean(activeStr);
156         r.setActive(active);
157         if(r.isActive()) {
158             Calendar JavaDoc cal = new GregorianCalendar JavaDoc();
159             cal.setTime(r.getCreationdate());
160             cal.add(Calendar.MONTH,6);
161             r.setExpirationdate(cal.getTime());
162         }
163         InodeFactory.saveInode(r);
164     }
165
166     //edit resume
167
private void _editResume(ActionForm form, ActionRequest req, ActionResponse res)
168     throws Exception JavaDoc {
169         Resume resume = ResumeFactory.getResume(req.getParameter("inode"));
170         req.setAttribute(WebKeys.RESUME_EDIT, resume);
171     }
172 }
173
Popular Tags