Moved repository master into its own directory

This commit is contained in:
Chris Shields
2020-07-21 10:43:33 +01:00
parent a7afb73e58
commit cbd58ea958
6316 changed files with 0 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -0,0 +1,37 @@
@startuml
title Actions: Asynchronous Actions Classes (V5.1 Current)
interface ActionService {
+ void executeAction(Action action, NodeRef actionedUponNodeRef, boolean checkConditions, boolean executeAsychronously)
}
class ActionServiceImpl implements ActionService {
- ActionTransactionListener transactionListener
- Map<String, AsynchronousActionExecutionQueue> asynchronousActionExecutionQueues
+ void registerAsynchronousActionExecutionQueue(String key, AsynchronousActionExecutionQueue asyncExecQueue)
+ void executeAction(...)
- void addPostTransactionPendingAction(action, actionedUponNodeRef, checkConditions, actionChain)
- List<PendingAction> getPostTransactionPendingActions()
+ postCommit()
- queueAction(PendingAction action)
+ etc(...)
}
interface AsynchronousActionExecutionQueue {
+ void executeAction(RuntimeActionService actionService, Action action, NodeRef actionedUponNodeRef, boolean checkConditions, Set<String> actionChain);
}
class AsynchronousActionExecutionQueueImpl implements AsynchronousActionExecutionQueue {
- ThreadPoolExecutor threadPoolExecutor
- TransactionService transactionService
- PolicyComponent policyComponent
- Map<String, AbstractAsynchronousActionFilter> actionFilters
- String id
+ void init()
+ void executeAction(...)
+ etc(...)
}
AsynchronousActionExecutionQueueImpl o- "1" ActionServiceImpl
AsynchronousActionExecutionQueueImpl "0..*" -o ActionServiceImpl
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

View File

@@ -0,0 +1,61 @@
@startuml
title Actions: Queued Actions Classes (V5.2 Proposal)
interface ActionService {
+ void executeAction(Action action, NodeRef actionedUponNodeRef, boolean checkConditions, boolean executeAsychronously)
}
class ActionServiceImpl implements ActionService {
- ActionTransactionListener transactionListener
- Map<String, AsynchronousActionExecutionQueue> asynchronousActionExecutionQueues
+ void registerAsynchronousActionExecutionQueue(String key, AsynchronousActionExecutionQueue asyncExecQueue)
+ void executeAction(...)
- <b>void bindPendingActionToTransaction(action, actionedUponNodeRef, checkConditions, actionChain)</b>
- <s>void addPostTransactionPendingAction(action, actionedUponNodeRef, checkConditions, actionChain)</s>
- List<PendingAction> getPostTransactionPendingActions()
+ <b>beforeCommit()</b>
+ <s>postCommit()</s>
- queueAction(PendingAction action)
+ etc(...)
}
interface AsynchronousActionExecutionQueue {
+ void executeAction(RuntimeActionService actionService, Action action, NodeRef actionedUponNodeRef, boolean checkConditions, Set<String> actionChain);
}
class AsynchronousActionExecutionQueueImpl implements AsynchronousActionExecutionQueue {
- <b>ProducerTemplate producerTemplate</b>
- <s>ThreadPoolExecutor threadPoolExecutor</s>
- TransactionService transactionService
- PolicyComponent policyComponent
- Map<String, AbstractAsynchronousActionFilter> actionFilters
- String id
+ void init()
+ void executeAction(...)
+ etc(...)
}
package org::apache::camel {
class ProducerTemplate {
+ void sendBodyAndHeaders(String endpointUri, Object body, Map<String, Object> headers)
}
class RouteBuilder {
+ void configure()
+ etc(...)
}
class JacksonDataFormat
}
class QueuedActionProducer extends RouteBuilder {
+ void configure()
}
class QueuedActionReceiver extends RouteBuilder {
+ void configure()
}
AsynchronousActionExecutionQueueImpl o- "1" ActionServiceImpl
AsynchronousActionExecutionQueueImpl "0..*" -o ActionServiceImpl
AsynchronousActionExecutionQueueImpl o- "1" ProducerTemplate
QueuedActionProducer --> "uses" JacksonDataFormat
QueuedActionReceiver --> "uses" JacksonDataFormat
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -0,0 +1,63 @@
@startuml
class RuleType {
String name
String displayLabel
}
class Rule {
NodeRef nodeRef
String title
String description
boolean ruleDisabled
boolean executeAsynchronously
boolean isAppliedToChildren
}
class Action
class RuleTrigger
Rule --> "1..*" RuleType
Rule --> "1" Action
RuleType --> "*" RuleTrigger
note left of RuleType
There are three rule types defined by default:
- inbound
- outbound
- update
end note
together {
class BeforeDeleteChildAssociationRuleTrigger
class CreateNodeRuleTrigger
class OnCreateChildAssociationRuleTrigger
class OnMoveNodeRuleTrigger
class OnPropertyUpdateRuleTrigger
class RestoreNodeRuleTrigger
class SingleAssocRefPolicyRuleTrigger
class SingleNodeRefPolicyRuleTrigger
}
CreateNodeRuleTrigger -[hidden]--> BeforeDeleteChildAssociationRuleTrigger
OnMoveNodeRuleTrigger -[hidden]--> OnCreateChildAssociationRuleTrigger
OnPropertyUpdateRuleTrigger -[hidden]--> RestoreNodeRuleTrigger
SingleAssocRefPolicyRuleTrigger -[hidden]--> SingleNodeRefPolicyRuleTrigger
RuleTrigger <|-- BeforeDeleteChildAssociationRuleTrigger
RuleTrigger <|-- CreateNodeRuleTrigger
RuleTrigger <|-- OnCreateChildAssociationRuleTrigger
RuleTrigger <|-- OnMoveNodeRuleTrigger
RuleTrigger <|-- OnPropertyUpdateRuleTrigger
RuleTrigger <|-- RestoreNodeRuleTrigger
RuleTrigger <|-- SingleAssocRefPolicyRuleTrigger
RuleTrigger <|-- SingleNodeRefPolicyRuleTrigger
note right of Action
See separate diagram for info about Actions
end note
@enduml