Wednesday, March 25, 2009

Released Roma Meta Framework 1.2.0: the latest 1.x version!

Today I've released the version 1.2.0 of Roma Meta Framework. This is the last 1.x version since starting by tomorrow I'll work to the next 2.0 implementing a lot of new ideas born in the last year.

Roma 2.0 will be not more compatible with 1.x but someone will provide a migration tool that will help to port current/old applications to the new one. Soon a presentation of the main new ideas.

A huge work is waiting for me. For this reason let me enjoy the 1.2.0, just for today!

Below the main addictions and improvements of the 1.2.0:

CORE module:
- Created CollectionWrapper domain classes to display collections in better way. Now there are two implementations: TableWrapper<> and MasterDetailWrapper<>. See the Handbook.pdf to know more
- Disable the class checking for hot-updates. Useful in production
- New refresh of multiple fields in one shot or the entire object
- Resolved bug on the session management under WebLogic AppServer

VIEW module:
- New "URL" rendering mode to embed static and dynamic content in forms. Now you can embed HTML files, JSP files and Web sites at all
- Managed render of collections and arrays using the "OBJECTEMBEDDED" mode
- Resolved a bug on table ordering
- Improved Echo2 Table component in order to support the change of the color of the column headers
- Updated to the stable version 2.1.0 of Echo2

DATANUCLEUS module:
- Updated to the stable version 1.1.0 of DataNucleus

ADMIN module:
- Fixed management of Info and InfoCategory instances
- Created CRUD of GenericValue

JETTY module:
- Integrated new release of Jetty 6.1.5
- The script under the user project script/start-jetty.sh (and .bat) now works

CRUD wizard module:
- CRUD now generate also: factory class (DDD), repository class (DDD) and an entry in the package.jdo file if any

Thursday, March 12, 2009

Luca, Roma e Romulus: tre amici su Mokabyte


Se non hai proprio nulla da fare, magari perchè stai usando Roma e quindi hai finito prima il tuo lavoro :-), leggiti questa intervista fatta dalla rivista Java più letta in italia: Mokabyte

Tuesday, January 27, 2009

JavaDay III edition

The 3rd edition of the JavaDay is gone. 1.400 visitors: 1225 workers, 363 student, 74 unemployeed.

The AssetData's stand has received more than 300 curricula. For this reason I've take the decision to build from stratch an application to collect all them using Roma Meta Framework. After 1 hour it worked, but the GUI is not yet very intuitive...

During the event I encounter Paolo, a very old collegue of about 12 years ago in my second project for the IRI group. I have seen again a lot of other past collegues and friends...

I love the JavaDay also for this reason :-)

(photo by Valerio Casale)

Wednesday, January 07, 2009

Recupero crediti? Non ho il fisico

Da quando sono diventato uno pseudo-commerciale e seguo i clienti direttamente mi capita, ahimè, di occuparmi anche di RECUPERO CREDITI. Eggià. Clienti che chiedono servizi, consulenze, prodotti e poi dopo mesi arrancano sempre le solite scuse. Le 5 migliori del 2008 sono state:
  1. La nostra banca si è fusa in un gruppo più grande e non riusciamo a fare i bonifici!
  2. La società è in ottima salute...Ma abbiamo problemi di cassa
  3. I nostri clienti non ci hanno pagato...
  4. La fattura è stata smarrita (fu consegnata a mano!)
  5. Abbiamo deciso che vi pagheremo solo se riusciamo a rivenderlo al cliente finale (dopo 3 mesi dalla consegna)
Diciamo che non ho propriamente il fisico per fare "recupero crediti". E quindi ecco il motivetto che mi accompagnerà nel 2009:

"Soffro lo strees
io soffro lo stress
sono stanco e fuori forma
vado in giro per clienti
a recuperare i pagamenti
ci deve essere un errore!!!"

Monday, December 22, 2008

Roma JavaDay III edition in Rome


Today, 3 years after its inception, the JavaDay in Rome is the technical reference event for Java technology in Italy. It boasts a terrific turnout and the participation of the most eminent speakers of the community.

The Rome JavaDay takes place at Università Roma TRE with the purpose of establishing a privileged channel with university students. It has a highly technical connotation and is a joint-effort of three Italian Java communities, namely Java User Group Roma, Java Italian Portal e Java Italian Association.

Attendance is free of charge.

IMHO the most interesting talk is: ROMULUS. Java Web Development made productive

Wednesday, December 17, 2008

1° Trofeo di Texas Hold'em "All in Asset"


Ieri sera si è tenuto in Asset Data il primo trofeo di Texas Hold'em:

"All in Asset"

Il vincitore è stato Alfonso, secondo classificato Molins.

Alfonso ha vinto praticamente la maggior parte delle mani. Quelle in cui non ha vinto è perchè è uscito in corsa per timore, ma alla fine i punti in mano suoi erano sempre vincenti su tutti!

Che spettacolo vederlo con tutte quelle torri di fiches... Sembrava Rupert Murdoch!

Con tutta la fortuna che si è ritrovato...Gli è stato consigliato di chiamare subito a casa per controllare La Donna! ;-)

Friday, December 05, 2008

Java Pretty code II

Another piece of pretty code:

public class MyClass{
 public MyClass() {
 }

 public MyClass(String iClass, String projectPath) {
  /* Instantiates MyClass */
  MyClass obj = new MyClass();
  obj.create(iClass, projectPath);
 }
}

Why to create an object of the same class to call the method on it?

To the next piece of pretty code!

Java Pretty code

Today, between a debug and another one I found this nice thing:

private VectorString> extractFields(Class classObj) {
 String className = classObj.toString();
 className = className.substring(6, className.length());

 Class obj = null;
 try {
  obj = Class.forName(className);
 } catch (ClassNotFoundException e1) {
  e1.printStackTrace();
 }

 ...
}

1) Please note the toString() call and then the extraction of the result cutting from the 6th character... But why don't simply to use the getName() method?
2) And at the end... Why to extract the name of the class and then reload the class by the extracted name to obtain...always the Class taken as parameter!

These are pearls folks!

Thursday, November 27, 2008

Roma Meta Framework: plug-ins management

Starting from release 1.0.0 Roma allows to be updated by using the new wizard commands:
  • check
  • install
  • update
If you've downloaded the 1.0.0 from SourceForge type:

> roma check

* admin... version 1.0.1 (25-11-2008)
* core... version 1.0.1 (25-11-2008)
* persistence-jpox... version 1.0.1 (25-11-2008)
  project-web... updated
* project-webready... version 1.0.1 (26-11-2008)
  scheduler-quartz... updated
* users... version 1.0.1 (25-11-2008)
* view-echo2... version 1.0.2 (26-11-2008)
  web-jetty... updated


You can install the new module you want just typing:

> roma install core

core... Installing version 1.0.1
Extracting directory: lib/
Extracting: lib/roma-core.jar
Module core installed correctly: version 1.0.1 (25-11-2008)


To know new plug-ins released by the community type:

> roma check new

To update the installed module ('core' in example above) to your project use:

> roma update core

That's all folks. No more pain with roma upgrade ;-)

Monday, November 10, 2008

Finally the official release 1.0 of Roma Framework is up

I'm tired out but happy! :-)

After about
one year I've released the official release 1.0 of Roma Meta Framework in Source Forge.

So many news from the last 1.0rc4 version: several new plug-ins, thirdy parties contributions, the free PDF manual, better module management and performance improvements.

Download the last release of Roma Meta Framework

Below the main changes:

-------------------------------------------------------------------------------
VERSION 1.0.0 (November, 10th 2008)
-------------------------------------------------------------------------------
Main addictions and improvements:

CORE module:
- New modules management. Now you can check for new modules, new releases of them and install it over the air. Dependencies are well considered
- New Logging aspect to abstract logging and to use logging facilities such as @LoggingAction() to log any POJO action
- Support for new View Aspect that works with XHTML 1.0, CSS2 and JSP
- Support for new Semantic Aspect available via Romulus project using Open Source Jena framework

CHART-JFREECHART module:
- New module to create graphs using the popular JGraph library

ETL-XPATH module:
- Strong refactoring of the engine
- New JDBC Extractor and Importer modules
- New Wizard to let to the user the importing phase

PERSISTENCE-DATANUCLEUS module:
- New Persistence Aspect implementation using the new DataNucleus technology. Supports JDO 2.1 and JPA 1.0

PERSISTENCE-JPOX module:
- Default like operator works like before, but it considers the presence of the special character "*". If found treats it as the "%" of SQL like syntax. This allow to execute searches with wildcards
- New "optimistic" transaction mode

SCHEDULER-QUARTZ module:
- New UI
- New wizard to build simple expression without the knowledge of CRON syntax

USERS module:
- Deep changes to the USERS module: new realm entity to group accounts, profiles, infocategory and other entities in a common "realm". New "Anonymous" profile to allow to profile for the non-authenticated user
- BaseAccount and BaseProfile now extends the common AbstractAccount abstract class in order to reference accounts or profile in the same manner just declaring as reference type the AbstractAccount

SCHEDULER-QUARTZ module:
- Calendar view

SCRIPTING-JAVA6 module:
- New module implementing the Scripting facilities of Java6. By separating all scripting features in Roma in only this module we have gained the Java5 compliance for all but this module, obviously

SERVICE-CXF module:
- New module to expose a POJO as a Web Service using Apache CXF framework

VIEW-ECHO2 module:
- Strong refactoring of components. Now ComponentFactory is obsolete and now anything is responsability of the Rendering implementation
- Management of multiple Echo2 stylesheets
- Sensible faster execution

WORKFLOW-TEVERE module:
- New Workflow module with transactional engine and Web GUI. It covers most common workflow patterns

WIZARDS:
- New 'check' wizard to check for new modules or new version of installed modules
- New 'install' wizard to install new modules or new version of installed modules
- New 'update' wizard to update Roma user projects with new version of modules installed
- CRUD now generates the Repository classes for each entity.
- Support for environment variables like "author". You can set/get variables in Roma. Set the "author" variable to have all generated sources with you as author

TEST-PRESENTATION app:
- Changed layout of Test Presentation application

OTHERS:
- Resolved a lot of issues (see SourceForge tracker)
- Tons of minor improvements.