package com.torrenttunes.server;
import java.util.Arrays;
import java.util.Date;
import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
import com.torrenttunes.server.tools.Tools;
public class DataSources {
public static String APP_NAME = "torrenttunes-server";
public static Integer EXTERNAL_SPARK_WEB_PORT(){return (SSL) ? 443 : 80;} // Main is port 80, dev is port 4567
// iptables are used to route all requests to 80 to 8080.
public static Integer INTERNAL_SPARK_WEB_PORT = 8080;
public static Boolean SSL = false;
public static final String WEB_SERVICE_URL = "http://localhost:" + EXTERNAL_SPARK_WEB_PORT() + "/";
public static String EXTERNAL_IP = Tools.httpGetString("http://api.ipify.org/").trim();
public static String EXTERNAL_URL = "http://" + EXTERNAL_IP + ":" + EXTERNAL_SPARK_WEB_PORT() + "/";
public static final String TORRENTTUNES_IP = "torrenttunes.tk";
public static final Integer TORRENTTUNES_PORT() {return EXTERNAL_SPARK_WEB_PORT();}// Main is 80, dev is 4567
public static String HTTP() {return (SSL) ? "https://" : "http://";}
public static final String TORRENTTUNES_URL() {
return HTTP() + TORRENTTUNES_IP + ":" + TORRENTTUNES_PORT() + "/";
}
public static final String TORRENTTUNES_INTERNAL_URL() {
return HTTP() + TORRENTTUNES_IP + ":" + INTERNAL_SPARK_WEB_PORT + "/";
}
// The path to the ytm dir
public static String HOME_DIR() {
String userHome = System.getProperty( "user.home" ) + "/." + APP_NAME;
return userHome;
}
public static final String KEYSTORE() { return HOME_DIR() + "/keystore.jks";}
public static final String TORRENTS_DIR() {return HOME_DIR() + "/torrents_server";}
public static final String SAMPLE_TORRENT_FILE() {return TORRENTS_DIR() +
"/4dc5a38c-e053-4c12-a028-34b1a89075be_f29a2d2fb98be7afc69b0cb562fd5e38472fb44fa4790d1b11ff9565675d0fd6.torrent";
}
public static final String SAMPLE_MUSIC_DIR = "/home/tyler/Downloads";
public static final String SAMPLE_SONG = SAMPLE_MUSIC_DIR + "/04 One Evening.mp3";
// This should not be used, other than for unzipping to the home dir
public static final String CODE_DIR = System.getProperty("user.dir");
public static final String SOURCE_CODE_HOME() {return HOME_DIR() + "/src";}
public static final String SQL_FILE() {return SOURCE_CODE_HOME() + "/ddl_server.sql";}
public static final String SQL_VIEWS_FILE() {return SOURCE_CODE_HOME() + "/views_server.sql";}
public static final String SQL_FAST_TABLES_FILE() {return SOURCE_CODE_HOME() + "/create_fast_tables.sql";}
public static final String SHADED_JAR_FILE = CODE_DIR + "/target/" + APP_NAME + ".jar";
public static final String SHADED_JAR_FILE_2 = CODE_DIR + "/" + APP_NAME + ".jar";
public static final String MUSIC_STORAGE_PATH = HOME_DIR() + "/music";
public static final String ZIP_FILE() {return HOME_DIR() + "/" + APP_NAME + ".zip";}
public static final String TOOLS_JS() {return SOURCE_CODE_HOME() + "/web/js/tools.js";}
// Web pages
public static final String WEB_HOME() {return SOURCE_CODE_HOME() + "/web";}
public static final String WEB_HTML() {return WEB_HOME() + "/html";}
public static final String MAIN_PAGE_URL_EN() {return WEB_HTML() + "/main_en.html";}
public static final String MAIN_PAGE_URL_ES() {return WEB_HTML() + "/main_es.html";}
public static final String MAIN_PAGE_URL_FR() {return WEB_HTML() + "/main_fr.html";}
public static final String MAINTENANCE_PAGE_URL() {return WEB_HTML() + "/maintenance.html";}
public static String BASE_ENDPOINT = MAIN_PAGE_URL_EN();
public static final Date APP_START_DATE = new Date();
public static final String DB_PROP_FILE = System.getProperty("user.home") + "/tt_db.properties";
public static final Properties DB_PROP = Tools.loadProperties(DB_PROP_FILE);
}