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
commit 7d6fe60962a93a4f91b4d0bc42cff527f44dd8e1 Merge: 9c29b46168 afcec06372 Author: Tim Allison <[email protected]> AuthorDate: Thu Aug 13 16:38:55 2026 -0400 TIKA-4816 metadata key api .skills/metadata-schema/SKILL.md | 8 +- CHANGES.txt | 28 + .../advanced/integration-testing/tika-server.adoc | 4 +- docs/modules/ROOT/pages/developers/index.adoc | 2 +- .../ROOT/pages/developers/metadata-keys.adoc | 43 +- .../ROOT/pages/developers/serialization.adoc | 19 +- .../pages/migration-to-4x/metadata-changes-4x.adoc | 226 +++- .../pages/migration-to-4x/migrating-to-4x.adoc | 31 +- .../src/main/java/org/apache/tika/gui/TikaGUI.java | 3 +- .../test/java/org/apache/tika/cli/TikaCLITest.java | 8 +- tika-bundles/tika-bundle-standard/pom.xml | 2 +- .../org/apache/tika/config/EmbeddedLimits.java | 4 +- .../java/org/apache/tika/config/OutputLimits.java | 2 +- .../tika/detect/MetadataCharsetDetector.java | 15 +- .../java/org/apache/tika/detect/TypeDetector.java | 3 +- .../apache/tika/digest/InputStreamDigester.java | 21 +- .../tika/extractor/EmbeddedDocumentUtil.java | 5 +- .../java/org/apache/tika/io/CachingSource.java | 5 +- .../java/org/apache/tika/io/FilenameUtils.java | 5 +- .../java/org/apache/tika/io/TikaInputStream.java | 17 +- .../main/java/org/apache/tika/metadata/Audio.java | 39 + .../org/apache/tika/metadata/ClimateForcast.java | 55 - .../org/apache/tika/metadata/ClimateForecast.java | 63 + .../main/java/org/apache/tika/metadata/DWG.java | 4 +- .../main/java/org/apache/tika/metadata/Epub.java | 2 +- .../main/java/org/apache/tika/metadata/HTML.java | 2 +- .../metadata/{CreativeCommons.java => IDML.java} | 20 +- .../main/java/org/apache/tika/metadata/IPTC.java | 91 +- .../java/org/apache/tika/metadata/ISO19115.java | 122 ++ .../java/org/apache/tika/metadata/KeyPrefix.java | 182 +++ .../main/java/org/apache/tika/metadata/MAPI.java | 4 +- .../apache/tika/metadata/{Epub.java => MIF.java} | 24 +- .../org/apache/tika/metadata/MachineMetadata.java | 8 +- .../java/org/apache/tika/metadata/Message.java | 2 +- .../java/org/apache/tika/metadata/Metadata.java | 330 ++++- .../main/java/org/apache/tika/metadata/Office.java | 2 +- .../apache/tika/metadata/OfficeOpenXMLCore.java | 7 - .../tika/metadata/OfficeOpenXMLExtended.java | 2 +- .../java/org/apache/tika/metadata/OneNote.java | 63 + .../main/java/org/apache/tika/metadata/PDF.java | 7 +- .../apache/tika/metadata/PassthroughPrefix.java | 79 -- .../java/org/apache/tika/metadata/Photoshop.java | 2 +- .../java/org/apache/tika/metadata/Property.java | 227 +++- .../java/org/apache/tika/metadata/RTFMetadata.java | 2 +- .../java/org/apache/tika/metadata/Rendering.java | 18 +- .../apache/tika/metadata/ReservedNamespaces.java | 10 +- .../main/java/org/apache/tika/metadata/TIFF.java | 4 +- .../apache/tika/metadata/TikaCoreProperties.java | 154 ++- .../org/apache/tika/metadata/TikaMimeKeys.java | 28 - .../org/apache/tika/metadata/TikaPagedText.java | 6 +- .../main/java/org/apache/tika/metadata/XMPDM.java | 84 +- .../main/java/org/apache/tika/metadata/XMPMM.java | 2 +- .../main/java/org/apache/tika/metadata/Zip.java | 2 +- .../metadata/filter/LegacyKeyMigrationFilter.java | 175 ++- .../filter/RemoveByMimeMetadataFilter.java | 3 +- .../MetadataWriteLimiter.java | 2 +- .../MetadataWriteLimiterFactory.java | 4 +- .../StandardMetadataLimiter.java | 56 +- .../StandardMetadataLimiterFactory.java | 2 +- .../main/java/org/apache/tika/mime/MimeTypes.java | 3 +- .../mime/ProbabilisticMimeDetectionSelector.java | 3 +- .../org/apache/tika/parser/AutoDetectParser.java | 3 +- .../org/apache/tika/parser/CompositeParser.java | 3 +- .../java/org/apache/tika/parser/NetworkParser.java | 40 +- .../java/org/apache/tika/parser/ParseContext.java | 2 +- .../apache/tika/parser/RecursiveParserWrapper.java | 3 +- .../parser/multiple/AbstractMultipleParser.java | 3 +- .../org/apache/tika/sax/DIFContentHandler.java | 150 -- .../tika/sax/RecursiveParserWrapperHandler.java | 2 - .../org/apache/tika/sax/XHTMLContentHandler.java | 3 +- .../java/org/apache/tika/utils/ParserUtils.java | 18 +- .../tika/metadata/metadata-migration-3x-4x.json | 115 +- .../tika/detect/MetadataCharsetDetectorTest.java | 13 +- .../org/apache/tika/detect/TypeDetectorTest.java | 3 +- .../EmbeddedDocumentUtilExtensionTest.java | 9 +- ...arsingEmbeddedDocumentExtractorTimeoutTest.java | 3 +- .../java/org/apache/tika/io/FilenameUtilsTest.java | 3 +- .../org/apache/tika/io/TikaInputStreamTest.java | 11 +- .../org/apache/tika/metadata/KeyPrefixTest.java | 126 ++ .../metadata/MetadataInternalKeyGuardTest.java | 96 +- .../tika/metadata/MetadataKeyPrefixRouteTest.java | 130 ++ .../apache/tika/metadata/MetadataPutAllTest.java | 141 ++ .../tika/metadata/MetadataTypedAccessorsTest.java | 117 ++ .../tika/metadata/PropertyReservedNameTest.java | 161 +++ .../org/apache/tika/metadata/PropertyTest.java | 113 ++ .../org/apache/tika/metadata/TestMetadata.java | 61 +- .../filter/LegacyKeyMigrationFilterTest.java | 131 ++ .../org/apache/tika/mime/MimeDetectionTest.java | 3 +- .../tika/mime/ProbabilisticMimeDetectionTest.java | 5 +- .../ProbabilisticMimeDetectionTestWithTika.java | 3 +- .../apache/tika/parser/CompositeParserTest.java | 13 +- .../org/apache/tika/parser/NetworkParserTest.java | 135 ++ .../org/apache/tika/parser/mock/MockParser.java | 3 +- .../tika/parser/multiple/MultipleParserTest.java | 5 +- .../tika/detect/magika/TestMagikaIntegration.java | 3 +- .../html/StandardHtmlEncodingDetectorTest.java | 5 +- .../tika/detect/icu4j/Icu4jEncodingDetector.java | 5 +- .../ml/chardetect/MojibusterEncodingDetector.java | 3 +- .../universal/UniversalEncodingListener.java | 5 +- .../org/apache/tika/eval/app/ProfilerBase.java | 16 +- .../org/apache/tika/eval/app/io/ExtractReader.java | 15 +- .../apache/tika/eval/app/io/ExtractReaderTest.java | 3 +- .../src/test/resources/extracts/TIKA-4446-a.json | 2 +- .../src/test/resources/extracts/TIKA-4446-b.json | 2 +- .../resources/test-dirs/extractsA/file15_tags.json | 2 +- .../test-dirs/extractsA/file16_badTags.json | 2 +- .../test-dirs/extractsA/file17_tagsOutOfOrder.json | 2 +- .../test/resources/test-dirs/raw_input/file15_tags | 2 +- .../resources/test-dirs/raw_input/file16_badTags | 2 +- .../test-dirs/raw_input/file17_tagsOutOfOrder | 2 +- .../org/apache/tika/example/ImportContextImpl.java | 3 +- .../tika/example/MetadataAwareLuceneIndexer.java | 2 +- .../java/org/apache/tika/example/MyFirstTika.java | 3 +- .../tika/example/PipesForkParserExample.java | 11 +- .../org/apache/tika/example/TIAParsingExample.java | 3 +- tika-metadata-schema/README.md | 27 +- tika-metadata-schema/pom.xml | 35 + tika-metadata-schema/regen.sh | 8 +- .../tika/metadata/schema/MetadataKeyValidator.java | 81 +- .../metadata/schema/MigrationTableGenerator.java | 95 +- .../tika/metadata/schema/SchemaGenerator.java | 140 +- .../apache/tika/metadata/metadata-key-fields.json | 139 +- .../org/apache/tika/metadata/metadata-keys.json | 1427 +++++++++++--------- .../tika/metadata/metadata-open-namespaces.json | 61 +- .../schema/MetadataChangesAdocDriftTest.java | 122 ++ .../tika/metadata/schema/MetadataCoverageTest.java | 16 +- .../metadata/schema/MetadataKeyValidatorTest.java | 10 + .../schema/MetadataMigrationTableTest.java | 4 +- .../metadata/schema/MetadataNoUnderscoreTest.java | 18 +- .../tika/metadata/schema/MetadataSchemaTest.java | 4 +- .../metadata/schema/MigrationCompletenessTest.java | 119 ++ .../org/apache/tika/metadata/migration-overlay.tsv | 223 ++- .../forbidden-apis-metadata-string-key-bans.txt | 32 + tika-parent/pom.xml | 15 + .../tika/parser/ocrencode/EncodeOCRParser.java | 5 +- .../tika-parser-scientific-module/pom.xml | 15 + .../tika/parser/climate/ClimateForecast.java | 64 + .../apache/tika/parser/envi/EnviHeaderParser.java | 19 +- .../org/apache/tika/parser/gdal/GDALParser.java | 64 +- .../geoinfo/GeographicInformationParser.java | 101 +- .../org/apache/tika/parser/grib/GribParser.java | 33 +- .../java/org/apache/tika/parser/hdf/HDFParser.java | 17 +- .../org/apache/tika/parser/isatab/ISATabUtils.java | 14 +- .../apache/tika/parser/isatab/ISArchiveParser.java | 9 +- .../apache/tika/parser/netcdf/NetCDFParser.java | 35 +- .../apache/tika/parser/gdal/TestGDALParser.java | 70 +- .../geoinfo/GeographicInformationParserTest.java | 12 +- .../org/apache/tika/parser/hdf/HDFParserTest.java | 8 +- .../tika/parser/isatab/ISArchiveParserTest.java | 15 +- .../tika/parser/netcdf/NetCDFParserTest.java | 13 +- .../tika/inference/OpenAIImageEmbeddingParser.java | 3 +- .../inference/OpenAIImageEmbeddingParserTest.java | 19 +- .../tika-parsers-ml/tika-parser-nlp-module/pom.xml | 15 + .../tika/parser/ctakes/CTAKESContentHandler.java | 10 +- .../apache/tika/parser/geo/topic/GeoParser.java | 31 +- .../tika/parser/journal/GrobidRESTParser.java | 21 +- .../apache/tika/parser/journal/TEIDOMParser.java | 41 +- .../apache/tika/parser/ner/NamedEntityParser.java | 18 +- .../tika/parser/geo/topic/GeoParserTest.java | 24 +- .../tika/parser/journal/JournalParserTest.java | 2 +- .../org/apache/tika/parser/journal/TEITest.java | 13 +- .../tika/parser/ner/NamedEntityParserTest.java | 12 +- .../tika/parser/ner/nltk/NLTKNERecogniserTest.java | 2 +- .../parser/ner/regex/RegexNERecogniserTest.java | 2 +- .../apache/tika/parser/vlm/AbstractVLMParser.java | 3 +- .../tika/parser/vlm/ClaudeVLMParserTest.java | 11 +- .../tika/parser/vlm/GeminiVLMParserTest.java | 11 +- .../tika/parser/vlm/OpenAIVLMParserTest.java | 15 +- .../tika/detect/TestContainerAwareDetector.java | 3 +- .../java/org/apache/tika/mime/OneOffMimeTest.java | 5 +- .../apache/tika/parser/AndroidBinaryXMLTest.java | 7 +- .../tika/parser/AutoDetectParserConfigTest.java | 3 +- .../apache/tika/parser/AutoDetectParserTest.java | 11 +- .../tika/parser/AutoDetectReaderParserTest.java | 3 +- .../apache/tika/parser/apple/PListParserTest.java | 3 +- .../tika/parser/crypto/Pkcs7EndToEndTest.java | 7 +- .../apache/tika/parser/crypto/TSDParserTest.java | 3 +- .../tika/parser/digest/DigestConfigTest.java | 5 +- .../parser/html/HtmlEncodingDetectionTest.java | 11 +- .../apache/tika/parser/html/HtmlParserTest.java | 5 +- .../apache/tika/parser/image/JpegParserTest.java | 5 +- .../apache/tika/parser/mail/MboxParserTest.java | 3 +- .../apache/tika/parser/mail/RFC822ParserTest.java | 10 +- .../tika/parser/microsoft/EMFParserTest.java | 7 +- .../tika/parser/microsoft/XML2003ParserTest.java | 3 +- .../microsoft/ooxml/OleObjectRegressionTest.java | 5 +- .../parser/microsoft/ooxml/TruncatedOOXMLTest.java | 5 +- .../tika/parser/microsoft/rtf/RTFParserTest.java | 3 +- .../tika/parser/ocr/TesseractOCRParserTest.java | 21 +- .../org/apache/tika/parser/odf/ODFParserTest.java | 21 +- .../org/apache/tika/parser/pdf/PDFParserTest.java | 16 +- .../org/apache/tika/parser/pkg/ArParserTest.java | 5 +- .../apache/tika/parser/pkg/Bzip2ParserTest.java | 3 +- .../apache/tika/parser/pkg/CompressParserTest.java | 3 +- .../tika/parser/pkg/CompressorParserTest.java | 5 +- .../org/apache/tika/parser/pkg/GzipParserTest.java | 5 +- .../org/apache/tika/parser/pkg/RarParserTest.java | 3 +- .../apache/tika/parser/pkg/Seven7ParserTest.java | 5 +- .../org/apache/tika/parser/pkg/TarParserTest.java | 3 +- .../org/apache/tika/parser/pkg/ZipParserTest.java | 3 +- .../org/apache/tika/parser/pkg/ZlibParserTest.java | 3 +- .../tika-parser-apple-module/pom.xml | 15 + .../org/apache/tika/parser/apple/PListParser.java | 5 +- .../tika/parser/iwork/IWorkPackageParser.java | 3 +- .../tika/parser/iwork/KeynoteContentHandler.java | 8 +- .../tika/parser/iwork/NumbersContentHandler.java | 14 +- .../tika/parser/iwork/PagesContentHandler.java | 36 +- .../parser/iwork/iwana/IWork13PackageParser.java | 13 +- .../parser/iwork/iwana/IWork18PackageParser.java | 3 +- .../apache/tika/parser/apple/PListParserTest.java | 3 +- .../apache/tika/parser/iwork/IWorkParserTest.java | 16 +- .../tika/parser/iwork/iwana/IWork13ParserTest.java | 15 +- .../tika-parser-audiovideo-module/pom.xml | 15 + .../org/apache/tika/parser/audio/AudioParser.java | 59 +- .../org/apache/tika/parser/audio/MidiParser.java | 25 +- .../java/org/apache/tika/parser/mp3/Mp3Parser.java | 15 +- .../java/org/apache/tika/parser/mp4/MP4Parser.java | 14 +- .../apache/tika/parser/mp4/TikaMp4BoxHandler.java | 7 +- .../tika/parser/mp4/boxes/TikaUserDataBox.java | 7 +- .../org/apache/tika/parser/ogg/FlacParser.java | 10 +- .../org/apache/tika/parser/ogg/OggAudioParser.java | 27 +- .../java/org/apache/tika/parser/ogg/OggParser.java | 12 +- .../org/apache/tika/parser/ogg/OpusParser.java | 6 +- .../org/apache/tika/parser/ogg/SpeexParser.java | 6 +- .../org/apache/tika/parser/ogg/TheoraParser.java | 5 +- .../org/apache/tika/parser/ogg/VorbisParser.java | 5 +- .../org/apache/tika/parser/video/FLVParser.java | 18 +- .../apache/tika/parser/audio/AudioParserTest.java | 57 +- .../apache/tika/parser/audio/MidiParserTest.java | 9 +- .../org/apache/tika/parser/mp3/Mp3ParserTest.java | 77 +- .../org/apache/tika/parser/mp4/MP4ParserTest.java | 41 +- .../org/apache/tika/parser/ogg/FlacParserTest.java | 9 +- .../apache/tika/parser/ogg/OggAudioParserTest.java | 3 +- .../apache/tika/parser/ogg/VorbisParserTest.java | 9 +- .../apache/tika/parser/video/FLVParserTest.java | 3 +- .../tika-parser-cad-module/pom.xml | 15 + .../java/org/apache/tika/parser/dwg/DWGParser.java | 19 +- .../org/apache/tika/parser/dwg/DWGReadParser.java | 4 +- .../java/org/apache/tika/parser/prt/PRTParser.java | 3 +- .../org/apache/tika/parser/dwg/DWGParserTest.java | 7 +- .../org/apache/tika/parser/prt/PRTParserTest.java | 5 +- .../apache/tika/parser/code/SourceCodeParser.java | 7 +- .../tika/parser/executable/ExecutableParser.java | 37 +- .../java/org/apache/tika/parser/mat/MatParser.java | 3 +- .../org/apache/tika/parser/sas/SAS7BDATParser.java | 2 +- .../tika/parser/code/SourceCodeParserTest.java | 3 +- .../parser/executable/ExecutableParserTest.java | 9 +- .../executable/UniversalExecutableParserTest.java | 5 +- .../apache/tika/parser/sas/SAS7BDATParserTest.java | 4 +- .../org/apache/tika/parser/crypto/Pkcs7Parser.java | 7 +- .../org/apache/tika/parser/crypto/TSDParser.java | 3 +- .../apache/tika/parser/crypto/Pkcs7ParserTest.java | 3 +- .../tika-parser-font-module/pom.xml | 15 + .../tika/parser/font/AdobeFontMetricParser.java | 6 +- .../apache/tika/parser/font/TrueTypeParser.java | 18 +- .../apache/tika/parser/font/FontParsersTest.java | 5 +- .../org/apache/tika/parser/html/HtmlHandler.java | 28 +- .../org/apache/tika/parser/html/JSoupParser.java | 7 +- .../apache/tika/parser/html/HtmlParserTest.java | 47 +- .../tika-parser-image-module/pom.xml | 15 + .../tika/parser/image/AbstractImageParser.java | 9 +- .../org/apache/tika/parser/image/ICNSParser.java | 12 +- .../tika/parser/image/ImageMetadataExtractor.java | 82 +- .../org/apache/tika/parser/image/ImageParser.java | 23 +- .../org/apache/tika/parser/image/HeicXmpTest.java | 5 +- .../apache/tika/parser/image/HeifParserTest.java | 7 +- .../apache/tika/parser/image/ICNSParserTest.java | 5 +- .../apache/tika/parser/image/ImageParserTest.java | 34 +- .../apache/tika/parser/image/JpegParserTest.java | 133 +- .../tika/parser/image/MotionPhotoXmpTest.java | 5 +- .../apache/tika/parser/image/PSDParserTest.java | 20 +- .../apache/tika/parser/image/WebPParserTest.java | 5 +- .../org/apache/tika/parser/image/WebPXmpTest.java | 5 +- .../apache/tika/parser/jdbc/JDBCTableReader.java | 5 +- .../tika-parser-mail-module/pom.xml | 15 + .../tika/parser/mail/MailContentHandler.java | 29 +- .../org/apache/tika/parser/mbox/MboxParser.java | 34 +- .../apache/tika/parser/mail/RFC822ParserTest.java | 67 +- .../apache/tika/parser/mbox/MboxParserTest.java | 28 +- .../tika-parser-microsoft-module/pom.xml | 15 + .../microsoft/PSTEmailStreamTranslator.java | 3 +- .../parser/microsoft/AbstractPOIFSExtractor.java | 15 +- .../apache/tika/parser/microsoft/EMFParser.java | 3 +- .../tika/parser/microsoft/JackcessExtractor.java | 9 +- .../tika/parser/microsoft/JackcessParser.java | 14 +- .../apache/tika/parser/microsoft/OfficeParser.java | 7 +- .../tika/parser/microsoft/OutlookExtractor.java | 12 +- .../tika/parser/microsoft/SummaryExtractor.java | 36 +- .../apache/tika/parser/microsoft/TNEFParser.java | 3 +- .../tika/parser/microsoft/chm/ChmParser.java | 3 +- .../microsoft/msg/ExtendedMetadataExtractor.java | 15 +- .../parser/microsoft/onenote/OneNoteParser.java | 44 +- .../onenote/fsshttpb/MSOneStorePackage.java | 11 +- .../microsoft/ooxml/AbstractOOXMLExtractor.java | 5 +- .../microsoft/ooxml/OOXMLExtractorFactory.java | 5 +- .../microsoft/ooxml/SAXBasedMetadataExtractor.java | 50 +- .../parser/microsoft/pst/OutlookPSTParser.java | 7 +- .../parser/microsoft/pst/PSTMailItemParser.java | 7 +- .../parser/microsoft/rtf/RTFEmbObjHandler.java | 8 +- .../parser/microsoft/rtf/RTFObjDataParser.java | 3 +- .../tika/parser/microsoft/rtf/RTFParser.java | 3 +- .../microsoft/rtf/jflex/RTFEmbeddedHandler.java | 8 +- .../rtf/jflex/RTFObjDataStreamParser.java | 3 +- .../parser/microsoft/xml/SpreadsheetMLParser.java | 3 +- .../tika/parser/microsoft/xml/WordMLParser.java | 3 +- .../tika/parser/microsoft/EMFParserTest.java | 3 +- .../tika/parser/microsoft/ExcelParserTest.java | 82 +- .../tika/parser/microsoft/OldExcelParserTest.java | 3 +- .../tika/parser/microsoft/OutlookParserTest.java | 15 +- .../microsoft/POIContainerExtractionTest.java | 7 +- .../parser/microsoft/PowerPointParserTest.java | 13 +- .../tika/parser/microsoft/ProjectParserTest.java | 3 +- .../tika/parser/microsoft/PublisherParserTest.java | 3 +- .../parser/microsoft/SolidworksParserTest.java | 13 +- .../tika/parser/microsoft/VisioParserTest.java | 3 +- .../tika/parser/microsoft/WMFParserTest.java | 3 +- .../tika/parser/microsoft/WordParserTest.java | 21 +- .../microsoft/activemime/ActiveMimeParserTest.java | 3 +- .../parser/microsoft/libpst/TestLibPstParser.java | 3 +- .../ooxml/OOXMLContainerExtractionTest.java | 3 +- .../parser/microsoft/ooxml/OOXMLDocxSAXTest.java | 21 +- .../parser/microsoft/ooxml/OOXMLParserTest.java | 25 +- .../parser/microsoft/ooxml/OOXMLPptxSAXTest.java | 25 +- .../parser/microsoft/ooxml/TruncatedOOXMLTest.java | 5 +- .../parser/microsoft/ooxml/VSDXParserTest.java | 3 +- .../parser/microsoft/ooxml/xps/XPSParserTest.java | 9 +- .../parser/microsoft/pst/OutlookPSTParserTest.java | 3 +- .../tika/parser/microsoft/rtf/RTFParserTest.java | 5 +- .../parser/microsoft/xml/XML2003ParserTest.java | 5 +- .../tika-parser-miscoffice-module/pom.xml | 15 + .../java/org/apache/tika/parser/dbf/DBFParser.java | 5 +- .../apache/tika/parser/dif/DIFContentHandler.java | 9 +- .../org/apache/tika/parser/epub/EpubParser.java | 5 +- .../apache/tika/parser/hwp/HwpTextExtractorV5.java | 3 +- .../org/apache/tika/parser/hwp/HwpV5Parser.java | 3 +- .../indesign/ContentAndMetadataExtractor.java | 22 +- .../apache/tika/parser/indesign/IDMLParser.java | 12 +- .../apache/tika/parser/mif/MIFContentHandler.java | 7 +- .../java/org/apache/tika/parser/mif/MIFParser.java | 5 +- .../tika/parser/odf/FlatOpenDocumentParser.java | 3 +- .../tika/parser/odf/OpenDocumentMetaParser.java | 17 +- .../apache/tika/parser/odf/OpenDocumentParser.java | 5 +- .../tika/parser/wordperfect/QuattroProParser.java | 5 +- .../tika/parser/wordperfect/WordPerfectParser.java | 13 +- .../org/apache/tika/parser/dbf/DBFParserTest.java | 11 +- .../org/apache/tika/parser/dif/DIFParserTest.java | 6 +- .../apache/tika/parser/epub/EpubParserTest.java | 5 +- .../apache/tika/parser/hwp/HwpV5ParserTest.java | 5 +- .../tika/parser/ibooks/iBooksParserTest.java | 4 +- .../tika/parser/indesign/IDMLParserTest.java | 8 +- .../org/apache/tika/parser/mif/MIFParserTest.java | 3 +- .../org/apache/tika/parser/odf/ODFParserTest.java | 19 +- .../tika/parser/wordperfect/QuattroProTest.java | 8 +- .../tika/parser/wordperfect/WordPerfectTest.java | 14 +- .../apache/tika/parser/iptc/IptcAnpaParser.java | 3 +- .../apache/tika/parser/ocr/TesseractOCRParser.java | 5 +- .../tika-parser-pdf-module/pom.xml | 15 + .../apache/tika/parser/pdf/AbstractPDF2XHTML.java | 14 +- .../java/org/apache/tika/parser/pdf/PDFParser.java | 28 +- .../tika/parser/pdf/PDMetadataExtractor.java | 53 +- .../org/apache/tika/parser/pdf/XFAExtractor.java | 21 +- .../tika/parser/pdf/image/ImageGraphicsEngine.java | 16 +- .../tika/renderer/pdf/pdfbox/PDFBoxRenderer.java | 12 +- .../org/apache/tika/parser/pdf/PDFParserTest.java | 32 +- .../tika/parser/pkg/AbstractArchiveParser.java | 3 +- .../apache/tika/parser/pkg/CompressorParser.java | 3 +- .../org/apache/tika/parser/pkg/PackageParser.java | 9 +- .../java/org/apache/tika/parser/pkg/RarParser.java | 3 +- .../org/apache/tika/parser/pkg/SevenZParser.java | 3 +- .../java/org/apache/tika/parser/pkg/ZipParser.java | 11 +- .../apache/tika/parser/pkg/AbstractPkgTest.java | 5 +- .../tika/parser/pkg/CompressorParserTest.java | 3 +- .../apache/tika/parser/csv/TextAndCSVParser.java | 19 +- .../tika/parser/markdown/MarkdownParser.java | 7 +- .../apache/tika/parser/strings/StringsParser.java | 3 +- .../java/org/apache/tika/parser/txt/TXTParser.java | 7 +- .../tika/parser/csv/TextAndCSVParserTest.java | 29 +- .../tika/parser/markdown/MarkdownParserTest.java | 9 +- .../org/apache/tika/parser/txt/TXTParserTest.java | 49 +- .../tika-parser-webarchive-module/pom.xml | 15 + .../org/apache/tika/parser/wacz/WACZParser.java | 3 +- .../org/apache/tika/parser/warc/WARCParser.java | 21 +- .../apache/tika/parser/http/HttpParserTest.java | 3 +- .../apache/tika/parser/wacz/WACZParserTest.java | 5 +- .../apache/tika/parser/warc/WARCParserTest.java | 11 +- .../tika-parser-xml-module/pom.xml | 15 + .../apache/tika/parser/tmx/TMXContentHandler.java | 26 +- .../java/org/apache/tika/parser/tmx/TMXParser.java | 3 +- .../tika/parser/xliff/XLIFF12ContentHandler.java | 14 +- .../apache/tika/parser/xliff/XLIFF12Parser.java | 3 +- .../tika/parser/xml/AbstractMetadataHandler.java | 33 +- .../xml/AttributeDependantMetadataHandler.java | 25 +- .../apache/tika/parser/xml/FictionBookParser.java | 3 +- .../apache/tika/parser/xml/MetadataHandler.java | 16 +- .../java/org/apache/tika/parser/xml/XMLParser.java | 5 +- .../apache/tika/parser/xml/DcXMLParserTest.java | 3 +- .../parser/xml/TextAndAttributeXMLParserTest.java | 3 +- .../org/apache/tika/parser/xmp/XmpExtractor.java | 6 +- .../core/extractor/FrictionlessUnpackHandler.java | 3 +- .../core/extractor/StandardUnpackSelector.java | 3 +- .../tika/pipes/core/extractor/UnpackExtractor.java | 3 +- .../apache/tika/pipes/core/server/EmitHandler.java | 3 +- .../tika/pipes/core/server/ParseHandler.java | 3 +- .../apache/tika/pipes/core/server/PipesServer.java | 2 +- .../apache/tika/pipes/core/server/PipesWorker.java | 2 +- .../pipes/core/server/SharedServerResources.java | 2 +- .../core/extractor/StandardUnpackSelectorTest.java | 3 +- .../UserMetadataReservedKeyStanceTest.java | 60 + .../core/server/EmitHandlerUserMetadataTest.java | 76 ++ .../tika/pipes/fork/PipesForkParserTest.java | 5 +- .../pipes/core/DigestingOpenContainersTest.java | 3 +- .../apache/tika/pipes/core/PassbackFilterTest.java | 9 +- .../apache/tika/pipes/core/PipesClientTest.java | 3 +- .../pipes/core/async/AsyncChaosMonkeyTest.java | 3 +- .../tika/pipes/emitter/azblob/AZBlobEmitter.java | 5 +- .../tika-pipes-plugins/tika-pipes-csv/pom.xml | 1 + .../tika/pipes/iterator/csv/CSVPipesIterator.java | 14 +- .../pipes/iterator/csv/TestCSVPipesIterator.java | 20 + .../src/test/resources/test-reserved-header.csv | 2 + .../tika/pipes/reporter/es/ESReporterConfig.java | 12 +- .../apache/tika/pipes/es/ConfigExamplesTest.java | 18 + .../pipes/iterator/jdbc/JDBCPipesIterator.java | 13 +- .../pipes/iterator/jdbc/TestJDBCPipesIterator.java | 25 +- .../apache/tika/pipes/fetcher/s3/S3Fetcher.java | 3 +- .../tika/config/loader/ComponentInstantiator.java | 5 + .../tika/serialization/ComponentNameResolver.java | 2 +- .../tika/serialization/ParseContextUtils.java | 22 +- .../java/org/apache/tika/config/AllLimitsTest.java | 2 +- .../apache/tika/config/loader/TikaLoaderTest.java | 17 +- .../tika/metadata/filter/TestMetadataFilter.java | 69 +- .../StandardMetadataLimiterTest.java | 96 +- .../TIKA-4816-legacy-key-migration-default.json | 5 + .../configs/TIKA-4816-legacy-key-migration.json | 5 + .../server/core/resource/DetectorResource.java | 2 +- .../tika/server/core/resource/TikaResource.java | 6 +- .../server/core/RecursiveMetadataResourceTest.java | 3 +- .../org/apache/tika/server/core/TikaPipesTest.java | 5 +- .../apache/tika/server/core/TikaResourceTest.java | 9 +- .../standard/RecursiveMetadataFilterTest.java | 5 +- .../main/java/org/apache/tika/xmp/XMPMetadata.java | 6 +- .../org/apache/tika/xmp/convert/TikaToXMP.java | 3 +- .../java/org/apache/tika/xmp/TikaToXMPTest.java | 5 +- 442 files changed, 7630 insertions(+), 3256 deletions(-)
