Opened 4 years ago
Closed 4 years ago
#2220 closed defect (fixed)
Some SourceItemTransformer implementations can't be used for more than one transform
Reported by: | Nicklas Nordborg | Owned by: | everyone |
---|---|---|---|
Priority: | major | Milestone: | BASE 3.17 |
Component: | core | Version: | |
Keywords: | Cc: |
Description
The SourceItemTransformer API
is mainly used by the item list functionality to implement the synchronization filters functionality. Now, the idea is to use the API also for implementing #2218. While testing out this it was discovered that in some cases the implementation of the SourceItemTransformer.transform()
method would return incorrect results if called more than once. The main suspect is the transitions from Extract to Derived bioassay (in both directions) that uses the CollectExtracts
to keep track of extracts in order to later be able to select the correct path when continuing up- or downstream. The collected extracts need to be cleared each time the transform()
method is used otherwise the transformer will include extracts from the first call also on the second call, and so on.
There is no simple way to test this yet, so I think the first thing is to implement a test case.
In 7837: