accumulated classes from different packages into the new rwi package

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@6394 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
orbiter 16 years ago
parent 194da25a2f
commit 1e4f8b56ed

@ -37,6 +37,9 @@ import java.util.List;
import java.util.Set;
import net.yacy.kelondro.order.Bitfield;
import net.yacy.kelondro.rwi.Reference;
import net.yacy.kelondro.rwi.ReferenceContainer;
import net.yacy.kelondro.rwi.ReferenceContainerCache;
import de.anomic.data.AbstractBlacklist;
import de.anomic.data.Blacklist;
@ -44,9 +47,6 @@ import de.anomic.data.listManager;
import de.anomic.document.Condenser;
import de.anomic.document.Word;
import de.anomic.http.metadata.RequestHeader;
import de.anomic.kelondro.text.Reference;
import de.anomic.kelondro.text.ReferenceContainer;
import de.anomic.kelondro.text.ReferenceContainerCache;
import de.anomic.kelondro.text.Segment;
import de.anomic.kelondro.text.metadataPrototype.URLMetadataRow;
import de.anomic.kelondro.text.referencePrototype.WordReference;

@ -28,12 +28,13 @@ import java.util.Date;
import java.util.Iterator;
import java.util.TreeSet;
import net.yacy.kelondro.rwi.ReferenceContainer;
import net.yacy.kelondro.rwi.TermSearch;
import de.anomic.document.Word;
import de.anomic.http.metadata.RequestHeader;
import de.anomic.kelondro.text.ReferenceContainer;
import de.anomic.kelondro.text.Segment;
import de.anomic.kelondro.text.Segments;
import de.anomic.kelondro.text.TermSearch;
import de.anomic.kelondro.text.referencePrototype.WordReference;
import de.anomic.kelondro.util.DateFormatter;
import de.anomic.search.QueryParams;

@ -36,12 +36,12 @@ import java.util.TreeSet;
import net.yacy.kelondro.order.Base64Order;
import net.yacy.kelondro.order.Bitfield;
import net.yacy.kelondro.rwi.ReferenceContainer;
import de.anomic.content.RSSMessage;
import de.anomic.document.parser.xml.RSSFeed;
import de.anomic.http.metadata.HeaderFramework;
import de.anomic.http.metadata.RequestHeader;
import de.anomic.kelondro.text.ReferenceContainer;
import de.anomic.kelondro.text.Segments;
import de.anomic.kelondro.text.referencePrototype.WordReference;
import de.anomic.kelondro.util.SortStack;

@ -4,8 +4,9 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.TreeSet;
import de.anomic.kelondro.text.Reference;
import de.anomic.kelondro.text.ReferenceContainer;
import net.yacy.kelondro.rwi.Reference;
import net.yacy.kelondro.rwi.ReferenceContainer;
import de.anomic.kelondro.text.Segment;
import de.anomic.kelondro.text.metadataPrototype.URLMetadataRow;
import de.anomic.kelondro.text.referencePrototype.WordReference;

@ -8,9 +8,9 @@ import java.util.TreeSet;
import java.util.concurrent.LinkedBlockingQueue;
import net.yacy.kelondro.logging.Log;
import net.yacy.kelondro.rwi.IndexCell;
import de.anomic.document.Word;
import de.anomic.kelondro.text.IndexCell;
import de.anomic.kelondro.text.referencePrototype.WordReference;
/**

@ -53,9 +53,9 @@ import java.util.zip.GZIPOutputStream;
import net.yacy.kelondro.index.HandleMap;
import net.yacy.kelondro.index.HandleSet;
import net.yacy.kelondro.order.Base64Order;
import net.yacy.kelondro.rwi.ReferenceContainerArray;
import de.anomic.kelondro.text.MetadataRepository;
import de.anomic.kelondro.text.ReferenceContainerArray;
import de.anomic.kelondro.text.Segment;
import de.anomic.kelondro.text.MetadataRepository.Export;
import de.anomic.kelondro.text.metadataPrototype.URLMetadataRow;

@ -1,4 +1,4 @@
// kelondroBLOBArray.java
// ArrayStack.java
// (C) 2008 by Michael Peter Christen; mc@yacy.net, Frankfurt a. M., Germany
// first published 19.08.2008 on http://yacy.net
//
@ -53,11 +53,11 @@ import net.yacy.kelondro.order.ByteOrder;
import net.yacy.kelondro.order.CloneableIterator;
import net.yacy.kelondro.order.MergeIterator;
import net.yacy.kelondro.order.NaturalOrder;
import net.yacy.kelondro.rwi.Reference;
import net.yacy.kelondro.rwi.ReferenceContainer;
import net.yacy.kelondro.rwi.ReferenceFactory;
import net.yacy.kelondro.rwi.ReferenceIterator;
import de.anomic.kelondro.text.Reference;
import de.anomic.kelondro.text.ReferenceContainer;
import de.anomic.kelondro.text.ReferenceFactory;
import de.anomic.kelondro.text.ReferenceContainerCache.blobFileEntries;
import de.anomic.kelondro.util.DateFormatter;
import de.anomic.kelondro.util.FileUtils;
import de.anomic.kelondro.util.NamePrefixThreadFactory;
@ -739,8 +739,8 @@ public class ArrayStack implements BLOB {
private static <ReferenceType extends Reference> File mergeWorker(ReferenceFactory<ReferenceType> factory, int keylength, ByteOrder order, File f1, File f2, Row payloadrow, File newFile, int writeBuffer) throws IOException {
// iterate both files and write a new one
CloneableIterator<ReferenceContainer<ReferenceType>> i1 = new blobFileEntries<ReferenceType>(f1, factory, payloadrow);
CloneableIterator<ReferenceContainer<ReferenceType>> i2 = new blobFileEntries<ReferenceType>(f2, factory, payloadrow);
CloneableIterator<ReferenceContainer<ReferenceType>> i1 = new ReferenceIterator<ReferenceType>(f1, factory, payloadrow);
CloneableIterator<ReferenceContainer<ReferenceType>> i2 = new ReferenceIterator<ReferenceType>(f2, factory, payloadrow);
if (!i1.hasNext()) {
if (i2.hasNext()) {
FileUtils.deletedelete(f1);

@ -30,9 +30,9 @@ import java.util.Date;
import net.yacy.kelondro.index.Row;
import net.yacy.kelondro.order.Bitfield;
import net.yacy.kelondro.rwi.Reference;
import de.anomic.crawler.retrieval.Request;
import de.anomic.kelondro.text.Reference;
public interface Metadata {

@ -33,6 +33,7 @@ import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import net.yacy.kelondro.order.Bitfield;
import net.yacy.kelondro.rwi.ReferenceContainer;
import de.anomic.document.Condenser;
import de.anomic.kelondro.text.referencePrototype.WordReference;

@ -37,6 +37,10 @@ import java.util.TreeSet;
import net.yacy.kelondro.logging.Log;
import net.yacy.kelondro.order.Base64Order;
import net.yacy.kelondro.order.ByteOrder;
import net.yacy.kelondro.rwi.IODispatcher;
import net.yacy.kelondro.rwi.IndexCell;
import net.yacy.kelondro.rwi.ReferenceContainer;
import net.yacy.kelondro.rwi.ReferenceFactory;
import de.anomic.crawler.retrieval.Response;
import de.anomic.data.Blacklist;

@ -33,6 +33,7 @@ import java.util.HashMap;
import java.util.Iterator;
import net.yacy.kelondro.logging.Log;
import net.yacy.kelondro.rwi.IndexCell;
import de.anomic.document.Condenser;
import de.anomic.document.Document;

@ -31,7 +31,7 @@ import net.yacy.kelondro.index.Row;
import net.yacy.kelondro.index.Row.Entry;
import net.yacy.kelondro.order.Base64Order;
import net.yacy.kelondro.order.MicroDate;
import de.anomic.kelondro.text.Reference;
import net.yacy.kelondro.rwi.Reference;
import de.anomic.yacy.yacySeedDB;
public final class CitationReferenceRow implements Reference /*, Cloneable*/ {

@ -27,7 +27,7 @@
package de.anomic.kelondro.text.navigationPrototype;
import net.yacy.kelondro.index.Row.Entry;
import de.anomic.kelondro.text.Reference;
import net.yacy.kelondro.rwi.Reference;
public interface NavigationReference extends Reference {

@ -26,8 +26,9 @@
package de.anomic.kelondro.text.navigationPrototype;
import net.yacy.kelondro.index.Row;
import net.yacy.kelondro.index.Row.Entry;
import de.anomic.kelondro.text.ReferenceFactory;
import net.yacy.kelondro.rwi.ReferenceFactory;
public class NavigationReferenceFactory implements ReferenceFactory<NavigationReference> {
@ -39,5 +40,9 @@ public class NavigationReferenceFactory implements ReferenceFactory<NavigationRe
if (r instanceof NavigationReferenceVars) return r;
return new NavigationReferenceVars(r);
}
public Row getRow() {
return NavigationReferenceRow.navEntryRow;
}
}

@ -30,8 +30,8 @@ import net.yacy.kelondro.index.Column;
import net.yacy.kelondro.index.Row;
import net.yacy.kelondro.index.Row.Entry;
import net.yacy.kelondro.order.Base64Order;
import de.anomic.kelondro.text.AbstractReference;
import de.anomic.kelondro.text.Reference;
import net.yacy.kelondro.rwi.AbstractReference;
import net.yacy.kelondro.rwi.Reference;
import de.anomic.yacy.yacySeedDB;
public final class NavigationReferenceRow extends AbstractReference implements NavigationReference, Cloneable {

@ -27,8 +27,8 @@
package de.anomic.kelondro.text.navigationPrototype;
import net.yacy.kelondro.index.Row.Entry;
import de.anomic.kelondro.text.AbstractReference;
import de.anomic.kelondro.text.Reference;
import net.yacy.kelondro.rwi.AbstractReference;
import net.yacy.kelondro.rwi.Reference;
public class NavigationReferenceVars extends AbstractReference implements NavigationReference, Reference, Cloneable {

@ -27,7 +27,7 @@
package de.anomic.kelondro.text.referencePrototype;
import net.yacy.kelondro.order.Bitfield;
import de.anomic.kelondro.text.Reference;
import net.yacy.kelondro.rwi.Reference;
public interface WordReference extends Reference {

@ -26,8 +26,9 @@
package de.anomic.kelondro.text.referencePrototype;
import net.yacy.kelondro.index.Row;
import net.yacy.kelondro.index.Row.Entry;
import de.anomic.kelondro.text.ReferenceFactory;
import net.yacy.kelondro.rwi.ReferenceFactory;
public class WordReferenceFactory implements ReferenceFactory<WordReference> {
@ -40,4 +41,8 @@ public class WordReferenceFactory implements ReferenceFactory<WordReference> {
return new WordReferenceVars(r);
}
public Row getRow() {
return WordReferenceRow.urlEntryRow;
}
}

@ -32,9 +32,9 @@ import net.yacy.kelondro.index.Row.Entry;
import net.yacy.kelondro.order.Base64Order;
import net.yacy.kelondro.order.Bitfield;
import net.yacy.kelondro.order.MicroDate;
import net.yacy.kelondro.rwi.AbstractReference;
import net.yacy.kelondro.rwi.Reference;
import de.anomic.document.Word;
import de.anomic.kelondro.text.AbstractReference;
import de.anomic.kelondro.text.Reference;
import de.anomic.yacy.yacySeedDB;
/**

@ -33,10 +33,10 @@ import java.util.concurrent.LinkedBlockingQueue;
import net.yacy.kelondro.index.Row.Entry;
import net.yacy.kelondro.order.Bitfield;
import net.yacy.kelondro.order.MicroDate;
import net.yacy.kelondro.rwi.AbstractReference;
import net.yacy.kelondro.rwi.Reference;
import net.yacy.kelondro.rwi.ReferenceContainer;
import de.anomic.kelondro.text.AbstractReference;
import de.anomic.kelondro.text.Reference;
import de.anomic.kelondro.text.ReferenceContainer;
public class WordReferenceVars extends AbstractReference implements WordReference, Reference, Cloneable {

@ -43,15 +43,15 @@ import java.util.concurrent.TimeUnit;
import net.yacy.kelondro.index.BinSearch;
import net.yacy.kelondro.order.Digest;
import net.yacy.kelondro.rwi.Reference;
import net.yacy.kelondro.rwi.ReferenceContainer;
import net.yacy.kelondro.rwi.TermSearch;
import de.anomic.document.Condenser;
import de.anomic.document.Word;
import de.anomic.document.parser.html.ContentScraper;
import de.anomic.kelondro.text.Reference;
import de.anomic.kelondro.text.ReferenceContainer;
import de.anomic.kelondro.text.ReferenceOrder;
import de.anomic.kelondro.text.Segment;
import de.anomic.kelondro.text.TermSearch;
import de.anomic.kelondro.text.metadataPrototype.URLMetadataRow;
import de.anomic.kelondro.text.referencePrototype.WordReference;
import de.anomic.kelondro.text.referencePrototype.WordReferenceVars;

@ -31,10 +31,10 @@ import java.util.ArrayList;
import java.util.Date;
import net.yacy.kelondro.order.Bitfield;
import net.yacy.kelondro.rwi.Reference;
import de.anomic.document.Condenser;
import de.anomic.document.Word;
import de.anomic.kelondro.text.Reference;
import de.anomic.kelondro.text.Segment;
import de.anomic.kelondro.text.metadataPrototype.URLMetadataRow;
import de.anomic.kelondro.text.referencePrototype.WordReferenceVars;

@ -35,9 +35,9 @@ import java.util.TreeSet;
import net.yacy.kelondro.logging.Log;
import net.yacy.kelondro.order.Base64Order;
import net.yacy.kelondro.rwi.ReferenceContainer;
import de.anomic.crawler.ResultURLs;
import de.anomic.kelondro.text.ReferenceContainer;
import de.anomic.kelondro.text.Segment;
import de.anomic.kelondro.text.referencePrototype.WordReference;
import de.anomic.kelondro.util.MemoryControl;

@ -37,10 +37,10 @@ import net.yacy.kelondro.order.Base64Order;
import net.yacy.kelondro.order.Bitfield;
import net.yacy.kelondro.order.CloneableIterator;
import net.yacy.kelondro.order.MicroDate;
import net.yacy.kelondro.rwi.IndexCell;
import net.yacy.kelondro.rwi.ReferenceContainer;
import de.anomic.kelondro.table.Table;
import de.anomic.kelondro.text.IndexCell;
import de.anomic.kelondro.text.ReferenceContainer;
import de.anomic.kelondro.text.Segment;
import de.anomic.kelondro.text.referencePrototype.WordReference;
import de.anomic.kelondro.util.DateFormatter;

@ -34,8 +34,8 @@ import java.util.Map;
import net.yacy.kelondro.logging.Log;
import net.yacy.kelondro.order.Base64Order;
import net.yacy.kelondro.rwi.ReferenceContainer;
import de.anomic.kelondro.text.ReferenceContainer;
import de.anomic.kelondro.text.Segment;
import de.anomic.kelondro.text.referencePrototype.WordReference;
import de.anomic.kelondro.text.referencePrototype.WordReferenceRow;
@ -240,7 +240,7 @@ public class Dispatcher {
for (ReferenceContainer container: containers) {
// init the new partitions
for (int j = 0; j < partitionBuffer.length; j++) {
partitionBuffer[j] = new ReferenceContainer(Segment.wordReferenceFactory, container.getTermHash(), container.row(), container.size() / partitionCount);
partitionBuffer[j] = new ReferenceContainer(Segment.wordReferenceFactory, container.getTermHash(), container.size() / partitionCount);
}
// split the container

@ -32,9 +32,9 @@ import java.util.Iterator;
import net.yacy.kelondro.index.Row;
import net.yacy.kelondro.logging.Log;
import net.yacy.kelondro.rwi.ReferenceContainer;
import net.yacy.kelondro.rwi.ReferenceContainerCache;
import de.anomic.kelondro.text.ReferenceContainer;
import de.anomic.kelondro.text.ReferenceContainerCache;
import de.anomic.kelondro.text.Segment;
import de.anomic.kelondro.text.metadataPrototype.URLMetadataRow;
import de.anomic.kelondro.text.referencePrototype.WordReference;

@ -58,6 +58,9 @@ import java.util.TreeMap;
import net.yacy.kelondro.order.Base64Order;
import net.yacy.kelondro.order.Bitfield;
import net.yacy.kelondro.order.Digest;
import net.yacy.kelondro.rwi.Reference;
import net.yacy.kelondro.rwi.ReferenceContainer;
import net.yacy.kelondro.rwi.ReferenceContainerCache;
import org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource;
import org.apache.commons.httpclient.methods.multipart.Part;
@ -75,9 +78,6 @@ import de.anomic.http.client.RemoteProxyConfig;
import de.anomic.http.metadata.HeaderFramework;
import de.anomic.http.metadata.RequestHeader;
import de.anomic.http.metadata.ResponseContainer;
import de.anomic.kelondro.text.Reference;
import de.anomic.kelondro.text.ReferenceContainer;
import de.anomic.kelondro.text.ReferenceContainerCache;
import de.anomic.kelondro.text.Segment;
import de.anomic.kelondro.text.metadataPrototype.URLMetadataRow;
import de.anomic.kelondro.text.referencePrototype.WordReference;

@ -25,12 +25,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package de.anomic.kelondro.text;
package net.yacy.kelondro.rwi;
import java.io.IOException;
import java.util.Iterator;
import java.util.TreeSet;
import net.yacy.kelondro.order.Order;

@ -25,7 +25,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package de.anomic.kelondro.text;
package net.yacy.kelondro.rwi;
import java.io.IOException;
import java.util.HashMap;
@ -35,7 +35,6 @@ import java.util.TreeSet;
import net.yacy.kelondro.order.Order;
public abstract class AbstractIndex <ReferenceType extends Reference> implements Index<ReferenceType> {
final protected ReferenceFactory<ReferenceType> factory;

@ -24,10 +24,11 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package de.anomic.kelondro.text;
package net.yacy.kelondro.rwi;
import java.util.ArrayList;
public abstract class AbstractReference implements Reference {
protected static ArrayList<Integer> a(int i) {

@ -25,7 +25,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package de.anomic.kelondro.text;
package net.yacy.kelondro.rwi;
import java.io.IOException;
import java.util.TreeSet;
@ -34,7 +34,7 @@ import net.yacy.kelondro.order.CloneableIterator;
/*
* an IndexPackage is an integration of different index types, i.e.
* a BufferedIndex is an integration of different index types, i.e.
* - ReferenceContainerArray
* - ReferenceContainerCache
* - IndexCache (which is a wrapper of a ReferenceContainerCache)

@ -2,9 +2,9 @@
// (C) 2009 by Michael Peter Christen; mc@yacy.net, Frankfurt a. M., Germany
// first published 20.03.2009 on http://yacy.net
//
// $LastChangedDate$
// $LastChangedRevision$
// $LastChangedBy$
// $LastChangedDate: 2009-10-10 01:32:08 +0200 (Sa, 10 Okt 2009) $
// $LastChangedRevision: 6393 $
// $LastChangedBy: orbiter $
//
// LICENSE
//
@ -22,7 +22,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package de.anomic.kelondro.text;
package net.yacy.kelondro.rwi;
import java.io.File;
import java.io.IOException;

@ -5,9 +5,9 @@
//
// This is a part of YaCy, a peer-to-peer based web search engine
//
// $LastChangedDate$
// $LastChangedRevision$
// $LastChangedBy$
// $LastChangedDate: 2009-10-10 01:22:22 +0200 (Sa, 10 Okt 2009) $
// $LastChangedRevision: 6392 $
// $LastChangedBy: orbiter $
//
// LICENSE
//
@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package de.anomic.kelondro.text;
package net.yacy.kelondro.rwi;
import java.io.IOException;
import java.util.HashMap;

@ -4,9 +4,9 @@
//
// This is a part of YaCy, a peer-to-peer based web search engine
//
// $LastChangedDate$
// $LastChangedRevision$
// $LastChangedBy$
// $LastChangedDate: 2009-10-10 01:32:08 +0200 (Sa, 10 Okt 2009) $
// $LastChangedRevision: 6393 $
// $LastChangedBy: orbiter $
//
// LICENSE
//
@ -24,7 +24,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package de.anomic.kelondro.text;
package net.yacy.kelondro.rwi;
import java.io.File;
import java.io.IOException;
@ -242,7 +242,7 @@ public final class IndexCell<ReferenceType extends Reference> extends AbstractBu
public CloneableIterator<ReferenceContainer<ReferenceType>> references(byte[] starttermHash, boolean rot) {
final Order<ReferenceContainer<ReferenceType>> containerOrder = new ReferenceContainerOrder<ReferenceType>(factory, this.ram.rowdef().getOrdering().clone());
containerOrder.rotate(new ReferenceContainer<ReferenceType>(factory, starttermHash, this.ram.rowdef(), 0));
containerOrder.rotate(new ReferenceContainer<ReferenceType>(factory, starttermHash, 0));
return new MergeIterator<ReferenceContainer<ReferenceType>>(
this.ram.references(starttermHash, rot),
new MergeIterator<ReferenceContainer<ReferenceType>>(
@ -258,7 +258,7 @@ public final class IndexCell<ReferenceType extends Reference> extends AbstractBu
public CloneableIterator<ReferenceContainer<ReferenceType>> references(byte[] startTermHash, boolean rot, boolean ram) {
final Order<ReferenceContainer<ReferenceType>> containerOrder = new ReferenceContainerOrder<ReferenceType>(factory, this.ram.rowdef().getOrdering().clone());
containerOrder.rotate(new ReferenceContainer<ReferenceType>(factory, startTermHash, this.ram.rowdef(), 0));
containerOrder.rotate(new ReferenceContainer<ReferenceType>(factory, startTermHash, 0));
if (ram) {
return this.ram.references(startTermHash, rot);
}

@ -4,9 +4,9 @@
//
// This is a part of YaCy, a peer-to-peer based web search engine
//
// $LastChangedDate$
// $LastChangedRevision$
// $LastChangedBy$
// $LastChangedDate: 2009-10-10 01:22:22 +0200 (Sa, 10 Okt 2009) $
// $LastChangedRevision: 6392 $
// $LastChangedBy: orbiter $
//
// LICENSE
//
@ -24,7 +24,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package de.anomic.kelondro.text;
package net.yacy.kelondro.rwi;
import java.util.Set;

@ -4,9 +4,9 @@
//
// This is a part of YaCy, a peer-to-peer based web search engine
//
// $LastChangedDate$
// $LastChangedRevision$
// $LastChangedBy$
// $LastChangedDate: 2009-10-10 01:32:08 +0200 (Sa, 10 Okt 2009) $
// $LastChangedRevision: 6393 $
// $LastChangedBy: orbiter $
//
// LICENSE
//
@ -24,7 +24,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package de.anomic.kelondro.text;
package net.yacy.kelondro.rwi;
import net.yacy.kelondro.index.Row.Entry;

@ -4,9 +4,9 @@
//
// This is a part of YaCy, a peer-to-peer based web search engine
//
// $LastChangedDate$
// $LastChangedRevision$
// $LastChangedBy$
// $LastChangedDate: 2009-10-10 01:32:08 +0200 (Sa, 10 Okt 2009) $
// $LastChangedRevision: 6393 $
// $LastChangedBy: orbiter $
//
// LICENSE
//
@ -24,7 +24,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package de.anomic.kelondro.text;
package net.yacy.kelondro.rwi;
import java.lang.reflect.Method;
import java.util.Collection;
@ -39,7 +39,6 @@ import net.yacy.kelondro.index.RowSet;
import net.yacy.kelondro.order.Base64Order;
import net.yacy.kelondro.order.ByteOrder;
import de.anomic.kelondro.text.referencePrototype.WordReferenceRow;
import de.anomic.kelondro.util.ByteBuffer;
/**
@ -61,8 +60,8 @@ public class ReferenceContainer<ReferenceType extends Reference> extends RowSet
this.termHash = termHash;
}
public ReferenceContainer(final ReferenceFactory<ReferenceType> factory, final byte[] termHash, final Row rowdef, final int objectCount) {
super(rowdef, objectCount);
public ReferenceContainer(final ReferenceFactory<ReferenceType> factory, final byte[] termHash, final int objectCount) {
super(factory.getRow(), objectCount);
assert termHash == null || (termHash[2] != '@' && termHash.length == this.rowdef.primaryKeyLength);
this.termHash = termHash;
this.factory = factory;
@ -70,14 +69,14 @@ public class ReferenceContainer<ReferenceType extends Reference> extends RowSet
}
public ReferenceContainer<ReferenceType> topLevelClone() {
final ReferenceContainer<ReferenceType> newContainer = new ReferenceContainer<ReferenceType>(this.factory, this.termHash, this.rowdef, this.size());
final ReferenceContainer<ReferenceType> newContainer = new ReferenceContainer<ReferenceType>(this.factory, this.termHash, this.size());
newContainer.addAllUnique(this);
return newContainer;
}
public static <ReferenceType extends Reference> ReferenceContainer<ReferenceType> emptyContainer(final ReferenceFactory<ReferenceType> factory, final byte[] termHash, final int elementCount) {
assert termHash == null || (termHash[2] != '@' && termHash.length == WordReferenceRow.urlEntryRow.primaryKeyLength);
return new ReferenceContainer<ReferenceType>(factory, termHash, WordReferenceRow.urlEntryRow, elementCount);
assert termHash == null || (termHash[2] != '@' && termHash.length == factory.getRow().primaryKeyLength);
return new ReferenceContainer<ReferenceType>(factory, termHash, elementCount);
}
public void setWordHash(final byte[] newTermHash) {
@ -111,7 +110,7 @@ public class ReferenceContainer<ReferenceType extends Reference> extends RowSet
assert entry.toKelondroEntry().objectsize() == super.rowdef.objectsize;
final Row.Entry r = super.replace(entry.toKelondroEntry());
if (r == null) return null;
return new WordReferenceRow(r);
return factory.produceSlow(r);
}
public void put(final Reference entry) {
@ -126,7 +125,7 @@ public class ReferenceContainer<ReferenceType extends Reference> extends RowSet
if (oldEntryRow == null) {
return true;
}
final Reference oldEntry = new WordReferenceRow(oldEntryRow);
final Reference oldEntry = factory.produceSlow(oldEntryRow);
if (entry.isOlder(oldEntry)) { // A more recent Entry is already in this container
this.replace(oldEntry.toKelondroEntry()); // put it back
return false;
@ -351,7 +350,7 @@ public class ReferenceContainer<ReferenceType extends Reference> extends RowSet
assert small.rowdef.equals(large.rowdef) : "small = " + small.rowdef.toString() + "; large = " + large.rowdef.toString();
final int keylength = small.rowdef.width(0);
assert (keylength == large.rowdef.width(0));
final ReferenceContainer<ReferenceType> conj = new ReferenceContainer<ReferenceType>(factory, null, small.rowdef, 0); // start with empty search result
final ReferenceContainer<ReferenceType> conj = new ReferenceContainer<ReferenceType>(factory, null, 0); // start with empty search result
final Iterator<ReferenceType> se = small.entries();
ReferenceType ie1;
ReferenceType ie2;
@ -380,7 +379,7 @@ public class ReferenceContainer<ReferenceType extends Reference> extends RowSet
assert i1.rowdef.equals(i2.rowdef) : "i1 = " + i1.rowdef.toString() + "; i2 = " + i2.rowdef.toString();
final int keylength = i1.rowdef.width(0);
assert (keylength == i2.rowdef.width(0));
final ReferenceContainer<ReferenceType> conj = new ReferenceContainer<ReferenceType>(factory, null, i1.rowdef, 0); // start with empty search result
final ReferenceContainer<ReferenceType> conj = new ReferenceContainer<ReferenceType>(factory, null, 0); // start with empty search result
if (!((i1.rowdef.getOrdering().signature().equals(i2.rowdef.getOrdering().signature())))) return conj; // ordering must be equal
ByteOrder ordering = i1.rowdef.getOrdering();
final Iterator<ReferenceType> e1 = i1.entries();

@ -2,9 +2,9 @@
// (C) 2009 by Michael Peter Christen; mc@yacy.net, Frankfurt a. M., Germany
// first published 04.01.2009 on http://yacy.net
//
// $LastChangedDate$
// $LastChangedRevision$
// $LastChangedBy$
// $LastChangedDate: 2009-10-10 01:32:08 +0200 (Sa, 10 Okt 2009) $
// $LastChangedRevision: 6393 $
// $LastChangedBy: orbiter $
//
// LICENSE
//
@ -22,7 +22,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package de.anomic.kelondro.text;
package net.yacy.kelondro.rwi;
import java.io.File;
import java.io.IOException;
@ -321,7 +321,7 @@ public final class ReferenceContainerArray<ReferenceType extends Reference> {
if (f.length() < 22 || !f.startsWith("index") || !f.endsWith(".blob")) continue;
File fl = new File(heapLocation, f);
System.out.println("CELL REFERENCE COLLECTION opening blob " + fl);
CloneableIterator<ReferenceContainer<ReferenceType>> ei = new ReferenceContainerCache.blobFileEntries<ReferenceType>(fl, factory, payloadrow);
CloneableIterator<ReferenceContainer<ReferenceType>> ei = new ReferenceIterator<ReferenceType>(fl, factory, payloadrow);
ReferenceContainer<ReferenceType> container;
final long start = System.currentTimeMillis();

@ -1,12 +1,12 @@
// indexContainerCache.java
// ReferenceContainerCache.java
// (C) 2008 by Michael Peter Christen; mc@yacy.net, Frankfurt a. M., Germany
// first published 30.03.2008 on http://yacy.net
//
// This is a part of YaCy, a peer-to-peer based web search engine
//
// $LastChangedDate$
// $LastChangedRevision$
// $LastChangedBy$
// $LastChangedDate: 2009-10-10 01:32:08 +0200 (Sa, 10 Okt 2009) $
// $LastChangedRevision: 6393 $
// $LastChangedBy: orbiter $
//
// LICENSE
//
@ -24,7 +24,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package de.anomic.kelondro.text;
package net.yacy.kelondro.rwi;
import java.io.File;
import java.io.IOException;
@ -36,13 +36,11 @@ import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import net.yacy.kelondro.index.Row;
import net.yacy.kelondro.index.RowSet;
import net.yacy.kelondro.logging.Log;
import net.yacy.kelondro.order.Base64Order;
import net.yacy.kelondro.order.ByteOrder;
import net.yacy.kelondro.order.CloneableIterator;
import de.anomic.kelondro.blob.HeapReader;
import de.anomic.kelondro.blob.HeapWriter;
import de.anomic.kelondro.util.ByteArray;
import de.anomic.kelondro.util.FileUtils;
@ -148,67 +146,7 @@ public final class ReferenceContainerCache<ReferenceType extends Reference> exte
return (this.cache == null) ? 0 : this.cache.size();
}
/**
* static iterator of BLOBHeap files: is used to import heap dumps into a write-enabled index heap
*/
public static class blobFileEntries <ReferenceType extends Reference> implements CloneableIterator<ReferenceContainer<ReferenceType>>, Iterable<ReferenceContainer<ReferenceType>> {
HeapReader.entries blobs;
Row payloadrow;
File blobFile;
ReferenceFactory<ReferenceType> factory;
public blobFileEntries(final File blobFile, ReferenceFactory<ReferenceType> factory, final Row payloadrow) throws IOException {
this.blobs = new HeapReader.entries(blobFile, payloadrow.primaryKeyLength);
this.payloadrow = payloadrow;
this.blobFile = blobFile;
this.factory = factory;
}
public boolean hasNext() {
if (blobs == null) return false;
if (blobs.hasNext()) return true;
close();
return false;
}
/**
* return an index container
* because they may get very large, it is wise to deallocate some memory before calling next()
*/
public ReferenceContainer<ReferenceType> next() {
Map.Entry<String, byte[]> entry = blobs.next();
byte[] payload = entry.getValue();
return new ReferenceContainer<ReferenceType>(factory, entry.getKey().getBytes(), RowSet.importRowSet(payload, payloadrow));
}
public void remove() {
throw new UnsupportedOperationException("heap dumps are read-only");
}
public Iterator<ReferenceContainer<ReferenceType>> iterator() {
return this;
}
public void close() {
if (blobs != null) this.blobs.close();
blobs = null;
}
protected void finalize() {
this.close();
}
public CloneableIterator<ReferenceContainer<ReferenceType>> clone(Object modifier) {
if (blobs != null) this.blobs.close();
blobs = null;
try {
return new blobFileEntries<ReferenceType>(this.blobFile, factory, this.payloadrow);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
public int maxReferences() {
// iterate to find the max score
@ -321,7 +259,7 @@ public final class ReferenceContainerCache<ReferenceType extends Reference> exte
if (urlselection == null) return c;
if (c == null) return null;
// because this is all in RAM, we must clone the entries (flat)
ReferenceContainer<ReferenceType> c1 = new ReferenceContainer<ReferenceType>(factory, c.getTermHash(), c.row(), c.size());
ReferenceContainer<ReferenceType> c1 = new ReferenceContainer<ReferenceType>(factory, c.getTermHash(), c.size());
Iterator<ReferenceType> e = c.entries();
ReferenceType ee;
while (e.hasNext()) {
@ -421,7 +359,7 @@ public final class ReferenceContainerCache<ReferenceType extends Reference> exte
// first access the cache without synchronization
ReferenceContainer<ReferenceType> container = cache.remove(tha);
if (container == null) container = new ReferenceContainer<ReferenceType>(factory, termHash, this.payloadrow, 1);
if (container == null) container = new ReferenceContainer<ReferenceType>(factory, termHash, 1);
container.put(newEntry);
// synchronization: check if the entry is still empty and set new value

@ -4,9 +4,9 @@
//
// This is a part of YaCy, a peer-to-peer based web search engine
//
// $LastChangedDate$
// $LastChangedRevision$
// $LastChangedBy$
// $LastChangedDate: 2009-10-10 01:22:22 +0200 (Sa, 10 Okt 2009) $
// $LastChangedRevision: 6392 $
// $LastChangedBy: orbiter $
//
// LICENSE
//
@ -24,7 +24,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package de.anomic.kelondro.text;
package net.yacy.kelondro.rwi;
import net.yacy.kelondro.order.AbstractOrder;
import net.yacy.kelondro.order.Order;

@ -24,11 +24,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package de.anomic.kelondro.text;
package net.yacy.kelondro.rwi;
import net.yacy.kelondro.index.Row;
public interface ReferenceFactory<ReferenceType extends Reference> {
public Row getRow();
public ReferenceType produceSlow(Row.Entry e);

@ -0,0 +1,99 @@
// ReferenceIterator.java
// (C) 2008 by Michael Peter Christen; mc@yacy.net, Frankfurt a. M., Germany
// first published 30.03.2008 on http://yacy.net
//
// This is a part of YaCy, a peer-to-peer based web search engine
//
// $LastChangedDate: 2009-10-10 01:32:08 +0200 (Sa, 10 Okt 2009) $
// $LastChangedRevision: 6393 $
// $LastChangedBy: orbiter $
//
// LICENSE
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package net.yacy.kelondro.rwi;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import net.yacy.kelondro.index.Row;
import net.yacy.kelondro.index.RowSet;
import net.yacy.kelondro.order.CloneableIterator;
import de.anomic.kelondro.blob.HeapReader;
/**
* iterator of BLOBHeap files: is used to import heap dumps into a write-enabled index heap
*/
public class ReferenceIterator <ReferenceType extends Reference> implements CloneableIterator<ReferenceContainer<ReferenceType>>, Iterable<ReferenceContainer<ReferenceType>> {
HeapReader.entries blobs;
Row payloadrow;
File blobFile;
ReferenceFactory<ReferenceType> factory;
public ReferenceIterator(final File blobFile, ReferenceFactory<ReferenceType> factory, final Row payloadrow) throws IOException {
this.blobs = new HeapReader.entries(blobFile, payloadrow.primaryKeyLength);
this.payloadrow = payloadrow;
this.blobFile = blobFile;
this.factory = factory;
}
public boolean hasNext() {
if (blobs == null) return false;
if (blobs.hasNext()) return true;
close();
return false;
}
/**
* return an index container
* because they may get very large, it is wise to deallocate some memory before calling next()
*/
public ReferenceContainer<ReferenceType> next() {
Map.Entry<String, byte[]> entry = blobs.next();
byte[] payload = entry.getValue();
return new ReferenceContainer<ReferenceType>(factory, entry.getKey().getBytes(), RowSet.importRowSet(payload, payloadrow));
}
public void remove() {
throw new UnsupportedOperationException("heap dumps are read-only");
}
public Iterator<ReferenceContainer<ReferenceType>> iterator() {
return this;
}
public void close() {
if (blobs != null) this.blobs.close();
blobs = null;
}
protected void finalize() {
this.close();
}
public CloneableIterator<ReferenceContainer<ReferenceType>> clone(Object modifier) {
if (blobs != null) this.blobs.close();
blobs = null;
try {
return new ReferenceIterator<ReferenceType>(this.blobFile, factory, this.payloadrow);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}

@ -25,12 +25,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package de.anomic.kelondro.text;
package net.yacy.kelondro.rwi;
import java.util.HashMap;
import java.util.Set;
import java.util.TreeSet;
public class TermSearch <ReferenceType extends Reference> {
private ReferenceContainer<ReferenceType> joinResult;

@ -46,6 +46,8 @@ import java.util.zip.ZipOutputStream;
import net.yacy.kelondro.index.RowCollection;
import net.yacy.kelondro.logging.Log;
import net.yacy.kelondro.order.Base64Order;
import net.yacy.kelondro.rwi.Reference;
import net.yacy.kelondro.rwi.ReferenceContainer;
import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
@ -57,8 +59,6 @@ import de.anomic.http.metadata.ResponseContainer;
import de.anomic.http.server.HTTPDemon;
import de.anomic.kelondro.blob.Heap;
import de.anomic.kelondro.blob.MapDataMining;
import de.anomic.kelondro.text.Reference;
import de.anomic.kelondro.text.ReferenceContainer;
import de.anomic.kelondro.text.MetadataRepository;
import de.anomic.kelondro.text.Segment;
import de.anomic.kelondro.text.metadataPrototype.URLMetadataRow;
@ -183,11 +183,11 @@ public final class yacy {
f = new File(homePath, "DATA/LOG/");
mkdirsIfNeseccary(f);
f = new File(homePath, "DATA/LOG/yacy.logging");
if (!f.exists()) try {
//if (!f.exists()) try {
FileUtils.copy(new File(homePath, "yacy.logging"), f);
} catch (final IOException e){
System.out.println("could not copy yacy.logging");
}
//} catch (final IOException e){
// System.out.println("could not copy yacy.logging");
//}
try{
Log.configureLogging(homePath, new File(homePath, "DATA/LOG/yacy.logging"));
} catch (final IOException e) {

@ -32,30 +32,30 @@ java.awt.level = OFF
# List of global handlers
handlers = java.util.logging.FileHandler,\
de.anomic.yacy.logging.GuiHandler,\
de.anomic.yacy.logging.ConsoleOutErrHandler,\
de.anomic.yacy.logging.LogalizerHandler
net.yacy.kelondro.logging.GuiHandler,\
net.yacy.kelondro.logging.ConsoleOutErrHandler,\
net.yacy.kelondro.logging.LogalizerHandler
# Properties for the FileHandler
java.util.logging.FileHandler.limit = 1048576
java.util.logging.FileHandler.count = 20
java.util.logging.FileHandler.pattern = DATA/LOG/yacy%u%g.log
java.util.logging.FileHandler.level = ALL
java.util.logging.FileHandler.formatter=de.anomic.yacy.logging.SimpleLogFormatter
java.util.logging.FileHandler.formatter=net.yacy.kelondro.logging.SimpleLogFormatter
java.util.logging.FileHandler.encoding=UTF-8
# Properties for the GuiHandler
de.anomic.yacy.logging.GuiHandler.level = ALL
de.anomic.yacy.logging.GuiHandler.formatter=de.anomic.yacy.logging.SimpleLogFormatter
de.anomic.yacy.logging.GuiHandler.size = 400
net.yacy.kelondro.logging.GuiHandler.level = ALL
net.yacy.kelondro.logging.GuiHandler.formatter=net.yacy.kelondro.logging.SimpleLogFormatter
net.yacy.kelondro.logging.GuiHandler.size = 400
# Properties for the ConsoleOutErrHandler
de.anomic.yacy.logging.ConsoleOutErrHandler.level = ALL
de.anomic.yacy.logging.ConsoleOutErrHandler.levelStdOut = ALL
de.anomic.yacy.logging.ConsoleOutErrHandler.levelSplit = WARNING
de.anomic.yacy.logging.ConsoleOutErrHandler.levelStdErr = ALL
de.anomic.yacy.logging.ConsoleOutErrHandler.formatter=de.anomic.yacy.logging.SimpleLogFormatter
#de.anomic.yacy.logging.ConsoleOutErrHandler.ignoreCtrlChr=true
net.yacy.kelondro.logging.ConsoleOutErrHandler.level = ALL
net.yacy.kelondro.logging.ConsoleOutErrHandler.levelStdOut = ALL
net.yacy.kelondro.logging.ConsoleOutErrHandler.levelSplit = WARNING
net.yacy.kelondro.logging.ConsoleOutErrHandler.levelStdErr = ALL
net.yacy.kelondro.logging.ConsoleOutErrHandler.formatter=net.yacy.kelondro.logging.SimpleLogFormatter
#net.yacy.kelondro.logging.ConsoleOutErrHandler.ignoreCtrlChr=true
# Properties for the proxy access logger
de.anomic.http.httpdProxyHandler.logging.enabled = TRUE
@ -64,6 +64,6 @@ de.anomic.http.httpdProxyHandler.logging.FileHandler.count = 20
de.anomic.http.httpdProxyHandler.logging.FileHandler.pattern = DATA/LOG/proxyAccess%u%g.log
# Properties for the LogalizerHandler
de.anomic.yacy.logging.LogalizerHandler.enabled = false
de.anomic.yacy.logging.LogalizerHandler.debug = false
de.anomic.yacy.logging.LogalizerHandler.parserPackage = de.anomic.yacy.logging
net.yacy.kelondro.logging.LogalizerHandler.enabled = false
net.yacy.kelondro.logging.LogalizerHandler.debug = false
net.yacy.kelondro.logging.LogalizerHandler.parserPackage = net.yacy.kelondro.logging

Loading…
Cancel
Save