From reviews-return-896-archive-asf-public=cust-asf.ponee.io@bahir.apache.org Fri Jan 5 15:50:00 2018 Return-Path: X-Original-To: archive-asf-public@eu.ponee.io Delivered-To: archive-asf-public@eu.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by mx-eu-01.ponee.io (Postfix) with ESMTP id 8FC5B18077F for ; Fri, 5 Jan 2018 15:50:00 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 803E8160C19; Fri, 5 Jan 2018 14:50:00 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id AB444160C3B for ; Fri, 5 Jan 2018 15:49:59 +0100 (CET) Received: (qmail 49776 invoked by uid 500); 5 Jan 2018 14:49:58 -0000 Mailing-List: contact reviews-help@bahir.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: reviews@bahir.apache.org Delivered-To: mailing list reviews@bahir.apache.org Received: (qmail 49568 invoked by uid 99); 5 Jan 2018 14:49:58 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 05 Jan 2018 14:49:58 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 5CF33E0A04; Fri, 5 Jan 2018 14:49:58 +0000 (UTC) From: ricellis To: reviews@bahir.apache.org Reply-To: reviews@bahir.apache.org References: In-Reply-To: Subject: [GitHub] bahir pull request #61: [BAHIR-154] Refactor sql-cloudant to use Cloudant's ... Content-Type: text/plain Message-Id: <20180105144958.5CF33E0A04@git1-us-west.apache.org> Date: Fri, 5 Jan 2018 14:49:58 +0000 (UTC) Github user ricellis commented on a diff in the pull request: https://github.com/apache/bahir/pull/61#discussion_r159845032 --- Diff: sql-cloudant/src/main/scala/org/apache/bahir/cloudant/CloudantConfig.scala --- @@ -16,34 +16,127 @@ */ package org.apache.bahir.cloudant -import java.net.URLEncoder +import java.net.{URL, URLEncoder} -import play.api.libs.json.{JsArray, JsObject, Json, JsValue} +import scala.collection.JavaConverters._ +import scala.collection.mutable +import scala.reflect.io.File + +import com.cloudant.client.api.{ClientBuilder, CloudantClient, Database} +import com.cloudant.client.api.model.SearchResult +import com.cloudant.client.api.views._ +import com.cloudant.http.{Http, HttpConnection} +import com.cloudant.http.interceptors.Replay429Interceptor +import com.google.gson.{JsonObject, JsonParser} import org.apache.bahir.cloudant.common._ +import org.apache.bahir.cloudant.common.JsonUtil.JsonConverter /* * Only allow one field pushdown now * as the filter today does not tell how to link the filters out And v.s. Or */ class CloudantConfig(val protocol: String, val host: String, - val dbName: String, val indexName: String, val viewName: String) + val dbName: String, val indexPath: String, val viewPath: String) (implicit val username: String, val password: String, val partitions: Int, val maxInPartition: Int, val minInPartition: Int, val requestTimeout: Long, val bulkSize: Int, val schemaSampleSize: Int, val createDBOnSave: Boolean, val endpoint: String, val useQuery: Boolean = false, val queryLimit: Int) extends Serializable { + @transient private lazy val client: CloudantClient = ClientBuilder + .url(getClientUrl) + .username(username) + .password(password) + .interceptors(Replay429Interceptor.WITH_DEFAULTS) --- End diff -- It may be worth adding an additional interceptor here to change/augment the UA. ---