Example #1
0
 /**
  * Render yourself
  *
  * @param RMF\Request $request
  * @return Struct\Response
  */
 public function render(RMF\Request $request)
 {
     if (!is_file($this->resultDir . '/pdepend_summary.xml')) {
         return new Struct\Response('not_available.twig', array('summary' => $this->getSummary()));
     }
     $formula = isset($request->variables['formula']) ? $request->variables['formula'] : '$ce / ( $ca + $ce )';
     $this->model->load($this->resultDir . '/pdepend_summary.xml');
     $classes = $this->model->calculateTopClasses($formula, 25);
     $methods = $this->model->calculateTopMethods($formula, 25);
     return new Struct\Response('calculator.twig', array('formula' => $formula, 'classes' => $classes, 'classMetrics' => $this->model->getClassMetricList(), 'methods' => $methods, 'methodMetrics' => $this->model->getMethodMetricList()));
 }
Example #2
0
 /**
  * renderChart
  *
  * @param RMF\Request $request
  * @return void
  */
 public function renderChart(RMF\Request $request)
 {
     $this->model->load($this->resultDir . '/pdepend_summary.xml');
     $method = $request->variables['chart'] === 'class' ? 'getClassesMetric' : 'getMethodsMetric';
     $metrics = $this->model->{$method}($request->variables['metric'], pow(2, 31));
     $graph = new Chart\LineChart($metrics['name']);
     $graph->options->lineThickness = 0;
     $graph->xAxis = new \ezcGraphChartElementNumericAxis();
     $graph->xAxis->label = $request->variables['metric'];
     $graph->yAxis->label = '#';
     $graph->data[$metrics['name']] = new \ezcGraphArrayDataSet(array_count_values(array_map(function ($item) {
         return (int) $item['value'];
     }, $metrics['items'])));
     $graph->data[$metrics['name']]->symbol = \ezcGraph::BULLET;
     header('Content-Type: image/svg+xml');
     $graph->renderToOutput(600, 350);
     exit(0);
 }