docs: public static DataSource getDataSource(Environment env) {
  		String dbUrl = (env.getProperty(Utils.DB_URL) != null)?env.getProperty(Utils.DB_URL).toLowerCase():"";
  		String herokuDbUrl = env.getProperty(Utils.HEROKU_DATABASE_URL);
  		
  		if(herokuDbUrl != null) {
  			// url will come as: postgres://user:pass@host:5432/dbname
  			String fromUserName = herokuDbUrl.substring(herokuDbUrl.indexOf("//") + 2);
  			String userName = fromUserName.substring(0, fromUserName.indexOf(":"));
  			String pass = fromUserName.substring(fromUserName.indexOf(":") +1, fromUserName.indexOf("@"));
  			String fromHost = fromUserName.substring(fromUserName.indexOf("@")+1);
  			String schemaName = env.getProperty(Utils.SCHEMA_NAME);
  			
  			//build this url: jdbc:postgresql://host:5432/dbName?user=username&password=pass&currentSchema='
  			dbUrl = "jdbc:postgresql://" + fromHost + "?user=" + userName + "&password=" + pass + "&sslmode=require";
  			if(schemaName != null) {
  				dbUrl += "&currentSchema=" + schemaName; 
  			}
  			logger.info("------DB Url: " + dbUrl);
  		}
  		BasicDataSource dataSource = new BasicDataSource();
  		try {
  			if(dbUrl.indexOf("mysql") > -1 ) {
  				dataSource.setDriver(new com.mysql.jdbc.Driver());
  			} else if(dbUrl.indexOf("postgres") > -1) {
  				dataSource.setDriver(new org.postgresql.Driver()); 
  			} else if(dbUrl.indexOf("derby") > -1) {
  				dataSource.setDriver(new org.apache.derby.jdbc.EmbeddedDriver());
  			}
  		} catch (SQLException e) {
  			logger.error("----FhiServerConfigCommon: getDataSource: setting driver error: " + e.getMessage());
  		}
  		dataSource.setUrl(dbUrl);
  		return dataSource;
  	}