| 221 |
vnguyen |
1 |
CREATE PACKAGE BODY "RELEASE_MANAGER"."PK_BUILDAPI_TEST" IS
|
|
|
2 |
|
|
|
3 |
/*
|
|
|
4 |
------------------------------
|
|
|
5 |
|| Last Modified: S.Vukovic
|
|
|
6 |
|| Modified Date: 30/Mar/2005
|
|
|
7 |
|| Body Version: 1.0
|
|
|
8 |
------------------------------
|
|
|
9 |
*/
|
|
|
10 |
|
|
|
11 |
|
|
|
12 |
/*-------------------------------------------------------------------------------------------------------*/
|
|
|
13 |
PROCEDURE Add_Product_Component ( nPvId IN NUMBER,
|
|
|
14 |
sOsName IN VARCHAR2,
|
|
|
15 |
sOrigFilePath IN VARCHAR2,
|
|
|
16 |
sFileName IN VARCHAR2,
|
|
|
17 |
sDestFilePath IN VARCHAR2,
|
|
|
18 |
nByteSize IN NUMBER,
|
|
|
19 |
sCRCcksum IN VARCHAR2 ) IS
|
|
|
20 |
|
|
|
21 |
nOsId NUMBER;
|
|
|
22 |
|
|
|
23 |
BEGIN
|
|
|
24 |
/*--------------- Business Rules Here -------------------*/
|
|
|
25 |
-- OS Name Requirements --
|
|
|
26 |
IF (sOsName IS NULL) THEN
|
|
|
27 |
RAISE_APPLICATION_ERROR (-20000, 'OsName cannot be NULL.');
|
|
|
28 |
END IF;
|
|
|
29 |
|
|
|
30 |
|
|
|
31 |
-- File Requirements --
|
|
|
32 |
IF (NOT sFileName IS NULL) THEN
|
|
|
33 |
|
|
|
34 |
IF (nByteSize IS NULL) THEN
|
|
|
35 |
RAISE_APPLICATION_ERROR (-20000, 'Byte Size cannot be NULL.');
|
|
|
36 |
|
|
|
37 |
ELSIF (sCRCcksum IS NULL) THEN
|
|
|
38 |
RAISE_APPLICATION_ERROR (-20000, 'CRC CKSUM cannot be NULL.');
|
|
|
39 |
|
|
|
40 |
END IF;
|
|
|
41 |
|
|
|
42 |
END IF;
|
|
|
43 |
|
|
|
44 |
|
|
|
45 |
-- Folder Requirements --
|
|
|
46 |
-- No requirements for now.
|
|
|
47 |
|
|
|
48 |
/*-------------------------------------------------------*/
|
|
|
49 |
|
|
|
50 |
-- Get OsId
|
|
|
51 |
nOsId := Get_OsId ( sOsName );
|
|
|
52 |
|
|
|
53 |
|
|
|
54 |
-- Insert component entry
|
|
|
55 |
INSERT INTO PRODUCT_COMPONENTS ( PV_ID, OS_ID, FILE_PATH, FILE_NAME, DESTINATION_PATH, BYTE_SIZE, CRC_CKSUM )
|
|
|
56 |
VALUES (
|
|
|
57 |
nPvId,
|
|
|
58 |
nOsId,
|
|
|
59 |
sOrigFilePath,
|
|
|
60 |
sFileName,
|
|
|
61 |
sDestFilePath,
|
|
|
62 |
nByteSize,
|
|
|
63 |
sCRCcksum
|
|
|
64 |
);
|
|
|
65 |
|
|
|
66 |
|
|
|
67 |
EXCEPTION
|
|
|
68 |
WHEN DUP_VAL_ON_INDEX
|
|
|
69 |
THEN
|
|
|
70 |
RAISE_APPLICATION_ERROR (-20000, 'Cannot have duplicate product components.');
|
|
|
71 |
|
|
|
72 |
END;
|
|
|
73 |
/*-------------------------------------------------------------------------------------------------------*/
|
|
|
74 |
PROCEDURE Remove_All_Product_Components ( nPvId IN NUMBER, sOsName IN VARCHAR2 ) IS
|
|
|
75 |
|
|
|
76 |
nOsId NUMBER;
|
|
|
77 |
|
|
|
78 |
BEGIN
|
|
|
79 |
/*--------------- Business Rules Here -------------------*/
|
|
|
80 |
/*-------------------------------------------------------*/
|
|
|
81 |
|
|
|
82 |
-- Get OsId
|
|
|
83 |
nOsId := Get_OsId ( sOsName );
|
|
|
84 |
|
|
|
85 |
|
|
|
86 |
-- Delete component entry
|
|
|
87 |
DELETE
|
|
|
88 |
FROM PRODUCT_COMPONENTS pc
|
|
|
89 |
WHERE pc.PV_ID = nPvId
|
|
|
90 |
AND pc.OS_ID = nOsId;
|
|
|
91 |
|
|
|
92 |
|
|
|
93 |
END;
|
|
|
94 |
/*-------------------------------------------------------------------------------------------------------*/
|
|
|
95 |
FUNCTION Get_OsId ( sOsName IN VARCHAR2 ) RETURN NUMBER IS
|
|
|
96 |
Code NUMBER;
|
|
|
97 |
|
|
|
98 |
BEGIN
|
|
|
99 |
|
|
|
100 |
-- Get Platform Code --
|
|
|
101 |
SELECT pf.CODE INTO Code
|
|
|
102 |
FROM PLATFORMS pf
|
|
|
103 |
WHERE UPPER( pf.NAME ) = UPPER( sOsName );
|
|
|
104 |
|
|
|
105 |
|
|
|
106 |
RETURN Code;
|
|
|
107 |
|
|
|
108 |
EXCEPTION
|
|
|
109 |
WHEN NO_DATA_FOUND THEN
|
|
|
110 |
RAISE_APPLICATION_ERROR (-20000, 'Platform '|| sOsName ||' is not valid. It needs to be added to PLATFORMS table in Release Manager.' );
|
|
|
111 |
RAISE;
|
|
|
112 |
END;
|
|
|
113 |
/*-------------------------------------------------------------------------------------------------------*/
|
|
|
114 |
PROCEDURE Update_Build_Service ( sDatabaseServer IN VARCHAR2,
|
|
|
115 |
sWebServer IN VARCHAR2,
|
|
|
116 |
sMailServer IN VARCHAR2,
|
|
|
117 |
sMailSender IN VARCHAR2) IS
|
|
|
118 |
|
|
|
119 |
BEGIN
|
|
|
120 |
|
|
|
121 |
|
|
|
122 |
UPDATE BUILD_SERVICE_CONFIG
|
|
|
123 |
SET CONFIG = sDatabaseServer
|
|
|
124 |
WHERE SERVICE = 'DATABASE SERVER';
|
|
|
125 |
|
|
|
126 |
UPDATE BUILD_SERVICE_CONFIG
|
|
|
127 |
SET CONFIG = sWebServer
|
|
|
128 |
WHERE SERVICE = 'WEB SERVER';
|
|
|
129 |
|
|
|
130 |
UPDATE BUILD_SERVICE_CONFIG
|
|
|
131 |
SET CONFIG = sMailServer
|
|
|
132 |
WHERE SERVICE = 'MAIL SERVER';
|
|
|
133 |
|
|
|
134 |
UPDATE BUILD_SERVICE_CONFIG
|
|
|
135 |
SET CONFIG = sMailSender
|
|
|
136 |
WHERE SERVICE = 'BUILD FAILURE MAIL SENDER';
|
|
|
137 |
|
|
|
138 |
|
|
|
139 |
|
|
|
140 |
END;
|
|
|
141 |
/*-------------------------------------------------------------------------------------------------------*/
|
|
|
142 |
PROCEDURE ADD_GBE_MACHTYPE ( sGBEValue in VARCHAR2 ) IS
|
|
|
143 |
|
|
|
144 |
GBE_ID NUMBER;
|
|
|
145 |
|
|
|
146 |
BEGIN
|
|
|
147 |
|
|
|
148 |
-- Get GBE_ID
|
|
|
149 |
SELECT SEQ_GBE_ID.NEXTVAL INTO GBE_ID FROM DUAL;
|
|
|
150 |
|
|
|
151 |
INSERT INTO GBE_MACHTYPE (GBE_ID, GBE_VALUE)
|
|
|
152 |
VALUES( GBE_ID, sGBEValue);
|
|
|
153 |
|
|
|
154 |
|
|
|
155 |
END;
|
|
|
156 |
/*-------------------------------------------------------------------------------------------------------*/
|
|
|
157 |
PROCEDURE REMOVE_GBE_MACHTYPE ( nGBE_ID IN NUMBER ) IS
|
|
|
158 |
|
|
|
159 |
BEGIN
|
|
|
160 |
|
|
|
161 |
DELETE FROM GBE_MACHTYPE WHERE GBE_ID = nGBE_ID;
|
|
|
162 |
|
|
|
163 |
END;
|
|
|
164 |
/*-------------------------------------------------------------------------------------------------------*/
|
|
|
165 |
PROCEDURE UPDATE_GBE_MACHTYPE ( nGBE_ID IN NUMBER, sGBEValue IN VARCHAR2 ) IS
|
|
|
166 |
|
|
|
167 |
BEGIN
|
|
|
168 |
|
|
|
169 |
UPDATE GBE_MACHTYPE
|
|
|
170 |
SET GBE_VALUE = sGBEValue
|
|
|
171 |
WHERE GBE_ID = nGBE_ID;
|
|
|
172 |
|
|
|
173 |
|
|
|
174 |
END;
|
|
|
175 |
/*-------------------------------------------------------------------------------------------------------*/
|
|
|
176 |
PROCEDURE ADD_DAEMON ( sDaemonHostname IN VARCHAR2, nRtagId IN NUMBER, nGbeId IN NUMBER ) IS
|
|
|
177 |
|
|
|
178 |
nRecordNumber NUMBER;
|
|
|
179 |
nRconId NUMBER;
|
|
|
180 |
BEGIN
|
|
|
181 |
-- Get RCON_ID
|
|
|
182 |
SELECT SEQ_RCON_ID.NEXTVAL INTO nRconId FROM DUAL;
|
|
|
183 |
|
|
|
184 |
SELECT count(*) INTO nRecordNumber
|
|
|
185 |
FROM RELEASE_CONFIG
|
|
|
186 |
WHERE RTAG_ID = nRtagId;
|
|
|
187 |
|
|
|
188 |
IF nRecordNumber = 0 THEN
|
|
|
189 |
INSERT INTO RELEASE_CONFIG (RCON_ID, RTAG_ID, DAEMON_HOSTNAME, DAEMON_MODE, GBE_ID)
|
|
|
190 |
VALUES (nRconId, nRtagId, sDaemonHostname, 'M', nGbeId);
|
|
|
191 |
ELSE
|
|
|
192 |
INSERT INTO RELEASE_CONFIG (RCON_ID, RTAG_ID, DAEMON_HOSTNAME, DAEMON_MODE, GBE_ID)
|
|
|
193 |
VALUES (nRconId, nRtagId, sDaemonHostname, 'S', nGbeId);
|
|
|
194 |
END IF;
|
|
|
195 |
|
|
|
196 |
|
|
|
197 |
|
|
|
198 |
END;
|
|
|
199 |
/*-------------------------------------------------------------------------------------------------------*/
|
|
|
200 |
END PK_BUILDAPI_TEST;
|
|
|
201 |
/
|
|
|
202 |
ALTER PACKAGE "RELEASE_MANAGER"."PK_BUILDAPI_TEST"
|
|
|
203 |
COMPILE BODY
|
|
|
204 |
PLSQL_OPTIMIZE_LEVEL= 2
|
|
|
205 |
PLSQL_CODE_TYPE= INTERPRETED
|
|
|
206 |
PLSQL_DEBUG= FALSE
|
|
|
207 |
REUSE SETTINGS TIMESTAMP '2007-07-04 14:13:56'
|
|
|
208 |
/
|