Author: sseifert
Date: Wed May 20 16:11:14 2015
New Revision: 1680622

URL: http://svn.apache.org/r1680622
Log:
SLING-4381 add READMEs, make factory configuration

Added:
    sling/trunk/contrib/nosql/couchbase-client/README.md
    sling/trunk/contrib/nosql/couchbase-resourceprovider/README.md
    sling/trunk/contrib/nosql/generic/README.md
Modified:
    
sling/trunk/contrib/nosql/couchbase-resourceprovider/src/main/java/org/apache/sling/nosql/couchbase/resourceprovider/impl/CouchbaseNoSqlResourceProviderFactory.java

Added: sling/trunk/contrib/nosql/couchbase-client/README.md
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/nosql/couchbase-client/README.md?rev=1680622&view=auto
==============================================================================
--- sling/trunk/contrib/nosql/couchbase-client/README.md (added)
+++ sling/trunk/contrib/nosql/couchbase-client/README.md Wed May 20 16:11:14 
2015
@@ -0,0 +1,9 @@
+Apache Sling NoSQL Couchbase Client
+===================================
+
+Provides preconfigured clients for accessing a 
[Couchbase](http://www.couchbase.com/) NoSQL database.
+
+* Wraps the [Couchbase Java Client 
2.x](https://github.com/couchbase/couchbase-java-client) and exports it via OSGi
+* Includes private dependencies of Couchbase Java Client
+* The couchbase access parameters can be configured via OSGi configuration.
+* Multiple couchbase clients can be configured for different couchbase hosts 
and/or buckets

Added: sling/trunk/contrib/nosql/couchbase-resourceprovider/README.md
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/nosql/couchbase-resourceprovider/README.md?rev=1680622&view=auto
==============================================================================
--- sling/trunk/contrib/nosql/couchbase-resourceprovider/README.md (added)
+++ sling/trunk/contrib/nosql/couchbase-resourceprovider/README.md Wed May 20 
16:11:14 2015
@@ -0,0 +1,13 @@
+Apache Sling NoSQL Couchbase Resource Provider
+==============================================
+
+Sling ResourceProvider implementation that uses 
[Couchbase](http://www.couchbase.com/) NoSQL database as persistence.
+
+Based on the "Apache Sling NoSQL Generic Resource Provider" and "Apache Sling 
NoSQL Couchbase Client".
+
+
+Configuration on deployment
+---------------------------
+
+* To use the resource provider you have to to create a factory configuration 
for "Apache Sling NoSQL Couchbase Client" with clientId = 
´sling-resourceprovider-couchbase´ and propert couchbase host and bucket 
configuration.
+* Additionally a factory configuration for "Apache Sling NoSQL Couchbase 
Resource Provider Factory" defines the root of the resource tree that should be 
stored in Couchbase

Modified: 
sling/trunk/contrib/nosql/couchbase-resourceprovider/src/main/java/org/apache/sling/nosql/couchbase/resourceprovider/impl/CouchbaseNoSqlResourceProviderFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/nosql/couchbase-resourceprovider/src/main/java/org/apache/sling/nosql/couchbase/resourceprovider/impl/CouchbaseNoSqlResourceProviderFactory.java?rev=1680622&r1=1680621&r2=1680622&view=diff
==============================================================================
--- 
sling/trunk/contrib/nosql/couchbase-resourceprovider/src/main/java/org/apache/sling/nosql/couchbase/resourceprovider/impl/CouchbaseNoSqlResourceProviderFactory.java
 (original)
+++ 
sling/trunk/contrib/nosql/couchbase-resourceprovider/src/main/java/org/apache/sling/nosql/couchbase/resourceprovider/impl/CouchbaseNoSqlResourceProviderFactory.java
 Wed May 20 16:11:14 2015
@@ -22,6 +22,7 @@ import java.util.Map;
 
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Reference;
 import org.apache.felix.scr.annotations.Service;
@@ -38,7 +39,11 @@ import org.osgi.service.event.EventAdmin
  * {@link ResourceProviderFactory} implementation that uses couchbase as
  * persistence.
  */
-@Component(immediate = true)
+@Component(immediate = true, metatype = true,
+    
name="org.apache.sling.nosql.couchbase.resourceprovider.CouchbaseNoSqlResourceProviderFactory.factory.config",
+    label = "Apache Sling NoSQL Couchbase Resource Provider Factory", 
+    description = "Defines a resource provider factory with Couchbase 
persistence.", 
+    configurationFactory = true, policy = ConfigurationPolicy.REQUIRE)
 @Service(value = ResourceProviderFactory.class)
 public class CouchbaseNoSqlResourceProviderFactory extends 
AbstractNoSqlResourceProviderFactory {
 

Added: sling/trunk/contrib/nosql/generic/README.md
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/nosql/generic/README.md?rev=1680622&view=auto
==============================================================================
--- sling/trunk/contrib/nosql/generic/README.md (added)
+++ sling/trunk/contrib/nosql/generic/README.md Wed May 20 16:11:14 2015
@@ -0,0 +1,15 @@
+Apache Sling NoSQL Generic Resource Provider
+============================================
+
+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


Reply via email to