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();
      }
    }
  }
private void processInternalUndeploy(DeployableUnit du) throws Exception {
    
    du.setInstalled(false);

    
    waitingForUninstallDUs.remove(du);

    
    updateDeployedComponents();

    
    Iterator<DeployableUnit> duIt = waitingForUninstallDUs.iterator();

    while (duIt.hasNext()) {
      DeployableUnit waitingDU = duIt.next();

      
      if (waitingDU.isReadyToUninstall()) {
        
        sleeContainerDeployer.getSleeSubDeployer().stop(waitingDU.getURL(), waitingDU.getDeploymentInfoShortName());

        
        waitingForUninstallDUs.remove(waitingDU);

        
        duIt = waitingForUninstallDUs.iterator();
      }
    }
  }
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.

@param du the DeployableUnit that was just removed
@throws Exception
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 .