1313import org .hdf5javalib .hdffile .metadata .HdfSuperblock ;
1414import org .hdf5javalib .utils .HdfReadUtils ;
1515import org .hdf5javalib .utils .HdfWriteUtils ;
16+ import org .slf4j .Logger ;
17+ import org .slf4j .LoggerFactory ;
1618
1719import java .io .IOException ;
1820import java .lang .reflect .InvocationTargetException ;
4244 * </p>
4345 */
4446public class HdfFileReader implements HdfDataFile {
47+ private static final Logger log = LoggerFactory .getLogger (HdfFileReader .class );
4548// /** The superblock containing metadata about the HDF5 file. */
4649 public static final byte [] BTREE_SIGNATURE = {'T' , 'R' , 'E' , 'E' };
4750 public static final int BTREE_HEADER_INITIAL_SIZE = 8 ;
@@ -88,6 +91,7 @@ public HdfFileReader(SeekableByteChannel fileChannel) {
8891 public HdfFileReader readFile () throws Exception {
8992 long superblockOffset = findSuperblockOffset (fileChannel );
9093 superblock = readSuperblockFromSeekableByteChannel (fileChannel , superblockOffset , this );
94+ log .debug ("HdfFileReader::readFile superblock: {}" , superblock );
9195
9296 // Step 1: Get the root object header address. This logic IS dependent on the superblock version.
9397 long rootObjectHeaderAddr ;
@@ -297,15 +301,16 @@ private void processLink(HdfGroup parentGroup, String linkName, long objectHeade
297301 if (isGroup ) {
298302 HdfGroup groupObject = new HdfGroup (linkName , objectHeader , parentGroup , hardLink );
299303 parentGroup .addChild (groupObject );
300- System . out . println ( "ADDED GROUP: " + groupObject . getObjectPath () + " at " + objectHeaderOffset );
304+ log . debug ( "HdfFileReader::processLink - added group {} at {}" , groupObject . getObjectPath (), objectHeaderOffset );
301305
302306 if (hardLink == null ) {
303307 processV2GroupLinks (groupObject );
304308 }
305309 } else {
306310 HdfDataset datasetObject = new HdfDataset (linkName , objectHeader , parentGroup , hardLink );
307311 parentGroup .addChild (datasetObject );
308- System .out .println ("ADDED DATASET: " + datasetObject .getObjectPath () + " at " + objectHeaderOffset );
312+ log .debug ("HdfFileReader::processLink - added dataset {} at {}" , datasetObject .getObjectPath (), objectHeaderOffset );
313+ log .trace ("HdfFileReader::processLink - added dataset {}:{}" , datasetObject .getObjectPath (), datasetObject .getObjectHeader ());
309314 }
310315 }
311316
@@ -475,10 +480,10 @@ public static HdfSuperblock readSuperblockFromSeekableByteChannel(SeekableByteCh
475480 FixedPointDatatype fixedPointDatatypeForLength ;
476481
477482 // Parse addresses using HdfFixedPoint
478- HdfFixedPoint baseAddress = null ;
483+ HdfFixedPoint baseAddress ;
479484 HdfFixedPoint freeSpaceAddress = null ;
480485 HdfFixedPoint extensionAddress = null ;
481- HdfFixedPoint endOfFileAddress = null ;
486+ HdfFixedPoint endOfFileAddress ;
482487 HdfFixedPoint driverInformationAddress = null ;
483488 HdfFixedPoint rootObjectHeaderAddress = null ;
484489 buffer .position (SIGNATURE_SIZE + VERSION_SIZE ); // Skip the file signature
@@ -540,7 +545,7 @@ public static HdfSuperblock readSuperblockFromSeekableByteChannel(SeekableByteCh
540545
541546 }
542547
543- HdfSuperblock superblock = new HdfSuperblock (
548+ return new HdfSuperblock (
544549 version ,
545550 freeSpaceVersion ,
546551 rootGroupVersion ,
@@ -559,7 +564,6 @@ public static HdfSuperblock readSuperblockFromSeekableByteChannel(SeekableByteCh
559564 fixedPointDatatypeForOffset ,
560565 fixedPointDatatypeForLength
561566 );
562- return superblock ;
563567 }
564568
565569 /**
0 commit comments