提交 d2f601a9 编写于 作者: C Calvin

Issue #16 在Sonar 2.13默认Profile的基础上指定SpringSide的代码检查规则,同时顺手修改代码

上级 a31449a0
......@@ -38,6 +38,7 @@
/support/maven-archetype/.settings/
/support/maven-archetype/.project
/support/sonar/target/
/support/script
/logs
/target
/TODO.txt
......@@ -12,7 +12,7 @@ import org.springframework.test.context.ContextConfiguration;
import org.springside.examples.miniservice.data.AccountData;
import org.springside.examples.miniservice.entity.Department;
import org.springside.examples.miniservice.entity.User;
import org.springside.modules.test.data.Fixtures;
import org.springside.modules.test.data.H2Fixtures;
import org.springside.modules.test.spring.SpringTxTestCase;
import com.google.common.collect.Maps;
......@@ -35,7 +35,7 @@ public class AccountDaoTest extends SpringTxTestCase {
*/
@Before
public void reloadSampleData() throws Exception {
Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
H2Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
}
@Test
......
......@@ -6,7 +6,7 @@ import org.eclipse.jetty.server.Server;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.springside.examples.miniservice.Start;
import org.springside.modules.test.data.Fixtures;
import org.springside.modules.test.data.H2Fixtures;
import org.springside.modules.test.functional.JettyFactory;
import org.springside.modules.test.spring.SpringContextHolder;
......@@ -49,6 +49,6 @@ public class BaseFunctionalTestCase {
* 载入测试数据.
*/
protected static void reloadSampleData() throws Exception {
Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
H2Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
}
}
......@@ -10,7 +10,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springside.modules.test.data.Fixtures;
import org.springside.modules.test.data.H2Fixtures;
import org.springside.modules.test.spring.SpringTxTestCase;
@ContextConfiguration(locations = { "/applicationContext.xml" })
......@@ -24,7 +24,7 @@ public class JpaMappingTest extends SpringTxTestCase {
@Test
public void allClassMapping() throws Exception {
Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
H2Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
Metamodel model = em.getEntityManagerFactory().getMetamodel();
for (EntityType entityType : model.getEntities()) {
String entityName = entityType.getName();
......
......@@ -13,7 +13,7 @@ import org.springframework.test.context.ContextConfiguration;
import org.springside.examples.miniweb.data.AccountData;
import org.springside.examples.miniweb.entity.account.Group;
import org.springside.examples.miniweb.entity.account.User;
import org.springside.modules.test.data.Fixtures;
import org.springside.modules.test.data.H2Fixtures;
import org.springside.modules.test.spring.SpringTxTestCase;
/**
......@@ -39,7 +39,7 @@ public class GroupDaoTest extends SpringTxTestCase {
*/
@Before
public void reloadSampleData() throws Exception {
Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
H2Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
}
/**
......
......@@ -8,7 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springside.examples.miniweb.data.AccountData;
import org.springside.examples.miniweb.entity.account.User;
import org.springside.modules.test.data.Fixtures;
import org.springside.modules.test.data.H2Fixtures;
import org.springside.modules.test.spring.SpringTxTestCase;
/**
......@@ -26,7 +26,7 @@ public class UserDaoTest extends SpringTxTestCase {
@Before
public void reloadSampleData() throws Exception {
Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
H2Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
}
@Test
......
......@@ -11,7 +11,7 @@ import org.junit.Ignore;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.springside.examples.miniweb.Start;
import org.springside.modules.test.data.Fixtures;
import org.springside.modules.test.data.H2Fixtures;
import org.springside.modules.test.functional.JettyFactory;
import org.springside.modules.test.functional.Selenium2;
import org.springside.modules.test.functional.WebDriverFactory;
......@@ -63,7 +63,7 @@ public class BaseFunctionalTestCase {
* 载入测试数据.
*/
protected static void reloadSampleData() throws Exception {
Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
H2Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
}
/**
......
package org.springside.examples.showcase.utilities.json;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.*;
import java.io.IOException;
import java.util.Date;
......@@ -10,7 +9,6 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.JsonProcessingException;
......@@ -132,7 +130,7 @@ public class JsonDemo {
//打印全部属性
JsonMapper normalMapper = JsonMapper.buildNormalMapper();
assertEquals("{\"nullValue\":null,\"name\":\"A\",\"defaultValue\":\"hello\"}", normalMapper.toJson(bean));
assertEquals("{\"name\":\"A\",\"defaultValue\":\"hello\",\"nullValue\":null}", normalMapper.toJson(bean));
//不打印nullValue属性
JsonMapper nonNullMapper = JsonMapper.buildNonNullMapper();
......@@ -212,7 +210,7 @@ public class JsonDemo {
@Override
public String toString() {
return new Integer(index).toString();
return String.valueOf(index);
}
}
......@@ -262,7 +260,7 @@ public class JsonDemo {
child2.setParent(parent);
parent.getChilds().add(child2);
String jsonString = "{\"childs\":[{\"name\":\"child1\"},{\"name\":\"child2\"}],\"name\":\"parent\"}";
String jsonString = "{\"name\":\"parent\",\"childs\":[{\"name\":\"child1\"},{\"name\":\"child2\"}]}";
//打印parent的json输出,json字符串裡childs中的child1/child2都不包含到parent的屬性
assertEquals(jsonString, mapper.toJson(parent));
......@@ -281,7 +279,7 @@ public class JsonDemo {
private String name;
private ParentChildBean parent;
public List<ParentChildBean> childs = Lists.newArrayList();
private List<ParentChildBean> childs = Lists.newArrayList();
public ParentChildBean() {
}
......@@ -339,7 +337,7 @@ public class JsonDemo {
public static class ExtensibleBean {
private String name; // we always have name
private HashMap<String, String> properties = Maps.newHashMap();
private Map<String, String> properties = Maps.newHashMap();
public ExtensibleBean() {
}
......@@ -367,7 +365,7 @@ public class JsonDemo {
* 測試序列化Bean时使用不同的View序列化不同的属性组, 及@JsonIgnore標註的屬性.
*/
@Test
public void viewBean() throws JsonGenerationException, JsonMappingException, IOException {
public void viewBean() throws IOException {
ViewBean viewBean = new ViewBean();
viewBean.setName("Foo");
viewBean.setAge(16);
......@@ -375,7 +373,7 @@ public class JsonDemo {
viewBean.setIgnoreValue("ignored");
ObjectWriter publicWriter = mapper.getMapper().writerWithView(Views.Public.class);
assertEquals("{\"otherValue\":\"others\",\"name\":\"Foo\"}", publicWriter.writeValueAsString(viewBean));
assertEquals("{\"name\":\"Foo\",\"otherValue\":\"others\"}", publicWriter.writeValueAsString(viewBean));
ObjectWriter internalWriter = mapper.getMapper().writerWithView(Views.Internal.class);
assertEquals("{\"age\":16,\"otherValue\":\"others\"}", internalWriter.writeValueAsString(viewBean));
......
......@@ -10,7 +10,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springside.modules.test.data.Fixtures;
import org.springside.modules.test.data.H2Fixtures;
import org.springside.modules.test.spring.SpringTxTestCase;
@ContextConfiguration(locations = { "/applicationContext.xml" })
......@@ -24,7 +24,7 @@ public class JpaMappingTest extends SpringTxTestCase {
@Test
public void allClassMapping() throws Exception {
Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
H2Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
Metamodel model = em.getEntityManagerFactory().getMetamodel();
for (EntityType entityType : model.getEntities()) {
String entityName = entityType.getName();
......
......@@ -6,7 +6,7 @@ import org.eclipse.jetty.server.Server;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.springside.examples.showcase.Start;
import org.springside.modules.test.data.Fixtures;
import org.springside.modules.test.data.H2Fixtures;
import org.springside.modules.test.functional.JettyFactory;
import org.springside.modules.test.spring.SpringContextHolder;
......@@ -45,6 +45,6 @@ public class BaseFunctionalTestCase {
* 载入默认数据.
*/
protected static void reloadSampleData() throws Exception {
Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
H2Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
}
}
......@@ -8,7 +8,7 @@ import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springside.modules.log.MockLog4jAppender;
import org.springside.modules.test.data.Fixtures;
import org.springside.modules.test.data.H2Fixtures;
import org.springside.modules.test.spring.SpringTxTestCase;
import org.springside.modules.utils.Threads;
......@@ -20,7 +20,7 @@ public class JdkExecutorJobTest extends SpringTxTestCase {
@Test
public void scheduleJob() throws Exception {
Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
H2Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
//加载测试用logger appender
MockLog4jAppender appender = new MockLog4jAppender();
......
......@@ -8,7 +8,7 @@ import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springside.modules.log.MockLog4jAppender;
import org.springside.modules.test.data.Fixtures;
import org.springside.modules.test.data.H2Fixtures;
import org.springside.modules.test.spring.SpringTxTestCase;
import org.springside.modules.utils.Threads;
......@@ -25,7 +25,7 @@ public class QuartzClusterableJobTest extends SpringTxTestCase {
@Test
public void scheduleJob() throws Exception {
Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
H2Fixtures.reloadAllTable(dataSource, "/data/sample-data.xml");
//加载测试用logger appender
MockLog4jAppender appender = new MockLog4jAppender();
......
......@@ -3,6 +3,9 @@ package org.springside.modules.orm.jpa;
import org.hibernate.Hibernate;
public class Jpas {
private Jpas() {
}
public static void initLazyProperty(Object proxyed) {
Hibernate.initialize(proxyed);
......
......@@ -32,12 +32,12 @@ import org.springside.modules.utils.PropertiesLoader;
/**
* 基于DBUnit初始化测试数据到H2数据库的工具类.
*/
public class Fixtures {
public class H2Fixtures {
private static Logger logger = LoggerFactory.getLogger(PropertiesLoader.class);
private static ResourceLoader resourceLoader = new DefaultResourceLoader();
private Fixtures() {
private H2Fixtures() {
}
/**
......@@ -116,6 +116,8 @@ public class Fixtures {
}
}
rs.close();
deleteTable(h2DataSource, tableNames.toArray(new String[tableNames.size()]));
} catch (SQLException e) {
Exceptions.unchecked(e);
......
......@@ -15,6 +15,9 @@ import java.io.StringWriter;
*/
public class Exceptions {
private Exceptions() {
}
/**
* 将CheckedException转换为UncheckedException.
*/
......
......@@ -7,7 +7,7 @@ import javax.sql.DataSource;
import org.junit.Test;
import org.springframework.beans.BeansException;
import org.springframework.test.context.ContextConfiguration;
import org.springside.modules.test.data.Fixtures;
import org.springside.modules.test.data.H2Fixtures;
import org.springside.modules.test.spring.SpringTxTestCase;
@ContextConfiguration(locations = { "/applicationContext-core-test.xml" })
......@@ -20,20 +20,20 @@ public class FixturesTest extends SpringTxTestCase {
executeSqlScript("classpath:/schema.sql", false);
DataSource ds = (DataSource) applicationContext.getBean("dataSource");
Fixtures.loadData(ds, "classpath:/test-data.xml");
H2Fixtures.loadData(ds, "classpath:/test-data.xml");
assertEquals(6, countRowsInTable("SS_USER"));
Fixtures.reloadData(ds, "classpath:/test-data.xml");
H2Fixtures.reloadData(ds, "classpath:/test-data.xml");
assertEquals(6, countRowsInTable("SS_USER"));
Fixtures.deleteData(ds, "classpath:/test-data.xml");
H2Fixtures.deleteData(ds, "classpath:/test-data.xml");
assertEquals(0, countRowsInTable("SS_USER"));
Fixtures.loadData(ds, "classpath:/test-data.xml");
Fixtures.deleteAllTable(ds);
H2Fixtures.loadData(ds, "classpath:/test-data.xml");
H2Fixtures.deleteAllTable(ds);
assertEquals(0, countRowsInTable("SS_USER"));
Fixtures.reloadAllTable(ds, "classpath:/test-data.xml");
H2Fixtures.reloadAllTable(ds, "classpath:/test-data.xml");
assertEquals(6, countRowsInTable("SS_USER"));
}
......
......@@ -939,7 +939,7 @@
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<configLocation>../../support/sonar/checkstyle.xml</configLocation>
<configLocation>../../support/sonar/springside-checkstyle.xml</configLocation>
</configuration>
</plugin>
<plugin>
......@@ -948,7 +948,8 @@
<version>2.7.1</version>
<configuration>
<targetJdk>${jdk.version}</targetJdk>
<rulesets><ruleset>../../support/sonar/pmd.xml</ruleset></rulesets>
<rulesets><ruleset>../../support/sonar/springside-pmd.xml</ruleset></rulesets>
<formats><format>html</format></formats>
</configuration>
</plugin>
<plugin>
......@@ -964,13 +965,19 @@
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.4.0</version>
<configuration>
<includeFilterFile>../../support/sonar/findbugs.xml</includeFilterFile>
<includeFilterFile>../../support/sonar/springside-findbugs.xml</includeFilterFile>
<formats><format>html</format></formats>
</configuration>
</plugin>
</reportPlugins>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>2.0</version>
</plugin>
</plugins>
</pluginManagement>
</build>
......
sonar-*.xml are backup from sonar-2.13.1
springside-*.xml is a springside version, please see the wiki for changes.
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN" "http://www.puppycrawl.com/dtds/configuration_1_2.dtd"><!-- Generated by Sonar --><module name="Checker"><module name="SuppressionCommentFilter"/><module name="TreeWalker"><module name="FileContentsHolder"/> <module name="CyclomaticComplexity"><property name="severity" value="warning"/><property name="max" value="10"/></module><module name="DoubleCheckedLocking"><property name="severity" value="warning"/></module><module name="HiddenField"><property name="severity" value="warning"/><property name="tokens" value="VARIABLE_DEF"/><property name="ignoreConstructorParameter" value="true"/><property name="ignoreSetter" value="true"/><property name="ignoreAbstractMethods" value="true"/></module><module name="StringLiteralEquality"><property name="severity" value="warning"/></module><module name="LocalVariableName"><property name="severity" value="warning"/><property name="format" value="^[a-z][a-zA-Z0-9]*$"/></module><module name="RedundantModifier"><property name="severity" value="info"/></module><module name="IllegalThrows"><property name="severity" value="warning"/></module><module name="AnonInnerLength"><property name="severity" value="warning"/></module><module name="StaticVariableName"><property name="severity" value="warning"/><property name="format" value="^[a-z][a-zA-Z0-9]*$"/><property name="applyToPublic" value="true"/><property name="applyToProtected" value="true"/><property name="applyToPackage" value="true"/><property name="applyToPrivate" value="true"/></module><module name="ParameterName"><property name="severity" value="warning"/><property name="format" value="^[a-z][a-zA-Z0-9]*$"/></module><module name="MethodName"><property name="severity" value="warning"/><property name="format" value="^[a-z][a-zA-Z0-9]*$"/><property name="allowClassName" value="false"/></module><module name="DefaultComesLast"><property name="severity" value="warning"/></module><module name="LocalFinalVariableName"><property name="severity" value="warning"/><property name="format" value="^[a-z][a-zA-Z0-9]*$"/></module><module name="MemberName"><property name="severity" value="warning"/><property name="format" value="^[a-z][a-zA-Z0-9]*$"/><property name="applyToPublic" value="true"/><property name="applyToProtected" value="true"/><property name="applyToPackage" value="true"/><property name="applyToPrivate" value="true"/></module><module name="EqualsHashCode"><property name="severity" value="error"/></module><module name="VisibilityModifier"><property name="severity" value="warning"/><property name="protectedAllowed" value="true"/></module><module name="EmptyStatement"><property name="severity" value="info"/></module><module name="PackageName"><property name="severity" value="warning"/><property name="format" value="^[a-z]+(\.[a-zA-Z_][a-zA-Z0-9_]*)*$"/></module><module name="ConstantName"><property name="severity" value="info"/><property name="format" value="^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"/><property name="applyToPublic" value="true"/><property name="applyToProtected" value="true"/><property name="applyToPackage" value="true"/><property name="applyToPrivate" value="true"/></module><module name="RedundantThrows"><property name="severity" value="info"/></module><module name="ParameterAssignment"><property name="severity" value="warning"/></module><module name="UnusedImports"><property name="severity" value="info"/><property name="processJavadoc" value="false"/></module><module name="SimplifyBooleanExpression"><property name="severity" value="warning"/></module><module name="HideUtilityClassConstructor"><property name="severity" value="warning"/></module><module name="SimplifyBooleanReturn"><property name="severity" value="warning"/></module><module name="ModifierOrder"><property name="severity" value="info"/></module><module name="BooleanExpressionComplexity"><property name="severity" value="warning"/></module><module name="InnerAssignment"><property name="severity" value="warning"/></module><module name="MagicNumber"><property name="severity" value="info"/><property name="ignoreHashCodeMethod" value="false"/><property name="ignoreAnnotation" value="false"/></module></module></module>
\ No newline at end of file
此差异已折叠。
<?xml version="1.0" encoding="UTF-8"?>
<ruleset>
<rule ref="rulesets/basic.xml/UnusedNullCheckInEquals">
<priority>3</priority>
</rule>
<rule ref="rulesets/strings.xml/StringInstantiation">
<priority>3</priority>
</rule>
<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod">
<priority>3</priority>
</rule>
<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE">
<priority>3</priority>
</rule>
<rule ref="rulesets/strictexception.xml/AvoidRethrowingException">
<priority>3</priority>
</rule>
<rule ref="rulesets/migrating.xml/ReplaceEnumerationWithIterator">
<priority>3</priority>
</rule>
<rule ref="rulesets/optimizations.xml/AvoidArrayLoops">
<priority>3</priority>
</rule>
<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter">
<priority>3</priority>
</rule>
<rule ref="rulesets/basic.xml/EmptySwitchStatements">
<priority>3</priority>
</rule>
<rule ref="rulesets/basic.xml/ClassCastExceptionWithToArray">
<priority>3</priority>
</rule>
<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException">
<priority>3</priority>
</rule>
<rule ref="rulesets/unusedcode.xml/UnusedPrivateField">
<priority>3</priority>
</rule>
<rule ref="rulesets/design.xml/CompareObjectsWithEquals">
<priority>3</priority>
</rule>
<rule ref="rulesets/strings.xml/UseIndexOfChar">
<priority>3</priority>
</rule>
<rule ref="rulesets/basic.xml/BigIntegerInstantiation">
<priority>3</priority>
</rule>
<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic">
<priority>4</priority>
</rule>
<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces">
<priority>3</priority>
</rule>
<rule ref="rulesets/naming.xml/SuspiciousEqualsMethodName">
<priority>2</priority>
</rule>
<rule ref="rulesets/design.xml/InstantiationToGetClass">
<priority>3</priority>
</rule>
<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName">
<priority>3</priority>
</rule>
<rule ref="rulesets/coupling.xml/LooseCoupling">
<priority>3</priority>
</rule>
<rule ref="rulesets/unusedcode.xml/UnusedLocalVariable">
<priority>3</priority>
</rule>
<rule ref="rulesets/strings.xml/UnnecessaryCaseChange">
<priority>4</priority>
</rule>
<rule ref="rulesets/basic.xml/EmptySynchronizedBlock">
<priority>2</priority>
</rule>
<rule ref="rulesets/design.xml/SingularField">
<priority>4</priority>
</rule>
<rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod">
<priority>3</priority>
</rule>
<rule ref="rulesets/design.xml/CloseResource">
<priority>3</priority>
</rule>
<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable">
<priority>2</priority>
</rule>
<rule ref="rulesets/basic.xml/EmptyWhileStmt">
<priority>2</priority>
</rule>
<rule ref="rulesets/basic.xml/CollapsibleIfStatements">
<priority>4</priority>
</rule>
<rule ref="rulesets/basic.xml/UselessOperationOnImmutable">
<priority>2</priority>
</rule>
<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable">
<priority>3</priority>
</rule>
<rule ref="rulesets/basic.xml/UselessOverridingMethod">
<priority>3</priority>
</rule>
<rule ref="rulesets/controversial.xml/UnusedModifier">
<priority>5</priority>
</rule>
<rule ref="rulesets/design.xml/PreserveStackTrace">
<priority>3</priority>
</rule>
<rule ref="rulesets/optimizations.xml/UseArraysAsList">
<priority>3</priority>
</rule>
<rule ref="rulesets/basic.xml/EmptyIfStmt">
<priority>2</priority>
</rule>
<rule ref="rulesets/design.xml/EqualsNull">
<priority>2</priority>
</rule>
<rule ref="rulesets/basic.xml/BrokenNullCheck">
<priority>2</priority>
</rule>
<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging">
<priority>3</priority>
</rule>
<rule ref="rulesets/strings.xml/InefficientStringBuffering">
<priority>3</priority>
</rule>
<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly">
<priority>2</priority>
</rule>
<rule ref="rulesets/finalizers.xml/FinalizeOverloaded">
<priority>3</priority>
</rule>
<rule ref="rulesets/naming.xml/ClassNamingConventions">
<priority>3</priority>
</rule>
<rule ref="rulesets/controversial.xml/DontImportSun">
<priority>4</priority>
</rule>
<rule ref="rulesets/imports.xml/DontImportJavaLang">
<priority>4</priority>
</rule>
<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass">
<priority>3</priority>
</rule>
<rule ref="rulesets/strings.xml/StringBufferInstantiationWithChar">
<priority>3</priority>
</rule>
<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector">
<priority>3</priority>
</rule>
<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces">
<priority>3</priority>
</rule>
<rule ref="rulesets/strings.xml/StringToString">
<priority>3</priority>
</rule>
<rule ref="rulesets/design.xml/SimplifyConditional">
<priority>3</priority>
</rule>
<rule ref="rulesets/migrating.xml/ReplaceVectorWithList">
<priority>3</priority>
</rule>
<rule ref="rulesets/codesize.xml/NcssMethodCount">
<priority>3</priority>
<properties>
<property name="minimum" value="50" />
</properties>
</rule>
<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace">
<priority>3</priority>
</rule>
<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass">
<priority>3</priority>
</rule>
<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName">
<priority>3</priority>
</rule>
<rule ref="rulesets/codesize.xml/NcssTypeCount">
<priority>3</priority>
<properties>
<property name="minimum" value="800" />
</properties>
</rule>
<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause">
<priority>4</priority>
</rule>
<rule ref="rulesets/basic.xml/EmptyFinallyBlock">
<priority>2</priority>
</rule>
<rule ref="rulesets/migrating.xml/IntegerInstantiation">
<priority>3</priority>
</rule>
<rule ref="rulesets/naming.xml/AvoidDollarSigns">
<priority>4</priority>
</rule>
<rule ref="rulesets/migrating.xml/AvoidAssertAsIdentifier">
<priority>3</priority>
</rule>
<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn">
<priority>3</priority>
</rule>
<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize">
<priority>3</priority>
</rule>
<rule ref="rulesets/basic.xml/BooleanInstantiation">
<priority>3</priority>
</rule>
<rule ref="rulesets/basic.xml/UnconditionalIfStatement">
<priority>2</priority>
</rule>
<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException">
<priority>3</priority>
</rule>
<rule ref="rulesets/migrating.xml/ReplaceHashtableWithMap">
<priority>3</priority>
</rule>
<rule ref="rulesets/basic.xml/AvoidDecimalLiteralsInBigDecimalConstructor">
<priority>3</priority>
</rule>
<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces">
<priority>3</priority>
</rule>
<rule ref="rulesets/basic.xml/EmptyTryBlock">
<priority>3</priority>
</rule>
<rule ref="rulesets/finalizers.xml/EmptyFinalizer">
<priority>3</priority>
</rule>
<rule ref="rulesets/design.xml/IdempotentOperations">
<priority>3</priority>
</rule>
<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl">
<priority>3</priority>
</rule>
<rule ref="rulesets/basic.xml/EmptyStaticInitializer">
<priority>3</priority>
</rule>
<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize">
<priority>3</priority>
</rule>
<rule ref="rulesets/strings.xml/UseStringBufferLength">
<priority>4</priority>
</rule>
<rule ref="rulesets/migrating.xml/AvoidEnumAsIdentifier">
<priority>3</priority>
</rule>
<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces">
<priority>3</priority>
</rule>
<rule ref="rulesets/logging-java.xml/SystemPrintln">
<priority>3</priority>
</rule>
<rule ref="rulesets/strings.xml/UselessStringValueOf">
<priority>4</priority>
</rule>
<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals">
<priority>3</priority>
</rule>
</ruleset>
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册