in doc-architect/doc-architect-core/src/main/java/com/docarchitect/core/scanner/impl/dotnet/KafkaScanner.java [103:133]
protected boolean shouldScanFile(Path file) {
// Skip test files unless they contain Kafka patterns
String filePath = file.toString();
boolean isTestFile = filePath.contains("/test/") || filePath.contains("\\test\\") ||
filePath.contains("/Test/") || filePath.contains("\\Test\\") ||
filePath.contains(".Tests/") || filePath.contains(".Tests\\");
try {
String content = readFileContent(file);
// Check for Kafka imports and patterns
boolean hasKafkaPatterns = content.contains("using Confluent.Kafka") ||
content.contains("IConsumer<") ||
content.contains("IProducer<") ||
content.contains("[KafkaConsumer") ||
content.contains("[Topic") ||
content.contains("ProduceAsync") ||
content.contains(".Consume(");
// For test files, require Kafka patterns
// For non-test files, allow if they have Kafka patterns
if (isTestFile) {
return hasKafkaPatterns;
}
return hasKafkaPatterns;
} catch (IOException e) {
log.debug("Failed to read file for pre-filtering: {}", file);
return false;
}
}