/* * Sonar Motion Chart plugin * Copyright (C) 2009 SonarSource * dev@sonar.codehaus.org * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 */ package org.sonar.plugins.motionchart; import org.sonar.api.web.AbstractRubyTemplate; import org.sonar.api.web.NavigationSection; import org.sonar.api.web.RubyRailsPage; import org.sonar.api.web.UserRole; @NavigationSection({NavigationSection.RESOURCE, NavigationSection.HOME}) @UserRole(UserRole.VIEWER) public class MotionChartPage extends AbstractRubyTemplate implements RubyRailsPage { public static final String HEIGHT_KEY = "sonar.motionchart.height"; public static final String WIDTH_KEY = "sonar.motionchart.width"; public static final String DEFAULT_HEIGHT = "600"; public static final String DEFAULT_WIDTH = "800"; public static final String DEFAULT_METRICS_KEY = "sonar.motionchart.defaultmetrics"; /** * Comma-separated list of the 4 axis metrics loaded by default : X, Y, color, size. */ public static final String DEFAULT_METRICS_VALUE = "violations_density,coverage,function_complexity,complexity"; public static final String ADDITIONAL_METRICS_KEY = "sonar.motionchart.additionalmetrics"; public static final String ADDITIONAL_METRICS_DEFAULT_VALUE = "duplicated_lines_density,public_documented_api_density,uncovered_lines," + "ncloc,test_execution_time,function_complexity"; public String getTitle() { return "Motion chart"; } @Override public String getTemplatePath() { return "/org/sonar/plugins/motionchart/motionchart.html.erb"; } public String getId() { return getClass().getName(); } /* USEFUL METHODS FOR THE JRUBY SIDE */ public String getHeightKey() { return HEIGHT_KEY; } public String getWidthKey() { return WIDTH_KEY; } public String getDefaultHeight() { return DEFAULT_HEIGHT; } public String getDefaultWidth() { return DEFAULT_WIDTH; } public String getDefaultMetricsKey() { return DEFAULT_METRICS_KEY; } public String getDefaultMetricsValue() { return DEFAULT_METRICS_VALUE; } public String getAdditionalMetricsKey() { return ADDITIONAL_METRICS_KEY; } public String getAdditionalMetricsDefaultValue() { return ADDITIONAL_METRICS_DEFAULT_VALUE; } }