analytics: reduce verbosity of log message in BusinessFactoryBase

Signed-off-by: Pierre-Alexandre Meyer <pierre@ning.com>
payment: fix potential NPE in RefundProcessor

When the payment plugin wasn't found, RefundProcessor would throw an
NPE. This patch refactors and centralizes the calls to the plugin registry
to throw an appropriate exception in case the plugin is not found.

This also removes the unused method:

  PaymentPluginApi getPaymentProviderPlugin(String, InternalTenantContext)

Signed-off-by: Pierre-Alexandre Meyer <pierre@ning.com>
util: avoid inserting duplicate Tags

This patch makes the creation call idempotent for Tags - the same tag won't
be created twice anymore.

This required the following changes (mainly around being able to catch a checked
exception from a jdbi transaction):

util:
  - extract getCreateEntitySqlDaoTransactionWrapper and
    checkEntityAlreadyExists in EntityDaoBase
    for create call customizations
  - add a second execute method in EntitySqlDaoTransactionalJdbiWrapper
    which throws a checked exception
  - use NULL-safe operation in getByAccountRecordId in EntitySqlDao.sql.stg
    or the call fails when looking for NULL account_record_id (found in test).
    This may be required in other EntitySqlDao queries.

jaxrs:
 - add toString, equals, hashCode to TagJson (found in test)

Signed-off-by: Pierre-Alexandre Meyer <pierre@ning.com>
jaxrs: fix NPE in NotificationJson

In some cases, accountId may be null. Take it into consideration when
building NotificationJson.

Signed-off-by: Pierre-Alexandre Meyer <pierre@ning.com>
jaxrs: better error handling for tag definition creation

Check name and description attributes are non-NULL as early as possible
to avoid throwing a runtime exception from the transaction back to the
client.

Signed-off-by: Pierre-Alexandre Meyer <pierre@ning.com>
util: remove unused variable in EntitySqlDaoTransactionalJdbiWrapper

Reported-by: stephane brossier <stephane@ning.com>
Signed-off-by: Pierre-Alexandre Meyer <pierre@ning.com>
invoice: use new execute API in DefaultInvoiceDao

This lets use remove WithInvoiceApiException in DefaultInvoicePaymentApi.

Signed-off-by: Pierre-Alexandre Meyer <pierre@ning.com>
invoice: use new execute API in DefaultInvoiceDao

This lets use remove WithInvoiceApiException in
DefaultInvoiceInternalApi.

Signed-off-by: Pierre-Alexandre Meyer <pierre@ning.com>
invoice: use new execute API in DefaultInvoiceDao

Use the new API when expecting a checked exception.

Signed-off-by: Pierre-Alexandre Meyer <pierre@ning.com>
account: use new execute API in DefaultAccountDao

I haven't bothered adding new tests because I realized we're not
consistent with invoice: some of the null checks are done in higher
levels (DefaultAccountInternalApi) for example.
We should straighten our story here first.

Signed-off-by: Pierre-Alexandre Meyer <pierre@ning.com>
doc: remove obsolete documentation

See http://kill-bill.org instead.

Signed-off-by: Pierre-Alexandre Meyer <pierre@ning.com>
osgi-bundles: extract analytics and meter modules

See:

* https://github.com/killbill/killbill-analytics-plugin
* https://github.com/killbill/killbill-meter-plugin

Signed-off-by: Pierre-Alexandre Meyer <pierre@ning.com>
jaxrs: add missing special case in InvoiceApiExceptionMapper

This was failing a server test.

Signed-off-by: Pierre-Alexandre Meyer <pierre@ning.com>
Update oss-parent to 0.3.1
[maven-release-plugin] prepare release killbill-0.3.2
[maven-release-plugin] prepare for next development iteration
Merge remote-tracking branch 'origin/master' into queue

Conflicts:
	invoice/src/main/java/com/ning/billing/invoice/dao/DefaultInvoiceDao.java
	osgi-bundles/bundles/meter/pom.xml
	osgi-bundles/bundles/meter/src/main/java/com/ning/billing/meter/jaxrs/resources/MeterResource.java
	osgi-bundles/bundles/meter/src/test/java/com/ning/billing/meter/MeterTestSuite.java
	osgi-bundles/bundles/meter/src/test/java/com/ning/billing/meter/timeline/TestDateTimeUtils.java
	osgi-bundles/bundles/meter/src/test/java/com/ning/billing/meter/timeline/TestInMemoryEventHandler.java
	osgi-bundles/bundles/meter/src/test/java/com/ning/billing/meter/timeline/TestTimelineEventHandler.java
	osgi-bundles/bundles/meter/src/test/java/com/ning/billing/meter/timeline/TestTimelineSourceEventAccumulator.java
	osgi-bundles/bundles/meter/src/test/java/com/ning/billing/meter/timeline/TimelineLoadGenerator.java
	osgi-bundles/bundles/meter/src/test/java/com/ning/billing/meter/timeline/aggregator/TestTimelineAggregator.java
	osgi-bundles/bundles/meter/src/test/java/com/ning/billing/meter/timeline/chunks/TestTimelineChunk.java
	osgi-bundles/bundles/meter/src/test/java/com/ning/billing/meter/timeline/consumer/TestAccumulatorSampleConsumer.java
	osgi-bundles/bundles/meter/src/test/java/com/ning/billing/meter/timeline/persistent/TestFileBackedBuffer.java
	osgi-bundles/bundles/meter/src/test/java/com/ning/billing/meter/timeline/persistent/TestSamplesReplayer.java
	payment/src/main/java/com/ning/billing/payment/core/ProcessorBase.java
	pom.xml