public void AddColumnInformationTestReverse() { OutputColumn target = new OutputColumn(); IDTSBufferManager100 bufferManager = new BufferManagerTestImpl(); IDTSOutput100 output = new OutputTestImpl(); IDTSInput100 input = new InputTestImpl(); IDTSOutputColumn100 outputColumn; IDTSCustomProperty100 customProperty; int outputColumnIndex = 0; outputColumn = output.OutputColumnCollection.New(); customProperty = outputColumn.CustomPropertyCollection.New(); customProperty.Name = Utility.InputColumnLineagePropName; customProperty.Value = "#1,#2,#3,#4,#5,#6"; customProperty = outputColumn.CustomPropertyCollection.New(); customProperty.Name = Utility.HashTypePropName; customProperty.Value = MultipleHash.HashTypeEnumerator.RipeMD160; target.AddColumnInformation(bufferManager, output, input, outputColumnIndex); Assert.AreEqual(6, target.Count, "The number of items in the list"); Assert.AreEqual(1, target[0], "The first input"); Assert.AreEqual(2, target[1], "The second input"); Assert.AreEqual(3, target[2], "The third input"); Assert.AreEqual(4, target[3], "The forth input"); Assert.AreEqual(5, target[4], "The fifth input"); Assert.AreEqual(6, target[5], "The sixth input"); Assert.AreEqual(MultipleHash.HashTypeEnumerator.RipeMD160, target.HashType, "Hash"); Assert.AreEqual(RIPEMD160.Create().ToString(), target.HashObject.ToString(), "Hash Object"); }
public void SetDataTypeProperties(SSISDataType dataType, int length, int precision, int scale, int codePage) { if (dataType != SSISDataType.DT_EMPTY) { OutputColumn.SetDataTypeProperties(DtsUtility.EnumAToEnumB <SSISDataType, DataType>(dataType), length, precision, scale, codePage); } }
public void SetDataTypeProperties(SSISDataTypeWithProperty sSISDataTypeWithProperty) { if (sSISDataTypeWithProperty.DataType != SSISDataType.DT_EMPTY) { OutputColumn.SetDataTypeProperties(DtsUtility.EnumAToEnumB <SSISDataType, DataType>(sSISDataTypeWithProperty.DataType), sSISDataTypeWithProperty.Length, sSISDataTypeWithProperty.Precision, sSISDataTypeWithProperty.Scale, sSISDataTypeWithProperty.CodePage); } }
public void OutputColumnIdTest() { OutputColumn target = new OutputColumn(); int actual; actual = target.OutputColumnId; Assert.AreEqual(0, actual); }
public void HashTypeTest() { OutputColumn target = new OutputColumn(); MultipleHash.HashTypeEnumerator actual; actual = target.HashType; Assert.AreEqual(MultipleHash.HashTypeEnumerator.None, actual); }
public void SetDataTypeProperties(SSISDataType dataType, int length, int precision, int scale, int codePage) { OutputColumn.SetDataTypeProperties(dataType, length, precision, scale, codePage); if (_parentComponent.SourceCode.Length > 0) { _parentComponent.RebuildProject(null); } }
public void HashObjectTest() { OutputColumn target = new OutputColumn(); HashAlgorithm actual; actual = target.HashObject; Assert.IsNull(actual); }
public void OutputColumnConstructorTest() { OutputColumn target = new OutputColumn(); Assert.AreEqual(MultipleHash.HashTypeEnumerator.None, target.HashType, "Hash"); Assert.AreEqual(0, target.OutputColumnId, "Target Column ID"); Assert.AreEqual(0, target.Count, "Count of inputs"); }
public void write_with_no_outputs() { var chain = new BehaviorChain(); var tag = new HtmlTag("td"); var column = new OutputColumn(); column.WriteBody(chain, null, tag); tag.Text().ShouldEqual(" -"); }
public void AddTest() { OutputColumn target = new OutputColumn(); MHashColumnInformation expected = new MHashColumnInformation(0, Microsoft.SqlServer.Dts.Runtime.Wrapper.DataType.DT_I8); int actual; actual = target.Add(new MHashColumnInformation(0, Microsoft.SqlServer.Dts.Runtime.Wrapper.DataType.DT_I8)); Assert.AreEqual(0, actual); actual = target.Add(new MHashColumnInformation(0, Microsoft.SqlServer.Dts.Runtime.Wrapper.DataType.DT_I4)); Assert.AreEqual(1, actual); }
public void CountTest() { OutputColumn target = new OutputColumn(); int actual; actual = target.Count; Assert.AreEqual(0, actual); target.Add(new MHashColumnInformation(12, Microsoft.SqlServer.Dts.Runtime.Wrapper.DataType.DT_I2)); actual = target.Count; Assert.AreEqual(1, actual); }
public void write_with_no_outputs() { var chain = new BehaviorChain(); var tag = new HtmlTag("td"); var column = new OutputColumn(); column.WriteBody(chain, null, tag); tag.Text().ShouldEqual(" -"); }
public void CountTest() { OutputColumn target = new OutputColumn(); int actual; actual = target.Count; Assert.AreEqual(0, actual); target.Add(12); actual = target.Count; Assert.AreEqual(1, actual); }
public void ItemTest() { OutputColumn target = new OutputColumn(); int index = 0; int expected = 25; int actual; target.Add(0); target[index] = expected; actual = target[index]; Assert.AreEqual(expected, actual); }
public void AddTest() { OutputColumn target = new OutputColumn(); int inputColumnId = 10; int expected = 0; int actual; actual = target.Add(inputColumnId); Assert.AreEqual(expected, actual); actual = target.Add(++inputColumnId); Assert.AreEqual(++expected, actual); }
// sets the column as hidden when not present in the list of visible columns private void SetColHiddenProperty(DataColumn cl_dt) { OutputColumn currentCol = OutputColumns.FirstOrDefault(x => x.Name == cl_dt.ColumnName); if (currentCol != null) { cl_dt.ExtendedProperties.Add("hidden", currentCol.Hidden); } else { cl_dt.ExtendedProperties.Add("hidden", false); } }
public void ItemTest() { OutputColumn target = new OutputColumn(); int index = 0; MHashColumnInformation expected = new MHashColumnInformation(25, Microsoft.SqlServer.Dts.Runtime.Wrapper.DataType.DT_BOOL); MHashColumnInformation actual; target.Add(new MHashColumnInformation(25, Microsoft.SqlServer.Dts.Runtime.Wrapper.DataType.DT_BOOL)); target[index] = new MHashColumnInformation(25, Microsoft.SqlServer.Dts.Runtime.Wrapper.DataType.DT_BOOL); actual = target[index]; Assert.AreEqual(expected.ColumnDataType, actual.ColumnDataType); Assert.AreEqual(expected.ColumnId, actual.ColumnId); }
public void write_with_a_single_output() { var chain = new BehaviorChain(); var node = new RenderJsonNode(typeof (RouteParameter)); chain.AddToEnd(node); var tag = new HtmlTag("td"); var column = new OutputColumn(); column.WriteBody(chain, null, tag); tag.Text().ShouldEqual(node.Description); }
public void BufferTest() { OutputColumn columnToProcess = null; // TODO: Initialize to an appropriate value PipelineBuffer buffer = null; // TODO: Initialize to an appropriate value IDTSComponentMetaData100 metaData = null; // TODO: Initialize to an appropriate value ManualResetEvent threadReset = null; // TODO: Initialize to an appropriate value PassThreadState target = new PassThreadState(columnToProcess, buffer, metaData, threadReset, false, false); // TODO: Initialize to an appropriate value PipelineBuffer expected = null; // TODO: Initialize to an appropriate value PipelineBuffer actual; target.Buffer = expected; actual = target.Buffer; Assert.AreEqual(expected, actual); }
public void write_with_a_single_output() { var chain = new BehaviorChain(); var node = new OutputNode(typeof(RouteParameter)); chain.AddToEnd(node); var tag = new HtmlTag("td"); var column = new OutputColumn(); column.WriteBody(chain, null, tag); tag.Text().ShouldEqual(node.Description); }
public void PassThreadStateConstructorTest() { OutputColumn columnToProcess = new OutputColumn(); PipelineBuffer buffer = null; // TODO: Initialize to an appropriate value IDTSComponentMetaData100 metaData = new ComponentMetaDataTestImpl(); ManualResetEvent threadReset = new ManualResetEvent(true); PassThreadState target = new PassThreadState(columnToProcess, buffer, metaData, threadReset, true, false); Assert.IsNotNull(target); Assert.AreEqual(columnToProcess, target.ColumnToProcess); Assert.AreEqual(metaData, target.MetaData); Assert.AreEqual(threadReset, target.ThreadReset); Assert.AreEqual(true, target.SafeNullHandling); Assert.AreEqual(false, target.MillisecondHandling); }
public void write_with_multiple_outputs() { var chain = new BehaviorChain(); var json = new RenderJsonNode(typeof (RouteParameter)); chain.AddToEnd(json); var text = new RenderTextNode<RouteParameter>(); chain.AddToEnd(text); var tag = new HtmlTag("td"); var column = new OutputColumn(); column.WriteBody(chain, null, tag); tag.Text().ShouldEqual(json.Description + ", " + text.Description); }
public void AddColumnInformationTestErrors() { OutputColumn target = new OutputColumn(); IDTSBufferManager100 bufferManager = new BufferManagerTestImpl(); IDTSOutput100 output = new OutputTestImpl(); IDTSInput100 input = new InputTestImpl(); IDTSOutputColumn100 outputColumn; IDTSCustomProperty100 customProperty; int outputColumnIndex = 0; outputColumn = output.OutputColumnCollection.New(); customProperty = outputColumn.CustomPropertyCollection.New(); customProperty.Name = Utility.HashTypePropName; customProperty.Value = MultipleHash.HashTypeEnumerator.MD5; customProperty = outputColumn.CustomPropertyCollection.New(); customProperty.Name = Utility.InputColumnLineagePropName; customProperty.Value = "#1,#2,#3,#4,#5,#6"; try { target.AddColumnInformation(null, output, input, outputColumnIndex); } catch (Exception ex) { Assert.AreEqual("Value cannot be null.\r\nParameter name: bufferManager", ex.Message); } try { target.AddColumnInformation(bufferManager, null, input, outputColumnIndex); } catch (Exception ex) { Assert.AreEqual("Value cannot be null.\r\nParameter name: output", ex.Message); } try { target.AddColumnInformation(bufferManager, output, null, outputColumnIndex); } catch (Exception ex) { Assert.AreEqual("Value cannot be null.\r\nParameter name: input", ex.Message); } }
public void write_with_multiple_outputs() { var chain = new BehaviorChain(); var json = new OutputNode(typeof(RouteParameter)); chain.AddToEnd(json); var text = new RenderTextNode <RouteParameter>(); chain.AddToEnd(text); var tag = new HtmlTag("td"); var column = new OutputColumn(); column.WriteBody(chain, null, tag); tag.Text().ShouldEqual(json.Description + ", " + text.Description); }
private void buttonAddColumn_Click(object sender, RoutedEventArgs e) { if (comboBoxColumn.SelectedIndex >= 0 && int.TryParse(textBoxColumnNumber.Text, out int number)) { number--; if (number < 0) { number = 0; } else if (number > FileSetting.Output.Count) { number = FileSetting.Output.Count; } var item = new OutputColumn(); if (FileSetting.Output.Any(x => x.Number == number)) { item = FileSetting.Output.First(x => x.Number == number); } else { FileSetting.Output.Add(item); } item.IsEmptyTest = checkBoxtestEmpty.IsChecked == true; item.SourceNumber = comboBoxColumn.SelectedIndex; item.SourceName = GetSourceName(); item.Name = textBoxColumnName.Text; item.Number = number; RefreshGrid(); checkBoxFullRow.IsChecked = false; checkBoxtestEmpty.IsChecked = false; comboBoxColumn.SelectedIndex = -1; textBoxColumnName.Text = string.Empty; textBoxColumnNumber.Text = (FileSetting.Output.Count + 1).ToString(); } if (dataGridColumns.SelectedItems != null && dataGridColumns.SelectedItems.Count > 0) { dataGridColumns.SelectedItem = null; } }
public void AddColumnInformationTestHashTypes() { OutputColumn target = new OutputColumn(); IDTSBufferManager100 bufferManager = new BufferManagerTestImpl(); IDTSOutput100 output = new OutputTestImpl(); IDTSInput100 input = new InputTestImpl(); IDTSOutputColumn100 outputColumn; IDTSCustomProperty100 customProperty; int outputColumnIndex = 0; outputColumn = output.OutputColumnCollection.New(); customProperty = outputColumn.CustomPropertyCollection.New(); customProperty.Name = Utility.InputColumnLineagePropName; customProperty.Value = "#1,#2,#3,#4,#5,#6"; customProperty = outputColumn.CustomPropertyCollection.New(); customProperty.Name = Utility.OutputColumnOutputTypePropName; customProperty.Value = MultipleHash.OutputTypeEnumerator.Binary; customProperty = outputColumn.CustomPropertyCollection.New(); customProperty.Name = Utility.HashTypePropName; customProperty.Value = MultipleHash.HashTypeEnumerator.SHA1; target.AddColumnInformation(bufferManager, output, input, outputColumnIndex); Assert.AreEqual(MultipleHash.HashTypeEnumerator.SHA1, target.HashType, "Hash"); Assert.AreEqual(SHA1.Create().ToString(), target.HashObject.ToString(), "Hash Object"); customProperty.Value = MultipleHash.HashTypeEnumerator.SHA256; target.AddColumnInformation(bufferManager, output, input, outputColumnIndex); Assert.AreEqual(MultipleHash.HashTypeEnumerator.SHA256, target.HashType, "Hash"); Assert.AreEqual(SHA256.Create().ToString(), target.HashObject.ToString(), "Hash Object"); customProperty.Value = MultipleHash.HashTypeEnumerator.SHA384; target.AddColumnInformation(bufferManager, output, input, outputColumnIndex); Assert.AreEqual(MultipleHash.HashTypeEnumerator.SHA384, target.HashType, "Hash"); Assert.AreEqual(SHA384.Create().ToString(), target.HashObject.ToString(), "Hash Object"); customProperty.Value = MultipleHash.HashTypeEnumerator.SHA512; target.AddColumnInformation(bufferManager, output, input, outputColumnIndex); Assert.AreEqual(MultipleHash.HashTypeEnumerator.SHA512, target.HashType, "Hash"); Assert.AreEqual(SHA512.Create().ToString(), target.HashObject.ToString(), "Hash Object"); customProperty.Value = MultipleHash.HashTypeEnumerator.None; target.AddColumnInformation(bufferManager, output, input, outputColumnIndex); Assert.AreEqual(MultipleHash.HashTypeEnumerator.None, target.HashType, "Hash"); Assert.AreEqual(null, target.HashObject, "Hash Object"); }
private string GetMethodName(OutputColumn column) { if (column.ColumnType.Name == "Byte[]") { return("GetBytes"); } if (column.ColumnType.Name == "Byte") { return("GetByte"); } if (column.ColumnType.Name == "Char") { return("GetChar"); } if (column.ColumnType.Name == "Char[]") { return("GetChars"); } if (column.ColumnType.Name == "Object") { return("GetValue"); } return("Get" + column.ColumnType.Name); }
public List <OutputColumn> GetOutPutColumns(string SPName, List <ProcedureParameter> procedureParameters) { var command = dbContext.CreateCommand(); command.CommandType = CommandType.StoredProcedure; command.CommandText = SPName; foreach (ProcedureParameter parameter in procedureParameters) { if (parameter.Value == null) { continue; } DbType dbType = GetDbType(parameter.DataType); Type type = GetType(dbType); if (type == typeof(bool)) { if (parameter.Value.ToString() == "1") { parameter.Value = true; } else if (parameter.Value.ToString() == "0") { parameter.Value = false; } } if (type == typeof(Guid)) { parameter.Value = Guid.Parse(parameter.Value.ToString()); } if (type == typeof(string)) { parameter.Value = parameter.Value.ToString().Trim(); } command.AddParameter(parameter.Name, Convert.ChangeType(parameter.Value, GetType(dbType)), dbType); } command.OpenConnection(); var reader = command.OpenReader(); List <OutputColumn> Columns = new List <OutputColumn>(); if (reader.Read()) { for (int i = 0; i < reader.FieldCount; i++) { OutputColumn column = new OutputColumn(); column.HeaderName = reader.GetName(i); column.ColumnDBType = reader.GetDataTypeName(i); column.ColumnType = reader.GetFieldType(i); using (var provider = new CSharpCodeProvider()) { var typeRef = new CodeTypeReference(column.ColumnType); column.Type = provider.GetTypeOutput(typeRef); } if (column.ColumnType == typeof(DateTime)) { column.Type = column.ColumnType.Name; } if (column.ColumnType == typeof(Guid)) { column.Type = column.ColumnType.Name; } Columns.Add(column); } } reader.Close(); return(Columns); }
public CustomColumn(OutputColumn column) { Column = column; }
public VisibleColumn(OutputColumn column) { _column = column; }
public void SetDataTypeProperties(SSISDataType dataType, int length, int precision, int scale, int codePage) { OutputColumn.SetDataTypeProperties(dataType, length, precision, scale, codePage); }
public ActionResult RefreshQueryResultPartial(int page = 1, string sort = "", string sortdir = "") { ViewBag.CurrentPage = page; object model = null; var queryBuilder = SessionStore.Current.QueryBuilder; var queryTransformer = SessionStore.Current.QueryTransformer; queryTransformer.Sortings.Clear(); if (string.IsNullOrEmpty(sortdir)) { sortdir = "ASC"; } OutputColumn column = null; if (!string.IsNullOrEmpty(sort)) { column = queryTransformer.Columns.FirstOrDefault(c => c.Name == sort && c.IsSupportSorting); } if (column == null) { column = queryTransformer.Columns.FirstOrDefault(c => !string.IsNullOrEmpty(c.Name) && c.IsSupportSorting); } if (column != null) { queryTransformer.OrderBy(column, sortdir == "ASC"); } queryTransformer.Take(PageSize.ToString()).Skip(((page - 1) * PageSize).ToString()); if (queryBuilder.MetadataProvider != null) { var cmd = (OleDbCommand)queryBuilder.MetadataProvider.Connection.CreateCommand(); cmd.CommandTimeout = 30; ViewBag.Sql = cmd.CommandText = queryTransformer.Sql; try { if (cmd.Connection.State == ConnectionState.Open) { cmd.Connection.Close(); } foreach (var paramDto in SessionStore.Current.ClientQueryParams) { cmd.Parameters.AddWithValue(paramDto.Name, paramDto.Value); } var adapter = new OleDbDataAdapter(cmd); var dataset = new DataSet(); adapter.Fill(dataset, "QueryResult"); model = ConvertToDictionary(dataset.Tables["QueryResult"]); ViewBag.RowCount = GetRowCount(queryBuilder, queryTransformer); } catch (Exception ex) { string message = "Execute query error!"; Logger.Error(message, ex); ViewBag.Message = message + " " + ex.Message; } } return(PartialView("_QueryResultPartial", model)); }
public void ReadEvent(PublishedEvent evt) { Prepare(); // // Read event data // lock (eventsTable) { foreach (PublishedEventField fld in evt.Fields) { if ( !eventsTable.Columns.Contains(fld.Name) && ( OutputColumns.Count == 0 || OutputColumns.Exists(x => x.Name == fld.Name) || OutputColumns.Exists(x => x.Calculated && Regex.IsMatch(x.Name, @"\s+AS\s+.*" + fld.Name, RegexOptions.IgnoreCase)) || (Filter != null && Filter.Contains(fld.Name)) ) ) { OutputColumn col = OutputColumns.FirstOrDefault(x => x.Name == fld.Name); if (col == null) { col = new OutputColumn() { Name = fld.Name, ColumnType = OutputColumn.ColType.Column }; } Type t; DataColumn dc; bool disallowed = false; if (DataTableTSQLAdapter.AllowedDataTypes.Contains(fld.Type.ToString())) { t = fld.Type; } else { t = Type.GetType("System.String"); } dc = eventsTable.Columns.Add(fld.Name, t); dc.ExtendedProperties.Add("subtype", "field"); dc.ExtendedProperties.Add("disallowedtype", disallowed); dc.ExtendedProperties.Add("calculated", false); dc.ExtendedProperties.Add("coltype", col.ColumnType); SetColHiddenProperty(dc); } } foreach (PublishedAction act in evt.Actions) { if ( !eventsTable.Columns.Contains(act.Name) && ( OutputColumns.Count == 0 || OutputColumns.Exists(x => x.Name == act.Name) || OutputColumns.Exists(x => x.Calculated && Regex.IsMatch(x.Name, @"\s+AS\s+.*" + act.Name, RegexOptions.IgnoreCase)) ) ) { OutputColumn col = OutputColumns.FirstOrDefault(x => x.Name == act.Name); if (col == null) { col = new OutputColumn() { Name = act.Name, ColumnType = OutputColumn.ColType.Column }; } Type t; DataColumn dc; bool disallowed = false; if (DataTableTSQLAdapter.AllowedDataTypes.Contains(act.Type.ToString())) { t = act.Type; } else { t = Type.GetType("System.String"); } dc = eventsTable.Columns.Add(act.Name, t); dc.ExtendedProperties.Add("subtype", "action"); dc.ExtendedProperties.Add("disallowedtype", disallowed); dc.ExtendedProperties.Add("calculated", false); dc.ExtendedProperties.Add("coltype", col.ColumnType); SetColHiddenProperty(dc); } } // add calculated columns for (int i = 0; i < OutputColumns.Count; i++) { string outCol = OutputColumns[i].Name; if (!eventsTable.Columns.Contains(outCol)) { if (Regex.IsMatch(outCol, @"\s+AS\s+", RegexOptions.IgnoreCase)) { var tokens = Regex.Split(outCol, @"\s+AS\s+", RegexOptions.IgnoreCase); string colName = tokens[0]; string colDefinition = tokens[1]; DataColumn dc; dc = eventsTable.Columns.Add(); dc.ColumnName = colName; dc.Expression = colDefinition; dc.ExtendedProperties.Add("subtype", "calculated"); dc.ExtendedProperties.Add("disallowedtype", false); dc.ExtendedProperties.Add("calculated", true); dc.ExtendedProperties.Add("coltype", OutputColumns[i].ColumnType); SetColHiddenProperty(dc); //change OutputColumns OutputColumns[i].Name = colName; } } } } DataTable tmpTab = eventsTable.Clone(); DataRow row = tmpTab.NewRow(); if (row.Table.Columns.Contains("name")) { row.SetField("name", evt.Name); } if (row.Table.Columns.Contains("collection_time")) { row.SetField("collection_time", evt.Timestamp.LocalDateTime); } foreach (PublishedEventField fld in evt.Fields) { if (row.Table.Columns.Contains(fld.Name)) { if ((bool)row.Table.Columns[fld.Name].ExtendedProperties["disallowedtype"]) { row.SetField(fld.Name, fld.Value.ToString()); } else { row.SetField(fld.Name, fld.Value); } } } foreach (PublishedAction act in evt.Actions) { if (row.Table.Columns.Contains(act.Name)) { if ((bool)row.Table.Columns[act.Name].ExtendedProperties["disallowedtype"]) { row.SetField(act.Name, act.Value.ToString()); } else { row.SetField(act.Name, act.Value); } } } if (!String.IsNullOrEmpty(Filter)) { DataView dv = new DataView(tmpTab); dv.RowFilter = Filter; tmpTab.Rows.Add(row); lock (eventsTable) { foreach (DataRow dr in dv.ToTable().Rows) { eventsTable.ImportRow(dr); } } } else { tmpTab.Rows.Add(row); lock (eventsTable) { foreach (DataRow dr in tmpTab.Rows) { eventsTable.ImportRow(dr); } } } }