public Model.ProvisioningTemplate ToProvisioningTemplate(System.IO.Stream template, String identifier) { ITemplateFormatter formatter = this.GetSpecificFormatterInternal(ref template); formatter.Initialize(this._provider); return(formatter.ToProvisioningTemplate(template, identifier)); }
public override void SaveAs(ProvisioningHierarchy hierarchy, string uri, ITemplateFormatter formatter = null) { if (hierarchy == null) { throw new ArgumentNullException(nameof(hierarchy)); } if (uri == null) { throw new ArgumentNullException(nameof(uri)); } if (formatter == null) { formatter = XMLPnPSchemaFormatter.LatestFormatter; } formatter.Initialize(this); var stream = ((IProvisioningHierarchyFormatter)formatter).ToFormattedHierarchy(hierarchy); this.Connector.SaveFileStream(uri, stream); if (this.Connector is ICommitableFileConnector) { ((ICommitableFileConnector)this.Connector).Commit(); } }
public System.IO.Stream ToFormattedTemplate(Model.ProvisioningTemplate template) { ITemplateFormatter formatter = XMLPnPSchemaFormatter.LatestFormatter; formatter.Initialize(this._provider); return(formatter.ToFormattedTemplate(template)); }
public bool IsValid(System.IO.Stream template) { ITemplateFormatter formatter = this.GetSpecificFormatterInternal(ref template); formatter.Initialize(this._provider); return(formatter.IsValid(template)); }
public void CanSerializeDomainObjectWithJsonFormatter() { using (Stream _formattedTemplate = new FileStream(this._provisioningTemplatePath5, FileMode.Open, FileAccess.Read, FileShare.Read)) { ITemplateFormatter formatter = XMLPnPSchemaFormatter.GetSpecificFormatter(this._provisioningTemplatePath5NamespaceURI); XMLTemplateProvider xmlProvider = new XMLFileSystemTemplateProvider( String.Format(@"{0}\..\..\Resources", AppDomain.CurrentDomain.BaseDirectory), "Templates"); formatter.Initialize(xmlProvider); var _pt = formatter.ToProvisioningTemplate(_formattedTemplate, "WORKFLOWSITE"); JsonTemplateProvider jsonProvider = new JsonFileSystemTemplateProvider( String.Format(@"{0}\..\..\Resources", AppDomain.CurrentDomain.BaseDirectory), "Templates"); jsonProvider.SaveAs(_pt, @"c:\temp\ProvisioningSchema-2015-05-ReferenceSample-01.json"); var _ptBack = jsonProvider.GetTemplate(@"c:\temp\ProvisioningSchema-2015-05-ReferenceSample-01.json"); Assert.IsTrue(_pt.Equals(_ptBack)); } }
public void CanSerializeDomainObjectToXML5ByFileLink() { using (Stream _formattedTemplate = new FileStream(this._provisioningTemplatePath5, FileMode.Open, FileAccess.Read, FileShare.Read)) { ITemplateFormatter formatter = XMLPnPSchemaFormatter.GetSpecificFormatter(this._provisioningTemplatePath5NamespaceURI); XMLTemplateProvider provider = new XMLFileSystemTemplateProvider( String.Format(@"{0}\..\..\..\Resources", AppDomain.CurrentDomain.BaseDirectory), "Templates"); formatter.Initialize(provider); var _pt = formatter.ToProvisioningTemplate(_formattedTemplate, "WORKFLOWSITE"); var _formattedTemplateBack = formatter.ToFormattedTemplate(_pt); Assert.IsTrue(formatter.IsValid(_formattedTemplateBack)); } }
public override ProvisioningHierarchy GetHierarchy(string uri) { if (uri == null) { throw new ArgumentNullException(nameof(uri)); } ProvisioningHierarchy result = null; var stream = this.Connector.GetFileStream(uri); if (stream != null) { var formatter = new XMLPnPSchemaFormatter(); ITemplateFormatter specificFormatter = formatter.GetSpecificFormatterInternal(ref stream); specificFormatter.Initialize(this); result = ((IProvisioningHierarchyFormatter)specificFormatter).ToProvisioningHierarchy(stream); } return(result); }
public ProvisioningHierarchy GetHierarchy() { ProvisioningHierarchy result = null; var openXmlConnection = this.Connector as OpenXMLConnector; var fileName = openXmlConnection.Info.Properties.TemplateFileName; if (!String.IsNullOrEmpty(fileName)) { var stream = this.Connector.GetFileStream(fileName); if (stream != null) { var formatter = new XMLPnPSchemaFormatter(); ITemplateFormatter specificFormatter = formatter.GetSpecificFormatterInternal(ref stream); specificFormatter.Initialize(this); result = ((IProvisioningHierarchyFormatter)specificFormatter).ToProvisioningHierarchy(stream); } } return(result); }