// Path: DataAccessLayer/dal/src/main/java/com/erc/dal/upgrade/DBConfig.java
// public class DBConfig {
//     private String dataBaseName;
//     private int version;
//     private int currentVersionCache;
//     private long tableCountCache;
//     private String url;
//     private Context context;
//     private String packageFilter;
//     private UpgradeListener upgradeListener;
// 
//     public DBConfig(Context context, String dataBaseName, int version, String url) {
//         this.context = context;
//         this.dataBaseName = dataBaseName;
//         this.version = version;
//         setUrl(url);
//         if (Util.isNullOrEmpty(dataBaseName)) {
//             this.dataBaseName = SQLiteDatabaseManager.getDataBaseName(context);
//         }
//     }
// 
//     public UpgradeListener getUpgradeListener() {
//         return upgradeListener;
//     }
// 
//     public void setOnUpgradeListener(UpgradeListener upgradeListener) {
//         this.upgradeListener = upgradeListener;
//     }
// 
//     public Context getContext() {
//         return context;
//     }
// 
//     public void setContext(Context context) {
//         this.context = context;
//     }
// 
//     public String getDataBaseName() {
//         return dataBaseName;
//     }
// 
//     public void setDataBaseName(String dataBaseName) {
//         this.dataBaseName = dataBaseName;
//     }
// 
//     public int getVersion() {
//         return version;
//     }
// 
//     int getCurrentVersionCache() {
//         return currentVersionCache;
//     }
// 
//     void setCurrentVersionCache(int currentVersionCache) {
//         this.currentVersionCache = currentVersionCache;
//     }
// 
//     public long getTableCountCache() {
//         return tableCountCache;
//     }
// 
//     public void setTableCountCache(long tableCountCache) {
//         this.tableCountCache = tableCountCache;
//     }
// 
//     public String getUrl() {
//         return url;
//     }
// 
//     public void setUrl(String url) {
//         if (url == null) {
//             url = "";
//         }
//         this.url = url.replaceAll("/$", "");
//     }
// 
//     public String getPackageFilter() {
//         return packageFilter;
//     }
// 
//     public void setPackageFilter(String packageFilter) {
//         this.packageFilter = packageFilter;
//     }
// }


import com.erc.dal.upgrade.DBConfig;
import java.util.HashMap;
package com.erc.dal;



/**
 * Created by Einar on 7/9/2018.
 */

public class DBs {
    private HashMap<String, DB> dbsMap;

    private static DBs dbs = null;
    public static DBs getInstance() {

        if (dbs == null) {
            dbs = new DBs();
        }

        return dbs;
    }

// Path: DataAccessLayer/dal/src/main/java/com/erc/dal/upgrade/DBConfig.java
// public class DBConfig {
//     private String dataBaseName;
//     private int version;
//     private int currentVersionCache;
//     private long tableCountCache;
//     private String url;
//     private Context context;
//     private String packageFilter;
//     private UpgradeListener upgradeListener;
// 
//     public DBConfig(Context context, String dataBaseName, int version, String url) {
//         this.context = context;
//         this.dataBaseName = dataBaseName;
//         this.version = version;
//         setUrl(url);
//         if (Util.isNullOrEmpty(dataBaseName)) {
//             this.dataBaseName = SQLiteDatabaseManager.getDataBaseName(context);
//         }
//     }
// 
//     public UpgradeListener getUpgradeListener() {
//         return upgradeListener;
//     }
// 
//     public void setOnUpgradeListener(UpgradeListener upgradeListener) {
//         this.upgradeListener = upgradeListener;
//     }
// 
//     public Context getContext() {
//         return context;
//     }
// 
//     public void setContext(Context context) {
//         this.context = context;
//     }
// 
//     public String getDataBaseName() {
//         return dataBaseName;
//     }
// 
//     public void setDataBaseName(String dataBaseName) {
//         this.dataBaseName = dataBaseName;
//     }
// 
//     public int getVersion() {
//         return version;
//     }
// 
//     int getCurrentVersionCache() {
//         return currentVersionCache;
//     }
// 
//     void setCurrentVersionCache(int currentVersionCache) {
//         this.currentVersionCache = currentVersionCache;
//     }
// 
//     public long getTableCountCache() {
//         return tableCountCache;
//     }
// 
//     public void setTableCountCache(long tableCountCache) {
//         this.tableCountCache = tableCountCache;
//     }
// 
//     public String getUrl() {
//         return url;
//     }
// 
//     public void setUrl(String url) {
//         if (url == null) {
//             url = "";
//         }
//         this.url = url.replaceAll("/$", "");
//     }
// 
//     public String getPackageFilter() {
//         return packageFilter;
//     }
// 
//     public void setPackageFilter(String packageFilter) {
//         this.packageFilter = packageFilter;
//     }
// }


// Path: DataAccessLayer/dal/src/main/java/com/erc/dal/DBs.java
import com.erc.dal.upgrade.DBConfig;
import java.util.HashMap;

package com.erc.dal;



/**
 * Created by Einar on 7/9/2018.
 */

public class DBs {
    private HashMap<String, DB> dbsMap;

    private static DBs dbs = null;
    public static DBs getInstance() {

        if (dbs == null) {
            dbs = new DBs();
        }

        return dbs;
    }

    public DB getDB(DBConfig dbConfig) {