Subversion Repositories bacoAlunos

Rev

Rev 430 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.web.ajaxapis;


import jomm.utils.StreamsUtils;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.web.UserSessionProxy;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.MalformedURLException;

import org.apache.log4j.Logger;

/**
 * @author Jorge
 * @date 24/Mar/2009
 * @time 3:25:40
 */

public class ServicosImpressao extends HttpServlet
{
    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(ServicosImpressao.class);

    protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, 1.5.0/docs/api/java/io/IOException.html">IOException
    {
        doPost(httpServletRequest, httpServletResponse);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, 1.5.0/docs/api/java/io/IOException.html">IOException
    {
        1.5.0/docs/api/java/lang/StringBuffer.html">StringBuffer sbResponse = new 1.5.0/docs/api/java/lang/StringBuffer.html">StringBuffer();

        5+0%2Fdocs%2Fapi+DataOutputStream">DataOutputStream out;


        try
        {
            sbResponse = new 1.5.0/docs/api/java/lang/StringBuffer.html">StringBuffer();

            java.net.1.5.0/docs/api/java/net/URL.html">URL programUrl = new java.net.1.5.0/docs/api/java/net/URL.html">URL(Globals.INTRANET_IMPRESSAO_SERVICO_API + "?username=" + UserSessionProxy.loadUserSession(request,response).getUsername());


            java.net.1.5.0/docs/api/java/net/HttpURLConnection.html">HttpURLConnection connection = (java.net.1.5.0/docs/api/java/net/HttpURLConnection.html">HttpURLConnection)programUrl.openConnection();
            if(Globals.INTRANET_IMPRESSAO_SERVICO_AUTH)
            {
                1.5.0/docs/api/java/lang/String.html">String user = Globals.INTRANET_IMPRESSAO_SERVICO_AUTH_USER;
                1.5.0/docs/api/java/lang/String.html">String pass = Globals.INTRANET_IMPRESSAO_SERVICO_AUTH_PASS;
                1.5.0/docs/api/java/lang/String.html">String encoding = new sun.misc.BASE64Encoder().encode((user + ":" + pass).getBytes());
                connection.setRequestProperty ("Authorization", "Basic " + encoding);
            }

            (connection).setRequestMethod("POST");
            connection.setDoOutput(true);
            connection.setDoInput(true); //Only if you expect to read a response...
            connection.setUseCaches(false); //Highly recommended...
            connection.setAllowUserInteraction(true);
            connection.setFollowRedirects(true);
            connection.setInstanceFollowRedirects(true);
            connection.setRequestProperty ("Content-Type",
                    "application/x-www-form-urlencoded");

//            System.out.println(request.getParameter("request"));
//            System.out.println(request.getParameter("showmap"));



//            out = new DataOutputStream(connection.getOutputStream());
//            String content = "request=" + URLEncoder.encode (request.getParameter("request"))
//                    + "&showmap=" + URLEncoder.encode (request.getParameter("showmap"));
            1.5.0/docs/api/java/lang/System.html">System.out.println("\n" + "sending form to HTTP server ...");
//            out.writeBytes (content);
//            out.flush ();
//            out.close ();


//            PrintWriter output = new PrintWriter(new OutputStreamWriter(connection.getOutputStream()));
//            output.print("request="+ URIUtil.encodeQuery(request.getParameter("request")));
//            output.print("&showmap=" + URIUtil.encodeQuery(request.getParameter("showmap")));
//            //output.flush();
//            output.close();


            1.5.0/docs/api/java/io/BufferedReader.html">BufferedReader rd = new 1.5.0/docs/api/java/io/BufferedReader.html">BufferedReader(new 1.5.0/docs/api/java/io/InputStreamReader.html">InputStreamReader(connection.getInputStream()));

            1.5.0/docs/api/java/lang/String.html">String line;

            while ((line = rd.readLine()) != null)
            {
                sbResponse.append(line);
            }

            rd.close();

        } catch (1.5.0/docs/api/java/net/MalformedURLException.html">MalformedURLException e)
        {
            sbResponse.setLength(0);
            sbResponse.append(e.getMessage());
            e.printStackTrace();
            response.sendError(500);
        } catch (1.5.0/docs/api/java/io/IOException.html">IOException e)
        {
            e.printStackTrace();
            sbResponse.setLength(0);
            sbResponse.append(e.getMessage());
            response.sendError(500);
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable throwable)
        {
            logger.error(throwable,throwable);
            response.sendError(500);
        }

        response.setContentType("text/xml");
        1.5.0/docs/api/java/io/PrintWriter.html">PrintWriter pw = new 1.5.0/docs/api/java/io/PrintWriter.html">PrintWriter(response.getOutputStream());
        pw.write(sbResponse.toString());
        pw.close();
    }
}