From 51bfb83781794c1b6b60fec2b84576be68d73984 Mon Sep 17 00:00:00 2001 From: JackChen0810 Date: Thu, 23 Dec 2021 15:36:42 +0800 Subject: [PATCH 01/12] fix bug #448 --- conf/dss-workflow-server.properties | 4 +++- .../dss/workflow/constant/DSSWorkFlowConstant.java | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/conf/dss-workflow-server.properties b/conf/dss-workflow-server.properties index d782c9a353..d76bbc5dd8 100644 --- a/conf/dss-workflow-server.properties +++ b/conf/dss-workflow-server.properties @@ -41,4 +41,6 @@ wds.dss.appconn.scheduler.azkaban.login.passwd= ##import file dir wds.dss.file.upload.dir=/appcom/tmp/uploads -wds.dss.server.export.env=DEV \ No newline at end of file +wds.dss.server.export.env=DEV +wds.dss.server.import.env=DEV + diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/constant/DSSWorkFlowConstant.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/constant/DSSWorkFlowConstant.java index 6c457120eb..697f9f27f0 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/constant/DSSWorkFlowConstant.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/constant/DSSWorkFlowConstant.java @@ -24,7 +24,7 @@ public class DSSWorkFlowConstant { public static final CommonVars DSS_EXPORT_ENV = CommonVars.apply("wds.dss.server.export.env", "DEV"); - public static final CommonVars DSS_IMPORT_ENV = CommonVars.apply("wds.dss.server.import.env", "PROD"); + public static final CommonVars DSS_IMPORT_ENV = CommonVars.apply("wds.dss.server.import.env", "DEV"); public static final String PUBLISH_FLOW_REPORT_FORMATE = "工作流名:%s,版本号:%s,工作流内容为空,请自行修改或者删除"; public static final Interner saveFlowLock = Interners.newWeakInterner(); public static final CommonVars CACHE_TIMEOUT = CommonVars$.MODULE$.apply("wds.dss.server.cache.timeout",1000 * 60 * 60); From cad17dd2790d606a4f2f4e0034f834f704e20828 Mon Sep 17 00:00:00 2001 From: JackChen0810 Date: Fri, 24 Dec 2021 11:03:20 +0800 Subject: [PATCH 02/12] fix bug #448 --- .../dss/workflow/entity/request/AddFlowRequest.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/AddFlowRequest.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/AddFlowRequest.java index ea9ef380a9..8d01d81bb2 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/AddFlowRequest.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/AddFlowRequest.java @@ -12,6 +12,7 @@ public class AddFlowRequest { private Long parentFlowID; private String uses; private LabelRouteVO labels; + private String userName; public String getName() { return name; @@ -76,4 +77,12 @@ public LabelRouteVO getLabels() { public void setLabels(LabelRouteVO labels) { this.labels = labels; } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } } From dc6ea49d6899a13d08e196c9d33313d4cc16b9c6 Mon Sep 17 00:00:00 2001 From: JackChen0810 Date: Wed, 29 Dec 2021 08:37:27 +0800 Subject: [PATCH 03/12] fix bug #448 --- .../publish/VisualisExportRequestRef.java | 66 ++++++++++++++++ .../publish/VisualisImportRequestRef.java | 76 +++++++++++++++++++ .../publish/VisualisImportResponseRef.java | 34 +++++++-- .../service/impl/ContextServiceImpl.java | 32 +++++--- .../dss/workflow/restful/NodeRestfulApi.java | 16 ++-- 5 files changed, 199 insertions(+), 25 deletions(-) create mode 100644 dss-appconn/appconns/dss-visualis-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/visualis/publish/VisualisExportRequestRef.java create mode 100644 dss-appconn/appconns/dss-visualis-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/visualis/publish/VisualisImportRequestRef.java diff --git a/dss-appconn/appconns/dss-visualis-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/visualis/publish/VisualisExportRequestRef.java b/dss-appconn/appconns/dss-visualis-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/visualis/publish/VisualisExportRequestRef.java new file mode 100644 index 0000000000..9f9d4bdb98 --- /dev/null +++ b/dss-appconn/appconns/dss-visualis-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/visualis/publish/VisualisExportRequestRef.java @@ -0,0 +1,66 @@ +/* + * + * * Copyright 2019 WeBank + * * + * * Licensed 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 com.webank.wedatasphere.dss.appconn.visualis.publish; + +import com.google.common.collect.Maps; +import com.webank.wedatasphere.dss.standard.app.development.ref.ExportRequestRef; +import com.webank.wedatasphere.dss.standard.app.sso.Workspace; + +import java.util.Map; + +public class VisualisExportRequestRef implements ExportRequestRef { + + Map parameters = Maps.newHashMap(); + Workspace workspace; + + @Override + public Object getParameter(String key) { + return parameters.get(key); + } + + @Override + public void setParameter(String key, Object value) { + parameters.put(key, value); + } + + @Override + public Map getParameters() { + return parameters; + } + + @Override + public String getName() { + return parameters.get("name").toString(); + } + + @Override + public String getType() { + return parameters.get("type").toString(); + } + + @Override + public Workspace getWorkspace() { + return workspace; + } + + @Override + public void setWorkspace(Workspace workspace) { + this.workspace = workspace; + } +} diff --git a/dss-appconn/appconns/dss-visualis-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/visualis/publish/VisualisImportRequestRef.java b/dss-appconn/appconns/dss-visualis-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/visualis/publish/VisualisImportRequestRef.java new file mode 100644 index 0000000000..d881e977c4 --- /dev/null +++ b/dss-appconn/appconns/dss-visualis-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/visualis/publish/VisualisImportRequestRef.java @@ -0,0 +1,76 @@ +/* + * + * * Copyright 2019 WeBank + * * + * * Licensed 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 com.webank.wedatasphere.dss.appconn.visualis.publish; + +import com.google.common.collect.Maps; +import com.webank.wedatasphere.dss.standard.app.development.ref.ImportRequestRef; +import com.webank.wedatasphere.dss.standard.app.sso.Workspace; + +import java.util.Map; + +public class VisualisImportRequestRef implements ImportRequestRef { + + Map parameters = Maps.newHashMap(); + Workspace workspace; + + @Override + public Object getParameter(String key) { + return parameters.get(key); + } + + @Override + public void setParameter(String key, Object value) { + parameters.put(key, value); + } + + @Override + public Map getParameters() { + return parameters; + } + + @Override + public String getName() { + return parameters.get("name").toString(); + } + + @Override + public String getType() { + return parameters.get("type").toString(); + } + + @Override + public boolean equals(Object ref) { + return false; + } + + @Override + public String toString() { + return parameters.toString(); + } + + @Override + public Workspace getWorkspace() { + return workspace; + } + + @Override + public void setWorkspace(Workspace workspace) { + this.workspace = workspace; + } +} diff --git a/dss-appconn/appconns/dss-visualis-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/visualis/publish/VisualisImportResponseRef.java b/dss-appconn/appconns/dss-visualis-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/visualis/publish/VisualisImportResponseRef.java index 2f4a81b2c9..b192552628 100644 --- a/dss-appconn/appconns/dss-visualis-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/visualis/publish/VisualisImportResponseRef.java +++ b/dss-appconn/appconns/dss-visualis-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/visualis/publish/VisualisImportResponseRef.java @@ -23,36 +23,58 @@ import java.util.Map; public class VisualisImportResponseRef extends DSSCommonResponseRef { - Map importedMap = Maps.newHashMap(); Map newJobContent = Maps.newHashMap(); public VisualisImportResponseRef(Map jobContent, String responseBody, String nodeType, Object projectId) throws Exception { super(responseBody); - if("linkis.appconn.visualis.widget".equalsIgnoreCase(nodeType)){ Map payload = (Map) jobContent.get("data"); Long id = ((Double) Double.parseDouble(payload.get("widgetId").toString())).longValue(); - payload.put("widgetId", ((Double) ((Map) ((Map) responseMap.get("data")).get("widget")).get(id.toString()).doubleValue()).toString()); + Map tempDataMap = (Map) responseMap.get("data"); + Map tempValueMap = (Map) tempDataMap.get("widget"); + payload.put("widgetId", getIdByMap(tempValueMap, id)); } else if("linkis.appconn.visualis.display".equalsIgnoreCase(nodeType)){ Map payload = (Map) jobContent.get("payload"); Long id = ((Double) Double.parseDouble(payload.get("id").toString())).longValue(); payload.put("projectId", projectId); - payload.put("id", ((Double) ((Map) ((Map) responseMap.get("data")).get("display")).get(id.toString()).doubleValue()).toString()); + Map tempDataMap = (Map) responseMap.get("data"); + Map tempValueMap = (Map) tempDataMap.get("display"); + payload.put("id", getIdByMap(tempValueMap, id)); } else if("linkis.appconn.visualis.dashboard".equalsIgnoreCase(nodeType)){ Map payload = (Map) jobContent.get("payload"); Long id = ((Double) Double.parseDouble(payload.get("id").toString())).longValue(); payload.put("projectId", projectId); - payload.put("id", ((Double) ((Map) ((Map) responseMap.get("data")).get("dashboardPortal")).get(id.toString()).doubleValue()).toString()); + Map tempDataMap = (Map) responseMap.get("data"); + Map tempValueMap = (Map) tempDataMap.get("dashboardPortal"); + payload.put("id", getIdByMap(tempValueMap, id)); } else { throw new ExternalOperationFailedException(90177, "Unknown task type " + nodeType, null); } this.newJobContent = jobContent; } + /** + * 获取对应的Id + * @param tempValueMap + * @param id + * @return + */ + public String getIdByMap(Map tempValueMap, Long id) { + Object tempObjectVal = tempValueMap.get(id.toString()); + if (tempObjectVal instanceof Double) { + Double t = ((Double) tempObjectVal).doubleValue(); + return t.toString(); + } else if (tempObjectVal instanceof Integer) { + Integer t = (Integer) tempObjectVal; + return t.toString(); + } else { + return null; + } + } + @Override public Map toMap() { return newJobContent; } - } diff --git a/dss-commons/dss-contextservice/src/main/java/com/webank/wedatasphere/dss/contextservice/service/impl/ContextServiceImpl.java b/dss-commons/dss-contextservice/src/main/java/com/webank/wedatasphere/dss/contextservice/service/impl/ContextServiceImpl.java index 38013016e7..40d69b31ed 100644 --- a/dss-commons/dss-contextservice/src/main/java/com/webank/wedatasphere/dss/contextservice/service/impl/ContextServiceImpl.java +++ b/dss-commons/dss-contextservice/src/main/java/com/webank/wedatasphere/dss/contextservice/service/impl/ContextServiceImpl.java @@ -152,7 +152,6 @@ public void checkAndSaveContext(String jsonFlow,String parentFlowID) throws DSSE workTypes.add(WorkType.PROJECT); workTypes.add(WorkType.FLOW); csWorkService.initContextServiceInfo(contextIDStr, workTypes); - // ②解析和保存新的 UDF、Resource、Variable // 保存Workspace和Project的资源参数等 // if (null != project.getProjectResources() && project.getProjectResources().size() > 0) { @@ -175,6 +174,8 @@ public void checkAndSaveContext(String jsonFlow,String parentFlowID) throws DSSE JsonArray nodes = flowObject.get(DSSCommonUtils.FLOW_NODE_NAME).getAsJsonArray(); for (JsonElement node : nodes) { JsonObject json = node.getAsJsonObject(); + String nodeName =json.get(DSSCommonUtils.NODE_NAME_NAME).getAsString(); + initContextNodeVarInfo(contextIDStr,nodeName,contextClient); if (json.has(DSSCommonUtils.NODE_RESOURCE_NAME)) { JsonArray nodeRes = json.get(DSSCommonUtils.NODE_RESOURCE_NAME).getAsJsonArray(); saveContextResource(contextIDStr, nodeRes, contextClient, @@ -182,11 +183,12 @@ public void checkAndSaveContext(String jsonFlow,String parentFlowID) throws DSSE } if (json.has(DSSCommonUtils.NODE_PROP_NAME)) { JsonObject nodePropObj = json.get(DSSCommonUtils.NODE_PROP_NAME).getAsJsonObject(); - if (nodePropObj.has(DSSCommonUtils.NODE_PROP_VARIABLE_NAME)) { - JsonElement nodeVariables = nodePropObj.get(DSSCommonUtils.NODE_PROP_VARIABLE_NAME); - saveContextVariable(contextIDStr, nodeVariables, contextClient, - CSCommonUtils.NODE_PREFIX, json.get(DSSCommonUtils.NODE_NAME_NAME).getAsString()); - } + //节点的CS变量先不做存储,解决脚本节点执行变量没有及时清理问题 +// if (nodePropObj.has(DSSCommonUtils.NODE_PROP_VARIABLE_NAME)) { +// JsonElement nodeVariables = nodePropObj.get(DSSCommonUtils.NODE_PROP_VARIABLE_NAME); +// saveContextVariable(contextIDStr, nodeVariables, contextClient, +// CSCommonUtils.NODE_PREFIX, json.get(DSSCommonUtils.NODE_NAME_NAME).getAsString()); +// } } } } @@ -199,6 +201,15 @@ public void checkAndSaveContext(String jsonFlow,String parentFlowID) throws DSSE } } + private void initContextNodeVarInfo(String contextIDStr,String nodeName,ContextClient contextClient){ + try { + ContextID contextID = SerializeHelper.deserializeContextID(contextIDStr); + contextClient.removeAllValueByKeyPrefixAndContextType(contextID, ContextType.Variable, CSCommonUtils.NODE_PREFIX + nodeName); + } catch (ErrorException e) { + logger.error("CheckAndSaveContext error. ContextID : {}, nodeName : {}, e : ", contextIDStr,nodeName, e); + } + } + @Override public String checkAndInitContext(String jsonFlow, String parentFlowId, String workspace, String projectName, String flowName, String flowVersion, String user) throws DSSErrorException { if (StringUtils.isBlank(jsonFlow) ) { @@ -258,7 +269,7 @@ private void saveContextVariableKeyValue(String contextIDStr, ContextClient cont contextKeyPrefix = uniKeyPrefix; break; case CSCommonUtils.NODE_PREFIX: - contextKeyPrefix = uniKeyPrefix + nodeName + "." + CSCommonUtils.RESOURCE_PREFIX; + contextKeyPrefix = uniKeyPrefix + nodeName + "." + CSCommonUtils.VARIABLE_PREFIX; break; default: logger.error("Invalid contextKeyPrefix : {}", uniKeyPrefix); @@ -269,7 +280,7 @@ private void saveContextVariableKeyValue(String contextIDStr, ContextClient cont linkisVariable.setValue(entry.getValue().getAsString()); ContextKey contextKey = new CommonContextKey(); contextKey.setKey(contextKeyPrefix + linkisVariable.getKey()); - contextKey.setContextType(ContextType.OBJECT); + contextKey.setContextType(ContextType.Variable); contextKey.setContextScope(ContextScope.PUBLIC); ContextValue contextValue = new CommonContextValue(); contextValue.setValue(linkisVariable); @@ -406,7 +417,4 @@ private void saveFlowInfo(String contextIDStr, String parentFlowID, String flowJ logger.error("Set ContextKeyValue error. contextIDStr "); } } - - - -} +} \ No newline at end of file diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/NodeRestfulApi.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/NodeRestfulApi.java index d45dd0cc76..244ac1e365 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/NodeRestfulApi.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/NodeRestfulApi.java @@ -233,14 +233,16 @@ public Message deleteExternalNode(@Context HttpServletRequest req, @RequestBody Long projectID = updateExternalNodeRequest.getProjectID(); String nodeType = updateExternalNodeRequest.getNodeType(); Map params = updateExternalNodeRequest.getParams(); - logger.info("DeletepwdExternalNode request params is " + params + ",nodeType:" + nodeType); CommonAppConnNode node = new CommonAppConnNode(); - node.setProjectId(projectID); - node.setNodeType(nodeType); - String label = updateExternalNodeRequest.getLabels().getRoute(); - params.put(DSSCommonUtils.DSS_LABELS_KEY, label); - params.put("workspace", workspace); - functionInvoker.nodeServiceFunction(userName, params, node, FunctionPool.deleteNode); + if(params!=null){ + logger.info("DeletepwdExternalNode request params is " + params + ",nodeType:" + nodeType); + node.setProjectId(projectID); + node.setNodeType(nodeType); + String label = updateExternalNodeRequest.getLabels().getRoute(); + params.put(DSSCommonUtils.DSS_LABELS_KEY, label); + params.put("workspace", workspace); + functionInvoker.nodeServiceFunction(userName, params, node, FunctionPool.deleteNode); + } return Message.ok().data("result", node.getJobContent()); } From 9c7e7e40daf43005384f157c6afb15c68d9f8dce Mon Sep 17 00:00:00 2001 From: JackChen0810 Date: Wed, 29 Dec 2021 08:45:04 +0800 Subject: [PATCH 04/12] fix bug #461 --- sbin/common.sh | 2 +- web/config.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/common.sh b/sbin/common.sh index 2fd210ad08..40eb2ccae4 100644 --- a/sbin/common.sh +++ b/sbin/common.sh @@ -20,7 +20,7 @@ source ~/.bash_profile export local_host="`hostname --fqdn`" -ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}') +ipaddr=$(hostname -i) function isLocal(){ if [ "$1" == "127.0.0.1" ];then diff --git a/web/config.sh b/web/config.sh index 0ebe48dbe6..2aa4f1adef 100755 --- a/web/config.sh +++ b/web/config.sh @@ -5,4 +5,4 @@ dss_port="8088" linkis_url="http://localhost:20401" #dss ip address -dss_ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}') +dss_ipaddr=$(hostname -i) From 49bbafc2b15d430ca565bee13522a4bb6641a80c Mon Sep 17 00:00:00 2001 From: JackChen0810 Date: Wed, 29 Dec 2021 10:02:02 +0800 Subject: [PATCH 05/12] recover --- sbin/common.sh | 2 +- web/config.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sbin/common.sh b/sbin/common.sh index 40eb2ccae4..2fd210ad08 100644 --- a/sbin/common.sh +++ b/sbin/common.sh @@ -20,7 +20,7 @@ source ~/.bash_profile export local_host="`hostname --fqdn`" -ipaddr=$(hostname -i) +ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}') function isLocal(){ if [ "$1" == "127.0.0.1" ];then diff --git a/web/config.sh b/web/config.sh index 2aa4f1adef..b883e2d122 100755 --- a/web/config.sh +++ b/web/config.sh @@ -2,7 +2,7 @@ dss_port="8088" #URL of the backend linkis gateway -linkis_url="http://localhost:20401" +linkis_url="http://localhost:9001" #dss ip address -dss_ipaddr=$(hostname -i) +dss_ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}') From aaa9b075d496e83053523b5ce77073e3050fc1f1 Mon Sep 17 00:00:00 2001 From: JackChen0810 Date: Thu, 30 Dec 2021 10:51:22 +0800 Subject: [PATCH 06/12] fix bug #448 --- assembly/bin/appconn-install.sh | 4 ++ assembly/bin/install.sh | 32 ++++++++-------- .../BatchDeleteAppConnNodeRequest.java | 9 +++++ .../entity/request/DeleteFlowRequest.java | 11 ++++++ .../request/UpdateExternalNodeRequest.java | 2 - .../request/UpdateFlowBaseInfoRequest.java | 11 ++++++ .../dss/workflow/restful/FlowRestfulApi.java | 4 +- sbin/common.sh | 6 +-- web/install.sh | 38 ++++++++++--------- 9 files changed, 78 insertions(+), 39 deletions(-) diff --git a/assembly/bin/appconn-install.sh b/assembly/bin/appconn-install.sh index a35217b311..491feba49f 100644 --- a/assembly/bin/appconn-install.sh +++ b/assembly/bin/appconn-install.sh @@ -106,4 +106,8 @@ echo "" echo "step4:refresh appconn load" curl -H "Token-Code:BML-AUTH" -H "Token-User:hadoop" -X GET http://${GATEWAY_INSTALL_IP}:${GATEWAY_PORT}/api/rest_j/v1/dss/framework/project/appconn/${APPCONN_NAME}/load +echo "" + +echo "" +echo "step5:Restart the DSS service,please use sbin/dss-start-all.sh to restart it!" echo "" \ No newline at end of file diff --git a/assembly/bin/install.sh b/assembly/bin/install.sh index e367d3908d..117a41d681 100644 --- a/assembly/bin/install.sh +++ b/assembly/bin/install.sh @@ -54,8 +54,8 @@ function checkJava(){ checkJava -dos2unix ${workDir}/config/* -dos2unix ${workDir}/bin/* +dos2unix -q ${workDir}/config/* +dos2unix -q ${workDir}/bin/* echo "step1:load config" source ${workDir}/config/config.sh @@ -150,7 +150,7 @@ function changeConf(){ sed -i "s#spring.spring.application.name=.*#spring.spring.application.name=$SERVER_FULL_NAME#g" $CONF_SERVER_PROPERTIES fi sed -i "s#wds.dss.appconn.scheduler.project.store.dir.*#wds.dss.appconn.scheduler.project.store.dir=$WDS_SCHEDULER_PATH#g" $CONF_SERVER_PROPERTIES - isSuccess "subsitution $CONF_SERVER_PROPERTIES of $SERVER_NAME" + isSuccess "subsitution $CONF_SERVER_PROPERTIES" } ##function end @@ -204,12 +204,13 @@ fi ##Install dss projects function installDssProject() { + echo "step2:update config" # if [ "$DSS_INSTALL_HOME" != "" ] # then # rm -rf $DSS_INSTALL_HOME # fi - echo "" - echo "-----------------DSS install start--------------------" + #echo "" + #echo "-----------------DSS install start--------------------" SERVER_HOME=$DSS_INSTALL_HOME if [ "$SERVER_HOME" == "" ] then @@ -224,7 +225,7 @@ function installDssProject() { sudo mkdir -p $SERVER_HOME;sudo chown -R $deployUser:$deployUser $SERVER_HOME isSuccess "Create the dir of $SERVER_HOME" - echo "" + #echo "" SERVER_NAME=dss-framework-project-server SERVER_IP=$DSS_FRAMEWORK_PROJECT_SERVER_INSTALL_IP SERVER_PORT=$DSS_FRAMEWORK_PROJECT_SERVER_PORT @@ -237,7 +238,7 @@ function installDssProject() { CONF_APPLICATION_YML=$SERVER_HOME/conf/application-dss.yml ###install project-Server installPackage - echo "" + #echo "" SERVER_NAME=dss-framework-orchestrator-server SERVER_IP=$DSS_FRAMEWORK_ORCHESTRATOR_SERVER_INSTALL_IP @@ -250,7 +251,7 @@ function installDssProject() { CONF_APPLICATION_YML=$SERVER_HOME/conf/application-dss.yml ###install project-Server installPackage - echo "" + #echo "" SERVER_NAME=dss-apiservice-server SERVER_IP=$DSS_APISERVICE_SERVER_INSTALL_IP @@ -263,7 +264,7 @@ function installDssProject() { CONF_APPLICATION_YML=$SERVER_HOME/conf/application-dss.yml ###install dss-apiservice-server installPackage - echo "" + #echo "" SERVER_NAME=dss-datapipe-server SERVER_IP=$DSS_DATAPIPE_SERVER_INSTALL_IP @@ -276,7 +277,7 @@ function installDssProject() { CONF_APPLICATION_YML=$SERVER_HOME/conf/application-dss.yml ###install dss-datapipe-server installPackage - echo "" + #echo "" ##Flow execution Install PACKAGE_DIR=dss @@ -291,7 +292,7 @@ function installDssProject() { CONF_APPLICATION_YML=$SERVER_HOME/conf/application-dss.yml ###Install flow execution installPackage - echo "" + #echo "" SERVER_NAME=dss-workflow-server SERVER_IP=$DSS_WORKFLOW_SERVER_INSTALL_IP @@ -304,10 +305,11 @@ function installDssProject() { CONF_APPLICATION_YML=$SERVER_HOME/conf/application-dss.yml ###install dss-workflow-server installPackage - echo "" - echo "-----------------DSS install end--------------------" - echo "" + #echo "-----------------DSS install end--------------------" + #echo "" } ENV_FLAG="dev" -installDssProject \ No newline at end of file +installDssProject + +echo "Congratulations! You have installed DSS $DSS_VERSION successfully, please use sbin/dss-start-all.sh to start it!" \ No newline at end of file diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/BatchDeleteAppConnNodeRequest.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/BatchDeleteAppConnNodeRequest.java index 4de04bb84a..3a4b8bc872 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/BatchDeleteAppConnNodeRequest.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/BatchDeleteAppConnNodeRequest.java @@ -8,6 +8,7 @@ public class BatchDeleteAppConnNodeRequest { private List> nodes; + private LabelRouteVO labels; public List> getNodes() { return nodes; @@ -16,4 +17,12 @@ public List> getNodes() { public void setNodes(List> nodes) { this.nodes = nodes; } + + public LabelRouteVO getLabels() { + return labels; + } + + public void setLabels(LabelRouteVO labels) { + this.labels = labels; + } } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/DeleteFlowRequest.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/DeleteFlowRequest.java index 97f325ceb8..7aa27db94e 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/DeleteFlowRequest.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/DeleteFlowRequest.java @@ -1,9 +1,12 @@ package com.webank.wedatasphere.dss.workflow.entity.request; +import com.webank.wedatasphere.dss.common.label.LabelRouteVO; + public class DeleteFlowRequest { private Long id; private Boolean sure; + private LabelRouteVO labels; public Long getId() { return id; @@ -20,4 +23,12 @@ public Boolean getSure() { public void setSure(Boolean sure) { this.sure = sure; } + + public LabelRouteVO getLabels() { + return labels; + } + + public void setLabels(LabelRouteVO labels) { + this.labels = labels; + } } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/UpdateExternalNodeRequest.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/UpdateExternalNodeRequest.java index 57942c0080..a187d2813c 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/UpdateExternalNodeRequest.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/UpdateExternalNodeRequest.java @@ -5,8 +5,6 @@ import java.util.Map; public class UpdateExternalNodeRequest { - - private Long projectID; private String nodeType; private LabelRouteVO labels; diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/UpdateFlowBaseInfoRequest.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/UpdateFlowBaseInfoRequest.java index b00a80531f..54749a7df2 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/UpdateFlowBaseInfoRequest.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/entity/request/UpdateFlowBaseInfoRequest.java @@ -1,11 +1,14 @@ package com.webank.wedatasphere.dss.workflow.entity.request; +import com.webank.wedatasphere.dss.common.label.LabelRouteVO; + public class UpdateFlowBaseInfoRequest { private Long id; private String name; private String description ; private String uses; + private LabelRouteVO labels; public Long getId() { return id; @@ -38,4 +41,12 @@ public String getUses() { public void setUses(String uses) { this.uses = uses; } + + public LabelRouteVO getLabels() { + return labels; + } + + public void setLabels(LabelRouteVO labels) { + this.labels = labels; + } } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/FlowRestfulApi.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/FlowRestfulApi.java index 9be4268aa9..4926c2ce53 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/FlowRestfulApi.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/FlowRestfulApi.java @@ -159,7 +159,7 @@ public Message getReleaseStatus(@Context HttpServletRequest request, @RequestMapping(value = "updateFlowBaseInfo",method = RequestMethod.POST) // @ProjectPrivChecker - public Message updateFlowBaseInfo(@Context HttpServletRequest req, UpdateFlowBaseInfoRequest updateFlowBaseInfoRequest) throws DSSErrorException { + public Message updateFlowBaseInfo(@Context HttpServletRequest req,@RequestBody UpdateFlowBaseInfoRequest updateFlowBaseInfoRequest) throws DSSErrorException { Long flowID = updateFlowBaseInfoRequest.getId(); String name = updateFlowBaseInfoRequest.getName(); String description = updateFlowBaseInfoRequest.getDescription(); @@ -199,7 +199,7 @@ public Message get(@Context HttpServletRequest req, @RequestParam(required = fal @RequestMapping(value = "deleteFlow",method = RequestMethod.POST) // @ProjectPrivChecker - public Message deleteFlow(@Context HttpServletRequest req, DeleteFlowRequest deleteFlowRequest) throws DSSErrorException { + public Message deleteFlow(@Context HttpServletRequest req,@RequestBody DeleteFlowRequest deleteFlowRequest) throws DSSErrorException { Long flowID = deleteFlowRequest.getId(); boolean sure = deleteFlowRequest.getSure() != null && deleteFlowRequest.getSure().booleanValue(); // TODO: 2019/6/13 projectVersionID的更新校验 diff --git a/sbin/common.sh b/sbin/common.sh index 2fd210ad08..9de3d805d9 100644 --- a/sbin/common.sh +++ b/sbin/common.sh @@ -20,7 +20,7 @@ source ~/.bash_profile export local_host="`hostname --fqdn`" -ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}') +#ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}') function isLocal(){ if [ "$1" == "127.0.0.1" ];then @@ -31,8 +31,8 @@ function isLocal(){ return 0 elif [ "$1" == $local_host ]; then return 0 - elif [ "$1" == $ipaddr ]; then - return 0 + #elif [ "$1" == $ipaddr ]; then + # return 0 fi return 1 } diff --git a/web/install.sh b/web/install.sh index 6403d5d1b0..7b76b53fc3 100755 --- a/web/install.sh +++ b/web/install.sh @@ -41,17 +41,16 @@ fi # 区分版本 version=`cat /etc/redhat-release|sed -r 's/.* ([0-9]+)\..*/\1/'` - -echo "========================================================================配置信息=======================================================================" - -echo "前端访问端口:${dss_port}" -echo "后端Linkis的地址:${linkis_url}" -echo "静态文件地址:${dss_basepath}/dist" -echo "当前路径:${workDir}" -echo "本机ip:${dss_ipaddr}" - -echo "========================================================================配置信息=======================================================================" -echo "" +##echo "========================================================================配置信息=======================================================================" +## +##echo "前端访问端口:${dss_port}" +##echo "后端Linkis的地址:${linkis_url}" +##echo "静态文件地址:${dss_basepath}/dist" +##echo "当前路径:${workDir}" +##echo "本机ip:${dss_ipaddr}" +## +##echo "========================================================================配置信息=======================================================================" +##echo "" # 创建文件并配置nginx @@ -122,7 +121,7 @@ centos7(){ # nginx是否安装 #sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm sudo yum install -y nginx - echo "nginx 安装成功" + echo "Nginx installed successfully" # 配置nginx dssConf @@ -198,8 +197,13 @@ fi if [[ $version -eq 7 ]]; then centos7 fi -echo '安装visualis前端,用户自行编译DSS前端安装包,则安装时需要把visualis的前端安装包放置于此'$dss_basepath/dss/visualis',用于自动化安装:' -cd $dss_basepath/dss/visualis;unzip -o build.zip > /dev/null -echo '安装linkis管理台,用户自行编译DSS前端安装包,则安装时需要把linkis管理台安装包放置于此'$dss_basepath/dss/linkis',用于自动化安装:' -cd $dss_basepath/dss/linkis;unzip -o build.zip > /dev/null -echo "请浏览器访问:http://${dss_ipaddr}:${dss_port}" +#echo '安装visualis前端,用户自行编译DSS前端安装包,则安装时需要把visualis的前端安装包放置于此'$dss_basepath/dss/visualis',用于自动化安装:' +if test -e $dss_basepath/dss/visualis/build.zip ; then + cd $dss_basepath/dss/visualis;unzip -o build.zip > /dev/null +fi + +#echo '安装linkis管理台,用户自行编译DSS前端安装包,则安装时需要把linkis管理台安装包放置于此'$dss_basepath/dss/linkis',用于自动化安装:' +if test -e $dss_basepath/dss/linkis/build.zip ; then + cd $dss_basepath/dss/linkis;unzip -o build.zip > /dev/null +fi +#echo "请浏览器访问:http://${dss_ipaddr}:${dss_port}" From f51c04c83dac72cc83dc6f5e78ccbdb128abe789 Mon Sep 17 00:00:00 2001 From: JackChen0810 Date: Thu, 30 Dec 2021 20:04:35 +0800 Subject: [PATCH 07/12] fix bug --- assembly/bin/install.sh | 2 +- .../restful/ApiServiceCoreRestfulApi.java | 29 +++++++------ .../restful/ApiServiceTokenRestfulApi.java | 13 ++---- .../restful/DSSDictionaryRestful.java | 2 +- .../restful/DSSWorkspacePrivRestful.java | 1 - .../restful/DSSWorkspaceRestful.java | 7 +-- .../restful/DSSWorkspaceRoleRestful.java | 3 -- .../restful/WorkspaceRestfulApi.java | 17 +++----- .../request/OriginSSORequestOperation.scala | 43 ++++++++++--------- 9 files changed, 51 insertions(+), 66 deletions(-) diff --git a/assembly/bin/install.sh b/assembly/bin/install.sh index 117a41d681..432a208d75 100644 --- a/assembly/bin/install.sh +++ b/assembly/bin/install.sh @@ -13,7 +13,7 @@ SERVER_IP="" SERVER_HOME="" local_host="`hostname --fqdn`" -LOCAL_IP="`ifconfig | grep 'inet' | grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $2}'`" +LOCAL_IP=$(hostname -I) #To be compatible with MacOS and Linux txt="" diff --git a/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceCoreRestfulApi.java b/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceCoreRestfulApi.java index 766aa8fce5..025040ac2e 100644 --- a/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceCoreRestfulApi.java +++ b/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceCoreRestfulApi.java @@ -17,20 +17,21 @@ package com.webank.wedatasphere.dss.apiservice.core.restful; import com.webank.wedatasphere.dss.apiservice.core.bo.ApiServiceQuery; +import com.webank.wedatasphere.dss.apiservice.core.service.ApiService; +import com.webank.wedatasphere.dss.apiservice.core.service.ApiServiceQueryService; import com.webank.wedatasphere.dss.apiservice.core.util.ApiUtils; import com.webank.wedatasphere.dss.apiservice.core.util.AssertUtil; -import com.webank.wedatasphere.dss.apiservice.core.vo.*; -import com.webank.wedatasphere.dss.apiservice.core.service.ApiServiceQueryService; -import com.webank.wedatasphere.dss.apiservice.core.service.ApiService; -import org.apache.linkis.server.Message; -import org.apache.linkis.server.security.SecurityFilter; +import com.webank.wedatasphere.dss.apiservice.core.vo.ApiServiceVo; +import com.webank.wedatasphere.dss.apiservice.core.vo.ApiVersionVo; +import com.webank.wedatasphere.dss.apiservice.core.vo.ApprovalVo; +import com.webank.wedatasphere.dss.apiservice.core.vo.QueryParamVo; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang.StringUtils; -import org.codehaus.jackson.JsonNode; +import org.apache.linkis.server.Message; +import org.apache.linkis.server.security.SecurityFilter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; @@ -38,11 +39,11 @@ import javax.validation.ConstraintViolationException; import javax.validation.Validator; import javax.validation.groups.Default; -import javax.ws.rs.*; import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import java.util.*; +import java.util.Calendar; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -453,10 +454,10 @@ public Message apiDelete(@RequestParam(required = false, name = "id") Long id, } @RequestMapping(value = "/apiCommentUpdate",method = RequestMethod.POST) - public Message apiCommentUpdate(@Context HttpServletRequest req, JsonNode json) { + public Message apiCommentUpdate(@Context HttpServletRequest req, + @RequestParam(required = false, name = "id") Long id, + @RequestParam(required = false, name = "comment") String comment) { //目前暂时不实际删除数据,只做不可见和不可用。 - Long id = json.get("id").getLongValue(); - String comment=json.get("comment").getTextValue(); return ApiUtils.doAndResponse(() -> { String userName = SecurityFilter.getLoginUsername(req); if (null == id) { diff --git a/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceTokenRestfulApi.java b/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceTokenRestfulApi.java index 80279d3e18..a78f4976d0 100644 --- a/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceTokenRestfulApi.java +++ b/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceTokenRestfulApi.java @@ -17,34 +17,27 @@ package com.webank.wedatasphere.dss.apiservice.core.restful; import com.github.pagehelper.PageInfo; -import com.webank.wedatasphere.dss.apiservice.core.constant.SaveTokenEnum; -import com.webank.wedatasphere.dss.apiservice.core.token.TokenAuth; +import com.webank.wedatasphere.dss.apiservice.core.bo.TokenQuery; import com.webank.wedatasphere.dss.apiservice.core.service.TokenQueryService; +import com.webank.wedatasphere.dss.apiservice.core.token.TokenAuth; import com.webank.wedatasphere.dss.apiservice.core.util.ApiUtils; import com.webank.wedatasphere.dss.apiservice.core.util.DateUtil; -import com.webank.wedatasphere.dss.apiservice.core.vo.ApprovalVo; import com.webank.wedatasphere.dss.apiservice.core.vo.TokenManagerVo; -import com.webank.wedatasphere.dss.apiservice.core.bo.TokenQuery; +import org.apache.commons.lang.StringUtils; import org.apache.linkis.server.Message; import org.apache.linkis.server.security.SecurityFilter; -import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.*; import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; import java.util.Calendar; import java.util.Date; -import java.util.List; diff --git a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSDictionaryRestful.java b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSDictionaryRestful.java index 792f43c471..874a71b2c6 100644 --- a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSDictionaryRestful.java +++ b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSDictionaryRestful.java @@ -19,9 +19,9 @@ import com.webank.wedatasphere.dss.framework.workspace.bean.DSSDictionary; import com.webank.wedatasphere.dss.framework.workspace.bean.vo.DSSDictionaryRequestVO; import com.webank.wedatasphere.dss.framework.workspace.service.DSSDictionaryService; -import org.apache.linkis.server.Message; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; +import org.apache.linkis.server.Message; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; diff --git a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspacePrivRestful.java b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspacePrivRestful.java index 85ca32f3e8..82d8a19f76 100644 --- a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspacePrivRestful.java +++ b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspacePrivRestful.java @@ -27,7 +27,6 @@ import org.apache.commons.math3.util.Pair; import org.apache.linkis.server.Message; import org.apache.linkis.server.security.SecurityFilter; -import org.codehaus.jackson.JsonNode; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; diff --git a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspaceRestful.java b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspaceRestful.java index 9aa132b58b..bc3b2e91d8 100644 --- a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspaceRestful.java +++ b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspaceRestful.java @@ -15,6 +15,7 @@ */ package com.webank.wedatasphere.dss.framework.workspace.restful; + import com.webank.wedatasphere.dss.framework.workspace.bean.DSSWorkspace; import com.webank.wedatasphere.dss.framework.workspace.bean.request.CreateWorkspaceRequest; import com.webank.wedatasphere.dss.framework.workspace.bean.vo.DSSWorkspaceHomePageVO; @@ -27,18 +28,14 @@ import org.apache.linkis.common.exception.ErrorException; import org.apache.linkis.server.Message; import org.apache.linkis.server.security.SecurityFilter; -import org.codehaus.jackson.JsonNode; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.*; import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; import java.util.ArrayList; import java.util.List; + import static com.webank.wedatasphere.dss.framework.workspace.util.DSSWorkspaceConstant.WORKSPACE_ID_STR; @RequestMapping(path = "/dss/framework/workspace", produces = {"application/json"}) diff --git a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspaceRoleRestful.java b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspaceRoleRestful.java index b4cffe070b..99ccf6392f 100644 --- a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspaceRoleRestful.java +++ b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspaceRoleRestful.java @@ -30,7 +30,6 @@ import org.apache.commons.lang.StringUtils; import org.apache.linkis.server.Message; import org.apache.linkis.server.security.SecurityFilter; -import org.codehaus.jackson.JsonNode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -39,9 +38,7 @@ import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.QueryParam; import javax.ws.rs.core.Context; -import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; diff --git a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/WorkspaceRestfulApi.java b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/WorkspaceRestfulApi.java index a82678512d..2f6b867a51 100644 --- a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/WorkspaceRestfulApi.java +++ b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/WorkspaceRestfulApi.java @@ -26,14 +26,12 @@ import org.apache.linkis.common.exception.ErrorException; import org.apache.linkis.server.Message; import org.apache.linkis.server.security.SecurityFilter; -import org.codehaus.jackson.JsonNode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.QueryParam; import javax.ws.rs.core.Context; import java.util.HashSet; import java.util.List; @@ -73,18 +71,18 @@ public Message getUsernameExistence(@Context HttpServletRequest req, @RequestPar } @RequestMapping(path ="/workspaces", method = RequestMethod.POST) - public Message addWorkspace(@Context HttpServletRequest req, JsonNode json) throws ErrorException { + public Message addWorkspace(@Context HttpServletRequest req, + @RequestParam(required = false, name = "name")String name , + @RequestParam(required = false, name = "department") String department, + @RequestParam(required = false, name = "label") String label, + @RequestParam(required = false, name = "description") String description) throws ErrorException { String userName = SecurityFilter.getLoginUsername(req); if (!dssWorkspaceService.checkAdmin(userName)){ return Message.error("您好,您不是管理员,没有权限建立工作空间"); } - String name = json.get("name").getTextValue(); if (dssWorkspaceService.existWorkspaceName(name)) { return Message.error("工作空间名重复"); } - String department = json.get("department").getTextValue(); - String label = json.get("label").getTextValue(); - String description = json.get("description").getTextValue(); String productName = "DSS"; int workspaceId = dssWorkspaceService.createWorkspace(name, label, userName, description, department, productName); return Message.ok().data("workspaceId", workspaceId); @@ -138,13 +136,12 @@ public Message getWorkspaceFavorites(@Context HttpServletRequest req, @PathVaria * 应用加入收藏,返回收藏后id * * @param req - * @param json * @return */ @RequestMapping(path ="/workspaces/{workspaceId}/favorites", method = RequestMethod.POST) - public Message addFavorite(@Context HttpServletRequest req, @PathVariable("workspaceId") Long workspaceId, JsonNode json) { + public Message addFavorite(@Context HttpServletRequest req, @PathVariable("workspaceId") Long workspaceId, + @RequestParam(required = false, name = "menuApplicationId") Long menuApplicationId) { String username = SecurityFilter.getLoginUsername(req); - Long menuApplicationId = json.get("menuApplicationId").getLongValue(); Long favoriteId = dssWorkspaceService.addFavorite(username, workspaceId, menuApplicationId); return Message.ok().data("favoriteId", favoriteId); } diff --git a/dss-standard/sso-standard/origin-sso-integration-standard/src/main/scala/com/webank/wedatasphere/dss/standard/app/sso/origin/request/OriginSSORequestOperation.scala b/dss-standard/sso-standard/origin-sso-integration-standard/src/main/scala/com/webank/wedatasphere/dss/standard/app/sso/origin/request/OriginSSORequestOperation.scala index 7d250feccb..e364ca1bea 100644 --- a/dss-standard/sso-standard/origin-sso-integration-standard/src/main/scala/com/webank/wedatasphere/dss/standard/app/sso/origin/request/OriginSSORequestOperation.scala +++ b/dss-standard/sso-standard/origin-sso-integration-standard/src/main/scala/com/webank/wedatasphere/dss/standard/app/sso/origin/request/OriginSSORequestOperation.scala @@ -16,25 +16,23 @@ package com.webank.wedatasphere.dss.standard.app.sso.origin.request -import java.net.{URI, URL, URLDecoder} -import java.util -import java.util.Date -import java.util.concurrent.{ConcurrentHashMap, TimeUnit} - import com.webank.wedatasphere.dss.standard.app.sso.builder.SSOUrlBuilderOperation import com.webank.wedatasphere.dss.standard.app.sso.builder.impl.SSOUrlBuilderOperationImpl import com.webank.wedatasphere.dss.standard.app.sso.origin.client.HttpClient import com.webank.wedatasphere.dss.standard.app.sso.request.SSORequestOperation import com.webank.wedatasphere.dss.standard.common.exception.AppStandardErrorException +import org.apache.commons.io.IOUtils +import org.apache.http.impl.cookie.BasicClientCookie import org.apache.linkis.common.utils.{ByteTimeUtils, Logging, Utils} import org.apache.linkis.httpclient.Client import org.apache.linkis.httpclient.request.HttpAction import org.apache.linkis.httpclient.response.impl.DefaultHttpResult import org.apache.linkis.httpclient.response.{HttpResult, Result} -import org.apache.commons.io.IOUtils -import org.apache.commons.lang.StringUtils -import org.apache.http.impl.cookie.BasicClientCookie +import java.net.URI +import java.util +import java.util.Date +import java.util.concurrent.{ConcurrentHashMap, TimeUnit} import scala.collection.convert.wrapAsScala._ @@ -42,7 +40,8 @@ class OriginSSORequestOperation private[request](appName: String) extends SSOReq override def requestWithSSO(urlBuilder: SSOUrlBuilderOperation, req: HttpAction): HttpResult = { - val httpClient = HttpClient.getHttpClient(urlBuilder.getBuiltUrl, appName) + // val httpClient = HttpClient.getHttpClient(urlBuilder.getBuiltUrl, appName) + val httpClient =OriginSSORequestOperation.getHttpClient(urlBuilder, appName) urlBuilder match { case urlBuilderOperationImpl: SSOUrlBuilderOperationImpl => val cookies = urlBuilderOperationImpl.getCookies cookies.foreach { @@ -56,16 +55,16 @@ class OriginSSORequestOperation private[request](appName: String) extends SSOReq req.addCookie(basicClientCookie) } } - Utils.tryFinally({ - httpClient.execute(req) match { - case result: HttpResult => result - case result => if (Result.isSuccessResult(result)) { - val defaultHttpResult = new DefaultHttpResult - defaultHttpResult.set(null, 200, null, null) - defaultHttpResult - } else throw new AppStandardErrorException(20300, s"Not support Result => ${result.getClass.getName}.") - } - })(IOUtils.closeQuietly(httpClient)) + + httpClient.execute(req) match { + case result: HttpResult => result + case result => if (Result.isSuccessResult(result)) { + val defaultHttpResult = new DefaultHttpResult + defaultHttpResult.set(null, 200, null, null) + defaultHttpResult + } else throw new AppStandardErrorException(20300, s"Not support Result => ${result.getClass.getName}.") + } + } } @@ -94,7 +93,9 @@ object OriginSSORequestOperation extends Logging { def getHttpClient(urlBuilder: SSOUrlBuilderOperation, appName: String): Client = urlBuilder match { case builder: SSOUrlBuilderOperationImpl => builder.getCookies.find(_._1 == "bdp-user-ticket-id").foreach { case (_, ticketId) => - val key = getKey(ticketId, appName) + val baseUrl = HttpClient.getBaseUrl(builder.getBuiltUrl) + val key = getKey(ticketId, appName,baseUrl) + info("Get http client key is "+key) if (httpClientMap.containsKey(key) && System.currentTimeMillis - httpClientLastAccessMap.get(key) < MAX_ACTIVE_TIME) { httpClientLastAccessMap.put(key, System.currentTimeMillis) return httpClientMap.get(key) @@ -122,6 +123,6 @@ object OriginSSORequestOperation extends Logging { } - private def getKey(ticketId: String, appName: String): String = appName + ticketId + private def getKey(ticketId: String, appName: String,baseUrl: String ): String = appName + ticketId+baseUrl } \ No newline at end of file From fb7594d7f14037a4beeed942972596df3f41b2a0 Mon Sep 17 00:00:00 2001 From: JackChen0810 Date: Fri, 31 Dec 2021 09:58:55 +0800 Subject: [PATCH 08/12] fix bug #448 --- db/dss_dml.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/db/dss_dml.sql b/db/dss_dml.sql index 3e781a62a1..2773c5f48a 100644 --- a/db/dss_dml.sql +++ b/db/dss_dml.sql @@ -63,11 +63,11 @@ INSERT INTO `dss_onestop_menu` (`id`, `name`, `title_en`, `title_cn`, `descripti INSERT INTO `dss_onestop_menu` (`id`, `name`, `title_en`, `title_cn`, `description`, `is_active`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`) VALUES('5','管理员功能','administrator function','管理员功能','管理员功能描述','0',NULL,NULL,NULL,NULL,NULL,NULL); DELETE FROM dss_onestop_menu_application; -INSERT INTO `dss_onestop_menu_application` (`id`, `application_id`, `onestop_menu_id`, `title_en`, `title_cn`, `desc_en`, `desc_cn`, `labels_en`, `labels_cn`, `is_active`, `access_button_en`, `access_button_cn`, `manual_button_en`, `manual_button_cn`, `manual_button_url`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`, `image`) VALUES('2',NULL,'1','StreamSQL development','StreamSQL开发','Real-time application development is a streaming solution jointly built by WeDataSphere, Boss big data team and China Telecom ctcloud Big data team.','实时应用开发是微众银行微数域(WeDataSphere)、Boss直聘大数据团队 和 中国电信天翼云大数据团队 社区联合共建的流式解决方案,以 Linkis 做为内核,基于 Flink Engine 构建的批流统一的 Flink SQL,助力实时化转型。','streaming, realtime','流式,实时','0','under union construction','联合共建中','related information','相关资讯','http://127.0.0.1:8088/wiki/scriptis/manual/workspace_cn.html','shujukaifa-logo',NULL,NULL,NULL,NULL,NULL,'shujukaifa-icon'); +INSERT INTO `dss_onestop_menu_application` (`id`, `application_id`, `onestop_menu_id`, `title_en`, `title_cn`, `desc_en`, `desc_cn`, `labels_en`, `labels_cn`, `is_active`, `access_button_en`, `access_button_cn`, `manual_button_en`, `manual_button_cn`, `manual_button_url`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`, `image`) VALUES('2',NULL,'0','StreamSQL development','StreamSQL开发','Real-time application development is a streaming solution jointly built by WeDataSphere, Boss big data team and China Telecom ctcloud Big data team.','实时应用开发是微众银行微数域(WeDataSphere)、Boss直聘大数据团队 和 中国电信天翼云大数据团队 社区联合共建的流式解决方案,以 Linkis 做为内核,基于 Flink Engine 构建的批流统一的 Flink SQL,助力实时化转型。','streaming, realtime','流式,实时','0','under union construction','联合共建中','related information','相关资讯','http://127.0.0.1:8088/wiki/scriptis/manual/workspace_cn.html','shujukaifa-logo',NULL,NULL,NULL,NULL,NULL,'shujukaifa-icon'); INSERT INTO `dss_onestop_menu_application` (`id`, `application_id`, `onestop_menu_id`, `title_en`, `title_cn`, `desc_en`, `desc_cn`, `labels_en`, `labels_cn`, `is_active`, `access_button_en`, `access_button_cn`, `manual_button_en`, `manual_button_cn`, `manual_button_url`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`, `image`) VALUES('3','11','1','Data service development','数据服务开发','Data service is a unified API service jointly built by WeDataSphere and Ihome Big data Team. With Linkis and DataSphere Studio as the kernel.','数据服务是微众银行微数域(WeDataSphere)与 艾佳生活大数据团队 社区联合共建的统一API服务,以 Linkis 和 DataSphere Studio 做为内核,提供快速将 Scriptis 脚本生成数据API的能力,协助企业统一管理对内对外的API服务。','API, data service','API,数据服务','1','under union construction','进入数据服务','related information','相关资讯','http://127.0.0.1:8088/wiki/scriptis/manual/workspace_cn.html','shujufuwu-logo',NULL,NULL,NULL,NULL,NULL,'shujufuwu-icon'); INSERT INTO `dss_onestop_menu_application` (`id`, `application_id`, `onestop_menu_id`, `title_en`, `title_cn`, `desc_en`, `desc_cn`, `labels_en`, `labels_cn`, `is_active`, `access_button_en`, `access_button_cn`, `manual_button_en`, `manual_button_cn`, `manual_button_url`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`, `image`) VALUES('4','1','2','Scriptis','Scriptis','Scriptis is a one-stop interactive data exploration analysis tool built by WeDataSphere, uses Linkis as the kernel.','Scriptis是微众银行微数域(WeDataSphere)打造的一站式交互式数据探索分析工具,以任意桥(Linkis)做为内核,提供多种计算存储引擎(如Spark、Hive、TiSpark等)、Hive数据库管理功能、资源(如Yarn资源、服务器资源)管理、应用管理和各种用户资源(如UDF、变量等)管理的能力。','scripts development,IDE','脚本开发,IDE','1','enter Scriptis','进入Scriptis','user manual','用户手册','http://127.0.0.1:8088/wiki/scriptis/manual/workspace_cn.html','shujukaifa-logo',NULL,NULL,NULL,NULL,NULL,'shujukaifa-icon'); -INSERT INTO `dss_onestop_menu_application` (`id`, `application_id`, `onestop_menu_id`, `title_en`, `title_cn`, `desc_en`, `desc_cn`, `labels_en`, `labels_cn`, `is_active`, `access_button_en`, `access_button_cn`, `manual_button_en`, `manual_button_cn`, `manual_button_url`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`, `image`) VALUES('9',NULL,'4','Exchangis','Exchangis','Exchangis is a lightweight, high scalability, data exchange platform, support for structured and unstructured data transmission between heterogeneous data sources.','Exchangis是一个轻量级的、高扩展性的数据交换平台,支持对结构化及无结构化的异构数据源之间的数据传输,在应用层上具有数据权限管控、节点服务高可用和多租户资源隔离等业务特性,而在数据层上又具有传输架构多样化、模块插件化和组件低耦合等架构特点。','user manual','生产,运维','0','enter Exchangis','进入Exchangis','user manual','用户手册','http://127.0.0.1:8088/wiki/scriptis/manual/workspace_cn.html','shujujiaohuan-logo',NULL,NULL,NULL,NULL,NULL,'shujujiaohuan-icon'); +INSERT INTO `dss_onestop_menu_application` (`id`, `application_id`, `onestop_menu_id`, `title_en`, `title_cn`, `desc_en`, `desc_cn`, `labels_en`, `labels_cn`, `is_active`, `access_button_en`, `access_button_cn`, `manual_button_en`, `manual_button_cn`, `manual_button_url`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`, `image`) VALUES('9',NULL,'0','Exchangis','Exchangis','Exchangis is a lightweight, high scalability, data exchange platform, support for structured and unstructured data transmission between heterogeneous data sources.','Exchangis是一个轻量级的、高扩展性的数据交换平台,支持对结构化及无结构化的异构数据源之间的数据传输,在应用层上具有数据权限管控、节点服务高可用和多租户资源隔离等业务特性,而在数据层上又具有传输架构多样化、模块插件化和组件低耦合等架构特点。','user manual','生产,运维','0','enter Exchangis','进入Exchangis','user manual','用户手册','http://127.0.0.1:8088/wiki/scriptis/manual/workspace_cn.html','shujujiaohuan-logo',NULL,NULL,NULL,NULL,NULL,'shujujiaohuan-icon'); INSERT INTO `dss_onestop_menu_application` (`id`, `application_id`, `onestop_menu_id`, `title_en`, `title_cn`, `desc_en`, `desc_cn`, `labels_en`, `labels_cn`, `is_active`, `access_button_en`, `access_button_cn`, `manual_button_en`, `manual_button_cn`, `manual_button_url`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`, `image`) VALUES('10','7','5','Workspace management','工作空间管理',NULL,NULL,NULL,NULL,'1','workspace management','工作空间管理',NULL,NULL,NULL,'shujukaifa-logo',NULL,NULL,NULL,NULL,NULL,'shujukaifa-icon'); INSERT INTO `dss_onestop_menu_application` (`id`, `application_id`, `onestop_menu_id`, `title_en`, `title_cn`, `desc_en`, `desc_cn`, `labels_en`, `labels_cn`, `is_active`, `access_button_en`, `access_button_cn`, `manual_button_en`, `manual_button_cn`, `manual_button_url`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`, `image`) VALUES('11',NULL,'5','User resources management','用户资源管理',NULL,NULL,NULL,NULL,'1','user resource management','用户资源管理',NULL,NULL,NULL,'shujukaifa-logo',NULL,NULL,NULL,NULL,NULL,'shujukaifa-icon'); From c52f471d57d186392e2bce7675268baa26bc5454 Mon Sep 17 00:00:00 2001 From: JackChen0810 Date: Fri, 31 Dec 2021 12:03:06 +0800 Subject: [PATCH 09/12] fix bug #448 --- .../core/bo/ApiCommentUpdateRequest.java | 37 ++++++++++++++++ .../restful/ApiServiceCoreRestfulApi.java | 6 ++- .../bean/request/AddFavoriteRequest.java | 15 +++++++ .../bean/request/AddWorkspaceRequest.java | 42 +++++++++++++++++++ .../restful/WorkspaceRestfulApi.java | 19 +++++---- 5 files changed, 109 insertions(+), 10 deletions(-) create mode 100644 dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/bo/ApiCommentUpdateRequest.java create mode 100644 dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/bean/request/AddFavoriteRequest.java create mode 100644 dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/bean/request/AddWorkspaceRequest.java diff --git a/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/bo/ApiCommentUpdateRequest.java b/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/bo/ApiCommentUpdateRequest.java new file mode 100644 index 0000000000..f8d111a01e --- /dev/null +++ b/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/bo/ApiCommentUpdateRequest.java @@ -0,0 +1,37 @@ +/* + * Copyright 2019 WeBank + * Licensed 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 com.webank.wedatasphere.dss.apiservice.core.bo; + +public class ApiCommentUpdateRequest { + private Long id; + private String comment; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } +} diff --git a/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceCoreRestfulApi.java b/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceCoreRestfulApi.java index 025040ac2e..e9b470dd91 100644 --- a/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceCoreRestfulApi.java +++ b/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceCoreRestfulApi.java @@ -16,6 +16,7 @@ package com.webank.wedatasphere.dss.apiservice.core.restful; +import com.webank.wedatasphere.dss.apiservice.core.bo.ApiCommentUpdateRequest; import com.webank.wedatasphere.dss.apiservice.core.bo.ApiServiceQuery; import com.webank.wedatasphere.dss.apiservice.core.service.ApiService; import com.webank.wedatasphere.dss.apiservice.core.service.ApiServiceQueryService; @@ -455,8 +456,9 @@ public Message apiDelete(@RequestParam(required = false, name = "id") Long id, @RequestMapping(value = "/apiCommentUpdate",method = RequestMethod.POST) public Message apiCommentUpdate(@Context HttpServletRequest req, - @RequestParam(required = false, name = "id") Long id, - @RequestParam(required = false, name = "comment") String comment) { + @RequestBody ApiCommentUpdateRequest apiCommentUpdateRequest) { + Long id = apiCommentUpdateRequest.getId(); + String comment = apiCommentUpdateRequest.getComment(); //目前暂时不实际删除数据,只做不可见和不可用。 return ApiUtils.doAndResponse(() -> { String userName = SecurityFilter.getLoginUsername(req); diff --git a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/bean/request/AddFavoriteRequest.java b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/bean/request/AddFavoriteRequest.java new file mode 100644 index 0000000000..8d4ec7dbcd --- /dev/null +++ b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/bean/request/AddFavoriteRequest.java @@ -0,0 +1,15 @@ +package com.webank.wedatasphere.dss.framework.workspace.bean.request; + +import java.io.Serializable; + +public class AddFavoriteRequest implements Serializable { + private Long menuApplicationId; + + public Long getMenuApplicationId() { + return menuApplicationId; + } + + public void setMenuApplicationId(Long menuApplicationId) { + this.menuApplicationId = menuApplicationId; + } +} diff --git a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/bean/request/AddWorkspaceRequest.java b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/bean/request/AddWorkspaceRequest.java new file mode 100644 index 0000000000..fcf425ed61 --- /dev/null +++ b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/bean/request/AddWorkspaceRequest.java @@ -0,0 +1,42 @@ +package com.webank.wedatasphere.dss.framework.workspace.bean.request; + +import java.io.Serializable; + +public class AddWorkspaceRequest implements Serializable { + private String name; + private String department; + private String label; + private String description; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDepartment() { + return department; + } + + public void setDepartment(String department) { + this.department = department; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } +} diff --git a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/WorkspaceRestfulApi.java b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/WorkspaceRestfulApi.java index 2f6b867a51..3641e9bec6 100644 --- a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/WorkspaceRestfulApi.java +++ b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/WorkspaceRestfulApi.java @@ -21,6 +21,8 @@ import com.webank.wedatasphere.dss.framework.workspace.bean.dto.response.HomepageVideoVo; import com.webank.wedatasphere.dss.framework.workspace.bean.dto.response.OnestopMenuVo; import com.webank.wedatasphere.dss.framework.workspace.bean.dto.response.WorkspaceFavoriteVo; +import com.webank.wedatasphere.dss.framework.workspace.bean.request.AddFavoriteRequest; +import com.webank.wedatasphere.dss.framework.workspace.bean.request.AddWorkspaceRequest; import com.webank.wedatasphere.dss.framework.workspace.bean.vo.DepartmentVO; import com.webank.wedatasphere.dss.framework.workspace.service.DSSWorkspaceService; import org.apache.linkis.common.exception.ErrorException; @@ -70,14 +72,15 @@ public Message getUsernameExistence(@Context HttpServletRequest req, @RequestPar return Message.ok().data("workspaceNameExists", exists); } - @RequestMapping(path ="/workspaces", method = RequestMethod.POST) + @RequestMapping(path = "/workspaces", method = RequestMethod.POST) public Message addWorkspace(@Context HttpServletRequest req, - @RequestParam(required = false, name = "name")String name , - @RequestParam(required = false, name = "department") String department, - @RequestParam(required = false, name = "label") String label, - @RequestParam(required = false, name = "description") String description) throws ErrorException { + @RequestBody AddWorkspaceRequest addWorkspaceRequest) throws ErrorException { + String name = addWorkspaceRequest.getName(); + String department = addWorkspaceRequest.getDepartment(); + String label = addWorkspaceRequest.getLabel(); + String description = addWorkspaceRequest.getDescription(); String userName = SecurityFilter.getLoginUsername(req); - if (!dssWorkspaceService.checkAdmin(userName)){ + if (!dssWorkspaceService.checkAdmin(userName)) { return Message.error("您好,您不是管理员,没有权限建立工作空间"); } if (dssWorkspaceService.existWorkspaceName(name)) { @@ -140,9 +143,9 @@ public Message getWorkspaceFavorites(@Context HttpServletRequest req, @PathVaria */ @RequestMapping(path ="/workspaces/{workspaceId}/favorites", method = RequestMethod.POST) public Message addFavorite(@Context HttpServletRequest req, @PathVariable("workspaceId") Long workspaceId, - @RequestParam(required = false, name = "menuApplicationId") Long menuApplicationId) { + @RequestBody AddFavoriteRequest addFavoriteRequest) { String username = SecurityFilter.getLoginUsername(req); - Long favoriteId = dssWorkspaceService.addFavorite(username, workspaceId, menuApplicationId); + Long favoriteId = dssWorkspaceService.addFavorite(username, workspaceId, addFavoriteRequest.getMenuApplicationId()); return Message.ok().data("favoriteId", favoriteId); } From 5e4b5cd828e447dab552a74e1987c5544ea6bfa7 Mon Sep 17 00:00:00 2001 From: JackChen0810 Date: Fri, 31 Dec 2021 15:46:54 +0800 Subject: [PATCH 10/12] fix bug #448 --- db/dss_dml.sql | 2 +- .../dss/workflow/DefaultWorkFlowManager.java | 3 -- .../restful/ContextServiceRestful.java | 2 -- .../dss/workflow/restful/FlowRestfulApi.java | 5 --- .../dss/workflow/restful/NodeRestfulApi.java | 33 +++++-------------- .../service/impl/DSSFlowServiceImpl.java | 16 --------- .../service/impl/PublishServiceImpl.java | 1 - .../service/impl/WorkflowNodeServiceImpl.java | 2 -- 8 files changed, 9 insertions(+), 55 deletions(-) diff --git a/db/dss_dml.sql b/db/dss_dml.sql index 2773c5f48a..71beac6592 100644 --- a/db/dss_dml.sql +++ b/db/dss_dml.sql @@ -59,7 +59,7 @@ DELETE FROM dss_onestop_menu; INSERT INTO `dss_onestop_menu` (`id`, `name`, `title_en`, `title_cn`, `description`, `is_active`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`) VALUES('1','应用开发','application development','应用开发','应用开发描述','1',NULL,NULL,NULL,NULL,NULL,NULL); INSERT INTO `dss_onestop_menu` (`id`, `name`, `title_en`, `title_cn`, `description`, `is_active`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`) VALUES('2','数据分析','data analysis','数据分析','数据分析描述','1',NULL,NULL,NULL,NULL,NULL,NULL); INSERT INTO `dss_onestop_menu` (`id`, `name`, `title_en`, `title_cn`, `description`, `is_active`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`) VALUES('3','生产运维','production operation','生产运维','生产运维描述','1',NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO `dss_onestop_menu` (`id`, `name`, `title_en`, `title_cn`, `description`, `is_active`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`) VALUES('4','数据质量','data quality','数据质量','数据质量描述','1',NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO `dss_onestop_menu` (`id`, `name`, `title_en`, `title_cn`, `description`, `is_active`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`) VALUES('4','数据质量','data quality','数据质量','数据质量描述','0',NULL,NULL,NULL,NULL,NULL,NULL); INSERT INTO `dss_onestop_menu` (`id`, `name`, `title_en`, `title_cn`, `description`, `is_active`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`) VALUES('5','管理员功能','administrator function','管理员功能','管理员功能描述','0',NULL,NULL,NULL,NULL,NULL,NULL); DELETE FROM dss_onestop_menu_application; diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/DefaultWorkFlowManager.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/DefaultWorkFlowManager.java index cc682ea1bc..5c0eeeddb8 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/DefaultWorkFlowManager.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/DefaultWorkFlowManager.java @@ -128,9 +128,7 @@ public DSSFlow createWorkflow(String userName, @Override public DSSFlow copyRootflowWithSubflows(String userName, long rootFlowId, String workspaceName, String projectName, String contextIdStr, String version, String description) throws DSSErrorException, IOException { - return flowService.copyRootFlow(rootFlowId, userName, workspaceName, projectName, version,contextIdStr); - } @Override @@ -176,7 +174,6 @@ public List importWorkflow(String userName, String resourceId, String bmlVersion, DSSFlowImportParam dssFlowImportParam) throws DSSErrorException, IOException { - //todo download workflow bml file contains flowInfo and flowRelationInfo String inputZipPath = IoUtils.generateIOPath(userName, dssFlowImportParam.getProjectName(), dssFlowImportParam.getProjectName() + ".zip"); bmlService.downloadToLocalPath(userName, resourceId, bmlVersion, inputZipPath); diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/ContextServiceRestful.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/ContextServiceRestful.java index 2990917c9f..fb54d30427 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/ContextServiceRestful.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/ContextServiceRestful.java @@ -30,7 +30,6 @@ import javax.servlet.http.HttpServletRequest; import javax.ws.rs.core.Context; -import javax.ws.rs.core.Response; @RequestMapping(path = "/dss/workflow", produces = {"application/json"}) @RestController @@ -47,7 +46,6 @@ public Message tables(@Context HttpServletRequest req, @RequestBody TablesReques return Message.ok().data("tables", csTableService.queryTables("default", contextIDStr, nodeName)); } - @RequestMapping(value = "columns",method = RequestMethod.POST) public Message queryTableMeta(@Context HttpServletRequest req,@RequestBody QueryTableMetaRequest queryTableMetaRequest) throws DSSErrorException { String userName = SecurityFilter.getLoginUsername(req); diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/FlowRestfulApi.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/FlowRestfulApi.java index 4926c2ce53..8d6cbad52c 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/FlowRestfulApi.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/FlowRestfulApi.java @@ -75,12 +75,10 @@ public Message addFlow(@Context HttpServletRequest req, @RequestBody AddFlowRequ List dssLabelList = new ArrayList<>(); String contextId = contextService.createContextID(workspaceName, projectName, name, version, userName); DSSFlow dssFlow = workFlowManager.createWorkflow(userName,name,contextId,description,parentFlowID,uses,null,dssLabelList); - // TODO: 2019/5/16 空值校验,重复名校验 return Message.ok().data("flow", dssFlow); } - @RequestMapping(value = "publishWorkflow",method = RequestMethod.POST) public Message publishWorkflow(@Context HttpServletRequest request, @RequestBody PublishWorkflowRequest publishWorkflowRequest) { Long workflowId = publishWorkflowRequest.getWorkflowId(); @@ -110,7 +108,6 @@ public Message publishWorkflow(@Context HttpServletRequest request, @RequestBody return message; } - /** * 获取发布任务状态 * @param request @@ -148,7 +145,6 @@ public Message getReleaseStatus(@Context HttpServletRequest request, return message; } - /** * 更新工作流的基本信息,不包括更新Json,BML版本等 * @param req @@ -156,7 +152,6 @@ public Message getReleaseStatus(@Context HttpServletRequest request, * @return * @throws DSSErrorException */ - @RequestMapping(value = "updateFlowBaseInfo",method = RequestMethod.POST) // @ProjectPrivChecker public Message updateFlowBaseInfo(@Context HttpServletRequest req,@RequestBody UpdateFlowBaseInfoRequest updateFlowBaseInfoRequest) throws DSSErrorException { diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/NodeRestfulApi.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/NodeRestfulApi.java index 244ac1e365..0169099bdd 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/NodeRestfulApi.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/restful/NodeRestfulApi.java @@ -15,8 +15,6 @@ */ package com.webank.wedatasphere.dss.workflow.restful; - - import com.webank.wedatasphere.dss.appconn.core.AppConn; import com.webank.wedatasphere.dss.appconn.core.ext.OnlySSOAppConn; import com.webank.wedatasphere.dss.appconn.manager.AppConnManager; @@ -30,12 +28,7 @@ import com.webank.wedatasphere.dss.standard.sso.utils.SSOHelper; import com.webank.wedatasphere.dss.workflow.common.entity.DSSFlow; import com.webank.wedatasphere.dss.workflow.cs.DSSCSHelper; -import com.webank.wedatasphere.dss.workflow.entity.CommonAppConnNode; -import com.webank.wedatasphere.dss.workflow.entity.ContentLanguage; -import com.webank.wedatasphere.dss.workflow.entity.NodeGroup; -import com.webank.wedatasphere.dss.workflow.entity.NodeInfo; -import com.webank.wedatasphere.dss.workflow.entity.NodeUi; -import com.webank.wedatasphere.dss.workflow.entity.NodeUiValidate; +import com.webank.wedatasphere.dss.workflow.entity.*; import com.webank.wedatasphere.dss.workflow.entity.request.AppConnNodeUrlRequest; import com.webank.wedatasphere.dss.workflow.entity.request.BatchDeleteAppConnNodeRequest; import com.webank.wedatasphere.dss.workflow.entity.request.CreateExternalNodeRequest; @@ -53,29 +46,22 @@ import org.apache.linkis.cs.common.utils.CSCommonUtils; import org.apache.linkis.server.Message; import org.apache.linkis.server.security.SecurityFilter; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; +import javax.ws.rs.core.Context; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + @RestController @RequestMapping(path = "/dss/workflow", produces = {"application/json"}) public class NodeRestfulApi { @@ -185,7 +171,6 @@ public Message createExternalNode(@Context HttpServletRequest req, @RequestBody node.setProjectId(projectID); node.setNodeType(nodeType); node.setFlowId(flowID); - node.setProjectId(projectID); //update by peaceWong add nodeID to appConnNode String nodeID = createExternalNodeRequest.getNodeID(); if (null != nodeID) { @@ -293,7 +278,5 @@ public Message getAppConnNodeUrl(@Context HttpServletRequest req, @RequestBody A String jumpUrl = workflowNodeService.getNodeJumpUrl(params, node); return Message.ok().data("jumpUrl", jumpUrl); } - - } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java index 9043680eae..7d2f97e290 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java @@ -51,24 +51,13 @@ public class DSSFlowServiceImpl implements DSSFlowService { @Autowired private FlowMapper flowMapper; - - @Autowired private NodeInputService nodeInputService; - -// @Autowired -// private EventRelationMapper eventRelationMapper; - @Autowired private WorkFlowParser workFlowParser; - @Autowired private BMLService bmlService; - -// @Autowired(required = false) -// private LockMapper lockMapper; - private static ContextService contextService = ContextServiceImpl.getInstance(); @Override @@ -78,18 +67,14 @@ public DSSFlow getFlowByID(Long id) { @Override public DSSFlow getFlowWithJsonAndSubFlowsByID(Long rootFlowId) { - return genDSSFlowTree(rootFlowId); } - private DSSFlow genDSSFlowTree(Long parentFlowId) { DSSFlow cyFlow = flowMapper.selectFlowByID(parentFlowId); - String userName = cyFlow.getCreator(); Map query = bmlService.query(userName, cyFlow.getResourceId(), cyFlow.getBmlVersion()); cyFlow.setFlowJson(query.get("string").toString()); - List subFlowIDs = flowMapper.selectSubFlowIDByParentFlowID(parentFlowId); for (Long subFlowID : subFlowIDs) { if (cyFlow.getChildren() == null) { @@ -102,7 +87,6 @@ private DSSFlow genDSSFlowTree(Long parentFlowId) { return cyFlow; } - @Lock @Transactional(rollbackFor = DSSErrorException.class) @Override diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java index 12bb3e8945..9a6d56fc17 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java @@ -72,7 +72,6 @@ public ResponseConvertOrchestrator getStatus(String username, String taskId) { LOGGER.debug("{} is asking status of {}.", username, taskId); } ResponseConvertOrchestrator response =new ResponseConvertOrchestrator(); - //通过rpc的方式去获取到最新status try { RequestFrameworkConvertOrchestrationStatus req = new RequestFrameworkConvertOrchestrationStatus(taskId); diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/WorkflowNodeServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/WorkflowNodeServiceImpl.java index f025e4eba2..ccb22cd36f 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/WorkflowNodeServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/WorkflowNodeServiceImpl.java @@ -72,7 +72,6 @@ public List listNodeGroups() { return nodeInfoMapper.listNodeGroups(); } - @Override public Map createNode(String userName, AbstractAppConnNode node) throws ExternalOperationFailedException { NodeInfo nodeInfo = nodeInfoMapper.getWorkflowNodeByType(node.getNodeType()); @@ -106,7 +105,6 @@ public Map createNode(String userName, AbstractAppConnNode node) ref.setOrcName(node.getFlowName()); // parse to external ProjectId - ref.setProjectId(parseProjectId(node.getProjectId(), appConn.getAppDesc().getAppName(), label)); ref.setProjectName(node.getProjectName()); ref.setNodeType(node.getNodeType()); From 5cab047d4b4b870e879bc83720b2d0a68e41f806 Mon Sep 17 00:00:00 2001 From: JackChen0810 Date: Fri, 31 Dec 2021 17:42:20 +0800 Subject: [PATCH 11/12] fix bug #448 --- db/dss_dml.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/dss_dml.sql b/db/dss_dml.sql index 71beac6592..2773c5f48a 100644 --- a/db/dss_dml.sql +++ b/db/dss_dml.sql @@ -59,7 +59,7 @@ DELETE FROM dss_onestop_menu; INSERT INTO `dss_onestop_menu` (`id`, `name`, `title_en`, `title_cn`, `description`, `is_active`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`) VALUES('1','应用开发','application development','应用开发','应用开发描述','1',NULL,NULL,NULL,NULL,NULL,NULL); INSERT INTO `dss_onestop_menu` (`id`, `name`, `title_en`, `title_cn`, `description`, `is_active`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`) VALUES('2','数据分析','data analysis','数据分析','数据分析描述','1',NULL,NULL,NULL,NULL,NULL,NULL); INSERT INTO `dss_onestop_menu` (`id`, `name`, `title_en`, `title_cn`, `description`, `is_active`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`) VALUES('3','生产运维','production operation','生产运维','生产运维描述','1',NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO `dss_onestop_menu` (`id`, `name`, `title_en`, `title_cn`, `description`, `is_active`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`) VALUES('4','数据质量','data quality','数据质量','数据质量描述','0',NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO `dss_onestop_menu` (`id`, `name`, `title_en`, `title_cn`, `description`, `is_active`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`) VALUES('4','数据质量','data quality','数据质量','数据质量描述','1',NULL,NULL,NULL,NULL,NULL,NULL); INSERT INTO `dss_onestop_menu` (`id`, `name`, `title_en`, `title_cn`, `description`, `is_active`, `icon`, `order`, `create_by`, `create_time`, `last_update_time`, `last_update_user`) VALUES('5','管理员功能','administrator function','管理员功能','管理员功能描述','0',NULL,NULL,NULL,NULL,NULL,NULL); DELETE FROM dss_onestop_menu_application; From 2d4809a5e99db98ddb0d00c2e0f96a8881dc99e4 Mon Sep 17 00:00:00 2001 From: JackChen0810 Date: Fri, 31 Dec 2021 21:21:07 +0800 Subject: [PATCH 12/12] fix bug #448 --- assembly/bin/install.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/assembly/bin/install.sh b/assembly/bin/install.sh index 432a208d75..1294f72e25 100644 --- a/assembly/bin/install.sh +++ b/assembly/bin/install.sh @@ -14,6 +14,7 @@ SERVER_HOME="" local_host="`hostname --fqdn`" LOCAL_IP=$(hostname -I) +LOCAL_IP=${LOCAL_IP// /} #To be compatible with MacOS and Linux txt="" @@ -113,11 +114,11 @@ function replaceCommonIp() { fi if [[ $GATEWAY_INSTALL_IP == "127.0.0.1" ]] || [ -z "$GATEWAY_INSTALL_IP" ]; then - echo "GATEWAY_INSTALL_IP is equals $GATEWAY_INSTALL_IP ,we will change it to ip address" + #echo "GATEWAY_INSTALL_IP is equals $GATEWAY_INSTALL_IP ,we will change it to ip address" GATEWAY_INSTALL_IP=$LOCAL_IP fi if [[ $EUREKA_INSTALL_IP == "127.0.0.1" ]] || [ -z "$EUREKA_INSTALL_IP" ]; then - echo "EUREKA_INSTALL_IP is equals $EUREKA_INSTALL_IP ,we will change it to ip address" + #echo "EUREKA_INSTALL_IP is equals $EUREKA_INSTALL_IP ,we will change it to ip address" EUREKA_INSTALL_IP=$LOCAL_IP fi }