KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > geinuke > module > wiki > SubmitFile


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

23 package com.geinuke.module.wiki;
24
25
26 import java.util.ArrayList JavaDoc;
27
28 import javax.servlet.http.HttpServletRequest JavaDoc;
29 import javax.servlet.http.HttpServletResponse JavaDoc;
30
31 import org.apache.velocity.context.Context;
32
33 import com.geinuke.bizlogic.UploadException;
34 import com.geinuke.common.GlobalConfigurationI;
35 import com.geinuke.common.ModuleWidgetI;
36 import com.geinuke.common.NukeModuleI;
37 import com.geinuke.common.UserI;
38 import com.geinuke.middle.IWikiBL;
39 import com.geinuke.module.ModuleWriter;
40 import com.geinuke.servlet.GeiServlet;
41 import com.geinuke.util.FileUtils;
42 import com.geinuke.util.MagicUpload;
43 import com.geinuke.util.NukeResource;
44 import com.geinuke.vo.ModuleDBVO;
45 import com.geinuke.vo.WikiArticleVO;
46 import com.geinuke.vo.WikiFileVO;
47
48 public class SubmitFile implements ModuleWidgetI{
49
50     
51     public void uploadFile(WikiArticleVO wa,HttpServletRequest JavaDoc req,MagicUpload upload)throws Exception JavaDoc{
52         WikiFileVO wf=null;
53         ArrayList JavaDoc exts=new ArrayList JavaDoc();
54         exts.add("*");
55         String JavaDoc path=GeiServlet.getNukePath();
56         path=path+"./images/giki/"+wa.getWAId()+"/";
57         /*File f=new File(path);
58         if(! f.exists())
59             f.mkdir();
60         f=null;
61         */

62         FileUtils.mkDir(path);
63         try{
64             String JavaDoc fn=NukeResource.upload(upload,req,path,exts);
65             wf=new WikiFileVO();
66             IWikiBL bl=(IWikiBL)GeiServlet.getBL("IWikiBL");
67             wf.setFileName(fn);
68             path="./images/giki/"+wa.getWAId()+"/";
69             wf.setPath(path+fn);
70             wf.setTime(System.currentTimeMillis());
71             wf.setEWAID(wa.getWAId());
72             
73             bl.insWikiFile(wf);
74         }catch(UploadException e){
75             GeiServlet.intLog(" uploadFile Exception "+e);
76         }
77     }
78     
79     public NukeModuleI handleAction(ModuleDBVO module, Context ctx,HttpServletRequest JavaDoc req, HttpServletResponse JavaDoc res, UserI user, GlobalConfigurationI gConf) throws Exception JavaDoc {
80         String JavaDoc moduleTempName=null;
81         WikiArticleVO wa=null;
82         IWikiBL bl=(IWikiBL)GeiServlet.getBL("IWikiBL");
83         
84         int waid=-1;
85         MagicUpload upload=new MagicUpload();
86         String JavaDoc waids=NukeResource.getUploadProperty(upload,req,"waid");
87         waid= Integer.parseInt( waids );
88         wa= bl.getWikiArticleById(waid);
89         this.uploadFile(wa,req,upload);
90         res.sendRedirect("Giki.jhtm?op=showA&id="+wa.getWAId());
91         moduleTempName=gConf.getModulePage(module.getName(),req);
92         return ModuleWriter.fill(ctx,module,moduleTempName);
93     }
94
95 }
96
Popular Tags