Ejemplo n.º 1
0
        private static string GenerateCode(CassandraKeyspaceSchema schema, string nameSpace, string typeName)
        {
            var code = new StringBuilder();

            code.AppendLine(@"using System;
using System.Numerics;
using System.Linq;
using FluentCassandra;
using FluentCassandra.Connections;
using FluentCassandra.Types;");
            code.Append(@"namespace " + nameSpace + @" {
	public class "     + typeName + @" : IDisposable
	{
		public FluentCassandra.CassandraContext Context { get; private set; }
		public FluentCassandra.CassandraSession Session { get; private set; }

		public "         + typeName + @"(FluentCassandra.CassandraContext context)
		{
			if (context == null)
				throw new ArgumentNullException(""context"", ""context is null."");

			Context = context;
			Session = new CassandraSession(Context.ConnectionBuilder);
		}

		public void Dispose()
		{
			if (Session != null)
				Session.Dispose();

			if (Context != null && !Context.WasDisposed)
				Context.Dispose();
		}
");
            foreach (var familyDef in schema.ColumnFamilies)
            {
                var familyName = familyDef.FamilyName;
                code.AppendLine(@"
		private FluentCassandra.CassandraColumnFamily _"         + familyName + @";
		public FluentCassandra.CassandraColumnFamily "         + familyName + @" { get { 
			if (_"             + familyName + @" == null)
				_"                 + familyName + @" = Context.GetColumnFamily(""" + familyName + @""");

			return _"             + familyName + @";
		} }"        );
            }
            code.AppendLine(@"
	}
}");

            return(code.ToString());
        }
Ejemplo n.º 2
0
		private static string GenerateCode(CassandraKeyspaceSchema schema, string nameSpace, string typeName)
		{
			var code = new StringBuilder();

			code.AppendLine(@"using System;
using System.Numerics;
using System.Linq;
using FluentCassandra;
using FluentCassandra.Connections;
using FluentCassandra.Types;");
			code.Append(@"namespace " + nameSpace + @" {
	public class " + typeName + @" : IDisposable
	{
		public FluentCassandra.CassandraContext Context { get; private set; }
		public FluentCassandra.CassandraSession Session { get; private set; }

		public " + typeName + @"(FluentCassandra.CassandraContext context)
		{
			if (context == null)
				throw new ArgumentNullException(""context"", ""context is null."");

			Context = context;
			Session = new CassandraSession(Context.ConnectionBuilder);
		}

		public void Dispose()
		{
			if (Session != null)
				Session.Dispose();

			if (Context != null && !Context.WasDisposed)
				Context.Dispose();
		}
");
			foreach (var familyDef in schema.ColumnFamilies)
			{
				var familyName = familyDef.FamilyName;
				code.AppendLine(@"
		private FluentCassandra.CassandraColumnFamily _" + familyName + @";
		public FluentCassandra.CassandraColumnFamily " + familyName + @" { get { 
			if (_" + familyName + @" == null)
				_" + familyName + @" = Context.GetColumnFamily(""" + familyName + @""");

			return _" + familyName + @";
		} }");
			}
			code.AppendLine(@"
	}
}");

			return code.ToString();
		}
Ejemplo n.º 3
0
        private static List <ExplorerItem> GetSchema(CassandraKeyspaceSchema schema)
        {
            var families = new List <ExplorerItem>();

            foreach (var familyDef in schema.ColumnFamilies)
            {
                var family = new ExplorerItem(familyDef.FamilyName, ExplorerItemKind.QueryableObject, ExplorerIcon.Table);
                family.IsEnumerable = true;
                family.Children     = new List <ExplorerItem>();
                family.Children.Add(new ExplorerItem(familyDef.KeyName.GetValue <string>(), ExplorerItemKind.Property, ExplorerIcon.Key));

                foreach (var colDef in familyDef.Columns)
                {
                    var col = new ExplorerItem(colDef.Name.GetValue <string>(), ExplorerItemKind.Property, ExplorerIcon.Column);
                    family.Children.Add(col);
                }

                families.Add(family);
            }

            return(families);
        }
Ejemplo n.º 4
0
        private static List<ExplorerItem> GetSchema(CassandraKeyspaceSchema schema)
        {
            var families = new List<ExplorerItem>();

            foreach (var familyDef in schema.ColumnFamilies)
            {
                var family = new ExplorerItem(familyDef.FamilyName, ExplorerItemKind.QueryableObject, ExplorerIcon.Table);
                family.IsEnumerable = true;
                family.Children = new List<ExplorerItem>();
                family.Children.Add(new ExplorerItem(familyDef.KeyName.GetValue<string>(), ExplorerItemKind.Property, ExplorerIcon.Key));

                foreach (var colDef in familyDef.Columns)
                {
                    var col = new ExplorerItem(colDef.Name.GetValue<string>(), ExplorerItemKind.Property, ExplorerIcon.Column);
                    family.Children.Add(col);
                }

                families.Add(family);
            }

            return families;
        }