/* * Sonar SonarJ Plugin * Copyright (C) 2009, 2010 hello2morrow GmbH * mailto: info AT hello2morrow DOT com * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.hello2morrow.sonarplugin; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.sonar.api.profiles.RulesProfile; import org.sonar.api.resources.Java; import org.sonar.api.rules.Iso9126RulesCategories; import org.sonar.api.rules.Rule; import org.sonar.api.rules.RulePriority; import org.sonar.api.rules.RulesRepository; public final class SonarJRulesRepository implements RulesRepository<Java> { public final static Rule ARCH = new Rule(SonarJPluginBase.PLUGIN_KEY, SonarJPluginBase.ARCH_RULE_KEY, "SonarJ Architecture Violation", Iso9126RulesCategories.MAINTAINABILITY, RulePriority.MAJOR); public final static Rule THRESHOLD = new Rule(SonarJPluginBase.PLUGIN_KEY, SonarJPluginBase.THRESHOLD_RULE_KEY, "SonarJ Threshold Violation", Iso9126RulesCategories.MAINTAINABILITY, RulePriority.MINOR); public final static Rule DUPLICATES = new Rule(SonarJPluginBase.PLUGIN_KEY, SonarJPluginBase.DUPLICATE_RULE_KEY, "SonarJ Duplicate Code Block", Iso9126RulesCategories.MAINTAINABILITY, RulePriority.MINOR); public final static Rule CYCLE_GROUPS = new Rule(SonarJPluginBase.PLUGIN_KEY, SonarJPluginBase.CYCLE_GROUP_RULE_KEY, "SonarJ Cycle Group", Iso9126RulesCategories.MAINTAINABILITY, RulePriority.MINOR); public final static Rule WORKSPACE = new Rule(SonarJPluginBase.PLUGIN_KEY, SonarJPluginBase.WORKSPACE_RULE_KEY, "SonarJ Workspace Warning", Iso9126RulesCategories.MAINTAINABILITY, RulePriority.MINOR); public final static Rule TASK = new Rule(SonarJPluginBase.PLUGIN_KEY, SonarJPluginBase.TASK_RULE_KEY, "SonarJ Task", Iso9126RulesCategories.MAINTAINABILITY, RulePriority.MINOR); public List<Rule> getInitialReferential() { return Arrays.asList(ARCH, THRESHOLD, TASK, CYCLE_GROUPS, WORKSPACE, DUPLICATES); } public Java getLanguage() { return Java.INSTANCE; } public List<RulesProfile> getProvidedProfiles() { return new ArrayList<RulesProfile>(); } public List<Rule> parseReferential(String fileContent) { return new ArrayList<Rule>(); } }