@@ -117,28 +117,28 @@ void testCompact() throws Exception {
117117 }
118118 }
119119
120- // @Test
121- // void testExtern() throws Exception {
122- // try (SeekableByteChannel channel = ResourceLoader.loadResourceAsChannel("h5ex_d/h5ex_d_extern.h5")) {
123- // HdfFileReader reader = new HdfFileReader(channel).readFile();
124- // HdfDataset dataSet = reader.getDataset("/DS1").orElseThrow();
125- // DataLayoutMessage layout = dataSet.getDataLayoutMessage ();
126- // assertInstanceOf(DataLayoutMessage.ContiguousStorage.class, layout.getDataLayoutStorage());
127- // DataLayoutMessage.ContiguousStorage cont = (DataLayoutMessage.ContiguousStorage) layout.getDataLayoutStorage();
128- // assertTrue(cont.getAddress ().isUndefined());
129- // ExternalDataFilesMessage external = dataSet.getHeader ().getMessages ().stream()
130- // .filter(m -> m instanceof ExternalDataFilesMessage)
131- // .map(ExternalDataFilesMessage.class::cast)
132- // .findFirst().orElse(null);
133- // assertNotNull(external);
134- // assertEquals(1, external.getUsedSlots());
135- // List<ExternalDataFilesMessage.SlotDefinition> slots = external.getSlotDefinitions();
136- // assertEquals(1, slots.size());
137- // assertEquals(8, slots.get(0).getNameOffset ().getValue ());
138- // assertEquals(0, slots.get(0).getFileOffset ());
139- // assertTrue(slots.get(0).getDataSize ().isUndefined());
140- // }
141- // }
120+ @ Test
121+ void testExtern () throws Exception {
122+ try (SeekableByteChannel channel = ResourceLoader .loadResourceAsChannel ("h5ex_d/h5ex_d_extern.h5" )) {
123+ HdfFileReader reader = new HdfFileReader (channel ).readFile ();
124+ HdfDataset dataSet = reader .getDataset ("/DS1" ).orElseThrow ();
125+ DataLayoutMessage layout = dataSet .getObjectHeader (). findMessageByType ( DataLayoutMessage . class ). orElseThrow ();
126+ assertInstanceOf (DataLayoutMessage .ContiguousStorage .class , layout .getDataLayoutStorage ());
127+ DataLayoutMessage .ContiguousStorage cont = (DataLayoutMessage .ContiguousStorage ) layout .getDataLayoutStorage ();
128+ assertTrue (cont .getDataAddress ().isUndefined ());
129+ ExternalDataFilesMessage external = dataSet .getObjectHeader ().getHeaderMessages ().stream ()
130+ .filter (m -> m instanceof ExternalDataFilesMessage )
131+ .map (ExternalDataFilesMessage .class ::cast )
132+ .findFirst ().orElse (null );
133+ assertNotNull (external );
134+ assertEquals (1 , external .getUsedSlots ());
135+ List <ExternalDataFilesMessage .SlotDefinition > slots = external .getSlotDefinitions ();
136+ assertEquals (1 , slots .size ());
137+ assertEquals (8 , slots .get (0 ).nameOffset ().getInstance ( Long . class ). intValue ());
138+ assertEquals (0 , slots .get (0 ).fileOffset (). getInstance ( Long . class ). intValue ());
139+ assertTrue (slots .get (0 ).dataSize ().isUndefined ());
140+ }
141+ }
142142
143143 @ Test
144144 void testFillval () throws Exception {
0 commit comments