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:50 UTC

[incubator-linkis] branch dev-1.1.0-datasource updated (8a1bff0 -> cea4d33)

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

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


    from 8a1bff0  add the response for update datasource result
     new 6904836  add linkis datasource remote client impl
     new 72461f6  add linkis metadata remote client impl
     new cea4d33  add linkis datasource client test case

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../datasource/client/DataSourceRemoteClient.scala | 38 +++++++++++
 ...moteClient.scala => MetaDataRemoteClient.scala} | 19 +++---
 .../client/impl/LinkisDataSourceRemoteClient.scala | 59 ++++++++++++++++
 .../client/impl/LinkisMetaDataRemoteClient.scala   | 38 +++++++++++
 .../datasource/client/TestDataSourceClient.scala   | 78 ++++++++++++++++++++++
 5 files changed, 221 insertions(+), 11 deletions(-)
 create mode 100644 linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/DataSourceRemoteClient.scala
 copy linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/{AbstractRemoteClient.scala => MetaDataRemoteClient.scala} (60%)
 create mode 100644 linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/impl/LinkisDataSourceRemoteClient.scala
 create mode 100644 linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/impl/LinkisMetaDataRemoteClient.scala
 create mode 100644 linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/test/java/org/apache/linkis/datasource/client/TestDataSourceClient.scala

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


[incubator-linkis] 03/03: add linkis datasource client test case

Posted by pe...@apache.org.
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 cea4d331a9e4f0da6f68be75b3ec2af789c25e8e
Author: xiaojie19852006 <xi...@163.com>
AuthorDate: Fri Feb 11 16:58:39 2022 +0800

    add linkis datasource client test case
---
 .../datasource/client/TestDataSourceClient.scala   | 78 ++++++++++++++++++++++
 1 file changed, 78 insertions(+)

diff --git a/linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/test/java/org/apache/linkis/datasource/client/TestDataSourceClient.scala b/linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/test/java/org/apache/linkis/datasource/client/TestDataSourceClient.scala
new file mode 100644
index 0000000..574c42c
--- /dev/null
+++ b/linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/test/java/org/apache/linkis/datasource/client/TestDataSourceClient.scala
@@ -0,0 +1,78 @@
+/*
+ * 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.impl.LinkisDataSourceRemoteClient
+import org.apache.linkis.datasource.client.request._
+import org.apache.linkis.httpclient.dws.authentication.StaticAuthenticationStrategy
+import org.apache.linkis.httpclient.dws.config.DWSClientConfigBuilder
+
+import java.util.concurrent.TimeUnit
+
+object TestDataSourceClient {
+  def main(args: Array[String]): Unit = {
+    val clientConfig = DWSClientConfigBuilder.newBuilder()
+      .addServerUrl("http://127.0.0.1:9001")
+      .connectionTimeout(30000)
+      .discoveryEnabled(false)
+      .discoveryFrequency(1, TimeUnit.MINUTES)
+      .loadbalancerEnabled(true)
+      .maxConnectionSize(5)
+      .retryEnabled(false)
+      .readTimeout(30000)
+      .setAuthenticationStrategy(new StaticAuthenticationStrategy())
+      .setAuthTokenKey("hadoop")
+      .setAuthTokenValue("hadoop")
+      .setDWSVersion("v1")
+      .build()
+
+    val dataSourceClient = new LinkisDataSourceRemoteClient(clientConfig)
+
+    val getAllDataSourceTypesResult = dataSourceClient.getAllDataSourceTypes(GetAllDataSourceTypesAction.builder().setUser("hadoop").build()).getAllDataSourceType
+
+    val queryDataSourceEnvResult = dataSourceClient.queryDataSourceEnv(
+                                        QueryDataSourceEnvAction.builder()
+                                        .setName("mysql")
+                                        .setTypeId(2)
+                                        .setCurrentPage(1)
+                                        .setPageSize(1)
+                                        .setUser("hadoop")
+                                        .build()).getDataSourceEnv
+
+    val getInfoByDataSourceIdResult = dataSourceClient.getInfoByDataSourceId(
+        GetInfoByDataSourceIdAction.builder().setDataSourceId(1).setSystem("xx").setUser("hadoop").build()
+    ).getDataSource
+
+    val queryDataSourceResult = dataSourceClient.queryDataSource(QueryDataSourceAction.builder()
+                                      .setSystem("")
+                                      .setName("mysql")
+                                      .setTypeId(1)
+                                      .setIdentifies("")
+                                      .setCurrentPage(1)
+                                      .setPageSize(10)
+                                      .setUser("hadoop")
+                                      .build()
+                                ).getAllDataSource
+
+    val getConnectParamsByDataSourceIdResult = dataSourceClient.getConnectParams(
+      GetConnectParamsByDataSourceIdAction.builder().setDataSourceId(1).setSystem("xx").setUser("hadoop").build()
+    )
+
+
+  }
+}

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


[incubator-linkis] 02/03: add linkis metadata remote client impl

Posted by pe...@apache.org.
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 72461f6a8cde31df940f7f432c97d36689b40694
Author: xiaojie19852006 <xi...@163.com>
AuthorDate: Fri Feb 11 16:56:55 2022 +0800

    add linkis metadata remote client impl
---
 .../datasource/client/MetaDataRemoteClient.scala   | 29 +++++++++++++++++
 .../client/impl/LinkisMetaDataRemoteClient.scala   | 38 ++++++++++++++++++++++
 2 files changed, 67 insertions(+)

diff --git a/linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/MetaDataRemoteClient.scala b/linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/MetaDataRemoteClient.scala
new file mode 100644
index 0000000..da9214c
--- /dev/null
+++ b/linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/MetaDataRemoteClient.scala
@@ -0,0 +1,29 @@
+/*
+ * 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 MetaDataRemoteClient extends RemoteClient {
+  def getDatabases(action: MetadataGetDatabasesAction): MetadataGetDatabasesResult
+  def getTables(action: MetadataGetTablesAction): MetadataGetTablesResult
+  def getTableProps(action: MetadataGetTablePropsAction): MetadataGetTablePropsResult
+  def getPartitions(action: MetadataGetPartitionsAction): MetadataGetPartitionsResult
+  def getColumns(action: MetadataGetColumnsAction): MetadataGetColumnsResult
+}
diff --git a/linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/impl/LinkisMetaDataRemoteClient.scala b/linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/impl/LinkisMetaDataRemoteClient.scala
new file mode 100644
index 0000000..3f20010
--- /dev/null
+++ b/linkis-public-enhancements/linkis-datasource/linkis-datasource-client/src/main/scala/org/apache/linkis/datasource/client/impl/LinkisMetaDataRemoteClient.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.impl
+
+import org.apache.linkis.datasource.client.request._
+import org.apache.linkis.datasource.client.response._
+import org.apache.linkis.datasource.client.{AbstractRemoteClient, MetaDataRemoteClient}
+import org.apache.linkis.httpclient.dws.DWSHttpClient
+import org.apache.linkis.httpclient.dws.config.DWSClientConfig
+
+class LinkisMetaDataRemoteClient(clientConfig: DWSClientConfig) extends AbstractRemoteClient with MetaDataRemoteClient {
+  protected override val dwsHttpClient = new DWSHttpClient(clientConfig, "MetaData-Client")
+
+  override def getDatabases(action: MetadataGetDatabasesAction): MetadataGetDatabasesResult = execute(action).asInstanceOf[MetadataGetDatabasesResult]
+
+  override def getTables(action: MetadataGetTablesAction): MetadataGetTablesResult = execute(action).asInstanceOf[MetadataGetTablesResult]
+
+  override def getTableProps(action: MetadataGetTablePropsAction): MetadataGetTablePropsResult = execute(action).asInstanceOf[MetadataGetTablePropsResult]
+
+  override def getPartitions(action: MetadataGetPartitionsAction): MetadataGetPartitionsResult = execute(action).asInstanceOf[MetadataGetPartitionsResult]
+
+  override def getColumns(action: MetadataGetColumnsAction): MetadataGetColumnsResult = execute(action).asInstanceOf[MetadataGetColumnsResult]
+}

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


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

Posted by pe...@apache.org.
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