diff --git a/.checkstyle b/.checkstyle index cfd4ee68000a768710181eb392865d1d50631f1c..932a691d8d7d4ac3154c897e43792fac4f352e80 100644 --- a/.checkstyle +++ b/.checkstyle @@ -12,4 +12,5 @@ <file-match-pattern match-pattern="." include-pattern="true"/> </fileset> <filter name="WriteProtectedFiles" enabled="true"/> + <filter name="DerivedFiles" enabled="true"/> </fileset-config> diff --git a/.project b/.project index 9c7a3eb0d7770870a1a8064f5071cf4d6d79247e..c3dde7d007d57e79f312855139ed9e54b09ae679 100644 --- a/.project +++ b/.project @@ -25,11 +25,17 @@ <arguments> </arguments> </buildCommand> + <buildCommand> + <name>net.sf.eclipsecs.core.CheckstyleBuilder</name> + <arguments> + </arguments> + </buildCommand> </buildSpec> <natures> <nature>org.eclipse.m2e.core.maven2Nature</nature> <nature>org.eclipse.jdt.core.javanature</nature> <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature> <nature>net.sourceforge.pmd.eclipse.plugin.pmdNature</nature> + <nature>net.sf.eclipsecs.core.CheckstyleNature</nature> </natures> </projectDescription> diff --git a/conf/quality-config/cs-conf.xml b/conf/quality-config/cs-conf.xml index a87a0996febaa34d702cf0f54fd1fe6b476d8c8d..29a57a4ee712da9e768613fd02b959a9e086a6c5 100644 --- a/conf/quality-config/cs-conf.xml +++ b/conf/quality-config/cs-conf.xml @@ -1,1205 +1,1075 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE module PUBLIC - "-//Puppy Crawl//DTD Check Configuration 1.3//EN" - "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> +<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> <module name="Checker"> - -<!-- <property name="checkstyle.ignoreCustomKieker" value=""/> --> - - <!-- KIEKER default is warning instead of error --> - <property name="severity" value="error"/> - - <!-- KIEKER Filter --> - <module name="SuppressWithNearbyCommentFilter"> - <property name="commentFormat" value="NOCS"/> - <property name="checkFormat" value=".*"/> - <property name="influenceFormat" value="0"/> - </module> - - <!-- - If you set the basedir property below, then all reported file - names will be relative to the specified directory. See - http://checkstyle.sourceforge.net/5.x/config.html#Checker - - <property name="basedir" value="${basedir}"/> - <property name="localeCountry" value=""/> JVM locale country - <property name="localeLanguage" value=""/> JVM locale language - <property name="charset" value=""/> JVM file.encoding property - !--> - - - <!-- - !________________________________________________________________________________________ - ! - ! D U P L I C A T E S - !________________________________________________________________________________________ - !--> - <!-- Performs a line-by-line comparison of all code lines and reports duplicate code. !--> - <!-- See http://checkstyle.sf.net/config_duplicates.html !--> - <!-- KIEKER Does not work with headers!! - <module name="StrictDuplicateCode"> - <property name="min" value="12"/> - <property name="fileExtensions" value=""/> - </module> - --> - - <!-- - !________________________________________________________________________________________ - ! - ! H E A D E R S - !________________________________________________________________________________________ - !--> - <!-- NOTE: You may enable zero or one of these header checks, but not both. !--> - - <!-- Checks that a source file begins with a specified header. !--> - <!-- See http://checkstyle.sf.net/config_header.html !--> - <!-- KIEKER !--> -<!-- <module name="Header"> --> -<!-- <property name="headerFile" value=""/> --> -<!-- <property name="charset" value=""/> --> -<!-- <property name="header" value="/***************************************************************************\n * Copyright 2013 Kieker Project (http://kieker-monitoring.net)\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n ***************************************************************************/\n"/> --> -<!-- <property name="ignoreLines" value="2"/> --> -<!-- <property name="fileExtensions" value="java"/> --> -<!-- </module> --> - - <!-- Checks the header of a source file against a header file that contains a regular expression !--> - <!-- for each line of the source header. !--> - <!-- See http://checkstyle.sf.net/config_header.html !--> - <!-- Default: OFF - <module name="RegexpHeader"> - <property name="headerFile" value=""/> - <property name="charset" value=""/> - <property name="header" value=""/> - <property name="multiLines" value=""/> - <property name="fileExtensions" value=""/> - </module> - !--> - - <!-- - !________________________________________________________________________________________ - ! - ! J A V A D O C S - !________________________________________________________________________________________ - !--> - <!-- Checks that each Java package has a Javadoc file used for commenting. !--> - <!-- See http://checkstyle.sourceforge.net/config_javadoc.html#JavadocPackage !--> - <!-- KIEKER: OFF - <module name="JavadocPackage"> - <property name="severity" value="info"/> - <property name="allowLegacy" value="false"/> - </module> - !--> - - <!-- - !________________________________________________________________________________________ - ! - ! R E G E X P - !________________________________________________________________________________________ - !--> - <!-- A check for detecting that matches across multiple lines. Works with any file type. !--> - <!-- See http://checkstyle.sourceforge.net/config_regexp.html#RegexpMultiline !--> - <!-- Default: OFF - <module name="RegexpMultiline"> - <property name="format" value=""/> - <property name="message" value=""/> - <property name="ignoreCase" value="false"/> - <property name="minimum" value="0"/> - <property name="maximum" value="0"/> - <property name="fileExtensions" value=""/> - </module> - !--> - - <!-- A check for detecting single lines that match a supplied regular expression. Works with any file type. !--> - <!-- See http://checkstyle.sourceforge.net/config_regexp.html#RegexpSingleline !--> - <!-- Default: OFF - <module name="RegexpSingleline"> - <property name="format" value="\s+$"/> - <property name="message" value=""/> - <property name="ignoreCase" value="false"/> - <property name="minimum" value="0"/> - <property name="maximum" value="0"/> - <property name="fileExtensions" value=""/> - </module> - !--> - - <!-- - !________________________________________________________________________________________ - ! - ! M I S C E L L A N E O U S - !________________________________________________________________________________________ - !--> - <!-- Checks whether files end with a new line. !--> - <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile !--> - <module name="NewlineAtEndOfFile"> - <property name="lineSeparator" value="system"/> - <property name="fileExtensions" value="*.*"/> - </module> - - <!-- Checks that property files contain the same keys. !--> - <!-- See http://checkstyle.sf.net/config_misc.html#Translation !--> - <module name="Translation"> - <property name="fileExtensions" value="properties"/> - </module> - - - <!-- - !________________________________________________________________________________________ - ! - ! S I Z E V I O L A T I O N S - !________________________________________________________________________________________ - !--> - <!-- Checks for long source files. !--> - <!-- See http://checkstyle.sf.net/config_sizes.html !--> - <module name="FileLength"> - <property name="max" value="2000"/> - <property name="fileExtensions" value="java"/> - </module> - - - <!-- - !________________________________________________________________________________________ - ! - ! W H I T E S P A C E - !________________________________________________________________________________________ - !--> - <!-- Checks that there are no tab characters ('\t') in the source code. !--> - <!-- See http://checkstyle.sourceforge.net/config_whitespace.html#FileTabCharacter !--> - <!-- KIEKER we use TABs - <module name="FileTabCharacter"> - <property name="eachLine" value="false"/> - <property name="fileExtensions" value=""/> - </module> - --> - - <module name="TreeWalker"> - <property name="tabWidth" value="4"/> - <module name="FileContentsHolder"/> - - <!-- - !________________________________________________________________________________________ - ! - ! A N N O T A T I O N S - !________________________________________________________________________________________ - !--> - <!-- This check controls the usage style of annotations. !--> - <!-- See http://checkstyle.sourceforge.net/config_annotation.html#AnnotationUseStyle !--> - <module name ="AnnotationUseStyle"> - <property name="elementStyle" value="compact_no_array"/> - <property name="closingParens" value="never"/> - <property name="trailingArrayComma" value="never"/> - </module> - - <!-- Verifies that both the java.lang.Deprecated import is present and the @deprecated Javadoc tag is present when either is present. !--> - <!-- See http://checkstyle.sourceforge.net/config_annotation.html#MissingDeprecated !--> - <module name="MissingDeprecated"> - <property name="severity" value="info"/> - </module> - - <!-- Verifies that the java.lang.Override annotation is present when the {@inheritDoc} javadoc tag is present. !--> - <!-- See http://checkstyle.sourceforge.net/config_annotation.html#MissingOverride !--> - <!-- problems with Java 1.5 - <module name="MissingOverride"> - <property name="javaFiveCompatibility" value="false"/> - </module> - --> - - <!-- This check makes sure that all package annotations are in the package-info.java file. !--> - <!-- See http://checkstyle.sourceforge.net/config_annotation.html#PackageAnnotation !--> - <module name="PackageAnnotation"/> - - <!-- This check allows you to specify what warnings that SuppressWarnings is not allowed to suppress. !--> - <!-- You can also specify a list of TokenTypes that the configured warning(s) cannot be suppressed on. !--> - <!-- See http://checkstyle.sourceforge.net/config_annotation.html#SuppressWarnings !--> - <module name="SuppressWarnings"> - <property name="format" value="^$|^\s+$"/> - <property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF, + <!-- !________________________________________________________________________________________ + ! ! J A V A D O C S !________________________________________________________________________________________ + ! --> + <!-- Checks that each Java package has a Javadoc file used for commenting. + ! --> + <!-- See http://checkstyle.sourceforge.net/config_javadoc.html#JavadocPackage + ! --> + <module name="JavadocPackage"> + <property name="severity" value="info" /> + <!-- <property name="allowLegacy" value="false" /> --> + </module> + + <module name="SuppressWithNearbyCommentFilter"> + <property name="commentFormat" value="NOCS" /> + </module> + + <!-- !________________________________________________________________________________________ + ! ! R E G E X P !________________________________________________________________________________________ + ! --> + <!-- A check for detecting that matches across multiple lines. Works with + any file type. ! --> + <!-- See http://checkstyle.sourceforge.net/config_regexp.html#RegexpMultiline + ! --> + <!-- Default: OFF <module name="RegexpMultiline"> <property name="format" + value=""/> <property name="message" value=""/> <property name="ignoreCase" + value="false"/> <property name="minimum" value="0"/> <property name="maximum" + value="0"/> <property name="fileExtensions" value=""/> </module> ! --> + + <!-- A check for detecting single lines that match a supplied regular expression. + Works with any file type. ! --> + <!-- See http://checkstyle.sourceforge.net/config_regexp.html#RegexpSingleline + ! --> + <!-- Default: OFF <module name="RegexpSingleline"> <property name="format" + value="\s+$"/> <property name="message" value=""/> <property name="ignoreCase" + value="false"/> <property name="minimum" value="0"/> <property name="maximum" + value="0"/> <property name="fileExtensions" value=""/> </module> ! --> + + <!-- !________________________________________________________________________________________ + ! ! M I S C E L L A N E O U S !________________________________________________________________________________________ + ! --> + <!-- Checks whether files end with a new line. ! --> + <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile ! --> + <!-- <module name="NewlineAtEndOfFile"> --> + <!-- <property name="lineSeparator" value="system" /> --> + <!-- <property name="fileExtensions" value="*.*" /> --> + <!-- </module> --> + + <!-- Checks that property files contain the same keys. ! --> + <!-- See http://checkstyle.sf.net/config_misc.html#Translation ! --> + <module name="Translation"> + <property name="fileExtensions" value="properties" /> + </module> + + + <!-- !________________________________________________________________________________________ + ! ! S I Z E V I O L A T I O N S !________________________________________________________________________________________ + ! --> + <!-- Checks for long source files. ! --> + <!-- See http://checkstyle.sf.net/config_sizes.html ! --> + <module name="FileLength"> + <property name="max" value="2000" /> + <property name="fileExtensions" value="java" /> + </module> + + + <!-- !________________________________________________________________________________________ + ! ! W H I T E S P A C E !________________________________________________________________________________________ + ! --> + <!-- Checks that there are no tab characters ('\t') in the source code. + ! --> + <!-- See http://checkstyle.sourceforge.net/config_whitespace.html#FileTabCharacter + ! --> + <!-- KIEKER we use TABs <module name="FileTabCharacter"> <property name="eachLine" + value="false"/> <property name="fileExtensions" value=""/> </module> --> + + <module name="TreeWalker"> + <property name="tabWidth" value="4" /> + <module name="FileContentsHolder" /> + + <!-- !________________________________________________________________________________________ + ! ! A N N O T A T I O N S !________________________________________________________________________________________ + ! --> + <!-- This check controls the usage style of annotations. ! --> + <!-- See http://checkstyle.sourceforge.net/config_annotation.html#AnnotationUseStyle + ! --> + <module name="AnnotationUseStyle"> + <property name="elementStyle" value="compact_no_array" /> + <property name="closingParens" value="never" /> + <property name="trailingArrayComma" value="never" /> + </module> + + <!-- Verifies that both the java.lang.Deprecated import is present and + the @deprecated Javadoc tag is present when either is present. ! --> + <!-- See http://checkstyle.sourceforge.net/config_annotation.html#MissingDeprecated + ! --> + <module name="MissingDeprecated"> + <!-- <property name="severity" value="info" /> --> + </module> + + <!-- Verifies that the java.lang.Override annotation is present when the + {@inheritDoc} javadoc tag is present. ! --> + <!-- See http://checkstyle.sourceforge.net/config_annotation.html#MissingOverride + ! --> + <!-- problems with Java 1.5 <module name="MissingOverride"> <property name="javaFiveCompatibility" + value="false"/> </module> --> + + <!-- This check makes sure that all package annotations are in the package-info.java + file. ! --> + <!-- See http://checkstyle.sourceforge.net/config_annotation.html#PackageAnnotation + ! --> + <module name="PackageAnnotation" /> + + <!-- This check allows you to specify what warnings that SuppressWarnings + is not allowed to suppress. ! --> + <!-- You can also specify a list of TokenTypes that the configured warning(s) + cannot be suppressed on. ! --> + <!-- See http://checkstyle.sourceforge.net/config_annotation.html#SuppressWarnings + ! --> + <module name="SuppressWarnings"> + <property name="format" value="^$|^\s+$" /> + <property name="tokens" + value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF, ANNOTATION_FIELD_DEF, ENUM_CONSTANT_DEF, PARAMETER_DEF, - VARIABLE_DEF, METHOD_DEF, CTOR_DEF"/> - </module> - - - <!-- - !________________________________________________________________________________________ - ! - ! B L O C K S - !________________________________________________________________________________________ - !--> - <!-- Finds nested blocks, i.e. blocks that are used freely in the code. !--> - <!-- See http://checkstyle.sf.net/config_blocks.html !--> - <module name="AvoidNestedBlocks"> - <property name="allowInSwitchCase" value="true"/> - </module> - - <!-- Checks for empty blocks. !--> - <!-- See http://checkstyle.sf.net/config_blocks.html !--> - <module name="EmptyBlock"> - <property name="option" value="stmt"/> - <property name="tokens" value="LITERAL_DO, + VARIABLE_DEF, METHOD_DEF, CTOR_DEF" /> + </module> + + + <!-- !________________________________________________________________________________________ + ! ! B L O C K S !________________________________________________________________________________________ + ! --> + <!-- Finds nested blocks, i.e. blocks that are used freely in the code. + ! --> + <!-- See http://checkstyle.sf.net/config_blocks.html ! --> + <module name="AvoidNestedBlocks"> + <property name="allowInSwitchCase" value="true" /> + </module> + + <!-- Checks for empty blocks. ! --> + <!-- See http://checkstyle.sf.net/config_blocks.html ! --> + <module name="EmptyBlock"> + <property name="option" value="stmt" /> + <property name="tokens" + value="LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF, LITERAL_FOR, - LITERAL_TRY, LITERAL_WHILE, INSTANCE_INIT, STATIC_INIT"/> - </module> - - <!-- Checks for the placement of left curly braces ('{') for code blocks. !--> - <!-- See http://checkstyle.sf.net/config_blocks.html !--> - <module name="LeftCurly"> - <property name="option" value="eol"/> - <property name="maxLineLength" value="165"/> - <property name="tokens" value="CLASS_DEF, CTOR_DEF, + LITERAL_TRY, LITERAL_WHILE, INSTANCE_INIT, STATIC_INIT" /> + </module> + + <!-- Checks for the placement of left curly braces ('{') for code blocks. + ! --> + <!-- See http://checkstyle.sf.net/config_blocks.html ! --> + <module name="LeftCurly"> + <property name="option" value="eol" /> + <property name="maxLineLength" value="165" /> + <property name="tokens" + value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, - METHOD_DEF"/> - </module> - - <!-- Checks for braces around code blocks. !--> - <!-- See http://checkstyle.sf.net/config_blocks.html !--> - <module name="NeedBraces"> - <property name="tokens" value="LITERAL_DO, LITERAL_ELSE, LITERAL_IF, LITERAL_FOR, LITERAL_WHILE"/> - </module> - - <!-- Checks the placement of right curly braces ('}') for else, try, and catch tokens. !--> - <!-- See http://checkstyle.sf.net/config_blocks.html !--> - <module name="RightCurly"> - <property name="option" value="same"/> - <property name="tokens" value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE"/> - <property name="shouldStartLine" value="true"/> - </module> - - - <!-- - !________________________________________________________________________________________ - ! - ! C L A S S D E S I G N - !________________________________________________________________________________________ - !--> - <!-- Checks that classes are designed for extension. !--> - <!-- See http://checkstyle.sf.net/config_design.html !--> - <!-- Default: OFF - <module name="DesignForExtension"/> - !--> - - <!-- Checks that a class which has only private constructors is declared as final. !--> - <!-- See http://checkstyle.sf.net/config_design.html !--> - <module name="FinalClass"/> - - <!-- Make sure that utility classes (classes that contain only static methods) do not have a public constructor. !--> - <!-- See http://checkstyle.sf.net/config_design.html !--> - <module name="HideUtilityClassConstructor"/> - - <!-- Check nested (internal) classes/interfaces are declared at the bottom of the class after all method and field declarations. !--> - <!-- See http://checkstyle.sourceforge.net/config_design.html#InnerTypeLast !--> - <module name="InnerTypeLast"/> - - <!-- Implements Bloch, Effective Java, Item 17 - Use Interfaces only to define types. !--> - <!-- See http://checkstyle.sf.net/config_design.html !--> - <module name="InterfaceIsType"> - <property name="allowMarkerInterfaces" value="true"/> - </module> - - <!-- Ensures that exceptions (defined as any class name conforming to some regular expression) are immutable. !--> - <!-- That is, have only final fields. !--> - <!-- See http://checkstyle.sf.net/config_design.html !--> - <module name="MutableException"> - <property name="format" value="^.*Exception$|^.*Error$"/> - </module> - - <!-- Restricts throws statements to a specified count. !--> - <!-- See http://checkstyle.sf.net/config_design.html !--> - <!-- KIEKER off - <module name="ThrowsCount"> - <property name="max" value="1"/> - </module> - !--> - - <!-- Checks visibility of class members. !--> - <!-- See http://checkstyle.sf.net/config_design.html !--> - <module name="VisibilityModifier"> - <property name="packageAllowed" value="false"/> - <property name="protectedAllowed" value="true"/> - <property name="publicMemberPattern" value="^serialVersionUID$"/> - </module> - - - <!-- - !________________________________________________________________________________________ - ! - ! C O D I N G - !________________________________________________________________________________________ - !--> - <!-- Checks that array initialization contains a trailing comma. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="ArrayTrailingComma"/> - - <!-- Detects inline conditionals. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="AvoidInlineConditionals"/> - - <!-- Checks that classes that define a covariant equals() method also override method equals(java.lang.Object). !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="CovariantEquals"/> - - <!-- Checks declaration order according to Code Conventions for the Java Programming Language. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="DeclarationOrder"> - <property name="ignoreConstructors" value="false"/> - <property name="ignoreMethods" value="false"/> - <property name="ignoreModifiers" value="false"/> - </module> - - <!-- Check that the default is after all the cases in a switch statement. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="DefaultComesLast"/> - - <!-- The "double-checked locking" idiom (DCL) tries to avoid the runtime cost of synchronization. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <!--<module name="DoubleCheckedLocking"/>--> - - <!-- Detects empty statements (standalone ;). !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="EmptyStatement"/> - - <!-- Checks that any combination of String literals with optional assignment is on the left side of an equals() comparison. !--> - <!-- See http://checkstyle.sourceforge.net/config_coding.html#EqualsAvoidNull !--> - <module name="EqualsAvoidNull"/> - - <!-- Checks that classes that override equals() also override hashCode(). !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="EqualsHashCode"/> - - <!-- Checks if any class or object member explicitly initialized to default for its type value. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <!-- KIEKER off - <module name="ExplicitInitialization"/> - !--> - - <!-- Checks for fall through in switch statements Finds locations where a case contains Java code ... !--> - <!-- but lacks a break, return, throw or continue statement. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="FallThrough"> - <property name="checkLastCaseGroup" value="false"/> - <property name="reliefPattern" value="fallthru|falls??through"/> - </module> - - <!-- Checks that local variables that never have their values changed are declared final. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="FinalLocalVariable"> - <property name="tokens" value="VARIABLE_DEF"/> - </module> - - <!-- Checks that a local variable or a parameter does not shadow a field that is defined in the same class. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <!-- KIEKER ignoreConstructorParameter, ignoreSetter --> - <module name="HiddenField"> - <property name="tokens" value="PARAMETER_DEF, VARIABLE_DEF"/> - <!-- - <property name="ignoreFormat" value=""/> - !--> - <property name="ignoreConstructorParameter" value="true"/> - <property name="ignoreSetter" value="true"/> - <property name="ignoreAbstractMethods" value="false"/> - </module> - - <!-- Catching java.lang.Exception, java.lang.Error or java.lang.RuntimeException is almost never acceptable. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="IllegalCatch"> - <property name="illegalClassNames" value="java.lang.Exception, java.lang.Throwable, java.lang.RuntimeException"/> - </module> - - <!-- Checks for illegal instantiations where a factory method is preferred. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <!-- KIEKER on for ??? !--> - <module name="IllegalInstantiation"> - <property name="classes" value="java.lang.Boolean"/> - </module> - - <!-- This check can be used to ensure that types are not declared to be thrown. !--> - <!-- Declaring to throw java.lang.Error or java.lang.RuntimeException is almost never acceptable. !--> - <!-- See http://checkstyle.sourceforge.net/config_coding.html#IllegalThrows !--> - <module name="IllegalThrows"> - <property name="illegalClassNames" value="java.lang.Throwable, java.lang.Error, java.lang.RuntimeException"/> - </module> - - <!-- Checks for illegal tokens. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <!-- KIEKER off - <module name="IllegalToken"> - <property name="tokens" value="LITERAL_SWITCH, POST_INC, POST_DEC"/> - </module> - !--> - - <!-- Checks for illegal token text. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <!-- Default: OFF - <module name="IllegalTokenText"> - <property name="tokens" value=""/> - <property name="format" value=""/> - <property name="ignoreCase" value="false"/> - <property name="message" value=""/> - </module> - !--> - - <!-- Checks that particular classes are never used as types in variable declarations, return values or parameters. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <!-- KIEKER removed format value="^(.*[\\.])?Abstract.*$" !--> - <module name="IllegalType"> - <property name="tokens" value="PARAMETER_DEF, VARIABLE_DEF, METHOD_DEF"/> - <property name="illegalClassNames" value="java.util.GregorianCalendar, java.util.Hashtable, + METHOD_DEF" /> + </module> + + <!-- Checks for braces around code blocks. ! --> + <!-- See http://checkstyle.sf.net/config_blocks.html ! --> + <module name="NeedBraces"> + <property name="tokens" + value="LITERAL_DO, LITERAL_ELSE, LITERAL_IF, LITERAL_FOR, LITERAL_WHILE" /> + </module> + + <!-- Checks the placement of right curly braces ('}') for else, try, and + catch tokens. ! --> + <!-- See http://checkstyle.sf.net/config_blocks.html ! --> + <module name="RightCurly"> + <property name="option" value="same" /> + <property name="tokens" + value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE" /> + <property name="shouldStartLine" value="true" /> + </module> + + + <!-- !________________________________________________________________________________________ + ! ! C L A S S D E S I G N !________________________________________________________________________________________ + ! --> + <!-- Checks that classes are designed for extension. ! --> + <!-- See http://checkstyle.sf.net/config_design.html ! --> + <!-- Default: OFF <module name="DesignForExtension"/> ! --> + + <!-- Checks that a class which has only private constructors is declared + as final. ! --> + <!-- See http://checkstyle.sf.net/config_design.html ! --> + <module name="FinalClass" /> + + <!-- Make sure that utility classes (classes that contain only static methods) + do not have a public constructor. ! --> + <!-- See http://checkstyle.sf.net/config_design.html ! --> + <module name="HideUtilityClassConstructor" /> + + <!-- Check nested (internal) classes/interfaces are declared at the bottom + of the class after all method and field declarations. ! --> + <!-- See http://checkstyle.sourceforge.net/config_design.html#InnerTypeLast + ! --> + <module name="InnerTypeLast" /> + + <!-- Implements Bloch, Effective Java, Item 17 - Use Interfaces only to + define types. ! --> + <!-- See http://checkstyle.sf.net/config_design.html ! --> + <module name="InterfaceIsType"> + <property name="allowMarkerInterfaces" value="true" /> + </module> + + <!-- Ensures that exceptions (defined as any class name conforming to some + regular expression) are immutable. ! --> + <!-- That is, have only final fields. ! --> + <!-- See http://checkstyle.sf.net/config_design.html ! --> + <module name="MutableException"> + <property name="format" value="^.*Exception$|^.*Error$" /> + </module> + + <!-- Restricts throws statements to a specified count. ! --> + <!-- See http://checkstyle.sf.net/config_design.html ! --> + <!-- KIEKER off <module name="ThrowsCount"> <property name="max" value="1"/> + </module> ! --> + + <!-- Checks visibility of class members. ! --> + <!-- See http://checkstyle.sf.net/config_design.html ! --> + <module name="VisibilityModifier"> + <property name="packageAllowed" value="false" /> + <property name="protectedAllowed" value="true" /> + <property name="publicMemberPattern" value="^serialVersionUID$" /> + </module> + + + <!-- !________________________________________________________________________________________ + ! ! C O D I N G !________________________________________________________________________________________ + ! --> + <!-- Checks that array initialization contains a trailing comma. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="ArrayTrailingComma" /> + + <!-- Detects inline conditionals. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <!-- <module name="AvoidInlineConditionals" /> --> + + <!-- Checks that classes that define a covariant equals() method also override + method equals(java.lang.Object). ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="CovariantEquals" /> + + <!-- Checks declaration order according to Code Conventions for the Java + Programming Language. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="DeclarationOrder"> + <property name="ignoreConstructors" value="false" /> + <property name="ignoreMethods" value="false" /> + <property name="ignoreModifiers" value="false" /> + </module> + + <!-- Check that the default is after all the cases in a switch statement. + ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="DefaultComesLast" /> + + <!-- The "double-checked locking" idiom (DCL) tries to avoid the runtime + cost of synchronization. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <!--<module name="DoubleCheckedLocking"/> --> + + <!-- Detects empty statements (standalone ;). ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="EmptyStatement" /> + + <!-- Checks that any combination of String literals with optional assignment + is on the left side of an equals() comparison. ! --> + <!-- See http://checkstyle.sourceforge.net/config_coding.html#EqualsAvoidNull + ! --> + <module name="EqualsAvoidNull" /> + + <!-- Checks that classes that override equals() also override hashCode(). + ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="EqualsHashCode" /> + + <!-- Checks if any class or object member explicitly initialized to default + for its type value. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <!-- KIEKER off <module name="ExplicitInitialization"/> ! --> + + <!-- Checks for fall through in switch statements Finds locations where + a case contains Java code ... ! --> + <!-- but lacks a break, return, throw or continue statement. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="FallThrough"> + <property name="checkLastCaseGroup" value="false" /> + <property name="reliefPattern" value="fallthru|falls??through" /> + </module> + + <!-- Checks that local variables that never have their values changed are + declared final. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <!-- <module name="FinalLocalVariable"> --> + <!-- <property name="tokens" value="VARIABLE_DEF" /> --> + <!-- </module> --> + + <!-- Checks that a local variable or a parameter does not shadow a field + that is defined in the same class. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <!-- KIEKER ignoreConstructorParameter, ignoreSetter --> + <module name="HiddenField"> + <property name="tokens" value="PARAMETER_DEF, VARIABLE_DEF" /> + <!-- <property name="ignoreFormat" value=""/> ! --> + <property name="ignoreConstructorParameter" value="true" /> + <property name="ignoreSetter" value="true" /> + <property name="ignoreAbstractMethods" value="false" /> + </module> + + <!-- Catching java.lang.Exception, java.lang.Error or java.lang.RuntimeException + is almost never acceptable. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="IllegalCatch"> + <property name="illegalClassNames" + value="java.lang.Exception, java.lang.Throwable, java.lang.RuntimeException" /> + </module> + + <!-- Checks for illegal instantiations where a factory method is preferred. + ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="IllegalInstantiation"> + <property name="classes" value="java.lang.Boolean" /> + </module> + + <!-- This check can be used to ensure that types are not declared to be + thrown. ! --> + <!-- Declaring to throw java.lang.Error or java.lang.RuntimeException is + almost never acceptable. ! --> + <!-- See http://checkstyle.sourceforge.net/config_coding.html#IllegalThrows + ! --> + <module name="IllegalThrows"> + <property name="illegalClassNames" + value="java.lang.Throwable, java.lang.Error, java.lang.RuntimeException" /> + </module> + + <!-- Checks for illegal tokens. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <!-- KIEKER off <module name="IllegalToken"> <property name="tokens" value="LITERAL_SWITCH, + POST_INC, POST_DEC"/> </module> ! --> + + <!-- Checks for illegal token text. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <!-- Default: OFF <module name="IllegalTokenText"> <property name="tokens" + value=""/> <property name="format" value=""/> <property name="ignoreCase" + value="false"/> <property name="message" value=""/> </module> ! --> + + <!-- Checks that particular classes are never used as types in variable + declarations, return values or parameters. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <!-- KIEKER removed format value="^(.*[\\.])?Abstract.*$" ! --> + <module name="IllegalType"> + <property name="tokens" value="PARAMETER_DEF, VARIABLE_DEF, METHOD_DEF" /> + <property name="illegalClassNames" + value="java.util.GregorianCalendar, java.util.Hashtable, java.util.HashSet, java.util.HashMap, java.util.ArrayList, java.util.LinkedList, java.util.LinkedHashMap, java.util.LinkedHashSet, java.util.TreeSet, - java.util.TreeMap, java.util.Vector"/> - <property name="legalAbstractClassNames" value=""/> - <property name="ignoredMethodNames" value="getInitialContext, getEnvironment"/> - <property name="format" value="XXX"/> - </module> - - <!-- Checks for assignments in subexpressions, such as in String s = Integer.toString(i = 2);. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="InnerAssignment"> - <property name="tokens" value="ASSIGN, BAND_ASSIGN, BOR_ASSIGN, BSR_ASSIGN, BXOR_ASSIGN, + java.util.TreeMap, java.util.Vector" /> + <property name="legalAbstractClassNames" value="" /> + <property name="ignoredMethodNames" value="getInitialContext, getEnvironment" /> + <property name="format" value="XXX" /> + </module> + + <!-- Checks for assignments in subexpressions, such as in String s = Integer.toString(i + = 2);. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="InnerAssignment"> + <property name="tokens" + value="ASSIGN, BAND_ASSIGN, BOR_ASSIGN, BSR_ASSIGN, BXOR_ASSIGN, DIV_ASSIGN, MINUS_ASSIGN, MOD_ASSIGN, PLUS_ASSIGN, SL_ASSIGN, - SR_ASSIGN, STAR_ASSIGN"/> - </module> - - <!-- Ensures that the setUp(), tearDown()methods are named correctly, have no arguments, !--> - <!-- return void and are either public or protected. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> -<!-- <module name="JUnitTestCase"/> --> - - <!-- Checks that there are no "magic numbers", where a magic number is a numeric literal !--> - <!-- that is not defined as a constant. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <!-- deactivated for Kieker - <module name="MagicNumber"> - <property name="tokens" value="NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG"/> - <property name="ignoreNumbers" value="-1, 0, 1, 2"/> - <property name="ignoreHashCodeMethod" value="false"/> - </module> - !--> - - <!-- Checks that classes (except abtract one) define a ctor and don't rely on the default one. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="MissingCtor"/> - - <!-- Checks that switch statement has "default" clause. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="MissingSwitchDefault"/> - - <!-- Check for ensuring that for loop control variables are not modified inside the for block. !--> - <!-- See http://checkstyle.sourceforge.net/config_coding.html#ModifiedControlVariable !--> - <module name="ModifiedControlVariable"/> - - <!-- Checks for multiple occurrences of the same string literal within a single file. !--> - <!-- See http://checkstyle.sourceforge.net/config_coding.html#MultipleStringLiterals !--> - <!-- KIEKER off for now - <module name="MultipleStringLiterals"> - <property name="allowedDuplicates" value="1"/> - <property name="ignoreStringsRegexp" value='^""$'/> - <property name="ignoreOccurrenceContext" value="ANNOTATION"/> - </module> - !--> - - <!-- Checks that each variable declaration is in its own statement and on its own line. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="MultipleVariableDeclarations"/> - - <!-- Restricts nested for blocks to a specified depth. !--> - <!-- See http://checkstyle.sourceforge.net/config_coding.html#NestedForDepth !--> - <module name="NestedForDepth"> - <property name="max" value="2"/> - </module> - - <!-- Restricts nested if-else blocks to a specified depth. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="NestedIfDepth"> - <property name="max" value="3"/> - </module> - - <!-- Restricts nested try-catch blocks to a specified depth. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="NestedTryDepth"> - <property name="max" value="1"/> - </module> - - <!-- Checks that the clone method is not overridden from the Object class. !--> - <!-- See http://checkstyle.sourceforge.net/config_coding.html#NoClone !--> - <module name="NoClone"/> - - <!-- Verifies there are no finalize() methods defined in a class. !--> - <!-- See http://checkstyle.sourceforge.net/config_coding.html#NoFinalizer !--> - <module name="NoFinalizer"/> - - <!-- Checks there is only one statement per line. !--> - <!-- See http://checkstyle.sourceforge.net/config_coding.html#OneStatementPerLine !--> - <module name="OneStatementPerLine"/> - - <!-- Ensure a class has a package declaration. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="PackageDeclaration"> - </module> - - <!-- Disallow assignment of parameters. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="ParameterAssignment"/> - - <!-- Checks that code doesn't rely on the "this." default. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="RequireThis"> - <property name="checkFields" value="true"/> - <property name="checkMethods" value="true"/> - </module> - - <!-- Restrict the number of return statements. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="ReturnCount"> - <property name="max" value="2"/> - <property name="format" value=""/> - </module> - - <!-- Checks for overly complicated boolean expressions. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - - <module name="SimplifyBooleanExpression"/> - - <!-- Checks for overly complicated boolean return statements. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="SimplifyBooleanReturn"/> - - <!-- Checks that string literals are not used with == or !=. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="StringLiteralEquality"/> - - <!-- Checks that an overriding clone() method invokes super.clone(). !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="SuperClone"/> - - <!-- Checks that an overriding finalize() method invokes super.finalize(). !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="SuperFinalize"/> - - <!-- Checks for the use of unnecessary parentheses. !--> - <!-- See http://checkstyle.sf.net/config_coding.html !--> - <module name="UnnecessaryParentheses"/> - - - <!-- - !________________________________________________________________________________________ - ! - ! I M P O R T S - !________________________________________________________________________________________ - !--> - <!-- Checks that there are no import statements that use the * notation. !--> - <!-- See http://checkstyle.sf.net/config_import.html !--> - <module name="AvoidStarImport"> - <property name="excludes" value=""/> - <property name="allowClassImports" value="false"/> - <property name="allowStaticMemberImports" value="false"/> - </module> - - <!-- Checks that there are no static import statements. !--> - <!-- See http://checkstyle.sourceforge.net/config_imports.html#AvoidStaticImport !--> - <module name="AvoidStaticImport"> - <property name="excludes" value=""/> - </module> - - <!-- Checks for imports from a set of illegal packages. !--> - <!-- See http://checkstyle.sf.net/config_import.html !--> - <module name="IllegalImport"> - <property name="illegalPkgs" value="junit.framework"/> - <property name="illegalPkgs" value="sun"/> - <property name="illegalPkgs" value="org.apache.commons.logging"/> - <property name="illegalPkgs" value="java.util.logging"/> - </module> - - <!-- Controls what can be imported in each package. Useful for ensuring that application layering rules !--> - <!-- are not violated, especially on large projects. !--> - <!-- See http://checkstyle.sourceforge.net/config_imports.html#ImportControl !--> - <!-- Default: OFF - <module name="ImportControl"> - <property name="file" value=""/> - <property name="url" value=""/> - </module> - !--> - - <!-- Checks the ordering/grouping of imports. !--> - <!-- See http://checkstyle.sf.net/config_import.html !--> - <module name="ImportOrder"> - <property name="option" value="under"/> - <property name="groups" value="java,javax,junit,org,com,ch,de,kieker,kieker.test"/> - <property name="ordered" value="true"/> - <property name="separated" value="true"/> - <property name="caseSensitive" value="true"/> - </module> - - <!-- Checks for redundant import statements. !--> - <!-- See http://checkstyle.sf.net/config_import.html !--> - <module name="RedundantImport"/> - - <!-- Checks for unused import statements. !--> - <!-- See http://checkstyle.sf.net/config_import.html !--> - <module name="UnusedImports"/> - - - <!-- - !________________________________________________________________________________________ - ! - ! J A V A D O C S - !________________________________________________________________________________________ - !--> - <!-- Checks to ensure that the javadoc tags exist (if required) !--> - <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocMethod !--> - <!-- KIEKER: adapted !--> - <module name="JavadocMethod"> - <property name="severity" value="info"/> - <property name="scope" value="protected"/> - <!-- - <property name="excludeScope" value=""/> - !--> - <property name="allowUndeclaredRTE" value="false"/> - <property name="allowThrowsTagsForSubclasses" value="false"/> - <property name="allowMissingParamTags" value="false"/> - <property name="allowMissingThrowsTags" value="false"/> - <property name="allowMissingReturnTag" value="false"/> - <property name="allowMissingJavadoc" value="false"/> - <property name="allowMissingPropertyJavadoc" value="true"/> - <property name="logLoadErrors" value="true"/> - <property name="suppressLoadErrors" value="false"/> - <property name="tokens" value="METHOD_DEF, CTOR_DEF"/> - </module> - - <!-- Validates Javadoc comments to help ensure they are well formed. !--> - <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocStyle !--> - <module name="JavadocStyle"> - <property name="severity" value="info"/> - <property name="scope" value="private"/> - <!-- - <property name="excludeScope" value=""/> - !--> - <property name="checkFirstSentence" value="true"/> -<!--TODO: <property name="endOfSentenceFormat" value="([.?!][ \t\n\r\f<])|([.?!]$)"/> !--> - <property name="checkEmptyJavadoc" value="false"/> - <property name="checkHtml" value="false"/> - <property name="tokens" value="INTERFACE_DEF, CLASS_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/> - </module> - - <!-- Checks Javadoc comments for class and interface definitions. !--> - <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocType !--> - <module name="JavadocType"> - <property name="severity" value="info"/> - <property name="scope" value="private"/> - <!--<property name="excludeScope" value=""/>!--> - <property name="authorFormat" value=""/> - <!--<property name="versionFormat" value=""/>!--> - <property name="allowMissingParamTags" value="false"/> - <property name="allowUnknownTags" value="false"/> - <property name="tokens" value="INTERFACE_DEF, CLASS_DEF"/> - </module> - - <module name="JavadocType"> - <property name="severity" value="error"/> - <property name="scope" value="package"/> - <property name="authorFormat" value="\S"/> - </module> - - <!-- Checks that variables have Javadoc comments. !--> - <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocVariable !--> - <module name="JavadocVariable"> - <property name="severity" value="info"/> - <property name="scope" value="protected"/> - <!-- - <property name="excludeScope" value=""/> - !--> - </module> - - <!-- Outputs a JavaDoc tag as information. !--> - <!-- See http://checkstyle.sourceforge.net/config_javadoc.html#WriteTag !--> - <!-- KIEKER - <module name="WriteTag"> - <property name="severity" value="info"/> - <property name="tag" value=""/> - <property name="tagFormat" value=""/> - <property name="tagSeverity" value="info"/> - </module> - --> - - - <!-- - !________________________________________________________________________________________ - ! - ! M E T R I C S - !________________________________________________________________________________________ - !--> - <!-- Restrict the number of number of &&, || and ^ in an expression. !--> - <!-- See http://checkstyle.sf.net/config_metrics.html !--> - <!-- KIEKER Off --> - <!-- <module name="BooleanExpressionComplexity"> - <property name="severity" value="info"/> - <property name="max" value="3"/> - <property name="tokens" value="LAND, BAND, LOR, BOR, BXOR"/> - </module> --> - - <!-- This metric measures the number of instantiations of other classes within the given class. !--> - <!-- See http://checkstyle.sf.net/config_metrics.html !--> - <!-- KIEKER Off --> - <!-- <module name="ClassDataAbstractionCoupling"> - <property name="severity" value="info"/> - <property name="max" value="7"/> - </module> --> - - <!-- The number of other classes a given class relies on. !--> - <!-- See http://checkstyle.sf.net/config_metrics.html !--> - <!-- KIEKER Off --> - <!--<module name="ClassFanOutComplexity"> - <property name="severity" value="info"/> - <property name="max" value="20"/> - </module> --> - - <!-- Checks cyclomatic complexity against a specified limit. !--> - <!-- See http://checkstyle.sf.net/config_metrics.html !--> - <module name="CyclomaticComplexity"> - <property name="severity" value="ignore"/> - <property name="max" value="10"/> - </module> - - <!-- Determines complexity of methods, classes and files by counting the Non Commenting Source Statements (NCSS). !--> - <!-- See http://checkstyle.sourceforge.net/config_metrics.html#JavaNCSS !--> - <!-- KIEKER Off --> - <!--<module name="JavaNCSS"> - <property name="severity" value="info"/> - <property name="methodMaximum" value="50"/> - <property name="classMaximum" value="1500"/> - <property name="fileMaximum" value="2000"/> - </module> --> - - <!-- The NPATH metric computes the number of possible execution paths through a function. !--> - <!-- See http://checkstyle.sf.net/config_metrics.html !--> - <!-- KIEKER Off --> - <!--<module name="NPathComplexity"> - <property name="severity" value="info"/> - <property name="max" value="200"/> - </module> --> - - - <!-- - !________________________________________________________________________________________ - ! - ! M I S C E L L A N E O U S - !________________________________________________________________________________________ - !--> - <!-- Checks the style of array type definitions. !--> - <!-- See http://checkstyle.sf.net/config_misc.html !--> - <module name="ArrayTypeStyle"> - <property name="javaStyle" value="true"/> - </module> - - <!-- Checks for restricted tokens beneath other tokens. !--> - <!-- See http://checkstyle.sf.net/config_misc.html !--> - <!-- Default: OFF - <module name="DescendantToken"> - <property name="tokens" value=""/> - <property name="limitedTokens" value=""/> - <property name="minimumDepth" value="0"/> - <property name="maximumDepth" value="java.lang.Integer.MAX_VALUE"/> - <property name="minimumNumber" value="0"/> - <property name="maximumNumber" value="java.lang.Integer.MAX_VALUE"/> - <property name="sumTokenCounts" value="false"/> - <property name="minimumMessage" value="descendant.token.min"/> - <property name="maximumMessage" value="descendant.token.max"/> - </module> - !--> - - <!-- Check that method/constructor parameters are final. !--> - <!-- See http://checkstyle.sf.net/config_misc.html !--> - <module name="FinalParameters"> - <property name="tokens" value="METHOD_DEF, CTOR_DEF"/> - </module> - - <!-- A generic check for code problems - the user can search for any pattern. !--> - <!-- See http://checkstyle.sf.net/config_misc.html !--> - <!-- Default: OFF - <module name="GenericIllegalRegexp"> - <property name="format" value="\S\s+$"/> - <property name="message" value="Line has trailing spaces."/> - <property name="ignoreCase" value="false"/> - <property name="ignoreComments" value="false"/> - </module> - !--> - - <!-- Checks correct indentation of Java Code. !--> - <!-- See http://checkstyle.sf.net/config_misc.html !--> - <!-- KIEKER deactivated for now - <module name="Indentation"> - <property name="severity" value="info"/> - <property name="basicOffset" value="4"/> - <property name="braceAdjustment" value="0"/> - <property name="caseIndent" value="0"/> - </module> - !--> - - <!-- Checks that the outer type name and the file name match. !--> - <!-- See http://checkstyle.sourceforge.net/config_misc.html#OuterTypeFilename !--> - <module name="OuterTypeFilename"/> - - <!-- A check for TODO: comments. Actually it is a generic regular expression matcher on Java comments. !--> - <!-- See http://checkstyle.sf.net/config_misc.html !--> - <!-- Kieker !--> - <module name="TodoComment"> - <property name="format" value="TODO"/> - <property name="severity" value="warning"/> - </module> - <module name="TodoComment"> - <property name="format" value="FIXME"/> - <property name="severity" value="error"/> - </module> - - <!-- The check to ensure that requires that comments be the only thing on a line. !--> - <!-- See http://checkstyle.sf.net/config_misc.html !--> - <!-- KIEKER we use them - <module name="TrailingComment"> - <property name="format" value="^[\\s\\}\\);]*$"/> - <property name="legalComment" value=""/> - </module> - --> - - <!-- Checks for uncommented main() methods (debugging leftovers). !--> - <!-- See http://checkstyle.sf.net/config_misc.html !--> - <!-- KIEKER do not check for these - <module name="UncommentedMain"> - <property name="severity" value="info"/> - <property name="excludedClasses" value="Main$"/> - </module> - --> - - <!-- Checks that long constants are defined with an upper ell. That is 'L' and not 'l'. !--> - <!-- See http://checkstyle.sf.net/config_misc.html !--> - <module name="UpperEll"/> - - - <!-- - !________________________________________________________________________________________ - ! - ! M O D I F I E R S - !________________________________________________________________________________________ - !--> - <!-- Checks that the order of modifiers conforms to the suggestions in the Java Language specification, !--> - <!-- sections 8.1.1, 8.3.1 and 8.4.3. !--> - <!-- See http://checkstyle.sf.net/config_modifiers.html !--> - <module name="ModifierOrder"/> - - <!-- Checks that there are no redundant modifiers. !--> - <!-- See http://checkstyle.sf.net/config_modifiers.html !--> - <!-- KIEKER off - <module name="RedundantModifier"> - <property name="tokens" value="METHOD_DEF, VARIABLE_DEF, ANNOTATION_FIELD_DEF"/> - </module> - !--> - - <!-- - !________________________________________________________________________________________ - ! - ! N A M I N G C O N V E N T I O N S - !________________________________________________________________________________________ - !--> - <!-- Checks for abstract class name naming conventions. !--> - <!-- See http://checkstyle.sf.net/config_naming.html !--> - <!-- KIEKER removed |^.*Factory$ --> - <module name="AbstractClassName"> - <property name="format" value="^Abstract.*$"/> - <property name="ignoreModifier" value="false"/> - <property name="ignoreName" value="false"/> - </module> - - <!-- Checks for class type parameter name naming conventions. !--> - <!-- See http://checkstyle.sourceforge.net/config_naming.html#ClassTypeParameterName !--> - <module name="ClassTypeParameterName"> - <property name="format" value="^[A-Z]$"/> - </module> - - <!-- Checks for constant name naming conventions. !--> - <!-- See http://checkstyle.sf.net/config_naming.html !--> - <module name="ConstantName"> - <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> - - <!-- Checks for local final variable name naming conventions. !--> - <!-- See http://checkstyle.sf.net/config_naming.html !--> - <module name="LocalFinalVariableName"> - <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> - <property name="tokens" value="VARIABLE_DEF, PARAMETER_DEF"/> - </module> - - <!-- Checks for local variable name naming conventions. !--> - <!-- See http://checkstyle.sf.net/config_naming.html !--> - <module name="LocalVariableName"> - <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> - <property name="tokens" value="PARAMETER_DEF"/> - </module> - - <!-- Checks for member variable name naming conventions. !--> - <!-- See http://checkstyle.sf.net/config_naming.html !--> - <module name="MemberName"> - <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> - - <!-- Checks for method name naming conventions. !--> - <!-- See http://checkstyle.sf.net/config_naming.html !--> - <module name="MethodName"> - <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> - </module> - - <!-- Checks for method type parameter name naming conventions. !--> - <!-- See http://checkstyle.sourceforge.net/config_naming.html#MethodTypeParameterName !--> - <module name="MethodTypeParameterName"> - <property name="format" value="^[A-Z]$"/> - </module> - - <!-- Checks for package name naming conventions. !--> - <!-- See http://checkstyle.sf.net/config_naming.html !--> - <module name="PackageName"> - <property name="format" value="^[a-z]+(\.[a-zA-Z_][a-zA-Z0-9_]*)*$"/> - </module> - - <!-- Checks for parameter name naming conventions. !--> - <!-- See http://checkstyle.sf.net/config_naming.html !--> - <module name="ParameterName"> - <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> - </module> - - <!-- Checks for static variable name naming conventions. !--> - <!-- See http://checkstyle.sf.net/config_naming.html !--> - <module name="StaticVariableName"> - <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> - - <!-- Checks for type name naming conventions. !--> - <!-- See http://checkstyle.sf.net/config_naming.html !--> - <!-- KIEKER: modded --> - <module name="TypeName"> - <property name="format" value="^[A-Z][a-zA-Z0-9]*$"/> - <property name="tokens" value="CLASS_DEF"/> - <property name="applyToPublic" value="true"/> - <property name="applyToProtected" value="true"/> - <property name="applyToPackage" value="true"/> - <property name="applyToPrivate" value="true"/> - </module> - - <module name="TypeName"> - <property name="format" value="^I[A-Z][a-zA-Z0-9]*$"/> - <property name="tokens" value="INTERFACE_DEF"/> - <property name="applyToPublic" value="true"/> - <property name="applyToProtected" value="true"/> - <property name="applyToPackage" value="true"/> - <property name="applyToPrivate" value="true"/> - </module> - - - <!-- - !________________________________________________________________________________________ - ! - ! R E G E X P - !________________________________________________________________________________________ - !--> - <!-- A check that makes sure that a specified pattern exists, exists less than a set number of times, !--> - <!-- or does not exist in the file. !--> - <!-- See http://checkstyle.sourceforge.net/config_misc.html#Regexp !--> - <!-- Default: OFF - <module name="Regexp"> - <property name="format" value=""/> - <property name="message" value=""/> - <property name="illegalPattern" value="false"/> - <property name="duplicateLimit" value="-1"/> - <property name="errorLimit" value="100"/> - <property name="ignoreComments" value="false"/> - </module> - !--> - - <!-- This class is variation on RegexpSingleline for detecting single lines that match a !--> - <!-- supplied regular expression in Java files. It supports suppressing matches in Java comments. !--> - <!-- See http://checkstyle.sourceforge.net/config_regexp.html#RegexpSinglelineJava !--> - <!-- Default: OFF - <module name="RegexpSinglelineJava"> - <property name="format" value=""/> - <property name="message" value=""/> - <property name="ignoreCase" value="false"/> - <property name="minimum" value="0"/> - <property name="maximum" value="0"/> - <property name="ignoreComments" value="false"/> - </module> - !--> - - <!-- - !________________________________________________________________________________________ - ! - ! S I Z E V I O L A T I O N S - !________________________________________________________________________________________ - !--> - <!-- Checks for long anonymous inner classes. !--> - <!-- See http://checkstyle.sf.net/config_sizes.html !--> - <!-- KIEKER Set to 50 instead of 20 --> - <module name="AnonInnerLength"> - <property name="severity" value="info"/> - <property name="max" value="50"/> - </module> - - <!-- Restricts the number of executable statements to a specified limit. !--> - <!-- See http://checkstyle.sf.net/config_sizes.html !--> - <!-- KIEKER off - <module name="ExecutableStatementCount"> - <property name="severity" value="info"/> - <property name="max" value="30"/> - <property name="tokens" value="CTOR_DEF, METHOD_DEF, INSTANCE_INIT, STATIC_INIT"/> - </module> - !--> - - <!-- See http://checkstyle.sf.net/config_sizes.html !--> - <!-- Checks for long lines. !--> - <module name="LineLength"> - <property name="severity" value="info"/> - <property name="ignorePattern" value="^$"/> - <property name="max" value="165"/> - </module> - - <!-- Checks the number of methods declared in each type. This includes the number of each scope !--> - <!-- (private, package, protected and public) as well as an overall total. !--> - <!-- See http://checkstyle.sourceforge.net/config_sizes.html#MethodCount !--> - <module name="MethodCount"> - <property name="severity" value="info"/> - <property name="maxTotal" value="100"/> - <property name="maxPrivate" value="100"/> - <property name="maxPackage" value="100"/> - <property name="maxProtected" value="100"/> - <property name="maxPublic" value="100"/> - </module> - - <!-- Checks for long methods and constructors. !--> - <!-- See http://checkstyle.sf.net/config_sizes.html !--> - <module name="MethodLength"> - <property name="severity" value="info"/> - <property name="max" value="150"/> - <property name="countEmpty" value="true"/> - <property name="tokens" value="METHOD_DEF, CTOR_DEF"/> - </module> - - <!-- Checks for the number of types declared at the outer (or root) level in a file. !--> - <!-- See http://checkstyle.sourceforge.net/config_sizes.html#OuterTypeNumber !--> - <!-- KIEKER 2 !--> - <module name="OuterTypeNumber"> - <property name="max" value="2"/> - </module> - - <!-- Checks the number of parameters of a method or constructor. !--> - <!-- See http://checkstyle.sf.net/config_sizes.html !--> - <!-- KIEKER off - <module name="ParameterNumber"> - <property name="severity" value="info"/> - <property name="max" value="7"/> - <property name="tokens" value="METHOD_DEF, CTOR_DEF"/> - </module> - !--> - - <!-- - !________________________________________________________________________________________ - ! - ! W H I T E S P A C E - !________________________________________________________________________________________ - !--> - <!-- Checks the padding of an empty for initializer. !--> - <!-- See http://checkstyle.sf.net/config_whitespace.html !--> - <module name="EmptyForInitializerPad"> - <property name="option" value="nospace"/> - </module> - - <!-- Checks the padding of an empty for iterator. !--> - <!-- See http://checkstyle.sf.net/config_whitespace.html !--> - <module name="EmptyForIteratorPad"> - <property name="option" value="nospace"/> - </module> - - <!-- Checks that the whitespace around the Generic tokens < and > is correct to the typical convention. !--> - <!-- See http://checkstyle.sourceforge.net/config_whitespace.html#GenericWhitespace !--> - <module name="GenericWhitespace"/> - - <!-- Checks the padding between the identifier of a method definition, !--> - <!-- constructor definition, method call, or constructor invocation; and the left parenthesis of the parameter list. !--> - <!-- See http://checkstyle.sf.net/config_whitespace.html !--> - <module name="MethodParamPad"> - <property name="allowLineBreaks" value="false"/> - <property name="option" value="nospace"/> - <property name="tokens" value="CTOR_DEF, LITERAL_NEW, METHOD_CALL, METHOD_DEF, SUPER_CTOR_CALL "/> - </module> - - <!-- Checks that there is no whitespace after a token. !--> - <!-- See http://checkstyle.sf.net/config_whitespace.html !--> - <!-- KIEKER removed ARRAY_INIT !--> - <module name="NoWhitespaceAfter"> - <property name="allowLineBreaks" value="true"/> - <property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS"/> - </module> - - <!-- Checks that there is no whitespace before a token. !--> - <!-- See http://checkstyle.sf.net/config_whitespace.html !--> - <module name="NoWhitespaceBefore"> - <property name="allowLineBreaks" value="false"/> - <property name="tokens" value="SEMI, POST_DEC, POST_INC"/> - </module> - - <!-- Checks the policy on how to wrap lines on operators. !--> - <!-- See http://checkstyle.sf.net/config_whitespace.html !--> - <module name="OperatorWrap"> - <property name="option" value="nl"/> - <property name="tokens" value="BAND, BOR, BSR, BXOR, COLON, DIV, + SR_ASSIGN, STAR_ASSIGN" /> + </module> + + <!-- Ensures that the setUp(), tearDown()methods are named correctly, have + no arguments, ! --> + <!-- return void and are either public or protected. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <!-- <module name="JUnitTestCase"/> --> + + <!-- Checks that there are no "magic numbers", where a magic number is + a numeric literal ! --> + <!-- that is not defined as a constant. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <!-- deactivated for Kieker <module name="MagicNumber"> <property name="tokens" + value="NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG"/> <property name="ignoreNumbers" + value="-1, 0, 1, 2"/> <property name="ignoreHashCodeMethod" value="false"/> + </module> ! --> + + <!-- Checks that classes (except abtract one) define a ctor and don't rely + on the default one. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <!-- <module name="MissingCtor" /> --> + + <!-- Checks that switch statement has "default" clause. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="MissingSwitchDefault" /> + + <!-- Check for ensuring that for loop control variables are not modified + inside the for block. ! --> + <!-- See http://checkstyle.sourceforge.net/config_coding.html#ModifiedControlVariable + ! --> + <module name="ModifiedControlVariable" /> + + <!-- Checks for multiple occurrences of the same string literal within + a single file. ! --> + <!-- See http://checkstyle.sourceforge.net/config_coding.html#MultipleStringLiterals + ! --> + <!-- KIEKER off for now <module name="MultipleStringLiterals"> <property + name="allowedDuplicates" value="1"/> <property name="ignoreStringsRegexp" + value='^""$'/> <property name="ignoreOccurrenceContext" value="ANNOTATION"/> + </module> ! --> + + <!-- Checks that each variable declaration is in its own statement and + on its own line. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="MultipleVariableDeclarations" /> + + <!-- Restricts nested for blocks to a specified depth. ! --> + <!-- See http://checkstyle.sourceforge.net/config_coding.html#NestedForDepth + ! --> + <module name="NestedForDepth"> + <property name="max" value="2" /> + </module> + + <!-- Restricts nested if-else blocks to a specified depth. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="NestedIfDepth"> + <property name="max" value="3" /> + </module> + + <!-- Restricts nested try-catch blocks to a specified depth. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="NestedTryDepth"> + <property name="max" value="1" /> + </module> + + <!-- Checks that the clone method is not overridden from the Object class. + ! --> + <!-- See http://checkstyle.sourceforge.net/config_coding.html#NoClone ! --> + <module name="NoClone" /> + + <!-- Verifies there are no finalize() methods defined in a class. ! --> + <!-- See http://checkstyle.sourceforge.net/config_coding.html#NoFinalizer + ! --> + <module name="NoFinalizer" /> + + <!-- Checks there is only one statement per line. ! --> + <!-- See http://checkstyle.sourceforge.net/config_coding.html#OneStatementPerLine + ! --> + <module name="OneStatementPerLine" /> + + <!-- Ensure a class has a package declaration. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="PackageDeclaration"> + </module> + + <!-- Disallow assignment of parameters. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="ParameterAssignment" /> + + <!-- Checks that code doesn't rely on the "this." default. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="RequireThis"> + <property name="checkFields" value="false" /> + <property name="checkMethods" value="false" /> + </module> + + <!-- Restrict the number of return statements. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="ReturnCount"> + <property name="max" value="2" /> + <property name="format" value="" /> + </module> + + <!-- Checks for overly complicated boolean expressions. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + + <module name="SimplifyBooleanExpression" /> + + <!-- Checks for overly complicated boolean return statements. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="SimplifyBooleanReturn" /> + + <!-- Checks that string literals are not used with == or !=. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="StringLiteralEquality" /> + + <!-- Checks that an overriding clone() method invokes super.clone(). ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="SuperClone" /> + + <!-- Checks that an overriding finalize() method invokes super.finalize(). + ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <module name="SuperFinalize" /> + + <!-- Checks for the use of unnecessary parentheses. ! --> + <!-- See http://checkstyle.sf.net/config_coding.html ! --> + <!-- already checked by PMD --> + <!-- <module name="UnnecessaryParentheses" /> --> + + + <!-- !________________________________________________________________________________________ + ! ! I M P O R T S !________________________________________________________________________________________ + ! --> + <!-- Checks that there are no import statements that use the * notation. + ! --> + <!-- See http://checkstyle.sf.net/config_import.html ! --> + <module name="AvoidStarImport"> + <property name="excludes" + value="org.junit.*,org.hamcrest.*,teetime.framework.test.StageTester" /> + <property name="allowClassImports" value="false" /> + <property name="allowStaticMemberImports" value="false" /> + </module> + + <!-- Checks that there are no static import statements. ! --> + <!-- See http://checkstyle.sourceforge.net/config_imports.html#AvoidStaticImport! --> + <!-- excludes does not work --> + <!-- <module name="AvoidStaticImport"> --> + <!-- <property name="excludes" value="org.junit.*,org.hamcrest.*,teetime.framework.test.StageTester" + /> --> + <!-- </module> --> + + <!-- Checks for imports from a set of illegal packages. ! --> + <!-- See http://checkstyle.sf.net/config_import.html ! --> + <module name="IllegalImport"> + <property name="illegalPkgs" value="junit.framework" /> + <property name="illegalPkgs" value="sun" /> + <property name="illegalPkgs" value="org.apache.commons.logging" /> + <property name="illegalPkgs" value="java.util.logging" /> + </module> + + <!-- Controls what can be imported in each package. Useful for ensuring + that application layering rules ! --> + <!-- are not violated, especially on large projects. ! --> + <!-- See http://checkstyle.sourceforge.net/config_imports.html#ImportControl + ! --> + <!-- Default: OFF <module name="ImportControl"> <property name="file" value=""/> + <property name="url" value=""/> </module> ! --> + + <!-- Checks the ordering/grouping of imports. ! --> + <!-- See http://checkstyle.sf.net/config_import.html ! --> + <!-- checkstyle complains about the following order and I do not know why + => deactivated import java.util.ArrayList; import java.util.List; --> + <!-- <module name="ImportOrder"> --> + <!-- <property name="option" value="under" /> --> + <!-- <property name="groups" --> + <!-- value="java,javax,org,com,ch,de" /> --> + <!-- <property name="ordered" value="false" /> --> + <!-- <property name="separated" value="false" /> --> + <!-- <property name="caseSensitive" value="true" /> --> + <!-- </module> --> + + <!-- Checks for redundant import statements. ! --> + <!-- See http://checkstyle.sf.net/config_import.html ! --> + <module name="RedundantImport" /> + + <!-- Checks for unused import statements. ! --> + <!-- See http://checkstyle.sf.net/config_import.html ! --> + <module name="UnusedImports" /> + + + <!-- !________________________________________________________________________________________ + ! ! J A V A D O C S !________________________________________________________________________________________ + ! --> + <!-- Checks to ensure that the javadoc tags exist (if required) ! --> + <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocMethod ! --> + <!-- KIEKER: adapted ! --> + <module name="JavadocMethod"> + <property name="severity" value="info" /> + <property name="scope" value="protected" /> + <!-- <property name="excludeScope" value=""/> ! --> + <property name="allowUndeclaredRTE" value="false" /> + <property name="allowThrowsTagsForSubclasses" value="false" /> + <property name="allowMissingParamTags" value="false" /> + <property name="allowMissingThrowsTags" value="false" /> + <property name="allowMissingReturnTag" value="false" /> + <property name="allowMissingJavadoc" value="true" /> + <property name="allowMissingPropertyJavadoc" value="true" /> + <property name="logLoadErrors" value="true" /> + <property name="suppressLoadErrors" value="false" /> + <property name="tokens" value="METHOD_DEF, CTOR_DEF" /> + </module> + + <!-- Validates Javadoc comments to help ensure they are well formed. ! --> + <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocStyle ! --> + <module name="JavadocStyle"> + <property name="severity" value="info" /> + <property name="scope" value="private" /> + <!-- <property name="excludeScope" value=""/> ! --> + <property name="checkFirstSentence" value="false" /> + <!--TODO: <property name="endOfSentenceFormat" value="([.?!][ \t\n\r\f<])|([.?!]$)"/> + ! --> + <property name="checkEmptyJavadoc" value="false" /> + <property name="checkHtml" value="false" /> + <property name="tokens" + value="INTERFACE_DEF, CLASS_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF" /> + </module> + + <!-- Checks Javadoc comments for class and interface definitions. ! --> + <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocType ! --> + <module name="JavadocType"> + <property name="severity" value="info" /> + <property name="scope" value="private" /> + <!--<property name="excludeScope" value=""/>! --> + <property name="authorFormat" value="" /> + <!--<property name="versionFormat" value=""/>! --> + <property name="allowMissingParamTags" value="false" /> + <property name="allowUnknownTags" value="false" /> + <property name="tokens" value="INTERFACE_DEF, CLASS_DEF" /> + </module> + + <module name="JavadocType"> + <property name="severity" value="error" /> + <property name="scope" value="package" /> + <property name="authorFormat" value="\S" /> + </module> + + <!-- Checks that variables have Javadoc comments. ! --> + <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocVariable ! --> + <module name="JavadocVariable"> + <property name="severity" value="info" /> + <property name="scope" value="protected" /> + <!-- <property name="excludeScope" value=""/> ! --> + </module> + + <!-- Outputs a JavaDoc tag as information. ! --> + <!-- See http://checkstyle.sourceforge.net/config_javadoc.html#WriteTag + ! --> + <!-- KIEKER <module name="WriteTag"> <property name="severity" value="info"/> + <property name="tag" value=""/> <property name="tagFormat" value=""/> <property + name="tagSeverity" value="info"/> </module> --> + + + <!-- !________________________________________________________________________________________ + ! ! M E T R I C S !________________________________________________________________________________________ + ! --> + <!-- Restrict the number of number of &&, || and ^ in an expression. ! --> + <!-- See http://checkstyle.sf.net/config_metrics.html ! --> + <!-- KIEKER Off --> + <!-- <module name="BooleanExpressionComplexity"> <property name="severity" + value="info"/> <property name="max" value="3"/> <property name="tokens" value="LAND, + BAND, LOR, BOR, BXOR"/> </module> --> + + <!-- This metric measures the number of instantiations of other classes + within the given class. ! --> + <!-- See http://checkstyle.sf.net/config_metrics.html ! --> + <!-- KIEKER Off --> + <!-- <module name="ClassDataAbstractionCoupling"> <property name="severity" + value="info"/> <property name="max" value="7"/> </module> --> + + <!-- The number of other classes a given class relies on. ! --> + <!-- See http://checkstyle.sf.net/config_metrics.html ! --> + <!-- KIEKER Off --> + <!--<module name="ClassFanOutComplexity"> <property name="severity" value="info"/> + <property name="max" value="20"/> </module> --> + + <!-- Checks cyclomatic complexity against a specified limit. ! --> + <!-- See http://checkstyle.sf.net/config_metrics.html ! --> + <module name="CyclomaticComplexity"> + <property name="severity" value="ignore" /> + <property name="max" value="10" /> + </module> + + <!-- Determines complexity of methods, classes and files by counting the + Non Commenting Source Statements (NCSS). ! --> + <!-- See http://checkstyle.sourceforge.net/config_metrics.html#JavaNCSS + ! --> + <!-- KIEKER Off --> + <!--<module name="JavaNCSS"> <property name="severity" value="info"/> <property + name="methodMaximum" value="50"/> <property name="classMaximum" value="1500"/> + <property name="fileMaximum" value="2000"/> </module> --> + + <!-- The NPATH metric computes the number of possible execution paths through + a function. ! --> + <!-- See http://checkstyle.sf.net/config_metrics.html ! --> + <!-- KIEKER Off --> + <!--<module name="NPathComplexity"> <property name="severity" value="info"/> + <property name="max" value="200"/> </module> --> + + + <!-- !________________________________________________________________________________________ + ! ! M I S C E L L A N E O U S !________________________________________________________________________________________ + ! --> + <!-- Checks the style of array type definitions. ! --> + <!-- See http://checkstyle.sf.net/config_misc.html ! --> + <module name="ArrayTypeStyle"> + <property name="javaStyle" value="true" /> + </module> + + <!-- Checks for restricted tokens beneath other tokens. ! --> + <!-- See http://checkstyle.sf.net/config_misc.html ! --> + <!-- Default: OFF <module name="DescendantToken"> <property name="tokens" + value=""/> <property name="limitedTokens" value=""/> <property name="minimumDepth" + value="0"/> <property name="maximumDepth" value="java.lang.Integer.MAX_VALUE"/> + <property name="minimumNumber" value="0"/> <property name="maximumNumber" + value="java.lang.Integer.MAX_VALUE"/> <property name="sumTokenCounts" value="false"/> + <property name="minimumMessage" value="descendant.token.min"/> <property + name="maximumMessage" value="descendant.token.max"/> </module> ! --> + + <!-- Check that method/constructor parameters are final. ! --> + <!-- See http://checkstyle.sf.net/config_misc.html ! --> + <module name="FinalParameters"> + <property name="tokens" value="METHOD_DEF, CTOR_DEF" /> + </module> + + <!-- A generic check for code problems - the user can search for any pattern. + ! --> + <!-- See http://checkstyle.sf.net/config_misc.html ! --> + <!-- Default: OFF <module name="GenericIllegalRegexp"> <property name="format" + value="\S\s+$"/> <property name="message" value="Line has trailing spaces."/> + <property name="ignoreCase" value="false"/> <property name="ignoreComments" + value="false"/> </module> ! --> + + <!-- Checks correct indentation of Java Code. ! --> + <!-- See http://checkstyle.sf.net/config_misc.html ! --> + <!-- KIEKER deactivated for now <module name="Indentation"> <property name="severity" + value="info"/> <property name="basicOffset" value="4"/> <property name="braceAdjustment" + value="0"/> <property name="caseIndent" value="0"/> </module> ! --> + + <!-- Checks that the outer type name and the file name match. ! --> + <!-- See http://checkstyle.sourceforge.net/config_misc.html#OuterTypeFilename + ! --> + <module name="OuterTypeFilename" /> + + <!-- A check for TODO: comments. Actually it is a generic regular expression + matcher on Java comments. ! --> + <!-- See http://checkstyle.sf.net/config_misc.html ! --> + <module name="TodoComment"> + <property name="format" value="TODO" /> + <property name="severity" value="info" /> + </module> + <module name="TodoComment"> + <property name="format" value="FIXME" /> + <property name="severity" value="error" /> + </module> + + <!-- The check to ensure that requires that comments be the only thing + on a line. ! --> + <!-- See http://checkstyle.sf.net/config_misc.html ! --> + <!-- KIEKER we use them <module name="TrailingComment"> <property name="format" + value="^[\\s\\}\\);]*$"/> <property name="legalComment" value=""/> </module> --> + + <!-- Checks for uncommented main() methods (debugging leftovers). ! --> + <!-- See http://checkstyle.sf.net/config_misc.html ! --> + <!-- KIEKER do not check for these <module name="UncommentedMain"> <property + name="severity" value="info"/> <property name="excludedClasses" value="Main$"/> + </module> --> + + <!-- Checks that long constants are defined with an upper ell. That is + 'L' and not 'l'. ! --> + <!-- See http://checkstyle.sf.net/config_misc.html ! --> + <module name="UpperEll" /> + + + <!-- !________________________________________________________________________________________ + ! ! M O D I F I E R S !________________________________________________________________________________________ + ! --> + <!-- Checks that the order of modifiers conforms to the suggestions in + the Java Language specification, ! --> + <!-- sections 8.1.1, 8.3.1 and 8.4.3. ! --> + <!-- See http://checkstyle.sf.net/config_modifiers.html ! --> + <module name="ModifierOrder" /> + + <!-- Checks that there are no redundant modifiers. ! --> + <!-- See http://checkstyle.sf.net/config_modifiers.html ! --> + <!-- KIEKER off <module name="RedundantModifier"> <property name="tokens" + value="METHOD_DEF, VARIABLE_DEF, ANNOTATION_FIELD_DEF"/> </module> ! --> + + <!-- !________________________________________________________________________________________ + ! ! N A M I N G C O N V E N T I O N S !________________________________________________________________________________________ + ! --> + <!-- Checks for abstract class name naming conventions. ! --> + <!-- See http://checkstyle.sf.net/config_naming.html ! --> + <!-- KIEKER removed |^.*Factory$ --> + <module name="AbstractClassName"> + <property name="format" value="^Abstract.*$" /> + <property name="ignoreModifier" value="false" /> + <property name="ignoreName" value="false" /> + </module> + + <!-- Checks for class type parameter name naming conventions. ! --> + <!-- See http://checkstyle.sourceforge.net/config_naming.html#ClassTypeParameterName + ! --> + <module name="ClassTypeParameterName"> + <property name="format" value="^[A-Z]$" /> + </module> + + <!-- Checks for constant name naming conventions. ! --> + <!-- See http://checkstyle.sf.net/config_naming.html ! --> + <module name="ConstantName"> + <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> + + <!-- Checks for local final variable name naming conventions. ! --> + <!-- See http://checkstyle.sf.net/config_naming.html ! --> + <module name="LocalFinalVariableName"> + <property name="format" value="^[a-z][a-zA-Z0-9]*$" /> + <property name="tokens" value="VARIABLE_DEF, PARAMETER_DEF" /> + </module> + + <!-- Checks for local variable name naming conventions. ! --> + <!-- See http://checkstyle.sf.net/config_naming.html ! --> + <module name="LocalVariableName"> + <property name="format" value="^[a-z][a-zA-Z0-9]*$" /> + <property name="tokens" value="PARAMETER_DEF" /> + </module> + + <!-- Checks for member variable name naming conventions. ! --> + <!-- See http://checkstyle.sf.net/config_naming.html ! --> + <module name="MemberName"> + <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> + + <!-- Checks for method name naming conventions. ! --> + <!-- See http://checkstyle.sf.net/config_naming.html ! --> + <module name="MethodName"> + <property name="format" value="^[a-z][a-zA-Z0-9]*$" /> + </module> + + <!-- Checks for method type parameter name naming conventions. ! --> + <!-- See http://checkstyle.sourceforge.net/config_naming.html#MethodTypeParameterName + ! --> + <module name="MethodTypeParameterName"> + <property name="format" value="^[A-Z]$" /> + </module> + + <!-- Checks for package name naming conventions. ! --> + <!-- See http://checkstyle.sf.net/config_naming.html ! --> + <module name="PackageName"> + <property name="format" value="^[a-z]+(\.[a-zA-Z_][a-zA-Z0-9_]*)*$" /> + </module> + + <!-- Checks for parameter name naming conventions. ! --> + <!-- See http://checkstyle.sf.net/config_naming.html ! --> + <module name="ParameterName"> + <property name="format" value="^[a-z][a-zA-Z0-9]*$" /> + </module> + + <!-- Checks for static variable name naming conventions. ! --> + <!-- See http://checkstyle.sf.net/config_naming.html ! --> + <module name="StaticVariableName"> + <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> + + <!-- Checks for type name naming conventions. ! --> + <!-- See http://checkstyle.sf.net/config_naming.html ! --> + <!-- KIEKER: modded --> + <module name="TypeName"> + <property name="format" value="^[A-Z][a-zA-Z0-9]*$" /> + <property name="tokens" value="CLASS_DEF" /> + <property name="applyToPublic" value="true" /> + <property name="applyToProtected" value="true" /> + <property name="applyToPackage" value="true" /> + <property name="applyToPrivate" value="true" /> + </module> + + <module name="TypeName"> + <property name="format" value="^I[A-Z][a-zA-Z0-9]*$" /> + <property name="tokens" value="INTERFACE_DEF" /> + <property name="applyToPublic" value="true" /> + <property name="applyToProtected" value="true" /> + <property name="applyToPackage" value="true" /> + <property name="applyToPrivate" value="true" /> + </module> + + + <!-- !________________________________________________________________________________________ + ! ! R E G E X P !________________________________________________________________________________________ + ! --> + <!-- A check that makes sure that a specified pattern exists, exists less + than a set number of times, ! --> + <!-- or does not exist in the file. ! --> + <!-- See http://checkstyle.sourceforge.net/config_misc.html#Regexp ! --> + <!-- Default: OFF <module name="Regexp"> <property name="format" value=""/> + <property name="message" value=""/> <property name="illegalPattern" value="false"/> + <property name="duplicateLimit" value="-1"/> <property name="errorLimit" + value="100"/> <property name="ignoreComments" value="false"/> </module> ! --> + + <!-- This class is variation on RegexpSingleline for detecting single lines + that match a ! --> + <!-- supplied regular expression in Java files. It supports suppressing + matches in Java comments. ! --> + <!-- See http://checkstyle.sourceforge.net/config_regexp.html#RegexpSinglelineJava + ! --> + <!-- Default: OFF <module name="RegexpSinglelineJava"> <property name="format" + value=""/> <property name="message" value=""/> <property name="ignoreCase" + value="false"/> <property name="minimum" value="0"/> <property name="maximum" + value="0"/> <property name="ignoreComments" value="false"/> </module> ! --> + + <!-- !________________________________________________________________________________________ + ! ! S I Z E V I O L A T I O N S !________________________________________________________________________________________ + ! --> + <!-- Checks for long anonymous inner classes. ! --> + <!-- See http://checkstyle.sf.net/config_sizes.html ! --> + <!-- KIEKER Set to 50 instead of 20 --> + <module name="AnonInnerLength"> + <property name="severity" value="info" /> + <property name="max" value="50" /> + </module> + + <!-- Restricts the number of executable statements to a specified limit. + ! --> + <!-- See http://checkstyle.sf.net/config_sizes.html ! --> + <!-- KIEKER off <module name="ExecutableStatementCount"> <property name="severity" + value="info"/> <property name="max" value="30"/> <property name="tokens" + value="CTOR_DEF, METHOD_DEF, INSTANCE_INIT, STATIC_INIT"/> </module> ! --> + + <!-- See http://checkstyle.sf.net/config_sizes.html ! --> + <!-- Checks for long lines. ! --> + <module name="LineLength"> + <property name="severity" value="info" /> + <property name="ignorePattern" value="^$" /> + <property name="max" value="165" /> + </module> + + <!-- Checks the number of methods declared in each type. This includes + the number of each scope ! --> + <!-- (private, package, protected and public) as well as an overall total. + ! --> + <!-- See http://checkstyle.sourceforge.net/config_sizes.html#MethodCount + ! --> + <module name="MethodCount"> + <property name="severity" value="info" /> + <property name="maxTotal" value="100" /> + <property name="maxPrivate" value="100" /> + <property name="maxPackage" value="100" /> + <property name="maxProtected" value="100" /> + <property name="maxPublic" value="100" /> + </module> + + <!-- Checks for long methods and constructors. ! --> + <!-- See http://checkstyle.sf.net/config_sizes.html ! --> + <module name="MethodLength"> + <property name="severity" value="info" /> + <property name="max" value="150" /> + <property name="countEmpty" value="true" /> + <property name="tokens" value="METHOD_DEF, CTOR_DEF" /> + </module> + + <!-- Checks for the number of types declared at the outer (or root) level + in a file. ! --> + <!-- See http://checkstyle.sourceforge.net/config_sizes.html#OuterTypeNumber + ! --> + <!-- KIEKER 2 ! --> + <module name="OuterTypeNumber"> + <property name="max" value="2" /> + </module> + + <!-- Checks the number of parameters of a method or constructor. ! --> + <!-- See http://checkstyle.sf.net/config_sizes.html ! --> + <!-- KIEKER off <module name="ParameterNumber"> <property name="severity" + value="info"/> <property name="max" value="7"/> <property name="tokens" value="METHOD_DEF, + CTOR_DEF"/> </module> ! --> + + <!-- !________________________________________________________________________________________ + ! ! W H I T E S P A C E !________________________________________________________________________________________ + ! --> + <!-- Checks the padding of an empty for initializer. ! --> + <!-- See http://checkstyle.sf.net/config_whitespace.html ! --> + <module name="EmptyForInitializerPad"> + <property name="option" value="nospace" /> + </module> + + <!-- Checks the padding of an empty for iterator. ! --> + <!-- See http://checkstyle.sf.net/config_whitespace.html ! --> + <module name="EmptyForIteratorPad"> + <property name="option" value="nospace" /> + </module> + + <!-- Checks that the whitespace around the Generic tokens < and > is correct + to the typical convention. ! --> + <!-- See http://checkstyle.sourceforge.net/config_whitespace.html#GenericWhitespace + ! --> + <module name="GenericWhitespace" /> + + <!-- Checks the padding between the identifier of a method definition, + ! --> + <!-- constructor definition, method call, or constructor invocation; and + the left parenthesis of the parameter list. ! --> + <!-- See http://checkstyle.sf.net/config_whitespace.html ! --> + <module name="MethodParamPad"> + <property name="allowLineBreaks" value="false" /> + <property name="option" value="nospace" /> + <property name="tokens" + value="CTOR_DEF, LITERAL_NEW, METHOD_CALL, METHOD_DEF, SUPER_CTOR_CALL " /> + </module> + + <!-- Checks that there is no whitespace after a token. ! --> + <!-- See http://checkstyle.sf.net/config_whitespace.html ! --> + <!-- KIEKER removed ARRAY_INIT ! --> + <module name="NoWhitespaceAfter"> + <property name="allowLineBreaks" value="true" /> + <property name="tokens" + value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS" /> + </module> + + <!-- Checks that there is no whitespace before a token. ! --> + <!-- See http://checkstyle.sf.net/config_whitespace.html ! --> + <module name="NoWhitespaceBefore"> + <property name="allowLineBreaks" value="false" /> + <property name="tokens" value="SEMI, POST_DEC, POST_INC" /> + </module> + + <!-- Checks the policy on how to wrap lines on operators. ! --> + <!-- See http://checkstyle.sf.net/config_whitespace.html ! --> + <module name="OperatorWrap"> + <property name="option" value="nl" /> + <property name="tokens" + value="BAND, BOR, BSR, BXOR, COLON, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, - PLUS, QUESTION, SL, SR, STAR"/> - </module> - - <!-- Checks the policy on the padding of parentheses. !--> - <!-- See http://checkstyle.sf.net/config_whitespace.html !--> - <module name="ParenPad"> - <property name="option" value="nospace"/> - <property name="tokens" value="CTOR_CALL, LPAREN, METHOD_CALL, RPAREN, SUPER_CTOR_CALL"/> - </module> - - <!-- Checks the policy on the padding of parentheses for typecasts. !--> - <!-- See http://checkstyle.sf.net/config_whitespace.html !--> - <module name="TypecastParenPad"> - <property name="option" value="nospace"/> - <property name="tokens" value="TYPECAST, RPAREN"/> - </module> - - <!-- Checks that a token is followed by whitespace. !--> - <!-- See http://checkstyle.sf.net/config_whitespace.html !--> - <module name="WhitespaceAfter"> - <property name="tokens" value="COMMA, SEMI, TYPECAST"/> - </module> - - <!-- Checks that a token is surrounded by whitespace. !--> - <!-- See http://checkstyle.sf.net/config_whitespace.html !--> - <module name="WhitespaceAround"> - <property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, + PLUS, QUESTION, SL, SR, STAR" /> + </module> + + <!-- Checks the policy on the padding of parentheses. ! --> + <!-- See http://checkstyle.sf.net/config_whitespace.html ! --> + <module name="ParenPad"> + <property name="option" value="nospace" /> + <property name="tokens" + value="CTOR_CALL, LPAREN, METHOD_CALL, RPAREN, SUPER_CTOR_CALL" /> + </module> + + <!-- Checks the policy on the padding of parentheses for typecasts. ! --> + <!-- See http://checkstyle.sf.net/config_whitespace.html ! --> + <module name="TypecastParenPad"> + <property name="option" value="nospace" /> + <property name="tokens" value="TYPECAST, RPAREN" /> + </module> + + <!-- Checks that a token is followed by whitespace. ! --> + <!-- See http://checkstyle.sf.net/config_whitespace.html ! --> + <module name="WhitespaceAfter"> + <property name="tokens" value="COMMA, SEMI, TYPECAST" /> + </module> + + <!-- Checks that a token is surrounded by whitespace. ! --> + <!-- See http://checkstyle.sf.net/config_whitespace.html ! --> + <module name="WhitespaceAround"> + <property name="tokens" + value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LE, LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, - QUESTION, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN"/> - <property name="allowEmptyConstructors" value="true"/> - <property name="allowEmptyMethods" value="true"/> - </module> + QUESTION, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN" /> + <property name="allowEmptyConstructors" value="true" /> + <property name="allowEmptyMethods" value="true" /> + </module> - </module> + </module> </module> diff --git a/src/main/java/teetime/framework/AbstractPort.java b/src/main/java/teetime/framework/AbstractPort.java index 6d5bf310c8750238bd604a039c0d00ca3c534894..50693ae3cb70ba65ab3e50cc2a342006794b036a 100644 --- a/src/main/java/teetime/framework/AbstractPort.java +++ b/src/main/java/teetime/framework/AbstractPort.java @@ -19,6 +19,7 @@ import teetime.framework.pipe.IPipe; public abstract class AbstractPort<T> { + protected IPipe pipe; /** * The type of this port. * <p> @@ -29,8 +30,6 @@ public abstract class AbstractPort<T> { private final Stage owningStage; private final String name; - protected IPipe pipe; - protected AbstractPort(final Class<T> type, final Stage owningStage, final String name) { super(); this.type = type; diff --git a/src/main/java/teetime/framework/AbstractStage.java b/src/main/java/teetime/framework/AbstractStage.java index 9ac7e9dfb07d623994b9b3997e6eccf72652d13a..bb9da6741ebc1a3e59f2c280be8e4a364535dfd9 100644 --- a/src/main/java/teetime/framework/AbstractStage.java +++ b/src/main/java/teetime/framework/AbstractStage.java @@ -38,12 +38,12 @@ public abstract class AbstractStage extends Stage { @Override protected List<InputPort<?>> getInputPorts() { - return inputPorts.getOpenedPorts(); + return inputPorts.getOpenedPorts(); // TODO consider to publish a read-only version } @Override protected List<OutputPort<?>> getOutputPorts() { - return outputPorts.getOpenedPorts(); + return outputPorts.getOpenedPorts(); // TODO consider to publish a read-only version } @Override @@ -74,7 +74,7 @@ public abstract class AbstractStage extends Stage { * @return <code>true</code> if this stage has already received the given <code>signal</code>, <code>false</code> otherwise */ protected boolean signalAlreadyReceived(final ISignal signal, final InputPort<?> inputPort) { - boolean signalAlreadyReceived = this.triggeredSignalTypes.contains(signal.getClass()); + final boolean signalAlreadyReceived = this.triggeredSignalTypes.contains(signal.getClass()); if (signalAlreadyReceived) { if (logger.isTraceEnabled()) { logger.trace("Got signal again: " + signal + " from input port: " + inputPort); diff --git a/src/main/java/teetime/framework/Configuration.java b/src/main/java/teetime/framework/Configuration.java index 4a225fb22097c002aed3015b28c64f5cc950c0d4..098279e1b5ffd2d1ef1f8e640d06cedaf2ecc249 100644 --- a/src/main/java/teetime/framework/Configuration.java +++ b/src/main/java/teetime/framework/Configuration.java @@ -27,6 +27,10 @@ public class Configuration extends AbstractCompositeStage { private boolean executed; + protected Configuration() { + // protected ctor to prevent direct instantiation. + } + boolean isExecuted() { return executed; } @@ -35,7 +39,4 @@ public class Configuration extends AbstractCompositeStage { this.executed = executed; } - protected Configuration() { - // protected ctor to prevent direct instantiation. - } } diff --git a/src/main/java/teetime/util/framework/concurrent/queue/putstrategy/YieldPutStrategy.java b/src/main/java/teetime/util/framework/concurrent/queue/putstrategy/YieldPutStrategy.java index bbcc8c4d4316bcfa4d12c89519df80b64825c33b..276e4b06b14944bc00fd0b91be5594963fad71f5 100644 --- a/src/main/java/teetime/util/framework/concurrent/queue/putstrategy/YieldPutStrategy.java +++ b/src/main/java/teetime/util/framework/concurrent/queue/putstrategy/YieldPutStrategy.java @@ -17,20 +17,17 @@ package teetime.util.framework.concurrent.queue.putstrategy; import java.util.Queue; -public class YieldPutStrategy<E> implements PutStrategy<E> -{ +public class YieldPutStrategy<E> implements PutStrategy<E> { + @Override - public void backoffOffer(final Queue<E> q, final E e) - { - while (!q.offer(e)) - { + public void backoffOffer(final Queue<E> q, final E e) { + while (!q.offer(e)) { Thread.yield(); } } @Override - public void signal() - { + public void signal() { // Nothing } } diff --git a/src/main/java/teetime/util/framework/concurrent/queue/takestrategy/SCParkTakeStrategy.java b/src/main/java/teetime/util/framework/concurrent/queue/takestrategy/SCParkTakeStrategy.java index 881c1aebaa45959791fc772e6ccdc30e384ac74e..f50ee7178c41e63a3448563bf6b83b332731e90f 100644 --- a/src/main/java/teetime/util/framework/concurrent/queue/takestrategy/SCParkTakeStrategy.java +++ b/src/main/java/teetime/util/framework/concurrent/queue/takestrategy/SCParkTakeStrategy.java @@ -21,25 +21,22 @@ import java.util.concurrent.locks.LockSupport; public final class SCParkTakeStrategy<E> implements TakeStrategy<E> { - public volatile int storeFence = 0; + public volatile int storeFence = 0; // NOCS private final AtomicReference<Thread> t = new AtomicReference<Thread>(null); @Override // Make sure the offer is visible before unpark - public void signal() - { + public void signal() { storeFence = 1; // store barrier LockSupport.unpark(t.get()); // t.get() load barrier } @Override - public E waitPoll(final Queue<E> q) throws InterruptedException - { + public E waitPoll(final Queue<E> q) throws InterruptedException { E e = q.poll(); - if (e != null) - { + if (e != null) { return e; } diff --git a/src/test/java/teetime/stage/io/File2SeqOfWordsTest.java b/src/test/java/teetime/stage/io/File2SeqOfWordsTest.java index e7dac5bd035601f4e7274ca2906f3bf39baa0583..3a2dbf964235abfb1820c0f9ab1350bb984defe3 100644 --- a/src/test/java/teetime/stage/io/File2SeqOfWordsTest.java +++ b/src/test/java/teetime/stage/io/File2SeqOfWordsTest.java @@ -30,8 +30,8 @@ public class File2SeqOfWordsTest { @Test public void testExecute() throws Exception { - File2SeqOfWords stage = new File2SeqOfWords(14); - List<String> outputSeqOfWords = new ArrayList<String>(); + final File2SeqOfWords stage = new File2SeqOfWords(14); + final List<String> outputSeqOfWords = new ArrayList<String>(); StageTester.test(stage).send(Arrays.asList(new File("./src/test/resources/data/input.txt"))).to(stage.getInputPort()).and().receive(outputSeqOfWords) .from(stage.getOutputPort()).start(); assertEquals(outputSeqOfWords.get(0), "Lorem ipsum"); diff --git a/src/test/java/teetime/stage/string/TokenizerTest.java b/src/test/java/teetime/stage/string/TokenizerTest.java index cd8803204207fde8f02aa2410df112d7bab17fe7..0f0fcb24b1b833c84e06fdeccc26a900c5fe7068 100644 --- a/src/test/java/teetime/stage/string/TokenizerTest.java +++ b/src/test/java/teetime/stage/string/TokenizerTest.java @@ -39,7 +39,7 @@ public class TokenizerTest { @Test public void tokenizerShouldJustDelaySingleToken() { - List<String> results = new ArrayList<String>(); + final List<String> results = new ArrayList<String>(); test(tokenizer).and().send("Hello World").to(tokenizer.getInputPort()).and().receive(results).from(tokenizer.getOutputPort()).start(); @@ -48,7 +48,7 @@ public class TokenizerTest { @Test public void tokenizerShouldSplitMultipleToken() { - List<String> results = new ArrayList<String>(); + final List<String> results = new ArrayList<String>(); test(tokenizer).and().send("Hello;World").to(tokenizer.getInputPort()).and().receive(results).from(tokenizer.getOutputPort()).start();