Benjamin Papez created PDFBOX-1512:
--------------------------------------
Summary: TextPositionComparator is not compatible with Java 7
Key: PDFBOX-1512
URL: https://issues.apache.org/jira/browse/PDFBOX-1512
Project: PDFBox
Issue Type: Bug
Components: Text extraction
Affects Versions: 1.7.1
Environment: Java 7
Reporter: Benjamin Papez
The TextPostionCompartor causes the following exception running on Java 7:
Unexpected RuntimeException from
org.apache.tika.parser.ParserDecorator$1@9007fa2 Original cause: Comparison
method violates its general contract!
I think the problem is with this check:
if ( yDifference < .1 ||
(pos2YBottom >= pos1YTop && pos2YBottom <= pos1YBottom) ||
(pos1YBottom >= pos2YTop && pos1YBottom <= pos2YBottom))
as it violates the contract requirement:
The implementor must also ensure that the relation is transitive: ((compare(x,
y)>0) && (compare(y, z)>0)) implies compare(x, z)>0.
Finally, the implementor must ensure that compare(x, y)==0 implies that
sgn(compare(x, z))==sgn(compare(y, z)) for all z.
Java 7 now is strict and throws exceptions when the contract is violated.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira