The ability to read CIM files into two different named RDD sets, i.e. RDD[\<CIM class>], via Allow for named RDD variations, allows for generation of a difference file based on two reference CIM files.
This issue tracks the creation of a new standalone executable called CIMDifference, that will perform this task.
Essentially:
read file 1 with ch.ninecode.cim.name_template="%s_1"
read file 2 with ch.ninecode.cim.name_template="%s_2"
foreach RDD[\<CIM class in set 2>]
leftOuterJoin with RDD[\<CIM class in set 1>] and process additions and modifications
foreach RDD[\<CIM class in set 1>]
leftOuterJoin with RDD[\<CIM class in set 2>] and process deletions
Commit efdf3aba596b1ca90947a2d14669ca3dd291b4d9 adds CIMDifference artifacts to the Maven repo.
Actual implementation uses fullOuterJoin() instead of the separate foreach loops mentioned above.
The ability to read CIM files into two different named RDD sets, i.e. RDD[\<CIM class>], via Allow for named RDD variations, allows for generation of a difference file based on two reference CIM files.
This issue tracks the creation of a new standalone executable called CIMDifference, that will perform this task.
Essentially: