private void processInternalUndeploy ( DeployableUnit du ) throws Exception { // Set the DU as not installed du . setInstalled ( false ) ; // Remove if it was present in waiting list waitingForUninstallDUs . remove ( du ) ; // Update the deployed components from SLEE updateDeployedComponents ( ) ; // Go through the remaining DUs waiting for uninstallation Iterator < DeployableUnit > duIt = waitingForUninstallDUs . iterator ( ) ; while ( duIt . hasNext ( ) ) { DeployableUnit waitingDU = duIt . next ( ) ; // If it is ready for being uninstalled, follow the same procedure if ( waitingDU . isReadyToUninstall ( ) ) { // Schedule removal sleeContainerDeployer . getSleeSubDeployer ( ) . stop ( waitingDU . getURL ( ) , waitingDU . getDeploymentInfoShortName ( ) ) ; // Remove the DU from the waiting list. If it fails, will go back. waitingForUninstallDUs . remove ( waitingDU ) ; // Let's start all over.. :) duIt = waitingForUninstallDUs . iterator ( ) ; } } }
Sets the DU as not installed and remove it from waiting list if present there . Also tries to undeploy DU s waiting for dependencies to be removed .