import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.lang.Object.*;
import java.sql.*;

// päringud (muuda), Üldine info tabeli kohta
// lisa
// kustuta

public class Baas extends HttpServlet{
	
	protected int PANEEL_ID=0;
	protected int SISU_ID=0;
	protected int PAIS_ID=0;
	Connection cn;
	
	Kujundus joonistaja;
	
	public Baas(){
		try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");			
			cn=DriverManager.getConnection("jdbc:odbc:baas", "", "");
		}catch(Exception e){
			System.out.println("v1:"+e);
		}
		joonistaja=new Kujundus(PANEEL_ID,SISU_ID,PAIS_ID);
	}
	/*
	 * Nagu http's on ka servlettidel GET ja POST käsud, mille tulemusena väljastatakse veebileht
	 * GET-päringu puhul antakse parameetrid kaasa URLi real, nende pikkus on piiratum ning loodud 
	 * leht võidakse kergemini puhverdada. 
	 * 
	 * Meetodile antud esimese parameetri kaudu saab andmeid päringu kohta: milliselt aadressilt ja masinast tuldi,
	 * millised andmed kasutaja kaasa saatis. 
	 * Teine parameeter tüübist HttpServletResponse võimaldab määrata loodava lehe sisu ning päised.
	 */
	public void doGet(HttpServletRequest kysimus, HttpServletResponse vastus) throws IOException, ServletException{		
		vastus.setContentType("text/html");
		PrintWriter pw=vastus.getWriter();
		pw.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
		pw.println("<html><head>");
		pw.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />");
		pw.println("<title>eMaterjalid</title></head>\n");
		pw.println("<body>");
		pw.println(teemad());
		pw.println("</body>");
		
	}
	/*
	 * Kuvab avalehele kõik peateemad,so. teemad, mis asuvad juurikas, so. teemad, millel puudub parent teema
	 */
	String teemad(){
		try{			
			Statement st=cn.createStatement();
			String lause="SELECT * FROM teema WHERE vanem=0";
			ResultSet rs=st.executeQuery(lause);					
			String sisu="<center><table border=1>\n";
			while(rs.next()){
					sisu+="<tr>\n"+
						"<td width=100>"+
						rs.getString("teema")+						
						"</td><td>"+
						alamTeemad(alamTeemad(rs.getString("ID")))+
						"</td>"+
					"\n</tr>\n";
			}
			sisu+="</table></center>";
			cn.close();
			return sisu;
		}catch(Exception e){return("viga:"+e);}				
	}
	String alamTeemad(String ID) throws Exception{
		int nr=0;
		Integer.parseInt(ID);
		Statement st=cn.createStatement();
		String lause="SELECT * FROM teema WHERE vanem=ID";		
		ResultSet rs=st.executeQuery(lause);					
		while(rs.next()){
			nr++;
		}
		return String.valueOf(nr);
	}
	/*
	 * Kui tegemist andmete sisestamisega (näiteks enese võrgu kaudu registreerimisega), siis tuleb 
	 * paratamatult programm igal korral uuesti käima panna ning selleks kasutatakse POST-nimelist meetodit
	 */
	public void doPost(HttpServletRequest kysimus, HttpServletResponse vastus) throws IOException, ServletException{
	}
}