@Override public void visit(PackageFrequencyTrie trie, int depth) { String packageName = trie.getPackageName(); int recursiveClassCount = trie.getClassCount(true); if (depth == 1 || (depth > 1 && recursiveClassCount > 100)) System.out.println(packageName + " - Classes: " + recursiveClassCount); if (depth == 0 && trie.getClassCount(false) > 0) { System.out.println("Default Package - Classes: " + trie.getClassCount(false)); } } });
public void visit(PackageFrequencyTrieVisitor visitor) { visit(visitor, 0); }
PackageFrequencyTrie frequencyTrie = new PackageFrequencyTrie(); String organization = packageNameMappingRegistry.getOrganizationForPackage(packageName); if (organization == null) frequencyTrie.addClass(qualifiedName); else packageToOrganization.put(packageName, organization); System.out.println("Unknown Packages:"); System.out.println("======================="); frequencyTrie.visit(new PackageFrequencyTrieVisitor()
Map<String, Integer> knownPackagesAndClassCount, Map<String, Integer> unknownPackagesAndClassCount) discoveredPackagesFrequencyTrie.visit((trie, depth) -> { String packageName = trie.getPackageName(); int recursiveClassCount = trie.getClassCount(true); int nonRecursiveClassCount = trie.getClassCount(false);
@Override public PackageDiscoveryResult execute(String rulesPath, String inputPath) { final Map<String, Integer> classes = findClasses(Paths.get(inputPath), Paths.get(inputPath)); packageNameMappingRegistry.loadPackageMappings(Paths.get(rulesPath)); PackageFrequencyTrie frequencyTrie = new PackageFrequencyTrie(); for (String qualifiedName : classes.keySet()) { frequencyTrie.addClass(qualifiedName); } Map<String, Integer> knownPackagesAndClassCount = new TreeMap<>(new PackageComparator()); Map<String, Integer> unknownPackagesAndClassCount = new TreeMap<>(new PackageComparator()); Map<String, String> knownPackages = new TreeMap<>(new PackageComparator()); this.qualifyDiscoveredPackages(knownPackages, frequencyTrie, knownPackagesAndClassCount, unknownPackagesAndClassCount); return new PackageDiscoveryResult(knownPackagesAndClassCount, unknownPackagesAndClassCount); }
public int getClassCount(boolean recursive) { int count = this.classCount; if (recursive) { for (Map.Entry<String, PackageFrequencyTrie> entry : this.entries.entrySet()) count += entry.getValue().getClassCount(true); } return count; }
private PackageFrequencyTrie getSubTrie(String packageName) { PackageFrequencyTrie current = this; StringTokenizer tokenizer = new StringTokenizer(packageName, "."); while (tokenizer.hasMoreTokens()) { String token = tokenizer.nextToken(); PackageFrequencyTrie next = current.entries.get(token); if (next == null) { next = new PackageFrequencyTrie(current, token); current.entries.put(token, next); } current = next; } return current; } }
public PackageFrequencyTrie addClass(String qualifiedName) { String packageName = ClassNameUtil.getPackageName(qualifiedName); PackageFrequencyTrie subTrie = getSubTrie(packageName); subTrie.classCount++; return this; }
PackageFrequencyTrie frequencyTrie = new PackageFrequencyTrie(); String organization = packageNameMappingRegistry.getOrganizationForPackage(packageName); if (organization == null) frequencyTrie.addClass(qualifiedName); else packageToOrganization.put(packageName, organization); System.out.println("Unknown Packages:"); System.out.println("======================="); frequencyTrie.visit(new PackageFrequencyTrieVisitor()
public int getClassCount(boolean recursive) { int count = this.classCount; if (recursive) { for (Map.Entry<String, PackageFrequencyTrie> entry : this.entries.entrySet()) count += entry.getValue().getClassCount(true); } return count; }
private PackageFrequencyTrie getSubTrie(String packageName) { PackageFrequencyTrie current = this; StringTokenizer tokenizer = new StringTokenizer(packageName, "."); while (tokenizer.hasMoreTokens()) { String token = tokenizer.nextToken(); PackageFrequencyTrie next = current.entries.get(token); if (next == null) { next = new PackageFrequencyTrie(current, token); current.entries.put(token, next); } current = next; } return current; } }
public PackageFrequencyTrie addClass(String qualifiedName) { String packageName = ClassNameUtil.getPackageName(qualifiedName); PackageFrequencyTrie subTrie = getSubTrie(packageName); subTrie.classCount++; return this; }
@Override public void visit(PackageFrequencyTrie trie, int depth) { String packageName = trie.getPackageName(); int recursiveClassCount = trie.getClassCount(true); if (depth == 1 || (depth > 1 && recursiveClassCount > 100)) System.out.println(packageName + " - Classes: " + recursiveClassCount); if (depth == 0 && trie.getClassCount(false) > 0) { System.out.println("Default Package - Classes: " + trie.getClassCount(false)); } } });
public void visit(PackageFrequencyTrieVisitor visitor) { visit(visitor, 0); }
private void visit(PackageFrequencyTrieVisitor visitor, int currentDepth) { for (Map.Entry<String, PackageFrequencyTrie> mapEntry : entries.entrySet()) { PackageFrequencyTrie subtree = mapEntry.getValue(); subtree.visit(visitor, currentDepth + 1); } visitor.visit(this, currentDepth); }
private void visit(PackageFrequencyTrieVisitor visitor, int currentDepth) { for (Map.Entry<String, PackageFrequencyTrie> mapEntry : entries.entrySet()) { PackageFrequencyTrie subtree = mapEntry.getValue(); subtree.visit(visitor, currentDepth + 1); } visitor.visit(this, currentDepth); }