Skip to content

Commit 522e6ef

Browse files
committed
TIKA-4551: support xmpMM:InstanceID
1 parent 715447b commit 522e6ef

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xmp-commons/src/main/java/org/apache/tika/parser/xmp/JempboxExtractor.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,10 @@ public static void extractXMPMM(XMPMetadata xmp, Metadata metadata) {
131131
}
132132
if (mmSchema != null) {
133133
addMetadata(metadata, XMPMM.DOCUMENTID, mmSchema.getDocumentID());
134-
//not currently supported by JempBox...
135-
// metadata.set(XMPMM.INSTANCEID, mmSchema.getInstanceID());
134+
// not currently supported by JempBox...
135+
// but might be in 1.8.18 if ever released, see PDFBOX-6116
136+
// until then use workaround (won't work if non standard prefix is used)
137+
metadata.set(XMPMM.INSTANCEID, mmSchema.getTextProperty("xmpMM:InstanceID" ));
136138

137139
ResourceRef derivedFrom = mmSchema.getDerivedFrom();
138140
if (derivedFrom != null) {

tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xmp-commons/src/test/java/org/apache/tika/parser/xmp/JempboxExtractorTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,4 +144,14 @@ public void testModifiedTZ() throws Exception {
144144
assertEquals("2014-03-04T22:50:41Z", m.get(XMPMM.HISTORY_WHEN));
145145
}
146146

147+
@Test
148+
public void testXMPMMMisc() throws Exception {
149+
Metadata m = new Metadata();
150+
JempboxExtractor ex = new JempboxExtractor(m);
151+
try (InputStream is = getResourceAsStream("/test-documents/testXMP.xmp")) {
152+
ex.parse(is);
153+
}
154+
assertEquals("uuid:cccee1fc-51b3-4b52-ac86-672af3974d25", m.getValues(XMPMM.DOCUMENTID)[0]);
155+
assertEquals("uuid:afa71b09-7cc5-48ac-8664-ac6dcf8b5ab4", m.getValues(XMPMM.INSTANCEID)[0]);
156+
}
147157
}

0 commit comments

Comments
 (0)