%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
' diffmerge.asp
'=====================================================
%>
<%
Option explicit
' Good idea to set when using redirect
Response.Expires = 0 ' always load the page, dont store
%>
<%
'To enable the script timeout to 5 mins
Server.ScriptTimeout=600
%>
<%
' Set rfile parameter. This is a return page after Login
'Call objPMod.StoreParameter ( "rfile", "rtree.asp" )
'objPMod.PersistInQryString("proj_id")
'------------ ACCESS CONTROL ------------------
%>
<%
'------------ Variable Definition -------------
Dim rsQry
Dim objRelCollectorA
Dim objRelCollectorB
Dim parRtagA
Dim parRtagB
Dim parSBOMA
Dim parSBOMB
Dim dDiffFilter
Dim colorA, colorB, ChangeTypeIcon
Dim btnMerge, btnRemove
Dim rowId
Dim email
Dim FSO
Dim NewTextFile
Dim pkgA, pkgB, pkgname, delimiter, rsQryA, rsQryB, rsQryCommentsA, rsQryCommentsB, sqlstrA, counterA, sqlstrB, counterB
Dim SSsql, retVal, rsCQ, DEVIiss
Dim a, b, c, d, pkgversion, errormsg, source_change
'------------ Constants Declaration -----------
Const LIMG_UPDATED = "
"
Const LIMG_ADDED = "
"
Const LIMG_REMOVED = "
"
Const LIMG_FILTER_ON = "
"
Const LIMG_FILTER_OFF = "
"
Const LIMG_DROP_DOWN_ARROW = "
"
Const LCOLOR_NOT_CHANGED = "#F5F5F5"
Const LCOLOR_CHANGED = "#d2f7c9"
Const LCOLOR_BLANK = "#FFFFFF"
Const LIMG_MERGE = "
"
Const LIMG_MERGE_WARN = "
"
Const LIMG_REMOVE = "
"
Const LIMG_UNDO = "
"
'------------ Variable Init -------------------
Set rsCQ = Server.CreateObject("ADODB.Recordset")
parRtagA = Request("rtagA")
parRtagB = Request("rtagB")
parSBOMA = Request("sbomA")
parSBOMB = Request("sbomB")
Set objRelCollectorA = CreateObject("Scripting.Dictionary")
Set objRelCollectorB = CreateObject("Scripting.Dictionary")
Set dDiffFilter = CreateObject("Scripting.Dictionary")
'----------------------------------------------
If Request("btn") = "Mail Me Report" Then
email = true
End If
%>
<%
'--------------------------------------------------------------------------------------------------------------------------
Sub GetDiffFilterValues ( outDepFilter )
Dim FilterVal, aFilterValues
If Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) <> "" Then
aFilterValues = Split( Replace( Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER), " ", ""), ",")
For Each FilterVal In aFilterValues
outDepFilter.Item (CStr( FilterVal )) = ""
Next
End If
End Sub
'--------------------------------------------------------------------------------------------------------------------------
Sub GetFixedIssues(pv_id)
Set sqlstrA = OraDatabase.DbCreateDynaset("SELECT iss_db, iss_id, iss_state, notes FROM CQ_ISSUES WHERE pv_id="& pv_id &" AND iss_state = "& enumISSUES_STATE_FIXED, cint(0))
If sqlstrA.RecordCount <> 0 Then
NewTextFile.WriteLine()
NewTextFile.WriteLine("
") End If For counterA=1 to sqlstrA.RecordCount DEVIiss = "-1" If CInt(sqlstrA("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) Then DEVIiss = DEVIiss &","& sqlstrA("iss_id") End If SSsql = ReadFile( QUERIES_PATH & "\cq_issues.sql" ) SSsql = Replace( SSsql, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID) SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss) retVal = Get_CQ_Issues ( SSsql, rsCQ ) If rsCQ("iss_num") <> "" Then NewTextFile.Write("Fixed Issues:
") End If sqlstrA.MoveNext Next sqlstrA.Close() End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub GetDependencies(pv_id_a, pv_id_b) Set sqlstrA = OraDatabase.DbCreateDynaset("select * from package_dependencies where pv_id = "& pv_id_b &" and dpv_id NOT IN (SELECT dpv_id from package_dependencies where pv_id ="& pv_id_a &" )", cint(0)) If sqlstrA.RecordCount <> 0 Then NewTextFile.WriteLine() NewTextFile.WriteLine("Dependencies Changed:") End If For counterA=1 to sqlstrA.RecordCount Call dependencyComments(sqlstrA("dpv_id")) sqlstrA.MoveNext Next sqlstrA.Close() End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub dependencyComments(pv_id) Set sqlstrB = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS pv, PACKAGES pkg WHERE pkg.pkg_id = pv.pkg_id AND PV_ID ="&pv_id, cint(0)) NewTextFile.Write(""&rsCQ("iss_num")&": ") End If If rsCQ("summary") <> "" Then NewTextFile.WriteLine(rsCQ("summary")&"
") End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub LastPvIdA(a) Dim qryA Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&a , cint(0)) If a <> qryA("last_pv_id") Then a = qryA("last_pv_id") Else errormsg = true End If qryA.Close() End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub LastPvIdB(b) Dim qryB Set qryB = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&b , cint(0)) If b <> qryB("last_pv_id") Then b = qryB("last_pv_id") Else errormsg = true End If qryB.Close() End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub pkg_Version(pv) Dim qry Set qry = OraDatabase.DbCreateDynaset("SELECT PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&pv , cint(0)) pkgversion = qry("pkg_version") qry.Close() End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub LastPvIdAa(a) Dim qryA Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&a , cint(0)) c = qryA("last_pv_id") qryA.Close() End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub LastPvIdBb(b) Dim qryB Set qryB = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&b , cint(0)) d = qryB("last_pv_id") qryB.Close() End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub Comments(Pv_Id) Dim comments Set comments = OraDatabase.DbCreateDynaset("SELECT COMMENTS, PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&Pv_id , cint(0)) If comments("comments") <> "Rippled Build." Then NewTextFile.WriteLine(""& sqlstrB("pkg_name") &" "& sqlstrB("pkg_version") &"---->"& TextToHTML(sqlstrB("comments")) &"
") If comments("comments") <> "" Then NewTextFile.WriteLine("Version: "& comments("pkg_version")&"
") NewTextFile.WriteLine("Comments:
") source_change = true End If End If End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub Release(pvId) Dim release Set release = OraDatabase.DbCreateDynaset("SELECT INSERT_STAMP FROM RELEASE_CONTENT WHERE PV_ID="&pvId , cint(0)) If release("insert_stamp") <> "" Then NewTextFile.Write(release("insert_stamp")) Else NewTextFile.Write("Version Not Used.") End If End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub Header() NewTextFile.WriteLine("") End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub Footer() NewTextFile.WriteLine("") End Sub '-------------------------------------------------------------------------------------------------------------------------- Function GetIsDiffFilterInUseIcon() GetIsDiffFilterInUseIcon = LIMG_FILTER_OFF & LIMG_DROP_DOWN_ARROW If dDiffFilter.Count > 0 Then GetIsDiffFilterInUseIcon = LIMG_FILTER_ON & LIMG_DROP_DOWN_ARROW End If End Function '-------------------------------------------------------------------------------------------------------------------------- Function GetIsDiffFilterChecked( nFilterId ) If dDiffFilter.Exists ( CStr(nFilterId) ) Then GetIsDiffFilterChecked = "checked" End If End Function '--------------------------------------------------------------------------------------------------------------------------- Function Get_CQ_Issues ( SSsql, OOrsCQ ) On Error Resume Next Set OOrsCQ = OraDatabase.DbCreateDynaset( SSsql, cint(0)) Get_CQ_Issues = Err.Number End Function '-------------------------------------------------------------------------------------------------------------------------- Public Function TextToHTML ( sString ) Dim mString If (sString = "") OR IsNull(sString) Then Exit Function mString = Server.HTMLEncode( sString ) mString = Replace(mString, VBNewLine, ""& TextToHTML(comments("comments")) &"