The other day, I showed you how to talk to a Garmin GPS with Flex (AIR), Java, and Merapi. Well, today I'm back to talk to you about how to leverage the Java APIs to the growl notification service via Merapi and Flex. Growl is a notification service for OS X that a lot of applications are starting to make use of these days. They have a SDK which includes Java libraries. Using Merapi, you can leverage these libraries and send true Growl notifications directly from AIR applications. Enjoy the screencast below and feel free to drop me a line in the comments if you have any questions.
So, my co-worked Adam Flater started up the Merapi Project a while back and asked me to contribute. Up until now, the only thing I've had time to contribute was the name. Well, after seeing the cool stuff that he and Jordan were doing at 360|Flex, I decided it was time to step up to the plate, get my shit together, and produce my own kick-ass Merapi demo.
Anyone who has been following the blogs knows that we at UM are real big into GIS and data visualization. Don't believe me? Take a look at SpatialKey to see what we can do with it.
I recorded a screencast where I walk you through the setups and the code of the application:
[Bindable] private var _mapquestKey:String = "yourMQKEY"; private var _lrgZoomControl:LargeZoomControl = new LargeZoomControl; private var _viewControl:ViewControl = new ViewControl();
private function handleResult( e : ResultEvent ) : void { var gpsPoint:GPSPoint = e.result.data as GPSPoint var point:PointLL = new PointLL(gpsPoint.lat,gpsPoint.lon); this.map.setCenter(point); var poi:Poi = new Poi(point); this.map.addPoi(poi); } ]]> </mx:Script>
Excited about BlazeDS, but not really sure what it means for you? Are you a Java developer coming to Flex who wants to learn how to connect your services to Flex? Want to see a new spin on the ubiquitous chat application? Come to my 360|Flex session, Implementing BlazeDS, and you'll get all that and more. This session is the first of a three-part "Flex/Java Track" that you will get at 360|Flex. Major topics covered will be: Remote Objects, Messaging, Integrating Spring & Hibernate, & Binary Remoting without BlazeDS. Stop on by Monday at 4:00PM if you're interested in learning more.
Hibernate Search is an addition to the powerful ORM, Hibernate, that allows you to perform full text searches against your domain model. Under the hood, it's powered by Apache Lucene. How does it work? Well, Hibernate Search is smart enough to index your objects as you insert and update your data. On a delete, it will remove the data from the index. All this happens transparently.
There are a few requirements, first is JDK 5, the second is the Hibernate core. All configuration for Hibernate Search is done via annotations ( I think this is where all the Hibernate config is heading ), so there's no need for lines and lines of XML configs.
Go download it, give it a try and see what you can do with full-text searching of your domain model.
Until recently, I've always used the XML mapping files to define my persistence model with Hibernate. I was not real keen on the idea of using meta to define persistence in the objects themselves via annotations. However, I decided to give it a shot recently. My main argument had always been that by using the XML mapping, my persistent objects are not tied to Hibernate, exclusively. When I stopped to think about it though, one thought really hit me hard: I don't use any other ORM for my Java code. Why would it matter if the meta for mappings is in the code?
This being said, I wanted to pose a question: Is there a benefit to using annotations over XML mapping (other than JVM compatibility)? Your thoughts in the comments, please.