package jp.aegif.nemaki.bjornloka;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
public class Setup {
public static void main(String[] args) throws IOException {
String url = null;
String mainRepositoryId = null;
String archiveRepositoryId = null;
String mainFilePath = null;
String archiveFilePath = null;
String suggestedMainFilePath = "";
String suggestedArchiveFilePath = "";
//Read arguments
try{
url = args[0];
mainRepositoryId = args[1];
archiveRepositoryId = args[2];
mainFilePath = args[3];
archiveFilePath = args[4];
}catch(Exception e){
}
try{
suggestedMainFilePath = args[5];
}catch (Exception e){
}
try{
suggestedArchiveFilePath = args[6];
}catch (Exception e){
}
//Read input from console if it's not provided
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
if(StringUtils.isBlank(url)){
String defVal = "http://127.0.0.1:5984";
System.out.print("CouchDB URL[default:" + defVal + "]:");
url = in.readLine();
if(StringUtils.isBlank(url)){
url = defVal;
}
}
if(StringUtils.isBlank(mainRepositoryId)){
String defVal = "bedroom";
System.out.print("Main repository ID[default:" + defVal + "]:");
mainRepositoryId = in.readLine();
if(StringUtils.isBlank(mainRepositoryId)){
mainRepositoryId = defVal;
}
}
if(StringUtils.isBlank(archiveRepositoryId)){
String defVal = mainRepositoryId + "_closet";
System.out.print("Archive repository ID[default:" + defVal + "]:");
archiveRepositoryId = in.readLine();
if(StringUtils.isBlank(archiveRepositoryId)){
archiveRepositoryId = defVal;
}
}
if(StringUtils.isBlank(mainFilePath)){
String defVal = suggestedMainFilePath;
System.out.print("Import file(main):" + defVal + "]:");
mainFilePath = in.readLine();
if(StringUtils.isBlank(mainFilePath)){
mainFilePath = defVal;
}
}
if(StringUtils.isBlank(archiveFilePath)){
String defVal = suggestedArchiveFilePath;
System.out.print("Import file(archive):" + defVal + "]:");
archiveFilePath = in.readLine();
if(StringUtils.isBlank(archiveFilePath)){
archiveFilePath = defVal;
}
}
//Build parameters
List<String> mainParams = new ArrayList<String>();
mainParams.add(url);
mainParams.add(mainRepositoryId);
mainParams.add(mainFilePath);
mainParams.add(StringPool.BOOLEAN_TRUE);
String[] _mainParams = mainParams.toArray(new String[mainParams.size()]);
System.out.println("mainParams:" + mainParams.toString());
List<String> archiveParams = new ArrayList<String>();
archiveParams.add(url);
archiveParams.add(archiveRepositoryId);
archiveParams.add(archiveFilePath);
archiveParams.add(StringPool.BOOLEAN_TRUE);
String[] _archiveParams = archiveParams.toArray(new String[archiveParams.size()]);
System.out.println("archiveParams:" + archiveParams.toString());
//Load
Load.main(_mainParams);
Load.main(_archiveParams);
}
}