public void Generate_List_For_CreateColumnFamilyMetdata_UnitTest()
        {
            const string parents = "test";
            var child=new ColumnFamilyName {Columnfamilyname = "account", Ischecked = true};
            var metadata = new ColumnFamilyMetadata
            {
                ColumnName = "id",
                Columnfamilyname = "user",
                Type = null,
                Validator = "utf8type"
            };
            child.ChildMetadata.Add(metadata);

            var exportList = new List<PocoObjectListForExport>();
            var parent = new PocoObjectListForExport {NamespaceName = "test", ClassName = "account"};
            var firstChild = new PocoListofObjects {Type = "string", ColumnFamilyName = "id"};
            parent.PocoListObjects.Add(firstChild);
            exportList.Add(parent);
            var expected = exportList;

            var actual = Reader.GenerateListForColumnFamilyMetdata(parents, child);

            Assert.IsNotNull(actual);
            Assert.IsTrue(actual.Count > 0);
            Assert.AreEqual(expected[0].ClassName, actual[0].ClassName);
            Assert.AreEqual(expected[0].NamespaceName, actual[0].NamespaceName);
            Assert.IsTrue(actual[0].PocoListObjects.Count > 0);
            for (var i = 0; i < actual[0].PocoListObjects.Count; i++)
            {
                Assert.AreEqual(expected[0].PocoListObjects[i].Type, actual[0].PocoListObjects[i].Type);
                Assert.AreEqual(expected[0].PocoListObjects[i].ColumnFamilyName, actual[0].PocoListObjects[i].ColumnFamilyName);
            }
        }
Example #2
0
        /// <summary>
        /// This functions creates List for ColumnFamily Metadata
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="child"></param>
        /// <returns>Returns List</returns>
        public static List<PocoObjectListForExport> GenerateListForColumnFamilyMetdata(string parent, ColumnFamilyName child)
        {
            var exportPocoList = new List<PocoObjectListForExport>();
            var primarykeylist = string.Empty;
            Key = new Dictionary<string, string>();

            foreach (var data in child.ChildMetadata)
            {
                if (String.IsNullOrEmpty(data.Type)) continue;

                if (!data.Type.Equals("partition_key") && !data.Type.Equals("clustering_key")) continue;

                Key.Add(data.ColumnName, data.Validator);
                primarykeylist = String.IsNullOrEmpty(primarykeylist) ? data.ColumnName.ToString(CultureInfo.InvariantCulture) :
                    String.Concat(primarykeylist, ", ", data.ColumnName.ToString(CultureInfo.InvariantCulture));
            }
            exportPocoList.AddRange(Parser.GenratePocoObjects(parent, child, Key));
            return exportPocoList;
        }
Example #3
0
        /// <summary>
        /// This function assign values to Metadata .
        /// </summary>
        /// <param name="pocoObjectsMetadataDetails"></param>
        /// <param name="child"></param>
        /// <param name="key"></param>
        /// <returns>Returns bool</returns>
        private static bool AssignColumnFamilyDefinitionsMetadata(ref PocoObjectsMetadata pocoObjectsMetadataDetails, ColumnFamilyName child, Dictionary<string, string> key)
        {
            // Fetch class name via columnfamily name
            pocoObjectsMetadataDetails.ClassName = child.Columnfamilyname;
            // fetch the key data type
            pocoObjectsMetadataDetails.Key = key;

            foreach (ColumnFamilyMetadata data in child.ChildMetadata)
            {
                pocoObjectsMetadataDetails.PropertyDetail.Add(data.ColumnName, data.Validator);
            }
            const bool isValidColumnFamily = true;
            return isValidColumnFamily;
        }
Example #4
0
 /// <summary>
 /// This function generate PocoObjects List
 /// </summary>
 /// <param name="parent"></param>
 /// <param name="child"></param>
 /// <param name="key"></param>
 /// <returns>Returns Final List</returns>
 internal static List<PocoObjectListForExport> GenratePocoObjects(string parent, ColumnFamilyName child, Dictionary<string, string> key)
 {
     var pocoList = new List<PocoObjectListForExport>();
     var pocoObjectsMetadataDetails = new PocoObjectsMetadata
     {
         NamespaceName = parent,
         ClassName = child.Columnfamilyname,
         Key = key
     };
     // Fetch Namespace name via keyspace name
     var isValidColumnFamily = AssignColumnFamilyDefinitionsMetadata(ref pocoObjectsMetadataDetails, child, key);
     if (!isValidColumnFamily)
     {
         return pocoList;
     }
     pocoList = AppendCSharpPocoClassMetadata(parent, pocoObjectsMetadataDetails);
     return pocoList;
 }
 /// <summary>
 /// This function generates list from the columnfamily selected from treeview.
 /// </summary>
 /// <param name="parent"></param>
 /// <param name="child"></param>
 /// <returns>Returns List</returns>
 public static List<PocoObjectListForExport> GenerateListForCreateColumnFamilyMetdata(string parent, ColumnFamilyName child)
 {
     _exportPocoList.AddRange(Reader.GenerateListForColumnFamilyMetdata(parent, child));
     return _exportPocoList;
 }