diff --git a/pmd-eclipse-feature/feature.properties b/pmd-eclipse-feature/feature.properties
index ca58ade7ea..e08b8c5e85 100644
--- a/pmd-eclipse-feature/feature.properties
+++ b/pmd-eclipse-feature/feature.properties
@@ -11,16 +11,35 @@ Copyright 1997-2003 PMD for Eclipse Development Team \n\
under sponsorship of the Defense Advanced Research Projects Agency (DARPA).
license.text =\
-This program is free software; you can redistribute it and/or \
-modify it under the terms of the Cougaar Open Source License as published \
-by DARPA on the Cougaar Open Source Website (www.cougaar.org).\
-\n\
-THE COUGAAR SOFTWARE AND ANY DERIVATIVE SUPPLIED BY LICENSOR \
-IS PROVIDED "AS IS" WITHOUT WARRANTIES OF ANY KIND, WHETHER EXPRESS \
-OR IMPLIED, INCLUDING (BUT NOT LIMITED TO) ALL IMPLIED WARRANTIES \
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND WITHOUT \
-ANY WARRANTIES AS TO NON-INFRINGEMENT. IN NO EVENT SHALL COPYRIGHT \
-HOLDER BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL \
-DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE OF DATA OR PROFITS, \
-TORTIOUS CONDUCT, ARISING OUT OF OR IN CONNECTION WITH THE USE OR \
-PERFORMANCE OF THE COUGAAR SOFTWARE.
+Copyright (c) 2003, PMD for Eclipse Development Team \
+All rights reserved. \
+ \
+Redistribution and use in source and binary forms, with or without \
+modification, are permitted provided that the following conditions are \
+met: \
+ \
+ * Redistributions of source code must retain the above copyright \
+ notice, this list of conditions and the following disclaimer. \
+ * Redistributions in binary form must reproduce the above copyright \
+ notice, this list of conditions and the following disclaimer in the \
+ documentation and/or other materials provided with the distribution. \
+ * The end-user documentation included with the redistribution, if \
+ any, must include the following acknowledgement: \
+ "This product includes software developed in part by support from \
+ the Defense Advanced Research Project Agency (DARPA)" \
+ * Neither the name of "PMD for Eclipse Development Team" nor the names of its \
+ contributors may be used to endorse or promote products derived from \
+ this software without specific prior written permission. \
+ \
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS \
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED \
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A \
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER \
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, \
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF \
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING \
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS \
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \
+
diff --git a/pmd-eclipse-feature/feature.xml b/pmd-eclipse-feature/feature.xml
index 2b719d34b3..1273a7d030 100644
--- a/pmd-eclipse-feature/feature.xml
+++ b/pmd-eclipse-feature/feature.xml
@@ -2,7 +2,7 @@
@@ -19,28 +19,28 @@
+
-
-
+
+ download-size="0"
+ install-size="0"
+ version="3.3.0"/>
+ download-size="0"
+ install-size="0"
+ version="3.1.1"/>
diff --git a/pmd-eclipse/.classpath b/pmd-eclipse/.classpath
index d0f15da36c..15324edb3f 100644
--- a/pmd-eclipse/.classpath
+++ b/pmd-eclipse/.classpath
@@ -1,10 +1,10 @@
-
-
-
-
+
+
+
+
diff --git a/pmd-eclipse/.pmd b/pmd-eclipse/.pmd
index 7079cd1993..44343658fd 100644
--- a/pmd-eclipse/.pmd
+++ b/pmd-eclipse/.pmd
@@ -1,2 +1,2 @@
-pmd-eclipse source codefalseEmptySynchronizedBlockpmd-eclipseTooManyFieldspmd-eclipseSystemPrintlnpmd-eclipseConfusingTernarypmd-eclipseMethodNamingConventionspmd-eclipseStringToStringpmd-eclipseDefaultLabelNotLastInSwitchStmtpmd-eclipseExcessiveParameterListpmd-eclipseEmptyFinallyBlockpmd-eclipseFinalizeOnlyCallsSuperFinalizepmd-eclipseNullAssignmentpmd-eclipseReturnFromFinallyBlockpmd-eclipseSimpleDateFormatNeedsLocalepmd-eclipseConstructorCallsOverridableMethodpmd-eclipseAvoidDeeplyNestedIfStmtspmd-eclipseEmptyStaticInitializerpmd-eclipseCollapsibleIfStatementspmd-eclipseCloneMethodMustImplementCloneablepmd-eclipseUnnecessaryReturnpmd-eclipseAvoidReassigningParameterspmd-eclipseMissingBreakInSwitchpmd-eclipseEmptyStatementNotInLooppmd-eclipseJumbledIncrementerpmd-eclipseStringInstantiationpmd-eclipseUseStringBufferForStringAppendspmd-eclipseSwitchStmtsShouldHaveDefaultpmd-eclipseFinalizeDoesNotCallSuperFinalizepmd-eclipseUnnecessaryFinalModifierpmd-eclipseCloseConnectionpmd-eclipseCyclomaticComplexitypmd-eclipseAssignmentInOperandpmd-eclipseAvoidFieldNameMatchingTypeNamepmd-eclipseExceptionAsFlowControlpmd-eclipseBadComparisonpmd-eclipseOptimizableToArrayCallpmd-eclipseImportFromSamePackagepmd-eclipseOverrideBothEqualsAndHashcodepmd-eclipseSuspiciousHashcodeMethodNamepmd-eclipseSingularFieldpmd-eclipseMethodArgumentCouldBeFinalpmd-eclipseMoreThanOneLoggerpmd-eclipseEmptyTryBlockpmd-eclipseUnusedModifierpmd-eclipseCouplingBetweenObjectspmd-eclipseBooleanInstantiationpmd-eclipseLoggerIsNotStaticFinalpmd-eclipseExcessiveImportspmd-eclipseForLoopShouldBeWhileLooppmd-eclipseAvoidInstanceofChecksInCatchClausepmd-eclipseInstantiationToGetClasspmd-eclipseAvoidDollarSignspmd-eclipseUnusedPrivateFieldpmd-eclipseCallSuperInConstructorpmd-eclipseIfElseStmtsMustUseBracespmd-eclipseExceptionTypeCheckingpmd-eclipseDontImportJavaLangpmd-eclipseShortMethodNamepmd-eclipseUnusedFormalParameterpmd-eclipseExcessiveMethodLengthpmd-eclipseSuspiciousConstantFieldNamepmd-eclipseAvoidCatchingThrowablepmd-eclipseSimplifyBooleanReturnspmd-eclipseUnnecessaryConstructorpmd-eclipseAvoidFieldNameMatchingMethodNamepmd-eclipseSimplifyBooleanExpressionspmd-eclipseSimplifyStartsWithpmd-eclipseUnusedPrivateMethodpmd-eclipseSwitchDensitypmd-eclipseDontImportSunpmd-eclipseAvoidProtectedFieldInFinalClasspmd-eclipseUnnecessaryParenthesespmd-eclipseExplicitCallToFinalizepmd-eclipseFinalizeShouldBeProtectedpmd-eclipseMissingStaticMethodInNonInstantiatableClasspmd-eclipseDuplicateImportspmd-eclipseWhileLoopsMustUseBracespmd-eclipseUnnecessaryConversionTemporarypmd-eclipseAccessorClassGenerationpmd-eclipseLooseCouplingpmd-eclipseArrayIsStoredDirectlypmd-eclipseAvoidSynchronizedAtMethodLevelpmd-eclipseMethodWithSameNameAsEnclosingClasspmd-eclipseUseSingletonpmd-eclipseEmptyWhileStmtpmd-eclipseEmptyCatchBlockpmd-eclipseExcessiveClassLengthpmd-eclipseEqualsNullpmd-eclipseFinalFieldCouldBeStaticpmd-eclipseClassNamingConventionspmd-eclipseAbstractNamingpmd-eclipseAvoidThrowingCertainExceptionTypespmd-eclipseFinalizeOverloadedpmd-eclipseUnconditionalIfStatementpmd-eclipseCloneThrowsCloneNotSupportedExceptionpmd-eclipseEmptyFinalizerpmd-eclipseSimplifyConditionalpmd-eclipseAssignmentToNonFinalStaticpmd-eclipseSuspiciousOctalEscapepmd-eclipseUseNotifyAllInsteadOfNotifypmd-eclipseDoubleCheckedLockingpmd-eclipseExcessivePublicCountpmd-eclipseImmutableFieldpmd-eclipseSignatureDeclareThrowsExceptionpmd-eclipseIfStmtsMustUseBracespmd-eclipseOnlyOneReturnpmd-eclipseUnusedImportspmd-eclipseNonCaseLabelInSwitchStatementpmd-eclipseMethodReturnsInternalArraypmd-eclipseUseArrayListInsteadOfVectorpmd-eclipseAvoidCatchingNPEpmd-eclipseForLoopsMustUseBracespmd-eclipseUseLocaleWithCaseConversionspmd-eclipseAvoidCallingFinalizepmd-eclipseAvoidInstantiatingObjectsInLoopspmd-eclipseLocalVariableCouldBeFinalpmd-eclipseUnusedLocalVariablepmd-eclipseAvoidDuplicateLiteralspmd-eclipseAvoidConcatenatingNonLiteralsInStringBufferpmd-eclipseAbstractClassWithoutAbstractMethodpmd-eclipseEmptySwitchStatementspmd-eclipseProperCloneImplementationpmd-eclipseNonStaticInitializerpmd-eclipseSuspiciousEqualsMethodNamepmd-eclipseAvoidNonConstructorMethodsWithClassNamepmd-eclipseLongVariablepmd-eclipseIdempotentOperationspmd-eclipseEmptyIfStmtpmd-eclipse
\ No newline at end of file
+pmd-eclipse source codefalseEmptySynchronizedBlockpmd-eclipseTooManyFieldspmd-eclipseSystemPrintlnpmd-eclipseConfusingTernarypmd-eclipseMethodNamingConventionspmd-eclipseStringToStringpmd-eclipseDefaultLabelNotLastInSwitchStmtpmd-eclipseExcessiveParameterListpmd-eclipseEmptyFinallyBlockpmd-eclipseFinalizeOnlyCallsSuperFinalizepmd-eclipseNullAssignmentpmd-eclipseReturnFromFinallyBlockpmd-eclipseSimpleDateFormatNeedsLocalepmd-eclipseConstructorCallsOverridableMethodpmd-eclipseAvoidDeeplyNestedIfStmtspmd-eclipseEmptyStaticInitializerpmd-eclipseCollapsibleIfStatementspmd-eclipseCloneMethodMustImplementCloneablepmd-eclipseUnnecessaryReturnpmd-eclipseAvoidReassigningParameterspmd-eclipseMissingBreakInSwitchpmd-eclipseEmptyStatementNotInLooppmd-eclipseJumbledIncrementerpmd-eclipseStringInstantiationpmd-eclipseUseStringBufferForStringAppendspmd-eclipseSwitchStmtsShouldHaveDefaultpmd-eclipseFinalizeDoesNotCallSuperFinalizepmd-eclipseUnnecessaryFinalModifierpmd-eclipseCloseConnectionpmd-eclipseCyclomaticComplexitypmd-eclipseAssignmentInOperandpmd-eclipseAvoidFieldNameMatchingTypeNamepmd-eclipseExceptionAsFlowControlpmd-eclipseBadComparisonpmd-eclipseOptimizableToArrayCallpmd-eclipseImportFromSamePackagepmd-eclipseOverrideBothEqualsAndHashcodepmd-eclipseSuspiciousHashcodeMethodNamepmd-eclipseMethodArgumentCouldBeFinalpmd-eclipseSingularFieldpmd-eclipseMoreThanOneLoggerpmd-eclipseEmptyTryBlockpmd-eclipseUnusedModifierpmd-eclipseCouplingBetweenObjectspmd-eclipseBooleanInstantiationpmd-eclipseLoggerIsNotStaticFinalpmd-eclipseExcessiveImportspmd-eclipseForLoopShouldBeWhileLooppmd-eclipseAvoidInstanceofChecksInCatchClausepmd-eclipseInstantiationToGetClasspmd-eclipseAvoidDollarSignspmd-eclipseUnusedPrivateFieldpmd-eclipseCallSuperInConstructorpmd-eclipseIfElseStmtsMustUseBracespmd-eclipseExceptionTypeCheckingpmd-eclipseDontImportJavaLangpmd-eclipseShortMethodNamepmd-eclipseUnusedFormalParameterpmd-eclipseExcessiveMethodLengthpmd-eclipseSuspiciousConstantFieldNamepmd-eclipseAvoidCatchingThrowablepmd-eclipseSimplifyBooleanReturnspmd-eclipseUnnecessaryConstructorpmd-eclipseAvoidFieldNameMatchingMethodNamepmd-eclipseSimplifyBooleanExpressionspmd-eclipseSimplifyStartsWithpmd-eclipseUnusedPrivateMethodpmd-eclipseSwitchDensitypmd-eclipseDontImportSunpmd-eclipseAvoidProtectedFieldInFinalClasspmd-eclipseUnnecessaryParenthesespmd-eclipseExplicitCallToFinalizepmd-eclipseFinalizeShouldBeProtectedpmd-eclipseMissingStaticMethodInNonInstantiatableClasspmd-eclipseDuplicateImportspmd-eclipseWhileLoopsMustUseBracespmd-eclipseUnnecessaryConversionTemporarypmd-eclipseAccessorClassGenerationpmd-eclipseLooseCouplingpmd-eclipseAvoidSynchronizedAtMethodLevelpmd-eclipseMethodWithSameNameAsEnclosingClasspmd-eclipseUseSingletonpmd-eclipseEmptyWhileStmtpmd-eclipseEmptyCatchBlockpmd-eclipseExcessiveClassLengthpmd-eclipseEqualsNullpmd-eclipseFinalFieldCouldBeStaticpmd-eclipseClassNamingConventionspmd-eclipseAbstractNamingpmd-eclipseAvoidThrowingCertainExceptionTypespmd-eclipseFinalizeOverloadedpmd-eclipseUnconditionalIfStatementpmd-eclipseCloneThrowsCloneNotSupportedExceptionpmd-eclipseEmptyFinalizerpmd-eclipseSimplifyConditionalpmd-eclipseAssignmentToNonFinalStaticpmd-eclipseSuspiciousOctalEscapepmd-eclipseUseNotifyAllInsteadOfNotifypmd-eclipseDoubleCheckedLockingpmd-eclipseExcessivePublicCountpmd-eclipseImmutableFieldpmd-eclipseSignatureDeclareThrowsExceptionpmd-eclipseIfStmtsMustUseBracespmd-eclipseOnlyOneReturnpmd-eclipseUnusedImportspmd-eclipseNonCaseLabelInSwitchStatementpmd-eclipseUseArrayListInsteadOfVectorpmd-eclipseAvoidCatchingNPEpmd-eclipseForLoopsMustUseBracespmd-eclipseUseLocaleWithCaseConversionspmd-eclipseAvoidCallingFinalizepmd-eclipseAvoidInstantiatingObjectsInLoopspmd-eclipseLocalVariableCouldBeFinalpmd-eclipseUnusedLocalVariablepmd-eclipseAvoidDuplicateLiteralspmd-eclipseAvoidConcatenatingNonLiteralsInStringBufferpmd-eclipseAbstractClassWithoutAbstractMethodpmd-eclipseEmptySwitchStatementspmd-eclipseProperCloneImplementationpmd-eclipseNonStaticInitializerpmd-eclipseSuspiciousEqualsMethodNamepmd-eclipseAvoidNonConstructorMethodsWithClassNamepmd-eclipseLongVariablepmd-eclipseIdempotentOperationspmd-eclipseEmptyIfStmtpmd-eclipse
\ No newline at end of file
diff --git a/pmd-eclipse/.project b/pmd-eclipse/.project
index 1960eab1ac..3ebc7b9d1e 100644
--- a/pmd-eclipse/.project
+++ b/pmd-eclipse/.project
@@ -26,16 +26,10 @@
-
- net.sourceforge.pmd.eclipse.pmdBuilder
-
-
-
org.eclipse.jdt.core.javanature
org.eclipse.pde.PluginNature
net.sourceforge.metrics.nature
- net.sourceforge.pmd.eclipse.pmdNature
diff --git a/pmd-eclipse/CHANGELOG.txt b/pmd-eclipse/CHANGELOG.txt
index 29aaeffa04..d40c3c2578 100644
--- a/pmd-eclipse/CHANGELOG.txt
+++ b/pmd-eclipse/CHANGELOG.txt
@@ -2,6 +2,21 @@ Change log for the PMD Eclipse plugin
-------------------------------------
+v3.1.1 - xx/xx/2005
+
+Runtime
+-------
+. RFE#1231112-Make the rule table columns sortable in preferences dialog (thanks to Brian R)
+. BUG#1231108-Fix the resizing issue
+. Upgrade to PMD 3.3
+. Add a PMD perspective
+. Add a Violations Overview view
+. Add a Violation Outline view
+. Add a Dataflow view
+. Continue internal code refactoring
+
+
+----------------------------------------------------------------------------------------
v3.1.0 - 04/07/2005
Runtime
diff --git a/pmd-eclipse/CREDITS.txt b/pmd-eclipse/CREDITS.txt
index ef6a310df1..91d74b22f9 100644
--- a/pmd-eclipse/CREDITS.txt
+++ b/pmd-eclipse/CREDITS.txt
@@ -6,3 +6,9 @@ Jacques Lebourgeois fix malformed UTF-8 characters
Eduard Naum fix JDK 1.3 runtime problem
Chris Grindstaff fix SWTException when PMD is run on a file with syntax error
Brian Remedios improvements in the PMDPlugin class
+ preferences rule table have sortable columns
+
+------------------------------------------
+*** SPECIAL THANKS TO SEBASTIAN RAFFEL ***
+------------------------------------------
+for his great job on the PMD perspective, new views and dataflow analysis support.
diff --git a/pmd-eclipse/RELNOTES.txt b/pmd-eclipse/RELNOTES.txt
index 7c0fbf43a7..ad0d51a768 100644
--- a/pmd-eclipse/RELNOTES.txt
+++ b/pmd-eclipse/RELNOTES.txt
@@ -1,11 +1,28 @@
Release notes for the PMD Eclipse Plugin
----------------------------------------
-IMPORTANT : SINCE v2.0 THE INSTALLATION PROCEDURE HAS BEEN CHANGED.
- READ THE SETUP_README.TXT FILE IN THE DOWNLOADED PACKAGE
- FOR INSTRUCTIONS.
-
+v3.1.1 01/11/2005
+-----------------
+NEW : PMD perspective and views
+-------------------------------
+Great thanks to Sebastian Raffel.
+Sebastian has developped a PMD perspective with new views.
+The legacy "Violations view" still exists.
+By default, the PMD perspective is shown when a manual check is performed.
+Otherwise, simply go to the menu Window->Open perspective->Other... and select
+PMD in the PMD folder.
+
+UPDATED : PMD v3.3
+------------------
+This version includes version 3.3 of the PMD engine
+
+FIXED : Various bug fixes
+-------------------------
+Some internal bugs and some described in the user forum has been fixed.
+
+
+----------------------------------------------------------------------------------------
v3.1.0 04/07/2005
-----------------