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