public void installDeployableUnit(DeployableUnit du) throws Exception {

    // Update the deployed components from SLEE
    updateDeployedComponents();

    // Check if the DU is ready to be installed
    if (du.isReadyToInstall(true)) {
      // Get and Run the actions needed for installing this DU
      sciAction(du.getInstallActions(), du);

      // Set the DU as installed
      du.setInstalled(true);

      // Add the DU to the installed list
      deployedDUs.add(du);

      // Update the deployed components from SLEE
      updateDeployedComponents();

      // Go through the remaining DUs waiting for installation
      Iterator<DeployableUnit> duIt = waitingForInstallDUs.iterator();

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

        // If it is ready for installation, follow the same procedure
        if (waitingDU.isReadyToInstall(false)) {
          // Get and Run the actions needed for installing this DU
          sciAction(waitingDU.getInstallActions(), waitingDU);

          // Set the DU as installed
          waitingDU.setInstalled(true);

          // Add the DU to the installed list
          deployedDUs.add(waitingDU);
          
          // Update the deployed components from SLEE
          updateDeployedComponents();

          // Remove the DU from the waiting list.
          waitingForInstallDUs.remove(waitingDU);

          // Let's start all over.. :)
          duIt = waitingForInstallDUs.iterator();
        }
      }
    }
    else {
      logger.warn("Unable to INSTALL " + du.getDeploymentInfoShortName() + " right now. Waiting for dependencies to be resolved.");

      // The DU can't be installed now, let's wait...
      waitingForInstallDUs.add(du);
    }
  }
public void installDeployableUnit(DeployableUnit du) throws Exception {

    
    updateDeployedComponents();

    
    if (du.isReadyToInstall(true)) {
      
      sciAction(du.getInstallActions(), du);

      
      du.setInstalled(true);

      
      deployedDUs.add(du);

      
      updateDeployedComponents();

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

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

        
        if (waitingDU.isReadyToInstall(false)) {
          
          sciAction(waitingDU.getInstallActions(), waitingDU);

          
          waitingDU.setInstalled(true);

          
          deployedDUs.add(waitingDU);
          
          
          updateDeployedComponents();

          
          waitingForInstallDUs.remove(waitingDU);

          
          duIt = waitingForInstallDUs.iterator();
        }
      }
    }
    else {
      logger.warn("Unable to INSTALL " + du.getDeploymentInfoShortName() + " right now. Waiting for dependencies to be resolved.");

      
      waitingForInstallDUs.add(du);
    }
  }
public void installDeployableUnit ( DeployableUnit du ) throws Exception { // Update the deployed components from SLEE updateDeployedComponents ( ) ; // Check if the DU is ready to be installed if ( du . isReadyToInstall ( true ) ) { // Get and Run the actions needed for installing this DU sciAction ( du . getInstallActions ( ) , du ) ; // Set the DU as installed du . setInstalled ( true ) ; // Add the DU to the installed list deployedDUs . add ( du ) ; // Update the deployed components from SLEE updateDeployedComponents ( ) ; // Go through the remaining DUs waiting for installation Iterator < DeployableUnit > duIt = waitingForInstallDUs . iterator ( ) ; while ( duIt . hasNext ( ) ) { DeployableUnit waitingDU = duIt . next ( ) ; // If it is ready for installation, follow the same procedure if ( waitingDU . isReadyToInstall ( false ) ) { // Get and Run the actions needed for installing this DU sciAction ( waitingDU . getInstallActions ( ) , waitingDU ) ; // Set the DU as installed waitingDU . setInstalled ( true ) ; // Add the DU to the installed list deployedDUs . add ( waitingDU ) ; // Update the deployed components from SLEE updateDeployedComponents ( ) ; // Remove the DU from the waiting list. waitingForInstallDUs . remove ( waitingDU ) ; // Let's start all over.. :) duIt = waitingForInstallDUs . iterator ( ) ; } } } else { logger . warn ( "Unable to INSTALL " + du . getDeploymentInfoShortName ( ) + " right now. Waiting for dependencies to be resolved." ) ; // The DU can't be installed now, let's wait... waitingForInstallDUs . add ( du ) ; } }
Method for installing a Deployable Unit into SLEE.
@param du the Deployable Unit to install.
@throws Exception
Method for installing a Deployable Unit into SLEE .