// package org.javatrainer; // Jeff: Not needed package esse; /** * @author Anika Sindhwani, with the design and help from Jeff Offutt * Date: August, 2013 * Version 2 */ import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; // import javax.servlet.annotation.WebServlet; // Jeff: Doesn't compile import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom.NodeList; import org.w3c.dom.Node; import org.w3c.dom.Element; import java.io.File; /** * Servlet implementation class ProjectList */ // @WebServlet("/ProjectList") // Jeff: Our compiler doesn't support this. public class ProjectList extends HttpServlet { // private static final long serialVersionUID = 1L; // Jeff: Not used /** * @see HttpServlet#doGet (HttpServletRequest request, HttpServletResponse response) */ protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { String servletPath = "expProj/"; // Anika (Jeff: This is not used) // String webServerPath = "/Images/"; // Anika String webServerPath = "http://cs.gmu.edu/~offutt/esse/"; // Jeff // String xmlPath = "c:/eclipse/"; // Anika String xmlPath = "/var/www/CS/webapps/offutt/WEB-INF/data/esse/"; // Jeff String imagePath = "/Images/"; PrintWriter out = response.getWriter(); // Open the XML file and create list of elements File fXmlFile = new File (xmlPath + "projectList.xml"); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse (fXmlFile); // create the top of the page out.println (""); out.println (""); out.println ("
"); out.println ("Project | "); out.print ("Language | "); out.print ("LOC | "); out.print ("Classes | "); out.print ("Methods | "); out.print ("Tests | "); out.print ("Designs | "); out.print ("Requirements | "); out.print ("UI | "); out.print ("Type | "); out.print ("Date Uploaded | "); out.print ("Times Downloaded | "); out.println ("Download |
---|---|---|---|---|---|---|---|---|---|---|---|---|
"); out.print (""); //add info to tables from XML out.print (element.getElementsByTagName ("name").item(0).getTextContent()); out.println (" | "); out.print (""); out.print (element.getElementsByTagName ("language").item(0).getTextContent()); out.println (" | "); out.print (""); out.print (element.getElementsByTagName ("loc").item(0).getTextContent ()); out.println (" | "); out.print (""); out.print (element.getElementsByTagName ("classes").item(0).getTextContent()); out.println (" | "); out.print (""); out.print (element.getElementsByTagName ("methods").item(0).getTextContent()); out.println (" | "); //checks if yes/no, puts image in the table out.print (""); String testsFromXML = element.getElementsByTagName ("tests").item(0).getTextContent(); if (testsFromXML.equals ("No")) { out.print (""); } else { out.print (""); } out.println (" | "); out.print (""); String designFromXML = element.getElementsByTagName ("designs").item(0).getTextContent(); if (designFromXML.equals ("No")) { out.print (""); } else { out.print (""); } out.println (" | "); out.print (""); String reqsFromXML = element.getElementsByTagName ("requirements").item(0).getTextContent(); if (reqsFromXML.equals ("No")) { out.print (""); } else { out.print (""); } out.println (" | "); out.print (""); out.print (element.getElementsByTagName ("ui").item(0).getTextContent()); out.println (" | "); out.print (""); out.print (element.getElementsByTagName ("type").item(0).getTextContent()); out.println (" | "); out.print (""); out.print (element.getElementsByTagName ("dateUploaded").item(0).getTextContent()); out.println (" | "); out.print (""); out.print (element.getElementsByTagName ("timesDownloaded").item(0).getTextContent()); out.println (" | "); out.print (""); //creates link to the servlet for download count and download file out.print (""); } // end if (node.getNodeType() == Node.ELEMENT_NODE) } // end for out.println (" |