This is an automated email from the ASF dual-hosted git repository. rfscholte pushed a commit to branch JXR-142 in repository https://gitbox.apache.org/repos/asf/maven-jxr.git
commit 63233cf6cefe093a5f23dc2e613bdc89b3330ecc Author: rfscholte <rfscho...@apache.org> AuthorDate: Sun Nov 11 13:32:24 2018 +0100 Introduce ProjectInfo --- .../org/apache/maven/jxr/DirectoryIndexer.java | 39 +++++++++++++++++----- .../org/apache/maven/jxr/DirectoryIndexerTest.java | 8 +++-- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/maven-jxr/src/main/java/org/apache/maven/jxr/DirectoryIndexer.java b/maven-jxr/src/main/java/org/apache/maven/jxr/DirectoryIndexer.java index cccbb74..832b57f 100644 --- a/maven-jxr/src/main/java/org/apache/maven/jxr/DirectoryIndexer.java +++ b/maven-jxr/src/main/java/org/apache/maven/jxr/DirectoryIndexer.java @@ -26,7 +26,6 @@ import java.io.Writer; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Enumeration; -import java.util.HashMap; import java.util.Map; import java.util.TreeMap; @@ -214,7 +213,7 @@ public class DirectoryIndexer public void process( Log log ) throws JxrException { - Map<String, Map<String, ?>> info = getPackageInfo(); + ProjectInfo info = getProjectInfo(); VelocityEngine engine = new VelocityEngine(); setProperties( engine, log ); @@ -239,7 +238,7 @@ public class DirectoryIndexer doVelocity( "allclasses-frame", root, context, engine ); doVelocity( "overview-summary", root, context, engine ); - for ( PackageInfo pkgInfo : ( (Map<String, PackageInfo>) info.get( "allPackages" ) ).values() ) + for ( PackageInfo pkgInfo : info.getAllPackages().values() ) { VelocityContext subContext = new VelocityContext( context ); subContext.put( "pkgInfo", pkgInfo ); @@ -327,7 +326,7 @@ public class DirectoryIndexer * allClasses collection of Maps with class info, format as above * */ - Map<String, Map<String, ?>> getPackageInfo() + ProjectInfo getProjectInfo() { Map<String, PackageInfo> allPackages = new TreeMap<>(); Map<String, ClassInfo> allClasses = new TreeMap<>(); @@ -375,11 +374,35 @@ public class DirectoryIndexer allPackages.put( pkgName, pkgInfo ); } - Map<String, Map<String, ?>> info = new HashMap<>(); - info.put( "allPackages", allPackages ); - info.put( "allClasses", allClasses ); + return new ProjectInfo( allPackages, allClasses ); + } + + /** + * + * @author Robert Scholte + * @since 3.2.0 + */ + public static class ProjectInfo + { + private final Map<String, PackageInfo> allPackages; + + private final Map<String, ClassInfo> allClasses; - return info; + public ProjectInfo( Map<String, PackageInfo> allPackages, Map<String, ClassInfo> allClasses ) + { + this.allPackages = allPackages; + this.allClasses = allClasses; + } + + public Map<String, PackageInfo> getAllPackages() + { + return allPackages; + } + + public Map<String, ClassInfo> getAllClasses() + { + return allClasses; + } } /** diff --git a/maven-jxr/src/test/java/org/apache/maven/jxr/DirectoryIndexerTest.java b/maven-jxr/src/test/java/org/apache/maven/jxr/DirectoryIndexerTest.java index dcd85e7..fcf2b0c 100644 --- a/maven-jxr/src/test/java/org/apache/maven/jxr/DirectoryIndexerTest.java +++ b/maven-jxr/src/test/java/org/apache/maven/jxr/DirectoryIndexerTest.java @@ -1,6 +1,8 @@ package org.apache.maven.jxr; import org.apache.maven.jxr.DirectoryIndexer.ClassInfo; +import org.apache.maven.jxr.DirectoryIndexer.PackageInfo; +import org.apache.maven.jxr.DirectoryIndexer.ProjectInfo; /* * Licensed to the Apache Software Foundation (ASF) under one @@ -45,13 +47,13 @@ public class DirectoryIndexerTest { packageManager.process(Paths.get( "src/test/resources/jxr68" )); DirectoryIndexer directoryIndexer = new DirectoryIndexer( packageManager, "" ); - final Map<String, Map<String, ?>> packageInfo = directoryIndexer.getPackageInfo(); - final Map<String, ?> allPackages = packageInfo.get( "allPackages" ); + ProjectInfo packageInfo = directoryIndexer.getProjectInfo(); + final Map<String, PackageInfo> allPackages = packageInfo.getAllPackages(); assertEquals(3, allPackages.size()); assertTrue( allPackages.containsKey( "(default package)" ) ); assertTrue( allPackages.containsKey( "pkga" ) ); assertTrue( allPackages.containsKey( "pkgb" ) ); - final Map<String, ClassInfo> allClasses = (Map<String, ClassInfo>) packageInfo.get( "allClasses" ); + final Map<String, ClassInfo> allClasses = (Map<String, ClassInfo>) packageInfo.getAllClasses(); assertEquals( 6, allClasses.size() ); final Iterator<ClassInfo> iterator = allClasses.values().iterator(); // #1: AClass