Package com.adobe.ac.pmd.metrics

Examples of com.adobe.ac.pmd.metrics.ProjectMetrics


   }

   @Override
   public ProjectMetrics loadMetrics()
   {
      final ProjectMetrics metrics = new ProjectMetrics();

      for ( final File directory : getNonEmptyDirectories() )
      {
         final Collection< File > classesInPackage = FileUtils.listFiles( directory,
                                                                          FLEX_FILTER,
                                                                          false );

         if ( directory.isDirectory()
               && !classesInPackage.isEmpty() )
         {
            final String packageFullName = MetricUtils.getQualifiedName( getSourceDirectory(),
                                                                         directory );
            int functionsInPackage = 0;
            int ncssInPackage = 0;
            int asDocsInPackage = 0;
            int multipleLineCommentInPackage = 0;
            final int importsInPackage = 0;

            for ( final File fileInPackage : classesInPackage )
            {
               IClass classNode = null;
               InternalFunctionMetrics functionMetrics = null;
               final IFlexFile file = com.adobe.ac.pmd.files.impl.FileUtils.create( fileInPackage,
                                                                                    getSourceDirectory() );
               if ( asts.containsKey( file.getFullyQualifiedName() )
                     && asts.get( file.getFullyQualifiedName() ).getClassNode() != null )
               {
                  classNode = asts.get( file.getFullyQualifiedName() ).getClassNode();
                  functionsInPackage += classNode.getFunctions().size();
                  functionMetrics = InternalFunctionMetrics.create( metrics,
                                                                    packageFullName,
                                                                    classNode );
                  asDocsInPackage += functionMetrics.getAsDocsInClass();
                  multipleLineCommentInPackage += functionMetrics.getMultipleLineCommentInClass();
                  ncssInPackage += functionMetrics.getNcssInClass();
               }
               final ClassMetrics classMetrics = ClassMetrics.create( packageFullName,
                                                                      fileInPackage,
                                                                      functionMetrics,
                                                                      classNode,
                                                                      file,
                                                                      mxmlFactor );
               asDocsInPackage += classMetrics.getAsDocs();
               multipleLineCommentInPackage += classMetrics.getMultiLineComments();
               metrics.getClassMetrics().add( classMetrics );
            }
            metrics.getPackageMetrics().add( PackageMetrics.create( classesInPackage,
                                                                    packageFullName,
                                                                    functionsInPackage,
                                                                    ncssInPackage,
                                                                    asDocsInPackage,
                                                                    multipleLineCommentInPackage,
View Full Code Here

TOP

Related Classes of com.adobe.ac.pmd.metrics.ProjectMetrics

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.