This is an automated email from the ASF dual-hosted git repository. tallison 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 9d45b69da TIKA-4223 -- add detection of stl (#1691) 9d45b69da is described below commit 9d45b69dab2016342e44ee2b8bf5ed508676b38b Author: Tim Allison <talli...@apache.org> AuthorDate: Tue Mar 26 08:28:50 2024 -0400 TIKA-4223 -- add detection of stl (#1691) * TIKA-4223 -- add detection for binary and text based stl --- .../resources/org/apache/tika/mime/tika-mimetypes.xml | 17 +++++++++++++++-- .../test/java/org/apache/tika/TikaDetectionTest.java | 2 +- .../test/java/org/apache/tika/mime/TestMimeTypes.java | 6 ++++++ .../test/resources/test-documents/testSTL-ascii.stl | 16 ++++++++++++++++ .../test/resources/test-documents/testSTL-binary.stl | Bin 0 -> 160 bytes 5 files changed, 38 insertions(+), 3 deletions(-) diff --git a/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml b/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml index 8368b7b68..a1e9de0fd 100644 --- a/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml +++ b/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml @@ -2075,7 +2075,10 @@ <glob pattern="*.cat"/> </mime-type> <mime-type type="application/vnd.ms-pki.stl"> - <glob pattern="*.stl"/> + <!-- on TIKA-4223, we moved this glob to model/x.stl-binary. + We think this pki.stl is a subtype of pkcs7-signature?! + --> + <!--<glob pattern="*.stl"/> --> </mime-type> <mime-type type="application/vnd.ms-playready.initiator+xml"/> @@ -7147,7 +7150,17 @@ <glob pattern="*.mesh"/> <glob pattern="*.silo"/> </mime-type> - + <mime-type type="model/x.stl-ascii"> + <magic priority="60"> + <match value="solid " offset="0" type="string"> + <match value="facet " offset="7:256" type="string"/> + </match> + </magic> + </mime-type> + <mime-type type="model/x.stl-binary"> + <_comment>no magic available</_comment> + <glob pattern="*.stl"/> + </mime-type> <mime-type type="model/vnd.dwf"> <acronym>DWF</acronym> <_comment>AutoCAD Design Web Format</_comment> diff --git a/tika-core/src/test/java/org/apache/tika/TikaDetectionTest.java b/tika-core/src/test/java/org/apache/tika/TikaDetectionTest.java index 215865886..f52482c8d 100644 --- a/tika-core/src/test/java/org/apache/tika/TikaDetectionTest.java +++ b/tika-core/src/test/java/org/apache/tika/TikaDetectionTest.java @@ -355,7 +355,7 @@ public class TikaDetectionTest { assertEquals("application/vnd.ms-ims", tika.detect("x.ims")); assertEquals("application/vnd.ms-lrm", tika.detect("x.lrm")); assertEquals("application/vnd.ms-pki.seccat", tika.detect("x.cat")); - assertEquals("application/vnd.ms-pki.stl", tika.detect("x.stl")); + assertEquals("model/x.stl-binary", tika.detect("x.stl")); assertEquals("application/vnd.ms-powerpoint", tika.detect("x.ppt")); assertEquals("application/vnd.ms-powerpoint", tika.detect("x.pps")); assertEquals("application/vnd.ms-powerpoint", tika.detect("x.pot")); diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-package/src/test/java/org/apache/tika/mime/TestMimeTypes.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-package/src/test/java/org/apache/tika/mime/TestMimeTypes.java index 1b66a7efe..cd6705b69 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-package/src/test/java/org/apache/tika/mime/TestMimeTypes.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-package/src/test/java/org/apache/tika/mime/TestMimeTypes.java @@ -212,6 +212,12 @@ public class TestMimeTypes { assertTypeByNameAndData("application/x-subrip", "test_subrip.srt"); } + @Test + public void testSTL() throws Exception { + assertTypeByNameAndData("model/x.stl-binary", "testSTL-binary.stl"); + assertTypeByNameAndData("model/x.stl-ascii", "testSTL-ascii.stl"); + } + @Test public void testTTML() throws Exception { assertTypeByData("application/ttml+xml", "test_ttml.ttml"); diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-package/src/test/resources/test-documents/testSTL-ascii.stl b/tika-parsers/tika-parsers-standard/tika-parsers-standard-package/src/test/resources/test-documents/testSTL-ascii.stl new file mode 100644 index 000000000..9d5bfe085 --- /dev/null +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-package/src/test/resources/test-documents/testSTL-ascii.stl @@ -0,0 +1,16 @@ +solid OpenSCAD_Model + facet normal 0 0 -1 + outer loop + vertex -10 -35 0 + vertex 10 -25 0 + vertex 10 -35 0 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 10 -25 0 + vertex -10 -35 0 + vertex -10 -25 0 + endloop + endfacet +endsolid OpenSCAD_Model diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-package/src/test/resources/test-documents/testSTL-binary.stl b/tika-parsers/tika-parsers-standard/tika-parsers-standard-package/src/test/resources/test-documents/testSTL-binary.stl new file mode 100644 index 000000000..e76f48fd1 Binary files /dev/null and b/tika-parsers/tika-parsers-standard/tika-parsers-standard-package/src/test/resources/test-documents/testSTL-binary.stl differ