This is an automated email from the ASF dual-hosted git repository.
peacewong pushed a commit to branch dev-1.3.2
in repository https://gitbox.apache.org/repos/asf/linkis.git
The following commit(s) were added to refs/heads/dev-1.3.2 by this push:
new fefd70c1d feat: remove datasource server's scala file, and trim the
datasource params (#4329)
fefd70c1d is described below
commit fefd70c1d9434d881752209ba9d4aa057308fbaa
Author: Jack Xu <[email protected]>
AuthorDate: Wed Mar 8 12:11:07 2023 +0800
feat: remove datasource server's scala file, and trim the datasource params
(#4329)
* feat: remove datasource server's scala file, and trim the datasource
params
---
.../linkis-datasource-manager/common/pom.xml | 9 --
.../common/domain/DataSource.java | 8 +-
.../common/domain/DataSourceEnv.java | 7 +-
.../common/protocol/DsInfoQueryRequest.java | 123 +++++++++++++++++
.../common/protocol/DsInfoResponse.java | 148 +++++++++++++++++++++
.../datasourcemanager/common/util/CryptoUtils.java | 7 +-
.../common/protocol/DsmQueryProtocol.scala | 53 --------
.../linkis-datasource-manager/server/pom.xml | 5 -
.../core/receivers/DsmReceiver.java | 119 +++++++++++++++++
.../core/restful/DataSourceCoreRestfulApi.java | 34 ++---
.../core/restful/DataSourceOperateRestfulApi.java | 2 +-
.../core/restful/RestfulApiHelper.java | 10 +-
.../service/impl/MetadataOperateServiceImpl.java | 4 +-
.../core/receivers/DsmReceiver.scala | 130 ------------------
.../core/restful/DataSourceCoreRestfulApiTest.java | 9 +-
.../core/service/DataSourceInfoServiceTest.java | 16 ++-
.../core/service/MetadataOperateServiceTest.java | 3 +-
.../common/protocol/MetadataOperateProtocol.scala | 2 +-
.../service/impl/MetadataQueryServiceImpl.java | 125 ++++++++---------
19 files changed, 523 insertions(+), 291 deletions(-)
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/pom.xml
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/pom.xml
index 505959fea..07e770bfb 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/pom.xml
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/pom.xml
@@ -52,13 +52,4 @@
<artifactId>commons-text</artifactId>
</dependency>
</dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>net.alchim31.maven</groupId>
- <artifactId>scala-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
</project>
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSource.java
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSource.java
index 3bb998d03..310ce33ae 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSource.java
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSource.java
@@ -26,7 +26,13 @@ import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSourceEnv.java
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSourceEnv.java
index 3bc10c582..4a5846ffd 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSourceEnv.java
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSourceEnv.java
@@ -25,7 +25,12 @@ import org.apache.commons.lang3.StringUtils;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/protocol/DsInfoQueryRequest.java
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/protocol/DsInfoQueryRequest.java
new file mode 100644
index 000000000..f0da05273
--- /dev/null
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/protocol/DsInfoQueryRequest.java
@@ -0,0 +1,123 @@
+/*
+ * 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.datasourcemanager.common.protocol;
+
+import org.apache.linkis.protocol.message.RequestProtocol;
+
+import org.apache.commons.lang.StringUtils;
+
+public class DsInfoQueryRequest implements RequestProtocol {
+ private String id;
+ private String name;
+ private String system;
+ private String envId;
+
+ public DsInfoQueryRequest(String id, String name, String system, String
envId) {
+ this.id = id;
+ this.name = name;
+ this.system = system;
+ this.envId = envId;
+ }
+
+ public DsInfoQueryRequest(String id, String name, String system) {
+ this.id = id;
+ this.name = name;
+ this.system = system;
+ }
+
+ public boolean isValid() {
+ return (StringUtils.isNotBlank(id) || StringUtils.isNotBlank(name))
+ && StringUtils.isNotBlank(system);
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getSystem() {
+ return system;
+ }
+
+ public String getEnvId() {
+ return envId;
+ }
+
+ /**
+ * compatible with scala case class
+ *
+ * @deprecated not recommend
+ * @return id
+ */
+ @Deprecated
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * compatible with scala case class
+ *
+ * @deprecated not recommend
+ * @return name
+ */
+ @Deprecated
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * compatible with scala case class
+ *
+ * @deprecated not recommend
+ * @return system
+ */
+ @Deprecated
+ public String system() {
+ return this.system;
+ }
+
+ /**
+ * compatible with scala case class
+ *
+ * @deprecated not recommend
+ * @return envId
+ */
+ @Deprecated
+ public String envId() {
+ return this.envId;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public void setSystem(String system) {
+ this.system = system;
+ }
+
+ public void setEnvId(String envId) {
+ this.envId = envId;
+ }
+}
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/protocol/DsInfoResponse.java
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/protocol/DsInfoResponse.java
new file mode 100644
index 000000000..e4a00f404
--- /dev/null
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/protocol/DsInfoResponse.java
@@ -0,0 +1,148 @@
+/*
+ * 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.datasourcemanager.common.protocol;
+
+import org.apache.linkis.protocol.message.RequestProtocol;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class DsInfoResponse implements RequestProtocol {
+ private Boolean status;
+ private String dsType;
+
+ private Map<String, Object> params;
+ private String creator;
+ private String errorMsg;
+
+ public DsInfoResponse() {
+ this(false);
+ }
+
+ public DsInfoResponse(Boolean status) {
+ this(status, "");
+ }
+
+ public DsInfoResponse(Boolean status, String errorMsg) {
+ this(status, "", new HashMap(), "", errorMsg);
+ }
+
+ public DsInfoResponse(
+ Boolean status, String dsType, Map<String, Object> params, String
creator, String errorMsg) {
+ this.status = status;
+ this.dsType = dsType;
+ this.params = params;
+ this.creator = creator;
+ this.errorMsg = errorMsg;
+ }
+
+ public Boolean getStatus() {
+ return status;
+ }
+
+ /**
+ * compatible with scala case class
+ *
+ * @deprecated not recommend
+ * @return status
+ */
+ @Deprecated
+ public Boolean status() {
+ return status;
+ }
+
+ public void setStatus(Boolean status) {
+ this.status = status;
+ }
+
+ public String getDsType() {
+ return dsType;
+ }
+
+ /**
+ * compatible with scala case class
+ *
+ * @deprecated not recommend
+ * @return dsType
+ */
+ @Deprecated
+ public String dsType() {
+ return dsType;
+ }
+
+ public void setDsType(String dsType) {
+ this.dsType = dsType;
+ }
+
+ public Map<String, Object> getParams() {
+ return params;
+ }
+
+ /**
+ * compatible with scala case class
+ *
+ * @deprecated not recommend
+ * @return params
+ */
+ @Deprecated
+ public Map<String, Object> params() {
+ return params;
+ }
+
+ public void setParams(Map<String, Object> params) {
+ this.params = params;
+ }
+
+ public String getCreator() {
+ return creator;
+ }
+
+ /**
+ * compatible with scala case class
+ *
+ * @deprecated not recommend
+ * @return creator
+ */
+ @Deprecated
+ public String creator() {
+ return creator;
+ }
+
+ public void setCreator(String creator) {
+ this.creator = creator;
+ }
+
+ public String getErrorMsg() {
+ return errorMsg;
+ }
+
+ /**
+ * compatible with scala case class
+ *
+ * @deprecated not recommend
+ * @return errorMsg
+ */
+ @Deprecated
+ public String errorMsg() {
+ return errorMsg;
+ }
+
+ public void setErrorMsg(String errorMsg) {
+ this.errorMsg = errorMsg;
+ }
+}
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/util/CryptoUtils.java
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/util/CryptoUtils.java
index a6d5386fe..b60e2bd89 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/util/CryptoUtils.java
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/util/CryptoUtils.java
@@ -20,7 +20,12 @@ package org.apache.linkis.datasourcemanager.common.util;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils;
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
import java.security.MessageDigest;
public class CryptoUtils {
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/scala/org/apache/linkis/datasourcemanager/common/protocol/DsmQueryProtocol.scala
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/scala/org/apache/linkis/datasourcemanager/common/protocol/DsmQueryProtocol.scala
deleted file mode 100644
index 5112726fa..000000000
---
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/scala/org/apache/linkis/datasourcemanager/common/protocol/DsmQueryProtocol.scala
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * 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.datasourcemanager.common.protocol
-
-import org.apache.linkis.protocol.message.RequestProtocol
-
-import java.util
-
-/**
- * Store error code map
- */
-trait DsmQueryProtocol extends RequestProtocol {}
-
-/**
- * Query request of Data Source Information
- * @param id
- * datasource id
- */
-case class DsInfoQueryRequest(id: String, name: String, system: String, envId:
String = null)
- extends DsmQueryProtocol {
-
- def isValid: Boolean = {
- (Option(id).isDefined || Option(name).isDefined) &&
Option(system).isDefined
- }
-
-}
-
-/**
- * Response of parameter map
- * @param params
- */
-case class DsInfoResponse(
- status: Boolean,
- dsType: String = "",
- params: util.Map[String, Object] = new util.HashMap[String, Object](),
- creator: String = "",
- errorMsg: String = ""
-) extends DsmQueryProtocol
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/pom.xml
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/pom.xml
index 3fcdaea9c..876419156 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/pom.xml
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/pom.xml
@@ -101,11 +101,6 @@
<build>
<plugins>
- <plugin>
- <groupId>net.alchim31.maven</groupId>
- <artifactId>scala-maven-plugin</artifactId>
- </plugin>
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/receivers/DsmReceiver.java
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/receivers/DsmReceiver.java
new file mode 100644
index 000000000..4702ff82d
--- /dev/null
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/receivers/DsmReceiver.java
@@ -0,0 +1,119 @@
+/*
+ * 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.datasourcemanager.core.receivers;
+
+import org.apache.linkis.datasourcemanager.common.domain.DataSource;
+import org.apache.linkis.datasourcemanager.common.protocol.DsInfoQueryRequest;
+import org.apache.linkis.datasourcemanager.common.protocol.DsInfoResponse;
+import org.apache.linkis.datasourcemanager.core.restful.RestfulApiHelper;
+import org.apache.linkis.datasourcemanager.core.service.DataSourceInfoService;
+import
org.apache.linkis.datasourcemanager.core.service.DataSourceRelateService;
+import org.apache.linkis.rpc.message.annotation.Receiver;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.text.MessageFormat;
+import java.util.Objects;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@Component
+public class DsmReceiver {
+ private static final Logger LOG = LoggerFactory.getLogger(DsmReceiver.class);
+
+ @Autowired private DataSourceInfoService dataSourceInfoService;
+
+ @Autowired private DataSourceRelateService dataSourceRelateService;
+
+ @Receiver
+ public DsInfoResponse dealDsInfoQueryRequest(DsInfoQueryRequest
dsInfoQueryRequest) {
+ if (dsInfoQueryRequest.isValid()) {
+ try {
+ DataSource dataSource = null;
+ if (!Objects.isNull(dsInfoQueryRequest.getName())
+ && !Objects.isNull(dsInfoQueryRequest.getEnvId())) {
+ LOG.info(
+ "Try to get dataSource by dataSourceName: {}, envId: {}",
+ dsInfoQueryRequest.getName(),
+ dsInfoQueryRequest.getEnvId());
+ dataSource =
+ dataSourceInfoService.getDataSourceInfoForConnect(
+ dsInfoQueryRequest.getName(), dsInfoQueryRequest.getEnvId());
+ } else if (!Objects.isNull(dsInfoQueryRequest.getName())) {
+ LOG.info("Try to get dataSource by dataSourceName: {}",
dsInfoQueryRequest.getName());
+ dataSource =
+
dataSourceInfoService.getDataSourceInfoForConnect(dsInfoQueryRequest.getName());
+ } else if (Long.valueOf(dsInfoQueryRequest.getId()) > 0) {
+ LOG.info("Try to get dataSource by dataSourceId: {}",
dsInfoQueryRequest.getId());
+ dataSource =
+ dataSourceInfoService.getDataSourceInfoForConnect(
+ Long.valueOf(dsInfoQueryRequest.getId()));
+ }
+ if (null != dataSource) {
+ Long publishedVersionId = dataSource.getPublishedVersionId();
+ if (Objects.isNull(publishedVersionId)) {
+ LOG.warn("Datasource name:{} is not published.",
dataSource.getDataSourceName());
+ return new DsInfoResponse(
+ false,
+ MessageFormat.format(
+ "Datasource name:{0} is not published.",
dataSource.getDataSourceName()));
+ }
+
+ RestfulApiHelper.decryptPasswordKey(
+
dataSourceRelateService.getKeyDefinitionsByType(dataSource.getDataSourceTypeId()),
+ dataSource.getConnectParams());
+ return new DsInfoResponse(
+ true,
+ dataSource.getDataSourceType().getName(),
+ dataSource.getConnectParams(),
+ dataSource.getCreateUser(),
+ "");
+ } else {
+ LOG.warn("Can not get any dataSource");
+ return new DsInfoResponse(true, "Can not get any dataSource");
+ }
+ } catch (Exception e) {
+ LOG.error(
+ "Fail to get data source information, id: {} system: {}",
+ dsInfoQueryRequest.getId(),
+ dsInfoQueryRequest.getSystem(),
+ e);
+ return new DsInfoResponse(
+ false,
+ String.format(
+ "Fail to get data source information, id: %s system: %s",
+ dsInfoQueryRequest.getId(), dsInfoQueryRequest.getSystem()));
+ } catch (Throwable t) {
+ LOG.error(
+ "Fail to get data source information, id: {} system: {}",
+ dsInfoQueryRequest.getId(),
+ dsInfoQueryRequest.getSystem(),
+ t);
+ return new DsInfoResponse(
+ false,
+ String.format(
+ "Fail to get data source information, id: %s system: %s",
+ dsInfoQueryRequest.getId(), dsInfoQueryRequest.getSystem()));
+ }
+ } else {
+ return new DsInfoResponse(true);
+ }
+ }
+}
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApi.java
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApi.java
index 927346bb7..b192f3065 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApi.java
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApi.java
@@ -314,15 +314,7 @@ public class DataSourceCoreRestfulApi {
List<DataSourceParamKeyDefinition> keyDefinitionList =
dataSourceRelateService.getKeyDefinitionsByType(dataSource.getDataSourceTypeId());
- // add default value filed
- keyDefinitionList.forEach(
- keyDefinition -> {
- String key = keyDefinition.getKey();
- if (StringUtils.isNotBlank(keyDefinition.getDefaultValue())
- && !connectParams.containsKey(key)) {
- connectParams.put(key, keyDefinition.getDefaultValue());
- }
- });
+ formatConnectParams(keyDefinitionList, connectParams);
parameterValidator.validate(keyDefinitionList, connectParams);
// Encrypt password value type
@@ -839,6 +831,18 @@ public class DataSourceCoreRestfulApi {
dataSource.setKeyDefinitions(keyDefinitionList);
Map<String, Object> connectParams = dataSource.getConnectParams();
+ formatConnectParams(keyDefinitionList, connectParams);
+
+ for (DataSourceParamsHook hook : dataSourceParamsHooks) {
+ hook.beforePersist(connectParams, keyDefinitionList);
+ }
+ String parameter = Json.toJson(connectParams, null);
+ dataSource.setParameter(parameter);
+ dataSourceInfoService.saveDataSourceInfo(dataSource);
+ }
+
+ private void formatConnectParams(
+ List<DataSourceParamKeyDefinition> keyDefinitionList, Map<String,
Object> connectParams) {
// add default value filed
keyDefinitionList.forEach(
keyDefinition -> {
@@ -849,11 +853,11 @@ public class DataSourceCoreRestfulApi {
}
});
- for (DataSourceParamsHook hook : dataSourceParamsHooks) {
- hook.beforePersist(connectParams, keyDefinitionList);
- }
- String parameter = Json.toJson(connectParams, null);
- dataSource.setParameter(parameter);
- dataSourceInfoService.saveDataSourceInfo(dataSource);
+ connectParams.forEach(
+ (k, v) -> {
+ if (v instanceof String) {
+ connectParams.put(k, v.toString().trim());
+ }
+ });
}
}
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceOperateRestfulApi.java
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceOperateRestfulApi.java
index a6467397d..bb5ce4109 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceOperateRestfulApi.java
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceOperateRestfulApi.java
@@ -111,7 +111,7 @@ public class DataSourceOperateRestfulApi {
if (dataSource.getConnectParams().containsKey("envId")) {
try {
dataSourceInfoService.addEnvParamsToDataSource(
- Long.parseLong((String)
dataSource.getConnectParams().get("envId")), dataSource);
+
Long.parseLong(dataSource.getConnectParams().get("envId").toString()),
dataSource);
} catch (Exception e) {
throw new ParameterValidateException(ENVID_ATYPICAL.getErrorDesc() +
e);
}
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/RestfulApiHelper.java
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/RestfulApiHelper.java
index 8a539faa5..0bf1a91b2 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/RestfulApiHelper.java
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/RestfulApiHelper.java
@@ -65,10 +65,9 @@ public class RestfulApiHelper {
keyDefinitionList.forEach(
keyDefinition -> {
if (keyDefinition.getValueType() ==
DataSourceParamKeyDefinition.ValueType.PASSWORD) {
- Object password = connectParams.get(keyDefinition.getKey());
+ String password =
String.valueOf(connectParams.get(keyDefinition.getKey()));
if (null != password) {
- connectParams.put(
- keyDefinition.getKey(),
CryptoUtils.object2String(String.valueOf(password)));
+ connectParams.put(keyDefinition.getKey(),
CryptoUtils.object2String(password));
}
}
});
@@ -85,10 +84,9 @@ public class RestfulApiHelper {
keyDefinitionList.forEach(
keyDefinition -> {
if (keyDefinition.getValueType() ==
DataSourceParamKeyDefinition.ValueType.PASSWORD) {
- Object password = connectParams.get(keyDefinition.getKey());
+ String password =
String.valueOf(connectParams.get(keyDefinition.getKey()));
if (null != password) {
- connectParams.put(
- keyDefinition.getKey(),
CryptoUtils.string2Object(String.valueOf(password)));
+ connectParams.put(keyDefinition.getKey(),
CryptoUtils.string2Object(password));
}
}
});
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/service/impl/MetadataOperateServiceImpl.java
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/service/impl/MetadataOperateServiceImpl.java
index d0d6a64c0..dd140c60d 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/service/impl/MetadataOperateServiceImpl.java
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/service/impl/MetadataOperateServiceImpl.java
@@ -37,7 +37,9 @@ import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import static
org.apache.linkis.datasourcemanager.common.errorcode.LinkisDatasourceManagerErrorCodeSummary.*;
+import static
org.apache.linkis.datasourcemanager.common.errorcode.LinkisDatasourceManagerErrorCodeSummary.CONNECTION_FAILED;
+import static
org.apache.linkis.datasourcemanager.common.errorcode.LinkisDatasourceManagerErrorCodeSummary.OPERATE_FILE_IN_REQUEST;
+import static
org.apache.linkis.datasourcemanager.common.errorcode.LinkisDatasourceManagerErrorCodeSummary.REMOTE_SERVICE_ERROR;
@Service
public class MetadataOperateServiceImpl implements MetadataOperateService {
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/scala/org/apache/linkis/datasourcemanager/core/receivers/DsmReceiver.scala
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/scala/org/apache/linkis/datasourcemanager/core/receivers/DsmReceiver.scala
deleted file mode 100644
index c32bb1b52..000000000
---
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/scala/org/apache/linkis/datasourcemanager/core/receivers/DsmReceiver.scala
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * 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.datasourcemanager.core.receivers
-
-import org.apache.linkis.common.utils.Utils
-import org.apache.linkis.datasourcemanager.common.domain.DataSource
-import
org.apache.linkis.datasourcemanager.common.protocol.{DsInfoQueryRequest,
DsInfoResponse}
-import org.apache.linkis.datasourcemanager.core.restful.RestfulApiHelper
-import org.apache.linkis.datasourcemanager.core.service.{
- DataSourceInfoService,
- DataSourceRelateService
-}
-import org.apache.linkis.rpc.message.annotation.Receiver
-
-import org.apache.commons.lang3.StringUtils
-
-import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.stereotype.Component
-
-import java.text.MessageFormat
-import java.util
-
-import scala.tools.scalap.scalax.util.StringUtil
-
-import org.slf4j.LoggerFactory
-
-@Component
-class DsmReceiver {
-
- private val logger = LoggerFactory.getLogger(classOf[DsmReceiver])
-
- @Autowired
- private var dataSourceInfoService: DataSourceInfoService = _
-
- @Autowired
- private var dataSourceRelateService: DataSourceRelateService = _
-
- @Receiver
- def dealDsInfoQueryRequest(dsInfoQueryRequest: DsInfoQueryRequest): Any = {
- if (dsInfoQueryRequest.isValid) {
- Utils.tryCatch {
- var dataSource: DataSource = null
- if (
- Option(dsInfoQueryRequest.name).isDefined &&
Option(dsInfoQueryRequest.envId).isDefined
- ) {
- logger.info(
- "Try to get dataSource by dataSourceName:" +
dsInfoQueryRequest.name + ", envId:" + dsInfoQueryRequest.envId
- )
- dataSource = dataSourceInfoService.getDataSourceInfoForConnect(
- dsInfoQueryRequest.name,
- dsInfoQueryRequest.envId
- )
- } else if (Option(dsInfoQueryRequest.name).isDefined) {
- logger.info("Try to get dataSource by dataSourceName:" +
dsInfoQueryRequest.name)
- dataSource =
dataSourceInfoService.getDataSourceInfoForConnect(dsInfoQueryRequest.name)
- } else if (dsInfoQueryRequest.id.toLong > 0) {
- logger.info("Try to get dataSource by dataSourceId:" +
dsInfoQueryRequest.id)
- dataSource =
-
dataSourceInfoService.getDataSourceInfoForConnect(dsInfoQueryRequest.id.toLong)
- }
- if (null != dataSource) {
- var publishedVersionId = dataSource.getPublishedVersionId
- if (publishedVersionId == null) {
- logger.warn("Datasource name:{} is not published.",
dataSource.getDataSourceName)
- return DsInfoResponse(
- status = false,
- errorMsg = MessageFormat.format(
- "Datasource name:{0} is not published.",
- dataSource.getDataSourceName
- )
- )
- }
-
- RestfulApiHelper.decryptPasswordKey(
-
dataSourceRelateService.getKeyDefinitionsByType(dataSource.getDataSourceTypeId),
- dataSource.getConnectParams
- )
- DsInfoResponse(
- status = true,
- dsType = dataSource.getDataSourceType.getName,
- params = dataSource.getConnectParams,
- creator = dataSource.getCreateUser
- )
- } else {
- logger.warn("Can not get any dataSource")
- DsInfoResponse(status = true, errorMsg = "Can not get any
dataSource")
- }
- } {
- case e: Exception =>
- logger.error(
- s"Fail to get data source information, id:${dsInfoQueryRequest.id}
system:${dsInfoQueryRequest.system}",
- e
- )
- DsInfoResponse(
- status = false,
- errorMsg =
- s"Fail to get data source information,
id:${dsInfoQueryRequest.id} system:${dsInfoQueryRequest.system}"
- )
- case t: Throwable =>
- logger.error(
- s"Fail to get data source information, id:{dsInfoQueryRequest.id}
system:${dsInfoQueryRequest.system}",
- t
- )
- DsInfoResponse(
- status = false,
- errorMsg =
- s"Fail to get data source information,
id:{dsInfoQueryRequest.id} system:${dsInfoQueryRequest.system}"
- )
- }
- } else {
- DsInfoResponse(status = true)
- }
- }
-
-}
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApiTest.java
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApiTest.java
index 86f6408de..b44573f16 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApiTest.java
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApiTest.java
@@ -48,7 +48,11 @@ import javax.servlet.http.HttpServletRequest;
import javax.validation.Validator;
import java.io.StringWriter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import com.github.pagehelper.PageInfo;
import org.junit.jupiter.api.AfterAll;
@@ -576,8 +580,7 @@ class DataSourceCoreRestfulApiTest {
Mockito.doNothing()
.when(metadataOperateService)
- .doRemoteConnect(
- "metadata-manager", dataSourceType.getName(), "hadoop", new
HashMap<String, Object>());
+ .doRemoteConnect("metadata-manager", dataSourceType.getName(),
"hadoop", new HashMap<>());
res = mvcUtils.getMessage(mvcUtils.buildMvcResultPut(url));
assertTrue(MessageStatus.SUCCESS() == res.getStatus());
}
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/DataSourceInfoServiceTest.java
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/DataSourceInfoServiceTest.java
index 300b2bd3b..c9bd12f79 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/DataSourceInfoServiceTest.java
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/DataSourceInfoServiceTest.java
@@ -21,13 +21,21 @@ import org.apache.linkis.common.exception.ErrorException;
import org.apache.linkis.datasourcemanager.common.domain.DataSource;
import org.apache.linkis.datasourcemanager.common.domain.DataSourceEnv;
import
org.apache.linkis.datasourcemanager.common.domain.DataSourceParamKeyDefinition;
-import org.apache.linkis.datasourcemanager.core.dao.*;
+import org.apache.linkis.datasourcemanager.core.dao.DataSourceDao;
+import org.apache.linkis.datasourcemanager.core.dao.DataSourceEnvDao;
+import org.apache.linkis.datasourcemanager.core.dao.DataSourceParamKeyDao;
+import org.apache.linkis.datasourcemanager.core.dao.DataSourceVersionDao;
import
org.apache.linkis.datasourcemanager.core.service.impl.DataSourceInfoServiceImpl;
import org.apache.linkis.datasourcemanager.core.vo.DataSourceVo;
import org.apache.commons.collections.CollectionUtils;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import com.github.pagehelper.PageInfo;
import org.junit.jupiter.api.Test;
@@ -40,7 +48,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
@ExtendWith(MockitoExtension.class)
public class DataSourceInfoServiceTest {
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/MetadataOperateServiceTest.java
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/MetadataOperateServiceTest.java
index b205a42af..4002bf2b6 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/MetadataOperateServiceTest.java
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/MetadataOperateServiceTest.java
@@ -40,7 +40,8 @@ import org.mockito.junit.jupiter.MockitoExtension;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
@ExtendWith(MockitoExtension.class)
class MetadataOperateServiceTest {
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/common/src/main/scala/org/apache/linkis/metadata/query/common/protocol/MetadataOperateProtocol.scala
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/common/src/main/scala/org/apache/linkis/metadata/query/common/protocol/MetadataOperateProtocol.scala
index d0f27b5b1..0a0bf86a7 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/common/src/main/scala/org/apache/linkis/metadata/query/common/protocol/MetadataOperateProtocol.scala
+++
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/common/src/main/scala/org/apache/linkis/metadata/query/common/protocol/MetadataOperateProtocol.scala
@@ -31,6 +31,6 @@ trait MetadataOperateProtocol extends RequestProtocol {}
case class MetadataConnect(
dataSourceType: String,
operator: String,
- params: util.Map[String, Object],
+ params: util.Map[String, AnyRef],
version: String
) extends MetadataOperateProtocol
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/service/impl/MetadataQueryServiceImpl.java
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/service/impl/MetadataQueryServiceImpl.java
index c7eb2602c..ab38c4228 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/service/impl/MetadataQueryServiceImpl.java
+++
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/service/impl/MetadataQueryServiceImpl.java
@@ -42,7 +42,11 @@ import javax.annotation.PostConstruct;
import java.io.Closeable;
import java.io.IOException;
import java.text.MessageFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
import java.util.function.BiFunction;
import org.slf4j.Logger;
@@ -85,11 +89,11 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
public List<String> getDatabasesByDsId(String dataSourceId, String system,
String userName)
throws ErrorException {
DsInfoResponse dsInfoResponse = reqToGetDataSourceInfo(dataSourceId,
system, userName);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getDatabases",
- new Object[] {dsInfoResponse.creator(), dsInfoResponse.params()},
+ new Object[] {dsInfoResponse.getCreator(),
dsInfoResponse.getParams()},
List.class);
}
return new ArrayList<>();
@@ -100,11 +104,11 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
public List<String> getTablesByDsId(
String dataSourceId, String database, String system, String userName)
throws ErrorException {
DsInfoResponse dsInfoResponse = reqToGetDataSourceInfo(dataSourceId,
system, userName);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getTables",
- new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(),
database},
+ new Object[] {dsInfoResponse.getCreator(),
dsInfoResponse.getParams(), database},
List.class);
}
return new ArrayList<>();
@@ -121,12 +125,12 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
String userName)
throws ErrorException {
DsInfoResponse dsInfoResponse = reqToGetDataSourceInfo(dataSourceId,
system, userName);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getPartitionProps",
new Object[] {
- dsInfoResponse.creator(), dsInfoResponse.params(), database,
table, partition
+ dsInfoResponse.getCreator(), dsInfoResponse.getParams(), database,
table, partition
},
Map.class);
}
@@ -139,11 +143,11 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
String dataSourceId, String database, String table, String system,
String userName)
throws ErrorException {
DsInfoResponse dsInfoResponse = reqToGetDataSourceInfo(dataSourceId,
system, userName);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getTableProps",
- new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(),
database, table},
+ new Object[] {dsInfoResponse.getCreator(),
dsInfoResponse.getParams(), database, table},
Map.class);
}
return new HashMap<>();
@@ -160,12 +164,12 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
String userName)
throws ErrorException {
DsInfoResponse dsInfoResponse = reqToGetDataSourceInfo(dataSourceId,
system, userName);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getPartitions",
new Object[] {
- dsInfoResponse.creator(), dsInfoResponse.params(), database,
table, traverse
+ dsInfoResponse.getCreator(), dsInfoResponse.getParams(), database,
table, traverse
},
MetaPartitionInfo.class);
}
@@ -178,11 +182,11 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
String dataSourceId, String database, String table, String system,
String userName)
throws ErrorException {
DsInfoResponse dsInfoResponse = reqToGetDataSourceInfo(dataSourceId,
system, userName);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getColumns",
- new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(),
database, table},
+ new Object[] {dsInfoResponse.getCreator(),
dsInfoResponse.getParams(), database, table},
List.class);
}
return new ArrayList<>();
@@ -192,11 +196,11 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
public List<String> getDatabasesByDsName(String dataSourceName, String
system, String userName)
throws ErrorException {
DsInfoResponse dsInfoResponse = queryDataSourceInfoByName(dataSourceName,
system, userName);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getDatabases",
- new Object[] {dsInfoResponse.creator(), dsInfoResponse.params()},
+ new Object[] {dsInfoResponse.getCreator(),
dsInfoResponse.getParams()},
List.class);
}
return new ArrayList<>();
@@ -207,11 +211,11 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
String dataSourceName, String system, String userName, String envId)
throws ErrorException {
DsInfoResponse dsInfoResponse =
queryDataSourceInfoByNameAndEnvId(dataSourceName, system, userName,
envId);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getDatabases",
- new Object[] {dsInfoResponse.creator(), dsInfoResponse.params()},
+ new Object[] {dsInfoResponse.getCreator(),
dsInfoResponse.getParams()},
List.class);
}
return new ArrayList<>();
@@ -222,11 +226,11 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
String dataSourceName, Map<String, String> queryParams, String system,
String userName)
throws ErrorException {
DsInfoResponse dsInfoResponse = queryDataSourceInfoByName(dataSourceName,
system, userName);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getConnectionInfo",
- new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(),
queryParams},
+ new Object[] {dsInfoResponse.getCreator(),
dsInfoResponse.getParams(), queryParams},
Map.class);
}
return new HashMap<>();
@@ -237,11 +241,11 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
String dataSourceName, String database, String system, String userName)
throws ErrorException {
DsInfoResponse dsInfoResponse = queryDataSourceInfoByName(dataSourceName,
system, userName);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getTables",
- new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(),
database},
+ new Object[] {dsInfoResponse.getCreator(),
dsInfoResponse.getParams(), database},
List.class);
}
return new ArrayList<>();
@@ -253,11 +257,11 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
throws ErrorException {
DsInfoResponse dsInfoResponse =
queryDataSourceInfoByNameAndEnvId(dataSourceName, system, userName,
envId);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getTables",
- new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(),
database},
+ new Object[] {dsInfoResponse.getCreator(),
dsInfoResponse.getParams(), database},
List.class);
}
return new ArrayList<>();
@@ -273,12 +277,12 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
String userName)
throws ErrorException {
DsInfoResponse dsInfoResponse = queryDataSourceInfoByName(dataSourceName,
system, userName);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getPartitionProps",
new Object[] {
- dsInfoResponse.creator(), dsInfoResponse.params(), database,
table, partition
+ dsInfoResponse.getCreator(), dsInfoResponse.getParams(), database,
table, partition
},
Map.class);
}
@@ -290,11 +294,11 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
String dataSourceName, String database, String table, String system,
String userName)
throws ErrorException {
DsInfoResponse dsInfoResponse = queryDataSourceInfoByName(dataSourceName,
system, userName);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getTableProps",
- new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(),
database, table},
+ new Object[] {dsInfoResponse.getCreator(),
dsInfoResponse.getParams(), database, table},
Map.class);
}
return new HashMap<>();
@@ -310,12 +314,12 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
String userName)
throws ErrorException {
DsInfoResponse dsInfoResponse = queryDataSourceInfoByName(dataSourceName,
system, userName);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getPartitions",
new Object[] {
- dsInfoResponse.creator(), dsInfoResponse.params(), database,
table, traverse
+ dsInfoResponse.getCreator(), dsInfoResponse.getParams(), database,
table, traverse
},
MetaPartitionInfo.class);
}
@@ -327,11 +331,11 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
String dataSourceName, String database, String table, String system,
String userName)
throws ErrorException {
DsInfoResponse dsInfoResponse = queryDataSourceInfoByName(dataSourceName,
system, userName);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getColumns",
- new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(),
database, table},
+ new Object[] {dsInfoResponse.getCreator(),
dsInfoResponse.getParams(), database, table},
List.class);
}
return new ArrayList<>();
@@ -348,11 +352,11 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
throws ErrorException {
DsInfoResponse dsInfoResponse =
queryDataSourceInfoByNameAndEnvId(dataSourceName, system, userName,
envId);
- if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+ if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
return invokeMetaMethod(
- dsInfoResponse.dsType(),
+ dsInfoResponse.getDsType(),
"getColumns",
- new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(),
database, table},
+ new Object[] {dsInfoResponse.getCreator(),
dsInfoResponse.getParams(), database, table},
List.class);
}
return new ArrayList<>();
@@ -371,23 +375,23 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
throws ErrorException {
Object rpcResult = null;
try {
- rpcResult = dataSourceRpcSender.ask(new DsInfoQueryRequest(dataSourceId,
null, system, null));
+ rpcResult = dataSourceRpcSender.ask(new DsInfoQueryRequest(dataSourceId,
null, system));
} catch (Exception e) {
throw new ErrorException(-1, "Remote Service Error[远端服务出错, 联系运维处理]");
}
if (rpcResult instanceof DsInfoResponse) {
DsInfoResponse response = (DsInfoResponse) rpcResult;
- if (!response.status()) {
+ if (!response.getStatus()) {
throw new ErrorException(
- -1, "Error in Data Source Manager Server[数据源服务出错] " +
response.errorMsg());
+ -1, "Error in Data Source Manager Server[数据源服务出错]: " +
response.getErrorMsg());
}
boolean hasPermission =
(AuthContext.isAdministrator(userName)
- || (StringUtils.isNotBlank(response.creator())
- && userName.equals(response.creator())));
+ || (StringUtils.isNotBlank(response.getCreator())
+ && userName.equals(response.getCreator())));
if (!hasPermission) {
throw new ErrorException(-1, "Don't have query permission for data
source [没有数据源的查询权限]");
- } else if (response.params().isEmpty()) {
+ } else if (response.getParams().isEmpty()) {
throw new ErrorException(-1, "Have you published the data source?
[数据源未发布或者参数为空]");
}
return response;
@@ -436,16 +440,17 @@ public class MetadataQueryServiceImpl implements
MetadataQueryService {
}
if (rpcResult instanceof DsInfoResponse) {
DsInfoResponse response = (DsInfoResponse) rpcResult;
- if (!response.status()) {
- throw new ErrorException(-1, "Error in Data Source Manager
Server[数据源服务出错]");
+ if (!response.getStatus()) {
+ throw new ErrorException(
+ -1, "Error in Data Source Manager Server[数据源服务出错]: " +
response.getErrorMsg());
}
boolean hasPermission =
(AuthContext.isAdministrator(userName)
- || (StringUtils.isNotBlank(response.creator())
- && userName.equals(response.creator())));
+ || (StringUtils.isNotBlank(response.getCreator())
+ && userName.equals(response.getCreator())));
if (!hasPermission) {
throw new ErrorException(-1, "Don't have query permission for data
source [没有数据源的查询权限]");
- } else if (!useDefault && response.params().isEmpty()) {
+ } else if (!useDefault && response.getParams().isEmpty()) {
throw new ErrorException(-1, "Have you published the data source?
[数据源未发布或者参数为空]");
}
return response;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]