public LoadMetadataDetails[] readLoadMetadata(String cubeFolderPath){
  Gson gsonObjectToRead=new Gson();
  DataInputStream dataInputStream=null;
  BufferedReader buffReader=null;
  InputStreamReader inStream=null;
  String metadataFileName=cubeFolderPath + CarbonCommonConstants.FILE_SEPARATOR + CarbonCommonConstants.LOADMETADATA_FILENAME;
  LoadMetadataDetails[] listOfLoadFolderDetailsArray;
  AtomicFileOperations fileOperation=new AtomicFileOperationsImpl(metadataFileName,FileFactory.getFileType(metadataFileName));
  try {
    if (!FileFactory.isFileExist(metadataFileName,FileFactory.getFileType(metadataFileName))) {
      return new LoadMetadataDetails[0];
    }
    dataInputStream=fileOperation.openForRead();
    inStream=new InputStreamReader(dataInputStream,CarbonCommonConstants.CARBON_DEFAULT_STREAM_ENCODEFORMAT);
    buffReader=new BufferedReader(inStream);
    listOfLoadFolderDetailsArray=gsonObjectToRead.fromJson(buffReader,LoadMetadataDetails[].class);
  }
 catch (  IOException e) {
    return new LoadMetadataDetails[0];
  }
 finally {
    closeStreams(buffReader,inStream,dataInputStream);
  }
  return listOfLoadFolderDetailsArray;
}

public LoadMetadataDetails [ ] readLoadMetadata ( String cubeFolderPath ) { Gson gsonObjectToRead = new Gson ( ) ; DataInputStream dataInputStream = null ; BufferedReader buffReader = null ; InputStreamReader inStream = null ; String metadataFileName = cubeFolderPath + CarbonCommonConstants . FILE_SEPARATOR + CarbonCommonConstants . LOADMETADATA_FILENAME ; LoadMetadataDetails [ ] listOfLoadFolderDetailsArray ; AtomicFileOperations fileOperation = new AtomicFileOperationsImpl ( metadataFileName , FileFactory . getFileType ( metadataFileName ) ) ; try { if ( ! FileFactory . isFileExist ( metadataFileName , FileFactory . getFileType ( metadataFileName ) ) ) { return new LoadMetadataDetails [ 0 ] ; } dataInputStream = fileOperation . openForRead ( ) ; inStream = new InputStreamReader ( dataInputStream , CarbonCommonConstants . CARBON_DEFAULT_STREAM_ENCODEFORMAT ) ; buffReader = new BufferedReader ( inStream ) ; listOfLoadFolderDetailsArray = gsonObjectToRead . fromJson ( buffReader , LoadMetadataDetails [ ] . class ) ; } catch ( IOException e ) { return new LoadMetadataDetails [ 0 ] ; } finally { closeStreams ( buffReader , inStream , dataInputStream ) ; } return listOfLoadFolderDetailsArray ; }
this method reads the load metadata file
