| 1 90 package com.ivata.groupware.business.library.struts; 91 92 import java.io.BufferedReader ; 93 import java.io.FileNotFoundException ; 94 import java.io.IOException ; 95 import java.io.InputStream ; 96 import java.io.InputStreamReader ; 97 import java.util.Iterator ; 98 import java.util.List ; 99 import java.util.Map ; 100 import java.util.Set ; 101 import java.util.Vector ; 102 103 import javax.servlet.http.HttpServletRequest ; 104 import javax.servlet.http.HttpServletResponse ; 105 import javax.servlet.http.HttpSession ; 106 107 import org.apache.struts.action.ActionErrors; 108 import org.apache.struts.action.ActionForm; 109 import org.apache.struts.action.ActionMapping; 110 111 import com.ivata.groupware.web.format.SanitizerFormat; 112 import com.ivata.mask.MaskFactory; 113 import com.ivata.mask.util.SystemException; 114 import com.ivata.mask.web.struts.MaskAction; 115 import com.ivata.mask.web.struts.MaskAuthenticator; 116 117 118 127 public class UploadHTMLAction extends MaskAction { 128 138 public UploadHTMLAction(MaskFactory maskFactory, MaskAuthenticator authenticator) { 139 super(maskFactory, authenticator); 140 } 141 164 public String execute(ActionMapping mapping, ActionErrors errors, 165 ActionForm form, HttpServletRequest request, 166 HttpServletResponse response, HttpSession session) 167 throws SystemException { 168 return null; 169 } 170 171 195 public String onConfirm(ActionMapping mapping, 196 ActionErrors errors, ActionForm form, HttpServletRequest request, 197 HttpServletResponse response, HttpSession session, 198 final String defaultForward) 199 throws SystemException { 200 UploadHTMLForm uploadForm = (UploadHTMLForm) form; 201 String returnForward = "utilClosePopUp"; 202 203 try { 204 InputStream stream = uploadForm.getFile().getInputStream(); 205 BufferedReader in = new BufferedReader (new InputStreamReader (stream)); 206 StringBuffer messageBuffer = new StringBuffer (); 207 char[] chbuf = new char[1024]; 208 int count; 209 210 while ((count = in.read(chbuf)) != -1) { 211 messageBuffer.append(chbuf, 0, count); 212 } 213 214 SanitizerFormat sanitizer = new SanitizerFormat(); 215 sanitizer.setOnlyBodyContents(true); 216 sanitizer.setSourceName("user input"); 217 Map parseResult = null; 219 220 List pages = (List ) parseResult.get("pages"); 221 222 if (!pages.isEmpty()) { 223 ItemForm itemForm = (ItemForm) session.getAttribute( 224 "libraryItemForm"); 225 session.setAttribute("libraryItemForm", itemForm); 227 228 Set images = (Set ) parseResult.get("images"); 229 Vector itemAttachments = null; 230 231 238 Vector newImages = new Vector (); 239 240 for (Iterator i = images.iterator(); i.hasNext();) { 242 String currentImage = (String ) i.next(); 243 boolean newImage = true; 244 245 254 if (newImage) { 255 newImages.add(currentImage); 256 } 257 } 258 259 if (!newImages.isEmpty()) { 261 UploadImagesForm uploadImagesForm = new UploadImagesForm(); 262 uploadImagesForm.setImageFileName(newImages); 263 request.setAttribute("libraryUploadImagesForm", 264 uploadImagesForm); 265 returnForward = "libraryImageUpload"; 266 } else { 267 request.setAttribute("openerPage", "/library/submit.action"); 268 } 269 } 270 } catch (FileNotFoundException efnf) { 271 throw new SystemException(efnf); 272 } catch (IOException eio) { 273 throw new SystemException(eio); 274 } 275 276 return returnForward; 277 } 278 } 279 | Popular Tags |