/**
 * <p>Title: liteflow</p>
 * <p>Description: 轻量级的组件式流程框架</p>
 * @author Bryan.Zhang
 * @email weenyc31@163.com
 * @Date 2020/4/1
 */
package com.yomahub.liteflow.test.exception.cmp;

import cn.hutool.core.util.StrUtil;
import com.yomahub.liteflow.annotation.LiteflowMethod;
import com.yomahub.liteflow.core.NodeComponent;
import com.yomahub.liteflow.enums.LiteFlowMethodEnum;
import com.yomahub.liteflow.test.exception.CustomStatefulException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

@Component("f")
public class FCmp {
	
	private static final Logger LOG = LoggerFactory.getLogger(FCmp.class);
	
	@LiteflowMethod(LiteFlowMethodEnum.PROCESS)
	public void process(NodeComponent bindCmp) {
		String str = bindCmp.getRequestData();
		if(StrUtil.isNotBlank(str) && str.equals("custom-stateful-exception")) {
			throw new CustomStatefulException("300", "chain execute custom stateful execption");
		}
		LOG.info("Fcomp executed!");
	}

}
