Package net.jsunit.action

Source Code of net.jsunit.action.XmlResult

package net.jsunit.action;

import com.opensymphony.webwork.ServletActionContext;
import com.opensymphony.xwork.ActionInvocation;
import com.opensymphony.xwork.Result;
import net.jsunit.XmlRenderable;
import net.jsunit.utility.XmlUtility;
import org.jdom.Document;
import org.jdom.Element;

import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.logging.Logger;

public class XmlResult implements Result {

  private Logger logger = Logger.getLogger(XmlResult.class.getName());
 
    public void execute(ActionInvocation invocation) throws Exception {
        XmlProducer producer = (XmlProducer) invocation.getAction();
        XmlRenderable xmlRenderable = producer.getXmlRenderable();
        Element element = xmlRenderable.asXml();
        Document document = new Document(element);
        String xmlString = XmlUtility.asString(document);
        HttpServletResponse response = ServletActionContext.getResponse();
        response.setContentType("text/xml");
        try {
          OutputStream out = response.getOutputStream();
          BufferedOutputStream bufferedOut = new BufferedOutputStream(out);
          bufferedOut.write(xmlString.getBytes());
          bufferedOut.close();
        } catch (IOException e) {
          logger.warning("Failed to write result XML response to browser: " + e.toString());
        }
    }

}
TOP

Related Classes of net.jsunit.action.XmlResult

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.