You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2019/07/04 21:20:05 UTC

[maven-jxr] 03/06: Introduce ProjectInfo

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 0033d899c6e2aa7d4e56030184649637a75a5683
Author: rfscholte <rf...@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