From 36f06ccf0b7ff29e4e4cde0a1705344668795f6f Mon Sep 17 00:00:00 2001 From: v_yangyangwang Date: Sat, 9 Apr 2022 19:10:55 +0800 Subject: [PATCH] submit dss appconns del project and update project --- .../ExchangisProjectDeletionOperation.java | 18 ++-- .../ExchangisProjectUpdateOperation.java | 8 +- .../service/ExchangisProjectService.java | 3 +- .../project/server/mapper/ProjectMapper.java | 8 ++ .../server/mapper/impl/ProjectMapper.xml | 10 +++ .../ExchangisProjectDssAppConnRestfulApi.java | 82 ++++++++++++++++++- .../server/service/ProjectService.java | 9 ++ .../service/impl/ProjectServiceImpl.java | 18 +++- .../components/datasourceForm/index.vue | 2 +- 9 files changed, 138 insertions(+), 20 deletions(-) diff --git a/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectDeletionOperation.java b/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectDeletionOperation.java index 4a4cd2bb3..08643297d 100644 --- a/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectDeletionOperation.java +++ b/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectDeletionOperation.java @@ -9,12 +9,14 @@ import com.webank.wedatasphere.exchangis.dss.appconn.constraints.Constraints; import com.webank.wedatasphere.exchangis.dss.appconn.request.action.ExchangisDeleteAction; import com.webank.wedatasphere.exchangis.dss.appconn.ref.ExchangisProjectResponseRef; +import com.webank.wedatasphere.exchangis.dss.appconn.request.action.ExchangisEntityPostAction; import com.webank.wedatasphere.exchangis.dss.appconn.response.result.ExchangisEntityRespResult; import org.apache.linkis.httpclient.request.HttpAction; import org.apache.linkis.httpclient.response.HttpResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.HashMap; import java.util.Map; import java.util.Objects; @@ -39,15 +41,17 @@ protected Logger getLogger() { @Override public ProjectResponseRef deleteProject(ProjectRequestRef projectRequestRef) throws ExternalOperationFailedException { - // TODO Get the project id - long projectId = 0l; - String url = requestURL("/project/" + projectId); LOG.info("delete project request => dss_projectId:{}, name:{}, createName:{}", projectRequestRef.getId(), projectRequestRef.getName(), projectRequestRef.getCreateBy()); - ExchangisEntityRespResult.BasicMessageEntity> entity = requestToGetEntity(url, projectRequestRef.getWorkspace(), projectRequestRef, - (requestRef) -> { - // Build project delete action - return new ExchangisDeleteAction(requestRef.getCreateBy()); + String url = requestURL("appProject/" + projectRequestRef.getName()+"/"); + ExchangisEntityRespResult.BasicMessageEntity> entity = requestToGetEntity(url,projectRequestRef.getWorkspace(), projectRequestRef, + (requestRef) ->{ + ExchangisEntityPostAction exchangisEntityPostAction = new ExchangisEntityPostAction(); + exchangisEntityPostAction.setUser(requestRef.getCreateBy()); + HashMap labels = new HashMap<>(); + labels.put("route", "dev"); + exchangisEntityPostAction.addRequestPayload("labels", labels); + return exchangisEntityPostAction; }, Map.class); if (Objects.isNull(entity)){ throw new ExternalOperationFailedException(31020, "The response entity cannot be empty", null); diff --git a/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectUpdateOperation.java b/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectUpdateOperation.java index 7a504431f..eac1d3c92 100644 --- a/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectUpdateOperation.java +++ b/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectUpdateOperation.java @@ -27,17 +27,15 @@ public class ExchangisProjectUpdateOperation extends AbstractExchangisProjectOpe private StructureService structureService; public ExchangisProjectUpdateOperation(StructureService structureService) { + super(new String[]{"appProject"}); setStructureService(structureService); } @Override public ProjectResponseRef updateProject(ProjectRequestRef projectRequestRef) throws ExternalOperationFailedException { - // TODO Get the project id - long projectId = 0l; - String url = requestURL("/project/" + projectId); LOG.info("update project request => dss_projectId:{}, name:{}, createName:{}", projectRequestRef.getId(), projectRequestRef.getName(),projectRequestRef.getCreateBy()); - ExchangisEntityRespResult.BasicMessageEntity> entity = requestToGetEntity(url, projectRequestRef.getWorkspace(), projectRequestRef, + ExchangisEntityRespResult.BasicMessageEntity> entity = requestToGetEntity(projectRequestRef.getWorkspace(), projectRequestRef, (requestRef) -> { // Build project put(update) action return new ExchangisEntityPutAction<>(getProjectEntity(requestRef), requestRef.getCreateBy()); @@ -47,7 +45,7 @@ public ProjectResponseRef updateProject(ProjectRequestRef projectRequestRef) thr } ExchangisEntityRespResult httpResult = entity.getResult(); LOG.info("update project response => status {}, response {}", httpResult.getStatusCode(), httpResult.getResponseBody()); - AtomicLong newProjectId = new AtomicLong(projectId); + AtomicLong newProjectId = new AtomicLong(projectRequestRef.getId()); try { Optional.ofNullable(entity.getData()).ifPresent( data -> newProjectId .set(Long.parseLong(String.valueOf(data.getOrDefault(Constraints.PROJECT_ID, newProjectId.get()))))); diff --git a/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/service/ExchangisProjectService.java b/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/service/ExchangisProjectService.java index 34965d1ea..080220ff0 100644 --- a/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/service/ExchangisProjectService.java +++ b/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/service/ExchangisProjectService.java @@ -2,6 +2,7 @@ import com.webank.wedatasphere.dss.standard.app.structure.project.*; import com.webank.wedatasphere.exchangis.dss.appconn.operation.project.ExchangisProjectCreationOperation; +import com.webank.wedatasphere.exchangis.dss.appconn.operation.project.ExchangisProjectDeletionOperation; import com.webank.wedatasphere.exchangis.dss.appconn.operation.project.ExchangisProjectUpdateOperation; /** @@ -31,7 +32,7 @@ protected ProjectUpdateOperation createProjectUpdateOperation() { @Override protected ProjectDeletionOperation createProjectDeletionOperation() { - return null; + return new ExchangisProjectDeletionOperation(this); } @Override diff --git a/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/mapper/ProjectMapper.java b/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/mapper/ProjectMapper.java index 129eb880e..7eeb19428 100644 --- a/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/mapper/ProjectMapper.java +++ b/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/mapper/ProjectMapper.java @@ -58,10 +58,18 @@ public interface ProjectMapper { */ void deleteOne(Long projectId); + /** + * Delete project by name + * @param name + */ + void deleteByName(String name); + /** * get projects by name * @param projectName * @return List */ List getDetailByName(@Param("projectName") String projectName); + + ExchangisProject selectByName(String name); } diff --git a/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/mapper/impl/ProjectMapper.xml b/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/mapper/impl/ProjectMapper.xml index fbd61e1ca..9871e1094 100644 --- a/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/mapper/impl/ProjectMapper.xml +++ b/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/mapper/impl/ProjectMapper.xml @@ -113,6 +113,16 @@ + + DELETE FROM exchangis_project_info WHERE name = #{name} + + + + + +