package com.jaxfront.example.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.jaxfront.core.ui.TypeVisualizerFactory; import com.jaxfront.html.servlet.DOMActionController; import com.jaxfront.html.servlet.DOMHandler; import com.jaxfront.html.servlet.DefaultDOMHandler; import com.jaxfront.html.servlet.HTMLJAXFrontDOMRepresentation; import com.jaxfront.html.servlet.JAXFrontServletAdapter; import com.jaxfront.html.servlet.JAXFrontSession; import com.jaxfront.html.visualizers.HTMLFactory; /*-- Copyright (C) 2001-2007 by xcentric technology & consulting GmbH. All rights reserved. This software is the confidential and proprietary information of xcentric technology & consulting GmbH ("Confidential Information"). You shall not disclose such Confidential Information and shall use it only in accordance with the terms of the license agreement you entered into with xcentric. www.jaxfront.com */ /** * Shows how to implement your own servlet corresponding with a JAXFront DOM. * * @version 2.3 */ public class MyCustomerServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (JAXFrontServletAdapter.doesConcern(request)) { JAXFrontServletAdapter.getInstance().handle(request, response); } else { String action = request.getParameter("action"); if (action != null && action.equals("create")) { createDOM(request, response); } else { super.doGet(request, response); } } } /** * Process incoming HTTP POST requests * * @param request * Object that encapsulates the request to the servlet * @param response * Object that encapsulates the response from the servlet */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException { if (JAXFrontServletAdapter.doesConcern(request)) { JAXFrontServletAdapter.getInstance().handle(request, response); } else { String action = request.getParameter("action"); if (action != null && action.equals("create")) { createDOM(request, response); } else { super.doPost(request, response); } } } private void createDOM(HttpServletRequest request, HttpServletResponse response) { JAXFrontSession jaxfrontSession = JAXFrontServletAdapter.getJAXFrontSession(request, true); String id = request.getParameter("id"); //use this id to resolve xsd or an xml instance as an example String xsd = JAXFrontServletAdapter.getRealPath(getServletContext(), "examples/purchaseOrder/po.xsd"); String xml = id; String xui = JAXFrontServletAdapter.getRealPath(getServletContext(), "examples/purchaseOrder/po.xui"); DOMHandler domHandler = new DefaultDOMHandler(null,request, xsd, xml, xui, null); DOMActionController actionController = new MyOwnDOMActionController(); domHandler.setActionController(actionController); HTMLJAXFrontDOMRepresentation domRepresentation = jaxfrontSession.build(null,request, domHandler); String formContent = domRepresentation.printRootForm(request, Boolean.FALSE, false); try { response.getWriter().write(formContent); } catch (IOException e) { } } public void init() throws ServletException { System.out.println("******************************************************"); System.out.println(" JAXFront DEMO (MyCustomerServlet)"); System.out.println(" "); System.out.println(" ... start initializing"); super.init(); TypeVisualizerFactory.setInstance(new HTMLFactory()); System.out.println(" ... end initializing"); } }