Subversion Repositories DevTools

Rev

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

Rev Author Line No. Line
3872 dpurdie 1
<%
2
'=====================================================
3
'|                                                   |
6375 dpurdie 4
'|                 Files and Folders                 |
3872 dpurdie 5
'|                 Core implementation               |
6
'|                                                   |
7
'=====================================================
8
%>
9
<%
10
'------------ Variable Definition -------------
11
Dim rsTemp
12
Dim rsQry
13
Dim isProduct
14
Dim sLink
15
Dim sSize
6375 dpurdie 16
Dim sCompSize
3872 dpurdie 17
Dim sIcon
18
Dim parComparePvId
19
Dim parCompare
20
Dim parOsType
21
Dim sDiffStateIcon
22
Dim sStyle
23
Dim dAvailableOsTypes
24
'------------ Constants Declaration -----------
25
Const LIMG_UPDATED = "<img src='images/i_updated.gif' width='11' height='11' border='0' hspace='2' align='absmiddle' title='Updated'>"
26
Const LIMG_ADDED = "<img src='images/i_added.gif' width='11' height='11' border='0' hspace='2' align='absmiddle' title='Added'>"
27
Const LIMG_REMOVED = "<img src='images/i_removed.gif' width='11' height='11' border='0' hspace='2' align='absmiddle' title='Removed'>"
28
'------------ Variable Init -------------------
29
parComparePvId = Request("compare_pv_id")
30
parCompare = Request("compare")
31
parOsType = Request("os_type")
32
'----------------------------------------------
33
If Request("btn") = "Compare" Then
6375 dpurdie 34
    parCompare = "true"
3872 dpurdie 35
End If
36
Set dAvailableOsTypes = CreateObject("Scripting.Dictionary")
37
'----------------------------------------------
38
%>
39
<%
40
'--------------------------------------------------------------------------------------------------------------------------------------
41
 
42
'--------------------------------------------------------------------------------------------------------------------------------------
43
Sub DisplayMessage ()
6375 dpurdie 44
    If (pkgInfoHash.Item ("dlocked") = "Y") Then
45
        If (InStr(pkgInfoHash.Item ("release_notes_info"),"MSG:") > 0) Then 
46
            Select Case CStr( pkgInfoHash.Item ("release_notes_info") )
47
            Case enum_RELEASE_NOTES_GENERATING
48
                Call DisplayInfo ( "GENERATING_RELEASE_NOTES", "400" )
49
            Case enum_RELEASE_NOTES_NOT_FOUND_IN_ARCHIVE
50
                Call DisplayInfo ( "NOT_FOUND_IN_PKG_ARCHIVE_FILE_GENERATE", "400" )
51
            Case enum_RELEASE_NOTES_FAILED
52
                Call DisplayInfo ( "FAILED_GENERATING_RELEASE_NOTES", "400" )
53
            Case enum_RELEASE_NOTES_NO_PREVIOUS_VERSION
54
                Call DisplayInfo ( "NO_PREVIOUS_VERSION_RELEASE_NOTES", "400" )
4705 dpurdie 55
            Case enum_RELEASE_NOTES_PLACEHOLDER_PACKAGE
56
                Call DisplayInfo ( "RELEASE_NOTES_PLACEHOLDER_PACKAGE", "400" )
6375 dpurdie 57
            End Select
58
 
59
        ElseIf IsNull(pkgInfoHash.Item ("release_notes_info")) Then
60
            Call DisplayInfo ( "GENERATING_RELEASE_NOTES", "400" )
61
 
62
        End If
63
 
64
    End If
3872 dpurdie 65
End Sub
66
'--------------------------------------------------------------------------------------------------------------------------------------
67
Sub GetProductOsTypes ( outAvailableOsTypes, outOsType )
6375 dpurdie 68
    Dim rsQry
69
 
70
    ' --- Get all available product os types from captured components ---
71
    OraDatabase.Parameters.Add "PV_ID", parPv_id,   ORAPARM_INPUT, ORATYPE_NUMBER 
72
 
73
    Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductBuildOsTypes.sql"), cint(0))
74
 
75
    OraDatabase.Parameters.Remove "PV_ID"
76
 
77
 
78
    While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
79
        outAvailableOsTypes.Item (CStr(rsQry("os_id"))) = CStr(rsQry("os_id"))
80
 
81
        If outOsType = "" Then
82
            outOsType = CStr(rsQry("os_id"))
83
        End If
84
 
85
        rsQry.MoveNext
3872 dpurdie 86
    WEnd
6375 dpurdie 87
 
88
    rsQry.Close()
89
    Set rsQry = nothing
90
 
3872 dpurdie 91
End Sub
92
'--------------------------------------------------------------------------------------------------------------------------------------
93
Sub DisplayOsTypeCombo ( )
6375 dpurdie 94
    Dim sOsType, aOsTypeParts, selected
95
 
96
 
97
    ' -- Render combo box ---
98
    If dAvailableOsTypes.Count > 0 Then
99
        For Each sOsType In aPRODUCT_OS_BUILD_TYPES
100
            aOsTypeParts = Split( sOsType, "|")
101
 
102
 
103
            If dAvailableOsTypes.Exists ( CStr(aOsTypeParts(1)) ) Then  
104
                ' Define selected item
105
 
106
                selected = ""
107
 
108
                If parOsType = "" Then
109
                    parOsType = aOsTypeParts(1)
110
                    selected = "selected"
111
                Else
112
                    If CStr(parOsType) = CStr(aOsTypeParts(1)) Then
113
                        selected = "selected"
114
                    End If
115
                End If
116
 
117
                Response.write "<option value='"& aOsTypeParts(1) &"' "& selected &">"& aOsTypeParts(0) &"</option>"
118
 
119
            End If
120
 
121
        Next
122
    End If
123
 
3872 dpurdie 124
End Sub
125
'--------------------------------------------------------------------------------------------------------------------------------------
126
Sub DisplayComparePvIdCombo()
6375 dpurdie 127
    Dim rsQry, isOfficial
128
 
129
    ' Define version to compare
130
    If parComparePvId = "" Then
131
        If NOT IsNull( pkgInfoHash.Item("last_pv_id") ) Then 
132
            parComparePvId = pkgInfoHash.Item("last_pv_id")
133
        Else
134
            parComparePvId = 0
135
        End If
136
 
137
    End If
138
 
139
 
140
    OraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId, ORAPARM_INPUT, ORATYPE_NUMBER 
141
    OraDatabase.Parameters.Add "PKG_ID",        pkgInfoHash.Item("pkg_id"), ORAPARM_INPUT, ORATYPE_NUMBER 
142
    OraDatabase.Parameters.Add "V_EXT",         EmptyToNull(pkgInfoHash.Item("v_ext")), ORAPARM_INPUT, ORATYPE_VARCHAR2 
143
 
144
    Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("AllPackageVersions.sql"), cint(0))
145
 
146
    Response.write "<option value=''></option>"
147
 
3872 dpurdie 148
    While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
6375 dpurdie 149
 
150
        If rsQry("dlocked") = "Y" Then
151
            isOfficial = "R&nbsp;"
152
        Else
153
            isOfficial = "&nbsp;&nbsp;&nbsp;&nbsp;"
154
        End If
155
 
156
        Response.write "<option value='"& rsQry("pv_id") &"' "& rsQry("selected") &" >"& isOfficial & rsQry("pkg_version") &"</option>"
157
 
158
        rsQry.MoveNext
3872 dpurdie 159
    WEnd
6375 dpurdie 160
 
161
    ' Clean up
162
    rsQry.Close()
163
    Set rsQry = nothing
164
 
165
    OraDatabase.Parameters.Remove "COMPARE_PV_ID"
166
    OraDatabase.Parameters.Remove "PKG_ID"
167
    OraDatabase.Parameters.Remove "V_EXT"
168
 
3872 dpurdie 169
End Sub
170
'--------------------------------------------------------------------------------------------------------------------------------------
171
Sub GetDiffStateIcon( nDiffState, outIcon, outStyle )
6375 dpurdie 172
    Select Case CInt( nDiffState )
173
        Case enumDB_NUM_DIFF_UPDATED
174
            outIcon  = LIMG_UPDATED
175
            outStyle = "body_rowbold"
176
 
177
        Case enumDB_NUM_DIFF_REMOVED
178
            outIcon = LIMG_REMOVED
179
            outStyle = "body_rowthru"
180
 
181
        Case enumDB_NUM_DIFF_NEW
182
            outIcon = LIMG_ADDED
183
            outStyle = "body_rowbold"
184
 
185
        Case Else
186
            outIcon = ""
187
            outStyle = "body_rowg"
188
 
189
    End Select
190
 
3872 dpurdie 191
End Sub
192
'--------------------------------------------------------------------------------------------------------------------------------------
193
Sub DisplayDiffSummary( orsQry )
6375 dpurdie 194
    Dim dDiffSummary
195
    Set dDiffSummary = CreateObject("Scripting.Dictionary")
196
 
197
    dDiffSummary.Item ("UPDATED") = 0
198
    dDiffSummary.Item ("REMOVED") = 0
199
    dDiffSummary.Item ("ADDED") = 0
200
 
201
    While ((NOT orsQry.BOF) AND (NOT orsQry.EOF))
202
 
203
        Select Case CInt( orsQry("diff_state") )
204
            Case enumDB_NUM_DIFF_UPDATED
205
                dDiffSummary.Item ("UPDATED") = CInt( dDiffSummary.Item ("UPDATED") ) + 1
206
 
207
            Case enumDB_NUM_DIFF_REMOVED
208
                dDiffSummary.Item ("REMOVED") = CInt( dDiffSummary.Item ("REMOVED") ) + 1
209
 
210
            Case enumDB_NUM_DIFF_NEW
211
                dDiffSummary.Item ("ADDED") = CInt( dDiffSummary.Item ("ADDED") ) + 1
212
 
213
        End Select
214
 
215
        orsQry.MoveNext
216
    WEnd
217
 
218
 
219
    ' Reset cursor
220
    orsQry.MoveFirst()
221
 
222
 
223
    ' Display Summary
224
    Response.write dDiffSummary.Item ("UPDATED") &" -<img src='images/i_updated.gif' width='11' height='11' hspace='3'>Updated, "
225
    Response.write dDiffSummary.Item ("ADDED") &" -<img src='images/i_added.gif' width='11' height='11' hspace='3'>Added, "
226
    Response.write dDiffSummary.Item ("REMOVED") &" -<img src='images/i_removed.gif' width='11' height='11' hspace='3'>Removed"
227
 
3872 dpurdie 228
End Sub
229
'--------------------------------------------------------------------------------------------------------------------------------------
230
%>
6375 dpurdie 231
    <!-- DETAILS ------------------------------------------------->
232
    <%
233
    ' --- Decide if pv_id is ERG Product ---
234
    isProduct = FALSE
3872 dpurdie 235
 
236
    if NOT IsEmpty(parOsType) Then
237
 
6375 dpurdie 238
        If NOT IsNull( pkgInfoHash.Item("base_view_id") ) OR ( pkgInfoHash.Item("base_view_id") <> "") Then
239
            If CInt(pkgInfoHash.Item("base_view_id")) = enumBASE_VIEW_PRODUCTS Then
240
                isProduct = TRUE
241
            End If
242
        Else
243
            ' Try to be smart and decide if it is ERG product by name
244
            If (InStr( pkgInfoHash.Item("pkg_name"), "ERG", 0) = 1) OR (InStr( pkgInfoHash.Item("pkg_name"), "VIX", 0) = 1) Then
245
                isProduct = TRUE
246
            End If
3872 dpurdie 247
        End If
6375 dpurdie 248
    End If
3872 dpurdie 249
 
6375 dpurdie 250
    %>  
251
 
252
    <%
253
    ' -- Open Database connection
254
    If isProduct Then
255
        Call GetProductOsTypes ( dAvailableOsTypes, parOsType )
256
 
257
        If parCompare <> "" Then
258
            OraDatabase.Parameters.Add "PV_ID", parPv_id,   ORAPARM_INPUT, ORATYPE_NUMBER 
259
            OraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId, ORAPARM_INPUT, ORATYPE_NUMBER 
260
            OraDatabase.Parameters.Add "OS_ID", parOsType,  ORAPARM_INPUT, ORATYPE_NUMBER 
261
 
262
            Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductComponentDiff.sql"), cint(0))
263
 
264
            OraDatabase.Parameters.Remove "PV_ID"
265
            OraDatabase.Parameters.Remove "COMPARE_PV_ID"
266
            OraDatabase.Parameters.Remove "OS_ID"
267
 
268
        Else
269
 
270
            OraDatabase.Parameters.Add "PV_ID", parPv_id,   ORAPARM_INPUT, ORATYPE_NUMBER 
271
            OraDatabase.Parameters.Add "OS_ID", parOsType,  ORAPARM_INPUT, ORATYPE_NUMBER 
272
 
273
            Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductComponents.sql"), cint(0))
274
 
275
            OraDatabase.Parameters.Remove "PV_ID"
276
            OraDatabase.Parameters.Remove "OS_ID"
277
        End If
278
 
279
    Else
280
 
281
        If parCompare <> "" Then
282
            OraDatabase.Parameters.Add "PV_ID", parPv_id,   ORAPARM_INPUT, ORATYPE_NUMBER 
283
            OraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId, ORAPARM_INPUT, ORATYPE_NUMBER 
284
 
285
            Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ModuleComponentDiff.sql"), cint(0))
286
 
287
            OraDatabase.Parameters.Remove "PV_ID"
288
            OraDatabase.Parameters.Remove "COMPARE_PV_ID"
289
 
290
        Else
291
            OraDatabase.Parameters.Add "PV_ID", parPv_id,   ORAPARM_INPUT, ORATYPE_NUMBER 
292
 
293
            Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ModuleComponents.sql"), cint(0))
294
 
295
            OraDatabase.Parameters.Remove "PV_ID"
296
 
297
        End If
298
 
299
    End If
300
    %>
301
 
3872 dpurdie 302
 
303
    <%If isProduct Then%>
6375 dpurdie 304
 
305
        <%If rsQry.Recordcount > 0 Then%>
306
        <table width="100%"  border="0" cellspacing="1" cellpadding="3">
3872 dpurdie 307
        <tr>
308
          <td nowrap class="body_txt">Build Platform
309
            <select name="os_type" class="form_item">
6375 dpurdie 310
            <%Call DisplayOsTypeCombo()%>
3872 dpurdie 311
            </select>
312
            <input name="btn" type="submit" class="form_btn" value="View"></td>
313
        </tr>
314
      </table> 
6375 dpurdie 315
        <%End If%> 
316
 
317
        <%If rsQry.Recordcount < 1 Then%>
318
 
319
        <%
320
        ' No files found ...
321
        Call DisplayInfo ( "NO_PRODUCT_FILES_CAPTURED", "400" )
322
        %>
323
 
324
        <%End If%>
325
 
326
    <%End If%>                                     
3872 dpurdie 327
 
328
    <%'
329
      ' If not called from a history tab then we display a dialog to allow comparison
330
      ' with another version
331
    %>
332
    <%If pkgCompare Then %>
6375 dpurdie 333
            <form name="formname" method="get" action="<%=ScriptName%>" onSubmit="ProgressBar.style.visibility='visible';">
334
            <br>                      
3872 dpurdie 335
                        <span class="body_colb">Files and Folders</span><br>
6375 dpurdie 336
 
337
                        <%If rsQry.Recordcount > 0 Then%>
338
                        <table width="100%"  border="0" cellspacing="1" cellpadding="3">
339
                          <tr>
340
                            <td nowrap class="body_txt">
341
                                Show differences since version
342
                                <select name="compare_pv_id" class="form_item">
343
                                <%Call DisplayComparePvIdCombo()%>
344
                                </select>
345
                                <input name="btn" type="submit" class="form_btn" value="Compare"> 
346
                            </td>
347
                            <td nowrap class="body_txt" align="right">
348
                                <%If parCompare <> "" Then%>
349
                                    <%Call DisplayDiffSummary( rsQry ) %>
350
                                <%End If%>
351
                            </td>
352
                          </tr>
353
                        </table>
354
                        <hr size="1" noshade color="#999999"> 
355
                        <%End If%>                                               
3872 dpurdie 356
    <%End If%>
357
 
358
    <!-- MODULE COMPONENTS ++++++++++++++++++++++++++++++++++++++ -->
6375 dpurdie 359
 
360
 
361
        <!-- ==================================================== -->
362
        <!-- ===================  COMPARE ======================= -->
363
        <!-- ==================================================== -->
364
        <%If parCompare <> "" Then%>
365
 
3872 dpurdie 366
 
6375 dpurdie 367
            <%If rsQry.Recordcount > 0 Then%>
368
 
369
 
370
            <table width="100%"  border="0" cellspacing="1" cellpadding="3">
371
            <tr>
372
              <td width="1"   background="images/bg_form_lightbluedark.gif" class="form_item"></td>
373
              <td width="60%" background="images/bg_form_lightbluedark.gif" class="form_item">Name</td>
374
              <td width="10%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">Byte Size</td>
375
              <td width="10%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">CKSUM</td>
376
              <td width="10%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">Comp Byte Size</td>
377
              <td width="10%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">Comp CKSUM</td>
378
            </tr>
379
            <%
380
            While ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) 
381
 
382
                Call GetDiffStateIcon( rsQry("diff_state"), sDiffStateIcon, sStyle )
383
 
384
                ' Find if this is file or folder
385
                If IsNull( rsQry("crc_cksum") )  AND  (rsQry("byte_size") = 0) Then 
386
                    sSize = ""
387
                    sCompSize = ""
388
                    sIcon = "<img src='images/rex_images/_folder.gif' border='0' hspace='3' align='absmiddle'>"
389
                Else
390
                    sSize = rsQry("byte_size")
391
                    sCompSize = rsQry("comp_byte_size")
392
                    sIcon = "<img src='images/rex_images/ext_blank.gif' border='0' hspace='3' align='absmiddle'>"
393
                End If
394
 
395
            %>
396
            <tr>
397
              <td background="images/bg_form_lightgray.gif" nowrap class="body_txt_gray"><%=sDiffStateIcon%></td>
398
              <td background="images/bg_form_lightgray.gif" nowrap class="<%=sStyle%>"><%=sIcon & rsQry("name")%></td>
399
              <td background="images/bg_form_lightgray.gif" nowrap class="<%=sStyle%>" align="right"><%=sSize%></td>
400
              <td background="images/bg_form_lightgray.gif" nowrap class="<%=sStyle%>" align="right"><%=rsQry("crc_cksum")%></td>
401
              <td background="images/bg_form_lightgray.gif" nowrap class="<%=sStyle%>" align="right"><%=sCompSize%></td>
402
              <td background="images/bg_form_lightgray.gif" nowrap class="<%=sStyle%>" align="right"><%=rsQry("comp_crc_cksum")%></td>
403
            </tr>
404
            <%
405
                rsQry.MoveNext
406
            WEnd
407
 
408
            rsQry.Close()
409
            Set rsQry = nothing
410
            %>
411
            </table><br>
412
 
413
            <%End If%>
414
 
415
 
416
        <%Else%>
417
        <!-- ==================================================== -->
418
        <!-- =================== NORMAL FILES =================== -->
419
        <!-- ==================================================== -->
3872 dpurdie 420
 
6375 dpurdie 421
            <%If rsQry.Recordcount < 1 Then%>
422
 
423
            <%
424
            ' No files found ...
425
            Call DisplayMessage ()
426
            %>
427
 
428
            <%Else%>
429
 
430
            <table width="100%"  border="0" cellspacing="1" cellpadding="3">
431
            <tr>
432
              <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item">Name</td>
433
              <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">Byte Size</td>
434
              <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">CKSUM</td>
435
              <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">MODCRC</td>
436
            </tr>
437
            <%
438
            Dim uRL
439
            While ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) 
440
                sLink = dpkg_archiveURL & pkgInfoHash.Item ("pkg_name") &"/"& pkgInfoHash.Item ("pkg_version") &"/"& Replace( rsQry("file_path") & rsQry("file_name"), "\", "/" )
441
 
442
                ' Find if this is file or folder
443
                If IsNull( rsQry("crc_cksum") )  AND  (rsQry("byte_size") = 0) Then 
444
                    sSize = ""
445
                    sIcon = "<img src='images/rex_images/_folder.gif' border='0' hspace='3' align='absmiddle'>"
446
                Else
447
                    sSize = rsQry("byte_size")
448
                    sIcon = "<img src='images/rex_images/ext_blank.gif' border='0' hspace='3' align='absmiddle'>"
449
                End If
450
 
451
            %>
452
            <tr>
453
              <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>
454
              <td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=sSize%></td>
455
              <td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=rsQry("crc_cksum")%></td>
456
              <td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=rsQry("crc_modcrc")%></td>
457
            </tr>
458
            <%
459
                rsQry.MoveNext
460
            WEnd
461
 
462
            rsQry.Close()
463
            Set rsQry = nothing
464
            %>
465
            </table><br>
466
 
467
            <%End If%>
468
 
469
 
470
        <!-- ==================================================== -->
471
        <!-- ==================================================== -->
472
        <!-- ==================================================== -->     
473
        <%End If%>      
474
 
3872 dpurdie 475
    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->   
476
    <%If pkgCompare Then %>
6375 dpurdie 477
        <input type="hidden" name="compare" value="<%=parCompare%>">
478
        <input type="hidden" name="pv_id" value="<%=parPv_Id%>">
479
        <input type="hidden" name="rtag_id" value="<%=parRtag_Id%>">
480
        </form>
481
    <%End If%>      
3872 dpurdie 482