Subversion Repositories DevTools

Rev

Rev 6370 | Rev 6376 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%
'=====================================================
'|                                                   |
'|                 Files and Folders                 |
'|                 Core implementation               |
'|                                                   |
'=====================================================
%>
<%
'------------ Variable Definition -------------
Dim rsTemp
Dim rsQry
Dim isProduct
Dim sLink
Dim sSize
Dim sCompSize
Dim sIcon
Dim parComparePvId
Dim parCompare
Dim parOsType
Dim sDiffStateIcon
Dim sStyle
Dim dAvailableOsTypes
'------------ Constants Declaration -----------
Const LIMG_UPDATED = "<img src='images/i_updated.gif' width='11' height='11' border='0' hspace='2' align='absmiddle' title='Updated'>"
Const LIMG_ADDED = "<img src='images/i_added.gif' width='11' height='11' border='0' hspace='2' align='absmiddle' title='Added'>"
Const LIMG_REMOVED = "<img src='images/i_removed.gif' width='11' height='11' border='0' hspace='2' align='absmiddle' title='Removed'>"
'------------ Variable Init -------------------
parComparePvId = Request("compare_pv_id")
parCompare = Request("compare")
parOsType = Request("os_type")
'----------------------------------------------
If Request("btn") = "Compare" Then
    parCompare = "true"
End If
Set dAvailableOsTypes = CreateObject("Scripting.Dictionary")
'----------------------------------------------
%>
<%
'--------------------------------------------------------------------------------------------------------------------------------------

'--------------------------------------------------------------------------------------------------------------------------------------
Sub DisplayMessage ()
    If (pkgInfoHash.Item ("dlocked") = "Y") Then
        If (InStr(pkgInfoHash.Item ("release_notes_info"),"MSG:") > 0) Then 
            Select Case CStr( pkgInfoHash.Item ("release_notes_info") )
            Case enum_RELEASE_NOTES_GENERATING
                Call DisplayInfo ( "GENERATING_RELEASE_NOTES", "400" )
            Case enum_RELEASE_NOTES_NOT_FOUND_IN_ARCHIVE
                Call DisplayInfo ( "NOT_FOUND_IN_PKG_ARCHIVE_FILE_GENERATE", "400" )
            Case enum_RELEASE_NOTES_FAILED
                Call DisplayInfo ( "FAILED_GENERATING_RELEASE_NOTES", "400" )
            Case enum_RELEASE_NOTES_NO_PREVIOUS_VERSION
                Call DisplayInfo ( "NO_PREVIOUS_VERSION_RELEASE_NOTES", "400" )
            Case enum_RELEASE_NOTES_PLACEHOLDER_PACKAGE
                Call DisplayInfo ( "RELEASE_NOTES_PLACEHOLDER_PACKAGE", "400" )
            End Select
            
        ElseIf IsNull(pkgInfoHash.Item ("release_notes_info")) Then
            Call DisplayInfo ( "GENERATING_RELEASE_NOTES", "400" )
            
        End If
        
    End If
End Sub
'--------------------------------------------------------------------------------------------------------------------------------------
Sub GetProductOsTypes ( outAvailableOsTypes, outOsType )
    Dim rsQry
    
    ' --- Get all available product os types from captured components ---
    OraDatabase.Parameters.Add "PV_ID", parPv_id,   ORAPARM_INPUT, ORATYPE_NUMBER 
    
    Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductBuildOsTypes.sql"), cint(0))
    
    OraDatabase.Parameters.Remove "PV_ID"
    
    
    While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
        outAvailableOsTypes.Item (CStr(rsQry("os_id"))) = CStr(rsQry("os_id"))
        
        If outOsType = "" Then
            outOsType = CStr(rsQry("os_id"))
        End If
        
        rsQry.MoveNext
    WEnd
    
    rsQry.Close()
    Set rsQry = nothing
    
End Sub
'--------------------------------------------------------------------------------------------------------------------------------------
Sub DisplayOsTypeCombo ( )
    Dim sOsType, aOsTypeParts, selected
    
    
    ' -- Render combo box ---
    If dAvailableOsTypes.Count > 0 Then
        For Each sOsType In aPRODUCT_OS_BUILD_TYPES
            aOsTypeParts = Split( sOsType, "|")
            
            
            If dAvailableOsTypes.Exists ( CStr(aOsTypeParts(1)) ) Then  
                ' Define selected item
                
                selected = ""
                
                If parOsType = "" Then
                    parOsType = aOsTypeParts(1)
                    selected = "selected"
                Else
                    If CStr(parOsType) = CStr(aOsTypeParts(1)) Then
                        selected = "selected"
                    End If
                End If
                
                Response.write "<option value='"& aOsTypeParts(1) &"' "& selected &">"& aOsTypeParts(0) &"</option>"
                
            End If
            
        Next
    End If
    
End Sub
'--------------------------------------------------------------------------------------------------------------------------------------
Sub DisplayComparePvIdCombo()
    Dim rsQry, isOfficial
    
    ' Define version to compare
    If parComparePvId = "" Then
        If NOT IsNull( pkgInfoHash.Item("last_pv_id") ) Then 
            parComparePvId = pkgInfoHash.Item("last_pv_id")
        Else
            parComparePvId = 0
        End If
        
    End If
    
    
    OraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId, ORAPARM_INPUT, ORATYPE_NUMBER 
    OraDatabase.Parameters.Add "PKG_ID",        pkgInfoHash.Item("pkg_id"), ORAPARM_INPUT, ORATYPE_NUMBER 
    OraDatabase.Parameters.Add "V_EXT",         EmptyToNull(pkgInfoHash.Item("v_ext")), ORAPARM_INPUT, ORATYPE_VARCHAR2 
    
    Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("AllPackageVersions.sql"), cint(0))
    
    Response.write "<option value=''></option>"
    
    While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
        
        If rsQry("dlocked") = "Y" Then
            isOfficial = "R&nbsp;"
        Else
            isOfficial = "&nbsp;&nbsp;&nbsp;&nbsp;"
        End If
        
        Response.write "<option value='"& rsQry("pv_id") &"' "& rsQry("selected") &" >"& isOfficial & rsQry("pkg_version") &"</option>"
        
        rsQry.MoveNext
    WEnd
    
    ' Clean up
    rsQry.Close()
    Set rsQry = nothing
    
    OraDatabase.Parameters.Remove "COMPARE_PV_ID"
    OraDatabase.Parameters.Remove "PKG_ID"
    OraDatabase.Parameters.Remove "V_EXT"
    
End Sub
'--------------------------------------------------------------------------------------------------------------------------------------
Sub GetDiffStateIcon( nDiffState, outIcon, outStyle )
    Select Case CInt( nDiffState )
        Case enumDB_NUM_DIFF_UPDATED
            outIcon  = LIMG_UPDATED
            outStyle = "body_rowbold"
            
        Case enumDB_NUM_DIFF_REMOVED
            outIcon = LIMG_REMOVED
            outStyle = "body_rowthru"
            
        Case enumDB_NUM_DIFF_NEW
            outIcon = LIMG_ADDED
            outStyle = "body_rowbold"
            
        Case Else
            outIcon = ""
            outStyle = "body_rowg"
            
    End Select
    
End Sub
'--------------------------------------------------------------------------------------------------------------------------------------
Sub DisplayDiffSummary( orsQry )
    Dim dDiffSummary
    Set dDiffSummary = CreateObject("Scripting.Dictionary")
    
    dDiffSummary.Item ("UPDATED") = 0
    dDiffSummary.Item ("REMOVED") = 0
    dDiffSummary.Item ("ADDED") = 0
    
    While ((NOT orsQry.BOF) AND (NOT orsQry.EOF))
        
        Select Case CInt( orsQry("diff_state") )
            Case enumDB_NUM_DIFF_UPDATED
                dDiffSummary.Item ("UPDATED") = CInt( dDiffSummary.Item ("UPDATED") ) + 1
                
            Case enumDB_NUM_DIFF_REMOVED
                dDiffSummary.Item ("REMOVED") = CInt( dDiffSummary.Item ("REMOVED") ) + 1
                
            Case enumDB_NUM_DIFF_NEW
                dDiffSummary.Item ("ADDED") = CInt( dDiffSummary.Item ("ADDED") ) + 1
                
        End Select
        
        orsQry.MoveNext
    WEnd
    
    
    ' Reset cursor
    orsQry.MoveFirst()
    
    
    ' Display Summary
    Response.write dDiffSummary.Item ("UPDATED") &" -<img src='images/i_updated.gif' width='11' height='11' hspace='3'>Updated, "
    Response.write dDiffSummary.Item ("ADDED") &" -<img src='images/i_added.gif' width='11' height='11' hspace='3'>Added, "
    Response.write dDiffSummary.Item ("REMOVED") &" -<img src='images/i_removed.gif' width='11' height='11' hspace='3'>Removed"
    
End Sub
'--------------------------------------------------------------------------------------------------------------------------------------
%>
    <!-- DETAILS ------------------------------------------------->
    <%
    ' --- Decide if pv_id is ERG Product ---
    isProduct = FALSE

    if NOT IsEmpty(parOsType) Then

        If NOT IsNull( pkgInfoHash.Item("base_view_id") ) OR ( pkgInfoHash.Item("base_view_id") <> "") Then
            If CInt(pkgInfoHash.Item("base_view_id")) = enumBASE_VIEW_PRODUCTS Then
                isProduct = TRUE
            End If
        Else
            ' Try to be smart and decide if it is ERG product by name
            If (InStr( pkgInfoHash.Item("pkg_name"), "ERG", 0) = 1) OR (InStr( pkgInfoHash.Item("pkg_name"), "VIX", 0) = 1) Then
                isProduct = TRUE
            End If
        End If
    End If

    %>  
            
    <%
    ' -- Open Database connection
    If isProduct Then
        Call GetProductOsTypes ( dAvailableOsTypes, parOsType )
                
        If parCompare <> "" Then
            OraDatabase.Parameters.Add "PV_ID", parPv_id,   ORAPARM_INPUT, ORATYPE_NUMBER 
            OraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId, ORAPARM_INPUT, ORATYPE_NUMBER 
            OraDatabase.Parameters.Add "OS_ID", parOsType,  ORAPARM_INPUT, ORATYPE_NUMBER 
                    
            Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductComponentDiff.sql"), cint(0))
                    
            OraDatabase.Parameters.Remove "PV_ID"
            OraDatabase.Parameters.Remove "COMPARE_PV_ID"
            OraDatabase.Parameters.Remove "OS_ID"
                    
        Else
                    
            OraDatabase.Parameters.Add "PV_ID", parPv_id,   ORAPARM_INPUT, ORATYPE_NUMBER 
            OraDatabase.Parameters.Add "OS_ID", parOsType,  ORAPARM_INPUT, ORATYPE_NUMBER 
                    
            Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductComponents.sql"), cint(0))
                    
            OraDatabase.Parameters.Remove "PV_ID"
            OraDatabase.Parameters.Remove "OS_ID"
        End If
                
    Else
                
        If parCompare <> "" Then
            OraDatabase.Parameters.Add "PV_ID", parPv_id,   ORAPARM_INPUT, ORATYPE_NUMBER 
            OraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId, ORAPARM_INPUT, ORATYPE_NUMBER 
                    
            Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ModuleComponentDiff.sql"), cint(0))
                    
            OraDatabase.Parameters.Remove "PV_ID"
            OraDatabase.Parameters.Remove "COMPARE_PV_ID"
                    
        Else
            OraDatabase.Parameters.Add "PV_ID", parPv_id,   ORAPARM_INPUT, ORATYPE_NUMBER 
                    
            Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ModuleComponents.sql"), cint(0))
                    
            OraDatabase.Parameters.Remove "PV_ID"
                    
        End If
                
    End If
    %>
            

    <%If isProduct Then%>
              
        <%If rsQry.Recordcount > 0 Then%>
        <table width="100%"  border="0" cellspacing="1" cellpadding="3">
        <tr>
          <td nowrap class="body_txt">Build Platform
            <select name="os_type" class="form_item">
            <%Call DisplayOsTypeCombo()%>
            </select>
            <input name="btn" type="submit" class="form_btn" value="View"></td>
        </tr>
      </table> 
        <%End If%> 
                  
        <%If rsQry.Recordcount < 1 Then%>
                    
        <%
        ' No files found ...
        Call DisplayInfo ( "NO_PRODUCT_FILES_CAPTURED", "400" )
        %>
                  
        <%End If%>
                      
    <%End If%>                                     

    <%'
      ' If not called from a history tab then we display a dialog to allow comparison
      ' with another version
    %>
    <%If pkgCompare Then %>
            <form name="formname" method="get" action="<%=ScriptName%>" onSubmit="ProgressBar.style.visibility='visible';">
            <br>                      
                        <span class="body_colb">Files and Folders</span><br>
                        
                        <%If rsQry.Recordcount > 0 Then%>
                        <table width="100%"  border="0" cellspacing="1" cellpadding="3">
                          <tr>
                            <td nowrap class="body_txt">
                                Show differences since version
                                <select name="compare_pv_id" class="form_item">
                                <%Call DisplayComparePvIdCombo()%>
                                </select>
                                <input name="btn" type="submit" class="form_btn" value="Compare"> 
                            </td>
                            <td nowrap class="body_txt" align="right">
                                <%If parCompare <> "" Then%>
                                    <%Call DisplayDiffSummary( rsQry ) %>
                                <%End If%>
                            </td>
                          </tr>
                        </table>
                        <hr size="1" noshade color="#999999"> 
                        <%End If%>                                               
    <%End If%>

    <!-- MODULE COMPONENTS ++++++++++++++++++++++++++++++++++++++ -->
              
              
        <!-- ==================================================== -->
        <!-- ===================  COMPARE ======================= -->
        <!-- ==================================================== -->
        <%If parCompare <> "" Then%>
                  

            <%If rsQry.Recordcount > 0 Then%>
                        
                        
            <table width="100%"  border="0" cellspacing="1" cellpadding="3">
            <tr>
              <td width="1"   background="images/bg_form_lightbluedark.gif" class="form_item"></td>
              <td width="60%" background="images/bg_form_lightbluedark.gif" class="form_item">Name</td>
              <td width="10%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">Byte Size</td>
              <td width="10%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">CKSUM</td>
              <td width="10%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">Comp Byte Size</td>
              <td width="10%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">Comp CKSUM</td>
            </tr>
            <%
            While ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) 
                            
                Call GetDiffStateIcon( rsQry("diff_state"), sDiffStateIcon, sStyle )
                            
                ' Find if this is file or folder
                If IsNull( rsQry("crc_cksum") )  AND  (rsQry("byte_size") = 0) Then 
                    sSize = ""
                    sCompSize = ""
                    sIcon = "<img src='images/rex_images/_folder.gif' border='0' hspace='3' align='absmiddle'>"
                Else
                    sSize = rsQry("byte_size")
                    sCompSize = rsQry("comp_byte_size")
                    sIcon = "<img src='images/rex_images/ext_blank.gif' border='0' hspace='3' align='absmiddle'>"
                End If
                            
            %>
            <tr>
              <td background="images/bg_form_lightgray.gif" nowrap class="body_txt_gray"><%=sDiffStateIcon%></td>
              <td background="images/bg_form_lightgray.gif" nowrap class="<%=sStyle%>"><%=sIcon & rsQry("name")%></td>
              <td background="images/bg_form_lightgray.gif" nowrap class="<%=sStyle%>" align="right"><%=sSize%></td>
              <td background="images/bg_form_lightgray.gif" nowrap class="<%=sStyle%>" align="right"><%=rsQry("crc_cksum")%></td>
              <td background="images/bg_form_lightgray.gif" nowrap class="<%=sStyle%>" align="right"><%=sCompSize%></td>
              <td background="images/bg_form_lightgray.gif" nowrap class="<%=sStyle%>" align="right"><%=rsQry("comp_crc_cksum")%></td>
            </tr>
            <%
                rsQry.MoveNext
            WEnd
                        
            rsQry.Close()
            Set rsQry = nothing
            %>
            </table><br>
                  
            <%End If%>
                      
                  
        <%Else%>
        <!-- ==================================================== -->
        <!-- =================== NORMAL FILES =================== -->
        <!-- ==================================================== -->

            <%If rsQry.Recordcount < 1 Then%>
                        
            <%
            ' No files found ...
            Call DisplayMessage ()
            %>
                      
            <%Else%>
                      
            <table width="100%"  border="0" cellspacing="1" cellpadding="3">
            <tr>
              <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item">Name</td>
              <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">Byte Size</td>
              <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">CKSUM</td>
              <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">MODCRC</td>
            </tr>
            <%
            Dim uRL
            While ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) 
                sLink = dpkg_archiveURL & pkgInfoHash.Item ("pkg_name") &"/"& pkgInfoHash.Item ("pkg_version") &"/"& Replace( rsQry("file_path") & rsQry("file_name"), "\", "/" )
                            
                ' Find if this is file or folder
                If IsNull( rsQry("crc_cksum") )  AND  (rsQry("byte_size") = 0) Then 
                    sSize = ""
                    sIcon = "<img src='images/rex_images/_folder.gif' border='0' hspace='3' align='absmiddle'>"
                Else
                    sSize = rsQry("byte_size")
                    sIcon = "<img src='images/rex_images/ext_blank.gif' border='0' hspace='3' align='absmiddle'>"
                End If
                            
            %>
            <tr>
              <td background="images/bg_form_lightgray.gif" nowrap><a target="_blank" href="<%=sLink%>" class="body_txt_gray_link"><%=sIcon & rsQry("file_path") & rsQry("file_name")%></a></td>
              <td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=sSize%></td>
              <td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=rsQry("crc_cksum")%></td>
              <td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=rsQry("crc_modcrc")%></td>
            </tr>
            <%
                rsQry.MoveNext
            WEnd
                        
            rsQry.Close()
            Set rsQry = nothing
            %>
            </table><br>
                  
            <%End If%>
                      
                      
        <!-- ==================================================== -->
        <!-- ==================================================== -->
        <!-- ==================================================== -->     
        <%End If%>      
                    
    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->   
    <%If pkgCompare Then %>
        <input type="hidden" name="compare" value="<%=parCompare%>">
        <input type="hidden" name="pv_id" value="<%=parPv_Id%>">
        <input type="hidden" name="rtag_id" value="<%=parRtag_Id%>">
        </form>
    <%End If%>