예제 #1
0
 /// ------------------------------------------------------------------------------------
 /// <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;
 }
예제 #2
0
        /// ------------------------------------------------------------------------------------
        /// <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));
        }
예제 #3
0
        /// ------------------------------------------------------------------------------------
        /// <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;
            }
        }
예제 #4
0
 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;
		}
예제 #10
0
		/// ------------------------------------------------------------------------------------
		/// <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);
		}
예제 #11
0
 /// ------------------------------------------------------------------------------------
 /// <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);
 }
예제 #12
0
 /// ------------------------------------------------------------------------------------
 /// <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));
 }
예제 #13
0
 /// ------------------------------------------------------------------------------------
 /// <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);
 }