فهرست منبع

feat: pipeline构建异常抛出

370774330@qq.com 5 سال پیش
والد
کامیت
4001a0933f

+ 2 - 0
core/src/main/java/seecoder/devcloud/core/pipeline/Context.java

@@ -1,5 +1,6 @@
 package seecoder.devcloud.core.pipeline;
 
+import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -16,6 +17,7 @@ import java.util.Map;
 @Data
 @Builder
 @NoArgsConstructor
+@AllArgsConstructor
 public class Context {
 
     private ApplicationProperties applicationProperties;

+ 2 - 2
core/src/main/java/seecoder/devcloud/core/pipeline/Handler.java

@@ -9,11 +9,11 @@ import seecoder.devcloud.core.pipeline.handler.AbstractHandler;
  */
 public interface Handler {
 
-    void invoke(Context context);
+    void invoke(Context context) throws PipelineException;
 
     void process(Context context) throws PipelineException;
 
-    void invokeNext(Context context);
+    void invokeNext(Context context) throws PipelineException;
 
     void setNextHandler(Handler nextHandler);
 }

+ 1 - 1
core/src/main/java/seecoder/devcloud/core/pipeline/Pipeline.java

@@ -7,7 +7,7 @@ package seecoder.devcloud.core.pipeline;
  */
 public interface Pipeline {
 
-    void start();
+    void start() throws PipelineException;
 
     Context getContext();
 

+ 2 - 2
core/src/main/java/seecoder/devcloud/core/pipeline/PipelineFactory.java

@@ -23,7 +23,7 @@ public class PipelineFactory {
      * @param pipelineName 流水线名称,需要用户自己指定
      * @return
      */
-    public static Pipeline init(String configJson, String namespace, String projectName, Integer pipelineId, String pipelineName) {
+    public static Pipeline init(String configJson, String namespace, String projectName, Integer pipelineId, String pipelineName) throws PipelineException {
 
         PipelineConfig pipelineConfig = PipelineConfig.init(configJson);
 
@@ -47,7 +47,7 @@ public class PipelineFactory {
      *                (所以这一步要避免配置的覆盖,即不要用相同名字的key)
      * @return
      */
-    private static Handler initHandlerChainAndContext(PipelineConfig pipelineConfig, Map<String,String> configs){
+    private static Handler initHandlerChainAndContext(PipelineConfig pipelineConfig, Map<String,String> configs) throws PipelineException {
         Handler firstHandler = null;
         Handler currentHandler = null;
 

+ 3 - 2
core/src/main/java/seecoder/devcloud/core/pipeline/handler/AbstractHandler.java

@@ -3,6 +3,7 @@ package seecoder.devcloud.core.pipeline.handler;
 import lombok.Data;
 import seecoder.devcloud.core.pipeline.Context;
 import seecoder.devcloud.core.pipeline.Handler;
+import seecoder.devcloud.core.pipeline.PipelineException;
 
 /**
  * @author PuHong Weng
@@ -16,13 +17,13 @@ public abstract class AbstractHandler implements Handler {
     public Handler nextHandler;
 
     @Override
-    public void invoke(Context context) {
+    public void invoke(Context context) throws PipelineException {
         process(context);
         invokeNext(context);
     }
 
     @Override
-    public void invokeNext(Context context) {
+    public void invokeNext(Context context) throws PipelineException {
         if (nextHandler != null){
             nextHandler.invoke(context);
         }

+ 2 - 1
core/src/main/java/seecoder/devcloud/core/pipeline/pipeline/PipelineImpl.java

@@ -3,6 +3,7 @@ package seecoder.devcloud.core.pipeline.pipeline;
 import seecoder.devcloud.core.pipeline.Context;
 import seecoder.devcloud.core.pipeline.Handler;
 import seecoder.devcloud.core.pipeline.Pipeline;
+import seecoder.devcloud.core.pipeline.PipelineException;
 
 /**
  * @author PuHong Weng
@@ -24,7 +25,7 @@ public class PipelineImpl implements Pipeline {
 
 
     @Override
-    public void start() {
+    public void start() throws PipelineException {
         //todo 流水线开始事件监听
         firstHandler.invoke(context);
         //todo 流水线开始事件监听

+ 21 - 0
web/src/main/java/seecoder/devcloud/web/infrastructure/ValidationExceptionHandler.java

@@ -0,0 +1,21 @@
+package seecoder.devcloud.web.infrastructure;
+
+import org.springframework.validation.BindException;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseBody;
+import seecoder.devcloud.web.model.vo.Response;
+
+import javax.validation.ConstraintViolationException;
+
+/**
+ * @author PuHong Weng
+ * @date 2021/3/18
+ * @description:
+ */
+@ControllerAdvice
+public class ValidationExceptionHandler {
+
+
+
+}