I did not get back to my simple application for a while and I was trying to remember what I did to get the code I have. It is simple when you look at the log.roo. All the commands needed to get the project where it is are in there:
project –topLevelPackage com.cinq.todo –projectName ToDo –java 6
persistence setup –provider HIBERNATE –database DERBY
entity –class ~.domain.Task –testAutomatically
field date –fieldName dueDate –type java.util.Date
field string –fieldName taskName
field number –fieldName priority –type java.lang.Integer
controller all –package ~.web
For a programmer that is in love with this cli type of environment I have to show more dedication to playing with the tool.
I did a Roo application once after reading a refcard and it was easy but this tutorial from SpringSource showed me a few more commands that makes Roo a lot more powerful. I need to go back to my previous application and test a few things. It is simple enough that you can create a quick web app without typing any Java code. I like this command line interface for creating application. Probably too much.
I need to learn new tools on a regular basis. Part of my Code Kata.
I had no clue what Spring Roo was but after installing STS and creating a new test project with Roo I liked that it was a CLI to create Java Apps.
With some curiosity I looked at a tutorial but with too many projects I got side tracked.
I received an email from DZone for a refcard to show how Spring Roo works. Downloaded it and on my second try reading it did a sample app similar to the one shown.
In about 10 minutes I had a web app that allowed me to add and remove record from a database. I was impressed.
So I have something to play with and I am certainly very curious now. This shell can allow me to create a lot of code with a few simple commands. I can then manage the code normally without having to think about Roo and I can rip it all out quite easily.
Quick tutorial can easily leave you quite impressed but then using it for what I really want is going to be the real test. I am curious enough to push further now.
First step is to get that app deployed to a plain jane tomcat. Then I will have to expand the code and see how far I can push this.
It is fun to be exited about new tools because it gets you to think about possibilities. The best mindset to be in.
I was reading this article about code coverage and found it quite interesting. I have certainly seen the water cooler back patting attitude and have heard a few people worried about that attitude.
In pursuit of code quality: Don’t be fooled by the coverage report
The main thing that I will take out of this article is that code coverage shows you what you are not covering. It won’t tell you how well you are covering.
I was reading these different articles on how to install Maven on Mac OSX and I had to create the /usr/local directory, check the md5sum, untar and then modify my profile.
All this to realize that Maven is already installed on my Mac by default. It is version 2.2.0 and not the latest 2.2.1 but for the book I am reading this is perfect.
A little bit of testing before starting to do all sort of crazy things would have simplified my life.
I installed the m2eclipse plugin in my Eclipse so I can get ready to see how it simplifies my life by not having to write the pom.xml.
When you look at the synergy+ page it does say that it is beta and mostly stable in most cases so all the warnings are there to inform you that it may not work perfectly. I have no problem with them but I do with CentOS 5. When I did the upgrades this morning it upgraded my synergy to synergy+ and caused me all sorts of issue for most of the morning. CentOS on the workstation in question is installed to be a stable system and not a system that installs beta software. If I want cutting and bleeding edge I will play with Fedora.
After reverting everything back to synergy I am back to a productive environment.
I read this blog post this morning and taught that it was giving good advices:
Five tips for starting a programming career
The tip to work on more projects and getting involved with an existing project are ones I will put in practice in the coming days. I am expecting that it will make life a bit harder but I am certainly ready to learn a lot from this.