//package org.fastcatsearch.transport.vo; // //import java.io.ByteArrayOutputStream; //import java.io.IOException; // //import javax.xml.bind.JAXBException; // //import org.fastcatsearch.common.io.Streamable; //import org.fastcatsearch.env.Environment; //import org.fastcatsearch.ir.config.ClusterConfig; //import org.fastcatsearch.ir.config.CollectionConfig; //import org.fastcatsearch.ir.config.CollectionContext; //import org.fastcatsearch.ir.config.ShardContext; //import org.fastcatsearch.ir.config.ShardIndexStatus; //import org.fastcatsearch.ir.config.DataInfo; //import org.fastcatsearch.ir.config.DataSourceConfig; //import org.fastcatsearch.ir.io.BytesDataOutput; //import org.fastcatsearch.ir.io.DataInput; //import org.fastcatsearch.ir.io.DataOutput; //import org.fastcatsearch.ir.settings.Schema; //import org.fastcatsearch.ir.settings.SchemaSetting; //import org.fastcatsearch.util.FilePaths; //import org.fastcatsearch.util.JAXBConfigs; //import org.slf4j.Logger; //import org.slf4j.LoggerFactory; // // //public class StreamableShardContext implements Streamable { // private static Logger logger = LoggerFactory.getLogger(StreamableShardContext.class); // private Environment environment; // private ShardContext shardContext; // // public StreamableShardContext(){ // } // // public StreamableShardContext(ShardContext shardContext) { // this.shardContext = shardContext; // } // // public StreamableShardContext(Environment environment) { // this.environment = environment; // } // // @Override // public void readFrom(DataInput input) throws IOException { // try { // String collectionId = input.readString(); // SchemaSetting schemaSetting = JAXBConfigs.readFrom(input, SchemaSetting.class); // Schema schema = new Schema(schemaSetting); // CollectionConfig collectionConfig = JAXBConfigs.readFrom(input, CollectionConfig.class); // ClusterConfig clusterConfig = JAXBConfigs.readFrom(input, ClusterConfig.class); // DataSourceConfig dataSourceConfig = JAXBConfigs.readFrom(input, DataSourceConfig.class); // ShardIndexStatus collectionStatus = JAXBConfigs.readFrom(input, ShardIndexStatus.class); //// DataInfo dataInfo = JAXBConfigs.readFrom(input, DataInfo.class); // //collectionFilePaths는 현 node에 적합하도록 새로 생성한다. // FilePaths collectionFilePaths = environment.filePaths().collectionFilePaths(collectionId); // // //FIXME // // // //// this.collectionContext = new CollectionContext(collectionId, collectionFilePaths); //// collectionContext.init(schema, null, collectionConfig, clusterConfig, dataSourceConfig, collectionStatus); // } catch (JAXBException e) { // throw new IOException(e); // } // } // // @Override // public void writeTo(DataOutput output) throws IOException { // //collectionFilePaths 과 workSchema는 전송하지 않는다. //// output.writeString(collectionContext.collectionId()); //// try{ //// JAXBConfigs.writeTo(output, collectionContext.schema().schemaSetting(), SchemaSetting.class); //// JAXBConfigs.writeTo(output, collectionContext.collectionConfig(), CollectionConfig.class); //// JAXBConfigs.writeTo(output, collectionContext.clusterConfig(), ClusterConfig.class); //// JAXBConfigs.writeTo(output, collectionContext.dataSourceConfig(), DataSourceConfig.class); //// JAXBConfigs.writeTo(output, collectionContext.indexStatus(), ShardIndexStatus.class); ////// JAXBConfigs.writeTo(output, collectionContext.dataInfo(), DataInfo.class); //// //// } catch (JAXBException e) { //// throw new IOException(e); //// } // } // // public ShardContext shardContext(){ // return shardContext; // } //}