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 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_urlhash", urlhash);
|
||||
return prop;
|
||||
|
|
|
@ -109,7 +109,7 @@ public final class transferURL {
|
|||
|
||||
// check if entry is well-formed
|
||||
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);
|
||||
blocked++;
|
||||
continue;
|
||||
|
|
|
@ -40,6 +40,7 @@ import net.yacy.document.TextParser;
|
|||
import net.yacy.document.ParserException;
|
||||
import net.yacy.kelondro.data.meta.DigestURI;
|
||||
import net.yacy.kelondro.data.meta.URIMetadataRow;
|
||||
import net.yacy.kelondro.data.meta.URIMetadataRow.Components;
|
||||
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) {
|
||||
ArrayList<URIMetadataRow> result = findMetadata(querystring, this);
|
||||
ArrayList<File> files = new ArrayList<File>();
|
||||
Components metadata;
|
||||
for (URIMetadataRow row : result) {
|
||||
files.add(row.metadata().url().getLocalFile());
|
||||
metadata = row.metadata();
|
||||
if (metadata == null) continue;
|
||||
files.add(metadata.url().getLocalFile());
|
||||
count--;
|
||||
if (count == 0) break;
|
||||
}
|
||||
|
|
|
@ -44,6 +44,7 @@ import java.util.concurrent.TimeUnit;
|
|||
import net.yacy.document.Condenser;
|
||||
import net.yacy.kelondro.data.meta.DigestURI;
|
||||
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.WordReference;
|
||||
import net.yacy.kelondro.data.word.WordReferenceVars;
|
||||
|
@ -393,7 +394,7 @@ public final class RankingProcess extends Thread {
|
|||
final URIMetadataRow.Components metadata = page.metadata();
|
||||
|
||||
// check url constraints
|
||||
if (metadata.url() == null) {
|
||||
if (metadata == null || metadata.url() == null) {
|
||||
continue; // rare case where the url is corrupted
|
||||
}
|
||||
|
||||
|
@ -583,10 +584,13 @@ public final class RankingProcess extends Thread {
|
|||
URIMetadataRow mr;
|
||||
DigestURI url;
|
||||
String hostname;
|
||||
Components metadata;
|
||||
loop: for (int i = 0; i < rc; i++) {
|
||||
mr = this.query.getSegment().urlMetadata().load(hsa[i].hashsample, null, 0);
|
||||
if (mr == null) continue;
|
||||
url = mr.metadata().url();
|
||||
metadata = mr.metadata();
|
||||
if (metadata == null) continue;
|
||||
url = metadata.url();
|
||||
if (url == null) continue;
|
||||
hostname = url.getHost();
|
||||
if (hostname == null) continue;
|
||||
|
|
|
@ -201,6 +201,7 @@ public class ResultFetcher {
|
|||
|
||||
long startTime = System.currentTimeMillis();
|
||||
final URIMetadataRow.Components metadata = page.metadata();
|
||||
if (metadata == null) return null;
|
||||
final long dbRetrievalTime = System.currentTimeMillis() - startTime;
|
||||
|
||||
if (snippetMode == 0) {
|
||||
|
|
|
@ -371,7 +371,7 @@ public class Segment {
|
|||
final URIMetadataRow entry = urlMetadata().load(urlhash, null, 0);
|
||||
if (entry == null) return 0;
|
||||
final URIMetadataRow.Components metadata = entry.metadata();
|
||||
if (metadata.url() == null) return 0;
|
||||
if (metadata == null || metadata.url() == null) return 0;
|
||||
|
||||
InputStream resourceContent = null;
|
||||
try {
|
||||
|
|
|
@ -73,6 +73,7 @@ import net.yacy.document.parser.xml.RSSFeed;
|
|||
import net.yacy.kelondro.blob.BEncodedHeapArray;
|
||||
import net.yacy.kelondro.data.meta.DigestURI;
|
||||
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.index.RowSpaceExceededException;
|
||||
import net.yacy.kelondro.logging.Log;
|
||||
|
@ -997,8 +998,10 @@ public final class Switchboard extends serverSwitch {
|
|||
final DigestURI ne = crawlQueues.getURL(urlhash);
|
||||
if (ne != null) return ne;
|
||||
final URIMetadataRow le = indexSegments.urlMetadata(process).load(urlhash, null, 0);
|
||||
if (le != null) return le.metadata().url();
|
||||
return null;
|
||||
if (le == null) return null;
|
||||
Components metadata = le.metadata();
|
||||
if (metadata == null) return null;
|
||||
return metadata.url();
|
||||
}
|
||||
|
||||
public RankingProfile getRanking() {
|
||||
|
|
|
@ -556,6 +556,7 @@ public final class yacyClient {
|
|||
assert (urlEntry.hash().length() == 12) : "urlEntry.hash() = " + urlEntry.hash();
|
||||
if (urlEntry.hash().length() != 12) continue; // bad url hash
|
||||
final URIMetadataRow.Components metadata = urlEntry.metadata();
|
||||
if (metadata == null) continue;
|
||||
if (blacklist.isListed(Blacklist.BLACKLIST_SEARCH, metadata.url())) {
|
||||
yacyCore.log.logInfo("remote search (client): filtered blacklisted url " + metadata.url() + " from peer " + target.getName());
|
||||
continue; // block with backlist
|
||||
|
|
|
@ -218,7 +218,7 @@ public class MapHeap {
|
|||
}
|
||||
|
||||
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());
|
||||
while (key.length() < blob.keylength()) key += fillchar;
|
||||
return key;
|
||||
|
|
|
@ -307,6 +307,7 @@ public class URIMetadataRow implements URIMetadata {
|
|||
// generate a parseable string; this is a simple property-list
|
||||
final Components metadata = this.metadata();
|
||||
final StringBuilder s = new StringBuilder(300);
|
||||
if (metadata == null) return null;
|
||||
//System.out.println("author=" + comp.author());
|
||||
try {
|
||||
s.append("hash=").append(hash());
|
||||
|
|
Loading…
Reference in New Issue
Block a user