harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Mazzocchi <stef...@apache.org>
Subject [general] interesting discoveries with japitools - part 2
Date Tue, 07 Nov 2006 22:01:01 GMT
Stuart told me that using the released version of japitools was not
ideal, so I've re-run the tests with the latest version of japitools
from CVS.

I did find a few bugs in japitools when dealing with JRockit and J9
(submitted to the japitools mail list) but there are still interesting
results.

======== sun 1.5 vs bea 1.5 ============

Total: 99.99% good, 0% missing, 0% abs.add

Error Summary:
Methods: 1 missing, 1 abs.add.

Errors:

java.awt.peer:
Missing
method java.awt.peer.WindowPeer.updateFocusableWindowState(): missing in
bea1.5

java.util.concurrent:
Abs.add
method java.util.concurrent.Delayed.compareTo(java.lang.Object): new
interface method in bea1.5


So, it appears that that Sun added a method that is not available in the
javadocs (bad Sun, no donut for you!) and that BEA did not (correctly)
implement.

Also, BEA added the method "compareTo" to the
java.util.concurrent.Delayed interface. This is not really a problem
because Delayed extends Comparable, therefore all classes implementing
Delayed will have to have the compareTo method anyway.

Stuart, do you think this is something that japitools should check?

I would call this a false positive.



======== sun 1.5 vs ibm 1.5 ===================

Total: 99.93% good, 0% bad, 0.06% missing, 0% abs.add

Error Summary:
Classes: 2 missing.
Fields: 1 bad.
Methods: 5 missing, 6 abs.add.

Errors:

java.awt.peer:
Missing
method java.awt.peer.WindowPeer.updateFocusableWindowState(): missing in
ibm1.5

java.util.concurrent:
Abs.add
method java.util.concurrent.Delayed.compareTo(java.lang.Object): new
interface method in ibm1.5

javax.xml.datatype:
Bad
field
javax.xml.datatype.DatatypeFactory.DATATYPEFACTORY_IMPLEMENTATION_CLASS:
constant
[com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl]
in sun1.5, but constant
[org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl] in ibm1.5

org.omg.stub.javax.management.remote.rmi:
Missing
class org.omg.stub.javax.management.remote.rmi._RMIConnectionImpl_Tie:
missing in ibm1.5
class org.omg.stub.javax.management.remote.rmi._RMIServerImpl_Tie:
missing in ibm1.5

org.w3c.dom.html:
Missing
method org.w3c.dom.html.HTMLFrameElement.getContentDocument(): missing
in ibm1.5
method org.w3c.dom.html.HTMLIFrameElement.getContentDocument(): missing
in ibm1.5
method org.w3c.dom.html.HTMLObjectElement.getContentDocument(): missing
in ibm1.5
method org.w3c.dom.html.HTMLOptionElement.setSelected(boolean): missing
in ibm1.5
Abs.add
method org.w3c.dom.html.HTMLOptionElement.setIndex(int): new interface
method in ibm1.5
method org.w3c.dom.html.HTMLTableCellElement.setCellIndex(int): new
interface method in ibm1.5
method
org.w3c.dom.html.HTMLTableRowElement.setCells(org.w3c.dom.html.HTMLCollection):
new interface method in ibm1.5
method org.w3c.dom.html.HTMLTableRowElement.setRowIndex(int): new
interface method in ibm1.5
method org.w3c.dom.html.HTMLTableRowElement.setSectionRowIndex(int): new
interface method in ibm1.5

So, it seems that the new japitools does fix some problems. The first
two are the same as with BEA. The datatype factory is not problematic.
The RMI over IIOP stubs should probably be ignored.

The only substantial difference is the HTML DOM (which nobody uses anyway).

Now the reverse checks

====== bea 1.5 vs sun 1.5 ======================

Total: 100% good, 0% abs.add

Error Summary:
Methods: 2 abs.add.

Errors:

java.awt.peer:
Abs.add
method java.awt.peer.WindowPeer.updateFocusableWindowState(): new
interface method in sun1.5

java.util.concurrent:
Abs.add
method java.util.concurrent.Delayed.compareTo(java.lang.Object): new
interface method in sun1.5
Done.

Hmmm, the compareTo is in both the direct and the reverse? smells like a
japitool bug to me.


======= IBM 1.5 vs. Sun 1.5 ========================

Total: 99.78% good, 0% bad, 0.21% missing, 0% abs.add

Error Summary:
Packages: 4 missing.
Classes: 2 missing.
Fields: 1 bad.
Methods: 6 missing, 6 abs.add.

Errors:

java.lang:
Missing
method java.lang.StringBuilder.append(java.lang.StringBuilder): missing
in sun1.5

java.awt.peer:
Abs.add
method java.awt.peer.WindowPeer.updateFocusableWindowState(): new
interface method in sun1.5

java.util.concurrent:
Abs.add
method java.util.concurrent.Delayed.compareTo(java.lang.Object): new
interface method in sun1.5

javax.management.remote.rmi:
Missing
class javax.management.remote.rmi._RMIConnectionImpl_Tie: missing in sun1.5
class javax.management.remote.rmi._RMIServerImpl_Tie: missing in sun1.5

javax.xml.datatype:
Bad
field
javax.xml.datatype.DatatypeFactory.DATATYPEFACTORY_IMPLEMENTATION_CLASS:
constant [org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl] in
ibm1.5, but constant
[com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl]
in sun1.5

org.omg.stub.java.lang:
Missing
package org.omg.stub.java.lang: missing in sun1.5

org.omg.stub.java.security:
Missing
package org.omg.stub.java.security: missing in sun1.5

org.omg.stub.java.util:
Missing
package org.omg.stub.java.util: missing in sun1.5

org.w3c.dom.html:
Missing
method org.w3c.dom.html.HTMLOptionElement.setIndex(int): missing in sun1.5
method org.w3c.dom.html.HTMLTableCellElement.setCellIndex(int): missing
in sun1.5
method
org.w3c.dom.html.HTMLTableRowElement.setCells(org.w3c.dom.html.HTMLCollection):
missing in sun1.5
method org.w3c.dom.html.HTMLTableRowElement.setRowIndex(int): missing in
sun1.5
method org.w3c.dom.html.HTMLTableRowElement.setSectionRowIndex(int):
missing in sun1.5
Abs.add
method org.w3c.dom.html.HTMLFrameElement.getContentDocument(): new
interface method in sun1.5
method org.w3c.dom.html.HTMLIFrameElement.getContentDocument(): new
interface method in sun1.5
method org.w3c.dom.html.HTMLObjectElement.getContentDocument(): new
interface method in sun1.5
method org.w3c.dom.html.HTMLOptionElement.setSelected(boolean): new
interface method in sun1.5

org.w3c.dom.xpath:
Missing
package org.w3c.dom.xpath: missing in sun1.5


So other than the problems we identified before, there seem to be two
more issues:

 1) java.lang.StringBuilder.append(java.lang.StringBuilder) missing in
sun1.5

 2) package org.w3c.dom.xpath: missing in sun1.5


                                  - o -

The results show clearly that japitools did indeed improve a lot over
the last released version.

NOTE: the results were taken with the following package passed to the
"japize" tool:

 +java +javax +org -org.apache -org.ietf

-- 
Stefano.


Mime
View raw message