ecological-engine/src/main/java/org/gcube/contentmanagement/lexicalmatcher/analysis/guesser/treeStructure/chunks/ReferenceChunk.java

57 lines
1.8 KiB
Java
Executable File

package org.gcube.contentmanagement.lexicalmatcher.analysis.guesser.treeStructure.chunks;
import java.math.BigInteger;
import java.util.ArrayList;
import org.gcube.contentmanagement.lexicalmatcher.analysis.core.Engine;
import org.gcube.contentmanagement.lexicalmatcher.analysis.guesser.data.DBObjectTranslator;
import org.gcube.contentmanagement.lexicalmatcher.analysis.guesser.data.Entry;
import org.hibernate.SessionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ReferenceChunk extends Chunk{
private static Logger logger = LoggerFactory.getLogger(ReferenceChunk.class);
private String categoryName;
private String categoryTableName;
private ArrayList<Entry> referenceEntries;
private BigInteger startPoint;
private int chunkSize;
public ReferenceChunk(String CategoryName, String CategoryTableName, BigInteger StartPoint, int ChunkSize, Engine engine){
super(engine);
chunkSize = ChunkSize;
categoryName = CategoryName;
categoryTableName = CategoryTableName;
startPoint = StartPoint;
logger.trace("ReferenceChunk-> \t\tTOOK CATEGORY CHUNK FOR CATEGORY: " + categoryName+" - index : "+startPoint);
}
//takes references on demand from DB
public ArrayList<Entry> getReferenceEntries() throws Exception{
DBObjectTranslator dbo = new DBObjectTranslator();
SessionFactory sess = engine.getDBSession();
// AnalysisLogger.getLogger().debug("ReferenceChunk->getReferenceEntries-> \tCATEGORY CHUNK START : " + startPoint);
referenceEntries = dbo.retrieveEntries(sess, categoryTableName, startPoint, chunkSize);
return referenceEntries;
}
public void setCategoryName(String categoryName) {
this.categoryName = categoryName;
}
public String getCategoryName() {
return categoryName;
}
}