Index: trunk/tools/pmd/designer.bat
===================================================================
--- trunk/tools/pmd/designer.bat	(revision 12877)
+++ trunk/tools/pmd/designer.bat	(revision 13202)
@@ -2,5 +2,5 @@
 set TOPDIR=%~dp0..
 set OPTS=
-set MAIN_CLASS=net.sourceforge.pmd.util.designer.Designer
+set MAIN_CLASS=net.sourceforge.pmd.util.fxdesigner.Designer
 
-java -classpath %TOPDIR%\pmd\* %OPTS% %MAIN_CLASS% %*
+java -classpath "%TOPDIR%\pmd\*" %OPTS% %MAIN_CLASS% %*
Index: trunk/tools/pmd/josm-ruleset.xml
===================================================================
--- trunk/tools/pmd/josm-ruleset.xml	(revision 12877)
+++ trunk/tools/pmd/josm-ruleset.xml	(revision 13202)
@@ -7,89 +7,130 @@
   <description>JOSM PMD ruleset</description>
  
-  <!-- <rule ref="rulesets/java/basic.xml"/>
-  <rule ref="rulesets/java/braces.xml"/>
-  <rule ref="rulesets/java/clone.xml"/>
-  <rule ref="rulesets/java/codesize.xml"/>
-  <rule ref="rulesets/java/comments.xml"/>
-  <rule ref="rulesets/java/design.xml"/>
-  <rule ref="rulesets/java/empty.xml"/>
-  <rule ref="rulesets/java/finalizers.xml"/>
-  <rule ref="rulesets/java/imports.xml"/>
-  <rule ref="rulesets/java/migrating.xml"/>-->
-  <rule ref="rulesets/java/naming.xml">
-  	<exclude name="AbstractNaming"/>
-  	<exclude name="AvoidFieldNameMatchingMethodName"/>
-  	<exclude name="AvoidFieldNameMatchingTypeName"/>
-  	<exclude name="BooleanGetMethodName"/>
-  	<exclude name="LongVariable"/>
-  	<exclude name="ShortClassName"/>
-  	<exclude name="ShortMethodName"/>
-  	<exclude name="ShortVariable"/>
-  	<exclude name="MethodNamingConventions"/>
-  	<exclude name="VariableNamingConventions"/>
+  <rule ref="category/java/bestpractices.xml">
+    <exclude name="AccessorClassGeneration"/>
+    <exclude name="AccessorMethodGeneration"/>
+    <exclude name="ArrayIsStoredDirectly"/>
+    <exclude name="AvoidPrintStackTrace"/>
+    <exclude name="AvoidReassigningParameters"/>
+    <exclude name="AvoidStringBufferField"/>
+    <exclude name="AvoidUsingHardCodedIP"/>
+    <exclude name="ConstantsInInterface"/>
+    <exclude name="ForLoopCanBeForeach"/>
+    <exclude name="GuardLogStatement"/>
+    <exclude name="JUnit4TestShouldUseAfterAnnotation"/>
+    <exclude name="JUnit4TestShouldUseTestAnnotation"/>
+    <exclude name="LooseCoupling"/>
+    <exclude name="MethodReturnsInternalArray"/>
+    <exclude name="OneDeclarationPerLine"/>
+    <exclude name="PositionLiteralsFirstInComparisons"/>
+    <exclude name="PreserveStackTrace"/>
+    <exclude name="ReplaceHashtableWithMap"/>
+    <exclude name="SwitchStmtsShouldHaveDefault"/>
+    <exclude name="SystemPrintln"/>
+    <exclude name="UnusedFormalParameter"/>
+    <exclude name="UseVarargs"/>
   </rule>
-  <rule ref="rulesets/java/naming.xml/ShortMethodName">
+  <rule ref="category/java/bestpractices.xml/UnusedFormalParameter">
+    <properties>
+        <property name="violationSuppressXPath" value="//Annotation[MarkerAnnotation/Name/@Image='Deprecated']/..[MethodDeclaration|ConstructorDeclaration]"/>
+    </properties>
+  </rule>
+  <rule ref="category/java/codestyle.xml">
+    <exclude name="AbstractNaming"/>
+    <exclude name="AtLeastOneConstructor"/>
+    <exclude name="AvoidFinalLocalVariable"/>
+    <exclude name="AvoidPrefixingMethodParameters"/>
+    <exclude name="BooleanGetMethodName"/>
+    <exclude name="CallSuperInConstructor"/>
+    <exclude name="CommentDefaultAccessModifier"/>
+    <exclude name="ConfusingTernary"/>
+    <exclude name="DefaultPackage"/>
+    <exclude name="EmptyMethodInAbstractClassShouldBeAbstract"/>
+    <exclude name="FieldDeclarationsShouldBeAtStartOfClass"/>
+    <exclude name="ForLoopsMustUseBraces"/>
+    <exclude name="IfElseStmtsMustUseBraces"/>
+    <exclude name="IfStmtsMustUseBraces"/>
+    <exclude name="LocalVariableCouldBeFinal"/>
+    <exclude name="LongVariable"/>
+    <exclude name="MethodArgumentCouldBeFinal"/>
+    <exclude name="MethodNamingConventions"/>
+    <exclude name="OnlyOneReturn"/>
+    <exclude name="PrematureDeclaration"/>
+    <exclude name="ShortClassName"/>
+    <exclude name="ShortMethodName"/>
+    <exclude name="ShortVariable"/>
+    <exclude name="TooManyStaticImports"/>
+    <exclude name="UnnecessaryConstructor"/>
+    <exclude name="UselessParentheses"/>
+    <exclude name="VariableNamingConventions"/>
+    <exclude name="WhileLoopsMustUseBraces"/>
+  </rule>
+  <rule ref="category/java/codestyle.xml/ShortMethodName">
     <properties>
         <property name="violationSuppressXPath" value="//MethodDeclarator[@Image='at' or @Image='ht' or @Image='of' or @Image='ok' or @Image='tr']
-        	| //MethodDeclarator/../../Annotation/MarkerAnnotation/Name[@Image='Deprecated']
-        	| //MethodDeclarator/../../../..[@Image='LambertConformalConic']"/>
+          | //MethodDeclarator/../../Annotation/MarkerAnnotation/Name[@Image='Deprecated']
+          | //MethodDeclarator/../../../..[@Image='LambertConformalConic']"/>
     </properties>
   </rule>
-  <rule ref="rulesets/java/naming.xml/MethodNamingConventions">
+  <rule ref="category/java/codestyle.xml/MethodNamingConventions">
     <properties>
         <property name="violationSuppressXPath" value="//MethodDeclarator/../../../..[@Image='Functions' or @Image='PseudoClasses' or @Image='Role' or @Image='TaggingPreset']"/>
     </properties>
   </rule>
-  <rule ref="rulesets/java/naming.xml/VariableNamingConventions">
+  <rule ref="category/java/codestyle.xml/VariableNamingConventions">
     <properties>
         <property name="violationSuppressXPath" value="//FieldDeclaration[@Public='true']
-        	| //FieldDeclaration/../Annotation/MarkerAnnotation/Name[@Image='pref']
-        	| //FieldDeclaration/Type/ReferenceType/ClassOrInterfaceType[@Image!='Boolean' and 
-        	                                                             @Image!='Byte' and 
-        	                                                             @Image!='Character' and 
-        	                                                             @Image!='Class' and 
-        	                                                             @Image!='Double' and 
-        	                                                             @Image!='Enum' and 
-        	                                                             @Image!='Float' and 
-        	                                                             @Image!='Integer' and
-        	                                                             @Image!='Long' and
-        	                                                             @Image!='Number' and
-        	                                                             @Image!='Short' and 
-        	                                                             @Image!='String' ]"/>
+          | //FieldDeclaration/../Annotation/MarkerAnnotation/Name[@Image='pref']
+          | //FieldDeclaration/Type/ReferenceType/ClassOrInterfaceType[@Image!='Boolean' and 
+                                                                       @Image!='Byte' and 
+                                                                       @Image!='Character' and 
+                                                                       @Image!='Class' and 
+                                                                       @Image!='Double' and 
+                                                                       @Image!='Enum' and 
+                                                                       @Image!='Float' and 
+                                                                       @Image!='Integer' and
+                                                                       @Image!='Long' and
+                                                                       @Image!='Number' and
+                                                                       @Image!='Short' and 
+                                                                       @Image!='String' ]"/>
     </properties>
   </rule>
-  <rule ref="rulesets/java/naming.xml/LongVariable">
+  <rule ref="category/java/codestyle.xml/LongVariable">
     <properties>
         <property name="minimum" value="44"/>
     </properties>
   </rule>
-  <rule ref="rulesets/java/optimizations.xml">
-  	<exclude name="LocalVariableCouldBeFinal"/>
-  	<exclude name="MethodArgumentCouldBeFinal"/>
-  	<exclude name="AvoidInstantiatingObjectsInLoops"/>
-  	<exclude name="PrematureDeclaration"/>
-  	<exclude name="SimplifyStartsWith"/>
-  	<exclude name="UseStringBufferForStringAppends"/>
-  	<exclude name="UseArrayListInsteadOfVector"/>
+  <rule ref="category/java/design.xml">
+    <exclude name="AvoidCatchingGenericException"/>
+    <exclude name="AvoidDeeplyNestedIfStmts"/>
+    <exclude name="AvoidRethrowingException"/>
+    <exclude name="CollapsibleIfStatements"/>
+    <exclude name="CouplingBetweenObjects"/>
+    <exclude name="CyclomaticComplexity"/>
+    <exclude name="DataClass"/>
+    <exclude name="ExceptionAsFlowControl"/>
+    <exclude name="ExcessiveClassLength"/>
+    <exclude name="ExcessiveImports"/>
+    <exclude name="ExcessiveMethodLength"/>
+    <exclude name="ExcessiveParameterList"/>
+    <exclude name="ExcessivePublicCount"/>
+    <exclude name="GodClass"/>
+    <exclude name="ImmutableField"/>
+    <exclude name="LawOfDemeter"/>
+    <exclude name="LoosePackageCoupling"/>
+    <exclude name="NcssCount"/>
+    <exclude name="NPathComplexity"/>
+    <exclude name="SignatureDeclareThrowsException"/>
+    <exclude name="SimplifiedTernary"/>
+    <exclude name="SimplifyConditional"/>
+    <exclude name="SingularField"/>
+    <exclude name="SwitchDensity"/>
+    <exclude name="TooManyFields"/>
+    <exclude name="TooManyMethods"/>
+    <exclude name="UseObjectForClearerAPI"/>
+    <exclude name="UselessOverridingMethod"/>
+    <exclude name="UseUtilityClass"/>
   </rule>
-  <rule ref="rulesets/java/strictexception.xml">
-  	<exclude name="ExceptionAsFlowControl"/>
-  	<exclude name="AvoidCatchingGenericException"/>
-  	<exclude name="AvoidCatchingNPE"/>
-  	<exclude name="AvoidRethrowingException"/>
-  </rule>
-  <rule ref="rulesets/java/strings.xml">
-  	<exclude name="AvoidDuplicateLiterals"/>
-  	<exclude name="ConsecutiveLiteralAppends"/>
-  	<exclude name="AvoidStringBufferField"/>
-  	<exclude name="StringToString"/>
-  	<exclude name="UselessStringValueOf"/>
-  	<exclude name="InefficientEmptyStringCheck"/>
-  </rule>
-  <rule ref="rulesets/java/typeresolution.xml">
-  	<exclude name="LooseCoupling"/>
-  	<exclude name="SignatureDeclareThrowsException"/>
-  </rule>
-  <rule ref="rulesets/java/typeresolution.xml/SignatureDeclareThrowsException">
+  <rule ref="category/java/design.xml/SignatureDeclareThrowsException">
     <properties>
         <property name="violationSuppressXPath" value="//MethodDeclaration/../Annotation/MarkerAnnotation/Name[@Image='Override']"/>
@@ -97,15 +138,48 @@
     </properties>
   </rule>
-  <rule ref="rulesets/java/unnecessary.xml">
-  	<exclude name="UselessParentheses"/>
-  	<exclude name="UselessOverridingMethod"/>
+  <rule ref="category/java/errorprone.xml">
+    <exclude name="AssignmentInOperand"/>
+    <exclude name="AssignmentToNonFinalStatic"/>
+    <exclude name="AvoidBranchingStatementAsLastInLoop"/>
+    <exclude name="AvoidCatchingNPE"/>
+    <exclude name="AvoidDuplicateLiterals"/>
+    <exclude name="AvoidFieldNameMatchingMethodName"/>
+    <exclude name="AvoidFieldNameMatchingTypeName"/>
+    <exclude name="AvoidInstanceofChecksInCatchClause"/>
+    <exclude name="AvoidLiteralsInIfCondition"/>
+    <exclude name="BeanMembersShouldSerialize"/>
+    <exclude name="CompareObjectsWithEquals"/>
+    <exclude name="ConstructorCallsOverridableMethod"/>
+    <exclude name="DataflowAnomalyAnalysis"/>
+    <exclude name="DoNotCallGarbageCollectionExplicitly"/>
+    <exclude name="DoNotCallSystemExit"/>
+    <exclude name="DontImportSun"/>
+    <exclude name="EmptyIfStmt"/>
+    <exclude name="EmptyWhileStmt"/>
+    <exclude name="MissingBreakInSwitch"/>
+    <exclude name="MissingSerialVersionUID"/>
+    <exclude name="MissingStaticMethodInNonInstantiatableClass"/>
+    <exclude name="NonStaticInitializer"/>
+    <exclude name="NullAssignment"/>
+    <exclude name="ReturnEmptyArrayRatherThanNull"/>
+    <exclude name="SimpleDateFormatNeedsLocale"/>
+    <exclude name="SingleMethodSingleton"/>
+    <exclude name="SingletonClassReturningNewInstance"/>
+    <exclude name="TestClassWithoutTestCases"/>
+    <exclude name="UseProperClassLoader"/>
   </rule>
-  <rule ref="rulesets/java/unusedcode.xml">
-  	<exclude name="UnusedFormalParameter"/>
-  </rule>
-  <rule ref="rulesets/java/unusedcode.xml/UnusedFormalParameter">
-    <properties>
-        <property name="violationSuppressXPath" value="//Annotation[MarkerAnnotation/Name/@Image='Deprecated']/..[MethodDeclaration|ConstructorDeclaration]"/>
-    </properties>
+  <rule ref="category/java/performance.xml">
+    <exclude name="AvoidFileStream"/>
+    <exclude name="AvoidInstantiatingObjectsInLoops"/>
+    <exclude name="AvoidUsingShortType"/>
+    <exclude name="ConsecutiveLiteralAppends"/>
+    <exclude name="InefficientEmptyStringCheck"/>
+    <exclude name="OptimizableToArrayCall"/>
+    <exclude name="SimplifyStartsWith"/>
+    <exclude name="StringToString"/>
+    <exclude name="TooFewBranchesForASwitchStatement"/>
+    <exclude name="UseArrayListInsteadOfVector"/>
+    <exclude name="UselessStringValueOf"/>
+    <exclude name="UseStringBufferForStringAppends"/>
   </rule>
 
