Coverage Report - com.buckosoft.PicMan.web.MosaicDisplayAjaxController
 
Classes in this File Line Coverage Branch Coverage Complexity
MosaicDisplayAjaxController
0%
0/29
0%
0/4
4
 
 1  
 /******************************************************************************
 2  
  * MosaicDisplayAjaxController.java - The Spring controller for the Mosaic Display page AJAX calls
 3  
  * 
 4  
  * PicMan - The BuckoSoft Picture Manager in Java
 5  
  * Copyright(c) 2007 - Dick Balaska
 6  
  * 
 7  
  */
 8  
 package com.buckosoft.PicMan.web;
 9  
 
 10  
 import java.io.IOException;
 11  
 import java.io.OutputStream;
 12  
 import java.io.UnsupportedEncodingException;
 13  
 
 14  
 import javax.servlet.http.HttpServletRequest;
 15  
 import javax.servlet.http.HttpServletResponse;
 16  
 
 17  
 import org.apache.commons.logging.Log;
 18  
 import org.apache.commons.logging.LogFactory;
 19  
 import org.dom4j.Document;
 20  
 import org.dom4j.io.OutputFormat;
 21  
 import org.dom4j.io.XMLWriter;
 22  
 import org.springframework.web.servlet.ModelAndView;
 23  
 import org.springframework.web.servlet.mvc.Controller;
 24  
 
 25  
 import com.buckosoft.BSAccount.web.BSAccountPageController;
 26  
 import com.buckosoft.BSAccount.web.BSAccountUserWebSession;
 27  
 import com.buckosoft.PicMan.business.PicManFacade;
 28  
 import com.buckosoft.PicMan.dom.MosaicManDom;
 29  
 import com.buckosoft.PicMan.domain.User;
 30  
 
 31  
 /** The Spring controller for the Mosaic Display page AJAX calls
 32  
  * @author Dick Balaska
 33  
  * @since 2007/12/28
 34  
  * @see <a href="http://cvs.buckosoft.com/Projects/java/PicMan/PicMan/src/com/buckosoft/PicMan/web/MosaicDisplayAjaxController.java">MosaicDisplayAjaxController.java</a>
 35  
  */
 36  0
 public class MosaicDisplayAjaxController extends BSAccountPageController implements        Controller {
 37  
         private final static boolean DEBUG                = false;
 38  
         private final static boolean DEBUGLOTS        = false;
 39  0
         protected final Log logger = LogFactory.getLog(getClass());
 40  
 
 41  
         private PicManFacade pmf;
 42  
 
 43  
         /** Set the reference to the PicMan API.
 44  
          * @param pmf The PicManFacade
 45  
          */
 46  0
         public void setPicMan(PicManFacade pmf) { this.pmf = pmf; }
 47  
 
 48  
 
 49  
         /** Spring standard http request handler, outputs a {@link MosaicManDom}
 50  
          * @param request The http request
 51  
          * @param response The http response
 52  
          * @return null
 53  
          */ 
 54  
         public ModelAndView handleRequest(HttpServletRequest request,
 55  
                         HttpServletResponse response) {
 56  
                 if (DEBUGLOTS)
 57  
                         logger.info("XML MosaicDisplay Request");
 58  
 
 59  0
                 response.setContentType("text/xml");
 60  0
                 response.addHeader("Cache-Control", "max-age=0");
 61  0
                 response.addHeader("Cache-Control", "no-cache");
 62  0
                 response.addHeader("expires", "0");
 63  0
                 response.addHeader("Expires", "Tue, 01 Jan 1980 1:00:00 GMT");
 64  0
                 response.addHeader("Pragma", "no-cache");
 65  
 
 66  0
                 User user = null;
 67  0
                 BSAccountUserWebSession userWebSession = this.bsAccountMan.getUserWebSession(request);
 68  0
                 if (userWebSession != null) 
 69  0
                         user = (User)userWebSession.getUser();
 70  0
                 String outputMosaic = request.getParameter("outputMosaic");
 71  0
                 if (outputMosaic != null) {
 72  
                         if (DEBUG)
 73  
                                 logger.info("OutputMosaic");
 74  0
                         pmf.getMosaicMan().outputMosaicFile();
 75  
                 }
 76  
                 try {
 77  0
                         Document dom = MosaicManDom.createDocument(pmf, user);
 78  0
                         OutputStream stream = response.getOutputStream();
 79  0
                         OutputFormat outformat = OutputFormat.createPrettyPrint();
 80  0
                         outformat.setEncoding("ISO-8859-1");
 81  0
                         XMLWriter writer = new XMLWriter(stream, outformat);
 82  0
                         writer.write(dom);
 83  0
                         writer.flush();
 84  0
                 } catch (UnsupportedEncodingException e) {
 85  0
                         logger.warn(e);
 86  0
                 } catch (IOException e) {
 87  0
                         logger.warn(e);
 88  0
                 }
 89  0
                 return null;
 90  
         }
 91  
 }
 92