Class ContentPackDuplicateReport

java.lang.Object
org.odpi.openmetadata.reports.duplicates.ContentPackDuplicateReport

public class ContentPackDuplicateReport extends Object
ContentPackDuplicateReport compares two versions of an open metadata archive and reports the elements they disagree about - the ones that keep their qualified name but are given a new unique identifier.

Each of those elements becomes a duplicate pair in any repository that has loaded both versions: two elements, the same type, the same qualified name, different identifiers, and nothing to say they are the same thing. That is the situation duplicate management exists to resolve, and it arises without anybody creating it deliberately - between Egeria 6.0 and 6.1, 874 elements of the core content pack changed identity this way.

Run it before shipping a content pack to see how much work an upgrade will create for the people who already have the previous version loaded:

     ./gradlew :open-metadata-resources:open-metadata-dev-utilities:content-pack-duplicate-report:run \
               --args="/path/to/previous/CoreContentPack.omarchive /path/to/new/CoreContentPack.omarchive"
 
Archives from a released branch can be extracted without checking out the whole branch:
     git fetch --depth 1 --filter=blob:none upstream egeria-release-6.0
     git show upstream/egeria-release-6.0:content-packs/CoreContentPack.omarchive > /tmp/CoreContentPack-6.0.omarchive
 
  • Constructor Details

    • ContentPackDuplicateReport

      public ContentPackDuplicateReport()
  • Method Details

    • main

      public static void main(String[] args)
      Compare two archives and write the report to the console.
      Parameters:
      args - the earlier archive file, then the later one