-
Notifications
You must be signed in to change notification settings - Fork 58
/
model.go
139 lines (123 loc) · 5.42 KB
/
model.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
package BPMN20
import (
"encoding/xml"
)
type TDefinitions struct {
XMLName xml.Name `xml:"definitions"`
Id string `xml:"id,attr"`
Name string `xml:"name,attr"`
TargetNamespace string `xml:"targetNamespace,attr"`
ExpressionLanguage string `xml:"expressionLanguage,attr"`
TypeLanguage string `xml:"typeLanguage,attr"`
Exporter string `xml:"exporter,attr"`
ExporterVersion string `xml:"exporterVersion,attr"`
Process TProcess `xml:"process"`
Messages []TMessage `xml:"message"`
}
type TProcess struct {
XMLName xml.Name `xml:"process"`
Id string `xml:"id,attr"`
Name string `xml:"name,attr"`
ProcessType string `xml:"processType,attr"`
IsClosed bool `xml:"isClosed,attr"`
IsExecutable bool `xml:"isExecutable,attr"`
DefinitionalCollaborationRef string `xml:"definitionalCollaborationRef,attr"`
StartEvents []TStartEvent `xml:"startEvent"`
EndEvents []TEndEvent `xml:"endEvent"`
SequenceFlows []TSequenceFlow `xml:"sequenceFlow"`
ServiceTasks []TServiceTask `xml:"serviceTask"`
ParallelGateway []TParallelGateway `xml:"parallelGateway"`
ExclusiveGateway []TExclusiveGateway `xml:"exclusiveGateway"`
IntermediateCatchEvent []TIntermediateCatchEvent `xml:"intermediateCatchEvent"`
EventBasedGateway []TEventBasedGateway `xml:"eventBasedGateway"`
}
type TSequenceFlow struct {
XMLName xml.Name `xml:"sequenceFlow"`
Id string `xml:"id,attr"`
Name string `xml:"name,attr"`
SourceRef string `xml:"sourceRef,attr"`
TargetRef string `xml:"targetRef,attr"`
ConditionExpression []TExpression `xml:"conditionExpression"`
}
type TExpression struct {
XMLName xml.Name `xml:"conditionExpression"`
Text string `xml:",innerxml"`
}
type TStartEvent struct {
XMLName xml.Name `xml:"startEvent"`
Id string `xml:"id,attr"`
Name string `xml:"name,attr"`
IsInterrupting bool `xml:"isInterrupting,attr"`
ParallelMultiple bool `xml:"parallelMultiple,attr"`
IncomingAssociation []string `xml:"incoming"`
OutgoingAssociation []string `xml:"outgoing"`
}
type TEndEvent struct {
XMLName xml.Name `xml:"endEvent"`
Id string `xml:"id,attr"`
Name string `xml:"name,attr"`
IncomingAssociation []string `xml:"incoming"`
OutgoingAssociation []string `xml:"outgoing"`
}
type TServiceTask struct {
XMLName xml.Name `xml:"serviceTask"`
Id string `xml:"id,attr"`
Name string `xml:"name,attr"`
Default string `xml:"default,attr"`
CompletionQuantity int `xml:"completionQuantity,attr"`
IsForCompensation bool `xml:"isForCompensation,attr"`
OperationRef string `xml:"operationRef,attr"`
Implementation string `xml:"implementation,attr"`
IncomingAssociation []string `xml:"incoming"`
OutgoingAssociation []string `xml:"outgoing"`
}
type TParallelGateway struct {
XMLName xml.Name `xml:"parallelGateway"`
Id string `xml:"id,attr"`
Name string `xml:"name,attr"`
IncomingAssociation []string `xml:"incoming"`
OutgoingAssociation []string `xml:"outgoing"`
}
type TExclusiveGateway struct {
XMLName xml.Name `xml:"exclusiveGateway"`
Id string `xml:"id,attr"`
Name string `xml:"name,attr"`
IncomingAssociation []string `xml:"incoming"`
OutgoingAssociation []string `xml:"outgoing"`
}
type TIntermediateCatchEvent struct {
XMLName xml.Name `xml:"intermediateCatchEvent"`
Id string `xml:"id,attr"`
Name string `xml:"name,attr"`
IncomingAssociation []string `xml:"incoming"`
OutgoingAssociation []string `xml:"outgoing"`
MessageEventDefinition TMessageEventDefinition `xml:"messageEventDefinition"`
TimerEventDefinition TTimerEventDefinition `xml:"timerEventDefinition"`
ParallelMultiple bool `xml:"parallelMultiple"`
}
type TEventBasedGateway struct {
XMLName xml.Name `xml:"eventBasedGateway"`
Id string `xml:"id,attr"`
Name string `xml:"name,attr"`
IncomingAssociation []string `xml:"incoming"`
OutgoingAssociation []string `xml:"outgoing"`
}
type TMessageEventDefinition struct {
XMLName xml.Name `xml:"messageEventDefinition"`
Id string `xml:"id,attr"`
MessageRef string `xml:"messageRef,attr"`
}
type TTimerEventDefinition struct {
XMLName xml.Name `xml:"timerEventDefinition"`
Id string `xml:"id,attr"`
TimeDuration TTimeDuration `xml:"timeDuration"`
}
type TMessage struct {
XMLName xml.Name `xml:"message"`
Id string `xml:"id,attr"`
Name string `xml:"name,attr"`
}
type TTimeDuration struct {
XMLName xml.Name `xml:"timeDuration"`
XMLText string `xml:",innerxml"`
}