protected void parseDirectories(File stackRoot, File commonServicesRoot, File extensionRoot) throws AmbariException {
    commonServiceModules = parseCommonServicesDirectory(commonServicesRoot);
    stackModules = parseStackDirectory(stackRoot);
    LOG.info("About to parse extension directories");
    extensionModules = parseExtensionDirectory(extensionRoot);
  }
Constructor. Initialize stack manager.

@param stackRootDir
         stack root directory
@param commonServicesRoot
         common services root directory
@param extensionRoot
         extensions root directory
@param osFamily
         the OS family read from resources
@param metaInfoDAO
         metainfo DAO automatically injected
@param actionMetadata
         action meta data automatically injected
@param stackDao
         stack DAO automatically injected
@param extensionDao
         extension DAO automatically injected
@param linkDao
         extension link DAO automatically injected
@param helper
         Ambari management helper automatically injected

@throws AmbariException
          if an exception occurs while processing the stacks
ambari-server/src/main/java/org/apache/ambari/server/stack/StackManager.java