1 type body WF_EVENT_T as
2 STATIC PROCEDURE initialize(new_wf_event_t IN OUT NOCOPY wf_event_t) is
3 begin
4 new_wf_event_t := wf_event_t(0, -- priority
5 null, -- send_date
6 null, -- receive_date
7 null, -- correlation_id
8 null, -- parameter_list
9 null, -- event_name
10 null, -- event_key
11 empty_clob(), -- event_data
12 null, -- from_agent
13 null, -- to_agent
14 null, -- error_subscription
15 null, -- error_message
16 null); -- error_stack
17 end initialize;
18
19 MEMBER FUNCTION getFromAgent return wf_agent_t is
20 begin
21 return From_Agent;
22 end getFromAgent;
23
24 MEMBER FUNCTION getToAgent return wf_agent_t is
25 begin
26 return To_Agent;
27 end getToAgent;
28
29 MEMBER FUNCTION getPriority return number is
30 begin
31 return Priority;
32 end getPriority;
33
34 MEMBER FUNCTION getSendDate return date is
35 begin
36 return Send_Date;
37 end getSendDate;
38
39 MEMBER FUNCTION getReceiveDate return date is
40 begin
41 return Receive_Date;
42 end getReceiveDate;
43
44 MEMBER FUNCTION getCorrelationID return varchar2 is
45 begin
46 return Correlation_ID;
47 end getCorrelationID;
48
49 MEMBER FUNCTION getParameterList return wf_parameter_list_t is
50 begin
51 return Parameter_List;
52 end getParameterList;
53
54 MEMBER FUNCTION getEventName return varchar2 is
55 begin
56 return Event_Name;
57 end getEventName;
58
59 MEMBER FUNCTION getEventKey return varchar2 is
60 begin
61 return Event_Key;
62 end getEventKey;
63
64 MEMBER FUNCTION getEventData return clob is
65 begin
66 return Event_Data;
67 end getEventData;
68
69 MEMBER FUNCTION getErrorSubscription return raw is
70 begin
71 return error_subscription;
72 end getErrorSubscription;
73
74 MEMBER FUNCTION getErrorMessage return varchar2 is
75 begin
76 return error_message;
77 end getErrorMessage;
78
79 MEMBER FUNCTION getErrorStack return varchar2 is
80 begin
81 return error_stack;
82 end getErrorStack;
83
84 MEMBER PROCEDURE setFromAgent(pFromAgent in wf_agent_t) is
85 begin
86 From_Agent := pFromAgent;
87 end setFromAgent;
88
89 MEMBER PROCEDURE setToAgent(pToAgent in wf_agent_t) is
90 begin
91 To_Agent := pToAgent;
92 end setToAgent;
93
94 MEMBER PROCEDURE setPriority(pPriority in number) is
95 begin
96 Priority := pPriority;
97 end setPriority;
98
99 MEMBER PROCEDURE setSendDate(pSendDate in date default sysdate) is
100 begin
101 Send_Date := pSendDate;
102 end setSendDate;
103
104 MEMBER PROCEDURE setReceiveDate(pReceiveDate in date default sysdate) is
105 begin
106 Receive_Date := pReceiveDate;
107 end setReceiveDate;
108
109 MEMBER PROCEDURE setCorrelationID(pCorrelationID in varchar2) is
110 begin
111 Correlation_ID := pCorrelationID;
112 end setCorrelationID;
113
114 MEMBER PROCEDURE setParameterList(pParameterList in wf_parameter_list_t) is
115 begin
116 Parameter_List := pParameterList;
117 end setParameterList;
118
119 MEMBER PROCEDURE setEventName(pEventName in varchar2) is
120 begin
121 Event_Name := pEventName;
122 end setEventName;
123
124 MEMBER PROCEDURE setEventKey(pEventKey in varchar2) is
125 begin
126 Event_Key := pEventKey;
127 end setEventKey;
128
129 MEMBER PROCEDURE setEventData(pEventData in clob) is
130 begin
131 Event_Data := pEventData;
132 end setEventData;
133
134 MEMBER PROCEDURE setErrorSubscription(pErrorSubscription in raw) is
135 begin
136 error_subscription := pErrorSubscription;
137 end setErrorSubscription;
138
139 MEMBER PROCEDURE setErrorMessage(pErrorMessage in varchar2) is
140 begin
141 error_message := pErrorMessage;
142 end setErrorMessage;
143
144 MEMBER PROCEDURE setErrorStack(pErrorStack in varchar2) is
145 begin
146 error_stack := pErrorStack;
147 end setErrorStack;
148
149 MEMBER PROCEDURE Content(pName in varchar2,
150 pKey in varchar2,
151 pData in clob) is
152 begin
153 self.setEventName(pName);
154 self.setEventKey(pKey);
155 self.setEventData(pData);
156 end Content;
157
158 MEMBER PROCEDURE Address(pOutAgent in wf_agent_t,
159 pToAgent in wf_agent_t,
160 pPriority in number,
161 pSendDate in date) is
162 begin
163 self.setFromAgent(pOutAgent);
164 self.setToAgent(pToAgent);
165 self.setPriority(pPriority);
166 self.setSendDate(pSendDate);
167 end Address;
168
169 -- This method shares the same logic as WF_EVENT.AddParameterToList
170 -- Before we consolidate this method to single place, any change to
171 -- this method has to be replicated to WF_EVENT.AddParameterToList.
172 MEMBER PROCEDURE AddParameterToList(pName in varchar2,
173 pValue in varchar2) is
174 myList wf_parameter_list_t;
175 j number;
176 found boolean := FALSE;
177
178 begin
179 myList := self.getParameterList();
180
181 if (myList is null) then
182 myList := wf_parameter_list_t(null);
183 myList(1) := wf_parameter_t(pName, pValue);
184 else
185 -- parameter list exists --
186 -- if parameter already exists in the list, just reset its value --
187
188 j := 1;
189 while (NOT found AND j <= myList.COUNT ) LOOP
190 -- YOHUANG 3566991, make sure myList(j) is not null
191 -- to avoid 36025 ora error
192 IF (myList(j) IS NOT NULL) THEN
193 if (myList(j).getName() = pName) then
194 found := TRUE;
195 myList(j).setValue(pValue);
196 END if;
197 END IF;
198 j := j+1;
199 end loop;
200
201 -- otherwise, add new parameter to list --
202
203 if (NOT found) then
204 myList.EXTEND;
205 j := myList.COUNT;
206 myList(j) := wf_parameter_t(pName, pValue);
207 end if;
208 end if;
209
210 self.setParameterList(myList);
211 end AddParameterToList;
212
213 MEMBER FUNCTION getValueForParameter(pName in varchar2) return varchar2 is
214 myList wf_parameter_list_t;
215 pos number := 1;
216 begin
217 myList := self.getParameterList();
218 if (myList is null) then
219 return NULL;
220 end if;
221
222 pos := myList.LAST;
223 --while(pos <= myList.COUNT) loop
224 while(pos is not null) loop
225 if (myList(pos).getName() = pName) then
226 return myList(pos).getValue();
227 end if;
228 --pos := pos + 1;
229 pos := myList.PRIOR(pos);
230 end loop;
231 return NULL;
232 end getValueForParameter;
233 end;