/** * 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())); }
/** * 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); }