public void Save([NotNull] Stream data, bool internalFramework = false) { try { _metadataXmlInitializer = new MetadataXmlSourceInitializer(); _metadataXmlInitializer.Validate(data); using (var stream = File.Create(MetadataParsingUtils.GetPath(Metadata, internalFramework))) { data.CopyTo(stream); stream.Flush(); } FillFields(); } catch (Exception e) { Log.Error("error saving metadata", e); throw; } finally { _metadataXmlInitializer = null; } }
public static void InitializeMetadata() { try { FinishedParsing = false; //this is needed because we may access the API method inside the validation process // _metadataValidator = new MetadataValidator(); _globalProperties = new PropertiesXmlInitializer().Initialize(); _metadataXmlInitializer = new MetadataXmlSourceInitializer(); _metadataXmlInitializer.Validate(); _menus = new MenuXmlInitializer().Initialize(); FillFields(); FinishedParsing = true; new MetadataXmlTargetInitializer().Validate(); BuildSlicedMetadataCache(); } catch (Exception e) { Log.Error("error reading metadata", e); throw; } finally { _metadataXmlInitializer = null; } }