Apache Sling NoSQL Generic Resource Provider

Clone this repo:
  1. 86b99be Adding sonarqube badges as per SLING-9682 by Dan Klco · 4 weeks ago master
  2. 41d7139 Updating badges for org-apache-sling-nosql-generic by Radu Cotescu · 4 weeks ago
  3. 2ef7f04 Updating badges for org-apache-sling-nosql-generic by Radu Cotescu · 1 year, 8 months ago
  4. e23b70b SLING-7245 - Validate pull requests using Jenkins by Robert Munteanu · 1 year, 8 months ago
  5. c7b1eaf trivial: added license header to *.md files by Radu Cotescu · 2 years ago

Apache Sling

Build Status Test Status Coverage Sonarcloud Status JavaDoc Maven Central Contrib nosql License

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