Esempio n. 1
0
 protected override void visitAttributeSpecification(AttributeSpecification specification)
 {
     writer.Append(KeywordEnum.ATTRIBUTE.ToString()).Append(' ');
     writer.AppendIdentifier(specification.Attribute).Append(' ');
     writer.Append(KeywordEnum.OF.ToString()).Append(' ');
     AttributeSpecification.EntityNameList entityNames = specification.Entities;
     if (entityNames == AttributeSpecification.EntityNameList.ALL)
     {
         writer.Append(KeywordEnum.ALL.ToString());
     }
     else if (entityNames == AttributeSpecification.EntityNameList.OTHERS)
     {
         writer.Append(KeywordEnum.OTHERS.ToString());
     }
     else
     {
         bool first = true;
         foreach (AttributeSpecification.EntityNameList.EntityDesignator designator in entityNames.Designators)
         {
             if (first)
             {
                 first = false;
             }
             else
             {
                 writer.Append(", ");
             }
             appendEntityDesignator(designator);
         }
     }
     writer.Append(" : ").Append(specification.EntityClass.ToString()).Append(' ');
     writer.Append(KeywordEnum.IS.ToString()).Append(' ');
     output.writeExpression(specification.Value);
     writer.Append(';').NewLine();
 }
            public override bool Equals(object obj)
            {
                AttributeSpecification other = obj as AttributeSpecification;

                if (other == null)
                {
                    return(false);
                }
                return(_parentMIAM.AspectId == other._parentMIAM.AspectId && _attributeName == other._attributeName);
            }
        /// <summary>
        /// Creates a specification for a new string attribute which can be used in a new
        /// <see cref="MediaItemAspectMetadata"/> instance.
        /// </summary>
        /// <param name="attributeName">Name of the string attribute to be created.
        /// TODO: Describe constraints on the name value. See also other CreateXXXAttributeSpecification methods.</param>
        /// <param name="maxNumChars">Maximum number of characters to be stored in the attribute to
        /// be created.</param>
        /// <param name="cardinality">Cardinality of the new attribute.</param>
        /// <param name="indexed">Set to <c>true</c> if the new attribute should be indexed in the media library.
        /// This should only be done if the attribute will often occur in filter criteria.</param>
        public static AttributeSpecification CreateStringAttributeSpecification(string attributeName,
                                                                                uint maxNumChars, Cardinality cardinality, bool indexed)
        {
            AttributeSpecification result = new AttributeSpecification(attributeName, typeof(string), cardinality, indexed)
            {
                MaxNumChars = maxNumChars
            };

            return(result);
        }
        public void ApplySucceeds(string xmlContent)
        {
            var attributeUpdate = new AttributeSpecification {
                Name  = "value",
                Value = "test"
            };
            var document = new XmlDocument();

            document.LoadXml(xmlContent);

            attributeUpdate.Execute(document.DocumentElement);

            document.SelectSingleNode("/configuration[@value='test']").Should().NotBeNull();
        }
Esempio n. 5
0
        public static Example exampleFromString(string data, DataSetSpecification dataSetSpec, string separator)
        {
            Hashtable attributes = new Hashtable();

            //ArrayList attributeValues = Arrays.asList(data.Split(separator.ToCharArray()[0]));
            string[]  splitData       = data.Split(separator.ToCharArray()[0]);
            ArrayList attributeValues = new ArrayList();

            foreach (string str in splitData)
            {
                attributeValues.Add(str);
            }
            if (dataSetSpec.isValid(attributeValues))
            {
                ArrayList   names     = dataSetSpec.getAttributeNames();
                IEnumerator nameiter  = names.GetEnumerator();
                IEnumerator valueiter = attributeValues.GetEnumerator();
                while (nameiter.MoveNext() && valueiter.MoveNext())
                {
                    string name = nameiter.Current.ToString();
                    AttributeSpecification attributeSpec = dataSetSpec.getAttributeSpecFor(name);
                    Attribute attribute = attributeSpec.createAttribute(valueiter.Current.ToString());
                    //attributes.put(name,attribute);
                    if (attributes.Contains(name))
                    {
                        attributes[name] = attribute;
                    }
                    else
                    {
                        attributes.Add(name, attribute);
                    }
                }
                string targetAttributeName = dataSetSpec.getTarget();
                //AttributeSpecification attributeSpec =dataSetSpec.getAttributeSpecFor(targetAttributeName );
                AttributeSpecification _attributeSpec = dataSetSpec.getAttributeSpecFor(targetAttributeName);
                return(new Example(attributes, (Attribute)attributes[targetAttributeName]));
            }
            else
            {
                throw new Exception("Unable to construct Example from " + data);
            }
        }
Esempio n. 6
0
        public static Example exampleFromString(String data,
                                                DataSetSpecification dataSetSpec, Char separator)
        {
            Dictionary <String, LearningAttribute> attributes = new Dictionary <String, LearningAttribute>();
            List <String> attributeValues = new List <String>();

            string [] vals = data.Split(new char[] { ' ', '\t', ',' });
            foreach (string v in vals)
            {
                if (!String.IsNullOrWhiteSpace(v))
                {
                    attributeValues.Add(v);
                }
            }
            if (dataSetSpec.isValid(attributeValues))
            {
                List <String>             names     = dataSetSpec.getAttributeNames();
                List <String> .Enumerator nameiter  = names.GetEnumerator();
                List <String> .Enumerator valueiter = attributeValues.GetEnumerator();
                while (nameiter.MoveNext() && valueiter.MoveNext())
                {
                    String name = nameiter.Current;
                    AttributeSpecification attributeSpec = dataSetSpec
                                                           .getAttributeSpecFor(name);
                    LearningAttribute attribute = attributeSpec.createAttribute(valueiter.Current);
                    attributes.Add(name, attribute);
                }
                String targetAttributeName = dataSetSpec.getTarget();
                return(new Example(attributes, attributes[targetAttributeName]));
            }
            else
            {
                throw new ApplicationException("Unable to construct Example from "
                                               + data);
            }
        }
        internal static HomogenousMap GetGroups(IOwinContext context, ISet <Guid> necessaryMIATypes, AttributeSpecification attribute, IFilter filter = null)
        {
            Guid?   user         = ResourceAccessUtils.GetUser(context);
            IFilter searchFilter = ResourceAccessUtils.AppendUserFilter(user, filter, necessaryMIATypes);

            return(MediaLibrary.GetValueGroups(attribute, filter, ProjectionFunction.None, necessaryMIATypes, searchFilter, true, false));
        }
        internal static IList <MediaItem> GetMediaItemsByInt(IOwinContext context, int number, ISet <Guid> necessaryMIATypes, ISet <Guid> optionalMIATypes, AttributeSpecification attributeSpecification, uint?limit = null)
        {
            IFilter searchFilter = new RelationalFilter(attributeSpecification, RelationalOperator.EQ, number);

            return(Search(context, necessaryMIATypes, optionalMIATypes, searchFilter, limit));
        }
 /// <summary>
 /// Creates a specification for a new string attribute which can be used in a new
 /// <see cref="MediaItemAspectMetadata"/> instance.
 /// </summary>
 /// <param name="attributeName">Name of the string attribute to be created.
 /// TODO: Describe constraints on the name value. See also other CreateXXXAttributeSpecification methods.</param>
 /// <param name="maxNumChars">Maximum number of characters to be stored in the attribute to
 /// be created.</param>
 /// <param name="cardinality">Cardinality of the new attribute.</param>
 /// <param name="indexed">Set to <c>true</c> if the new attribute should be indexed in the media library.
 /// This should only be done if the attribute will often occur in filter criteria.</param>
 public static AttributeSpecification CreateStringAttributeSpecification(string attributeName,
     uint maxNumChars, Cardinality cardinality, bool indexed)
 {
   AttributeSpecification result = new AttributeSpecification(attributeName, typeof(string), cardinality, indexed)
     {MaxNumChars = maxNumChars};
   return result;
 }