private static TungstenProperties loadSecurityPropertiesFromFile(String propertiesFileLocation) throws ConfigurationException {
  TungstenProperties securityProps=null;
  FileInputStream securityConfigurationFileInputStream=null;
  if (propertiesFileLocation == null && ClusterConfiguration.getClusterHome() == null) {
    throw new ConfigurationException("No cluster.home found from which to configure cluster resources.");
  }
  File securityPropertiesFile;
  if (propertiesFileLocation == null) {
    File clusterConfDirectory=ClusterConfiguration.getDir(ClusterConfiguration.getGlobalConfigDirName(ClusterConfiguration.getClusterHome()));
    securityPropertiesFile=new File(clusterConfDirectory.getPath(),SecurityConf.SECURITY_PROPERTIES_FILE_NAME);
  }
 else {
    securityPropertiesFile=new File(propertiesFileLocation);
  }
  try {
    securityProps=new TungstenProperties();
    securityConfigurationFileInputStream=new FileInputStream(securityPropertiesFile);
    securityProps.load(securityConfigurationFileInputStream,true);
    closeSecurityConfigurationFileInputStream(securityConfigurationFileInputStream);
  }
 catch (  FileNotFoundException e) {
    String msg=MessageFormat.format("Cannot find configuration file: {0}",securityPropertiesFile.getPath());
    logger.debug(msg,e);
    throw new ConfigurationException(msg);
  }
catch (  IOException e) {
    String msg=MessageFormat.format("Cannot load configuration file: {0}.\n Reason: {1}",securityPropertiesFile.getPath(),e.getMessage());
    logger.debug(msg,e);
    throw new ConfigurationException(msg);
  }
 finally {
    closeSecurityConfigurationFileInputStream(securityConfigurationFileInputStream);
  }
  if (logger.isDebugEnabled()) {
    logger.debug(MessageFormat.format(": {0}",securityPropertiesFile.getPath()));
  }
  securityProps.put(SecurityConf.SECURITY_PROPERTIES_PARENT_FILE_LOCATION,securityPropertiesFile.getAbsolutePath());
  return securityProps;
}

private static TungstenProperties loadSecurityPropertiesFromFile ( String propertiesFileLocation ) throws ConfigurationException { TungstenProperties securityProps = null ; FileInputStream securityConfigurationFileInputStream = null ; if ( propertiesFileLocation == null && ClusterConfiguration . getClusterHome ( ) == null ) { throw new ConfigurationException ( "No cluster.home found from which to configure cluster resources." ) ; } File securityPropertiesFile ; if ( propertiesFileLocation == null ) { File clusterConfDirectory = ClusterConfiguration . getDir ( ClusterConfiguration . getGlobalConfigDirName ( ClusterConfiguration . getClusterHome ( ) ) ) ; securityPropertiesFile = new File ( clusterConfDirectory . getPath ( ) , SecurityConf . SECURITY_PROPERTIES_FILE_NAME ) ; } else { securityPropertiesFile = new File ( propertiesFileLocation ) ; } try { securityProps = new TungstenProperties ( ) ; securityConfigurationFileInputStream = new FileInputStream ( securityPropertiesFile ) ; securityProps . load ( securityConfigurationFileInputStream , true ) ; closeSecurityConfigurationFileInputStream ( securityConfigurationFileInputStream ) ; } catch ( FileNotFoundException e ) { String msg = MessageFormat . format ( "Cannot find configuration file: {0}" , securityPropertiesFile . getPath ( ) ) ; logger . debug ( msg , e ) ; throw new ConfigurationException ( msg ) ; } catch ( IOException e ) { String msg = MessageFormat . format ( "Cannot load configuration file: {0}.\n Reason: {1}" , securityPropertiesFile . getPath ( ) , e . getMessage ( ) ) ; logger . debug ( msg , e ) ; throw new ConfigurationException ( msg ) ; } finally { closeSecurityConfigurationFileInputStream ( securityConfigurationFileInputStream ) ; } if ( logger . isDebugEnabled ( ) ) { logger . debug ( MessageFormat . format ( ": {0}" , securityPropertiesFile . getPath ( ) ) ) ; } securityProps . put ( SecurityConf . SECURITY_PROPERTIES_PARENT_FILE_LOCATION , securityPropertiesFile . getAbsolutePath ( ) ) ; return securityProps ; }
loads security related properties from a file . file location = { clusterhome } / conf / security . properties
