KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > portlets > jobs > cms > action > AddJobAction


1 /*
2  * Created on Mar 28, 2005
3  */

4 package com.dotmarketing.portlets.jobs.cms.action;
5
6 import javax.servlet.http.HttpServletRequest JavaDoc;
7 import javax.servlet.http.HttpServletResponse JavaDoc;
8 import org.apache.commons.beanutils.BeanUtils;
9 import org.apache.struts.action.ActionForm;
10 import org.apache.struts.action.ActionForward;
11 import org.apache.struts.action.ActionMapping;
12 import org.apache.struts.action.ActionMessages;
13 import org.apache.struts.actions.DispatchAction;
14 import com.dotmarketing.factories.InodeFactory;
15 import com.dotmarketing.portlets.jobs.factories.EmailFactory;
16 import com.dotmarketing.portlets.jobs.factories.JobsFactory;
17 import com.dotmarketing.portlets.jobs.model.Jobs;
18 import com.dotmarketing.portlets.jobs.struts.JobsForm;
19 import com.dotmarketing.util.Logger;
20
21 /**
22  * @author Maru
23  */

24 public class AddJobAction extends DispatchAction{
25
26     public ActionForward unspecified(ActionMapping mapping, ActionForm jf, HttpServletRequest JavaDoc request,
27             HttpServletResponse JavaDoc response) throws Exception JavaDoc {
28         
29         //copies back into the form
30
JobsForm form = (JobsForm) jf;
31         Jobs job = JobsFactory.getJob(request.getParameter("inode"));
32         BeanUtils.copyProperties(form, job);
33         request.setAttribute("jobsForm",form);
34         
35         ActionForward af = (mapping.findForward("addJobPage"));
36         return af;
37     }
38
39     public ActionForward save(ActionMapping mapping, ActionForm lf, HttpServletRequest JavaDoc request,
40             HttpServletResponse JavaDoc response) throws Exception JavaDoc {
41         
42         //Getting and setting request attributes
43
JobsForm form = (JobsForm) lf;
44         Jobs job = JobsFactory.getJob(request.getParameter("inode"));
45         BeanUtils.copyProperties(job, form);
46         
47         //Checking errors
48
ActionMessages aes = form.validate(mapping, request);
49         if(aes != null && aes.size() > 0){
50             request.setAttribute("jobsForm",form);
51             saveErrors(request,aes);
52             return mapping.getInputForward();
53         }
54
55         Logger.debug(this, "_saveJob: Inode = " + job.getInode());
56         InodeFactory.saveInode(job);
57
58         //copies back into the form
59
BeanUtils.copyProperties(form, job);
60         request.setAttribute("jobsForm",form);
61         
62         //Forwarding to the page
63
ActionForward af = mapping.findForward("addJobPreviewPage");
64         return af;
65     }
66     
67     public ActionForward receipt (ActionMapping mapping, ActionForm jf, HttpServletRequest JavaDoc request,
68             HttpServletResponse JavaDoc response) throws Exception JavaDoc {
69         
70         //copies back into the form
71
JobsForm form = (JobsForm) jf;
72         Jobs job = JobsFactory.getJob(request.getParameter("inode"));
73         BeanUtils.copyProperties(form, job);
74         request.setAttribute("jobsForm",form);
75
76         //Forwarding to the page
77
ActionForward af = mapping.findForward("addJobReceiptPage");
78         return af;
79     }
80
81     public ActionForward success(ActionMapping mapping, ActionForm form, HttpServletRequest JavaDoc request,
82             HttpServletResponse JavaDoc response) throws Exception JavaDoc {
83         
84         JobsForm job = (JobsForm) form;
85         Jobs newJob = (Jobs) InodeFactory.getInode("" + job.getInode(),Jobs.class);
86         
87         //send confirmation email.
88
EmailFactory.sendCareerPostingReceipt("" + job.getInode(),newJob.getEmail(),"addJob");
89
90         ActionForward af = (mapping.findForward("addJobPageThankYou"));
91         return af;
92     }
93
94 }
95
Popular Tags