Subversion Repositories DevTools

Rev

Rev 29 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?xml version="1.0" ?>
<package>
        <comment>
        PrimalCode wizard generated file.
        </comment>
        <job id="GenerateXMLNodeDefinitons" args="/bom_id:2864" prompt="no">
                <?job error="false" debug="false" ?>
                <runtime>
                        <named helpstring="Bom ID" name="bom_id" required="false" type="string"/>
                </runtime>
                <object id="Oracle_Objects_For_OLE" progid="OracleInProcServer.XOraServer" events="true"/>
                <script language="VBScript" src="common_subs.vbs"/>
                <script language="VBScript" src="config.vbs"/>
                <script id="GenerateXMLNodeDefnitions" language="VBScript">
<![CDATA[
Option Explicit
'=====================================================
'        Name:  GetComponents
' Description:  Connects to dpkg_archive and gets the
'                               content of folders and files of certain
'                               package. It then stores this info into 
'                               Release Manager database. This info can
'                               later be included in release notes Or
'                               searched with search engine.
'               INPUT:  pkg_name
'                               pkg_version
'=====================================================

'== Variable Definition ==============================
Dim BomId
Dim objArgs
'== Constants Declaration ============================
'== Variable Init ====================================
'=====================================================


'-----------------------------------------------------------------------------------------------------------------
Sub GenerateXMLNodeDefinitionsWindows ( nBomId )
        Dim rsQry, aNetworkNodes, XMLNode, DateString
        Dim lastRow, row
        
        ' Remove existing stuff
        Call DeleteFile( APP_ROOT &"downloads\*" )
        
        
        OraDatabase.Parameters.Add "BOM_ID", nBomId, ORAPARM_INPUT, ORATYPE_NUMBER 
                          
        Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NetworkNodes.sql"), ORADYN_DEFAULT )
        
        OraDatabase.Parameters.Remove "BOM_ID"
        
        If rsQry.RecordCount > 0 Then
                aNetworkNodes = rsQry.GetRows()
                
        End If
        
        lastRow = UBound( aNetworkNodes, 2 )
        DateString = DateReversed( Date )
        
        For row = 0 To lastRow
                
                XMLNode = Null
        
                XMLNode = XMLNode &_
                "       <BomHeader>"& vbNewLine &_
                "               <release_ident></release_ident>"& vbNewLine &_
               "               <bom_name>"& aNetworkNodes( 1, row ) &" Windows</bom_name>"& vbNewLine &_
               "               <bom_type>system</bom_type>"& vbNewLine &_
               "               <bom_id>"& nBomId &"</bom_id>"& vbNewLine &_
               "               <bom_version>"& aNetworkNodes( 2, row ) &"."& aNetworkNodes( 3, row ) &"</bom_version>"& vbNewLine &_
               "               <bom_date>"& DateString &"</bom_date>"& vbNewLine &_
               "               <bom_status>REG</bom_status>"& vbNewLine &_
               "               <bom_status_date>"& DateString &"</bom_status_date>"& vbNewLine &_
                "       </BomHeader>"& vbNewLine 
                

                '-- Get Node Base Configurations Details For Windows OS --
                XMLNode = XMLNode & GetNodeBaseConfigDetailsWindows ( nBomId, aNetworkNodes( 0, row ) ) & vbNewLine 

                
                '-- Get Node Product Details For Windows OS --
                XMLNode = XMLNode & GetNodeDetailsWindows ( nBomId, aNetworkNodes( 0, row ) ) & vbNewLine 
                
                
                ' Close xml node tag before saving
                XMLNode = _
                "<BomDistribution>"& vbNewLine &_
                XMLNode &"</BomDistribution>"& vbNewLine
                
                'WScript.Echo XMLNode
                
                If GetNodeBaseConfigDetailsWindows ( nBomId, aNetworkNodes( 0, row ) ) <> "" OR GetNodeDetailsWindows ( nBomId, aNetworkNodes( 0, row ) ) <> "" Then
                        ' Save to a file
                        Call SaveFileToProductionManager( rsQry("version"), rsQry("branch_name"), "E:\wwwTRD\manager_suite_DEVELOPMENT\production_manager\XMLBOMS",  FormatFileName( aNetworkNodes( 1, row ) ) &"_Windows.xml", XMLNode )
                End If  
                
        Next
        
        
        
                  
                        
End Sub
'-----------------------------------------------------------------------------------------------------------------
Sub GenerateXMLNodeDefinitionsSunOS ( nBomId )
        Dim rsQry, aNetworkNodes, XMLNode, DateString
        Dim lastRow, row
        
        ' Remove existing stuff
        Call DeleteFile( APP_ROOT &"downloads\*" )
        
        
        OraDatabase.Parameters.Add "BOM_ID", nBomId, ORAPARM_INPUT, ORATYPE_NUMBER 
                          
        Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NetworkNodes.sql"), ORADYN_DEFAULT )
        
        OraDatabase.Parameters.Remove "BOM_ID"
        
        If rsQry.RecordCount > 0 Then
                aNetworkNodes = rsQry.GetRows()
                
        End If
        
        lastRow = UBound( aNetworkNodes, 2 )
        DateString = DateReversed( Date )
        
        For row = 0 To lastRow
                
                XMLNode = Null
        
                XMLNode = XMLNode &_
                "       <BomHeader>"& vbNewLine &_
                "               <release_ident></release_ident>"& vbNewLine &_
               "               <bom_name>"& aNetworkNodes( 1, row ) &" SunOS</bom_name>"& vbNewLine &_
               "               <bom_type>system</bom_type>"& vbNewLine &_
                "               <bom_id>"& nBomId &"</bom_id>"& vbNewLine &_
               "               <bom_version>"& aNetworkNodes( 2, row ) &"."& aNetworkNodes( 3, row ) &"</bom_version>"& vbNewLine &_
               "               <bom_date>"& DateString &"</bom_date>"& vbNewLine &_
               "               <bom_status>REG</bom_status>"& vbNewLine &_
               "               <bom_status_date>"& DateString &"</bom_status_date>"& vbNewLine &_
                "       </BomHeader>"& vbNewLine 
                

                '-- Get Node Base Configurations Details For Sun OS --
                XMLNode = XMLNode & GetNodeBaseConfigDetailsSunOS ( nBomId, aNetworkNodes( 0, row ) ) & vbNewLine 

                
                '-- Get Node Product Details For Sun OS --
                XMLNode = XMLNode & GetNodeDetailsSunOS ( nBomId, aNetworkNodes( 0, row ) ) & vbNewLine 
                
                
                ' Close xml node tag before saving
                XMLNode = _
                "<BomDistribution>"& vbNewLine &_
                XMLNode &"</BomDistribution>"& vbNewLine
                
                'WScript.Echo XMLNode
                
                If GetNodeBaseConfigDetailsSunOS ( nBomId, aNetworkNodes( 0, row ) ) <> "" OR GetNodeDetailsSunOS ( nBomId, aNetworkNodes( 0, row ) ) <> "" Then                
                        ' Save to a file
                        Call SaveFileToProductionManager( rsQry("version"), rsQry("branch_name"), "E:\wwwTRD\manager_suite_DEVELOPMENT\production_manager\XMLBOMS",  FormatFileName( aNetworkNodes( 1, row ) ) &"_SunOS.xml", XMLNode )
                End If
                
        Next
        
        
        
                  
                        
End Sub
'-----------------------------------------------------------------------------------------------------------------

Function FormatFileName ( sFileName )
        Dim sReturn
        
        sReturn = Replace ( sFileName, "/", "" )        
        sReturn = Replace ( sReturn, "\", "" )  
        sReturn = Replace ( sReturn, "&", "And" )       
        sReturn = Replace ( sReturn, " ", "_" )         
        
        FormatFileName = sReturn
        
End Function
'-----------------------------------------------------------------------------------------------------------------
Function GetNodeBaseConfigDetailsWindows ( nBomId, nNodeId )
        Dim rsQry, XMLPackageString, pkgName, pkgReleaseType, osType
        
        OraDatabase.Parameters.Add "BOM_ID", nBomId, ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "NODE_ID", nNodeId, ORAPARM_INPUT, ORATYPE_NUMBER 
                  
        Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NodeBaseConfigsWindows.sql"), ORADYN_DEFAULT )
        
        OraDatabase.Parameters.Remove "BOM_ID"
        OraDatabase.Parameters.Remove "NODE_ID"
        
        
        While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
                
                If rsQry("is_patch") <> "" Then
                        If rsQry("patch_electronic_name") <> "" Then
                                pkgName = rsQry("patch_electronic_name")
                        Else
                                pkgName = rsQry("pkg_name")
                        End If
                Else
                        If rsQry("win_electronic_name") <> "" Then
                                pkgName = rsQry("win_electronic_name")
                        Else
                                pkgName = rsQry("pkg_name")
                        End If
                End If

                If rsQry("is_patch") = "Y" Then
                        pkgReleaseType = "PT"
                Else
                        pkgReleaseType = "FR"
                End If

                If rsQry("os_name") <> "" Then
                        osType = rsQry("os_name")
                Else
                        osType = rsQry("bos_type")
                End If

                
                XMLPackageString = XMLPackageString &_
                "       <PackageRecord>"& vbNewLine &_
                "               <pkg_name>"& pkgName &"</pkg_name>"& vbNewLine &_
               "               <pkg_version>"& rsQry("pkg_version") &"</pkg_version>"& vbNewLine &_
               "               <pkg_date>2003-03-01</pkg_date>"& vbNewLine &_
               "               <pkg_status>REG</pkg_status>"& vbNewLine &_
               "               <pkg_status_date>"& DateReversed( CDate( rsQry("modified_stamp") ) ) &"</pkg_status_date>"& vbNewLine &_
               "               <pkg_target></pkg_target>"& vbNewLine &_
        "               <pkg_platform_list>"& vbNewLine &_
        "                       <platform_record>"& osType &"</platform_record>"& vbNewLine &_
        "               </pkg_platform_list>"& vbNewLine &_ 
               "               <pkg_release_type>"& pkgReleaseType &"</pkg_release_type>"& vbNewLine &_
                "       </PackageRecord>"& vbNewLine
                
                
                rsQry.MoveNext()
        Wend    
        
        rsQry.Close()
        Set rsQry = Nothing
        
        ' Return string
        GetNodeBaseConfigDetailsWindows = XMLPackageString      
        
End Function
'-----------------------------------------------------------------------------------------------------------------
Function GetNodeBaseConfigDetailsSunOS ( nBomId, nNodeId )
        Dim rsQry, XMLPackageString, pkgName, pkgReleaseType, osType
        
        OraDatabase.Parameters.Add "BOM_ID", nBomId, ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "NODE_ID", nNodeId, ORAPARM_INPUT, ORATYPE_NUMBER 
                  
        Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NodeBaseConfigsSunOS.sql"), ORADYN_DEFAULT )
        
        OraDatabase.Parameters.Remove "BOM_ID"
        OraDatabase.Parameters.Remove "NODE_ID"
        
        
        While (NOT rsQry.BOF) AND (NOT rsQry.EOF)



                If rsQry("is_patch") <> "" Then
                        If rsQry("patch_electronic_name") <> "" Then
                                pkgName = rsQry("patch_electronic_name")
                        Else
                                pkgName = rsQry("pkg_name")
                        End If
                Else
                
                        If rsQry("sunos_electronic_name") <> "" Then
                                pkgName = rsQry("sunos_electronic_name")
                        Else
                                pkgName = rsQry("pkg_name")
                        End If
                End If

                If rsQry("is_patch") = "Y" Then
                        pkgReleaseType = "PT"
                Else
                        pkgReleaseType = "FR"
                End If

                If rsQry("os_name") <> "" Then
                        osType = rsQry("os_name")
                Else
                        osType = rsQry("bos_type")
                End If

                
                XMLPackageString = XMLPackageString &_
                "       <PackageRecord>"& vbNewLine &_
                "               <pkg_name>"& pkgName &"</pkg_name>"& vbNewLine &_
               "               <pkg_version>"& rsQry("pkg_version") &"</pkg_version>"& vbNewLine &_
               "               <pkg_date>2003-03-01</pkg_date>"& vbNewLine &_
               "               <pkg_status>REG</pkg_status>"& vbNewLine &_
               "               <pkg_status_date>"& DateReversed( CDate( rsQry("modified_stamp") ) ) &"</pkg_status_date>"& vbNewLine &_
               "               <pkg_target></pkg_target>"& vbNewLine &_
        "               <pkg_platform_list>"& vbNewLine &_
        "                       <platform_record>"& osType &"</platform_record>"& vbNewLine &_
        "               </pkg_platform_list>"& vbNewLine &_ 
               "               <pkg_release_type>"& pkgReleaseType &"</pkg_release_type>"& vbNewLine &_
                "       </PackageRecord>"& vbNewLine
                
                
                rsQry.MoveNext()
        Wend    
        
        rsQry.Close()
        Set rsQry = Nothing
        
        ' Return string
        GetNodeBaseConfigDetailsSunOS = XMLPackageString        
        
End Function
'-----------------------------------------------------------------------------------------------------------------
Function GetNodeDetailsWindows ( nBomId, nNodeId )
        Dim rsQry, XMLPackageString, pkgName, pkgReleaseType, osType
        
        OraDatabase.Parameters.Add "BOM_ID", nBomId, ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "NODE_ID", nNodeId, ORAPARM_INPUT, ORATYPE_NUMBER 
                  
        Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NodeProductsWindows.sql"), ORADYN_DEFAULT )
        
        OraDatabase.Parameters.Remove "BOM_ID"
        OraDatabase.Parameters.Remove "NODE_ID"
        
        
        While (NOT rsQry.BOF) AND (NOT rsQry.EOF)

                If rsQry("is_patch") <> "" Then
                        If rsQry("patch_electronic_name") <> "" Then
                                pkgName = rsQry("patch_electronic_name")
                        Else
                                pkgName = rsQry("pkg_name")
                        End If
                Else
                
                        If rsQry("win_electronic_name") <> "" Then
                                pkgName = rsQry("win_electronic_name")
                        Else
                                pkgName = rsQry("pkg_name")
                        End If
                End If


                If rsQry("is_patch") = "Y" Then
                        pkgReleaseType = "PT"
                Else
                        pkgReleaseType = "FR"
                End If

                If rsQry("os_name") <> "" Then
                        osType = rsQry("os_name")
                Else
                        osType = rsQry("bos_type")
                End If

                
                XMLPackageString = XMLPackageString &_
                "       <PackageRecord>"& vbNewLine &_
                "               <pkg_name>"& pkgName &"</pkg_name>"& vbNewLine &_
               "               <pkg_version>"& rsQry("pkg_version") &"</pkg_version>"& vbNewLine &_
               "               <pkg_date>2003-03-01</pkg_date>"& vbNewLine &_
               "               <pkg_status>REG</pkg_status>"& vbNewLine &_
               "               <pkg_status_date>"& DateReversed( CDate( rsQry("modified_stamp") ) ) &"</pkg_status_date>"& vbNewLine &_
               "               <pkg_target></pkg_target>"& vbNewLine &_
        "               <pkg_platform_list>"& vbNewLine &_
        "                       <platform_record>"& osType &"</platform_record>"& vbNewLine &_
        "               </pkg_platform_list>"& vbNewLine &_ 
               "               <pkg_release_type>"& pkgReleaseType &"</pkg_release_type>"& vbNewLine &_
                "       </PackageRecord>"& vbNewLine
                
                
                rsQry.MoveNext()
        Wend    
        
        rsQry.Close()
        Set rsQry = Nothing
        
        ' Return string
        GetNodeDetailsWindows = XMLPackageString        
        
End Function
'-----------------------------------------------------------------------------------------------------------------
Function GetNodeDetailsSunOS ( nBomId, nNodeId )
        Dim rsQry, XMLPackageString, pkgName, pkgReleaseType, osType
        
        OraDatabase.Parameters.Add "BOM_ID", nBomId, ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "NODE_ID", nNodeId, ORAPARM_INPUT, ORATYPE_NUMBER 
                  
        Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NodeProductsSunOS.sql"), ORADYN_DEFAULT )
        
        OraDatabase.Parameters.Remove "BOM_ID"
        OraDatabase.Parameters.Remove "NODE_ID"
        
        
        While (NOT rsQry.BOF) AND (NOT rsQry.EOF)

                If rsQry("is_patch") <> "" Then
                        If rsQry("patch_electronic_name") <> "" Then
                                pkgName = rsQry("patch_electronic_name")
                        Else
                                pkgName = rsQry("pkg_name")
                        End If
                Else
                        If rsQry("sunos_electronic_name") <> "" Then
                                pkgName = rsQry("sunos_electronic_name")
                        Else
                                pkgName = rsQry("pkg_name")
                        End If
                End If


                If rsQry("is_patch") = "Y" Then
                        pkgReleaseType = "PT"
                Else
                        pkgReleaseType = "FR"
                End If

                If rsQry("os_name") <> "" Then
                        osType = rsQry("os_name")
                Else
                        osType = rsQry("bos_type")
                End If

                
                XMLPackageString = XMLPackageString &_
                "       <PackageRecord>"& vbNewLine &_
                "               <pkg_name>"& pkgName &"</pkg_name>"& vbNewLine &_
               "               <pkg_version>"& rsQry("pkg_version") &"</pkg_version>"& vbNewLine &_
               "               <pkg_date>2003-03-01</pkg_date>"& vbNewLine &_
               "               <pkg_status>REG</pkg_status>"& vbNewLine &_
               "               <pkg_status_date>"& DateReversed( CDate( rsQry("modified_stamp") ) ) &"</pkg_status_date>"& vbNewLine &_
               "               <pkg_target></pkg_target>"& vbNewLine &_
        "               <pkg_platform_list>"& vbNewLine &_
        "                       <platform_record>"& osType &"</platform_record>"& vbNewLine &_
        "               </pkg_platform_list>"& vbNewLine &_ 
               "               <pkg_release_type>"& pkgReleaseType &"</pkg_release_type>"& vbNewLine &_
                "       </PackageRecord>"& vbNewLine
                
                
                rsQry.MoveNext()
        Wend    
        
        rsQry.Close()
        Set rsQry = Nothing
        
        ' Return string
        GetNodeDetailsSunOS = XMLPackageString  
        
End Function
'-----------------------------------------------------------------------------------------------------------------



'=================================== MAIN LINE ======================================
WScript.Echo "==================== job:GenerateXMLNodeDefenitions ===================="

Set objArgs = WScript.Arguments

If (objArgs.Unnamed.Count > 0) Then
        Wscript.Echo "ERROR: Unnamed parameters!"
        objArgs.ShowUsage
        WScript.Quit
        
Else
        BomId = objArgs.Named.Item("bom_id")
                
        If ( BomId <> "" ) Then
                'Generation of Node Spec Files for Windows OS. 
                Call GenerateXMLNodeDefinitionsWindows( BomId )
                'Generation of Node Spec Files for Sun OS.
                Call GenerateXMLNodeDefinitionsSunOS( BomId )
                        
        Else
                objArgs.ShowUsage
                WScript.Quit
                
        End If
        
End If


WScript.Echo "Job completed successfully!"

'====================================================================================


]]>
                </script>
        </job>
</package>