deploymentService.deploy(tmp, root.getServiceAssembly());
deploymentService.deployServiceAssembly(tmp, root.getServiceAssembly());
    private void checkPendingSAs() {    	Set deployedSas = new HashSet();    	for (Iterator it = pendingSAs.entrySet().iterator(); it.hasNext();) {    		Map.Entry me = (Map.Entry) it.next();    		ArchiveEntry entry = (ArchiveEntry) me.getValue();            boolean canDeploy = true;            for (Iterator it2 = entry.componentNames.iterator(); it2.hasNext();) {            	String componentName = (String) it2.next();            	if (!container.getRegistry().isLocalComponentRegistered(componentName)) {            		canDeploy = false;            		break;            	}            }            if (canDeploy) {                File tmp = (File) me.getKey();                deployedSas.add(tmp);                try {	                Descriptor root = AutoDeploymentService.buildDescriptor(tmp);	                deploymentService.deploy(tmp, root.getServiceAssembly());	                deploymentService.start(root.getServiceAssembly().getIdentification().getName());                } catch (Exception e) {                    String errStr = "Failed to update Service Assembly: " + tmp.getName();                    log.error(errStr, e);                }            }    	}    	if (!deployedSas.isEmpty()) {    		// Remove SA from pending SAs	    	for (Iterator it = deployedSas.iterator(); it.hasNext();) {	    		ArchiveEntry entry = (ArchiveEntry) pendingSAs.remove(it.next());	    		entry.pending = false;	    	}	    	// Store new state	    	persistState(environmentContext.getDeploymentDir(), deployFileMap);	    	persistState(environmentContext.getInstallationDir(), installFileMap);    	}    }