blob: 55391709f30e474e26f14047cc5f504f126f60ed [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* $Id$
*/
import java.io.IOException;
import java.io.PrintWriter;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author Morten Jorgensen
*/
public class TransformServlet extends HttpServlet {
// Error message used when the XSL transformation bean cannot be created
private final static String createErrorMsg =
"<h1>XSL transformation bean error</h1>"+
"<p>An XSL transformation bean could not be created.</p>";
// Transformer - "more than meets the eye".
private TransformHome transformer;
/**
* Servlet initializer - look up the bean's home interface
*/
public void init(ServletConfig config)
throws ServletException{
try{
InitialContext context = new InitialContext();
Object transformRef = context.lookup("transform");
transformer =
(TransformHome)PortableRemoteObject.narrow(transformRef,
TransformHome.class);
} catch (Exception NamingException) {
NamingException.printStackTrace();
}
}
/**
* Handles "GET" HTTP requests - ie. runs the actual transformation
*/
public void doGet (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
String document = request.getParameter("document");
String translet = request.getParameter("translet");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
try{
// Get the insult from the bean
TransformRemote xslt = transformer.create();
String result = xslt.transform(document, translet);
out.println(result);
} catch(Exception CreateException){
out.println(createErrorMsg);
}
out.close();
}
public void destroy() {
System.out.println("Destroy");
}
}