Skip to content

Commit

Permalink
misc NPE check
Browse files Browse the repository at this point in the history
git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@6630 6c8d7289-2bf4-0310-a012-ef5d649a1542
  • Loading branch information
orbiter committed Jan 29, 2010
1 parent a512aef commit 7fdf59a
Show file tree
Hide file tree
Showing 10 changed files with 23 additions and 9 deletions.
2 changes: 1 addition & 1 deletion htroot/IndexControlURLs_p.java
Expand Up @@ -323,7 +323,7 @@ private static serverObjects genUrlProfile(final Segment segment, final URIMetad
}
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;
Expand Down
2 changes: 1 addition & 1 deletion htroot/yacy/transferURL.java
Expand Up @@ -109,7 +109,7 @@ public static serverObjects respond(final RequestHeader header, final serverObje

// 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;
Expand Down
6 changes: 5 additions & 1 deletion source/de/anomic/search/DocumentIndex.java
Expand Up @@ -40,6 +40,7 @@
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;


Expand Down Expand Up @@ -179,8 +180,11 @@ public void addConcurrent(File start) {
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;
}
Expand Down
8 changes: 6 additions & 2 deletions source/de/anomic/search/RankingProcess.java
Expand Up @@ -44,6 +44,7 @@
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;
Expand Down Expand Up @@ -393,7 +394,7 @@ public URIMetadataRow takeURL(final boolean skipDoubleDom, final int timeout) {
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
}

Expand Down Expand Up @@ -583,10 +584,13 @@ public ArrayList<NavigatorEntry> getHostNavigator(int count) {
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;
Expand Down
1 change: 1 addition & 0 deletions source/de/anomic/search/ResultFetcher.java
Expand Up @@ -201,6 +201,7 @@ protected ResultEntry fetchSnippet(final URIMetadataRow page, final int snippetM

long startTime = System.currentTimeMillis();
final URIMetadataRow.Components metadata = page.metadata();
if (metadata == null) return null;
final long dbRetrievalTime = System.currentTimeMillis() - startTime;

if (snippetMode == 0) {
Expand Down
2 changes: 1 addition & 1 deletion source/de/anomic/search/Segment.java
Expand Up @@ -371,7 +371,7 @@ public int removeAllUrlReferences(final String urlhash, LoaderDispatcher loader,
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 {
Expand Down
7 changes: 5 additions & 2 deletions source/de/anomic/search/Switchboard.java
Expand Up @@ -73,6 +73,7 @@
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;
Expand Down Expand Up @@ -997,8 +998,10 @@ public DigestURI getURL(final Segments.Process process, final String urlhash) {
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() {
Expand Down
1 change: 1 addition & 0 deletions source/de/anomic/yacy/yacyClient.java
Expand Up @@ -556,6 +556,7 @@ public static String[] search(
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
Expand Down
2 changes: 1 addition & 1 deletion source/net/yacy/kelondro/blob/MapHeap.java
Expand Up @@ -218,7 +218,7 @@ public Map<String, String> get(final String key) throws IOException {
}

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;
Expand Down
1 change: 1 addition & 0 deletions source/net/yacy/kelondro/data/meta/URIMetadataRow.java
Expand Up @@ -307,6 +307,7 @@ private StringBuilder corePropList() {
// 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());
Expand Down

0 comments on commit 7fdf59a

Please sign in to comment.