//package org.fastcatsearch.ir.config; // //import java.util.Date; // //import org.fastcatsearch.ir.common.IndexingType; //import org.fastcatsearch.ir.config.CollectionIndexStatus.IndexStatus; //import org.fastcatsearch.ir.config.DataInfo.RevisionInfo; //import org.fastcatsearch.ir.config.DataInfo.SegmentInfo; //import org.fastcatsearch.ir.util.Formatter; //import org.fastcatsearch.util.FilePaths; // //public class ShardContext { // // private String collectionId; // private String shardId; // private FilePaths filePaths; // private IndexConfig indexConfig; // private DataPlanConfig dataPlanConfig; // private ShardConfig shardConfig; // private ShardIndexStatus shardIndexStatus; // private DataInfo dataInfo; // // public ShardContext(String collectionId, String shardId, FilePaths filePaths){ // this.collectionId = collectionId; // this.shardId = shardId; // this.filePaths = filePaths; // } // // public void init(IndexConfig indexConfig, DataPlanConfig dataPlanConfig, ShardConfig shardConfig // , ShardIndexStatus shardIndexStatus, DataInfo dataInfo){ // this.indexConfig = indexConfig; // this.dataPlanConfig = dataPlanConfig; // this.shardConfig = shardConfig; // this.shardIndexStatus = shardIndexStatus; // this.dataInfo = dataInfo; // } // // public FilePaths filePaths(){ // return filePaths; // } // public FilePaths indexFilePaths(){ // return new FilePaths(filePaths.indexDirFile(shardIndexStatus.getSequence())); // } // public String collectionId(){ // return collectionId; // } // // public String shardId(){ // return shardId; // } // // public IndexConfig indexConfig(){ // return indexConfig; // } // // public DataPlanConfig dataPlanConfig(){ // return dataPlanConfig; // } // // public ShardConfig shardConfig(){ // return shardConfig; // } // // public ShardIndexStatus indexStatus(){ // return shardIndexStatus; // } // // public DataInfo dataInfo(){ // return dataInfo; // } // // public void updateIndexingStatus(IndexingType indexingType, RevisionInfo revisionInfo, long startTime, long endTime){ // IndexStatus indexStatus = null; // if(indexingType == IndexingType.FULL){ // indexStatus = shardIndexStatus.getFullIndexStatus(); // if(indexStatus == null){ // indexStatus = new IndexStatus(); // shardIndexStatus.setFullIndexStatus(indexStatus); // } // //전체색인시 증분색인 status는 지워준다. // shardIndexStatus.setAddIndexStatus(null); // }else{ // indexStatus = shardIndexStatus.getAddIndexStatus(); // if(indexStatus == null){ // indexStatus = new IndexStatus(); // shardIndexStatus.setAddIndexStatus(indexStatus); // } // } // indexStatus.setDocumentCount(revisionInfo.getDocumentCount()); // indexStatus.setInsertCount(revisionInfo.getInsertCount()); // indexStatus.setUpdateCount(revisionInfo.getUpdateCount()); // indexStatus.setDeleteCount(revisionInfo.getDeleteCount()); // indexStatus.setStartTime(Formatter.formatDate(new Date(startTime))); // indexStatus.setEndTime(Formatter.formatDate(new Date(endTime))); // indexStatus.setDuration(Formatter.getFormatTime(endTime - startTime)); // } // // public int nextDataSequence(){ // int currentDataSequence = shardIndexStatus.getSequence(); // int dataSequenceCycle = dataPlanConfig.getDataSequenceCycle(); // int nextDataSequence = (currentDataSequence + 1) % dataSequenceCycle; // shardIndexStatus.setSequence(nextDataSequence); // return nextDataSequence; // } // // public int getIndexSequence(){ // return shardIndexStatus.getSequence(); // } // // public void updateSegmentInfo(SegmentInfo segmentInfo) { // dataInfo.updateSegmentInfo(segmentInfo); // } // public void addSegmentInfo(SegmentInfo segmentInfo) { // dataInfo.addSegmentInfo(segmentInfo); // } // // public void clearDataInfoAndStatus() { // dataInfo = new DataInfo(); // shardIndexStatus.clear(); // } // // public ShardContext copy() { // ShardContext newShardContext = new ShardContext(collectionId, shardId, filePaths); // newShardContext.indexConfig = indexConfig; // newShardContext.dataPlanConfig = dataPlanConfig; // newShardContext.shardConfig = shardConfig; // newShardContext.shardIndexStatus = shardIndexStatus.copy(); // newShardContext.dataInfo = dataInfo; // return newShardContext; // } // // //}