<%@ page language="java" import="historyPlaces.*,java.util.*" %>
<%@ include file="header.inc" %>
<%-- Initialize DB --%>
<%
engine db = new engine();
%>
<h2>Show Hierarchy</h2>
<p>The focus of this part of the deliverable is to provide the user with an interface to view a hierarchy of places that can go to an arbitrary depth. It should also be able to provide the user with a simple way to see where they are within the hierarchy of places. Also the ability to create a place at any depth should be given to the user.</p>
<%
int lastPlaceID = -1;
String paramater = request.getParameter("pid");
int paramaterNum = -1;
if(paramater != null){
paramaterNum = Integer.parseInt(paramater);
}
if(paramaterNum == -1)
paramaterNum = 1;
LinkedList hierarchy = db.getHierarchy(paramaterNum);
out.print("<span style=\"font-size: 12px;\">" + db.buildNav(hierarchy) + "</span>\n <br /> \n <br />");
int parentID = -1;
for(int i = hierarchy.size() - 1; i >= 0; i--){
place curPlace1 = (place)hierarchy.get(i);
out.println("Place Name: <strong>" + curPlace1.getPlaceName() + "</strong>");
out.println("<p style=margin-left:15px;>");
out.println("Comment: " + curPlace1.getComment() + "<br/>");
if(curPlace1.getPhotoID() >= 1){
out.println("<p style=margin-left:30px;>");
out.println("<strong>Photo Info</strong><br/>");
//photo curPhoto = db.getPhoto(1);
photo curPhoto = db.getPhoto(curPlace1.getPhotoID());
out.println("Comment: " + curPhoto.getComment() + "<br/>");
out.println("Date Taken (YYYYY-MM-DD): " + curPhoto.getDate() + "<br/>");
out.println("Photographer: " + curPhoto.getPhotographer() + "<br/>");
if(curPhoto.isURL()){
out.println("<strong>Place Photo</strong><br/><img src=\"" + curPhoto.getURL() + "\">");
}else{
out.println("<strong>Place Photo</strong><br/><img src=\"images\\" + curPhoto.getFilename() + "\">");
}
out.println("</p>");
}else{
out.println("<strong>No Image Available!</strong>");
}
out.println("</p>");
parentID = curPlace1.getPlaceID();
}
LinkedList myChildren = db.getChildren(parentID);
place curPlace = new place();
if(myChildren.size() != 0){
out.println("<h3>Available Children</h3> <font style=\"font-size:12px;\"># in parentheses is the number of children below that specific place</font>");
out.println("<ul>");
for(int i = 0; i < myChildren.size(); i++){
curPlace = (place)myChildren.get(i);
if(curPlace.getPlaceID() != curPlace.getParentID()){
out.println("<li><a href=./hierarchy.jsp?pid=" + curPlace.getPlaceID() + ">" + curPlace.getPlaceName() + "</a> (" + db.numberOfChildren(curPlace.getPlaceID()) + ")</li>");
}
}
out.println("</ul>");
out.println("<a href=\"./create.jsp?parent=" + curPlace.getParentID() + "\">Create a New Place Here!</a>");
}else{
out.println("<strong>End of hierarchy!</strong>");
place lastPlace = db.getPlace(lastPlaceID);
out.println("<a href=\"./create.jsp?parent=" + paramaterNum + "\">Create a New Place Here!</a>");
}
%>
<%@ include file="footer.inc" %>