%
'=====================================================
'| |
'| Files and Folders |
'| Core implementation |
'| |
'=====================================================
%>
<%
'------------ Variable Definition -------------
Dim rsTemp
Dim rsQry
Dim isProduct
Dim sLink
Dim sSize
Dim sIcon
Dim parComparePvId
Dim parCompare
Dim parOsType
Dim sDiffStateIcon
Dim sStyle
Dim dAvailableOsTypes
'------------ Constants Declaration -----------
Const LIMG_UPDATED = "
"
Const LIMG_ADDED = "
"
Const LIMG_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" )
End Select
ElseIf IsNull(pkgInfoHash.Item ("release_notes_info")) Then
Call DisplayInfo ( "GENERATE_FILES_AND_FOLDERS", "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 ""
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
If IsNull(pkgInfoHash.Item("v_ext")) OR (pkgInfoHash.Item("v_ext") = "") Then
OraDatabase.Parameters.Add "V_EXT", NULL, ORAPARM_INPUT, ORATYPE_VARCHAR2
Else
OraDatabase.Parameters.Add "V_EXT", pkgInfoHash.Item("v_ext"), ORAPARM_INPUT, ORATYPE_VARCHAR2
End If
Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("AllPackageVersions.sql"), cint(0))
Response.write ""
While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
If rsQry("dlocked") = "Y" Then
isOfficial = "R "
Else
isOfficial = " "
End If
Response.write ""
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") &" -
Updated, "
Response.write dDiffSummary.Item ("ADDED") &" -
Added, "
Response.write dDiffSummary.Item ("REMOVED") &" -
Removed"
End Sub
'--------------------------------------------------------------------------------------------------------------------------------------
%>
<%
' --- 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 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%>
| Build Platform |