From 239cc4428d3b404a33e72063296c48e288907985 Mon Sep 17 00:00:00 2001 From: orbiter Date: Mon, 12 May 2008 22:23:29 +0000 Subject: [PATCH] - better domain graph, faster when more links exist, looks better - new authorization rule: localhost is always authorized for administration. This solves many problems with ajax, and also fixed a problem in rssTerminal - fix bug in RSSFeed which prevented that entries had been recognized as individual, new entries - added reloading/updating of status image on status page git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@4796 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- htroot/Status.html | 15 ++++++++++- .../domaingraph/applet/domaingraph.jar | Bin 188727 -> 188763 bytes .../domaingraph/applet/domaingraph.java | 25 +++++++++++++----- .../domaingraph/applet/domaingraph.pde | 25 +++++++++++++----- htroot/processing/domaingraph/domaingraph.pde | 25 +++++++++++++----- htroot/rssTerminal.html | 4 ++- source/de/anomic/http/httpdFileHandler.java | 5 +++- .../plasma/plasmaSearchRankingProcess.java | 1 + .../de/anomic/plasma/plasmaSwitchboard.java | 5 ++-- source/de/anomic/plasma/plasmaWordIndex.java | 2 +- source/de/anomic/xml/RSSFeed.java | 7 ++++- source/de/anomic/xml/RSSMessage.java | 2 +- 12 files changed, 87 insertions(+), 29 deletions(-) diff --git a/htroot/Status.html b/htroot/Status.html index c57702004..f1f1fc190 100644 --- a/htroot/Status.html +++ b/htroot/Status.html @@ -3,8 +3,21 @@ YaCy '#[clientname]#': Console Status #%env/templates/metas.template%# + - + #%env/templates/header.template%# #%env/templates/submenuConfig.template%# diff --git a/htroot/processing/domaingraph/applet/domaingraph.jar b/htroot/processing/domaingraph/applet/domaingraph.jar index db614ad8f2d160f1f264111023e29d26907657bf..b3d7de50c6ce15fd1ce99e690bd0496976f94a9a 100755 GIT binary patch delta 6404 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 bzlZ<#qu>Dk?^OlG*aSUCES&k}*8=_r-(=TH delta 6391 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 Mz#${QwOPRb14#+U{{R30 diff --git a/htroot/processing/domaingraph/applet/domaingraph.java b/htroot/processing/domaingraph/applet/domaingraph.java index 4443793f7..a8a8b588e 100755 --- a/htroot/processing/domaingraph/applet/domaingraph.java +++ b/htroot/processing/domaingraph/applet/domaingraph.java @@ -42,7 +42,7 @@ public void setup() { size(660, 400); smooth(); - frameRate( 12 ); + frameRate( 6 ); strokeWeight( 1 ); ellipseMode( CENTER ); @@ -78,10 +78,11 @@ public void initializePhysics() { } public void draw() { - processRequestResponse(20); + processRequestResponse(50); physics.tick( 1.0f ); HashSet invisible = invisibleParticles(); + deleteParticles(invisible); if (physics.numberOfParticles() > 1) updateCentroid(invisible); centroid.tick(); @@ -90,7 +91,7 @@ public void draw() { scale( centroid.z() ); translate( -centroid.x(), -centroid.y() ); - drawNetwork(invisible); + drawNetwork(); } public void initRequest(boolean update) { @@ -153,6 +154,7 @@ public void processCitation(HashMap props) { } h.time = System.currentTimeMillis(); host p = (host) nodes.get(parsingHostID); // this should be successful + if (p == null) return; // prevent that a spring is made twice for ( int i = 0; i < physics.numberOfSprings(); ++i ) { Spring e = physics.getSpring(i); @@ -209,7 +211,19 @@ public HashSet invisibleParticles() { return particles; } -public void drawNetwork(HashSet invisible) { +public void deleteParticles(HashSet particles) { + Iterator j = nodes.values().iterator(); + host h; + while (j.hasNext()) { + h = (host) j.next(); + if (particles.contains(h.node)) { + h.node.kill(); + j.remove(); + } + } +} + +public void drawNetwork() { // draw vertices fill( 120, 255, 120 ); @@ -220,7 +234,6 @@ public void drawNetwork(HashSet invisible) { while (j.hasNext()) { h = (host) j.next(); Particle v = h.node; - if (invisible.contains(v)) continue; ellipse(v.position().x(), v.position().y(), NODE_SIZE, NODE_SIZE); name = h.name; text(name, v.position().x() - (name.length() * 26 / 10), v.position().y() + 14); @@ -236,9 +249,7 @@ public void drawNetwork(HashSet invisible) { for ( int i = 0; i < physics.numberOfSprings(); ++i ) { Spring e = physics.getSpring( i ); Particle a = e.getOneEnd(); - if (invisible.contains(a)) continue; Particle b = e.getTheOtherEnd(); - if (invisible.contains(b)) continue; line(a.position().x(), a.position().y(), b.position().x(), b.position().y()); } diff --git a/htroot/processing/domaingraph/applet/domaingraph.pde b/htroot/processing/domaingraph/applet/domaingraph.pde index 4805b93be..8936c07a3 100755 --- a/htroot/processing/domaingraph/applet/domaingraph.pde +++ b/htroot/processing/domaingraph/applet/domaingraph.pde @@ -42,7 +42,7 @@ void setup() { size(660, 400); smooth(); - frameRate( 12 ); + frameRate( 6 ); strokeWeight( 1 ); ellipseMode( CENTER ); @@ -78,10 +78,11 @@ void initializePhysics() { } void draw() { - processRequestResponse(20); + processRequestResponse(50); physics.tick( 1.0 ); HashSet invisible = invisibleParticles(); + deleteParticles(invisible); if (physics.numberOfParticles() > 1) updateCentroid(invisible); centroid.tick(); @@ -90,7 +91,7 @@ void draw() { scale( centroid.z() ); translate( -centroid.x(), -centroid.y() ); - drawNetwork(invisible); + drawNetwork(); } void initRequest(boolean update) { @@ -153,6 +154,7 @@ void processCitation(HashMap props) { } h.time = System.currentTimeMillis(); host p = (host) nodes.get(parsingHostID); // this should be successful + if (p == null) return; // prevent that a spring is made twice for ( int i = 0; i < physics.numberOfSprings(); ++i ) { Spring e = physics.getSpring(i); @@ -209,7 +211,19 @@ HashSet invisibleParticles() { return particles; } -void drawNetwork(HashSet invisible) { +void deleteParticles(HashSet particles) { + Iterator j = nodes.values().iterator(); + host h; + while (j.hasNext()) { + h = (host) j.next(); + if (particles.contains(h.node)) { + h.node.kill(); + j.remove(); + } + } +} + +void drawNetwork() { // draw vertices fill( 120, 255, 120 ); @@ -220,7 +234,6 @@ void drawNetwork(HashSet invisible) { while (j.hasNext()) { h = (host) j.next(); Particle v = h.node; - if (invisible.contains(v)) continue; ellipse(v.position().x(), v.position().y(), NODE_SIZE, NODE_SIZE); name = h.name; text(name, v.position().x() - (name.length() * 26 / 10), v.position().y() + 14); @@ -236,9 +249,7 @@ void drawNetwork(HashSet invisible) { for ( int i = 0; i < physics.numberOfSprings(); ++i ) { Spring e = physics.getSpring( i ); Particle a = e.getOneEnd(); - if (invisible.contains(a)) continue; Particle b = e.getTheOtherEnd(); - if (invisible.contains(b)) continue; line(a.position().x(), a.position().y(), b.position().x(), b.position().y()); } diff --git a/htroot/processing/domaingraph/domaingraph.pde b/htroot/processing/domaingraph/domaingraph.pde index 4805b93be..8936c07a3 100755 --- a/htroot/processing/domaingraph/domaingraph.pde +++ b/htroot/processing/domaingraph/domaingraph.pde @@ -42,7 +42,7 @@ void setup() { size(660, 400); smooth(); - frameRate( 12 ); + frameRate( 6 ); strokeWeight( 1 ); ellipseMode( CENTER ); @@ -78,10 +78,11 @@ void initializePhysics() { } void draw() { - processRequestResponse(20); + processRequestResponse(50); physics.tick( 1.0 ); HashSet invisible = invisibleParticles(); + deleteParticles(invisible); if (physics.numberOfParticles() > 1) updateCentroid(invisible); centroid.tick(); @@ -90,7 +91,7 @@ void draw() { scale( centroid.z() ); translate( -centroid.x(), -centroid.y() ); - drawNetwork(invisible); + drawNetwork(); } void initRequest(boolean update) { @@ -153,6 +154,7 @@ void processCitation(HashMap props) { } h.time = System.currentTimeMillis(); host p = (host) nodes.get(parsingHostID); // this should be successful + if (p == null) return; // prevent that a spring is made twice for ( int i = 0; i < physics.numberOfSprings(); ++i ) { Spring e = physics.getSpring(i); @@ -209,7 +211,19 @@ HashSet invisibleParticles() { return particles; } -void drawNetwork(HashSet invisible) { +void deleteParticles(HashSet particles) { + Iterator j = nodes.values().iterator(); + host h; + while (j.hasNext()) { + h = (host) j.next(); + if (particles.contains(h.node)) { + h.node.kill(); + j.remove(); + } + } +} + +void drawNetwork() { // draw vertices fill( 120, 255, 120 ); @@ -220,7 +234,6 @@ void drawNetwork(HashSet invisible) { while (j.hasNext()) { h = (host) j.next(); Particle v = h.node; - if (invisible.contains(v)) continue; ellipse(v.position().x(), v.position().y(), NODE_SIZE, NODE_SIZE); name = h.name; text(name, v.position().x() - (name.length() * 26 / 10), v.position().y() + 14); @@ -236,9 +249,7 @@ void drawNetwork(HashSet invisible) { for ( int i = 0; i < physics.numberOfSprings(); ++i ) { Spring e = physics.getSpring( i ); Particle a = e.getOneEnd(); - if (invisible.contains(a)) continue; Particle b = e.getTheOtherEnd(); - if (invisible.contains(b)) continue; line(a.position().x(), a.position().y(), b.position().x(), b.position().y()); } diff --git a/htroot/rssTerminal.html b/htroot/rssTerminal.html index d32394a26..72cbe0f60 100755 --- a/htroot/rssTerminal.html +++ b/htroot/rssTerminal.html @@ -36,6 +36,7 @@ var lastwait = 1000; var tab = "  "; var lastShow = new Date(); var set = ""; +var requestCount = 0; function fillLines() { alert(maxlines); @@ -121,7 +122,8 @@ function idlepingExec() { } function load() { - getRSS("/xml/feed.rss?count=50&set=" + set); + getRSS("/xml/feed.rss?count=50&set=" + set + "&requestCount=" + requestCount + "&time=" + (new Date()).getTime()); + requestCount++; } function init() { diff --git a/source/de/anomic/http/httpdFileHandler.java b/source/de/anomic/http/httpdFileHandler.java index 64c3157de..1a1da712b 100644 --- a/source/de/anomic/http/httpdFileHandler.java +++ b/source/de/anomic/http/httpdFileHandler.java @@ -303,7 +303,10 @@ public final class httpdFileHandler { int pos = path.lastIndexOf("."); - if ((path.substring(0,(pos==-1)?path.length():pos)).endsWith("_p") && (adminAccountBase64MD5.length() != 0)) { + if ((!clientIP.equals("localhost")) && + (!clientIP.startsWith("0:0:0:0:0:0:0:1")) && + (path.substring(0,(pos==-1)?path.length():pos)).endsWith("_p") && + (adminAccountBase64MD5.length() != 0)) { //authentication required //userDB if(sb.userDB.hasAdminRight(authorization, conProp.getProperty(httpHeader.CONNECTION_PROP_CLIENTIP), requestHeader.getHeaderCookies())){ diff --git a/source/de/anomic/plasma/plasmaSearchRankingProcess.java b/source/de/anomic/plasma/plasmaSearchRankingProcess.java index ce9230d23..a0b2ba6a9 100644 --- a/source/de/anomic/plasma/plasmaSearchRankingProcess.java +++ b/source/de/anomic/plasma/plasmaSearchRankingProcess.java @@ -297,6 +297,7 @@ public final class plasmaSearchRankingProcess { while ((stack.size() > 0) || (size() > 0)) { if (((stack.size() == 0) && (size() == 0))) break; kelondroSortStack.stackElement obrwi = bestRWI(skipDoubleDom); + if (obrwi == null) continue; // *** ? this happenened and the thread was suspended silently. cause? indexURLReference u = wordIndex.getURL(obrwi.element.urlHash(), obrwi.element, obrwi.weight.longValue()); if (u != null) { indexURLReference.Components comp = u.comp(); diff --git a/source/de/anomic/plasma/plasmaSwitchboard.java b/source/de/anomic/plasma/plasmaSwitchboard.java index f44040411..51750c8f5 100644 --- a/source/de/anomic/plasma/plasmaSwitchboard.java +++ b/source/de/anomic/plasma/plasmaSwitchboard.java @@ -2397,14 +2397,15 @@ public final class plasmaSwitchboard extends serverAbstractSwitch 256) return 0; // authorization by encoded password, only for localhost access - if ((((String) header.get(httpHeader.CONNECTION_PROP_CLIENTIP, "")).equals("localhost")) && (adminAccountBase64MD5.equals(authorization))) return 3; // soft-authenticated for localhost + String clientIP = (String) header.get(httpHeader.CONNECTION_PROP_CLIENTIP, ""); + if ((clientIP.equals("localhost") || clientIP.startsWith("0:0:0:0:0:0:0:1")) /*&& (adminAccountBase64MD5.equals(authorization))*/) return 3; // soft-authenticated for localhost // authorization by hit in userDB if (userDB.hasAdminRight((String) header.get(httpHeader.AUTHORIZATION, "xxxxxx"), ((String) header.get(httpHeader.CONNECTION_PROP_CLIENTIP, "")), header.getHeaderCookies())) return 4; //return, because 4=max diff --git a/source/de/anomic/plasma/plasmaWordIndex.java b/source/de/anomic/plasma/plasmaWordIndex.java index 9e047a59c..84e3bc86f 100644 --- a/source/de/anomic/plasma/plasmaWordIndex.java +++ b/source/de/anomic/plasma/plasmaWordIndex.java @@ -691,7 +691,7 @@ public final class plasmaWordIndex implements indexRI { "Anchors: " + ((document.getAnchors() == null) ? 0 : document.getAnchors().size()) + "\n\tLinkStorageTime: " + (storageEndTime - startTime) + " ms | " + "indexStorageTime: " + (indexingEndTime - storageEndTime) + " ms"); - RSSFeed.channels((entry.initiator().equals(seedDB.mySeed().hash)) ? RSSFeed.LOCALINDEXING : RSSFeed.REMOTEINDEXING).addMessage(new RSSMessage("Indexed web page", "", entry.url().toNormalform(true, false))); + RSSFeed.channels((entry.initiator().equals(seedDB.mySeed().hash)) ? RSSFeed.LOCALINDEXING : RSSFeed.REMOTEINDEXING).addMessage(new RSSMessage("Indexed web page", dc_title, entry.url().toNormalform(true, false))); } // finished diff --git a/source/de/anomic/xml/RSSFeed.java b/source/de/anomic/xml/RSSFeed.java index 3073b5e15..72ff795d9 100644 --- a/source/de/anomic/xml/RSSFeed.java +++ b/source/de/anomic/xml/RSSFeed.java @@ -40,6 +40,9 @@ public class RSSFeed implements Iterable { public static final String REMOTEINDEXING = "REMOTEINDEXING"; public static final String LOCALINDEXING = "LOCALINDEXING"; + // test: + // http://localhost:8080/xml/feed.rss?set=PEERNEWS,REMOTESEARCH,LOCALSEARCH,REMOTEINDEXING,LOCALINDEXING + /** * the following private channels are declared to prevent that an access to the feed servlet * gets results from news channels that are not for the public @@ -152,7 +155,9 @@ public class RSSFeed implements Iterable { private static final ConcurrentHashMap channels = new ConcurrentHashMap(); public static RSSFeed channels(String channelName) { - RSSFeed feed = channels.get(channelName); + ConcurrentHashMap channelss = channels; + RSSFeed feed = channelss.get(channelName); + if (feed == null) System.out.println("channel " + channelName + " is new"); if (feed != null) return feed; feed = new RSSFeed(); feed.setChannel(new RSSMessage(channelName, "", "")); diff --git a/source/de/anomic/xml/RSSMessage.java b/source/de/anomic/xml/RSSMessage.java index d189dce03..0223540b0 100644 --- a/source/de/anomic/xml/RSSMessage.java +++ b/source/de/anomic/xml/RSSMessage.java @@ -65,7 +65,7 @@ public class RSSMessage { setValue("description", description); setValue("link", link); setValue("pubDate", new Date().toString()); - setValue("guid", Integer.toHexString((title + description).hashCode())); + setValue("guid", Integer.toHexString((title + description + link).hashCode())); } public RSSMessage() {