[ {
  "key" : "primary",
  "components" : [ {
    "name" : "uReplicator-Manager",
    "filesCount" : 16,
    "linesOfCode" : 3285,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 16,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 3285,
      "description" : [ ]
    } ]
  }, {
    "name" : "uReplicator-Common",
    "filesCount" : 24,
    "linesOfCode" : 1950,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 24,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 1950,
      "description" : [ ]
    } ]
  }, {
    "name" : "ROOT",
    "filesCount" : 2,
    "linesOfCode" : 167,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.yml",
      "value" : 2,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.yml",
      "value" : 167,
      "description" : [ ]
    } ]
  }, {
    "name" : "config",
    "filesCount" : 1,
    "linesOfCode" : 113,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.xml",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.xml",
      "value" : 113,
      "description" : [ ]
    } ]
  }, {
    "name" : "uReplicator-Worker",
    "filesCount" : 25,
    "linesOfCode" : 2518,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 25,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 2518,
      "description" : [ ]
    } ]
  }, {
    "name" : "uReplicator-Controller",
    "filesCount" : 27,
    "linesOfCode" : 4900,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 27,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 4900,
      "description" : [ ]
    } ]
  } ],
  "componentDependencies" : [ {
    "fromComponent" : "uReplicator-Manager",
    "locFrom" : 3203,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "uReplicator-Manager/src/main/java/com/uber/stream/kafka/mirrormaker/manager/core/ControllerLiveInstanceChangeListener.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaUReplicatorMetricsReporter;"
    }, {
      "pathFrom" : "uReplicator-Manager/src/main/java/com/uber/stream/kafka/mirrormaker/manager/core/ControllerWorkloadSnapshot.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaUReplicatorMetricsReporter;"
    }, {
      "pathFrom" : "uReplicator-Manager/src/main/java/com/uber/stream/kafka/mirrormaker/manager/core/ControllerHelixManager.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaUReplicatorMetricsReporter;"
    }, {
      "pathFrom" : "uReplicator-Manager/src/main/java/com/uber/stream/kafka/mirrormaker/manager/core/WorkerHelixManager.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.configuration.IuReplicatorConf;"
    }, {
      "pathFrom" : "uReplicator-Manager/src/main/java/com/uber/stream/kafka/mirrormaker/manager/core/AdminHelper.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.core.InstanceTopicPartitionHolder;"
    }, {
      "pathFrom" : "uReplicator-Manager/src/main/java/com/uber/stream/kafka/mirrormaker/manager/core/IdealStateBuilder.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.core.InstanceTopicPartitionHolder;"
    }, {
      "pathFrom" : "uReplicator-Manager/src/main/java/com/uber/stream/kafka/mirrormaker/manager/ManagerStarter.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaUReplicatorMetricsReporter;"
    }, {
      "pathFrom" : "uReplicator-Manager/src/main/java/com/uber/stream/kafka/mirrormaker/manager/ManagerConf.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.configuration.IuReplicatorConf;"
    }, {
      "pathFrom" : "uReplicator-Manager/src/main/java/com/uber/stream/kafka/mirrormaker/manager/rest/resources/TopicManagementRestletResource.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.core.InstanceTopicPartitionHolder;"
    }, {
      "pathFrom" : "uReplicator-Manager/src/main/java/com/uber/stream/kafka/mirrormaker/manager/rest/resources/AdminRestletResource.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.core.InstanceTopicPartitionHolder;"
    }, {
      "pathFrom" : "uReplicator-Manager/src/main/java/com/uber/stream/kafka/mirrormaker/manager/validation/KafkaClusterValidationManager.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.core.KafkaBrokerTopicObserver;"
    } ],
    "toComponent" : "uReplicator-Common",
    "count" : 11,
    "text" : null,
    "color" : "",
    "dependencyString" : "uReplicator-Manager -> uReplicator-Common"
  }, {
    "fromComponent" : "uReplicator-Worker",
    "locFrom" : 1264,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "uReplicator-Worker/src/main/java/com/uber/stream/ureplicator/worker/ProducerThread.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaUReplicatorMetricsReporter;"
    }, {
      "pathFrom" : "uReplicator-Worker/src/main/java/com/uber/stream/ureplicator/worker/WorkerInstance.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaUReplicatorMetricsReporter;"
    }, {
      "pathFrom" : "uReplicator-Worker/src/main/java/com/uber/stream/ureplicator/worker/ConsumerFetcherThread.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaUReplicatorMetricsReporter;"
    }, {
      "pathFrom" : "uReplicator-Worker/src/main/java/com/uber/stream/ureplicator/worker/ZookeeperCheckpointManager.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaUReplicatorMetricsReporter;"
    }, {
      "pathFrom" : "uReplicator-Worker/src/main/java/com/uber/stream/ureplicator/worker/FetcherManagerGroupByLeaderId.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaClusterObserver;"
    }, {
      "pathFrom" : "uReplicator-Worker/src/main/java/com/uber/stream/ureplicator/worker/DefaultMessageTransformer.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.core.TopicPartitionCountObserver;"
    }, {
      "pathFrom" : "uReplicator-Worker/src/main/java/com/uber/stream/ureplicator/worker/helix/ControllerWorkerHelixHandler.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaUReplicatorMetricsReporter;"
    }, {
      "pathFrom" : "uReplicator-Worker/src/main/java/com/uber/stream/ureplicator/worker/helix/ManagerWorkerHelixHandler.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.core.HelixHandler;"
    } ],
    "toComponent" : "uReplicator-Common",
    "count" : 8,
    "text" : null,
    "color" : "",
    "dependencyString" : "uReplicator-Worker -> uReplicator-Common"
  }, {
    "fromComponent" : "uReplicator-Controller",
    "locFrom" : 4282,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/core/OffsetMonitor.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaUReplicatorMetricsReporter;"
    }, {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/core/AutoRebalanceLiveInstanceChangeListener.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaUReplicatorMetricsReporter;"
    }, {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/core/AutoTopicWhitelistingManager.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaUReplicatorMetricsReporter;"
    }, {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/core/HelixMirrorMakerManager.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.configuration.IuReplicatorConf;"
    }, {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/core/ManagerControllerHelix.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.core.KafkaBrokerTopicObserver;"
    }, {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/core/IdealStateBuilder.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.core.InstanceTopicPartitionHolder;"
    }, {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/core/TopicAssignmentViewBuilder.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.Constants;"
    }, {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/ControllerInstance.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaUReplicatorMetricsReporter;"
    }, {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/ControllerConf.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.configuration.IuReplicatorConf;"
    }, {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/rest/resources/TopicPartitionBlacklistRestletResource.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.core.TopicPartition;"
    }, {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/rest/resources/MirrorMakerManagerRestletResource.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.core.InstanceTopicPartitionHolder;"
    }, {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/rest/resources/TopicManagementRestletResource.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.core.KafkaBrokerTopicObserver;"
    }, {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/rest/resources/TopicParitionOffsetRestletResource.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.core.TopicPartition;"
    }, {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/rest/resources/AdminRestletResource.java",
      "evidence" : "import com.uber.stream.kafka.mirrormaker.common.core.InstanceTopicPartitionHolder;"
    }, {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/validation/SourceKafkaClusterValidationManager.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaUReplicatorMetricsReporter;"
    }, {
      "pathFrom" : "uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/validation/ValidationManager.java",
      "evidence" : "import com.uber.stream.ureplicator.common.KafkaUReplicatorMetricsReporter;"
    } ],
    "toComponent" : "uReplicator-Common",
    "count" : 16,
    "text" : null,
    "color" : "",
    "dependencyString" : "uReplicator-Controller -> uReplicator-Common"
  } ],
  "componentDependenciesErrors" : [ ],
  "logicalDecomposition" : {
    "name" : "primary",
    "scope" : "main",
    "filters" : [ ],
    "componentsFolderDepth" : 1,
    "minComponentsCount" : 0,
    "components" : [ {
      "name" : "uReplicator-Manager",
      "sourceFileFilters" : [ {
        "pathPattern" : "./uReplicator-Manager/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "uReplicator-Common",
      "sourceFileFilters" : [ {
        "pathPattern" : "./uReplicator-Common/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "ROOT",
      "sourceFileFilters" : [ {
        "pathPattern" : "./.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      }, {
        "pathPattern" : "./uReplicator-Manager/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./uReplicator-Common/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./config/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./uReplicator-Worker/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./uReplicator-Controller/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "config",
      "sourceFileFilters" : [ {
        "pathPattern" : "./config/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "uReplicator-Worker",
      "sourceFileFilters" : [ {
        "pathPattern" : "./uReplicator-Worker/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "uReplicator-Controller",
      "sourceFileFilters" : [ {
        "pathPattern" : "./uReplicator-Controller/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    } ],
    "metaComponents" : [ ],
    "groups" : [ ],
    "includeRemainingFiles" : true,
    "dependenciesFinder" : {
      "useBuiltInDependencyFinders" : true,
      "rules" : [ ],
      "metaRules" : [ ]
    },
    "renderingOptions" : {
      "orientation" : "TB",
      "maxNumberOfDependencies" : 100,
      "renderComponentsWithoutDependencies" : true,
      "renderIndirectDependencies" : false,
      "renderInternalIndirectDependencies" : false,
      "reverseDirection" : false
    },
    "includeExternalComponents" : true,
    "dependencyLinkThreshold" : 1,
    "duplicationLinkThreshold" : 50,
    "temporalLinkThreshold" : 1,
    "maxSearchDepthLines" : 200
  },
  "linesOfCodePerComponent" : [ {
    "name" : "uReplicator-Manager",
    "value" : 3285,
    "description" : [ ]
  }, {
    "name" : "uReplicator-Common",
    "value" : 1950,
    "description" : [ ]
  }, {
    "name" : "ROOT",
    "value" : 167,
    "description" : [ ]
  }, {
    "name" : "config",
    "value" : 113,
    "description" : [ ]
  }, {
    "name" : "uReplicator-Worker",
    "value" : 2518,
    "description" : [ ]
  }, {
    "name" : "uReplicator-Controller",
    "value" : 4900,
    "description" : [ ]
  } ],
  "fileCountPerComponent" : [ {
    "name" : "uReplicator-Manager",
    "value" : 16,
    "description" : [ ]
  }, {
    "name" : "uReplicator-Common",
    "value" : 24,
    "description" : [ ]
  }, {
    "name" : "ROOT",
    "value" : 2,
    "description" : [ ]
  }, {
    "name" : "config",
    "value" : 1,
    "description" : [ ]
  }, {
    "name" : "uReplicator-Worker",
    "value" : 25,
    "description" : [ ]
  }, {
    "name" : "uReplicator-Controller",
    "value" : 27,
    "description" : [ ]
  } ]
} ]