KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > geinuke > module > admin > dbmodule > EditDBModule


1 /*
2 -- GeiNuke --
3 Copyright (c) 2005 by Roberto Sidoti [geinuke@users.sourceforge.net]
4 http://www.hostingjava.it/-geinuke/
5
6 This file is part of GeiNuke.
7
8    GeiNuke is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 2 of the License, or
11    (at your option) any later version.
12
13    GeiNuke is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16    GNU General Public License for more details.
17
18    You should have received a copy of the GNU General Public License
19    along with GeiNuke; if not, write to the Free Software
20    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21 */

22 package com.geinuke.module.admin.dbmodule;
23
24 import javax.servlet.http.HttpServletRequest JavaDoc;
25 import javax.servlet.http.HttpServletResponse JavaDoc;
26
27 import org.apache.velocity.context.Context;
28
29 import com.geinuke.common.EditorFactory;
30 import com.geinuke.common.GlobalConfigurationI;
31 import com.geinuke.common.NukeModuleI;
32 import com.geinuke.common.UserI;
33 import com.geinuke.middle.*;
34 import com.geinuke.module.StaticModule;
35 import com.geinuke.servlet.GeiServlet;
36 import com.geinuke.util.TextUtil;
37
38 import com.geinuke.vo.ModuleDBVO;
39
40 public class EditDBModule extends StaticModule{
41     
42     
43     protected String JavaDoc check(HttpServletRequest JavaDoc req,IModuleBL mbl,boolean flag) throws Exception JavaDoc{
44         String JavaDoc error=null;
45         String JavaDoc text=req.getParameter("text");
46         String JavaDoc nameAndTitle=req.getParameter("name");
47         if(TextUtil.isEmpty(text)){
48             error="MNO_EMPTY_TEXT_LABEL";
49         }else if(TextUtil.isEmpty(nameAndTitle)){
50             error="MNO_EMPTY_NAME_LABEL";
51         }else if(flag && (mbl.getModule(nameAndTitle)!=null) ){
52             error="MNAME_ALREADY_EXISTS";
53         }
54         return error;
55     }
56     
57     protected ModuleDBVO get(HttpServletRequest JavaDoc req){
58         String JavaDoc text=req.getParameter("text");
59         String JavaDoc name=req.getParameter("name");
60         ModuleDBVO md=new ModuleDBVO();
61         if(name!=null)
62             md.setName(name.trim().replace(' ','_'));
63         md.setTitle(name);
64         String JavaDoc op=req.getParameter("op");
65         if(op!=null && op.lastIndexOf("Link")>=0)
66             text=ModuleDBVO.LINK_MODULE+text;
67         
68         md.setContent(text);
69         md.setDbStored(true);
70         md.setActive(true);
71         md.setPos(0);
72         md.setRoleLevel(1000);
73         md.setSkin(0);
74         md.setWeight(0);
75         return md;
76     }
77     
78     public NukeModuleI handleAction(ModuleDBVO module, Context ctx,HttpServletRequest JavaDoc req, HttpServletResponse JavaDoc res, UserI user, GlobalConfigurationI gConf) throws Exception JavaDoc {
79         IModuleBL mbl=(IModuleBL)GeiServlet.getBL("IModuleBL");
80         GeiServlet.intLog("EditDBModule.handleAction(...), A");
81         if(req.getParameter("op").equals("insDBModule") ){
82             String JavaDoc error=null;
83             ModuleDBVO bl=this.get(req);
84             if( (error=this.check(req,mbl,true) )==null){
85                 mbl.insertDBStoredModule(bl);
86                 ctx.put("moduleY",bl);
87                 ctx.put("msgOK","y");
88                 ctx.put("action","updDBModule");
89                 
90             }else{
91                 ctx.put("action","insDBModule");
92                 ctx.put("moduleY",bl);
93                 ctx.put("errors",ctx);
94                 ctx.put("error",error);
95             }
96             
97         }else if(req.getParameter("op").equals("updDBModule") ){
98             String JavaDoc error=null;
99             int mid=Integer.parseInt(req.getParameter("mid")) ;
100             ModuleDBVO bl1=mbl.getModuleByID(mid);
101             if(! bl1.isDbStored()){
102                 res.sendRedirect("Error.jhtm");
103             }
104             ModuleDBVO bl=this.get(req);
105             bl1.setName(bl.getName());
106             bl1.setTitle(bl.getName());
107             //if(req.getParameter("op").equals("updLinkModule"))
108
//bl1.setContent(ModuleDBVO.LINK_MODULE+bl.getContent());
109
//else
110
bl1.setContent(bl.getContent());
111             GeiServlet.intLog("EditDBModule.handleAction(...), B");
112             if( (error=this.check(req,mbl,false) )==null){
113                 GeiServlet.intLog("EditDBModule.handleAction(...), C"+bl1.getContent());
114                 mbl.updateDBModule(bl1);
115                 ctx.put("moduleY",bl1);
116                 ctx.put("msgOK","y");
117             }else{
118                 ctx.put("moduleY",bl1);
119                 ctx.put("errors",ctx);
120                 ctx.put("error",error);
121             }
122             GeiServlet.intLog("EditDBModule.handleAction(...), D"+error);
123             ctx.put("action","updDBModule");
124         }else if(req.getParameter("op").equals("updDBModuleStart") ){
125             
126             int mid=Integer.parseInt(req.getParameter("mid")) ;
127             ModuleDBVO bl1=mbl.getModuleByID(mid);
128             GeiServlet.intLog("EditDBModule.handleAction(...), E "+bl1.getName());
129             GeiServlet.intLog("EditDBModule.handleAction(...), E "+bl1.getTitle());
130             GeiServlet.intLog("EditDBModule.handleAction(...), E "+bl1.getContent());
131             ctx.put("moduleY",bl1);
132             ctx.put("action","updDBModule");
133             
134         }else {
135             ModuleDBVO bl=this.get(req);
136             bl.setContent("");
137             bl.setName("");
138             bl.setTitle("");
139             ctx.put("moduleY",bl);
140             ctx.put("action","insDBModule");
141         }
142         EditorFactory ef=new EditorFactory(req,new Object JavaDoc());
143         ctx.put("factory",ef);
144         
145         
146         return super.handleAction(module,ctx,req,res,user,gConf);
147     }
148     
149     
150
151 }
152
Popular Tags