* Mock caching classes now use singleton / static behavior to emulate a (reusable) cache during testing.
* Formatted source files.
* Moved serialization classes to the provider package (was: adapters).
* Initial implementation of the JacksonSerialization provider.
* Added test cases for serialization.
* CacheAdapter now supports a save() with replacements key-value mapping.
* RestResponse.getResponse() removed.
* Added MockRequestCredentials for test stubbing.
* CacheAdapterTestCase now uses MockRequestCredentials.
* CacheAdapterTestCase now properly uses the adapter method calls to test (was: adapted service methods)
* MockRestAdapter use requires setExpectedXXX() to inject headers, body, and code values into related mock classes (was: fixed static)
* JacksonSerialization provider wired up as Spring bean serializationProvider.
* External library jersey-test-support added to support Jersey test cases + Spring bean wiring.
* jersey-apache-client added as a maven dependency.
* Added riffpie maven repository.
* ApiResource now wired with serializationProvider bean.
* ApiResource.getRequest() modified to support JSON only.
* ApiResource.getRequest() now serializes and caches valid RestResponse objects (was: header + body aggregate).
* RestResourceTestCase changed to leverage jersey-test-support base class AbstractSpringAwareJerseyTest (was: JerseyTest).
* ApiResourceTestCase now sets the MockRestAdapter's expected header, body, and code values before executing each test.
* CacheService and all implementations now operate on byte[] values instead of Serializable.
* CacheService test cases now perform string <-> byte[] checks for correctness.
* ApiResource contains new inner class RestResponseUtils to perform RestResponse <-> Map adaptation for serialization.
* HTTP Response header 'IssueCached' added to JIRA /api responses.
* ApiResource test case checks for both successful non-cached and successful-cached GET requests.
* Jackson dependency updated to 1.9.11
* SimpleCacheAdapter modified to adapt string cache values to engine byte[] values.
* Engine now requires all implementations of CacheService support an additional set() function with a cache timeout parameter.
* MemoryCacheService now implements new required set() function.
* Updated MemoryCacheServiceProvider to have a better named constructor parameter.
* Updated cache-engine.xml to represent the constructor parameter name change in the above.
* Fixed thread sleep interruption in MemoryCacheServiceTestCase.
* Updated MemoryCacheValueTestCase to be final.
* CacheAdapter now requires timeout values passed to save() functions to support change in engine.
* SimpleCacheAdapter and CacheAdapterTestCase updated to support the above.
* ApiResource now requires a bean named "jiraCacheTimeoutProperties" which defines default and per-URL cache timeout values for requests.
* ApiResource "jiraProperties" has been renamed to "jiraUrlProperties".
* jira-rest-engine-test.xml updated to support the above.
* Added log4j.xml in each project's test resources with a default console appender.
* Removed engine test log4j.properties in favor of the above.
* Added unique UUID as a request id to ApiResource, which is placed in the slf4j MDC context as the requestId. This is used in the jira project's log4j.xml to identify a request's logs across thread boundaries.
* Added jira HTTP response header 'IssueCacheId' for diagnostic tracing.
* Fixed SimpleCacheAdapter to enforce UTF-8 string conversion on byte array returned from search().
* ApiResource now will compare request URL against known URL fragments for specific cache timeout values.
* Added placeholder log4j.xml and jira-rest-engine.xml for pending JIRA integration tests.
* Minor javadoc updates.
* Updated Spring and AspectJ version dependencies.
* Create test case for jira requests for failed auth resulting in a skipped-cache response.
* Updated rest project resources for non-test application context use.
* Updated jira project web.xml file to use appropriate servlet bootstrapping for spring and jersey components.
* Updated project's maven setup to use pluginManagement for common versioning.
* Normalized several maven dependencies for fewer repetitions.
* Migrated to SF4j 1.7.2.
* Modified several SF4J Logger cases to use varargs instead of string concatenation.