You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by pe...@apache.org on 2022/02/11 09:24:51 UTC

[incubator-linkis] 01/03: add linkis datasource remote client impl

This is an automated email from the ASF dual-hosted git repository.

peacewong pushed a commit to branch dev-1.1.0-datasource
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git

commit 6904836f3351a572d9cf95e7fa8bc1e1f7ae5887
Author: xiaojie19852006 <xi...@163.com>
AuthorDate: Fri Feb 11 16:56:13 2022 +0800

    add linkis datasource remote client impl
---
 .../datasource/client/DataSourceRemoteClient.scala | 38 ++++++++++++++
 .../client/impl/LinkisDataSourceRemoteClient.scala | 59 ++++++++++++++++++++++
 2 files changed, 97 insertions(+)

diff --git a/linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/DataSourceRemoteClient.scala b/linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/DataSourceRemoteClient.scala
new file mode 100644
index 0000000..66ccfdf
--- /dev/null
+++ b/linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/DataSourceRemoteClient.scala
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+
+package org.apache.linkis.datasource.client
+
+import org.apache.linkis.datasource.client.request._
+import org.apache.linkis.datasource.client.response._
+
+trait DataSourceRemoteClient extends RemoteClient {
+  def getAllDataSourceTypes(action: GetAllDataSourceTypesAction): GetAllDataSourceTypesResult
+  def queryDataSourceEnv(action: QueryDataSourceEnvAction): QueryDataSourceEnvResult
+  def getInfoByDataSourceId(action: GetInfoByDataSourceIdAction): GetInfoByDataSourceIdResult
+  def queryDataSource(action: QueryDataSourceAction): QueryDataSourceResult
+  def getConnectParams(action: GetConnectParamsByDataSourceIdAction): GetConnectParamsByDataSourceIdResult
+  def createDataSource(action: CreateDataSourceAction): CreateDataSourceResult
+  def getDataSourceTestConnect(action: DataSourceTestConnectAction): DataSourceTestConnectResult
+  def deleteDataSource(action: DeleteDataSourceAction): DeleteDataSourceResult
+  def expireDataSource(action: ExpireDataSourceAction): ExpireDataSourceResult
+  def getDataSourceVersions(action: GetDataSourceVersionsAction): GetDataSourceVersionsResult
+  def publishDataSourceVersion(action: PublishDataSourceVersionAction): PublishDataSourceVersionResult
+  def updateDataSource(action: UpdateDataSourceAction): UpdateDataSourceResult
+  def updateDataSourceParameter(action: UpdateDataSourceParameterAction): UpdateDataSourceParameterResult
+  def getKeyDefinitionsByType(action: GetKeyTypeDatasourceAction): GetKeyTypeDatasourceResult
+}
diff --git a/linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/impl/LinkisDataSourceRemoteClient.scala b/linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/impl/LinkisDataSourceRemoteClient.scala
new file mode 100644
index 0000000..98f38c0
--- /dev/null
+++ b/linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/impl/LinkisDataSourceRemoteClient.scala
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+package org.apache.linkis.datasource.client.impl
+
+import org.apache.linkis.datasource.client.request._
+import org.apache.linkis.datasource.client.response._
+import org.apache.linkis.datasource.client.{AbstractRemoteClient, DataSourceRemoteClient}
+import org.apache.linkis.httpclient.dws.DWSHttpClient
+import org.apache.linkis.httpclient.dws.config.DWSClientConfig
+
+
+class LinkisDataSourceRemoteClient(clientConfig: DWSClientConfig) extends AbstractRemoteClient with DataSourceRemoteClient {
+  protected override val dwsHttpClient = new DWSHttpClient(clientConfig, "DataSource-Client")
+
+  override def getAllDataSourceTypes(action: GetAllDataSourceTypesAction): GetAllDataSourceTypesResult = execute(action).asInstanceOf[GetAllDataSourceTypesResult]
+
+  override def queryDataSourceEnv(action: QueryDataSourceEnvAction): QueryDataSourceEnvResult = execute(action).asInstanceOf[QueryDataSourceEnvResult]
+
+  override def getInfoByDataSourceId(action: GetInfoByDataSourceIdAction): GetInfoByDataSourceIdResult = execute(action).asInstanceOf[GetInfoByDataSourceIdResult]
+
+  override def queryDataSource(action: QueryDataSourceAction): QueryDataSourceResult = execute(action).asInstanceOf[QueryDataSourceResult]
+
+  override def getConnectParams(action: GetConnectParamsByDataSourceIdAction): GetConnectParamsByDataSourceIdResult = execute(action).asInstanceOf[GetConnectParamsByDataSourceIdResult]
+
+  override def createDataSource(action: CreateDataSourceAction): CreateDataSourceResult = execute(action).asInstanceOf[CreateDataSourceResult]
+
+  override def getDataSourceTestConnect(action: DataSourceTestConnectAction): DataSourceTestConnectResult = execute(action).asInstanceOf[DataSourceTestConnectResult]
+
+  override def deleteDataSource(action: DeleteDataSourceAction): DeleteDataSourceResult = execute(action).asInstanceOf[DeleteDataSourceResult]
+
+  override def expireDataSource(action: ExpireDataSourceAction): ExpireDataSourceResult = execute(action).asInstanceOf[ExpireDataSourceResult]
+
+  override def getDataSourceVersions(action: GetDataSourceVersionsAction): GetDataSourceVersionsResult = execute(action).asInstanceOf[GetDataSourceVersionsResult]
+
+  override def publishDataSourceVersion(action: PublishDataSourceVersionAction): PublishDataSourceVersionResult = execute(action).asInstanceOf[PublishDataSourceVersionResult]
+
+  override def updateDataSource(action: UpdateDataSourceAction): UpdateDataSourceResult = execute(action).asInstanceOf[UpdateDataSourceResult]
+
+  override def updateDataSourceParameter(action: UpdateDataSourceParameterAction): UpdateDataSourceParameterResult = execute(action).asInstanceOf[UpdateDataSourceParameterResult]
+
+  override def getKeyDefinitionsByType(action: GetKeyTypeDatasourceAction): GetKeyTypeDatasourceResult = execute(action).asInstanceOf[GetKeyTypeDatasourceResult]
+}
+
+

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org