blob: 06c9cb3bb0d516913811a9b624ebe7527b9d8c6f [file] [log] [blame]
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
CouchDB Collection Adapter
Dependencies:
* Abdera Core, Parser, Protocol, Server modules
* Abdera json and html extensions
* CouchDb4J (http://www.couchdbwiki.com/index.php?title=Getting_Started_with_Java)
Using the Adapter:
The CouchDB adapter is based on Abdera Managed Adapter model. To deploy an
instance of the adapter, put a file called /abdera/adapter/[id].properties
in the classpath where [id] is the id of the service instance. For instance,
/abdera/adapter/couchdb.properties
Sample *.properties file
subUri=couchdb
adapterClassName=org.apache.abdera.protocol.server.adapters.couchdb.CouchDbAdapter
title=CouchDB Feed
author=james
configFile=dummyFileLocation
# uncomment to override the defaults
#couchdb.host=localhost
#couchdb.port=5984
Then, deploy the AbderaServlet using the BasicProvider in your Web application environment:
Jetty deployment example:
Server server = new Server(9002);
Context context = new Context(server, "/", Context.SESSIONS);
ServletHolder servletHolder = new ServletHolder(new AbderaServlet());
servletHolder.setInitParameter(ServiceManager.PROVIDER, BasicProvider.class.getName());
context.addServlet(servletHolder, "/*");
server.start();
Using this example, the following resources will be served:
http://localhost:9002/ ==> Atompub Service Document
http://localhost:9002/couchdb ==> Atompub Collection Feed
http://localhost:9002/couchdb/{entry} ==> Entry document
Limitations:
The adapter does not support media collections or feed paging. Persistence
of extension elements has not yet been fully tested.