/** * This performs the same function as {@link TypeReferenceService#getPackageUseFrequencies(ProjectModel, Set, Set, int, boolean)}, * however it is designed to use a {@link ProjectModelTraversal} instead of only {@link ProjectModel}. * * This is useful for cases where the {@link ProjectModelTraversal} needs to use a custom {@link TraversalStrategy}. */ public Map<String, Integer> getPackageUseFrequencies(ProjectModelTraversal projectTraversal, Set<String> includeTags, Set<String> excludeTags, int nameDepth, boolean recursive) { Map<String, Integer> packageUseCount = new HashMap<>(); getPackageUseFrequencies(packageUseCount, projectTraversal, includeTags, excludeTags, nameDepth, recursive); return packageUseCount; }
/** * This performs the same function as {@link TypeReferenceService#getPackageUseFrequencies(ProjectModel, Set, Set, int, boolean)}, * however it is designed to use a {@link ProjectModelTraversal} instead of only {@link ProjectModel}. * * This is useful for cases where the {@link ProjectModelTraversal} needs to use a custom {@link TraversalStrategy}. */ public Map<String, Integer> getPackageUseFrequencies(ProjectModelTraversal projectTraversal, Set<String> includeTags, Set<String> excludeTags, int nameDepth, boolean recursive) { Map<String, Integer> packageUseCount = new HashMap<>(); getPackageUseFrequencies(packageUseCount, projectTraversal, includeTags, excludeTags, nameDepth, recursive); return packageUseCount; }
private Map<String, Integer> getPackageUseFrequencies(Map<String, Integer> packageUseCount, ProjectModelTraversal projectTraversal, Set<String> includeTags, Set<String> excludeTags, int nameDepth, boolean recursive) { getPackageUseFrequencies(packageUseCount, projectTraversal.getCurrent(), includeTags, excludeTags, nameDepth, false); if (recursive) { for (ProjectModelTraversal childTraversal : projectTraversal.getChildren()) { getPackageUseFrequencies(packageUseCount, childTraversal, includeTags, excludeTags, nameDepth, recursive); } } return packageUseCount; }
private Map<String, Integer> getPackageUseFrequencies(Map<String, Integer> packageUseCount, ProjectModelTraversal projectTraversal, Set<String> includeTags, Set<String> excludeTags, int nameDepth, boolean recursive) { getPackageUseFrequencies(packageUseCount, projectTraversal.getCurrent(), includeTags, excludeTags, nameDepth, false); if (recursive) { for (ProjectModelTraversal childTraversal : projectTraversal.getChildren()) { getPackageUseFrequencies(packageUseCount, childTraversal, includeTags, excludeTags, nameDepth, recursive); } } return packageUseCount; }
/** * Returns the list of most frequently hinted packages (based upon JavaInlineHintModel references) within the given ProjectModel. If recursive is * set to true, then also include child projects. * * nameDepth controls how many package levels to include (com.* vs com.example.* vs com.example.sub.*) */ public Map<String, Integer> getPackageUseFrequencies(ProjectModel projectModel, Set<String> includeTags, Set<String> excludeTags, int nameDepth, boolean recursive) { ExecutionStatistics.get().begin("TypeReferenceService.getPackageUseFrequencies(projectModel,nameDepth,recursive)"); Map<String, Integer> packageUseCount = new HashMap<>(); getPackageUseFrequencies(packageUseCount, projectModel, includeTags, excludeTags, nameDepth, recursive); ExecutionStatistics.get().end("TypeReferenceService.getPackageUseFrequencies(projectModel,nameDepth,recursive)"); return packageUseCount; }
/** * Returns the list of most frequently hinted packages (based upon JavaInlineHintModel references) within the given ProjectModel. If recursive is * set to true, then also include child projects. * * nameDepth controls how many package levels to include (com.* vs com.example.* vs com.example.sub.*) */ public Map<String, Integer> getPackageUseFrequencies(ProjectModel projectModel, int nameDepth, boolean recursive) { ExecutionStatistics.get().begin("TypeReferenceService.getPackageUseFrequencies(projectModel,nameDepth,recursive)"); Map<String, Integer> packageUseCount = new HashMap<>(); getPackageUseFrequencies(packageUseCount, projectModel, nameDepth, recursive); ExecutionStatistics.get().end("TypeReferenceService.getPackageUseFrequencies(projectModel,nameDepth,recursive)"); return packageUseCount; }
/** * Returns the list of most frequently hinted packages (based upon JavaInlineHintModel references) within the given ProjectModel. If recursive is * set to true, then also include child projects. * * nameDepth controls how many package levels to include (com.* vs com.example.* vs com.example.sub.*) */ public Map<String, Integer> getPackageUseFrequencies(ProjectModel projectModel, Set<String> includeTags, Set<String> excludeTags, int nameDepth, boolean recursive) { ExecutionStatistics.get().begin("TypeReferenceService.getPackageUseFrequencies(projectModel,nameDepth,recursive)"); Map<String, Integer> packageUseCount = new HashMap<>(); getPackageUseFrequencies(packageUseCount, projectModel, includeTags, excludeTags, nameDepth, recursive); ExecutionStatistics.get().end("TypeReferenceService.getPackageUseFrequencies(projectModel,nameDepth,recursive)"); return packageUseCount; }
@Override public void execute(Environment env, @SuppressWarnings("rawtypes") Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException { StringModel projectStringModel = (StringModel) params.get("project"); ProjectModel projectModel = (ProjectModel) projectStringModel.getWrappedObject(); String filename = projectModel.getRootFileModel().getPrettyPath(); TemplateBooleanModel recursiveBooleanModel = (TemplateBooleanModel) params.get("recursive"); boolean recursive = recursiveBooleanModel.getAsBoolean(); SimpleScalar elementIDStringModel = (SimpleScalar) params.get("elementID"); String elementID = elementIDStringModel.getAsString(); TypeReferenceService typeReferenceService = new TypeReferenceService(context); Map<String, Integer> data = typeReferenceService.getPackageUseFrequencies(projectModel, 2, recursive); if (data.keySet().size() > 0) { drawPie(env.getOut(), data, elementID); } else { // if we aren't drawing a pie, remove the element that would have held it Writer writer = env.getOut(); writer.append("<script type='text/javascript'>"); writer.append("$('#" + elementID + "').parent().remove()"); writer.append("</script>"); } }
.getPackageUseFrequencies(projectModel, includeTags, excludeTags, 2, false) .entrySet() .forEach(entry -> {
Map<String, Integer> data; if (projectModel != null) data = typeReferenceService.getPackageUseFrequencies(projectModel, includeTags, excludeTags, 2, recursive); else data = typeReferenceService.getPackageUseFrequencies(projectTraversal, includeTags, excludeTags, 2, recursive);
Map<String, Integer> data; if (projectModel != null) data = typeReferenceService.getPackageUseFrequencies(projectModel, includeTags, excludeTags, 2, recursive); else data = typeReferenceService.getPackageUseFrequencies(projectTraversal, includeTags, excludeTags, 2, recursive);
getPackageUseFrequencies(data, childProject, nameDepth, recursive); ExecutionStatistics.get().begin("TypeReferenceService.getPackageUseFrequencies(data,projectModel,nameDepth,recursive)");
getPackageUseFrequencies(data, childProject, includeTags, excludeTags, nameDepth, recursive); ExecutionStatistics.get().begin("TypeReferenceService.getPackageUseFrequencies(data,projectModel,nameDepth,recursive)");
getPackageUseFrequencies(data, childProject, includeTags, excludeTags, nameDepth, recursive); ExecutionStatistics.get().begin("TypeReferenceService.getPackageUseFrequencies(data,projectModel,nameDepth,recursive)");