package net.ion.bleujin.working;
import java.io.File;
import java.io.FileFilter;
import java.io.OutputStream;
import junit.framework.TestCase;
import net.ion.craken.util.StringInputStream;
import net.ion.framework.util.Debug;
import net.ion.framework.util.IOUtil;
import net.ion.nsearcher.config.Central;
import net.ion.nsearcher.config.CentralConfig;
import net.ion.nsearcher.index.IndexJobs;
import org.apache.lucene.store.Directory;
import org.infinispan.Cache;
import org.infinispan.io.GridFile.Metadata;
import org.infinispan.io.GridFilesystem;
import org.infinispan.lucene.directory.BuildContext;
import org.infinispan.lucene.directory.DirectoryBuilder;
import org.infinispan.manager.DefaultCacheManager;
public class TestComposite extends TestCase {
public void testRun() throws Exception {
String wsName = "test" ;
DefaultCacheManager dcm = new DefaultCacheManager() ;
Cache<String, Metadata> metaCache = dcm.getCache("meta");
Cache<String, byte[]> dataCache = dcm.getCache("data");
GridFilesystem gfs = new GridFilesystem(dataCache, metaCache) ;
BuildContext bcontext = DirectoryBuilder.newDirectoryInstance(metaCache, dataCache, metaCache, wsName);
bcontext.chunkSize(1024 * 1024);
Directory directory = bcontext.create();
Central central = CentralConfig.oldFromDir(directory).build();
central.newIndexer().index(IndexJobs.create("/bleujin", 10)) ;
central.newSearcher().createRequest("").find().debugPrint();
OutputStream output = gfs.getOutput("/test.data") ;
IOUtil.copyNClose(new StringInputStream("hello bleujin"), output);
Debug.line(IOUtil.toStringWithClose(gfs.getInput("/test.data"))) ;
central.newSearcher().createRequest("").find().debugPrint();
File root = gfs.getFile("/") ;
viewFile(root);
dcm.stop();
}
public void testIndexAtSifs() throws Exception {
}
private void viewFile(File file){
if (file.isDirectory()){
for (File child : file.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
Debug.debug(pathname);
return false;
}
})) {
viewFile(child) ;
}
} else {
Debug.line(file);
}
}
}