[
https://issues.apache.org/jira/browse/TIKA-2556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16341193#comment-16341193
]
Andrei Rebegea edited comment on TIKA-2556 at 1/26/18 4:02 PM:
---------------------------------------------------------------
Hello [~gagravarr], Thanks for the reply.
I did not get the impression that these libraries are so compatible that they
are a *drop in replacement* without any problems. It is not like they respect
any well predefined interface.
For example the method put(String, Map)
(https://github.com/stleary/JSON-java/blob/master/JSONObject.java#L1586) that
some of the legacy code in my project uses, does not have an equivalent in the
Ted Dunning version (
https://github.com/tdunning/open-json/blob/master/src/main/java/org/json/JSONObject.java
).
I have also seen this [comment |
https://issues.apache.org/jira/browse/TIKA-1804?focusedCommentId=15776304&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15776304
] , that suggests other incompatibilities.
Also this [comment|
https://github.com/tdunning/open-json/issues/11#issuecomment-284617650 ] ,
suggesting that it is not supposed to be a 100% compatible implementation.
I am wandering if all the methods in the Ted Dunning implementation have 100%
compatible methods in the old org.json lib. I still need to do some research
about this. *Does anyone know for sure?*
FYI, We are working on moving away from the original org.json dodgy license
lib, but it will take some time and we try to update tika now, without patching
it too much.
was (Author: andrei.rebegea):
Hello [~gagravarr], Thanks for the reply.
I did not get the impression that these libraries are so compatible that they
are a drop in replacement - no problems. It is not like they respect any well
predefined interface.
For example the method put(String, Map)
(https://github.com/stleary/JSON-java/blob/master/JSONObject.java#L1586) that
some of the legacy code in my project uses, does not have an equivalent in the
Ted Dunning version (
https://github.com/tdunning/open-json/blob/master/src/main/java/org/json/JSONObject.java
).
I have also seen this [comment |
https://issues.apache.org/jira/browse/TIKA-1804?focusedCommentId=15776304&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15776304
] , that suggests other incompatibilities.
Also this [comment|
https://github.com/tdunning/open-json/issues/11#issuecomment-284617650 ] ,
suggesting that it is not supposed to be a 100% compatible implementation.
I am wandering if all the methods in the Ted Dunning implementation have 100%
compatible methods in the old org.json lib. I still need to do some research
about this. *Does anyone know for sure?*
FYI, We are working on moving away from the original org.json dodgy license
lib, but it will take some time and we try to update tika now, without patching
it too much.
> org.json package clash
> ----------------------
>
> Key: TIKA-2556
> URL: https://issues.apache.org/jira/browse/TIKA-2556
> Project: Tika
> Issue Type: Improvement
> Components: parser
> Affects Versions: 1.17
> Reporter: Andrei Rebegea
> Priority: Major
>
> Hello dear tika contributors.
> In version 1.16, the dependency of org.json:json
> (https://mvnrepository.com/artifact/org.json/json/20140107)
> was replaced with com.tdunning:json
> (https://mvnrepository.com/artifact/com.tdunning/json/1.8)
> as part of TIKA-1804.
> I read and understand the reasons.
> The problem I see is that the package org.json is reused in the replacement
> lib (com.tdunning) therefore creating really ugly runtime problems for any
> application that might use the old org.json lib ( Douglas Crockford ) either
> directly or indirectly (And please note that there are still a lot of
> libraries that use that lib:
> https://mvnrepository.com/artifact/org.json/json/usages)
> *What is tika's recommendation for these kind of projects that have to(for
> various reasons) use directly or indirectly(brought in by another lib) that
> old org.json:json lib?*
> This topic has been discussed here also :
> https://github.com/tdunning/open-json/issues/11
> As you can see other people have this problem.
> They forked and released an alternative version, that is identical in
> functionality, but uses a different package name :
> https://github.com/openjson/openjson ->
> https://mvnrepository.com/artifact/com.github.openjson/openjson
> *Is there any plan to switch to the cleaner ("jar hell" free) implementation
> of json?*
> Thank you!
> I raised this as an improvement, as I think that is what needs to happen:
> move to the forked lib version to avoid package name collisions.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)