Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
165 brianf 1
<%
2
'=====================================================
3
'                release_changed.asp
4
'=====================================================
5
%>
6
<%
7
' Release Change Mode
8
Const enumRELEASE_CHANGE_MODE_PKG_ADDED = 1 'Package added to release
9
Const enumRELEASE_CHANGE_MODE_PKG_REMOVED = 2 'Package removed from release
10
Const enumRELEASE_CHANGE_MODE_PKG_RELEASED = 3 'Package released
11
 
12
 
13
Class ReleaseChanged
14
 
15
private m_pkg_name
16
private m_pkg_version
17
private m_pkg_id
18
private m_proj_id
19
 
20
'-----------------------------------------------------------------------------------------------------------------
21
' Retrieves package infomation for the specified package version
22
' This information is required for the make_release_changed script
23
Public Sub Get_Package_Info (artag_id,apv_id)
167 brianf 24
   Dim ssql, rsTemp
165 brianf 25
 
26
   ' Get package information   
27
   ssql = _
28
   " SELECT pv.pkg_id,pk.pkg_name,pv.pkg_version,rt.proj_id"&_
29
   " FROM package_versions pv, packages pk, release_tags rt"&_
30
   " WHERE" &_
31
   "     pv.pv_id = " & apv_id &_
32
   " AND pv.pkg_id = pk.pkg_id" &_
33
   " AND rt.rtag_id = " & artag_id
34
 
35
   Set rsTemp = OraDatabase.CreateDynaset( ssql, cint(0))
36
 
37
   If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
38
      m_pkg_name = rsTemp("pkg_name")
39
      m_pkg_version = rsTemp("pkg_version")
40
      m_pkg_id = rsTemp("pkg_id")
41
      m_proj_id = rsTemp("proj_id")
42
   Else
43
      Err.Raise 8, "Error getting package information.  PV_ID, " & APV_ID & " not found in."
44
      Call RaiseMsg ( enum_MSG_ERROR, Err.description )
45
   End If
46
   rsTemp.Close
47
   Set rsTemp = Nothing
48
End Sub
49
 
50
'-----------------------------------------------------------------------------------------------------------------
51
' Run script job, ReleaseChanged, of script, on_Make_Official.wsf for the specified list of package versions.
52
' apv_id_list is a comma separated list of pv_id's
53
Sub Run_ReleaseChanged_List(artag_id,apv_id_list,amode_id)
54
  Dim pv_id, idArr
55
 
56
  idArr = Split(apv_id_list,",")
57
  For Each pv_id in idArr
167 brianf 58
    If IsReleased(artag_id,pv_id) Then
59
      Call Run_ReleaseChanged(artag_id,pv_id,amode_id,true)
60
    End If
165 brianf 61
  Next
62
End Sub
63
 
64
'-----------------------------------------------------------------------------------------------------------------
65
' Run script job, ReleaseChanged, of script, on_Make_Official.wsf for the specified package version.
66
' This job calls the unix script, make_release_changed
67
Sub Run_ReleaseChanged(artag_id,apv_id,amode_id,aget_info)
68
  Dim sysShell: Set sysShell = Server.CreateObject("WScript.Shell")
69
 
70
  if aget_info then
71
    Call Get_Package_Info (artag_id,apv_id)
72
  end if
73
 
74
  Call sysSHell.Run("cmd.exe /c cscript.exe //B //NoLogo " & rootPath & SCRIPTS_FOLDER &"\on_Make_Official.wsf //job:ReleaseChanged" & " /pkg_name:""" & m_pkg_name & """" & " /pkg_version:""" & m_pkg_version & """" & " /rtag_id:" & artag_id & " /pkg_id:" & m_pkg_id & " /pv_id:" & apv_id & " /proj_id:" & m_proj_id & " /mode_id:" & amode_id, 0, False)
75
  Set sysShell = Nothing
76
End Sub
77
 
167 brianf 78
'-----------------------------------------------------------------------------------------------------------------------------
79
' Get the package are in which the package version resides (ie wip, planned, released)
80
Function Get_Pkg_Area (artagId, apvId)
81
   OraDatabase.Parameters.Add "RTAG_ID",        artagId,                 ORAPARM_INPUT, ORATYPE_NUMBER
82
   OraDatabase.Parameters.Add "PV_ID",          apvId,                   ORAPARM_INPUT, ORATYPE_NUMBER
83
   OraDatabase.Parameters.Add "PKG_AREA",       -1,                      ORAPARM_OUTPUT,ORATYPE_NUMBER
84
 
85
   OraDatabase.ExecuteSQL _
86
   "BEGIN "&_
87
   " :PKG_AREA := PK_ENVIRONMENT.GET_PACKAGE_AREA ( :PV_ID, :RTAG_ID ); "&_
88
   "END; "
89
   Get_Pkg_Area = OraDatabase.Parameters("PKG_AREA").Value
90
 
91
   OraDatabase.Parameters.Remove "RTAG_ID"
92
   OraDatabase.Parameters.Remove "PV_ID"
93
   OraDatabase.Parameters.Remove "PKG_AREA"
94
End Function
95
 
96
'-----------------------------------------------------------------------------------------------------------------------------
97
' Returns TRUE if the specified package is released
98
Function IsReleased (artagId, apvId)
99
  IsReleased = (CInt(Get_Pkg_Area(artagId, apvId)) = CInt(enum_PKG_AREA_RELEASED))
100
End Function
101
 
165 brianf 102
End Class
103
%>