package org.fastcatsearch.datasource.reader;
import java.io.File;
import java.util.Map;
import org.fastcatsearch.datasource.SourceModifier;
import org.fastcatsearch.ir.common.IRException;
import org.fastcatsearch.ir.config.DataSourceConfig;
import org.fastcatsearch.ir.config.SingleSourceConfig;
import org.fastcatsearch.ir.settings.SchemaSetting;
/**
* nsf 와 ftp등을 이용할수 없는 원격파일등에 대해서
* 원격 저장소 데몬을 띄워 놓으면, RemoteResourceReader가 접속하여 리소스들을 가져올수 있도로 한다.
* 내부적으로 RemoteResourceRepositoryConnector 가 파일(or Stream)을 가져오고
* 이 클래스에서는 이들을 가공하여 Document를 생성한다.
* RemoteResourceRepository는 내부적으로 transport 모듈을 사용하여 통신상의 통일성을 갖도록 한다.
* */
public class RemoteResourceReader extends SingleSourceReader {
public RemoteResourceReader(String collectionId, File filePath, SingleSourceConfig sourceConfig, SourceModifier sourceModifier, String lastIndexTime){
super(collectionId, filePath, sourceConfig, sourceModifier, lastIndexTime);
//TODO
// 1. 외부 리소스 저장소에 연결.
// 2. 디렉토리 또는 파일요청 (셋팅파일에 정의)
//
}
@Override
public boolean hasNext() throws IRException {
// TODO Auto-generated method stub
return false;
}
class RemoteResourceRepositoryConnector {
public void connect(){
}
public boolean next(){
return false;
}
public File readFile(){
return null;
}
}
@Override
protected Map<String, Object> next() throws IRException {
// TODO Auto-generated method stub
return null;
}
@Override
public void close() throws IRException {
// TODO Auto-generated method stub
}
@Override
public void init() throws IRException {
// TODO Auto-generated method stub
}
@Override
protected void initParameters() {
// TODO Auto-generated method stub
}
}