class RegiDeleteDeliveryUnitWithUnassign

Public Instance Methods

doExecute(workspaceName) click to toggle source
# 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