Subversion Repositories DevTools

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
13 rsolanki 1
<?xml version="1.0" ?>
2
<package>
3
	<comment>
4
	PrimalCode wizard generated file.
5
	</comment>
6
	<job id="GenerateXMLNodeDefinitons" args="/bom_id:2864" prompt="no">
7
		<?job error="false" debug="false" ?>
8
		<runtime>
9
			<named helpstring="Bom ID" name="bom_id" required="false" type="string"/>
10
		</runtime>
11
		<object id="Oracle_Objects_For_OLE" progid="OracleInProcServer.XOraServer" events="true"/>
12
		<script language="VBScript" src="common_subs.vbs"/>
13
		<script language="VBScript" src="config.vbs"/>
14
		<script id="GenerateXMLNodeDefnitions" language="VBScript">
15
<![CDATA[
16
Option Explicit
17
'=====================================================
25 rsolanki 18
'        Name: 	POST BOM RELEASE
19
' Description:	Generates the BOM XML files that gets
20
'				consumed by the CFManager.
21
' 		INPUT:  BOM_ID
13 rsolanki 22
'=====================================================
23
 
24
'== Variable Definition ==============================
25
Dim BomId
26
Dim objArgs
27
'== Constants Declaration ============================
28
'== Variable Init ====================================
29
'=====================================================
30
 
31
 
32
'-----------------------------------------------------------------------------------------------------------------
25 rsolanki 33
Sub GenerateXMLNodeDefinitions ( nBomId, OS )
13 rsolanki 34
	Dim rsQry, aNetworkNodes, XMLNode, DateString
25 rsolanki 35
	Dim lastRow, row, platform
13 rsolanki 36
 
37
	' Remove existing stuff
38
	Call DeleteFile( APP_ROOT &"downloads\*" )
39
 
40
 
41
	OraDatabase.Parameters.Add "BOM_ID", nBomId, ORAPARM_INPUT, ORATYPE_NUMBER 
42
 
43
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NetworkNodes.sql"), ORADYN_DEFAULT )
44
 
45
	OraDatabase.Parameters.Remove "BOM_ID"
46
 
47
	If rsQry.RecordCount > 0 Then
48
		aNetworkNodes = rsQry.GetRows()
49
 
50
	End If
51
 
52
	lastRow = UBound( aNetworkNodes, 2 )
53
	DateString = DateReversed( Date )
15 rsolanki 54
 
25 rsolanki 55
	If OS = 1 Then platform = "Windows" Else platform = "SunOS"
15 rsolanki 56
 
57
	For row = 0 To lastRow
13 rsolanki 58
 
15 rsolanki 59
		XMLNode = Null
60
 
61
		XMLNode = XMLNode &_
62
		"	<BomHeader>"& vbNewLine &_
63
		"		<release_ident></release_ident>"& vbNewLine &_
25 rsolanki 64
  		"		<bom_name>"& aNetworkNodes( 1, row ) &" "& platform &"</bom_name>"& vbNewLine &_
15 rsolanki 65
	  	"		<bom_type>system</bom_type>"& vbNewLine &_
66
	  	"		<bom_version>"& aNetworkNodes( 2, row ) &"."& aNetworkNodes( 3, row ) &"</bom_version>"& vbNewLine &_
67
	  	"		<bom_date>"& DateString &"</bom_date>"& vbNewLine &_
68
	  	"		<bom_status>REG</bom_status>"& vbNewLine &_
69
	  	"		<bom_status_date>"& DateString &"</bom_status_date>"& vbNewLine &_
70
		"	</BomHeader>"& vbNewLine 
71
 
25 rsolanki 72
		If OS = 1 Then
73
			'-- Get Node Base Configurations Details For Windows OS --
74
			XMLNode = XMLNode & GetNodeBaseConfigDetails ( nBomId, aNetworkNodes( 0, row ), OS ) & vbNewLine 
75
			'-- Get Node Product Details For Windows OS --
76
			XMLNode = XMLNode & GetNodeDetails ( nBomId, aNetworkNodes( 0, row ), OS ) & vbNewLine 
77
		Else
78
			'-- Get Node Base Configurations Details For SunOS --
79
			XMLNode = XMLNode & GetNodeBaseConfigDetails ( nBomId, aNetworkNodes( 0, row ), OS ) & vbNewLine 
80
			'-- Get Node Product Details For SunOS --
81
			XMLNode = XMLNode & GetNodeDetails ( nBomId, aNetworkNodes( 0, row ), OS ) & vbNewLine 
82
		End If
15 rsolanki 83
 
84
		' Close xml node tag before saving
85
		XMLNode = _
86
		"<BomDistribution>"& vbNewLine &_
87
		XMLNode &"</BomDistribution>"& vbNewLine
88
 
89
		'WScript.Echo XMLNode
90
 
25 rsolanki 91
		If OS = 1 Then
92
			If GetNodeBaseConfigDetails ( nBomId, aNetworkNodes( 0, row ), OS ) <> "" OR GetNodeDetails ( nBomId, aNetworkNodes( 0, row ), OS ) <> "" Then
93
				' Save to a file
94
				Call SaveFile( DateString, rsQry("version"), rsQry("branch_name"), APP_ROOT &"downloads",  FormatFileName( aNetworkNodes( 1, row ) ) &"_Windows.xml", XMLNode )
95
			End If
96
		Else
97
			If GetNodeBaseConfigDetails ( nBomId, aNetworkNodes( 0, row ), OS ) <> "" OR GetNodeDetails ( nBomId, aNetworkNodes( 0, row ), OS ) <> "" Then
98
				' Save to a file
99
				Call SaveFile( DateString, rsQry("version"), rsQry("branch_name"), APP_ROOT &"downloads",  FormatFileName( aNetworkNodes( 1, row ) ) &"_SunOS.xml", XMLNode )
100
			End If		
101
		End If		
15 rsolanki 102
 
13 rsolanki 103
	Next
104
 
105
 
106
 
107
 
108
 
109
End Sub
110
'-----------------------------------------------------------------------------------------------------------------
15 rsolanki 111
 
13 rsolanki 112
Function FormatFileName ( sFileName )
113
	Dim sReturn
114
 
115
	sReturn = Replace ( sFileName, "/", "" ) 	
116
	sReturn = Replace ( sReturn, "\", "" ) 	
117
	sReturn = Replace ( sReturn, "&", "And" ) 	
118
	sReturn = Replace ( sReturn, " ", "_" ) 	
119
 
120
	FormatFileName = sReturn
121
 
122
End Function
123
'-----------------------------------------------------------------------------------------------------------------
25 rsolanki 124
Function GetNodeBaseConfigDetails ( nBomId, nNodeId, OS )
125
	Dim rsQry, XMLPackageString, pkgName, pkgReleaseType, osType, pkgVersion
13 rsolanki 126
 
127
	OraDatabase.Parameters.Add "BOM_ID", nBomId, ORAPARM_INPUT, ORATYPE_NUMBER 
25 rsolanki 128
	OraDatabase.Parameters.Add "NODE_ID", nNodeId, ORAPARM_INPUT, ORATYPE_NUMBER
13 rsolanki 129
 
25 rsolanki 130
	If OS = 1 Then   
131
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NodeBaseConfigsWindows.sql"), ORADYN_DEFAULT )
132
	Else
133
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NodeBaseConfigsSunOS.sql"), ORADYN_DEFAULT )
134
	End If
135
 
13 rsolanki 136
	OraDatabase.Parameters.Remove "BOM_ID"
137
	OraDatabase.Parameters.Remove "NODE_ID"
138
 
139
 
140
	While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
25 rsolanki 141
		'Extract the Package Name
142
		pkgName = rsQry("pkg_name")		
143
		If OS = 1 Then
19 rsolanki 144
			If rsQry("win_electronic_name") <> "" Then
145
				pkgName = rsQry("win_electronic_name")
146
			End If
25 rsolanki 147
		Else
148
			If rsQry("sunos_electronic_name") <> "" Then
149
				pkgName = rsQry("sunos_electronic_name")
150
			End If
15 rsolanki 151
		End If
25 rsolanki 152
		'Extract the Package Release Type
15 rsolanki 153
		If rsQry("is_patch") = "Y" Then
154
			pkgReleaseType = "PT"
155
		Else
19 rsolanki 156
			pkgReleaseType = "FR"
15 rsolanki 157
		End If
25 rsolanki 158
		'Extract the OS Name
15 rsolanki 159
		If rsQry("os_name") <> "" Then
160
			osType = rsQry("os_name")
161
		Else
162
			osType = rsQry("bos_type")
163
		End If
25 rsolanki 164
		'Extract the Package Version
165
		pkgVersion = rsQry("pkg_version")
166
		'Extract the Patch Electronic Name
167
		If rsQry("is_patch") <> "" Then
168
			If rsQry("patch_electronic_name") <> "" Then
169
				pkgVersion = rsQry("patch_electronic_name")
170
			End If
171
		End If
15 rsolanki 172
 
13 rsolanki 173
		XMLPackageString = XMLPackageString &_
174
		"	<PackageRecord>"& vbNewLine &_
15 rsolanki 175
		"		<pkg_name>"& pkgName &"</pkg_name>"& vbNewLine &_
25 rsolanki 176
  		"		<pkg_version>"& pkgVersion &"</pkg_version>"& vbNewLine &_
13 rsolanki 177
  		"		<pkg_date>2003-03-01</pkg_date>"& vbNewLine &_
178
  		"		<pkg_status>REG</pkg_status>"& vbNewLine &_
179
  		"		<pkg_status_date>"& DateReversed( CDate( rsQry("modified_stamp") ) ) &"</pkg_status_date>"& vbNewLine &_
180
  		"		<pkg_target></pkg_target>"& vbNewLine &_
181
    	"		<pkg_platform_list>"& vbNewLine &_
15 rsolanki 182
        "			<platform_record>"& osType &"</platform_record>"& vbNewLine &_
13 rsolanki 183
        "		</pkg_platform_list>"& vbNewLine &_ 
15 rsolanki 184
  		"		<pkg_release_type>"& pkgReleaseType &"</pkg_release_type>"& vbNewLine &_
13 rsolanki 185
		"	</PackageRecord>"& vbNewLine
186
 
187
		rsQry.MoveNext()
188
	Wend	
189
 
190
	rsQry.Close()
191
	Set rsQry = Nothing
192
 
193
	' Return string
25 rsolanki 194
	GetNodeBaseConfigDetails = XMLPackageString	
13 rsolanki 195
 
196
End Function
197
'-----------------------------------------------------------------------------------------------------------------
25 rsolanki 198
Function GetNodeDetails ( nBomId, nNodeId, OS )
199
	Dim rsQry, XMLPackageString, pkgName, pkgReleaseType, osType, pkgVersion, pkgDatabase, patchName, rsTemp
15 rsolanki 200
 
201
	OraDatabase.Parameters.Add "BOM_ID", nBomId, ORAPARM_INPUT, ORATYPE_NUMBER 
202
	OraDatabase.Parameters.Add "NODE_ID", nNodeId, ORAPARM_INPUT, ORATYPE_NUMBER 
203
 
25 rsolanki 204
	If OS = 1 Then	  
205
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NodeProductsWindows.sql"), ORADYN_DEFAULT )
206
	Else
207
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NodeProductsSunOS.sql"), ORADYN_DEFAULT )
208
	End If
209
 
15 rsolanki 210
	OraDatabase.Parameters.Remove "BOM_ID"
211
	OraDatabase.Parameters.Remove "NODE_ID"
212
 
213
 
25 rsolanki 214
	While (NOT rsQry.BOF) AND (NOT rsQry.EOF)		
215
		'Extract the Package Name
216
		pkgName = rsQry("pkg_name")
217
		'Extract the Package Version
218
		pkgVersion = rsQry("pkg_version")
219
		If OS = 1 Then
220
			If rsQry("win_electronic_name") <> "" Then
221
				pkgName = rsQry("win_electronic_name")
19 rsolanki 222
			End If
223
		Else
224
			If rsQry("sunos_electronic_name") <> "" Then
225
				pkgName = rsQry("sunos_electronic_name")
226
			End If
15 rsolanki 227
		End If
25 rsolanki 228
		'Extract the Package Release Type
15 rsolanki 229
		If rsQry("is_patch") = "Y" Then
230
			pkgReleaseType = "PT"
25 rsolanki 231
			If rsQry("patch_electronic_name") <> "" Then
232
				pkgVersion = rsQry("patch_electronic_name")
233
			End If
15 rsolanki 234
		Else
19 rsolanki 235
			pkgReleaseType = "FR"
15 rsolanki 236
		End If
25 rsolanki 237
		'Extract the OS Type
15 rsolanki 238
		If rsQry("os_name") <> "" Then
239
			osType = rsQry("os_name")
240
		Else
241
			osType = rsQry("bos_type")
242
		End If
13 rsolanki 243
 
15 rsolanki 244
		XMLPackageString = XMLPackageString &_
245
		"	<PackageRecord>"& vbNewLine &_
246
		"		<pkg_name>"& pkgName &"</pkg_name>"& vbNewLine &_
25 rsolanki 247
  		"		<pkg_version>"& pkgVersion &"</pkg_version>"& vbNewLine &_
15 rsolanki 248
  		"		<pkg_date>2003-03-01</pkg_date>"& vbNewLine &_
249
  		"		<pkg_status>REG</pkg_status>"& vbNewLine &_
250
  		"		<pkg_status_date>"& DateReversed( CDate( rsQry("modified_stamp") ) ) &"</pkg_status_date>"& vbNewLine &_
251
  		"		<pkg_target></pkg_target>"& vbNewLine &_
252
    	"		<pkg_platform_list>"& vbNewLine &_
253
        "			<platform_record>"& osType &"</platform_record>"& vbNewLine &_
25 rsolanki 254
        "		</pkg_platform_list>"& vbNewLine
15 rsolanki 255
 
256
		If rsQry("is_patch") = "Y" Then
257
 
25 rsolanki 258
			OraDatabase.Parameters.Add "PV_ID", rsQry("prod_id"), ORAPARM_INPUT, ORATYPE_NUMBER 
259
			Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery ("DatabasePatch.sql"), ORADYN_DEFAULT )
260
			OraDatabase.Parameters.Remove "PV_ID"
15 rsolanki 261
 
25 rsolanki 262
			pkgDatabase = rsTemp("pkg_name")
263
			patchName = rsTemp("pkg_version")
19 rsolanki 264
 
25 rsolanki 265
			rsTemp.Close()
266
			Set rsTemp = Nothing
15 rsolanki 267
 
25 rsolanki 268
			XMLPackageString = XMLPackageString &_
269
			"		<pkg_database>"& pkgDatabase &"</pkg_database>"& vbNewLine &_
270
			"		<pkg_patch_list>"& vbNewLine &_
271
			"			<patch_name>"& patchName &"</patch_name>"& vbNewLine &_
272
			"		</pkg_patch_list>"& vbNewLine
19 rsolanki 273
 
15 rsolanki 274
		End If
25 rsolanki 275
  		
15 rsolanki 276
		XMLPackageString = XMLPackageString &_
25 rsolanki 277
		"		<pkg_release_type>"& pkgReleaseType &"</pkg_release_type>"& vbNewLine &_
15 rsolanki 278
		"	</PackageRecord>"& vbNewLine
279
 
280
		rsQry.MoveNext()
281
	Wend	
282
 
283
	rsQry.Close()
284
	Set rsQry = Nothing
285
 
286
	' Return string
25 rsolanki 287
	GetNodeDetails = XMLPackageString	
15 rsolanki 288
 
289
End Function
290
'-----------------------------------------------------------------------------------------------------------------
13 rsolanki 291
'=================================== MAIN LINE ======================================
292
WScript.Echo "==================== job:GenerateXMLNodeDefenitions ===================="
293
 
294
Set objArgs = WScript.Arguments
295
 
296
If (objArgs.Unnamed.Count > 0) Then
297
	Wscript.Echo "ERROR: Unnamed parameters!"
298
	objArgs.ShowUsage
299
   	WScript.Quit
300
 
301
Else
302
	BomId = objArgs.Named.Item("bom_id")
25 rsolanki 303
 
304
	Dim Windows, Solaris
305
 
306
	Windows = 1
307
	Solaris = 2
13 rsolanki 308
 
309
	If ( BomId <> "" ) Then
19 rsolanki 310
		'Generation of Node Spec Files for Windows OS. 
25 rsolanki 311
		Call GenerateXMLNodeDefinitions( BomId, Windows )
19 rsolanki 312
		'Generation of Node Spec Files for Sun OS.
25 rsolanki 313
		Call GenerateXMLNodeDefinitions( BomId, Solaris )	
13 rsolanki 314
   	Else
315
   		objArgs.ShowUsage
316
   		WScript.Quit
317
   	End If
318
 
319
End If
320
 
321
 
322
WScript.Echo "Job completed successfully!"
323
 
324
'====================================================================================
325
 
326
 
327
]]>
328
		</script>
329
	</job>
330
</package>