You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tika.apache.org by "Xiaohong Yang (Jira)" <ji...@apache.org> on 2026/07/28 18:08:00 UTC

[jira] [Created] (TIKA-4798) AutoDetectParser Gets Different Value for metadata dcterms:modified from msg File with Tika 3.2.3

Xiaohong Yang created TIKA-4798:
-----------------------------------

             Summary: AutoDetectParser Gets Different Value for metadata dcterms:modified from msg File with Tika 3.2.3
                 Key: TIKA-4798
                 URL: https://issues.apache.org/jira/browse/TIKA-4798
             Project: Tika
          Issue Type: Bug
          Components: detector
    Affects Versions: 3.2.3
            Reporter: Xiaohong Yang
         Attachments: Program_and_Sample_Files.zip

[^Program_and_Sample_Files.zip]

We use Tika to extract metadata from msg files.  We found out that  the value of metadata dcterms:modified with Tika 3.2.3 is different from that with Tika 2.9.0 for some msg files.

Following is the stand alone program that reproduces the problem with the attached sample files. The Java version is 21.

 

import org.apache.tika.config.TikaConfig;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.ParseContext;
import org.xml.sax.helpers.DefaultHandler;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;

public class TestAutoDetectParser {

    public static void main(String args[]) {
        try {
            System.{_}out{_}.println("Start");
            File inputFile = new File("C:\\Users\\xyang\\Data\\testdirs\\TC321926\\Sample1.msg");
            TikaConfig config = new TikaConfig("C:\\Users\\xyang\\Data\\testdirs\\TC321926\\tika-config.xml");
            ParseContext context = new ParseContext();
            context.set(TikaConfig.class, config);
            Metadata metadata = new Metadata();
            try (BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(inputFile))) {
                new AutoDetectParser(config).parse(inputStream, new DefaultHandler(), metadata, context);
            }
            for (String name : metadata.names()) {
                System.{_}out{_}.println(name + ": " + metadata.get(name));
            }
            System.{_}out{_}.println("End");
        }
        catch(Exception ex) {
            ex.printStackTrace();
        }
    }
}

 

The metadata with Tika 2.9.0 is:

dcterms:modified: 2018-08-03T19:13:22Z

 

And the metadata with Tika 3.2.3 is:

dcterms:modified: 2018-10-06T00:03:21Z

 

Wonder if it is an improvement in 3.2.3 or a bug.

 

Attached are 4 files:

TestAutoDetectParser.java   --- the standalone program

tika-config.xml  --- config file

Sample1.msg --- Sample file

Sample2.msg --- Sample file

Sample3.msg --- Sample file



--
This message was sent by Atlassian Jira
(v8.20.10#820010)