-
Moises Bensadon authoredMoises Bensadon authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Checker.java 1.87 KiB
package org.example;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
import java.util.Map;
import AnomalyDetector;
import TextProcessor;
public class Checker {
public void analyze(String text) {
List<String> sentences = TextProcessor.extractSentences(text);
AnomalyDetector detector = new AnomalyDetector();
Map<String, Integer> sentenceScores = detector.analyzeSentences(sentences);
Map<String, Integer> phraseScores = detector.analyzePhrases(sentences);
// Output results in JSON format
System.out.println("{");
System.out.println("\"sentences\": " + mapToJson(sentenceScores) + ",");
System.out.println("\"phrases\": " + mapToJson(phraseScores));
System.out.println("}");
}
private static String mapToJson(Map<String, Integer> map) {
StringBuilder jsonBuilder = new StringBuilder("{");
for (Map.Entry<String, Integer> entry : map.entrySet()) {
jsonBuilder.append("\"" + entry.getKey() + "\": " + entry.getValue() + ",");
}
jsonBuilder.deleteCharAt(jsonBuilder.length() - 1); // remove last comma
jsonBuilder.append("}");
return jsonBuilder.toString();
}
public static void main(String[] args) {
if (args.length > 1 && "--file".equals(args[0])) { // check syntax
String path = args[1];
try {
// Read entire file
String content = new String(Files.readAllBytes(Paths.get(path)));
Checker checker = new Checker(); // Run checker
checker.analyze(content);
} catch (IOException e) {
System.err.println("Error reading file: " + e.getMessage());
}
} else {
System.out.println("Invalid arguments. Usage: CLI --file [path]");
}
}
}