1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.imaging.formats.jpeg.iptc;
19
20 import org.apache.commons.imaging.Imaging;
21 import org.apache.commons.imaging.formats.jpeg.JpegImageMetadata;
22 import org.apache.commons.imaging.formats.jpeg.JpegPhotoshopMetadata;
23 import org.apache.commons.imaging.internal.Debug;
24 import org.junit.jupiter.params.ParameterizedTest;
25 import org.junit.jupiter.params.provider.MethodSource;
26
27 import java.io.File;
28 import java.util.List;
29 import java.util.stream.Stream;
30
31 import static org.junit.jupiter.api.Assertions.assertNotNull;
32
33 public class IptcDumpTest extends IptcBaseTest {
34
35 public static Stream<File> data() throws Exception {
36 return getImagesWithIptcData().stream();
37 }
38
39 @ParameterizedTest
40 @MethodSource("data")
41 public void test(final File imageFile) throws Exception {
42 final JpegImageMetadata metadata = (JpegImageMetadata) Imaging.getMetadata(imageFile);
43 assertNotNull(metadata);
44 assertNotNull(metadata.getPhotoshop());
45
46 metadata.getPhotoshop().dump();
47
48 final JpegPhotoshopMetadata psMetadata = metadata.getPhotoshop();
49 final List<IptcRecord> oldRecords = psMetadata.photoshopApp13Data.getRecords();
50
51 Debug.debug();
52 for (final IptcRecord record : oldRecords) {
53 if (record.iptcType != IptcTypes.CITY) {
54 Debug.debug("Key: " + record.iptcType.getName() + " (0x"
55 + Integer.toHexString(record.iptcType.getType())
56 + "), value: " + record.getValue());
57 }
58 }
59 Debug.debug();
60 }
61
62 }