This is an automated email from the ASF dual-hosted git repository.
tballison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git
The following commit(s) were added to refs/heads/main by this push:
new b2f69ccda8 Fix merge problem (#2985)
b2f69ccda8 is described below
commit b2f69ccda8e9aa88786f417a728bf74f9b8bedb6
Author: Tim Allison <[email protected]>
AuthorDate: Thu Jul 30 16:21:52 2026 -0400
Fix merge problem (#2985)
---
.../metadata/filter/LegacyKeyMigrationFilter.java | 2 +-
.../filter/LegacyKeyMigrationFilterTest.java | 26 ++++++++--------------
2 files changed, 10 insertions(+), 18 deletions(-)
diff --git
a/tika-core/src/main/java/org/apache/tika/metadata/filter/LegacyKeyMigrationFilter.java
b/tika-core/src/main/java/org/apache/tika/metadata/filter/LegacyKeyMigrationFilter.java
index 02d38f7ce8..88d06a7e1d 100644
---
a/tika-core/src/main/java/org/apache/tika/metadata/filter/LegacyKeyMigrationFilter.java
+++
b/tika-core/src/main/java/org/apache/tika/metadata/filter/LegacyKeyMigrationFilter.java
@@ -137,7 +137,7 @@ public class LegacyKeyMigrationFilter extends
MetadataFilterBase {
String[] values = metadata.getValues(name);
metadata.remove(name);
for (String v : values) {
- metadata.add(mapped, v); // trusted context:
reserved keys allowed
+ metadata.addTrusted(mapped, v); // targets may be
reserved (tk:/X-TIKA:)
}
}
// unmapped -> pass through unchanged
diff --git
a/tika-core/src/test/java/org/apache/tika/metadata/filter/LegacyKeyMigrationFilterTest.java
b/tika-core/src/test/java/org/apache/tika/metadata/filter/LegacyKeyMigrationFilterTest.java
index d1ca09c3d8..a97e3b3a9f 100644
---
a/tika-core/src/test/java/org/apache/tika/metadata/filter/LegacyKeyMigrationFilterTest.java
+++
b/tika-core/src/test/java/org/apache/tika/metadata/filter/LegacyKeyMigrationFilterTest.java
@@ -34,7 +34,7 @@ public class LegacyKeyMigrationFilterTest {
private static List<Metadata> apply(LegacyKeyMigrationFilter f, Metadata
m) throws Exception {
List<Metadata> list = new ArrayList<>();
list.add(m);
- f.filter(list); // public entry sets the trusted bracket
+ f.filter(list);
return list;
}
@@ -59,11 +59,9 @@ public class LegacyKeyMigrationFilterTest {
var f = new LegacyKeyMigrationFilter(
Map.of("X-TIKA:Parsed-By", "tk:parsed-by"),
Direction.V4_TO_V3);
Metadata m = new Metadata();
- // Post-4.0 tk: is reserved too, so seed it the trusted way a parse
would (a raw String set
- // to a reserved key is dropped by the guard); the point of the test
is the X-TIKA: target.
- m.setTrusted(true);
- m.set("tk:parsed-by", "org.apache.tika.parser.DefaultParser");
- m.setTrusted(false);
+ // Post-4.0 tk: is reserved too, so seed it with a trusted write (a
plain String set to a
+ // reserved key is dropped by the guard); the point of the test is the
X-TIKA: target.
+ m.setTrusted("tk:parsed-by", "org.apache.tika.parser.DefaultParser");
apply(f, m);
assertEquals("org.apache.tika.parser.DefaultParser",
m.get("X-TIKA:Parsed-By"));
assertNull(m.get("tk:parsed-by"));
@@ -107,9 +105,7 @@ public class LegacyKeyMigrationFilterTest {
// default ctor loads the committed metadata-migration-3x-4x.json;
egress (V4_TO_V3).
LegacyKeyMigrationFilter f = new LegacyKeyMigrationFilter();
Metadata m = new Metadata();
- m.setTrusted(true);
- m.set("tk:content", "hello"); // reserved 4.x key ->
X-TIKA:content
- m.setTrusted(false);
+ m.setTrusted("tk:content", "hello"); // reserved 4.x key ->
X-TIKA:content
m.set("message:from-email", "[email protected]"); // non-reserved 4.x key
-> Message:From-Email
apply(f, m);
assertEquals("hello", m.get("X-TIKA:content"));
@@ -122,11 +118,9 @@ public class LegacyKeyMigrationFilterTest {
// digest keys have no declaring field, so not in the flat table ->
handled by the prefix rule.
var f = new LegacyKeyMigrationFilter(Map.of(), Direction.V4_TO_V3);
Metadata m = new Metadata();
- m.setTrusted(true);
- m.set("tk:digest:SHA-256", "abc");
- m.set("tk:digest:SHA-256:BASE32", "def"); // encoding suffix
preserved
- m.set("tk:digest:MD5", "ghi"); // MD5 unchanged between
3.x/4.x
- m.setTrusted(false);
+ m.setTrusted("tk:digest:SHA-256", "abc");
+ m.setTrusted("tk:digest:SHA-256:BASE32", "def"); // encoding suffix
preserved
+ m.setTrusted("tk:digest:MD5", "ghi"); // MD5 unchanged
between 3.x/4.x
apply(f, m);
assertEquals("abc", m.get("X-TIKA:digest:SHA256"));
assertEquals("def", m.get("X-TIKA:digest:SHA256:BASE32"));
@@ -138,9 +132,7 @@ public class LegacyKeyMigrationFilterTest {
public void digestPrefixRuleIngest() throws Exception {
var f = new LegacyKeyMigrationFilter(Map.of(), Direction.V3_TO_V4);
Metadata m = new Metadata();
- m.setTrusted(true);
- m.set("X-TIKA:digest:SHA3_512", "z");
- m.setTrusted(false);
+ m.setTrusted("X-TIKA:digest:SHA3_512", "z");
apply(f, m);
assertEquals("z", m.get("tk:digest:SHA3-512"));
assertNull(m.get("X-TIKA:digest:SHA3_512"));