提交 0888cee5 编写于 作者: W wangliang

uml 插件

上级 99533e84
......@@ -80,6 +80,12 @@
<dependencies>
<dependency>
<groupId>com.codingapi.maven</groupId>
<artifactId>maven-uml-annotation</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
......
......@@ -62,9 +62,11 @@
</executions>
<configuration>
<!-- 扫码的包路径 -->
<scannerPackage>com.codingapi</scannerPackage>
<scannerPackage>com.codingapi.txlcn.tc</scannerPackage>
<!-- markdown导出路径(相对路径) -->
<outputPath>txlcn-uml.puml</outputPath>
<outputPath>txlcn-6.0-tc.puml</outputPath>
<!-- 全部过滤的公共方法 -->
<filterMethod>equals,canEqual,hashCode,toString</filterMethod>
</configuration>
<!-- 插件执行时依赖的pom -->
<dependencies>
......
package com.codingapi.txlcn.tc;
import com.codingapi.maven.uml.annotation.Model;
/**
* @author lorne
* @date 2020/3/5
* @description
*/
@Model(flag = "C",value = "事务全局变量",color = "#FF88EE")
public class TransactionContent {
public static final String LCN = "lcn";
......
package com.codingapi.txlcn.tc.annotation;
import com.codingapi.maven.uml.annotation.Model;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
......@@ -11,6 +13,7 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
@Model(flag = "C",value = "LCN注解",color = "#FF88EE")
public @interface LcnTransaction {
......
/**
* @author lorne
* @date 2020/6/30
* @description
*/
@BoundContext(value = "annotation")
package com.codingapi.txlcn.tc.annotation;
import com.codingapi.maven.uml.annotation.BoundContext;
package com.codingapi.txlcn.tc.aspect;
import com.codingapi.maven.uml.annotation.Model;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
......@@ -11,6 +12,7 @@ import org.springframework.core.Ordered;
@Slf4j
@AllArgsConstructor
@Aspect
@Model(flag = "C",value = "LCN注解切面",color = "#FF88EE")
public class LcnTransactionAspect implements Ordered {
private TransactionAspectContext transactionAspectContext;
......
package com.codingapi.txlcn.tc.aspect;
import com.codingapi.maven.uml.annotation.Model;
import com.codingapi.txlcn.tc.control.TransactionContext;
import com.codingapi.txlcn.tc.control.TransactionState;
import com.codingapi.txlcn.tc.info.TransactionInfo;
......@@ -14,6 +15,7 @@ import java.lang.reflect.Method;
@Slf4j
@AllArgsConstructor
@Model(flag = "C",value = "注解执行时",color = "#FF88EE")
public class TransactionAspectContext {
private TransactionContext transactionContext;
......
/**
* @author lorne
* @date 2020/6/30
* @description
*/
@BoundContext(value = "aspect")
package com.codingapi.txlcn.tc.aspect;
import com.codingapi.maven.uml.annotation.BoundContext;
......@@ -7,6 +7,7 @@ import java.util.Optional;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.codingapi.maven.uml.annotation.Model;
import com.codingapi.txlcn.protocol.config.Config;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
......@@ -16,6 +17,7 @@ import lombok.extern.slf4j.Slf4j;
*/
@Data
@Slf4j
@Model(flag = "C",value = "TC模块配置信息",color = "#FF88EE")
public class TxConfig {
/**
......
/**
* @author lorne
* @date 2020/6/30
* @description
*/
@BoundContext(value = "config")
package com.codingapi.txlcn.tc.config;
import com.codingapi.maven.uml.annotation.BoundContext;
package com.codingapi.txlcn.tc.control;
import com.codingapi.maven.uml.annotation.Model;
import com.codingapi.txlcn.tc.event.transaction.TransactionEventContext;
import com.codingapi.txlcn.tc.info.TransactionInfo;
import lombok.AllArgsConstructor;
......@@ -12,6 +13,7 @@ import lombok.extern.slf4j.Slf4j;
*/
@Slf4j
@AllArgsConstructor
@Model(flag = "C",value = "事务环境信息",color = "#FF88EE")
public class TransactionContext {
private TransactionEventContext transactionEventContext;
......
package com.codingapi.txlcn.tc.control;
import com.codingapi.maven.uml.annotation.Model;
import com.codingapi.txlcn.tc.info.TransactionInfo;
/**
......@@ -7,6 +8,7 @@ import com.codingapi.txlcn.tc.info.TransactionInfo;
* @date 2020/3/5
* @description
*/
@Model(flag = "C",value = "事务状态",color = "#FF88EE")
public class TransactionState {
private State state;
......
package com.codingapi.txlcn.tc.control;
import com.codingapi.maven.uml.annotation.Model;
import com.codingapi.txlcn.tc.info.TransactionInfo;
/**
......@@ -7,6 +8,7 @@ import com.codingapi.txlcn.tc.info.TransactionInfo;
* @date 2020/3/5
* @description
*/
@Model(flag = "I",value = "事务步骤",color = "#FF88EE")
public interface TransactionStep {
TransactionState.State type();
......
package com.codingapi.txlcn.tc.control;
import com.codingapi.maven.uml.annotation.Model;
import com.codingapi.txlcn.tc.info.TransactionInfo;
import java.util.List;
......@@ -10,6 +11,7 @@ import java.util.Optional;
* @date 2020/3/5
* @description
*/
@Model(flag = "I",value = "事务步骤环境",color = "#FF88EE")
public class TransactionStepContext {
private List<TransactionStep> transactionSteps;
......
/**
* @author lorne
* @date 2020/6/29
* @description
*/
@BoundContext(value = "control")
package com.codingapi.txlcn.tc.control;
import com.codingapi.maven.uml.annotation.BoundContext;
package com.codingapi.txlcn.tc.control.step;
import com.codingapi.maven.uml.annotation.Model;
import com.codingapi.txlcn.protocol.message.event.TransactionCreateEvent;
import com.codingapi.txlcn.tc.control.TransactionState;
import com.codingapi.txlcn.tc.control.TransactionStep;
......@@ -16,6 +17,7 @@ import lombok.extern.slf4j.Slf4j;
*/
@Slf4j
@AllArgsConstructor
@Model(flag = "C",value = "事务步骤-创建事务",color = "#FF88EE")
public class TransactionStepCreate implements TransactionStep {
private TxManagerReporter managerProtocoler;
......
/**
* @author lorne
* @date 2020/6/30
* @description
*/
@BoundContext(value = "event")
package com.codingapi.txlcn.tc.event;
import com.codingapi.maven.uml.annotation.BoundContext;
package com.codingapi.txlcn.tc.event.transaction;
import com.codingapi.maven.uml.annotation.Model;
import com.codingapi.txlcn.tc.info.TransactionInfo;
import java.util.List;
@Model(flag = "I",value = "事务事件监听",color = "#FF88EE")
public class TransactionEventContext implements TransactionEventListener {
private List<TransactionEventListener> transactionEventListeners;
......
package com.codingapi.txlcn.tc.event.transaction;
import com.codingapi.maven.uml.annotation.Model;
import com.codingapi.txlcn.tc.info.TransactionInfo;
/**
* 事务协调监听,TC与TM的通讯步骤监听.
*/
@Model(flag = "I",value = "事务事件监听",color = "#FF88EE")
public interface TransactionEventListener {
......
package com.codingapi.txlcn.tc.exception;
import com.codingapi.maven.uml.annotation.Model;
@Model(flag = "C",value = "事务异常",color = "#FF88EE")
public class TxException extends IllegalArgumentException {
......
/**
* @author lorne
* @date 2020/6/30
* @description
*/
@BoundContext(value = "exception")
package com.codingapi.txlcn.tc.exception;
import com.codingapi.maven.uml.annotation.BoundContext;
package com.codingapi.txlcn.tc.info;
import com.codingapi.maven.uml.annotation.Model;
import com.codingapi.txlcn.tc.control.TransactionState;
import lombok.Data;
......@@ -11,6 +12,7 @@ import java.util.UUID;
* @description
*/
@Data
@Model(flag = "C",value = "事务信息",color = "#FF88EE")
public class TransactionInfo {
/**
......
package com.codingapi.txlcn.tc.info;
import com.codingapi.maven.uml.annotation.Model;
/**
* 事务信息ThreadLocal
* @author lorne 2020-0305
*/
@Model(flag = "C",value = "事务信息ThreadLocal",color = "#FF88EE")
class TransactionInfoThreadLocal {
final static ThreadLocal<TransactionInfo> threadLocal = new ThreadLocal<>();
......
/**
* @author lorne
* @date 2020/6/30
* @description
*/
@BoundContext(value = "info")
package com.codingapi.txlcn.tc.info;
import com.codingapi.maven.uml.annotation.BoundContext;
package com.codingapi.txlcn.tc.reporter;
import com.codingapi.maven.uml.annotation.Model;
import com.codingapi.txlcn.protocol.ProtocolServer;
import com.codingapi.txlcn.protocol.Protocoler;
import com.codingapi.txlcn.protocol.message.Connection;
......@@ -16,6 +17,7 @@ import java.util.Iterator;
* @description
*/
@AllArgsConstructor
@Model(flag = "C",value = "事务管理器通讯者",color = "#FF88EE")
public class TxManagerReporter {
private Protocoler protocoler;
......
/**
* @author lorne
* @date 2020/6/30
* @description
*/
@BoundContext(value = "reporter")
package com.codingapi.txlcn.tc.reporter;
import com.codingapi.maven.uml.annotation.BoundContext;
package com.codingapi.txlcn.tc.resolver;
import com.codingapi.maven.uml.annotation.Model;
import java.lang.reflect.Method;
import java.util.List;
......@@ -8,6 +10,7 @@ import java.util.List;
* @date 2020/3/5
* @description
*/
@Model(flag = "C",value = "注解环境信息",color = "#FF88EE")
public class AnnotationContext {
private List<AnnotationStrategy> strategies;
......
package com.codingapi.txlcn.tc.resolver;
import com.codingapi.maven.uml.annotation.Model;
import java.lang.reflect.Method;
/**
* 事务注解解析器
* @author lorne 2020-03-05
*/
@Model(flag = "I",value = "事务注解解析器",color = "#FF88EE")
public interface AnnotationStrategy {
TxAnnotation getAnnotation(Method targetMethod);
......
package com.codingapi.txlcn.tc.resolver;
import com.codingapi.maven.uml.annotation.Model;
import com.codingapi.txlcn.tc.TransactionContent;
import com.codingapi.txlcn.tc.annotation.LcnTransaction;
......@@ -10,6 +11,7 @@ import java.lang.reflect.Method;
* @date 2020/3/5
* @description
*/
@Model(flag = "C",value = "LCN注解解析器",color = "#FF88EE")
public class LcnAnnotationStrategy implements AnnotationStrategy {
@Override
......
package com.codingapi.txlcn.tc.resolver;
import com.codingapi.maven.uml.annotation.Model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
......@@ -11,6 +12,7 @@ import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Model(flag = "C",value = "事务注解信息",color = "#FF88EE")
public class TxAnnotation {
/**
......
/**
* @author lorne
* @date 2020/6/30
* @description
*/
@BoundContext(value = "resolver")
package com.codingapi.txlcn.tc.resolver;
import com.codingapi.maven.uml.annotation.BoundContext;
package com.codingapi.txlcn.tc.runner;
import com.codingapi.maven.uml.annotation.Model;
import com.codingapi.txlcn.protocol.ProtocolServer;
import com.codingapi.txlcn.tc.config.TxConfig;
import lombok.AllArgsConstructor;
......@@ -7,6 +8,7 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
@AllArgsConstructor
@Model(flag = "C",value = "TM服务初始化",color = "#FF88EE")
public class TMServerRunner {
private TxConfig txConfig;
......
/**
* @author lorne
* @date 2020/6/30
* @description
*/
@BoundContext(value = "runner")
package com.codingapi.txlcn.tc.runner;
import com.codingapi.maven.uml.annotation.BoundContext;
package com.codingapi.txlcn.tc.utils;
import com.codingapi.maven.uml.annotation.Model;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.reflect.MethodSignature;
......@@ -10,6 +11,7 @@ import java.lang.reflect.Method;
* @date 2020/3/5
* @description
*/
@Model(flag = "C",value = "切面工具类",color = "#FF88EE")
public class PointUtils {
public static Method targetMethod(ProceedingJoinPoint point) throws NoSuchMethodException {
......
/**
* @author lorne
* @date 2020/6/30
* @description
*/
@BoundContext(value = "utils")
package com.codingapi.txlcn.tc.utils;
import com.codingapi.maven.uml.annotation.BoundContext;
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册