GraphMerger utility so far assumed that the merge(do1, do2) will happen on DOs which are contained in DataGraphRoot and have changeSummary associated with them.
Looking at JIRA-1815, it shows a valid case when an user wants to merge 2 DOs (which do not have any knowledge of DataGraphRoot) and may be without change summary associated with them (like simply created using model/generated factories) i.e. user is supplying static DOs and information about its unique PK to GraphMerger but not associating any DAS config to GraphMerger. DAS GraphMerge can help in merge() of such DOs by internally detecting if these are not contained in DataGraphRoot and performing necessary containment and start of changeSummary. and then user can use DAS to do applyChange() of the merge result to database. If such arbitrary dataGraphs are conflicting with existing database table data, the operation will fail with necessary SQL Exceptions. Suggestions? Regards, Amita
