package webraveler.plugin; import java.util.*; import webraveler.html.HTMLPage2; import webraveler.http.HTTPRequest; import webraveler.http.HTTPResponse; import webraveler.ravel.PluginAPI; import webraveler.vurl.PluginChangePref; import webraveler.vurl.PluginConfig; /** * * A quick demo of linking to AACE. * **/ public class LinkToAACEPlugin extends webraveler.ravel.RavelerPlugin { /* variables */ /*constructors*/ public LinkToAACEPlugin () { name = "LinkToAACEPlugin"; mimeTypes.add("text/html"); } /*methods*/ public void setDefaultAttributes () { this.attributes = new Hashtable(); this.attributes.put("VURL","Unknown"); } // setDefaultAttributes() public boolean initialize () { if (this.attributes == null) this.attributes = new Hashtable(); String vurl = PluginAPI.addPermanentVirtualURL(ravel,name,"whatever",new VURL() { }) System.out.println("LinkToAACEPlugin: Created vurl: " + vurl); this.attributes.put("VURL",vurl); return true; }//initialize() public HTTPRequest execute (HTTPRequest request, Hashtable attributes, String userName) { System.out.println("LinkToAACEPlugin: Processing request"); webraveler.samr.SendMail.send( "rebelsky@grinnell.edu", "Page visit by " + userName, request.uriString() + "\n"); System.out.println("LinkToAACEPlugin: Finished processing request"); return request; }//execute() public HTTPResponse execute (HTTPResponse response, Hashtable userAttributes, String userName){ System.out.println("Executing LinkToAACEPlugin: "); response.getHtmlPage().insertAtTop( "\n" + "\n" + "\n" + "\n" + "" + "\n" + "
EdMedia 2005 Web Raveler Demo
EdMediaUser: " + userName + "
\n" ); /* Change the entityBytes of the passed HTTPResponse to the HTML page w/inserted text * at the top */ response.correctContentLength(); System.out.println("LinkToAACEPlugin: DONE"); return response; } //execute(HTTPResponse) public void terminate() { } // terminate() }// LinkToAACEPlugin