/// ------------------------------------------------------------------------------------ /// <summary> /// Helper method to note that the given property (for the specified element) has /// been set. /// </summary> /// ------------------------------------------------------------------------------------ protected void MarkMetadataPropertyAsSet(string elementId, MetadataProperties property) { if (!_propertiesSet.ContainsKey(elementId)) { _propertiesSet[elementId] = property; } _propertiesSet[elementId] |= property; }
/// ------------------------------------------------------------------------------------ /// <summary> /// Helper method to determine if the given property (for the specified element) has /// already been set. /// </summary> /// ------------------------------------------------------------------------------------ protected bool IsMetadataPropertySet(string elementId, MetadataProperties property) { MetadataProperties propertiesSet; if (!_propertiesSet.TryGetValue(elementId, out propertiesSet)) { return(false); } return(propertiesSet.HasFlag(property)); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Helper method to detect when caller tries to set a property (for the specified /// element) that has already been set and throw an InvalidOperationException if so. /// </summary> /// <param name="elementId">The element id </param> /// <param name="property">The property to check (and add to the list of properties that /// can no longer be set again).</param> /// ------------------------------------------------------------------------------------ protected void PreventDuplicateMetadataProperty(string elementId, MetadataProperties property) { MetadataProperties propertiesSet; if (_propertiesSet.TryGetValue(elementId, out propertiesSet)) { if (propertiesSet.HasFlag(property)) { throw new InvalidOperationException(string.Format("{0} has already been set", property.ToString())); } _propertiesSet[elementId] |= property; } else { _propertiesSet[elementId] = property; } }
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; } }
/// ------------------------------------------------------------------------------------ /// <summary> /// Helper method to note that the given property (for the specified element) has /// been set. /// </summary> /// ------------------------------------------------------------------------------------ protected void MarkMetadataPropertyAsSet(string elementId, MetadataProperties property) { if (!_propertiesSet.ContainsKey(elementId)) _propertiesSet[elementId] = property; _propertiesSet[elementId] |= property; }
/// ------------------------------------------------------------------------------------ /// <summary> /// Helper method to note that the given property (for the top-level element) has /// been set. /// </summary> /// ------------------------------------------------------------------------------------ protected void MarkMetadataPropertyAsSet(MetadataProperties property) { MarkMetadataPropertyAsSet(_id, property); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Helper method to determine if the given property (for the specified element) has /// already been set. /// </summary> /// ------------------------------------------------------------------------------------ protected bool IsMetadataPropertySet(string elementId, MetadataProperties property) { MetadataProperties propertiesSet; if (!_propertiesSet.TryGetValue(elementId, out propertiesSet)) return false; return propertiesSet.HasFlag(property); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Helper method to determine if the given property (for the top-level element) has /// already been set. /// </summary> /// ------------------------------------------------------------------------------------ protected bool IsMetadataPropertySet(MetadataProperties property) { return IsMetadataPropertySet(_id, property); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Helper method to detect when caller tries to set a property (for the specified /// element) that has already been set and throw an InvalidOperationException if so. /// </summary> /// <param name="elementId">The element id </param> /// <param name="property">The property to check (and add to the list of properties that /// can no longer be set again).</param> /// ------------------------------------------------------------------------------------ protected void PreventDuplicateMetadataProperty(string elementId, MetadataProperties property) { MetadataProperties propertiesSet; if (_propertiesSet.TryGetValue(elementId, out propertiesSet)) { if (propertiesSet.HasFlag(property)) throw new InvalidOperationException(string.Format("{0} has already been set", property.ToString())); _propertiesSet[elementId] |= property; } else _propertiesSet[elementId] = property; }
/// ------------------------------------------------------------------------------------ /// <summary> /// Helper method to detect when caller tries to set a property (for the top-level /// element) that has already been set and throw an InvalidOperationException if so. /// </summary> /// <param name="property">The property to check (and add to the list of properties that /// can no longer be set again).</param> /// ------------------------------------------------------------------------------------ protected void PreventDuplicateMetadataProperty(MetadataProperties property) { PreventDuplicateMetadataProperty(_id, property); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Helper method to determine if the given property (for the top-level element) has /// already been set. /// </summary> /// ------------------------------------------------------------------------------------ protected bool IsMetadataPropertySet(MetadataProperties property) { return(IsMetadataPropertySet(_id, property)); }