コード例 #1
0
 /// <summary>
 ///     Adds a ToscaServiceTemplate
 /// </summary>
 /// <exception cref="ToscaArtifactNotFoundException">Thrown when artifact not found in the Cloud Service Archive.</exception>
 /// <param name="toscaServiceTemplateName">Service template name</param>
 /// <param name="toscaServiceTemplate">An instance of ToscaServiceTemplate</param>
 /// <exception cref="ToscaServiceTemplateAlreadyExistsException">
 ///     Service Template was already added to the Cloud Service
 ///     Archive.
 /// </exception>
 public void AddToscaServiceTemplate(string toscaServiceTemplateName, ToscaServiceTemplate toscaServiceTemplate)
 {
     if (toscaServiceTemplates.ContainsKey(toscaServiceTemplateName))
     {
         throw new ToscaServiceTemplateAlreadyExistsException(
                   string.Format("Service Template '{0}' already exists", toscaServiceTemplateName));
     }
     toscaServiceTemplates.Add(toscaServiceTemplateName, toscaServiceTemplate);
     foreach (var toscaNodeType in toscaServiceTemplate.NodeTypes)
     {
         AddNodeType(toscaNodeType.Key, toscaNodeType.Value);
     }
     foreach (var capabilityType in toscaServiceTemplate.CapabilityTypes)
     {
         AddCapabilityType(capabilityType.Key, capabilityType.Value);
     }
     foreach (var dataTypeKeyValue in toscaServiceTemplate.DataTypes)
     {
         AddDataType(dataTypeKeyValue.Key, dataTypeKeyValue.Value);
     }
 }
コード例 #2
0
 private List <ValidationResult> ValidationImportsRecuresively(HashSet <string> imports, ToscaServiceTemplate serviceTemplate)
 {
     foreach (var import in serviceTemplate.GetImports())
     {
         if (imports.Contains(import.File))
         {
             return(new List <ValidationResult>
             {
                 new ValidationResult(string.Format("Circular dependency detected on import '{0}'", import.File))
             });
         }
         imports.Add(import.File);
         return(ValidationImportsRecuresively(imports, ToscaServiceTemplates[import.File]));
     }
     return(new List <ValidationResult>());
 }