List Info

Thread: DO NOT REPLY New: - Fix incompatible API changes to TransformSpi




DO NOT REPLY New: - Fix incompatible API changes to TransformSpi
user name
2006-09-14 14:43:54
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=40
512>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=40512

           Summary: Fix incompatible API changes to
TransformSpi
           Product: Security
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: regression
          Priority: P2
         Component: Signature
        AssignedTo: security-devxml.apache.org
        ReportedBy: sean.mullansun.com


In 1.4, a new abstract protected
enginePerformTransform(XMLSignatureInput, Transform) method
was added to the
TransformSpi class and the existing
enginePerformTransform(XMLSignatureInput)
method was
removed. The new method was designed to replace the old
method and was
done to improve performance, which is all very good.

Unfortunately, it means that existing TransformSpi
implementations when
compiled against 1.4 will not compile until the new method
is
implemented. This is not a problem for the built-in
implementations with
XMLSec (since they have been adjusted) but it is a problem
for any
TransformSpi implementations developed by users out there.
In any case,
this particular compilation failure is not such a big deal
since you
will want to implement the better method anyway.

The more serious problem (IMO) is that you will get a
runtime error
(NoSuchMethodError) if the current TransformSpi
implementations are run
with 1.4 without updating and recompiling to support the new
method
(because the new methods don't exist). So this means you
cannot
seamlessly upgrade existing TransformSpi implementations to
1.4 without
reimplementing the new methods. 

Suggested fix (for TransformSpi):

1. Restore old method
2. Change new method to be non-abstract and throw
UnsupportedOperationExc 
by default
3. Change Transform code to fallback to old method if it
gets UnsuppOpExc, ex:

try {
  result = transformSpi.enginePerformTransform(input,this);
} catch (UnsupportedOperationException ex) {
  result = transformSpi.enginePerformTransform(input);

4. Document in release notes that developers should override
new method

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=ema
il
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the
assignee.
DO NOT REPLY - Fix incompatible API changes to TransformSpi
country flaguser name
United States
2007-09-19 14:17:17
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=40
512>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=40512


sean.mullansun.com changed:

           What    |Removed                     |Added
------------------------------------------------------------
----------------
             Status|RESOLVED                    |CLOSED




------- Additional Comments From sean.mullansun.com 
2007-09-19 12:17 -------
Closing old bugs. Fixed in 1.4.1

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=ema
il
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the
assignee.

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )