public static DMLConfig readConfigurationFile(String configPath) throws ParseException, FileNotFoundException {
  DMLConfig config=new DMLConfig();
  if (configPath != null) {
    try {
      config=new DMLConfig(configPath,false);
    }
 catch (    FileNotFoundException fnfe) {
      LOG.error("Custom config file " + configPath + " not found.");
      throw fnfe;
    }
catch (    ParseException e) {
      throw e;
    }
  }
 else {
    try {
      config=new DMLConfig(DEFAULT_SYSTEMML_CONFIG_FILEPATH,false);
    }
 catch (    FileNotFoundException fnfe) {
      LOG.info("Using internal default configuration settings.  If you wish to " + "customize any settings, please supply a `SystemML-config.xml` file.");
      config=new DMLConfig();
    }
catch (    ParseException e) {
      throw e;
    }
  }
  return config;
}

public static DMLConfig readConfigurationFile ( String configPath ) throws ParseException , FileNotFoundException { DMLConfig config = new DMLConfig ( ) ; if ( configPath != null ) { try { config = new DMLConfig ( configPath , false ) ; } catch ( FileNotFoundException fnfe ) { LOG . error ( "Custom config file " + configPath + " not found." ) ; throw fnfe ; } catch ( ParseException e ) { throw e ; } } else { try { config = new DMLConfig ( DEFAULT_SYSTEMML_CONFIG_FILEPATH , false ) ; } catch ( FileNotFoundException fnfe ) { LOG . info ( "Using internal default configuration settings.  If you wish to " + "customize any settings, please supply a `SystemML-config.xml` file." ) ; config = new DMLConfig ( ) ; } catch ( ParseException e ) { throw e ; } } return config ; }
start with the internal default settings , then merge in the settings from any specified configuration file , if available . if it is not explicitly given , then merge in settings from the default configuration file location , if available .
