[
https://issues.apache.org/jira/browse/GORA-437?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15420479#comment-15420479
]
ASF GitHub Bot commented on GORA-437:
-------------------------------------
Github user lewismc commented on a diff in the pull request:
https://github.com/apache/gora/pull/74#discussion_r74708250
--- Diff:
gora-couchdb/src/main/java/org/apache/gora/couchdb/store/CouchDBMappingBuilder.java
---
@@ -0,0 +1,96 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * 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.
+ */
+package org.apache.gora.couchdb.store;
+
+import org.apache.gora.persistency.impl.PersistentBase;
+import org.jdom.Element;
+import org.jdom.input.SAXBuilder;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+
+public class CouchDBMappingBuilder<K, T extends PersistentBase> {
+
+ // Class description
+ private static final String TAG_CLASS = "class";
+ private static final String TAG_FIELD = "field";
+ private static final String ATT_KEYCLASS = "keyClass";
+ private static final String ATT_DOCUMENT = "document";
+
+ // Document description
+ private static final String ATT_NAME = "name";
+
+ /**
+ * Mapping instance being built
+ */
+ private final CouchDBMapping mapping;
+
+ private final CouchDBStore<K, T> dataStore;
+
+ public CouchDBMappingBuilder(final CouchDBStore<K, T> store) {
+ this.dataStore = store;
+ this.mapping = new CouchDBMapping();
+ }
+
+ /**
+ * Return the built mapping if it is in a legal state
+ */
+ public CouchDBMapping build() {
+ if (mapping.getDatabaseName() == null)
+ throw new IllegalStateException("A collection is not specified");
--- End diff --
Can you also add this to the application logging through use of Slf4j.
> Implement CouchDB Datastore
> ---------------------------
>
> Key: GORA-437
> URL: https://issues.apache.org/jira/browse/GORA-437
> Project: Apache Gora
> Issue Type: New Feature
> Reporter: Furkan KAMACI
> Assignee: cihad güzel
> Labels: gora-couchdb, gsoc2016, storage
> Fix For: 0.8
>
>
> Apache CouchDB is a document-oriented NoSQL database that uses JSON to store
> data, JavaScript as its query language using MapReduce, and HTTP for an API.
> It could be nice to support CouchDB as a datastore at Gora.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)