activiti-api
- 目录
- 概述
- 需求:
- 设计思路
- 实现思路分析
- 1.VariableEvent
- 2.EmptyResult
- 3.BPMNElement
- 4.BPMNError
- 5.Connector
- AbstractSecurityManager
- 参考资料和推荐阅读
Survive by day and develop by night.
talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.
happy for hardess to solve denpendies.
目录
概述
activiti-api的是一个非常常见的需求。
需求:
设计思路
实现思路分析
1.VariableEvent
public interface VariableCreatedEvent extends VariableEvent {}
2.EmptyResult
public class EmptyResult extends Result<Void> {public EmptyResult() {}public EmptyResult(Payload payload) {super(payload,null);}
}
3.BPMNElement
public interface BPMNElement {String getElementId();String getProcessInstanceId();String getProcessDefinitionId();
}
4.BPMNError
public interface BPMNError extends BPMNActivity {String getErrorCode();String getErrorId();
}
5.Connector
public interface Connector extends Function<IntegrationContext, IntegrationContext> {}
AbstractSecurityManager
public abstract class AbstractSecurityManager implements SecurityManager {private static final String INVALID_AUTHENTICATED_PRINCIPAL = "Invalid authenticated principal";private final SecurityContextPrincipalProvider securityContextPrincipalProvider;private final PrincipalIdentityProvider principalIdentityProvider;private final PrincipalGroupsProvider principalGroupsProvider;private final PrincipalRolesProvider principalRolesProvider;public AbstractSecurityManager(SecurityContextPrincipalProvider securityContextPrincipalProvider,PrincipalIdentityProvider principalIdentityProvider,PrincipalGroupsProvider principalGroupsProvider,PrincipalRolesProvider principalRolesProvider) {this.securityContextPrincipalProvider = securityContextPrincipalProvider;this.principalIdentityProvider = principalIdentityProvider;this.principalGroupsProvider = principalGroupsProvider;this.principalRolesProvider = principalRolesProvider;}@Overridepublic String getAuthenticatedUserId() {return securityContextPrincipalProvider.getCurrentPrincipal().map(principalIdentityProvider::getUserId).orElseThrow(this::securityException);}@Overridepublic List<String> getAuthenticatedUserGroups() {return securityContextPrincipalProvider.getCurrentPrincipal().map(principalGroupsProvider::getGroups).orElseThrow(this::securityException);}@Overridepublic List<String> getAuthenticatedUserRoles() {return securityContextPrincipalProvider.getCurrentPrincipal().map(principalRolesProvider::getRoles).orElseThrow(this::securityException);}protected SecurityException securityException() {return new SecurityException(INVALID_AUTHENTICATED_PRINCIPAL);}}
参考资料和推荐阅读
[1]. https://www.activiti.org/
欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!~