OK, I think I've put humpty dumpty back together again.
I was able to delete and recreate my workspace and restore my changes.
I've gotten things checked into the trunk.
I renamed branches/4.0 to branches/4.0-polluted (that is, polluted
with trunk changes).
I create a new branches/4.0 from tags/release-4.0.
** IMPORTANT **
I don't think anyone made any changes to the 4.0 branch after the 4.0
release ... if so, those changes have been lost, and we should work
together to restore them!
On the trunk side;
I've change the project's formatting options to more closely match the
formatting options I've used for a while (I wasn't aware that Eclipse
3.1 supported per-project formatting options).
** CHECKSTYLE **
I've also added a checkstyle configuration; I use the Eclipse
Checkstlyle plugin 4.0.0.
There's only a few rules, and most are warnings. The errors are:
types (classes & interfaces, including inner) must have a Javadoc comment.
Unused imports
Tab characters for indentation (should be using spaces)
Double checked locking (because it doesn't work)
Junit Test Case method naming:
Ensures that the setUp(), tearDown()methods are named correctly, have
no arguments, return void and are either public or protected.
Also ensures that suite() is named correctly, have no arguments,
return junit.framewotk.Test, public and static.
Missing Switch Default:
Checks that switch statement has "default" clause. Rationale: It's
usually a good idea to introduce a default case in every switch
statement. Even if the developer is sure that all currently possible
cases are covered, this should be expressed in the default branch,
e.g. by using an assertion. This way the code is protected aginst
later changes, e.g. introduction of new types in an enumeration type.
Package Declaration:
Ensure a class is has a package declaration.
Rationale: Classes that live in the null package cannot be imported.
Many novice developers are not aware of this.
Simplify Boolean Expression / Simplify Boolean Return:
Checks for overly complicated boolean expressions. Currently finds
code like if (b == true), b || true, !false, etc.
String Literal Equality:
Checks that string literals are not used with == or !=.
Rationale: Novice Java programmers often use code like if (x ==
"something") when they mean if ("something".equals(x)).
Super Clone:
Checks that an overriding clone() method invokes super.clone().
Super Finalize:
Checks that an overriding finalize() method invokes super.finalize().
Final Class:
Checks that a class which has only private constructors is declared as final.
Hide Utility Class Constructor:
Make sure that utility classes (classes that contain only static
methods) do not have a public constructor. Rationale: Instantiating
utility classes does not make sense. Hence the constructors should
either be private or (if you want to allow subclassing) protected. A
common mistake is forgetting to hide the default constructor.
There's a large number of checkstyle warnings left behind that I hope
to track down over the next couple of days. Many can be cleared up by
reformatting the source code (to add a trailing newline to the end of
the file).
*** IMPORTANT ***
The update-copyright.rb script NO LONGER changes the date; this is now
manual process. As you edit files, be sure to add 2006 to the list of
years on the copyright.
--
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator, Jakarta Tapestry
Creator, Jakarta HiveMind
Professional Tapestry training, mentoring, support
and project work. http://howardlewisship.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]