001    package hirondelle.web4jtools.metrics.jars;
002    
003    import hirondelle.web4j.action.ResponsePage;
004    import hirondelle.web4j.request.RequestParser;
005    import hirondelle.web4jtools.metrics.base.FileInfo;
006    import hirondelle.web4jtools.metrics.base.MetricsAction;
007    
008    import java.util.ArrayList;
009    import java.util.List;
010    
011    /**
012    * Display name and version for all jars in your source tree. 
013    */
014    public final class JarsAction extends MetricsAction {
015      
016      public JarsAction(RequestParser aRequestParser){
017        super(FORWARD, aRequestParser);
018      }
019      
020      /**  Display name and version for all jar files found in your source tree.  */
021      protected void calculateMetric() {
022        addToRequest("jarFiles", filterJarFiles(fFileList));
023      }
024      
025      // PRIVATE //
026      private static final ResponsePage FORWARD = new ResponsePage("Name/Version of Jar Files", "view.jsp", JarsAction.class);
027      
028      private List<FileInfo> filterJarFiles(List<FileInfo> aFiles) {
029        List<FileInfo> result = new ArrayList<FileInfo>();
030        for(FileInfo fileInfo: aFiles){
031          if( fileInfo.isJarFile() ) {
032            result.add(fileInfo);
033          }
034        }
035        return result;
036      }
037    }