📄 adminprotocolhandler.java
字号:
// Copyright 2002 Nokia Corporation.
//
// THIS SOURCE CODE IS PROVIDED 'AS IS', WITH NO WARRANTIES WHATSOEVER,
// EXPRESS OR IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY, FITNESS
// FOR ANY PARTICULAR PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE
// OR TRADE PRACTICE, RELATING TO THE SOURCE CODE OR ANY WARRANTY OTHERWISE
// ARISING OUT OF ANY PROPOSAL, SPECIFICATION, OR SAMPLE AND WITH NO
// OBLIGATION OF NOKIA TO PROVIDE THE LICENSEE WITH ANY MAINTENANCE OR
// SUPPORT. FURTHERMORE, NOKIA MAKES NO WARRANTY THAT EXERCISE OF THE
// RIGHTS GRANTED HEREUNDER DOES NOT INFRINGE OR MAY NOT CAUSE INFRINGEMENT
// OF ANY PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OWNED OR CONTROLLED
// BY THIRD PARTIES
//
// Furthermore, information provided in this source code is preliminary,
// and may be changed substantially prior to final release. Nokia Corporation
// retains the right to make changes to this source code at
// any time, without notice. This source code is provided for informational
// purposes only.
//
// Nokia and Nokia Connecting People are registered trademarks of Nokia
// Corporation.
// Java and all Java-based marks are trademarks or registered trademarks of
// Sun Microsystems, Inc.
// Other product and company names mentioned herein may be trademarks or
// trade names of their respective owners.
//
// A non-exclusive, non-transferable, worldwide, limited license is hereby
// granted to the Licensee to download, print, reproduce and modify the
// source code. The licensee has the right to market, sell, distribute and
// make available the source code in original or modified form only when
// incorporated into the programs developed by the Licensee. No other
// license, express or implied, by estoppel or otherwise, to any other
// intellectual property rights is granted herein.
package example.delivery;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
class AdminProtocolHandler
{
private static final String SERVICE_NAME = "delivery";
private static final String ADMIN_MAIN = "/admin";
private CourierDatabase courierDatabase;
private DeliveryOrderDatabase deliveryOrderDatabase;
void init(CourierDatabase courierDatabase,
DeliveryOrderDatabase deliveryOrderDatabase)
{
this.courierDatabase = courierDatabase;
this.deliveryOrderDatabase = deliveryOrderDatabase;
}
void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
try
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String pathInfo = request.getPathInfo();
if (pathInfo.equals("/admin"))
{
writeAdminPage(out, request.getContextPath());
}
else if (pathInfo.equals("/admin-create-courier"))
{
writeCreateCourierPage(out, request.getContextPath());
}
else if (pathInfo.equals("/admin-delete-courier"))
{
writeDeleteCourierPage(out, request.getContextPath());
}
else if (pathInfo.equals("/admin-courier"))
{
writeListCourierPage(out, request.getContextPath());
}
else if (pathInfo.equals("/admin-create-deliveryOrder"))
{
writeCreateDeliveryOrderPage(out, request.getContextPath());
}
else if (pathInfo.equals("/admin-delete-deliveryOrder"))
{
writeDeleteDeliveryOrderPage(out, request.getContextPath());
}
else if (pathInfo.equals("/admin-deliveryOrder"))
{
writeListDeliveryOrderPage(out, request.getContextPath());
}
else
{
response.sendError(HttpServletResponse.SC_BAD_REQUEST,
"Unexpected path info");
}
out.close();
}
catch(Exception e)
{
writeErrorPage(response, e.getMessage(), request.getContextPath());
}
}
private void writeCreateCourierPage(PrintWriter out, String contextPath)
throws IOException
{
out.println("<html>");
out.println("<head>");
out.println("<title>Create Courier</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Create Courier</h1>");
out.println("<form method=\"POST\" action=\"" +
contextPath +
"/admin-create-courier\">");
out.println("<table>");
out.println("<tr><td>Name:</td>");
out.println("<td><input type=text size=16 maxlength=16 " +
"name=name></td></tr>");
out.println("<tr><td>Password:</td>");
out.println("<td><input type=password size=8 maxlength=8 " +
"name=password></td></tr>");
out.println("<tr><td colspan=2 align=center>");
out.println("<input type=submit value=\"Create\">");
out.println("</td></tr>");
out.println("</table>");
out.println("</form>");
out.println("<br><p><font color=\"red\">" +
"Note: couriers are not stored persistently in" +
" this prototype.</font></p>");
out.println("<p><a href=\"" + contextPath + ADMIN_MAIN +
"\">Courier and Delivery Order Administration</a></p>");
out.println("</body>");
out.println("</html>");
}
private void writeDeleteCourierPage(PrintWriter out, String contextPath)
throws IOException
{
out.println("<html>");
out.println("<head>");
out.println("<title>Delete Courier</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Delete Courier</h1>");
out.println("<form method=\"POST\" action=\"" +
contextPath +
"/admin-delete-courier\">");
out.println("Delete an existing courier :");
out.println("<table>");
out.println("<tr><td>Name:</td>");
out.println("<td><input type=text size=16 maxlength=16 " +
"name=name></td></tr>");
out.println("<tr><td>Password:</td>");
out.println("<td><input type=password size=8 maxlength=8 " +
"name=password></td></tr>");
out.println("<tr><td colspan=2 align=center>");
out.println("<input type=submit value=\"Delete\">");
out.println("</td></tr>");
out.println("</table>");
out.println("</form>");
out.println("<p><font color=\"red\">" +
"Note: couriers are not stored persistently in" +
" this prototype.</font></p>");
out.println("<br><p><a href=\"" + contextPath + ADMIN_MAIN +
"\">Courier and Delivery Order Administration</a></p>");
out.println("</body>");
out.println("</html>");
}
private void writeListCourierPage(PrintWriter out, String contextPath)
throws IOException
{
out.println("<html>");
out.println("<head>");
out.println("<title>Couriers</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Couriers</h1>");
out.println("<form method=\"GET\" action=\"" +
contextPath +
"/admin-create-courier\">");
out.println("<input type=submit value=\"Courier Create\">");
out.println("</form>");
out.println("<form method=\"GET\" action=\"" +
contextPath +
"/admin-delete-courier\">");
out.println("<input type=submit value=\"Courier Delete\">");
out.println("</form>");
out.println("<table cellpadding=\"3\" border=\"3\">");
out.println("<tr><th>Name</th></tr>");
Iterator iter = courierDatabase.getAllCouriers().iterator();
while (iter.hasNext())
{
Courier courier = (Courier)(iter.next());
String name = courier.getUsername();
out.println("<tr><td>" + name + "</td></tr>");
}
out.println("</table>");
out.println("<br><p><font color=\"red\">" +
"Note: couriers are not stored persistently in" +
" this prototype.</font></p>");
out.println("<p><a href=\"" + contextPath + ADMIN_MAIN +
"\">Courier and Delivery Order Administration</a></p>");
out.println("</body>");
out.println("</html>");
}
private void writeCreateDeliveryOrderPage(PrintWriter out,
String contextPath)
throws IOException
{
out.println("<html>");
out.println("<head>");
out.println("<title>Create Delivery Order</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Create Delivery Order</h1>");
out.println("<form method=\"POST\" action=\"" +
contextPath +
"/admin-create-deliveryOrder\">");
out.println("<table>");
out.println("<tr><td>Description:</td>");
out.println("<td><input type=text size=75 maxlength=75 " +
"name=description></td></tr>");
out.println("<tr><td>Sender Address:</td>");
out.println("<td><input type=text size=75 maxlength=75 " +
"name=senderAddress></td></tr>");
out.println("<tr><td>Recipient Address:</td>");
out.println("<td><input type=text size=75 maxlength=75 " +
"name=recipientAddress></td></tr>");
out.println("<tr><td>Note:</td>");
out.println("<td><input type=text size=75 maxlength=75 " +
"name=note></td></tr>");
out.println("<tr><td colspan=2 align=center>");
out.println("<input type=submit value=\"Create\">");
out.println("</td></tr>");
out.println("</table>");
out.println("</form>");
out.println("<br><p><font color=\"red\">" +
"Note: delivery requests are not stored " +
" persistently in this prototype.</font></p>");
out.println("<p><a href=\"" + contextPath + ADMIN_MAIN +
"\">Courier and Delivery Order Administration</a></p>");
out.println("</body>");
out.println("</html>");
}
private void writeDeleteDeliveryOrderPage(PrintWriter out,
String contextPath)
throws IOException
{
out.println("<html>");
out.println("<head>");
out.println("<title>Delete Delivery Order</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Delete Delivery Order</h1>");
out.println("<form method=\"POST\" action=\"" +
contextPath +
"/admin-delete-deliveryOrder\">");
out.println("Delete an existing deliveryOrder :");
out.println("<table>");
out.println("<tr><td>Delivery Order Id:</td>");
out.println("<td><input type=text size=40 maxlength=40 " +
"name=id></td></tr>");
out.println("<tr><td colspan=2 align=center>");
out.println("<input type=submit value=\"Delete\">");
out.println("</td></tr>");
out.println("</table>");
out.println("</form>");
out.println("<p><font color=\"red\">" +
"Note: delivery requests are not stored" +
" persistently in this prototype.</font></p>");
out.println("<br><p><a href=\"" + contextPath + ADMIN_MAIN +
"\">Courier and Delivery Order Administration</a></p>");
out.println("</body>");
out.println("</html>");
}
private void writeListDeliveryOrderPage(PrintWriter out, String contextPath)
throws IOException
{
out.println("<html>");
out.println("<head>");
out.println("<title>Delivery Orders</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Delivery Orders</h1>");
out.println("<form method=\"GET\" action=\"" +
contextPath +
"/admin-create-deliveryOrder\">");
out.println("<input type=submit value=\"Create Delivery Order\">");
out.println("</form>");
out.println("<form method=\"GET\" action=\"" +
contextPath +
"/admin-delete-deliveryOrder\">");
out.println("<input type=submit value=\"Delete Delivery Order\">");
out.println("</form>");
out.println("<table cellpadding=\"3\" border=\"3\">");
out.println("<tr>");
out.println("<th>Id</th>");
out.println("<th>Opened Date</th>");
out.println("<th>Closed Date</th>");
out.println("<th>Status</th>");
out.println("<th>Courier<br>Name</th>");
out.println("<th>Description</th>");
out.println("<th>Sender Address</th>");
out.println("<th>Recipient Address</th>");
out.println("<th>Note</th>");
out.println("</tr>");
Iterator iter = deliveryOrderDatabase.
getAllDeliveryOrders().iterator();
while (iter.hasNext())
{
DeliveryOrder deliveryOrder = (DeliveryOrder)(iter.next());
out.println("<tr>");
out.println("<td>" + deliveryOrder.getId() + "</td>");
out.println("<td>" + deliveryOrder.getOpenedTime() + "</td>");
out.println("<td>" + deliveryOrder.getClosedTime() + "</td>");
out.println("<td>" + deliveryOrder.getStatus() + "</td>");
String courierName = deliveryOrder.getCourierName();
if (courierName == null)
{
courierName = "";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -