Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
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
/