Blame | Last modification | View Log | RSS feed
CREATE PACKAGE BODY "RELEASE_MANAGER"."PK_BUILDAPI_TEST" IS/*------------------------------|| Last Modified: S.Vukovic|| Modified Date: 30/Mar/2005|| Body Version: 1.0------------------------------*//*-------------------------------------------------------------------------------------------------------*/PROCEDURE Add_Product_Component ( nPvId IN NUMBER,sOsName IN VARCHAR2,sOrigFilePath IN VARCHAR2,sFileName IN VARCHAR2,sDestFilePath IN VARCHAR2,nByteSize IN NUMBER,sCRCcksum IN VARCHAR2 ) ISnOsId NUMBER;BEGIN/*--------------- Business Rules Here -------------------*/-- OS Name Requirements --IF (sOsName IS NULL) THENRAISE_APPLICATION_ERROR (-20000, 'OsName cannot be NULL.');END IF;-- File Requirements --IF (NOT sFileName IS NULL) THENIF (nByteSize IS NULL) THENRAISE_APPLICATION_ERROR (-20000, 'Byte Size cannot be NULL.');ELSIF (sCRCcksum IS NULL) THENRAISE_APPLICATION_ERROR (-20000, 'CRC CKSUM cannot be NULL.');END IF;END IF;-- Folder Requirements ---- No requirements for now./*-------------------------------------------------------*/-- Get OsIdnOsId := Get_OsId ( sOsName );-- Insert component entryINSERT INTO PRODUCT_COMPONENTS ( PV_ID, OS_ID, FILE_PATH, FILE_NAME, DESTINATION_PATH, BYTE_SIZE, CRC_CKSUM )VALUES (nPvId,nOsId,sOrigFilePath,sFileName,sDestFilePath,nByteSize,sCRCcksum);EXCEPTIONWHEN DUP_VAL_ON_INDEXTHENRAISE_APPLICATION_ERROR (-20000, 'Cannot have duplicate product components.');END;/*-------------------------------------------------------------------------------------------------------*/PROCEDURE Remove_All_Product_Components ( nPvId IN NUMBER, sOsName IN VARCHAR2 ) ISnOsId NUMBER;BEGIN/*--------------- Business Rules Here -------------------*//*-------------------------------------------------------*/-- Get OsIdnOsId := Get_OsId ( sOsName );-- Delete component entryDELETEFROM PRODUCT_COMPONENTS pcWHERE pc.PV_ID = nPvIdAND pc.OS_ID = nOsId;END;/*-------------------------------------------------------------------------------------------------------*/FUNCTION Get_OsId ( sOsName IN VARCHAR2 ) RETURN NUMBER ISCode NUMBER;BEGIN-- Get Platform Code --SELECT pf.CODE INTO CodeFROM PLATFORMS pfWHERE UPPER( pf.NAME ) = UPPER( sOsName );RETURN Code;EXCEPTIONWHEN NO_DATA_FOUND THENRAISE_APPLICATION_ERROR (-20000, 'Platform '|| sOsName ||' is not valid. It needs to be added to PLATFORMS table in Release Manager.' );RAISE;END;/*-------------------------------------------------------------------------------------------------------*/PROCEDURE Update_Build_Service ( sDatabaseServer IN VARCHAR2,sWebServer IN VARCHAR2,sMailServer IN VARCHAR2,sMailSender IN VARCHAR2) ISBEGINUPDATE BUILD_SERVICE_CONFIGSET CONFIG = sDatabaseServerWHERE SERVICE = 'DATABASE SERVER';UPDATE BUILD_SERVICE_CONFIGSET CONFIG = sWebServerWHERE SERVICE = 'WEB SERVER';UPDATE BUILD_SERVICE_CONFIGSET CONFIG = sMailServerWHERE SERVICE = 'MAIL SERVER';UPDATE BUILD_SERVICE_CONFIGSET CONFIG = sMailSenderWHERE SERVICE = 'BUILD FAILURE MAIL SENDER';END;/*-------------------------------------------------------------------------------------------------------*/PROCEDURE ADD_GBE_MACHTYPE ( sGBEValue in VARCHAR2 ) ISGBE_ID NUMBER;BEGIN-- Get GBE_IDSELECT SEQ_GBE_ID.NEXTVAL INTO GBE_ID FROM DUAL;INSERT INTO GBE_MACHTYPE (GBE_ID, GBE_VALUE)VALUES( GBE_ID, sGBEValue);END;/*-------------------------------------------------------------------------------------------------------*/PROCEDURE REMOVE_GBE_MACHTYPE ( nGBE_ID IN NUMBER ) ISBEGINDELETE FROM GBE_MACHTYPE WHERE GBE_ID = nGBE_ID;END;/*-------------------------------------------------------------------------------------------------------*/PROCEDURE UPDATE_GBE_MACHTYPE ( nGBE_ID IN NUMBER, sGBEValue IN VARCHAR2 ) ISBEGINUPDATE GBE_MACHTYPESET GBE_VALUE = sGBEValueWHERE GBE_ID = nGBE_ID;END;/*-------------------------------------------------------------------------------------------------------*/PROCEDURE ADD_DAEMON ( sDaemonHostname IN VARCHAR2, nRtagId IN NUMBER, nGbeId IN NUMBER ) ISnRecordNumber NUMBER;nRconId NUMBER;BEGIN-- Get RCON_IDSELECT SEQ_RCON_ID.NEXTVAL INTO nRconId FROM DUAL;SELECT count(*) INTO nRecordNumberFROM RELEASE_CONFIGWHERE RTAG_ID = nRtagId;IF nRecordNumber = 0 THENINSERT INTO RELEASE_CONFIG (RCON_ID, RTAG_ID, DAEMON_HOSTNAME, DAEMON_MODE, GBE_ID)VALUES (nRconId, nRtagId, sDaemonHostname, 'M', nGbeId);ELSEINSERT INTO RELEASE_CONFIG (RCON_ID, RTAG_ID, DAEMON_HOSTNAME, DAEMON_MODE, GBE_ID)VALUES (nRconId, nRtagId, sDaemonHostname, 'S', nGbeId);END IF;END;/*-------------------------------------------------------------------------------------------------------*/END PK_BUILDAPI_TEST;/ALTER PACKAGE "RELEASE_MANAGER"."PK_BUILDAPI_TEST"COMPILE BODYPLSQL_OPTIMIZE_LEVEL= 2PLSQL_CODE_TYPE= INTERPRETEDPLSQL_DEBUG= FALSEREUSE SETTINGS TIMESTAMP '2007-07-04 14:13:56'/