Login | Register
My pages Projects Community openCollabNet

Discussions > Commits > svn commit: r131 - trunk/externalTools/MetricsGather/src: foo metrics

argouml-spl
Discussion topic

Back to topic list

svn commit: r131 - trunk/externalTools/MetricsGather/src: foo metrics

Author marcusvnac
Full name Marcus Vinícius de Ávila Couto
Date 2010-09-26 15:21:03 PDT
Message Author: marcusvnac
Date: 2010-09-26 15:21:02-0700
New Revision: 131

Modified:
   trunk/externalTools/​MetricsGather/src/fo​o/Main.java
   trunk/externalTools/​MetricsGather/src/me​trics/GatherMetrics.​java
   trunk/externalTools/​MetricsGather/src/me​trics/MetricsProcess​or.java

Log:
Add option do generate only basic metrics.

Modified: trunk/externalTools/​MetricsGather/src/fo​o/Main.java
Url: http://argouml-spl.t​igris.org/source/bro​wse/argouml-spl/trun​k/externalTools/Metr​icsGather/src/foo/Ma​in.java?view=diff​&pathrev=131&r1​=130&r2=131
====================​====================​====================​==================
--- trunk/externalTools/​MetricsGather/src/fo​o/Main.java (original)
+++ trunk/externalTools/​MetricsGather/src/fo​o/Main.java 2010-09-26 15:21:02-0700
@@ -9,12 +9,19 @@
     /**
      * Inicializa o sistema.
      * @param args parâmetros de execução.
- * 1º parâmetro: diretório raiz / 2º parâmetro: arquivo de saída.
+ * 1º parâmetro: diretório raiz
+ * 2º parâmetro: arquivo de saída.
+ * 3º parâmetro: Apenas métricas básicas
      */
     public static void main(String[] args) {
         Log.info("Starting gattering metrics");
- if (args.length > 0) {
- GatherMetrics rd = new GatherMetrics(args[0]);
+ if (args.length > 1) {
+ GatherMetrics rd;
+ if (args.length == 2) {
+ rd = new GatherMetrics(args[0]);
+ } else {
+ rd = new GatherMetrics(args[0], Boolean.parseBoolean(args[2]));
+ }
             rd.gatherMetrics(args[1]);
             Log.info("End of gattering metrics. File " + args[1] + " generated.");
         } else {

Modified: trunk/externalTools/​MetricsGather/src/me​trics/GatherMetrics.​java
Url: http://argouml-spl.t​igris.org/source/bro​wse/argouml-spl/trun​k/externalTools/Metr​icsGather/src/metric​s/GatherMetrics.java​?view=diff&pathr​ev=131&r1=130​&r2=131
====================​====================​====================​==================
--- trunk/externalTools/​MetricsGather/src/me​trics/GatherMetrics.​java (original)
+++ trunk/externalTools/​MetricsGather/src/me​trics/GatherMetrics.​java 2010-09-26 15:21:02-0700
@@ -26,8 +26,15 @@
      */
     private static Integer PACKAGE_COUNTER;
     
+ /**
+ * Informa se o diretório possui arquivos Java válidos, para ser usado na contabilização de pacotes.
+ */
     private static Boolean HasValidJavaFile;
     
+ /**
+ * Informa se é para processar apenas métricas básicas: LOC, AND, OR, SD.
+ */
+ private static Boolean OnlyBasicMetrics;
     
     /**
      * Filtro de diretórios.
@@ -67,7 +74,18 @@
         metricsProcessor = new MetricsProcessor();
         PACKAGE_COUNTER = 0;
         HasValidJavaFile = false;
+ OnlyBasicMetrics = false;
     }
+
+ /**
+ * Construtor padrão
+ * @param rootDir Diretório raiz (onde se inicia a varredura)
+ * @param onlyBasicMetrics Informa se é para processar apenas métricas básicas.
+ */
+ public GatherMetrics(String rootDir, Boolean onlyBasicMetrics) {
+ this(rootDir);
+ OnlyBasicMetrics = onlyBasicMetrics;
+ }
     
     /**
      * Colhe as métricas e as salva em arquivo.
@@ -76,10 +94,14 @@
     public void gatherMetrics(String filename) {
         this.listDir(new File(rootDir));
         metricsProcessor.ins​ertMetric(MetricType​.PACKAGE_NUMBER, PACKAGE_COUNTER);
- metricsProcessor.pro​cessGatheredMetrics(​);
+ metricsProcessor.pro​cessGatheredMetrics(​OnlyBasicMetrics);
         metricsProcessor.sav​eGatheredMetrics(fil​ename);
     }
     
+ /**
+ * Lista os diretórios e subdiretórios.
+ * @param dir
+ */
     private void listDir(File dir) {
         if (dir.isDirectory()) {
             listDirFiles(dir);
@@ -90,6 +112,10 @@
         }
     }
     
+ /**
+ * Lista os arquivos .java de um diretório.
+ * @param dir Diretório a ser lido.
+ */
     private void listDirFiles(File dir) {
         Log.debug(dir.toString());
         String[] children = dir.list(javaFileFilter);
@@ -102,8 +128,13 @@
         if (HasValidJavaFile && (i > 0)) {
             PACKAGE_COUNTER++;
         }
+ HasValidJavaFile = false;
     }
     
+ /**
+ * Efetua a leitura dos arquivos .java
+ * @param file Arguivo Java a ser lido.
+ */
     private void processFile(File file) {
         try {
             BufferedReader br = new BufferedReader(new FileReader(file));

Modified: trunk/externalTools/​MetricsGather/src/me​trics/MetricsProcess​or.java
Url: http://argouml-spl.t​igris.org/source/bro​wse/argouml-spl/trun​k/externalTools/Metr​icsGather/src/metric​s/MetricsProcessor.j​ava?view=diff&pa​threv=131&r1=130​&r2=131
====================​====================​====================​==================
--- trunk/externalTools/​MetricsGather/src/me​trics/MetricsProcess​or.java (original)
+++ trunk/externalTools/​MetricsGather/src/me​trics/MetricsProcess​or.java 2010-09-26 15:21:02-0700
@@ -211,15 +211,18 @@
     
     /**
      * Processa as métricas colhidas.
+ * @param onlyBasicMetrics Informa se é para processar apenas métricas básicas.
      * @return <code>true</code> se processamento correto, <false> caso contrário.
      */
- public boolean processGatheredMetrics() {
+ public boolean processGatheredMetrics(Boolean onlyBasicMetrics) {
         // Inserir métrica que contabiliza o número de classes
         insertMetric(MetricT​ype.CLASS_NUMBER, CLASS_COUNTER);
         // Processar demais métricas.
         boolean result = this.processGathered​Metrics(otherMetrics​);
- result = result && this.processGathered​Metrics(granMetrics)​;
- result = result && this.processGathered​Metrics(localMetrics​);
+ if (!onlyBasicMetrics) {
+ result = result && this.processGathered​Metrics(granMetrics)​;
+ result = result && this.processGathered​Metrics(localMetrics​);
+ }
         return result;
     }

« Previous message in topic | 1 of 1 | Next message in topic »

Messages

Show all messages in topic

svn commit: r131 - trunk/externalTools/MetricsGather/src: foo metrics marcusvnac Marcus Vinícius de Ávila Couto 2010-09-26 15:21:03 PDT
Messages per page: