<%@ page import="java.io.*, bws.BookUtil, com.skatestown.invoice.*" %>
<HTML>
<HEAD><TITLE>Aplikacja do sprawdzania poprawnoci faktur</TITLE></HEAD>
<h1>Aplikacja do sprawdzania poprawnoci faktur</h1>

<p>Oto przykad aplikacji WWW sprawdzajcej poprawno faktur firmy SkatesTown. Moesz zmodyfikowa faktur w formularzu, jeli zechcesz (domylnie znajduje si tam dokument z rozdziau 2), wybra parser DOM lub SAX i sprawdzi poprawno kwoty na fakturze.</p>

<FORM action="index.jsp" method="POST">
<%
	String xml = request.getParameter("xml");
	if (xml == null) {
		xml = BookUtil.readResource(application, "/resources/sampleInvoice.xml");
	}
%>
	<TEXTAREA NAME="xml" ROWS="20" COLS="90"><%= xml%></TEXTAREA>
	<P></P>
	Wybierz typ parsera:
	<INPUT type="RADIO" name="parserType" value="SAX" CHECKED> SAX
	<INPUT type="RADIO" name="parserType" value="DOM" CHECKED> DOM
	<P></P>
	<INPUT type="SUBMIT" value=" Sprawd faktur ">
</FORM>

<%
	// sprawdzenie, czy otrzymalimy dane z formularza
	if (request.getParameter("xml") != null) {
		out.println("<HR>");

		// tworzymy instancj odpowiedniego parsera
		InvoiceChecker ic;
		if (request.getParameter("parserType").equals("SAX")) {
			out.print("Uywam parsera SAX<br>");
			ic = new InvoiceCheckerSAX();
		} else {
			out.print("Uywam parsera DOM<br>");
			ic = new InvoiceCheckerDOM();
		}
		
		// sprawdzenie poprawnoci faktury
		try {
			ic.checkInvoice(new StringBufferInputStream(xml));
			out.print("Faktura jest poprawna.");
		} catch (Exception e) {
			out.print(e.getMessage());
		}
	}
%>

</BODY>
</HTML>
