mirror of
https://github.com/yacy/yacy_search_server.git
synced 2024-09-19 00:01:41 +02:00
misc NPE check
git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@6630 6c8d7289-2bf4-0310-a012-ef5d649a1542
This commit is contained in:
parent
a512aef6ad
commit
7fdf59a77f
|
@ -323,7 +323,7 @@ public class IndexControlURLs_p {
|
||||||
}
|
}
|
||||||
final URIMetadataRow.Components metadata = entry.metadata();
|
final URIMetadataRow.Components metadata = entry.metadata();
|
||||||
final URIMetadataRow le = ((entry.referrerHash() == null) || (entry.referrerHash().length() != Word.commonHashLength)) ? null : segment.urlMetadata().load(entry.referrerHash(), null, 0);
|
final URIMetadataRow le = ((entry.referrerHash() == null) || (entry.referrerHash().length() != Word.commonHashLength)) ? null : segment.urlMetadata().load(entry.referrerHash(), null, 0);
|
||||||
if (metadata.url() == null) {
|
if (metadata == null || metadata.url() == null) {
|
||||||
prop.put("genUrlProfile", "1");
|
prop.put("genUrlProfile", "1");
|
||||||
prop.put("genUrlProfile_urlhash", urlhash);
|
prop.put("genUrlProfile_urlhash", urlhash);
|
||||||
return prop;
|
return prop;
|
||||||
|
|
|
@ -109,7 +109,7 @@ public final class transferURL {
|
||||||
|
|
||||||
// check if entry is well-formed
|
// check if entry is well-formed
|
||||||
final URIMetadataRow.Components metadata = lEntry.metadata();
|
final URIMetadataRow.Components metadata = lEntry.metadata();
|
||||||
if (metadata.url() == null) {
|
if (metadata == null || metadata.url() == null) {
|
||||||
yacyCore.log.logWarning("transferURL: received invalid URL from peer " + otherPeerName + "\n\tURL Property: " + urls);
|
yacyCore.log.logWarning("transferURL: received invalid URL from peer " + otherPeerName + "\n\tURL Property: " + urls);
|
||||||
blocked++;
|
blocked++;
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -40,6 +40,7 @@ import net.yacy.document.TextParser;
|
||||||
import net.yacy.document.ParserException;
|
import net.yacy.document.ParserException;
|
||||||
import net.yacy.kelondro.data.meta.DigestURI;
|
import net.yacy.kelondro.data.meta.DigestURI;
|
||||||
import net.yacy.kelondro.data.meta.URIMetadataRow;
|
import net.yacy.kelondro.data.meta.URIMetadataRow;
|
||||||
|
import net.yacy.kelondro.data.meta.URIMetadataRow.Components;
|
||||||
import net.yacy.kelondro.logging.Log;
|
import net.yacy.kelondro.logging.Log;
|
||||||
|
|
||||||
|
|
||||||
|
@ -179,8 +180,11 @@ public class DocumentIndex extends Segment {
|
||||||
public ArrayList<File> find(String querystring, int pos, int count) {
|
public ArrayList<File> find(String querystring, int pos, int count) {
|
||||||
ArrayList<URIMetadataRow> result = findMetadata(querystring, this);
|
ArrayList<URIMetadataRow> result = findMetadata(querystring, this);
|
||||||
ArrayList<File> files = new ArrayList<File>();
|
ArrayList<File> files = new ArrayList<File>();
|
||||||
|
Components metadata;
|
||||||
for (URIMetadataRow row : result) {
|
for (URIMetadataRow row : result) {
|
||||||
files.add(row.metadata().url().getLocalFile());
|
metadata = row.metadata();
|
||||||
|
if (metadata == null) continue;
|
||||||
|
files.add(metadata.url().getLocalFile());
|
||||||
count--;
|
count--;
|
||||||
if (count == 0) break;
|
if (count == 0) break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,6 +44,7 @@ import java.util.concurrent.TimeUnit;
|
||||||
import net.yacy.document.Condenser;
|
import net.yacy.document.Condenser;
|
||||||
import net.yacy.kelondro.data.meta.DigestURI;
|
import net.yacy.kelondro.data.meta.DigestURI;
|
||||||
import net.yacy.kelondro.data.meta.URIMetadataRow;
|
import net.yacy.kelondro.data.meta.URIMetadataRow;
|
||||||
|
import net.yacy.kelondro.data.meta.URIMetadataRow.Components;
|
||||||
import net.yacy.kelondro.data.word.Word;
|
import net.yacy.kelondro.data.word.Word;
|
||||||
import net.yacy.kelondro.data.word.WordReference;
|
import net.yacy.kelondro.data.word.WordReference;
|
||||||
import net.yacy.kelondro.data.word.WordReferenceVars;
|
import net.yacy.kelondro.data.word.WordReferenceVars;
|
||||||
|
@ -393,7 +394,7 @@ public final class RankingProcess extends Thread {
|
||||||
final URIMetadataRow.Components metadata = page.metadata();
|
final URIMetadataRow.Components metadata = page.metadata();
|
||||||
|
|
||||||
// check url constraints
|
// check url constraints
|
||||||
if (metadata.url() == null) {
|
if (metadata == null || metadata.url() == null) {
|
||||||
continue; // rare case where the url is corrupted
|
continue; // rare case where the url is corrupted
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -583,10 +584,13 @@ public final class RankingProcess extends Thread {
|
||||||
URIMetadataRow mr;
|
URIMetadataRow mr;
|
||||||
DigestURI url;
|
DigestURI url;
|
||||||
String hostname;
|
String hostname;
|
||||||
|
Components metadata;
|
||||||
loop: for (int i = 0; i < rc; i++) {
|
loop: for (int i = 0; i < rc; i++) {
|
||||||
mr = this.query.getSegment().urlMetadata().load(hsa[i].hashsample, null, 0);
|
mr = this.query.getSegment().urlMetadata().load(hsa[i].hashsample, null, 0);
|
||||||
if (mr == null) continue;
|
if (mr == null) continue;
|
||||||
url = mr.metadata().url();
|
metadata = mr.metadata();
|
||||||
|
if (metadata == null) continue;
|
||||||
|
url = metadata.url();
|
||||||
if (url == null) continue;
|
if (url == null) continue;
|
||||||
hostname = url.getHost();
|
hostname = url.getHost();
|
||||||
if (hostname == null) continue;
|
if (hostname == null) continue;
|
||||||
|
|
|
@ -201,6 +201,7 @@ public class ResultFetcher {
|
||||||
|
|
||||||
long startTime = System.currentTimeMillis();
|
long startTime = System.currentTimeMillis();
|
||||||
final URIMetadataRow.Components metadata = page.metadata();
|
final URIMetadataRow.Components metadata = page.metadata();
|
||||||
|
if (metadata == null) return null;
|
||||||
final long dbRetrievalTime = System.currentTimeMillis() - startTime;
|
final long dbRetrievalTime = System.currentTimeMillis() - startTime;
|
||||||
|
|
||||||
if (snippetMode == 0) {
|
if (snippetMode == 0) {
|
||||||
|
|
|
@ -371,7 +371,7 @@ public class Segment {
|
||||||
final URIMetadataRow entry = urlMetadata().load(urlhash, null, 0);
|
final URIMetadataRow entry = urlMetadata().load(urlhash, null, 0);
|
||||||
if (entry == null) return 0;
|
if (entry == null) return 0;
|
||||||
final URIMetadataRow.Components metadata = entry.metadata();
|
final URIMetadataRow.Components metadata = entry.metadata();
|
||||||
if (metadata.url() == null) return 0;
|
if (metadata == null || metadata.url() == null) return 0;
|
||||||
|
|
||||||
InputStream resourceContent = null;
|
InputStream resourceContent = null;
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -73,6 +73,7 @@ import net.yacy.document.parser.xml.RSSFeed;
|
||||||
import net.yacy.kelondro.blob.BEncodedHeapArray;
|
import net.yacy.kelondro.blob.BEncodedHeapArray;
|
||||||
import net.yacy.kelondro.data.meta.DigestURI;
|
import net.yacy.kelondro.data.meta.DigestURI;
|
||||||
import net.yacy.kelondro.data.meta.URIMetadataRow;
|
import net.yacy.kelondro.data.meta.URIMetadataRow;
|
||||||
|
import net.yacy.kelondro.data.meta.URIMetadataRow.Components;
|
||||||
import net.yacy.kelondro.data.word.Word;
|
import net.yacy.kelondro.data.word.Word;
|
||||||
import net.yacy.kelondro.index.RowSpaceExceededException;
|
import net.yacy.kelondro.index.RowSpaceExceededException;
|
||||||
import net.yacy.kelondro.logging.Log;
|
import net.yacy.kelondro.logging.Log;
|
||||||
|
@ -997,8 +998,10 @@ public final class Switchboard extends serverSwitch {
|
||||||
final DigestURI ne = crawlQueues.getURL(urlhash);
|
final DigestURI ne = crawlQueues.getURL(urlhash);
|
||||||
if (ne != null) return ne;
|
if (ne != null) return ne;
|
||||||
final URIMetadataRow le = indexSegments.urlMetadata(process).load(urlhash, null, 0);
|
final URIMetadataRow le = indexSegments.urlMetadata(process).load(urlhash, null, 0);
|
||||||
if (le != null) return le.metadata().url();
|
if (le == null) return null;
|
||||||
return null;
|
Components metadata = le.metadata();
|
||||||
|
if (metadata == null) return null;
|
||||||
|
return metadata.url();
|
||||||
}
|
}
|
||||||
|
|
||||||
public RankingProfile getRanking() {
|
public RankingProfile getRanking() {
|
||||||
|
|
|
@ -556,6 +556,7 @@ public final class yacyClient {
|
||||||
assert (urlEntry.hash().length() == 12) : "urlEntry.hash() = " + urlEntry.hash();
|
assert (urlEntry.hash().length() == 12) : "urlEntry.hash() = " + urlEntry.hash();
|
||||||
if (urlEntry.hash().length() != 12) continue; // bad url hash
|
if (urlEntry.hash().length() != 12) continue; // bad url hash
|
||||||
final URIMetadataRow.Components metadata = urlEntry.metadata();
|
final URIMetadataRow.Components metadata = urlEntry.metadata();
|
||||||
|
if (metadata == null) continue;
|
||||||
if (blacklist.isListed(Blacklist.BLACKLIST_SEARCH, metadata.url())) {
|
if (blacklist.isListed(Blacklist.BLACKLIST_SEARCH, metadata.url())) {
|
||||||
yacyCore.log.logInfo("remote search (client): filtered blacklisted url " + metadata.url() + " from peer " + target.getName());
|
yacyCore.log.logInfo("remote search (client): filtered blacklisted url " + metadata.url() + " from peer " + target.getName());
|
||||||
continue; // block with backlist
|
continue; // block with backlist
|
||||||
|
|
|
@ -218,7 +218,7 @@ public class MapHeap {
|
||||||
}
|
}
|
||||||
|
|
||||||
private String normalizeKey(String key) {
|
private String normalizeKey(String key) {
|
||||||
if (blob == null) return key;
|
if (blob == null || key == null) return key;
|
||||||
if (key.length() > blob.keylength()) key = key.substring(0, blob.keylength());
|
if (key.length() > blob.keylength()) key = key.substring(0, blob.keylength());
|
||||||
while (key.length() < blob.keylength()) key += fillchar;
|
while (key.length() < blob.keylength()) key += fillchar;
|
||||||
return key;
|
return key;
|
||||||
|
|
|
@ -307,6 +307,7 @@ public class URIMetadataRow implements URIMetadata {
|
||||||
// generate a parseable string; this is a simple property-list
|
// generate a parseable string; this is a simple property-list
|
||||||
final Components metadata = this.metadata();
|
final Components metadata = this.metadata();
|
||||||
final StringBuilder s = new StringBuilder(300);
|
final StringBuilder s = new StringBuilder(300);
|
||||||
|
if (metadata == null) return null;
|
||||||
//System.out.println("author=" + comp.author());
|
//System.out.println("author=" + comp.author());
|
||||||
try {
|
try {
|
||||||
s.append("hash=").append(hash());
|
s.append("hash=").append(hash());
|
||||||
|
|
Loading…
Reference in New Issue
Block a user