Tim Allison created TIKA-4816:
---------------------------------
Summary: Finish metadata key cleanups post TIKA-4807
Key: TIKA-4816
URL: https://issues.apache.org/jira/browse/TIKA-4816
Project: Tika
Issue Type: Task
Reporter: Tim Allison
- Property public factories throw on reserved tk:/X-TIKA: names; curated
constants mint via package-private reserved factories — a tk: Property can no
longer be forged
- Property registration: first-wins (putIfAbsent) + WARN on type mismatch,
replacing silent overwrite; new non-registering mint path for runtime keys (no
static-map growth in
servers)
- PassthroughPrefix → KeyPrefix: constructor validation
(reserved/empty/undelimited rejected, duplicate registration throws) + typed
factories (text/date/integer/real/bool/textBag)
minting unregistered Properties for document-derived key names
- New Metadata.putAll(Metadata) — provenance-preserving, multi-value-safe
copy; replaces manual copy loops
- setAll(Properties) removed (bypassed limiter + reserved-key guard)
- Last bare-String key constants promoted to Property (ClimateForcast,
CreativeCommons); dead TikaMimeKeys deleted; registry +18 keys; docs reconciled
- reconstruct contract pinned by tests, incl. the accepted /pipes
userMetadata stance; migration-guide entries for parser authors and integrators
- Fix: EMBEDDED_EXCEPTION no longer collapses to one value under an active
write limiter
- Not in this PR (follow-up): parser call-site migration to KeyPrefix,
forbiddenapis bans, and the reserved-key guard flip from silent-drop to throw
--
This message was sent by Atlassian Jira
(v8.20.10#820010)