Thursday, October 15, 2009

Hudson Mood widget for Android

I've launched a simple Android widget which gives a simple way of monitoring builds on continuous integration server called Hudson. The main purpose of this application is to provide a simple way to monitor builds.

It takes up little space on the home screen (only one widget cell) of Android and gives a clear indication of whether builds on Hudson are stable, unstable or they are failing.

If all the builds are stable the Hudson widget is highlighted with green and Mr. Hudson is happy.
If any of the builds has become unstable the widget is highlighted with yellow and Mr. Hudson doesn't look as enthusiastic.
If there are any failing builds on the monitored page the widget gets highlighted with red and Mr. Hudson looks very upset.
And in case the build status could not be read (e.g. the server is down, authentication failed or no build information was found at the provided address) Mr. Hudson is hidden behind big question mark:


The setup screen is pretty simple at the moment (I expect to add more features in the future).


It is also possible to test the build status from the settings screen to verify whether the build status is readable in which case the state of the build will be provided next to the 'Test URL' button, otherwise 'unknown' status will be displayed (default).

At the moment widget supports monitoring only builds aggregated on the main page (either on the default 'All' view or a custom view), although, it is possible to monitor individual builds by putting them in a custom view.

To install Hudson Mood widget search for 'Hudson Mood' in the Android Market on your Android.

Update: eventual updates will be published on the Hudson Wiki !

Wednesday, August 12, 2009

A trip to... temp files...

Who would have thought that temp files deserved my attention so that I actually blog about it, yet this topic can be... not unimportant :)

Anyways... thinking of portability of java apps some of past projects came to my mind where I needed to run Orbeon app with JBoss on Mac OS-X. Seems to be no big deal right? Well... behold!

The thing is... the app uses temp files according to java.io.File.createTempFile() which seem to be not a big deal but it kinda gets in your way when you try to load the file back via URLConnection and some (probaly URL) decoding of the file path has happen on the way. Mostly (in this case) this goes unpunished... While this is obviously bug in the application that's not the point...

What goes wrong? What does go wrong is that the jvm on Mac OS-X uses the default temp dir which contains several '+' characters (?!) in the path, e.g.:

/var/folders/gL/gLHrVGaAFdSBQbeQakQSnU+++TM/-Tmp-/


This is actually easy to 'fix' (besides fixing the code, of course :) by overriding the default temp dir location and feeding -Djava.io.tmpdir variable to the JVM but still the situation was amused me for some reason. I am wondering if anyone knows the reason behind such creativity?

Thus, a word of caution: watch out for temp files on OS-X :)

Sunday, March 15, 2009

Web Beans Beta 1 is released

A first Beta of Web Beans a RI of "JSR-299: Java Contexts and Dependency Injection" has been recently released.

Yes, the name of the spec has been changed from Web Beans to "Java Contexts and Dependency Injection" (I am wandering whether it will be known as JCDI? :) ).

The development goes pretty hard, it's already implements about 90% of the JSR-299 spec.

The latest release (the next after ALFA-2) brings the following features:
* Transactional observers
* Asynchronous Observers
* Conversations, including propagation in JSF
* Bootstrap improvements

The release is targeted for use with JBoss AS 5.0.1.

What's interesting is that the TCK tests make intensive use of TestNG and annotations to couple the test cases with the spec chapters.
According to Pete Muir the only major feature to be implemented is beans annotation using XML.

Web Beans will make a core of JBoss Seam 3.0 which makes it even more interesting!

Way to go!