package mosaik;

import java.io.File;
import java.io.IOException;

import dataBase.DataBase;

import util.simpleIO.Out;

public class _MakeDataBase_KRISI {

	//public static File dir = new File("D:/_testData_/10_9_8");
	//public static File dir = new File("D:/_testData_/12GB");
	public static File dir = new File("D:/_testData_/neu10k");
	public static File dbFile = new File(dir.getAbsolutePath()+"/DataBase0.db");
	
	/**
	 * @param args
	 * @throws IOException 
	 * @throws ClassNotFoundException 
	 */
	public static void main(String[] args) throws IOException, ClassNotFoundException {

//		Out.pl("Making DB:");
//		DataBase db = MosaikFunctions.makeDatabase(dir);
//		Out.pl("DB made:"+db);
//		
//		MosaikFunctions.storeDatabase(db, dbFile);
//		Out.pl("DB stored.");
//		
//		//DataBase dbCopy = MosaikFunctions.loadDatabase(dbFile);
//		//Out.pl("DB loaded again: "+dbCopy);
		
		
		//--------------------------------------------------------
		File[] dbFiles = {
				new File("D:/_testData_/12GB/DataBase0.db"),
				new File("D:/_testData_/neu10k/DataBase0.db"),
		};
		
		DataBase db = combineDatabase(dbFiles);
		MosaikFunctions.storeDatabase(db, new File("D:/_testData_/DataBase1.db"));
		Out.pl("finished");
	}

	
	static DataBase combineDatabase(File[] dbFiles) throws IOException, ClassNotFoundException{
		
		DataBase db=null;
		//DataBase[] dbs = new DataBase[dbFiles.length];
		
		Out.pl("Combine DBs:");
		for(int i=0; i<dbFiles.length; i++){
			
			if(db==null)
				db = MosaikFunctions.loadDatabase(dbFiles[i]);
			else
				db.add( MosaikFunctions.loadDatabase(dbFiles[i]) );
		}
		
		return db;
	}
	
	
}
