package eu.artemis.shield.overlay.securityagent.impl;
import java.awt.event.ActionEvent;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.LinkedList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.osgi.framework.ServiceReference;
import eu.artemis.shield.discovery.gdm.interfaces.IGenericDiscovery;
public class DiscoveryServlet extends HttpServlet{
private static final long serialVersionUID = 3472683797378538L;
// DiscoveryServlet
IGenericDiscovery GDM;
ServiceReference httpSR;
boolean print = false;
public DiscoveryServlet(ServiceReference httpSR, IGenericDiscovery GDM) {
this.httpSR = httpSR;
this.GDM = GDM;
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
response.setContentType("text/html");
printHeader(out);
try {
if (request.getParameter("GO") != null
&& request.getParameter("GO").equals("GO")) {
String VID = null;
String type = "";
String serviceType = "servicetype=";
String languageTag = "language=";
String gui = "gui=";
if (request.getParameter("servicetype") != null) {
serviceType += request.getParameter("servicetype");
}
if (request.getParameter("languagetag") != null) {
languageTag += request.getParameter("languagetag");
if (languageTag.equals("language=")) {
out
.println("<br><br><h4>You haven't specified the Language Tag, Default is \"en_GB\"</h4>");
}
}
String[] keywords = new String[3];
keywords[2] = null;
if(!request.getParameter("gui").equals(""))
{
gui += request.getParameter("gui");
keywords[2] = gui;
}
keywords[0] = serviceType;
keywords[1] = languageTag;
LinkedList result = GDM.findServices(VID, type, keywords);
// URL image =
// ClassLoader.getSystemClassLoader().getResource("./provaIMG.jpg");
if (result != null) {
out
.println("<h2> This is the URL list for OWL Description </h2>");
out
.println("<table style=\"border-collapse: collapse\" BORDERCOLORDARK = #9999CC BORDERCOLORLIGHT = #9999CC BORDER = 1 CELLPADDING = 5 CELLSPACING = 0>");
for (int i = 0; i < result.size(); i++) {
int j = i+1;
out
.println("\t<tr BORDERCOLOR = #0000FF BACKGROUND = #0000FF>");
out
.println("\t\t<td BGCOLOR = #9999CC BORDERCOLOR = #FFFFFF><p align = center><b>" + j + "</b></p></td>");
out.println("\t\t<td BGCOLOR = #" + "F0F0FF"
+ " BORDERCOLOR = #FFFFFF>" + "<a href=\""
+ result.get(i).toString() + "\">"
+ result.get(i).toString() + "</a></td>"
+ "</tr>");
/*
* out.println("<table><tr><td><a href=\"" +
* result.get(i).toString() + "\">" +
* result.get(i).toString() + "</a></td>" + "<td></td></tr></table>");
*/
}
out.println("</table>");
}
}
} catch (Exception e) {
out.println("<pre>");
e.printStackTrace(out);
out.println("</pre>");
}
}
public void actionPerformed(ActionEvent evt) {
print = true;
}
void printHeader(PrintWriter out) throws IOException {
out.println("<html>");
out.println("<head>");
out.println("<title>pSHIELD - Security Agent</title>");
out.println("<table><tr><td><img width=100 src=\"../serviceprovider/sapienza_logo.gif\"></td><td>");
out.println("<h1>University of Rome - pSHIELD </h1>");
out.println("<h1>User Agent</h1>");
out.println("<h2>Service Discovery Form</h2>");
out.println("</td></tr><table>");
out
.println("<LINK href=\"/knopflerfish.css\" rel=\"stylesheet\" type=\"text/css\">");
out.println("</head>");
out.println("<body>");
out.println("<form method=\"POST\">");
out
.println("<strong>Insert keywords to perform service discovery and then click \"GO\"</strong><br><br>");
out.println("<table>");
out
.println("<tr><td><font size=\"3\"><strong>ServiceType </strong></font></td><td><input type=\"text\" name=\"servicetype\" value=\"\" size=\"50\" /></td></tr>");
out
.println("<tr><td><font size=\"3\"><strong>LanguageTag </strong></font></td><td><input type=\"text\" name=\"languagetag\" value=\"\" size=\"50\" /></td></tr>");
out
.println("<tr><td><font size=\"3\"><strong>GUI </strong></font></td><td><input type=\"text\" name=\"gui\" value=\"\" size=\"50\" /></td></tr>");
out.println("</table>");
out
.println("<br><input type=submit value=\"GO\" name=\"GO\" id=\"GO\">");
}
}
|