-
Sub-task
-
Resolution: Done
-
Major
-
None
-
None
-
High
A FederatedRepository instance should use a MergeProcessor implementation to actually do all the merging operations; the FederatedRepository is then responsible for managing the integrated repository (cache), adhering to the cache policies, making the requests to the sources, calling the MergeProcessor, and then storing the merged node back in the cache.
The merging operations should include both reads and writes, and will need access to the previous merge plan produced by the node. In fact, the merge operation may need to add merge-processor-specific information to the merge plan so that it can reuse that information at a later time.
It is very likely that the merge logic will evolve significantly over time, and that some uses of DNA may even require their own (perhaps optimized) processing logic. I believe there is even an opportunity to provide a Drools-based processor that uses rules to perform the work. This obviously won't be the first implementation, but could be one of the most powerful and capable processor implementations.