Class: RegiDeleteDeliveryUnitWithUnassign

Inherits:
BaseClassRegi show all
Defined in:
lib/Regiandruby/RegiDeleteDeliveryUnitWithUnassign.rb

Instance Method Summary collapse

Methods inherited from BaseClassRegi

#IsSubPackagesConsidered, #getDeliveryUnit, #getDeliveryUnitVendor, #getDeliveryUnitVersion, #getDeliveryUnitVersionPatch, #getDeliveryUnitVersionSP, #getPackageName, #getPackageNames, #gethdbUserstoreKey, #setDeliveryUnit, #setDeliveryUnitVendor, #setDeliveryUnitVersion, #setDeliveryUnitVersionPatch, #setDeliveryUnitVersionSP, #setPackageName, #setPackageNames, #setSubPackagesConsidered, #setSystemDetails, #sethdbUserstoreKey

Instance Method Details

#doExecute(workspaceName) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/Regiandruby/RegiDeleteDeliveryUnitWithUnassign.rb', line 6

def doExecute(workspaceName)

	self.ensureNotNull('hdbUserstoreKey',self.gethdbUserstoreKey())
	op = self.ensureNotNull('deliveryUnit',self.getDeliveryUnit())

	if op!='Value not specified for deliveryUnit'
		deliveryUnit = self.getDeliveryUnit().upcase
	else
		return false
	end

	self.initCommandLine()
	self.setKeystoreIfPresent()
	self.ensureWorkspaceIsSelected(workspaceName)

	if Dir.exists?(workspaceName)
		Dir.chdir(workspaceName) do
			deliveryUnitstr = self.executeRegiCommandLineWithOutput(['list','deliveryUnits'])

			if deliveryUnitstr!=''
				deliveryUnits = deliveryUnitstr.split(/\r?\n\t/)
			else
				return false
			end

			if deliveryUnits.include?(deliveryUnit)

				outputPackagesstr = self.executeRegiCommandLineWithOutput(['list','deliveryUnit',deliveryUnit,'--key=' + self.gethdbUserstoreKey()])

				if outputPackagesstr!=''
					outputPackages = outputPackagesstr.split(/\r?\n\t/)
				else
					return false
				end

				count = 0
				while count<outputPackages.length do
					self.executeRegiCommandLine(['unassign','packages',outputPackages[count],deliveryUnit,'--key='+self.gethdbUserstoreKey(),'--force'])
					count = count + 1
				end

				if self.executeRegiCommandLine(['delete','deliveryUnit',deliveryUnit,'--vendor=' + self.getDeliveryUnitVendor()])!=true
					return false
				end
			else
				return false
			end
		end
	end

	return true
end