LOL, this is a 1000 line patch which consists of changing one static constant,
and reindenting everything. Please keep the two separate. :)
On Friday 17 August 2007 19:29, you wrote:
> Author: swatig0
> Date: 2007-08-17 18:29:35 +0000 (Fri, 17 Aug 2007)
> New Revision: 14758
>
> Modified:
> trunk/plugins/XMLSpider/XMLSpider.java
> Log:
> XMLSpider
>
> Modified: trunk/plugins/XMLSpider/XMLSpider.java
> ===================================================================
> --- trunk/plugins/XMLSpider/XMLSpider.java 2007-08-17 18:13:41 UTC (rev
14757)
> +++ trunk/plugins/XMLSpider/XMLSpider.java 2007-08-17 18:29:35 UTC (rev
14758)
> @@ -87,13 +87,13 @@
> * Lists the uris that have been vistied by the spider
> */
> public final HashSet visitedURIs = new HashSet();
> - private final HashSet idsWithWords = new HashSet();
> + private final HashSet idsWithWords = new HashSet();
> /**
> *
> * Lists the uris that were visited but failed.
> */
> public final HashSet failedURIs = new HashSet();
> -
> +
> private final HashSet queuedURISet = new HashSet();
> /**
> *
> @@ -101,9 +101,9 @@
> */
> public final LinkedList queuedURIList = new LinkedList();
> private final HashMap runningFetchesByURI = new HashMap();
> -
> +
> private final HashMap idsByWord = new HashMap();
> -
> +
> private final HashMap titlesOfIds = new HashMap();
> private final HashMap uriIds = new HashMap();
> private final HashMap idUris = new HashMap();
> @@ -120,16 +120,16 @@
> private Vector indices;
> private int match;
> private Integer id;
> -
> +
> private boolean indexing ;
> -
> +
> private static final int minTimeBetweenEachIndexRewriting = 10;
> -/**
> - * directory where the generated indices are stored.
> - * Needs to be created before it can be used
> - */
> - public static final String DEFAULT_INDEX_DIR = "myindex4/";
> /**
> + * directory where the generated indices are stored.
> + * Needs to be created before it can be used
> + */
> + public static final String DEFAULT_INDEX_DIR = "myindex5/";
> + /**
> * Lists the allowed mime types of the fetched page.
> */
> public Set allowedMIMETypes;
> @@ -140,7 +140,7 @@
> * maximum value = 1; minimum value = 0.
> */
> public static final double MAX_TIME_SPENT_INDEXING = 0.5;
> -
> +
> private static final String indexTitle= "XMLSpider index";
> private static final String indexOwner = "Freenet";
> private static final String indexOwnerEmail = null;
> @@ -153,17 +153,17 @@
> // Can have many; this limit only exists to save memory.
> private static final int maxParallelRequests = 100;
> private int maxShownURIs = 15;
> -
> +
> private NodeClientCore core;
> private FetchContext ctx;
> private final short PRIORITY_CLASS =
RequestStarter.BULK_SPLITFILE_PRIORITY_CLASS;
> private boolean stopped = true;
> PluginRespirator pr;
> -
> -/**
> - * Adds the found uri to the list of to-be-retrieved uris. <p>Every usk uri
added as ssk.
> - * @param uri the new uri that needs to be fetched for further indexing
> - */
> +
> + /**
> + * Adds the found uri to the list of to-be-retrieved uris. <p>Every usk
uri added as ssk.
> + * @param uri the new uri that needs to be fetched for further indexing
> + */
> public synchronized void queueURI(FreenetURI uri) {
> if((uri.getKeyType()).equals("USK")){
> if(uri.getSuggestedEdition() < 0)
> @@ -226,18 +226,18 @@
> }
> }
> }
> -
>
> +
> private ClientGetter makeGetter(FreenetURI uri) {
> ClientGetter g = new ClientGetter(this,
core.requestStarters.chkFetchScheduler,
core.requestStarters.sskFetchScheduler, uri, ctx, PRIORITY_CLASS, this, null,
null);
> return g;
> }
> -/**
> - * Processes the successfully fetched uri for further outlinks.
> - *
> - * @param result
> - * @param state
> - */
> + /**
> + * Processes the successfully fetched uri for further outlinks.
> + *
> + * @param result
> + * @param state
> + */
> public void onSuccess(FetchResult result, ClientGetter state) {
> FreenetURI uri = state.getURI();
>
> @@ -270,7 +270,7 @@
> data.free();
> }
> }
> -
> +
> public void onFailure(FetchException e, ClientGetter state) {
> FreenetURI uri = state.getURI();
>
> @@ -297,14 +297,14 @@
> }
>
> /**
> - * generates the main index file that can be used by librarian for
searching in the list of
> - * subindices
> - *
> - * @param void
> - * @author swati
> - * @throws IOException
> - * @throws NoSuchAlgorithmException
> - */
> + * generates the main index file that can be used by librarian for
searching in the list of
> + * subindices
> + *
> + * @param void
> + * @author swati
> + * @throws IOException
> + * @throws NoSuchAlgorithmException
> + */
> private synchronized void produceIndex2() throws
IOException,NoSuchAlgorithmException {
> // Produce the main index file.
>
> @@ -428,7 +428,7 @@
> System.out.println("No URIs with words");
> return;
> }
> -
> +
> indices = new Vector();
> int prefix = 1;
> match = 1;
> @@ -460,7 +460,7 @@
> for(int i = begin;i<end+1;i++) tmp.add(list.elementAt(i));
> return tmp;
> }
> -
> +
> private synchronized void generateSubIndex(int p,Vector list) throws
Exception{
> /*
> * if the list is less than max allowed entries in a file then
> directly
generate the xml
> @@ -497,12 +497,12 @@
> }
> }
>
> -/**
> - * generates the xml index with the given list of words with prefix number
of matching bits in md5
> - * @param list list of the words to be added in the index
> - * @param prefix number of matching bits of md5
> - * @throws Exception
> - */
> + /**
> + * generates the xml index with the given list of words with prefix
> number
of matching bits in md5
> + * @param list list of the words to be added in the index
> + * @param prefix number of matching bits of md5
> + * @throws Exception
> + */
> public synchronized void generateXML (Vector list, int prefix) throws
Exception
> {
> String p = ((String) list.elementAt(0)).substring(0, prefix);
> @@ -616,20 +616,20 @@
> Logger.minor(this, "Spider: indexes regenerated.");
> }
>
> -
> +
> public void handleGet(HTTPRequest request, ToadletContext context)
> throws
IOException, ToadletContextClosedException {
> /*
> * ignore
> */
> }
>
> -
> +
> public void handlePost(HTTPRequest request, ToadletContext context)
> throws
IOException {
> /*
> * ignore
> */
> }
> -
> +
> /**
> * @see freenet.oldplugins.plugin.Plugin#getPluginName()
> */
> @@ -641,7 +641,7 @@
> * @see
freenet.oldplugins.plugin.Plugin#setPluginManager(freenet.oldplugins.plugin.PluginManager)
> */
> public void setPluginManager(PluginManager pluginManager) {
> -
> +
> this.core = pluginManager.getClientCore();
> this.ctx = core.makeClient((short) 0).getFetchContext();
> ctx.maxSplitfileBlockRetries = 10;
> @@ -652,9 +652,9 @@
> allowedMIMETypes.add(new String("text/html"));
> allowedMIMETypes.add(new String("text/plain"));
> allowedMIMETypes.add(new String("application/xhtml+xml"));
> - // allowedMIMETypes.add(new String("application/zip"));
> + // allowedMIMETypes.add(new String("application/zip"));
> ctx.allowedMIMETypes = new HashSet(allowedMIMETypes);
> - // ctx.allowedMIMETypes.add("text/html");
> + // ctx.allowedMIMETypes.add("text/html");
> tProducedIndex = System.currentTimeMillis();
> indexing = true;
> }
> @@ -685,21 +685,21 @@
> // Ignore
> }
> private static String convertToHex(byte[] data) {
> - StringBuffer buf = new StringBuffer();
> - for (int i = 0; i < data.length; i++) {
> - int halfbyte = (data[i] >>> 4) & 0x0F;
> - int two_halfs = 0;
> - do {
> - if ((0 <= halfbyte) && (halfbyte <= 9))
> - buf.append((char) ('0' + halfbyte));
> - else
> - buf.append((char) ('a' + (halfbyte - 10)));
> - halfbyte = data[i] & 0x0F;
> - } while(two_halfs++ < 1);
> - }
> - return buf.toString();
> - }
> -
> + StringBuffer buf = new StringBuffer();
> + for (int i = 0; i < data.length; i++) {
> + int halfbyte = (data[i] >>> 4) & 0x0F;
> + int two_halfs = 0;
> + do {
> + if ((0 <= halfbyte) && (halfbyte <= 9))
> + buf.append((char) ('0' + halfbyte));
> + else
> + buf.append((char) ('a' + (halfbyte -
> 10)));
> + halfbyte = data[i] & 0x0F;
> + } while(two_halfs++ < 1);
> + }
> + return buf.toString();
> + }
> +
> /*
> * calculate the md5 for a given string
> */
> @@ -711,9 +711,9 @@
> md5hash = md.digest();
> return convertToHex(md5hash);
> }
> -
> +
> public void generateSubIndex(String filename){
> -//generates the new subIndex
> +// generates the new subIndex
> File outputFile = new File(filename);
> StreamResult resultStream;
> resultStream = new StreamResult(outputFile);
> @@ -750,28 +750,28 @@
> /* -> title */
> Element subHeaderElement = xmlDoc.createElement("title");
> Text subHeaderText = xmlDoc.createTextNode(indexTitle);
> -
> +
> subHeaderElement.appendChild(subHeaderText);
> headerElement.appendChild(subHeaderElement);
>
> /* -> owner */
> subHeaderElement = xmlDoc.createElement("owner");
> subHeaderText = xmlDoc.createTextNode(indexOwner);
> -
> +
> subHeaderElement.appendChild(subHeaderText);
> headerElement.appendChild(subHeaderElement);
> -
> -
> +
> +
> /* -> owner email */
> if(indexOwnerEmail != null) {
> subHeaderElement = xmlDoc.createElement("email");
> subHeaderText = xmlDoc.createTextNode(indexOwnerEmail);
> -
> +
> subHeaderElement.appendChild(subHeaderText);
> headerElement.appendChild(subHeaderElement);
> }
>
> -
> +
> Element filesElement = xmlDoc.createElement("files"); /*
> filesElement !=
fileElement */
>
> Element EntriesElement = xmlDoc.createElement("entries");
> @@ -780,7 +780,7 @@
> //all index files are ready
> /* Adding word index */
> Element keywordsElement = xmlDoc.createElement("keywords");
> -
> +
> rootElement.appendChild(EntriesElement);
> rootElement.appendChild(headerElement);
> rootElement.appendChild(filesElement);
> @@ -801,7 +801,7 @@
>
> serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
> serializer.setOutputProperty(OutputKeys.INDENT,"yes");
> -
> +
> /* final step */
> try {
> serializer.transform(domSource, resultStream);
> @@ -813,330 +813,330 @@
> if(Logger.shouldLog(Logger.MINOR, this))
> Logger.minor(this, "Spider: indexes regenerated.");
> }
> +
> + public void terminate(){
> + synchronized (this) {
> + stopped = true;
> + queuedURIList.clear();
> + }
> + }
> +
> + public void runPlugin(PluginRespirator pr){
> + this.pr = pr;
> + this.id = new Integer(0);
> + this.core = pr.getNode().clientCore;
> + this.ctx = core.makeClient((short) 0).getFetchContext();
> + ctx.maxSplitfileBlockRetries = 10;
> + ctx.maxNonSplitfileRetries = 10;
> + ctx.maxTempLength = 2 * 1024 * 1024;
> + ctx.maxOutputLength = 2 * 1024 * 1024;
> + allowedMIMETypes = new HashSet();
> + allowedMIMETypes.add(new String("text/html"));
> + allowedMIMETypes.add(new String("text/plain"));
> + allowedMIMETypes.add(new String("application/xhtml+xml"));
> +
> + ctx.allowedMIMETypes = new HashSet(allowedMIMETypes);
> +
> + tProducedIndex = System.currentTimeMillis();
> + indexing = true;
> + stopped = false;
> + count = 0;
>
> -public void terminate(){
> - synchronized (this) {
> - stopped = true;
> - queuedURIList.clear();
> + //startPlugin();
> + Thread starterThread = new Thread("Spider Plugin Starter") {
> + public void run() {
> + try{
> + Thread.sleep(30 * 1000); // Let the
> node start up
> + } catch (InterruptedException e){}
> + startSomeRequests();
> + }
> + };
> + starterThread.setDaemon(true);
> + starterThread.start();
> }
> -}
> -
> -public void runPlugin(PluginRespirator pr){
> - this.pr = pr;
> - this.id = new Integer(0);
> - this.core = pr.getNode().clientCore;
> - this.ctx = core.makeClient((short) 0).getFetchContext();
> - ctx.maxSplitfileBlockRetries = 10;
> - ctx.maxNonSplitfileRetries = 10;
> - ctx.maxTempLength = 2 * 1024 * 1024;
> - ctx.maxOutputLength = 2 * 1024 * 1024;
> - allowedMIMETypes = new HashSet();
> - allowedMIMETypes.add(new String("text/html"));
> - allowedMIMETypes.add(new String("text/plain"));
> - allowedMIMETypes.add(new String("application/xhtml+xml"));
>
> - ctx.allowedMIMETypes = new HashSet(allowedMIMETypes);
> + /**
> + * Interface to the Spider data
> + */
> + public String handleHTTPGet(HTTPRequest request) throws
PluginHTTPException{
> + StringBuffer out = new StringBuffer();
>
> - tProducedIndex = System.currentTimeMillis();
> - indexing = true;
> - stopped = false;
> - count = 0;
> -
> - //startPlugin();
> - Thread starterThread = new Thread("Spider Plugin Starter") {
> - public void run() {
> - try{
> - Thread.sleep(30 * 1000); // Let the node start
> up
> - } catch (InterruptedException e){}
> - startSomeRequests();
> + String listname = request.getParam("list");
> + if(listname.length() != 0)
> + {
> + appendDefaultHeader(out,null);
> + out.append("<p><h4>"+listname+" URIs</h4></p>");
> + appendList(listname,out,null);
> + return out.toString();
> }
> - };
> - starterThread.setDaemon(true);
> - starterThread.start();
> -}
> + appendDefaultPageStart(out,null);
> + String uriParam = request.getParam("adduri");
> + if(uriParam != null && uriParam.length() != 0)
> + {
> + try {
> + FreenetURI uri = new FreenetURI(uriParam);
> + synchronized (this) {
> + failedURIs.remove(uri);
> + visitedURIs.remove(uri);
> + }
> + out.append("<p>URI added :"+uriParam+"</p>");
> + queueURI(uri);
> + startSomeRequests();
> + } catch (MalformedURLException mue1) {
> + out.append("<p>MalFormed URI: "+uriParam+"</p");
> + }
> + }
> + return out.toString();
> + }
>
> -/**
> - * Interface to the Spider data
> - */
> -public String handleHTTPGet(HTTPRequest request) throws
PluginHTTPException{
> - StringBuffer out = new StringBuffer();
> -
> - String listname = request.getParam("list");
> - if(listname.length() != 0)
> + private void appendList(String listname, StringBuffer out, String
stylesheet)
> {
> - appendDefaultHeader(out,null);
> - out.append("<p><h4>"+listname+" URIs</h4></p>");
> - appendList(listname,out,null);
> - return out.toString();
> + Iterator it = (runningFetchesByURI.keySet()).iterator();
> + if(listname.equals("running"))
> + it = (runningFetchesByURI.keySet()).iterator();
> + if(listname.equals("visited"))
> + it = (new HashSet(visitedURIs)).iterator();
> + if(listname.equals("queued"))
> + it = (new ArrayList(queuedURIList)).iterator();
> + if(listname.equals("failed"))
> + it = (new HashSet(failedURIs)).iterator();
> + while(it.hasNext())
> +
> out.append("<code>"+it.next().toString()+"</code><br/>");
> }
> - appendDefaultPageStart(out,null);
> - String uriParam = request.getParam("adduri");
> - if(uriParam != null && uriParam.length() != 0)
> - {
> - try {
> - FreenetURI uri = new FreenetURI(uriParam);
> - synchronized (this) {
> - failedURIs.remove(uri);
> - visitedURIs.remove(uri);
> +
> + private void appendDefaultPageStart(StringBuffer out, String
> stylesheet) {
> +
> + out.append("<HTML><HEAD><TITLE>" + pluginName + "</TITLE>");
> + if(stylesheet != null)
> + out.append("<link href=\""+stylesheet+"\"
> type=\"text/css\"
rel=\"stylesheet\" />");
> + out.append("</HEAD><BODY>\n");
> + out.append("<CENTER><H1>" + pluginName +
> "</H1><BR/><BR/><BR/>\n");
> + out.append("Add uri:");
> + out.append("<form method=\"GET\"><input type=\"text\"
name=\"adduri\" /><br/><br/>");
> + out.append("<input type=\"submit\" value=\"Add uri\"
> /></form>");
> + Set runningFetches = runningFetchesByURI.keySet();
> + out.append("<p><h3>Running Fetches</h3></p>");
> + Set visited = new HashSet(visitedURIs);
> + List queued = new ArrayList(queuedURIList);
> +
> + Set failed = new HashSet(failedURIs);
> + Iterator it=queued.iterator();
> + out.append("<br/>Size :"+runningFetches.size()+"<br/>");
> + appendList(runningFetches,out,stylesheet);
> + out.append("<p><a href=\"?list="+"running"+"\">Show
> all</a><br/></p>");
> + out.append("<p><h3>Queued URIs</h3></p>");
> + out.append("<br/>Size :"+queued.size()+"<br/>");
> + int i = 0;
> + while(it.hasNext()){
> + if(i<=maxShownURIs){
> +
> out.append("<code>"+it.next().toString()+"</code><br/>");
> }
> - out.append("<p>URI added :"+uriParam+"</p>");
> - queueURI(uri);
> - startSomeRequests();
> - } catch (MalformedURLException mue1) {
> - out.append("<p>MalFormed URI: "+uriParam+"</p");
> + else break;
> + i++;
> }
> - }
> - return out.toString();
> -}
> + out.append("<p><a href=\"?list="+"queued"+"\">Show
> all</a><br/></p>");
> + out.append("<p><h3>Visited URIs</h3></p>");
> + out.append("<br/>Size :"+visited.size()+"<br/>");
> + appendList(visited,out,stylesheet);
> + out.append("<p><a href=\"?list="+"visited"+"\">Show
> all</a><br/></p>");
> + out.append("<p><h3>Failed URIs</h3></p>");
> + out.append("<br/>Size :"+failed.size()+"<br/>");
> + appendList(failed,out,stylesheet);
> + out.append("<p><a href=\"?list="+"failed"+"\">Show
> all</a><br/></p>");
>
> -private void appendList(String listname, StringBuffer out, String
stylesheet)
> -{
> - Iterator it = (runningFetchesByURI.keySet()).iterator();
> - if(listname.equals("running"))
> - it = (runningFetchesByURI.keySet()).iterator();
> - if(listname.equals("visited"))
> - it = (new HashSet(visitedURIs)).iterator();
> - if(listname.equals("queued"))
> - it = (new ArrayList(queuedURIList)).iterator();
> - if(listname.equals("failed"))
> - it = (new HashSet(failedURIs)).iterator();
> - while(it.hasNext())
> - out.append("<code>"+it.next().toString()+"</code><br/>");
> -}
>
> -private void appendDefaultPageStart(StringBuffer out, String stylesheet) {
> -
> - out.append("<HTML><HEAD><TITLE>" + pluginName + "</TITLE>");
> - if(stylesheet != null)
> - out.append("<link href=\""+stylesheet+"\" type=\"text/css\"
rel=\"stylesheet\" />");
> - out.append("</HEAD><BODY>\n");
> - out.append("<CENTER><H1>" + pluginName + "</H1><BR/><BR/><BR/>\n");
> - out.append("Add uri:");
> - out.append("<form method=\"GET\"><input type=\"text\"
name=\"adduri\" /><br/><br/>");
> - out.append("<input type=\"submit\" value=\"Add uri\" /></form>");
> - Set runningFetches = runningFetchesByURI.keySet();
> - out.append("<p><h3>Running Fetches</h3></p>");
> - Set visited = new HashSet(visitedURIs);
> - List queued = new ArrayList(queuedURIList);
> -
> - Set failed = new HashSet(failedURIs);
> - Iterator it=queued.iterator();
> - out.append("<br/>Size :"+runningFetches.size()+"<br/>");
> - appendList(runningFetches,out,stylesheet);
> - out.append("<p><a href=\"?list="+"running"+"\">Show all</a><br/></p>");
> - out.append("<p><h3>Queued URIs</h3></p>");
> - out.append("<br/>Size :"+queued.size()+"<br/>");
> - int i = 0;
> - while(it.hasNext()){
> - if(i<=maxShownURIs){
> - out.append("<code>"+it.next().toString()+"</code><br/>");
> - }
> - else break;
> - i++;
> }
> - out.append("<p><a href=\"?list="+"queued"+"\">Show all</a><br/></p>");
> - out.append("<p><h3>Visited URIs</h3></p>");
> - out.append("<br/>Size :"+visited.size()+"<br/>");
> - appendList(visited,out,stylesheet);
> - out.append("<p><a href=\"?list="+"visited"+"\">Show all</a><br/></p>");
> - out.append("<p><h3>Failed URIs</h3></p>");
> - out.append("<br/>Size :"+failed.size()+"<br/>");
> - appendList(failed,out,stylesheet);
> - out.append("<p><a href=\"?list="+"failed"+"\">Show all</a><br/></p>");
> -
> -
> -}
>
>
> -private void appendDefaultHeader(StringBuffer out, String stylesheet){
> - out.append("<HTML><HEAD><TITLE>" + pluginName + "</TITLE>");
> - if(stylesheet != null)
> - out.append("<link href=\""+stylesheet+"\" type=\"text/css\"
rel=\"stylesheet\" />");
> - out.append("</HEAD><BODY>\n");
> - out.append("<CENTER><H1>" + pluginName + "</H1><BR/><BR/><BR/>\n");
> - out.append("Add uri:");
> - out.append("<form method=\"GET\"><input type=\"text\"
name=\"adduri\" /><br/><br/>");
> - out.append("<input type=\"submit\" value=\"Add uri\" /></form>");
> -}
> + private void appendDefaultHeader(StringBuffer out, String stylesheet){
> + out.append("<HTML><HEAD><TITLE>" + pluginName + "</TITLE>");
> + if(stylesheet != null)
> + out.append("<link href=\""+stylesheet+"\"
> type=\"text/css\"
rel=\"stylesheet\" />");
> + out.append("</HEAD><BODY>\n");
> + out.append("<CENTER><H1>" + pluginName +
> "</H1><BR/><BR/><BR/>\n");
> + out.append("Add uri:");
> + out.append("<form method=\"GET\"><input type=\"text\"
name=\"adduri\" /><br/><br/>");
> + out.append("<input type=\"submit\" value=\"Add uri\"
> /></form>");
> + }
>
>
> -private void appendList(Set list,StringBuffer out, String stylesheet){
> - Iterator it = list.iterator();
> - int i = 0;
> - while(it.hasNext()){
> - if(i<=maxShownURIs){
> - out.append("<code>"+it.next().toString()+"</code><br/>");
> + private void appendList(Set list,StringBuffer out, String stylesheet){
> + Iterator it = list.iterator();
> + int i = 0;
> + while(it.hasNext()){
> + if(i<=maxShownURIs){
> +
> out.append("<code>"+it.next().toString()+"</code><br/>");
> + }
> + else{
> + break;
> + }
> + i++;
> }
> - else{
> - break;
> - }
> - i++;
> - }
> }
>
> -/**
> - * creates the callback object for each page.
> - *<p>Used to create inlinks and outlinks for each page separately.
> - * @author swati
> - *
> - */
> -public class PageCallBack implements FoundURICallback{
> - Integer id;
> - /*
> - * id of the page as refrenced in uriIds
> - */
> - PageCallBack(){
> - id = new Integer(0);
> - }
> -
> - public void foundURI(FreenetURI uri){
> + /**
> + * creates the callback object for each page.
> + *<p>Used to create inlinks and outlinks for each page separately.
> + * @author swati
> + *
> + */
> + public class PageCallBack implements FoundURICallback{
> + Integer id;
> + /*
> + * id of the page as refrenced in uriIds
> + */
> + PageCallBack(){
> + id = new Integer(0);
> + }
>
> - queueURI(uri);
> - Integer iduri = (Integer) uriIds.get(uri);
> + public void foundURI(FreenetURI uri){
>
> - if(outlinks.containsKey(id)){
> - Vector outlink = (Vector) outlinks.get(id);
> - if(!outlink.contains(iduri))
> + queueURI(uri);
> + Integer iduri = (Integer) uriIds.get(uri);
> +
> + if(outlinks.containsKey(id)){
> + Vector outlink = (Vector) outlinks.get(id);
> + if(!outlink.contains(iduri))
> + outlink.add(iduri);
> + outlinks.remove(id);
> + outlinks.put(id, outlink);
> + }
> + else
> + {
> + Vector outlink = new Vector();
> outlink.add(iduri);
> - outlinks.remove(id);
> - outlinks.put(id, outlink);
> - }
> - else
> - {
> - Vector outlink = new Vector();
> - outlink.add(iduri);
> - outlinks.put(id, outlink);
> - }
> + outlinks.put(id, outlink);
> + }
>
> - if(inlinks.containsKey(iduri)){
> - Vector inlink = (Vector) inlinks.get(iduri);
> - if(!inlink.contains(id)) inlink.add(id);
> - inlinks.remove(iduri);
> - inlinks.put(iduri, inlink);
> + if(inlinks.containsKey(iduri)){
> + Vector inlink = (Vector) inlinks.get(iduri);
> + if(!inlink.contains(id)) inlink.add(id);
> + inlinks.remove(iduri);
> + inlinks.put(iduri, inlink);
> + }
> + else
> + {
> + Vector inlink = new Vector();
> + inlink.add(id);
> + inlinks.put(iduri, inlink);
> + }
> +
> + startSomeRequests();
> }
> - else
> - {
> - Vector inlink = new Vector();
> - inlink.add(id);
> - inlinks.put(iduri, inlink);
> - }
>
> - startSomeRequests();
> - }
> -
> -
> - public void onText(String s, String type, URI baseURI){
>
> - if((type != null) && (type.length() != 0) &&
type.toLowerCase().equals("title")
> - && (s != null) && (s.length() != 0) &&
> (s.indexOf('\n') < 0)) {
> - /* We should have a correct title */
> - titlesOfIds.put(id, s);
> - type = "title";
> - }
> - else type = null;
> + public void onText(String s, String type, URI baseURI){
>
> - String[] words = s.split("[^A-Za-z0-9]");
> - Integer lastPosition = null;
> - lastPosition = (Integer)lastPositionById.get(id);
> + if((type != null) && (type.length() != 0) &&
type.toLowerCase().equals("title")
> + && (s != null) && (s.length() != 0) &&
> (s.indexOf('\n') < 0)) {
> + /* We should have a correct title */
> + titlesOfIds.put(id, s);
> + type = "title";
> + }
> + else type = null;
>
> - if(lastPosition == null)
> - lastPosition = new Integer(1); /* We start to count
> from 1 */
> - for (int i = 0; i < words.length; i++) {
> - String word = words[i];
> - if ((word == null) || (word.length() == 0))
> - continue;
> - word = word.toLowerCase();
> - try{
> - if(type == null)
> - addWord(word, lastPosition.intValue() +
> i, id);
> - else
> - addWord(word, -1 * (i+1), id);
> + String[] words = s.split("[^A-Za-z0-9]");
> + Integer lastPosition = null;
> + lastPosition = (Integer)lastPositionById.get(id);
> +
> + if(lastPosition == null)
> + lastPosition = new Integer(1); /* We start to
> count from 1 */
> + for (int i = 0; i < words.length; i++) {
> + String word = words[i];
> + if ((word == null) || (word.length() == 0))
> + continue;
> + word = word.toLowerCase();
> + try{
> + if(type == null)
> + addWord(word,
> lastPosition.intValue() + i, id);
> + else
> + addWord(word, -1 * (i+1), id);
> + }
> + catch (Exception e){}
> }
> - catch (Exception e){}
> - }
>
> - if(type == null) {
> - lastPosition = new Integer(lastPosition.intValue() +
> words.length);
> - lastPositionById.put(id, lastPosition);
> + if(type == null) {
> + lastPosition = new
> Integer(lastPosition.intValue() + words.length);
> + lastPositionById.put(id, lastPosition);
> + }
> +
> }
>
> - }
> -
> - private synchronized void addWord(String word, int position,Integer id)
throws Exception{
> - if(word.length() < 3)
> - return;
> + private synchronized void addWord(String word, int
> position,Integer id)
throws Exception{
> + if(word.length() < 3)
> + return;
>
> - Integer[] ids = (Integer[]) idsByWord.get(word);
> - idsWithWords.add(id);
> + Integer[] ids = (Integer[]) idsByWord.get(word);
> + idsWithWords.add(id);
>
> - /* Word position indexation */
> - HashMap wordPositionsForOneUri =
> (HashMap)positionsByWordById.get(id); /*
For a given URI, take as key a word, and gives position */
> - if(wordPositionsForOneUri == null) {
> - wordPositionsForOneUri = new HashMap();
> - wordPositionsForOneUri.put(word, new Integer[] { new
Integer(position) });
> - positionsByWordById.put(id, wordPositionsForOneUri);
> - }
> - else {
> - Integer[] positions =
> (Integer[])wordPositionsForOneUri.get(word);
> - if(positions == null) {
> - positions = new Integer[] { new
> Integer(position) };
> - wordPositionsForOneUri.put(word, positions);
> + /* Word position indexation */
> + HashMap wordPositionsForOneUri =
(HashMap)positionsByWordById.get(id); /* For a given URI, take as key a word,
and gives position */
> + if(wordPositionsForOneUri == null) {
> + wordPositionsForOneUri = new HashMap();
> + wordPositionsForOneUri.put(word, new Integer[]
> { new
Integer(position) });
> + positionsByWordById.put(id,
> wordPositionsForOneUri);
> }
> else {
> - Integer[] newPositions = new
> Integer[positions.length + 1];
> - System.arraycopy(positions, 0, newPositions, 0,
> positions.length);
> - newPositions[positions.length] = new
> Integer(position);
> - wordPositionsForOneUri.put(word, newPositions);
> + Integer[] positions =
> (Integer[])wordPositionsForOneUri.get(word);
> + if(positions == null) {
> + positions = new Integer[] { new
> Integer(position) };
> + wordPositionsForOneUri.put(word,
> positions);
> + }
> + else {
> + Integer[] newPositions = new
> Integer[positions.length + 1];
> + System.arraycopy(positions, 0,
> newPositions, 0, positions.length);
> + newPositions[positions.length] = new
> Integer(position);
> + wordPositionsForOneUri.put(word,
> newPositions);
> + }
> }
> - }
>
> - if (ids == null) {
> - idsByWord.put(word, new Integer[] { id });
> - } else {
> - for (int i = 0; i < ids.length; i++) {
> - if (ids[i].equals(id))
> - return;
> + if (ids == null) {
> + idsByWord.put(word, new Integer[] { id });
> + } else {
> + for (int i = 0; i < ids.length; i++) {
> + if (ids[i].equals(id))
> + return;
> + }
> + Integer[] newIDs = new Integer[ids.length + 1];
> + System.arraycopy(ids, 0, newIDs, 0, ids.length);
> + newIDs[ids.length] = id;
> + idsByWord.put(word, newIDs);
> }
> - Integer[] newIDs = new Integer[ids.length + 1];
> - System.arraycopy(ids, 0, newIDs, 0, ids.length);
> - newIDs[ids.length] = id;
> - idsByWord.put(word, newIDs);
> - }
>
> - tMap.put(MD5(word), word);
> - long time_indexing = System.currentTimeMillis();
> - if (tProducedIndex + minTimeBetweenEachIndexRewriting * 10 <
System.currentTimeMillis()) {
> - try {
> - if(indexing){
> - generateIndex2();
> - produceIndex2();
> - /*
> - * ensures that index production
> doesn't eat up the processor time
> - */
> - if((System.currentTimeMillis() -
time_indexing)/(System.currentTimeMillis() - tProducedIndex) >
MAX_TIME_SPENT_INDEXING) indexing= false;
> - else indexing = true;
> + tMap.put(MD5(word), word);
> + long time_indexing = System.currentTimeMillis();
> + if (tProducedIndex + minTimeBetweenEachIndexRewriting *
> 10 <
System.currentTimeMillis()) {
> + try {
> + if(indexing){
> + generateIndex2();
> + produceIndex2();
> + /*
> + * ensures that index
> production doesn't eat up the processor time
> + */
> + if((System.currentTimeMillis()
> -
time_indexing)/(System.currentTimeMillis() - tProducedIndex) >
MAX_TIME_SPENT_INDEXING) indexing= false;
> + else indexing = true;
> + }
> + } catch (IOException e) {
> + Logger.error(this, "Caught " + e + "
> while creating index", e);
> }
> - } catch (IOException e) {
> - Logger.error(this, "Caught " + e + " while
> creating index", e);
> + tProducedIndex = System.currentTimeMillis();
> }
> - tProducedIndex = System.currentTimeMillis();
> }
> }
> -}
>
>
> -public String handleHTTPPut(HTTPRequest request) throws
PluginHTTPException{
> - return null;
> -}
> -public String handleHTTPPost(HTTPRequest request) throws
PluginHTTPException{
> - return null;
> -}
> + public String handleHTTPPut(HTTPRequest request) throws
PluginHTTPException{
> + return null;
> + }
> + public String handleHTTPPost(HTTPRequest request) throws
PluginHTTPException{
> + return null;
> + }
>
> -public void onFoundEdition(long l, USK key){
> - FreenetURI uri = key.getURI();
> - if(runningFetchesByURI.containsKey(uri))
> runningFetchesByURI.remove(uri);
> - uri = key.getURI().setSuggestedEdition(l);
> - queueURI(uri);
> + public void onFoundEdition(long l, USK key){
> + FreenetURI uri = key.getURI();
> + if(runningFetchesByURI.containsKey(uri))
> runningFetchesByURI.remove(uri);
> + uri = key.getURI().setSuggestedEdition(l);
> + queueURI(uri);
> + }
> +
> }
> -
> -}
>
> _______________________________________________
> cvs mailing list
> cvs at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL:
<https://emu.freenetproject.org/pipermail/devl/attachments/20070823/d87b6f2f/attachment.pgp>