I don't know if I agree with Greg that this site is where the good Java stuff is. I certainly do appreciate the compliment though! And Greg, I do have to agree with Russ, it's time to start blogging again, more frequently == more interesting... ;-)
I heard of Subversion this morning from Erik Hatcher's publisher. It looks to be a CVS replacement, but as I'm happy with CVS (and satisfied that I've learned it), I don't think I'll be using it any time soon. It comes from the folks at Tigris.org, who have also provided us with Scarab. I am using Scarab, or I've at least installed it at work and intend to use it on our project. Scarab is a bug tracking application that is cheaper than JIRA and supposedly better than Bugzilla. I wish I could use JIRA b/c I really like the product, but as with most things - clients just want you to do something with free tools, rather than shelling out some extra cash to get things like IDEA and JIRA.
BTW, I'm sure you've heard that IDEA is on sale now. Will I buy it? Nope, I'm in love with Eclipse. Would I buy it if I'd used it for more than 2 days? Probably, but everything is working as I like it in Eclipse, and I'm such an IDE-minimalist, it just makes no sense.
You might be wondering why I was speaking with Erik Hatcher's publisher this morning? Heck if I know?! He sent me an e-mail saying that Erik had recommended me as a source for the newest and coolest Java Tools. Thanks Erik - but I don't know that I'm much of a source. I told him I thought that Maven, XDoclet and Hibernate would probably get a lot of attention in the coming months. He was interested in seeing if they deserved books. I don't think XDoclet does, as it's got so many different modules, it would be difficult to cover them all. It would be VERY cool to see a book written that develops an application using these tools.
This is why Erik's book is popular - people can take stuff from it and learn. Sure, they learn initially by copy/paste, but it's still learning. Hibernate probably deserves a book as I can't seem to grok it - although I did delete approx. 100 lines of code today after I learned some good tricks. I don't know if Erik's publisher was serious, but he did ask me if I'd be interested in writing a book. I told him "thanks, but no thanks" - Julie has asked that I never write a book again. I can't blame her, it's too much stress and computer time in my opinion. Especially considering that I killed my weekly Virus Scan (Friday nights) for the 10th time since I'm working (again) on a Friday night. It hasn't run in over two months!
I'd definitely like to speak about this stuff, maybe at conferences or such. Of course, I'd have to learn a helluva lot more before I could make that happen.
Erik Hatcher makes a request to get his JavaDevWithAnt project converted from using Ant to Maven:
Ok, a challenge to the Maven or Centipede experts tuning into my blog:
make my JavaDevWithAnt project
build with either. But the trick is that it has to be simpler than
the current Ant build.xml. Believe it or not, I've not (seriously) used
either of these tools. I hear the buzz about these and want to become a
"believer".
I'm all for this as I've created my AppFuse project using his directory structure/build file as a template. I did go down this path to Mavenism already, but gave up before I finished. My problem is I have 15 different 3rd party JARs I use in my project - many testing frameworks and jakarta stuff. And a lot of these are nightly (or personal) builds because there's been some bug fixed, or enhancement added. What I really want is to continue using Ant b/c I think it rocks and it gives me more control over little tasks, but also to use Maven to generate a project site.
The problem with Erik's request is that I'm guessing no one will jump at the opportunity. Maybe, but in reality, no one looks at each others code unless there's a bug, or they need a sample to get started. Too bad - we could really do wonders for the Java Community if we started reviewing each others code. Erik, maybe you could post little snippets of your build file, and we could convert small parts of it. By posting a measly 10 lines, some other coders might be so inclined to help mavenize it. I know this is not how Maven works, but it sure would be nice if using Maven didn't require abandoning Ant.
Tonight I'll be staying up late trying to finish up AppFuse and Struts-Resume. Since the security-example download seems to be getting a lot of traffic (and it's a 15MB download), I should probably try to get these projects into SourceForge and save myself some bandwidth. Who knows if I'll get it done, I'm pretty tired, and it's already 10:00. But what choice do I have - Saturdays are family days, I promised my client that I pump a bunch of new features out on Sunday, and I get to work an 80 hour-week next week to get our first version out at my new job. Ugh, I need a vacation.
I am using Interfaces in my persistence layer, as well as for my Business Delegates. These interfaces are named things like UserDAO
and UserManager
. Their implementations are UserDAOHibernate
and UserManagerImpl
. First off, I don't know that I need interfaces for my business delegates, but they're already in place, so I'm going with it.
What I'm wonder is if my JUnit TestCases should reflect the Interface name, or the implementation name? UserDAOTest.java or UserDAOHibernateTest.java. I like the first one better, but I tend to hard-code information in it so I can call UserDAOHibernate.java
- like the daoType to use. I started out using UserDAOTest because I thought it made more sense - and then it could be used to test all implementations.
Lately, I've been using JUnitDoclet to generate my TestCase skeletons, and it only generates TestCases for concrete classes, not interfaces. Therefore, I've changed to using UserDAOHibernateTest
, which can be a helluva lot to type (and remember) when running TestCases! Here's the Ant command I use to run this test:
ant test-ejb -Dtestcase=UserDAOHibernateTest
And User is a short word! Can you imagine what these suckers will look like when I have an object such as ChangeRequest. Ughh. What do you gents think - I'm all ears.