@@ -87,98 +87,108 @@ static void finishAll()
8787 }
8888
8989 @ Test
90- void testStructuredRecursive () throws XmpParsingException , TransformerException , NoSuchAlgorithmException
90+ void testStructuredRecursive () throws XmpParsingException , TransformerException , NoSuchAlgorithmException , IOException
9191 {
92- InputStream fis = DomXmpParser .class .getResourceAsStream ("/org/apache/xmpbox/parser/structured_recursive.xml" );
93- XMPMetadata metadata = xdb .parse (fis );
94- checkTransform (metadata , "50429052370059903229869639943824137435756655804864824611365505219590816799783" );
92+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/org/apache/xmpbox/parser/structured_recursive.xml" ))
93+ {
94+ XMPMetadata metadata = xdb .parse (is );
95+ checkTransform (metadata , "50429052370059903229869639943824137435756655804864824611365505219590816799783" );
96+ }
9597 }
9698
9799 @ Test
98- void testEmptyLi () throws XmpParsingException , TransformerException , NoSuchAlgorithmException
100+ void testEmptyLi () throws XmpParsingException , TransformerException , NoSuchAlgorithmException , IOException
99101 {
100- InputStream fis = DomXmpParser .class .getResourceAsStream ("/org/apache/xmpbox/parser/empty_list.xml" );
101- XMPMetadata metadata = xdb .parse (fis );
102- checkTransform (metadata , "92757984740574362800045336947395134346147179161385043989715484359442690118913" );
102+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/org/apache/xmpbox/parser/empty_list.xml" ))
103+ {
104+ XMPMetadata metadata = xdb .parse (is );
105+ checkTransform (metadata , "92757984740574362800045336947395134346147179161385043989715484359442690118913" );
106+ }
103107 }
104108
105109 @ Test
106- void testEmptyLi2 () throws XmpParsingException , TransformerException , NoSuchAlgorithmException
110+ void testEmptyLi2 () throws XmpParsingException , TransformerException , NoSuchAlgorithmException , IOException
107111 {
108- InputStream fis = DomXmpParser .class .getResourceAsStream ("/validxmp/emptyli.xml" );
109- XMPMetadata metadata = xdb .parse (fis );
110- DublinCoreSchema dc = metadata .getDublinCoreSchema ();
111- dc .getCreatorsProperty ();
112- checkTransform (metadata , "84846877440303452108560435796840772468446174326989274262473618453524301429629" );
112+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/validxmp/emptyli.xml" ))
113+ {
114+ XMPMetadata metadata = xdb .parse (is );
115+ DublinCoreSchema dc = metadata .getDublinCoreSchema ();
116+ dc .getCreatorsProperty ();
117+ checkTransform (metadata , "84846877440303452108560435796840772468446174326989274262473618453524301429629" );
118+ }
113119 }
114120
115121 @ Test
116- void testGetTitle () throws XmpParsingException , BadFieldValueException
122+ void testGetTitle () throws XmpParsingException , BadFieldValueException , IOException
117123 {
118- InputStream fis = DomXmpParser .class .getResourceAsStream ("/validxmp/emptyli.xml" );
119- XMPMetadata metadata = xdb .parse (fis );
120- DublinCoreSchema dc = metadata .getDublinCoreSchema ();
121- String s = dc .getTitle (null );
122- assertEquals ("title value" , s );
124+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/validxmp/emptyli.xml" ))
125+ {
126+ XMPMetadata metadata = xdb .parse (is );
127+ DublinCoreSchema dc = metadata .getDublinCoreSchema ();
128+ String s = dc .getTitle (null );
129+ assertEquals ("title value" , s );
130+ }
123131 }
124132
125133 @ Test
126- void testAltBagSeq () throws XmpParsingException , TransformerException , NoSuchAlgorithmException
134+ void testAltBagSeq () throws XmpParsingException , TransformerException , NoSuchAlgorithmException , IOException
127135 {
128- InputStream fis = DomXmpParser .class .getResourceAsStream ("/org/apache/xmpbox/parser/AltBagSeqTest.xml" );
129- XMPMetadata metadata =xdb .parse (fis );
130- checkTransform (metadata , "16805992283807186369849610414335227396239089071611806706387795179375897398118" );
136+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/org/apache/xmpbox/parser/AltBagSeqTest.xml" ))
137+ {
138+ XMPMetadata metadata = xdb .parse (is );
139+ checkTransform (metadata , "16805992283807186369849610414335227396239089071611806706387795179375897398118" );
140+ }
131141 }
132142
133143 @ Test
134144 void testIsartorStyleWithThumbs ()
135- throws XmpParsingException , IOException , BadFieldValueException , TransformerException , NoSuchAlgorithmException
145+ throws XmpParsingException , BadFieldValueException , TransformerException , NoSuchAlgorithmException , IOException
136146 {
137- InputStream fis = DomXmpParser .class .getResourceAsStream ("/org/apache/xmpbox/parser/ThumbisartorStyle.xml" );
138-
139- XMPMetadata metadata = xdb .parse (fis );
140-
141- // <xmpMM:DocumentID>
142- assertEquals ("uuid:09C78666-2F91-3A9C-92AF-3691A6D594F7" , metadata .getXMPMediaManagementSchema ()
143- .getDocumentID ());
144-
145- // <xmp:CreateDate>
146- // <xmp:ModifyDate>
147- // <xmp:MetadataDate>
148- assertEquals (DateConverter .toCalendar ("2008-01-18T16:59:54+01:00" ), metadata .getXMPBasicSchema ()
149- .getCreateDate ());
150- assertEquals (DateConverter .toCalendar ("2008-01-18T16:59:54+01:00" ), metadata .getXMPBasicSchema ()
151- .getModifyDate ());
152- assertEquals (DateConverter .toCalendar ("2008-01-18T16:59:54+01:00" ), metadata .getXMPBasicSchema ()
153- .getMetadataDate ());
154-
155- // THUMBNAILS TEST
156- List <ThumbnailType > thumbs = metadata .getXMPBasicSchema ().getThumbnailsProperty ();
157- assertNotNull (thumbs );
158- assertEquals (2 , thumbs .size ());
159-
160- ThumbnailType thumb = thumbs .get (0 );
161- assertEquals (Integer .valueOf (162 ), thumb .getHeight ());
162- assertEquals (Integer .valueOf (216 ), thumb .getWidth ());
163- assertEquals ("JPEG" , thumb .getFormat ());
164- assertEquals ("/9j/4AAQSkZJRgABAgEASABIAAD" , thumb .getImage ());
165-
166- thumb = thumbs .get (1 );
167- assertEquals (Integer .valueOf (162 ), thumb .getHeight ());
168- assertEquals (Integer .valueOf (216 ), thumb .getWidth ());
169- assertEquals ("JPEG" , thumb .getFormat ());
170- assertEquals ("/9j/4AAQSkZJRgABAgEASABIAAD" , thumb .getImage ());
171-
172- checkTransform (metadata , "29120813843205587378639665706339183422557956085575883885304382528664692315203" );
147+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/org/apache/xmpbox/parser/ThumbisartorStyle.xml" ))
148+ {
149+ XMPMetadata metadata = xdb .parse (is );
150+
151+ // <xmpMM:DocumentID>
152+ assertEquals ("uuid:09C78666-2F91-3A9C-92AF-3691A6D594F7" , metadata .getXMPMediaManagementSchema ()
153+ .getDocumentID ());
154+
155+ // <xmp:CreateDate>
156+ // <xmp:ModifyDate>
157+ // <xmp:MetadataDate>
158+ assertEquals (DateConverter .toCalendar ("2008-01-18T16:59:54+01:00" ), metadata .getXMPBasicSchema ()
159+ .getCreateDate ());
160+ assertEquals (DateConverter .toCalendar ("2008-01-18T16:59:54+01:00" ), metadata .getXMPBasicSchema ()
161+ .getModifyDate ());
162+ assertEquals (DateConverter .toCalendar ("2008-01-18T16:59:54+01:00" ), metadata .getXMPBasicSchema ()
163+ .getMetadataDate ());
164+
165+ // THUMBNAILS TEST
166+ List <ThumbnailType > thumbs = metadata .getXMPBasicSchema ().getThumbnailsProperty ();
167+ assertNotNull (thumbs );
168+ assertEquals (2 , thumbs .size ());
169+
170+ ThumbnailType thumb = thumbs .get (0 );
171+ assertEquals (Integer .valueOf (162 ), thumb .getHeight ());
172+ assertEquals (Integer .valueOf (216 ), thumb .getWidth ());
173+ assertEquals ("JPEG" , thumb .getFormat ());
174+ assertEquals ("/9j/4AAQSkZJRgABAgEASABIAAD" , thumb .getImage ());
175+
176+ thumb = thumbs .get (1 );
177+ assertEquals (Integer .valueOf (162 ), thumb .getHeight ());
178+ assertEquals (Integer .valueOf (216 ), thumb .getWidth ());
179+ assertEquals ("JPEG" , thumb .getFormat ());
180+ assertEquals ("/9j/4AAQSkZJRgABAgEASABIAAD" , thumb .getImage ());
181+
182+ checkTransform (metadata , "29120813843205587378639665706339183422557956085575883885304382528664692315203" );
183+ }
173184 }
174185
175186 @ Test
176- void testWithNoXPacketStart () throws XmpParsingException
187+ void testWithNoXPacketStart () throws IOException
177188 {
178- InputStream fis = DomXmpParser .class .getResourceAsStream ("/invalidxmp/noxpacket.xml" );
179- try
189+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/invalidxmp/noxpacket.xml" ))
180190 {
181- xdb .parse (fis );
191+ xdb .parse (is );
182192 fail ("Should fail during parse" );
183193 }
184194 catch (XmpParsingException e )
@@ -188,42 +198,42 @@ void testWithNoXPacketStart() throws XmpParsingException
188198 }
189199
190200 @ Test
191- void testWithNoXPacketEnd () throws XmpParsingException
201+ void testWithNoXPacketEnd () throws IOException
192202 {
193- InputStream fis = DomXmpParser .class .getResourceAsStream ("/invalidxmp/noxpacketend.xml" );
194- try
203+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/invalidxmp/noxpacketend.xml" ))
195204 {
196- xdb .parse (fis );
197- fail ("Should fail during parse" );
198- }
199- catch (XmpParsingException e )
200- {
201- assertEquals (ErrorType .XpacketBadEnd , e .getErrorType ());
205+ try
206+ {
207+ xdb .parse (is );
208+ fail ("Should fail during parse" );
209+ }
210+ catch (XmpParsingException e )
211+ {
212+ assertEquals (ErrorType .XpacketBadEnd , e .getErrorType ());
213+ }
202214 }
203215 }
204216
205217 @ Test
206- void testWithNoRDFElement () throws XmpParsingException
218+ void testWithNoRDFElement () throws XmpParsingException , IOException
207219 {
208- InputStream fis = DomXmpParser .class .getResourceAsStream ("/invalidxmp/noroot.xml" );
209- try
220+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/invalidxmp/noroot.xml" ))
210221 {
211- xdb .parse (fis );
222+ xdb .parse (is );
212223 fail ("Should fail during parse" );
213224 }
214- catch (XmpParsingException e )
225+ catch (XmpParsingException e )
215226 {
216227 assertEquals (ErrorType .Format , e .getErrorType ());
217228 }
218229 }
219230
220231 @ Test
221- void testWithTwoRDFElement () throws XmpParsingException
232+ void testWithTwoRDFElement () throws XmpParsingException , IOException
222233 {
223- InputStream fis = DomXmpParser .class .getResourceAsStream ("/invalidxmp/tworoot.xml" );
224- try
234+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/invalidxmp/tworoot.xml" ))
225235 {
226- xdb .parse (fis );
236+ xdb .parse (is );
227237 fail ("Should fail during parse" );
228238 }
229239 catch (XmpParsingException e )
@@ -233,12 +243,11 @@ void testWithTwoRDFElement() throws XmpParsingException
233243 }
234244
235245 @ Test
236- void testWithInvalidRDFElementPrefix ()
246+ void testWithInvalidRDFElementPrefix () throws IOException
237247 {
238- InputStream fis = DomXmpParser .class .getResourceAsStream ("/invalidxmp/invalidroot2.xml" );
239- try
248+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/invalidxmp/invalidroot2.xml" ))
240249 {
241- xdb .parse (fis );
250+ xdb .parse (is );
242251 fail ("Should fail during parse" );
243252 }
244253 catch (XmpParsingException e )
@@ -248,12 +257,11 @@ void testWithInvalidRDFElementPrefix()
248257 }
249258
250259 @ Test
251- void testWithRDFRootAsText ()
260+ void testWithRDFRootAsText () throws IOException
252261 {
253- InputStream fis = DomXmpParser .class .getResourceAsStream ("/invalidxmp/invalidroot.xml" );
254- try
262+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/invalidxmp/invalidroot.xml" ))
255263 {
256- xdb .parse (fis );
264+ xdb .parse (is );
257265 fail ("Should fail during parse" );
258266 }
259267 catch (XmpParsingException e )
@@ -263,12 +271,11 @@ void testWithRDFRootAsText()
263271 }
264272
265273 @ Test
266- void testUndefinedSchema ()
274+ void testUndefinedSchema () throws IOException
267275 {
268- InputStream fis = DomXmpParser .class .getResourceAsStream ("/invalidxmp/undefinedschema.xml" );
269- try
276+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/invalidxmp/undefinedschema.xml" ))
270277 {
271- xdb .parse (fis );
278+ xdb .parse (is );
272279 fail ("Should fail during parse" );
273280 }
274281 catch (XmpParsingException e )
@@ -278,12 +285,11 @@ void testUndefinedSchema()
278285 }
279286
280287 @ Test
281- void testUndefinedPropertyWithDefinedSchema ()
288+ void testUndefinedPropertyWithDefinedSchema () throws IOException
282289 {
283- InputStream fis = DomXmpParser .class .getResourceAsStream ("/invalidxmp/undefinedpropertyindefinedschema.xml" );
284- try
290+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/invalidxmp/undefinedpropertyindefinedschema.xml" ))
285291 {
286- xdb .parse (fis );
292+ xdb .parse (is );
287293 fail ("Should fail during parse" );
288294 }
289295 catch (XmpParsingException e )
@@ -293,12 +299,11 @@ void testUndefinedPropertyWithDefinedSchema()
293299 }
294300
295301 @ Test
296- void testUndefinedStructuredWithDefinedSchema ()
302+ void testUndefinedStructuredWithDefinedSchema () throws IOException
297303 {
298- InputStream fis = DomXmpParser .class .getResourceAsStream ("/invalidxmp/undefinedstructuredindefinedschema.xml" );
299- try
304+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/invalidxmp/undefinedstructuredindefinedschema.xml" ))
300305 {
301- xdb .parse (fis );
306+ xdb .parse (is );
302307 fail ("Should fail during parse" );
303308 }
304309 catch (XmpParsingException e )
@@ -308,48 +313,54 @@ void testUndefinedStructuredWithDefinedSchema()
308313 }
309314
310315 @ Test
311- void testRdfAboutFound () throws XmpParsingException
316+ void testRdfAboutFound () throws XmpParsingException , IOException
312317 {
313- InputStream fis = DomXmpParser .class .getResourceAsStream ("/validxmp/emptyli.xml" );
314- XMPMetadata metadata = xdb .parse (fis );
315- List <XMPSchema > schemas = metadata .getAllSchemas ();
316- for (XMPSchema xmpSchema : schemas )
318+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/validxmp/emptyli.xml" ))
317319 {
318- assertNotNull (xmpSchema .getAboutAttribute ());
320+ XMPMetadata metadata = xdb .parse (is );
321+ List <XMPSchema > schemas = metadata .getAllSchemas ();
322+ for (XMPSchema xmpSchema : schemas )
323+ {
324+ assertNotNull (xmpSchema .getAboutAttribute ());
325+ }
319326 }
320327 }
321328
322329 @ Test
323- void testWihtAttributesAsProperties () throws XmpParsingException , TransformerException , NoSuchAlgorithmException
330+ void testWihtAttributesAsProperties () throws XmpParsingException , TransformerException , NoSuchAlgorithmException , IOException
324331 {
325- InputStream fis = DomXmpParser .class .getResourceAsStream ("/validxmp/attr_as_props.xml" );
326- XMPMetadata metadata = xdb .parse (fis );
332+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/validxmp/attr_as_props.xml" ))
333+ {
334+ XMPMetadata metadata = xdb .parse (is );
327335
328- AdobePDFSchema pdf = metadata .getAdobePDFSchema ();
329- assertEquals ("GPL Ghostscript 8.64" , pdf .getProducer ());
336+ AdobePDFSchema pdf = metadata .getAdobePDFSchema ();
337+ assertEquals ("GPL Ghostscript 8.64" , pdf .getProducer ());
330338
331- DublinCoreSchema dc = metadata .getDublinCoreSchema ();
332- assertEquals ("application/pdf" , dc .getFormat ());
339+ DublinCoreSchema dc = metadata .getDublinCoreSchema ();
340+ assertEquals ("application/pdf" , dc .getFormat ());
333341
334- XMPBasicSchema basic = metadata .getXMPBasicSchema ();
335- assertNotNull (basic .getCreateDate ());
336-
337- checkTransform (metadata , "91466370449938102905842936306160100538543510664071400903097987792216034311743" );
342+ XMPBasicSchema basic = metadata .getXMPBasicSchema ();
343+ assertNotNull (basic .getCreateDate ());
344+
345+ checkTransform (metadata , "91466370449938102905842936306160100538543510664071400903097987792216034311743" );
346+ }
338347 }
339348
340349 @ Test
341- void testSpaceTextValues () throws XmpParsingException , TransformerException , NoSuchAlgorithmException
350+ void testSpaceTextValues () throws XmpParsingException , TransformerException , NoSuchAlgorithmException , IOException
342351 {
343352 // check values with spaces at start or end
344353 // in this case, the value should not be trimmed
345- InputStream is = DomXmpParser .class .getResourceAsStream ("/validxmp/only_space_fields.xmp" );
346- XMPMetadata metadata = xdb .parse (is );
347- // check producer
348- assertEquals (" " , metadata .getAdobePDFSchema ().getProducer ());
349- // check creator tool
350- assertEquals ("Canon " ,metadata .getXMPBasicSchema ().getCreatorTool ());
351-
352- checkTransform (metadata , "65475542891943378255730260794798768587695617138297196920293698476028940113080" );
354+ try (InputStream is = DomXmpParser .class .getResourceAsStream ("/validxmp/only_space_fields.xmp" ))
355+ {
356+ XMPMetadata metadata = xdb .parse (is );
357+ // check producer
358+ assertEquals (" " , metadata .getAdobePDFSchema ().getProducer ());
359+ // check creator tool
360+ assertEquals ("Canon " , metadata .getXMPBasicSchema ().getCreatorTool ());
361+
362+ checkTransform (metadata , "65475542891943378255730260794798768587695617138297196920293698476028940113080" );
363+ }
353364 }
354365
355366 @ Test
0 commit comments