[feature #43107371]
Working with HBase in the classpath was not at all an easy thing to handle with TomEE. For example, having HBase, Hadoop and Zookeeper on the webapp's lib was not working. These set of dependencies also happen to pull in log4j from the dependency graph, which conflicts with versions required by others. On the other hand moving them to TomEE's lib also gave rise to many issues. Especially conflicts with Apache Commons versions.

The alternative was to use Stargate, HBase's REST API. This seems to be a viable approach with minimal client dependencies.

This commit also includes the set of code derived from HBase in Action open source project for doing GIS operations. 3 Classes have been commented out since they require HBase. These classes have to be ported to support Stargate API.

Right now, data gets persistent on HBase.

For now, be it stupid or smart a decision, I've decided I Like Places is going to have two types of tables. One type, dumb and store key-value pairs which can be later shuffled and manipulated to cater for various business logics. These tables will be the basic validation of data against sanity. For example, a Subscriber table is planned where it can be scanned to get all the subscribers, and unsubscribe any.

The other type of table would be answers to queries, like Geo Spatial data such as, who needs event updates in Las Vegas.

Lo
~Subscribe to events in this area in home page with HBase support
[feature #43107371]
Cleaning up some commit inconsistencies
~Subscribe to events in this area in home page with HBase support
[feature #43107371]
So we are now quite close to delivering location based events via email! Let's see what is there in this commit:

First, pom.xml has an upgraded version to cater for the new Geohash Subscribers
Helios is the God of Sun, or Sun himself. We now have a startup bean which will run timed events for us, and that is Helios
logback.xml runs in debug mode now until we get things more consistent.
We have a SubscriberNotifications.java which will timeout every 5 seconds to deliver the event emails. Mail delivery is not in place. Timeout needs to be fine tuned. Scanning happens partially on Stargate. This needs to be completed too. For now, we are going to go ahead with individual entry scanning. Next release we will focus on partial row scanning.
Oh, we also now have a small HBaseCrudService.java utility which will use the Stargate api to do CRUD operations. Maybe this utility should go in a new project on Github so that others can use. It will also simplify the main codebase.
That's about it for this commit
~Subscribe to events in this area in home page with HBase support