[
https://issues.apache.org/jira/browse/DERBY-2920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Knut Anders Hatlen reopened DERBY-2920:
---------------------------------------
Reopening since I found more duplication that I didn't address in the first
patch. The classes FormatArrayHolder, FormatableHashtable, FormatableIntHolder,
FormatableLongHolder, FormatableProperties and B2IUndo all have two
readExternal() methods; one that takes ObjectInput and one that takes
ArrayInputStream.
In these classes, the variants that take ArrayInputStream are not called
readExternalFromArray(), which is why they didn't show up in my original
search. However, as far as I can see, none of the
readExternal(ArrayInputStream) methods have any callers, so removing them
should be harmless.
> Share code between readExternal() and readExternalFromArray()
> -------------------------------------------------------------
>
> Key: DERBY-2920
> URL: https://issues.apache.org/jira/browse/DERBY-2920
> Project: Derby
> Issue Type: Improvement
> Components: Services, SQL
> Reporter: Knut Anders Hatlen
> Assignee: Knut Anders Hatlen
> Priority: Minor
> Labels: derby_triage10_10
> Fix For: 10.10.0.0
>
> Attachments: d2920-1a.diff, ReadInts2.java, ReadInts.java
>
>
> Most of the implementations of
> DataValueDescriptor.readExternalFromArray(ArrayInputStream) are identical to
> their corresponding Externalizable.readExternal(ObjectInput) methods. Since
> ArrayInputStream implements ObjectInput, readExternalFromArray() could in
> those cases just have forwarded calls to readExternal() instead of
> duplicating the code. A default forwarding implementation of
> readExternalFromArray() could be placed in
> org.apache.derby.iapi.types.DataType, and all the existing implementations,
> except those with optimizations for ArrayInputStream, could be removed.
--
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