Apache Sling NoSQL Generic Resource Provider

Clone this repo:
  1. 2ef7f04 Updating badges for org-apache-sling-nosql-generic by Radu Cotescu · 10 months ago master
  2. e23b70b SLING-7245 - Validate pull requests using Jenkins by Robert Munteanu · 11 months ago
  3. c7b1eaf trivial: added license header to *.md files by Radu Cotescu · 1 year, 3 months ago
  4. d6afd85 SLING-7215 - [nice-to-have] Add a CONTRIBUTING file to every module by Radu Cotescu · 1 year, 3 months ago
  5. a52aa83 SLING-7216 - [nice-to-have] Add a CODE_OF_CONDUCT file to every module by Radu Cotescu · 1 year, 3 months ago

Build Status Test Status Maven Central JavaDocs License nosql

Apache Sling NoSQL Generic Resource Provider

This module is part of the Apache Sling project.

Generic implementation of a Sling ResourceProvider that helps writing ResourceProviders using NoSQL databases as persistence.

The generic implementation helps mapping the resource data to document-oriented key-value NoSQL databases like MongoDB or Couchbase.

Features:

  • Defines a simplified “NoSqlAdapter” concept that is implemented for each NoSQL database. It boils down to simple get/put/list operations. Query support is optional.
  • Complete implementation of Resource, ResourceProvider, ResourceProviderFactory and ValueMap based on the NoSqlAdapter
  • “Transaction management” of Sling CRUD (commit/revert methods) is implemented
  • ValueMap supports String, Integer, Long, Double, Date, Calendar and InputStream/byte[] (binary data) and arrays of them. Date/Calendar and binary data is serialized to a string before storing, so the NoSQL databases have not to support them directly.
  • Sends resource notifications via OSGi EventAdmin
  • Provides a “tests” JAR that can be used for integration tests with NoSQL databases to test the own adapter implementation
  • Can be mounted as root provider without any JCR at all