Thursday, December 13, 2007

Blessed and damned @Override annotation in JDK6!

When I've started to play with Java5 new features I'm surprised there no was a way to static check (at compile time) that a method is implementing a method of an interface. There is the @Override annotation but it's only useful to tell to the Java compiler I'm overriding a super class method, nor an abstract one neither an interface method.

Now I discovered Sun staff covered the gap in Java6 just extending the behavior of @Override annotation also to extend abstract methods or to implement interface methods. Great, apart there is no mention on public JDK 6 JavaDocs!!!

Someone raised a bug on Sun's tracker to correct it: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6399361

My Eclipse IDE 3.3.1.1 recognizes the new feature and add the @Override annotation every time I override a method or implement an interface method. Cool.

But now I've the big problem that Roma Framework's sources are full of them and many users reported me they won't compile under Java5! Yes, because Roma needs JDK 5 to compile (but some additional modules that require Java6 in order to use Scripting facilities. The modules now are just Workflow Tevere and ETL).

The fastest solution is to set JDK 5 as compliance level in every single projects don't use Scripting. It works. Blessed and damned @Override...

Tuesday, December 11, 2007

Interviewee by JavaStaff (in Italian)

Today was published the interview about me on JavaStaff portal. The interview is in Italian language:

http://www.javastaff.com/article.php?story=20071211103706919

Finally released Roma Meta Framework 1.0 rc4

This should be the last one before the official 1.0, but I repeat to myself this period from a long. Not that Roma is not mature yet, but I'd like to have a release where the Roma committers don't put so many improvements and news in general.

First of all I've changed the way to release it on SourceForge. Now there are:
  • The Web Wizard distribution containing all startup modules and the most used (as form of sources and binaries)
  • Plug-ins as individual packages such as Workflow, Monitoring, ETL, Scheduler, etc.
The main news of 1.0 rc4 are:
  • New Designer module to customize your application using the Drag&Drop GUI. It allows to change any configured annotations plus to layout screen and form areas
  • Deep refactoring of ETL-XPath module. Now allows to use scripting to define record and field transformers. Plus a new GUI in form of wizard to configure the ETL process. ETL supports extraction from CSV and SQL sources and import on POJO and CSV.
  • New Reporting JR module to generate dynamically reports using Jasper Reports. Report can be in form of PDF, CSV and MS Excel. Now you can display the report of any GUI at the fly
  • New "Web Ready" project type to start from a ready-for-the-web application
  • Enhanced all CRUD inserting "report" button
  • Resolved a lot of issues (see SourceForge tracker)
  • Minor improvements

Monday, November 19, 2007

Does Eclipse Europa crash over and over again?

If even the changes described in my previous post you have problems with Eclipse 3.3 (Europa), then probably you're using the same workspace from a long. Create a brand new workspace and re-import anything.

Remember you had to re-set all code formatting rules (if they are different by Eclipse built-in) as long as Run/Debug configurations.

Thursday, November 15, 2007

Why Eclipse Europa 3.3 crashes

If you're using the latest release of famous IDE you've surely experienced a lot of problems: every 10 minutes it crashes! Time depends by the projects opened and plug-ins installed.

Today my Eclipse crashed at least 15 times. So it was come the time to fix the problem. After some research I discovered the problem. For a well known bug you had to change the way you launch the IDE.

Change your eclipse.ini in the Eclipse's installation directory to:

-showsplash org.eclipse.platform
-vmargs

-XX:MaxPermSize=128m

-Xms40m
-Xmx256m

If you've a lot of memory try my configuration:

-showsplash org.eclipse.platform
-vmargs

-XX:MaxPermSize=128m

-Xms256m
-Xmx1024m

Your productivity will thanks ;-)

Tuesday, November 13, 2007

In Memory of Dave Morse, Amiga Co-Founder, 1943-2007

"David Morse, Amiga Computer's co-founder passed away last week. I will remember him always". This is the news found on http://www.rebol.com/article/0345.html.

I never met David. We're part of different generations. But he worked to create one of best my partner of ever: Amiga computer. I started to play with Commodore 16 when I was about 10 years old. It was the holy communion gift of Diego, one of my best friend. I was amazed how can be easy to instruct a machine to make tasks. Then after so much efforts my mother bought me the first Commodore 64. I spent so much time on it... Playing and programming with the bundled Basic and just 48Kb of RAM.

After some year I was captivated by Amiga 500 computer. At that time I was living in Grosseto, a small town in Tuscany, Italy. So much powerful, so beautiful, so much forward than competitors: 4096 colors, true preemptive multitasking operative system, unix-like shell... So I decided to sold my C64 and all stuffs (games, applications, devices, etc.) to have enough money to buy my Amiga 500. I can remember yet the day my mother, my brother and me went back home with the enormous boxes containing Amiga 500 and the Philips monitor 8833 II. Full afternoons up my keyboard after the school. Amiga was my partner for many years until my last Amiga: the Amiga 1200 model equiped with M68030 50Mhz (a monster at that time).

Thank you again Dave, thanks to your wife Lorraine that surely doesn't know how Dave's creation charmed our generation.

RIP,
Luca

Friday, November 09, 2007

1 Dicembre 2007: JavaDay a Roma

Anche quest'anno la macchina del JavaDay si è messa in moto: sabato 1° dicembre 2007 ci sarà la seconda edizione del JavaDay a Roma. Molti i talk interessanti di cui uno su Roma Meta Framework. Questa volta ho intenzione di partire quasi da subito con una demo, mostrare il designer e il funzionamento "interno" del framework aiutandomi con qualche slide.

Sito ufficiale Javaday di Roma: http://roma.javaday.it/roma/index.vm.

Ci vediamo li no? ;-)

Programma completo:


Next generation Web

Java Open Source

Core Java, what's hot

Java enterprise

09.00

-

9.40

Second Life e Java: prospettive di comunicazione

Tapestry In Action , nuovi modi di sviluppare applicazioni web

Introduzione alla tecnologia Sun SPOT

Magic Box project: Effective K .I .S .S . with SpringFramework

09.50

-

10.30

JSF Integration in JViews - intervento in lingua inglese

Sviluppo rapido di applicazioni utilizzando DDD e Roma Meta Framework

Sessioni Multimediali Voce Video, IM e Presence con i nuovi standard IMS/SIP [SipWork]

SpagoBI: la piattaforma open source di Business Intelligence

10.40

-

11.20

Il Web del Futuro: Enterprise e Web Semantico

Sviluppare applicazioni basate su BPEL utilizzando NetBeans e JBI

NASA World Wind for Java: come integrare mappe geografiche tridimensionali nelle applicazioni Java per il desktop

Java e i linguaggi dinamici: come incrementare le potenzialità espressive di Java

Domain Driven Design, agilità e patterns, architettura e test first

11.40

-

12.20

Rich Internet Application con Java e Flex

Skype4Java

Programmazione Orientata agli Aspetti: cos’è, quando e come applicarla

Terracotta DSO, una soluzione innovativa per software enterprise

12.30

-

13.10

Usare Google Web Toolkit per costruire potenti applicazioni AJAX in Java con tanto di gestione offline dei dati

Parancoe: usare i DAO senza implementarli

JRuby e DSL

Clustering a Real World Enterprise Application with Terracotta :Atlassian Jira

13.20

-

14.00

Grails, sviluppo rapido di applicazioni web in Groovy + Java

Testing di sistemi enterprise utilizzando strumenti FLOSS

Ruby On Rails

Progettazione di un sistema di Single SignOn che permette l'accesso tramite tipi diversi di credenziali

Wednesday, October 24, 2007

Gnocchi on Wednesday





Today is Wednesday. In Italy is not the classic day to eat Gnocchi (it should be Thursday), but today Luigi and Alessandra made an exception.

In the interview Luigi told about your Gnocchi recipe: "I simply apply the design patterns on cooking".

Wednesday, September 26, 2007

Sun Tech Days Italy - Rome

Today I attended the Sun Tech Days Italy event in Rome. By a fast look at the agenda speeches seem to be pretty interesting but in general in this kind of events IMHO the quality is very poor, maybe also for the very short time available for every single talk.

I was wrong. The afternoon was flighted since all talks was very interesting! In the morning, instead, I was in the JUG stand along with Mara Marzocchi. JUG Roma staff is working for the next upcoming Java Day 2007 event in Rome as well.

Below the agenda I attended today:










Java Scripting: JavaFX Script and JRuby - Sridhar Reddy

Much more deeper than the talk listened at Jazoon '07. Today Sridhar talked about the JavaFX syntax language. JavaFX contains very interesting features. One for all the bind keyword that allow to listen changes in chain.
Java Persistence API: Simplifying Persistence - Sang Shin

Sang is a veteran speaker, nice and never predictable. What a shame for no one words about JDO specification!
Ajax and Web 2.0 Related Frameworks and Toolkits - Sang Shin

Sang explained in detail all kinds of Ajax frameworks (Dojo, DRW, GWT, etc.) with some slides and a working demo for every single one!

Building Rich Web Applications using jMaki and Phobos - Doris Chen

Doris fired me the interest for jMaki, what Jazoon's talk didn't! Very cool tool. I'd like to spend a little more time on investigating about the integration with Roma Meta Framework.


Here the full agenda: http://it.sun.com/sunnews/events/2007/sept/jc07

And in conclusion:
- I note down some improvements in Roma based on frameworks seen today.
- I forced me to give a chance to the NetBeans IDE. When? After the release of final 1.0 of Roma Framework, of course :-)

Friday, September 07, 2007

Preview of Release 1.0rc2

For most of you August is a "dead month". Roma staff, instead, worked hardly to complete the release of 1.0rc2. Now you can taste a preview by downloading it from the SVN repository.

Take care to read information about compatibilities issues and migration here:

http://romaframework.xwiki.com/xwiki/bin/view/Main/PreviewOfRelease10rc2