public void MyTestInitialize()
        {
            string error;

            var dataListCompiler = DataListFactory.CreateDataListCompiler();

            _dl1 = Dev2BinaryDataListFactory.CreateDataList();
            _dl1.TryCreateScalarTemplate(string.Empty, "myScalar", "A scalar", true, out error);
            _dl1.TryCreateScalarValue("[[otherScalar]]", "myScalar", out error);

            _dl1.TryCreateScalarTemplate(string.Empty, "otherScalar", "A scalar", true, out error);
            _dl1.TryCreateScalarValue("testRegion", "otherScalar", out error);

            _dl1.TryCreateScalarTemplate(string.Empty, "scalar1", "A scalar", true, out error);
            _dl1.TryCreateScalarValue("foobar", "scalar1", out error);

            IList<Dev2Column> cols = new List<Dev2Column>();
            cols.Add(Dev2BinaryDataListFactory.CreateColumn("f1"));
            cols.Add(Dev2BinaryDataListFactory.CreateColumn("f2"));
            cols.Add(Dev2BinaryDataListFactory.CreateColumn("f3"));

            _dl1.TryCreateRecordsetTemplate("recset", "a recordset", cols, true, out error);

            _dl1.TryCreateRecordsetValue("r1.f1.value", "f1", "recset", 1, out error);
            _dl1.TryCreateRecordsetValue("r1.f2.value", "f2", "recset", 1, out error);
            _dl1.TryCreateRecordsetValue("r1.f3.value", "f3", "recset", 1, out error);

            _dl1.TryCreateRecordsetValue("r2.f1.value", "f1", "recset", 2, out error);
            _dl1.TryCreateRecordsetValue("r2.f2.value", "f2", "recset", 2, out error);
            _dl1.TryCreateRecordsetValue("r2.f3.value", "f3", "recset", 2, out error);

            // skip 3 ;)

            _dl1.TryCreateRecordsetValue("r4.f1.value", "f1", "recset", 4, out error);
            _dl1.TryCreateRecordsetValue("r4.f2.value", "f2", "recset", 4, out error);
            _dl1.TryCreateRecordsetValue("r4.f3.value", "f3", "recset", 4, out error);

            dataListCompiler.PushBinaryDataList(_dl1.UID, _dl1, out _errors);
            //_compiler.UpsertSystemTag(dl1.UID, enSystemTag.EvaluateIteration, "true", out errors);

            /*  list 2 */
            _dl2 = Dev2BinaryDataListFactory.CreateDataList();
            _dl2.TryCreateScalarTemplate(string.Empty, "idx", "A scalar", true, out error);
            _dl2.TryCreateScalarValue("1", "idx", out error);

            _dl2.TryCreateRecordsetTemplate("recset", "a recordset", cols, true, out error);

            _dl2.TryCreateRecordsetValue("r1.f1.value", "f1", "recset", 1, out error);
            _dl2.TryCreateRecordsetValue("r1.f2.value", "f2", "recset", 1, out error);
            _dl2.TryCreateRecordsetValue("r1.f3.value", "f3", "recset", 1, out error);

            _dl2.TryCreateRecordsetValue("r2.f1.value", "f1", "recset", 2, out error);
            _dl2.TryCreateRecordsetValue("r2.f2.value", "f2", "recset", 2, out error);
            _dl2.TryCreateRecordsetValue("r2.f3.value", "f3", "recset", 2, out error);

            dataListCompiler.PushBinaryDataList(_dl2.UID, _dl2, out _errors);
            //_compiler.UpsertSystemTag(dl2.UID, enSystemTag.EvaluateIteration, "true", out errors);
        }
        public void MyTestInitialize()
        {
            string error;

            _dl1 = Dev2BinaryDataListFactory.CreateDataList();
            _dl1.TryCreateScalarTemplate(string.Empty, "myScalar", "A scalar", true, out error);
            _dl1.TryCreateScalarValue("myValue", "myScalar", out error);

            IList<Dev2Column> cols = new List<Dev2Column>();
            cols.Add(Dev2BinaryDataListFactory.CreateColumn("f1"));
            cols.Add(Dev2BinaryDataListFactory.CreateColumn("f2"));
            cols.Add(Dev2BinaryDataListFactory.CreateColumn("f3"));

            _dl1.TryCreateRecordsetTemplate("recset", "a recordset", cols, true, out error);

            _dl1.TryCreateRecordsetValue("r1.f1.value", "f1", "recset", 1, out error);
            _dl1.TryCreateRecordsetValue("r1.f2.value", "f2", "recset", 1, out error);
            _dl1.TryCreateRecordsetValue("r1.f3.value", "f3", "recset", 1, out error);

            _dl1.TryCreateRecordsetValue("r2.f1.value", "f1", "recset", 2, out error);
            _dl1.TryCreateRecordsetValue("r2.f2.value", "f2", "recset", 2, out error);
            _dl1.TryCreateRecordsetValue("r2.f3.value", "f3", "recset", 2, out error);

            // skip 3 ;)

            _dl1.TryCreateRecordsetValue("r4.f1.value", "f1", "recset", 4, out error);
            _dl1.TryCreateRecordsetValue("r4.f2.value", "f2", "recset", 4, out error);
            _dl1.TryCreateRecordsetValue("r4.f3.value", "f3", "recset", 4, out error);

            // create 2nd obj
            _dl2 = Dev2BinaryDataListFactory.CreateDataList();
            _dl2.TryCreateScalarTemplate(string.Empty, "myScalar", "A scalar", true, out error);
            _dl2.TryCreateScalarValue("myValue2", "myScalar", out error);

            cols = new List<Dev2Column> { Dev2BinaryDataListFactory.CreateColumn("f1"), Dev2BinaryDataListFactory.CreateColumn("f2"), Dev2BinaryDataListFactory.CreateColumn("f3") };

            _dl2.TryCreateRecordsetTemplate("recset", "a recordset", cols, true, out error);

            _dl2.TryCreateRecordsetValue("r1a.f1.value2", "f1", "recset", 1, out error);
            _dl2.TryCreateRecordsetValue("r1a.f2.value2", "f2", "recset", 1, out error);
            _dl2.TryCreateRecordsetValue("r1a.f3.value2", "f3", "recset", 1, out error);

            _dl2.TryCreateRecordsetValue("r2a.f1.value2", "f1", "recset", 2, out error);
            _dl2.TryCreateRecordsetValue("r2a.f2.value2", "f2", "recset", 2, out error);
            _dl2.TryCreateRecordsetValue("r2a.f3.value2", "f3", "recset", 2, out error);

            _dl2.TryCreateRecordsetValue("r3a.f1.value2", "f1", "recset", 3, out error);
            _dl2.TryCreateRecordsetValue("r3a.f2.value2", "f2", "recset", 3, out error);
            _dl2.TryCreateRecordsetValue("r3a.f3.value2", "f3", "recset", 3, out error);

            // create 3rd obj
            _dl3 = Dev2BinaryDataListFactory.CreateDataList();
            _dl3.TryCreateScalarTemplate(string.Empty, "theScalar", "A scalar", true, out error);
            _dl3.TryCreateScalarValue("theValue", "theScalar", out error);

            cols = new List<Dev2Column> { Dev2BinaryDataListFactory.CreateColumn("f1"), Dev2BinaryDataListFactory.CreateColumn("f2"), Dev2BinaryDataListFactory.CreateColumn("f3") };

            _dl3.TryCreateRecordsetTemplate("recset2", "a recordset", cols, true, out error);

            _dl3.TryCreateRecordsetValue("r1a.f1.value2", "f1", "recset2", 1, out error);
            _dl3.TryCreateRecordsetValue("r1a.f2.value2", "f2", "recset2", 1, out error);
            _dl3.TryCreateRecordsetValue("r1a.f3.value2", "f3", "recset2", 1, out error);

            _dl3.TryCreateRecordsetValue("r2a.f1.value2", "f1", "recset2", 2, out error);
            _dl3.TryCreateRecordsetValue("r2a.f2.value2", "f2", "recset2", 2, out error);
            _dl3.TryCreateRecordsetValue("r2a.f3.value2", "f3", "recset2", 2, out error);

            _dl3.TryCreateRecordsetValue("r3a.f1.value2", "f1", "recset2", 3, out error);
            _dl3.TryCreateRecordsetValue("r3a.f2.value2", "f2", "recset2", 3, out error);
            _dl3.TryCreateRecordsetValue("r3a.f3.value2", "f3", "recset2", 3, out error);

            // create 4th obj
            _dl4 = Dev2BinaryDataListFactory.CreateDataList();
            _dl4.TryCreateScalarTemplate(string.Empty, "theScalar", "A scalar", true, out error);
            _dl4.TryCreateScalarValue("theValue4", "theScalar", out error);
            _dl4.TryCreateScalarTemplate(string.Empty, "myScalar", "A scalar", true, out error);
            _dl4.TryCreateScalarValue("myValue4", "myScalar", out error);

            cols = new List<Dev2Column> { Dev2BinaryDataListFactory.CreateColumn("f1"), Dev2BinaryDataListFactory.CreateColumn("f2"), Dev2BinaryDataListFactory.CreateColumn("f3") };

            _dl4.TryCreateRecordsetTemplate("recset2", "a recordset", cols, true, out error);

            _dl4.TryCreateRecordsetValue("r1a.f1.value2", "f1", "recset2", 1, out error);
            _dl4.TryCreateRecordsetValue("r1a.f2.value2", "f2", "recset2", 1, out error);
            _dl4.TryCreateRecordsetValue("r1a.f3.value2", "f3", "recset2", 1, out error);

            _dl4.TryCreateRecordsetValue("r2a.f1.value2", "f1", "recset2", 2, out error);
            _dl4.TryCreateRecordsetValue("r2a.f2.value2", "f2", "recset2", 2, out error);
            _dl4.TryCreateRecordsetValue("r2a.f3.value2", "f3", "recset2", 2, out error);

            _dl4.TryCreateRecordsetValue("r3a.f1.value2", "f1", "recset2", 3, out error);
            _dl4.TryCreateRecordsetValue("r3a.f2.value2", "f2", "recset2", 3, out error);
            _dl4.TryCreateRecordsetValue("r3a.f3.value2", "f3", "recset2", 3, out error);



            // create 5th obj
            _dlWithBankScalar = Dev2BinaryDataListFactory.CreateDataList();
            _dlWithBankScalar.TryCreateScalarTemplate(string.Empty, "myScalar", "A scalar", true, out error);
            _dlWithBankScalar.TryCreateScalarValue("", "myScalar", out error);

            _dlWithPopulatedScalar = Dev2BinaryDataListFactory.CreateDataList();
            _dlWithPopulatedScalar.TryCreateScalarTemplate(string.Empty, "myScalar", "A scalar", true, out error);
            _dlWithPopulatedScalar.TryCreateScalarValue("CAKE!", "myScalar", out error);
        }
        /// <summary>
        /// Translates the shape automatic object.
        /// </summary>
        /// <param name="shape">The shape.</param>
        /// <param name="includeSysTags">Includes the system tags when building the DataList</param>
        /// <param name="errors">The errors.</param>
        /// <returns></returns>
        public IBinaryDataList TranslateShapeToObject(StringBuilder shape, bool includeSysTags, out ErrorResultTO errors)
        {
            IBinaryDataList result = null;

            errors = new ErrorResultTO();

            try
            {
                XmlDocument xDoc = new XmlDocument();
                xDoc.LoadXml(shape.ToString());
                string error;
                if (xDoc.DocumentElement != null)
                {
                    XmlNodeList      children           = xDoc.DocumentElement.ChildNodes;
                    HashSet <string> procssesNamespaces = new HashSet <string>();

                    result = Dev2BinaryDataListFactory.CreateDataList();

                    foreach (XmlNode c in children)
                    {
                        XmlAttribute descAttribute = null;
                        XmlAttribute ioDirection   = null;

                        if (!DataListUtil.IsSystemTag(c.Name))
                        {
                            if (c.HasChildNodes)
                            {
                                IList <Dev2Column> cols = new List <Dev2Column>();
                                //recordset
                                // build template
                                if (!procssesNamespaces.Contains(c.Name))
                                {
                                    procssesNamespaces.Add(c.Name);

                                    // build columns
                                    foreach (XmlNode subc in c.ChildNodes)
                                    {
                                        if (subc.Attributes != null)
                                        {
                                            descAttribute = subc.Attributes["Description"];
                                            ioDirection   = subc.Attributes["ColumnIODirection"];
                                        }

                                        // set column io direction
                                        enDev2ColumnArgumentDirection dirCol = enDev2ColumnArgumentDirection.None;
                                        if (ioDirection != null)
                                        {
                                            Enum.TryParse(ioDirection.Value, out dirCol);
                                        }


                                        if (descAttribute != null)
                                        {
                                            cols.Add(DataListFactory.CreateDev2Column(subc.Name, descAttribute.Value, true, dirCol));
                                        }
                                        else
                                        {
                                            cols.Add(DataListFactory.CreateDev2Column(subc.Name, String.Empty, true, dirCol));
                                        }
                                    }
                                    string myError;

                                    if (c.Attributes != null)
                                    {
                                        descAttribute = c.Attributes["Description"];
                                        ioDirection   = c.Attributes["ColumnIODirection"];
                                    }


                                    // set column io direction
                                    enDev2ColumnArgumentDirection dir = enDev2ColumnArgumentDirection.None;
                                    if (ioDirection != null)
                                    {
                                        Enum.TryParse(ioDirection.Value, out dir);
                                    }


                                    if (descAttribute != null)
                                    {
                                        if (!result.TryCreateRecordsetTemplate(c.Name, descAttribute.Value, cols, true, true, dir, out myError))
                                        {
                                            errors.AddError(myError);
                                        }
                                    }
                                    else
                                    {
                                        if (!result.TryCreateRecordsetTemplate(c.Name, String.Empty, cols, true, true, dir, out myError))
                                        {
                                            errors.AddError(myError);
                                        }
                                    }
                                }
                                else
                                {
                                    // it is a duplicate we need to handle this correctly ;)
                                    // build columns

                                    IBinaryDataListEntry amendEntry;
                                    result.TryGetEntry(c.Name, out amendEntry, out error);
                                    errors.AddError(error);

                                    if (amendEntry != null)
                                    {
                                        cols = amendEntry.Columns;

                                        foreach (XmlNode subc in c.ChildNodes)
                                        {
                                            if (subc.Attributes != null)
                                            {
                                                descAttribute = subc.Attributes["Description"];
                                                ioDirection   = subc.Attributes["ColumnIODirection"];
                                            }

                                            // set column io direction
                                            enDev2ColumnArgumentDirection dir = enDev2ColumnArgumentDirection.None;
                                            if (ioDirection != null)
                                            {
                                                Enum.TryParse(ioDirection.Value, out dir);
                                            }


                                            if (descAttribute != null)
                                            {
                                                cols.Add(DataListFactory.CreateDev2Column(subc.Name, descAttribute.Value, true, dir));
                                            }
                                            else
                                            {
                                                cols.Add(DataListFactory.CreateDev2Column(subc.Name, String.Empty, true, dir));
                                            }
                                        }

                                        // now re-insert the entry ;)
                                        if (!result.TryCreateRecordsetTemplate(c.Name, String.Empty, cols, true, out error))
                                        {
                                            errors.AddError(error);
                                        }
                                    }
                                }
                            }
                            else
                            {
                                //scalar
                                if (c.Attributes != null)
                                {
                                    descAttribute = c.Attributes["Description"];
                                    ioDirection   = c.Attributes["ColumnIODirection"];
                                }

                                // get column direction
                                enDev2ColumnArgumentDirection dir = enDev2ColumnArgumentDirection.None;
                                if (ioDirection != null)
                                {
                                    Enum.TryParse(ioDirection.Value, out dir);
                                }

                                if (descAttribute != null)
                                {
                                    result.TryCreateScalarTemplate(String.Empty, c.Name, descAttribute.Value, true, true, dir, out error);
                                }
                                else
                                {
                                    result.TryCreateScalarTemplate(String.Empty, c.Name, String.Empty, true, true, dir, out error);
                                }
                            }
                        }
                    }
                }


                if (includeSysTags)
                {
                    // Build System Tag Shape ;)
                    for (int i = 0; i < TranslationConstants.systemTags.Length; i++)
                    {
                        if (result != null)
                        {
                            result.TryCreateScalarTemplate(GlobalConstants.SystemTagNamespace,
                                                           TranslationConstants.systemTags.GetValue(i).ToString(),
                                                           String.Empty,
                                                           true,
                                                           out error);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                errors.AddError(e.Message);
            }

            return(result);
        }
Exemple #4
0
        /// <summary>
        /// Build the template based upon the sent shape
        /// </summary>
        /// <param name="shape"></param>
        /// <param name="error"></param>
        private IBinaryDataList BuildTargetShape(StringBuilder shape, out string error)
        {
            IBinaryDataList result = null;

            error = null;
            try
            {
                XmlDocument xDoc = new XmlDocument();
                xDoc.LoadXml(shape.ToString());
                if (xDoc.DocumentElement != null)
                {
                    var children = xDoc.DocumentElement.ChildNodes;
                    error = string.Empty;

                    HashSet <string> procssesNamespaces = new HashSet <string>();

                    result = Dev2BinaryDataListFactory.CreateDataList();

                    foreach (XmlNode c in children)
                    {
                        if (!DataListUtil.IsSystemTag(c.Name))
                        {
                            if (c.HasChildNodes)
                            {
                                IList <Dev2Column> cols = new List <Dev2Column>();
                                // build template for Recordset
                                if (!procssesNamespaces.Contains(c.Name))
                                {
                                    // build columns
                                    foreach (XmlNode subc in c.ChildNodes)
                                    {
                                        // It is possible for the .Attributes property to be null, a check should be added
                                        if (subc.Attributes != null)
                                        {
                                            cols.Add(DataListFactory.CreateDev2Column(subc.Name,
                                                                                      ParseDescription(subc.Attributes[Description]),
                                                                                      ParseIsEditable(subc.Attributes[IsEditable]),
                                                                                      ParseColumnIODirection(subc.Attributes[GlobalConstants.DataListIoColDirection])));
                                        }
                                        else
                                        {
                                            cols.Add(DataListFactory.CreateDev2Column(subc.Name,
                                                                                      ParseDescription(null),
                                                                                      ParseIsEditable(null),
                                                                                      ParseColumnIODirection(null)));
                                        }
                                    }

                                    string myError;

                                    if (c.Attributes != null)
                                    {
                                        if (!result.TryCreateRecordsetTemplate(c.Name,
                                                                               ParseDescription(c.Attributes[Description]),
                                                                               cols,
                                                                               true,
                                                                               ParseIsEditable(c.Attributes[IsEditable]),
                                                                               ParseColumnIODirection(c.Attributes[GlobalConstants.DataListIoColDirection]),
                                                                               out myError))
                                        {
                                            error = myError;
                                        }
                                    }
                                    else
                                    {
                                        if (!result.TryCreateRecordsetTemplate(c.Name,
                                                                               ParseDescription(null),
                                                                               cols,
                                                                               true,
                                                                               ParseIsEditable(null),
                                                                               ParseColumnIODirection(null),
                                                                               out myError))
                                        {
                                            error = myError;
                                        }
                                    }
                                }
                            }
                            else
                            {
                                //scalar
                                if (c.Attributes != null)
                                {
                                    result.TryCreateScalarTemplate(string.Empty,
                                                                   c.Name,
                                                                   ParseDescription(c.Attributes[Description]),
                                                                   true,
                                                                   ParseIsEditable(c.Attributes[IsEditable]),
                                                                   ParseColumnIODirection(c.Attributes[GlobalConstants.DataListIoColDirection]),
                                                                   out error);
                                }
                                else
                                {
                                    result.TryCreateScalarTemplate(string.Empty,
                                                                   c.Name,
                                                                   ParseDescription(null),
                                                                   true,
                                                                   ParseIsEditable(null),
                                                                   ParseColumnIODirection(null),
                                                                   out error);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(result);
        }
Exemple #5
0
        /*
         * There are plenty of test in the DynamicServicesEndPointTest that appear to test this functionality ;)
         */

        /// <summary>
        /// Build the template based upon the sent shape
        /// </summary>
        /// <param name="shape"></param>
        /// <param name="error"></param>
        public static IBinaryDataList BuildTargetShape(string shape, out string error)
        {
            IBinaryDataList result = null;

            try
            {
                XmlDocument xDoc = new XmlDocument();
                xDoc.LoadXml(shape);
                XmlNodeList children = xDoc.DocumentElement.ChildNodes;
                error = string.Empty;

                HashSet <string> procssesNamespaces = new HashSet <string>();

                if (children != null)
                {
                    result = Dev2BinaryDataListFactory.CreateDataList();

                    foreach (XmlNode c in children)
                    {
                        XmlAttribute descAttribute     = null;
                        XmlAttribute columnIoDirection = null;
                        if (!DataListUtil.IsSystemTag(c.Name))
                        {
                            if (c.HasChildNodes)
                            {
                                IList <Dev2Column> cols = new List <Dev2Column>();
                                //recordset
                                if (c.ChildNodes != null)
                                {
                                    // build template
                                    if (!procssesNamespaces.Contains(c.Name))
                                    {
                                        // build columns
                                        foreach (XmlNode subc in c.ChildNodes)
                                        {
                                            // It is possible for the .Attributes property to be null, a check should be added
                                            if (subc.Attributes != null)
                                            {
                                                descAttribute = subc.Attributes["Description"];
                                            }
                                            if (descAttribute != null)
                                            {
                                                cols.Add(DataListFactory.CreateDev2Column(subc.Name, descAttribute.Value));
                                            }
                                            else
                                            {
                                                cols.Add(DataListFactory.CreateDev2Column(subc.Name, string.Empty));
                                            }
                                        }
                                        string myError = string.Empty;
                                        // It is possible for the .Attributes property to be null, a check should be added
                                        if (c.Attributes != null)
                                        {
                                            descAttribute     = c.Attributes["Description"];
                                            columnIoDirection = c.Attributes["ColumnIODirection"];
                                        }
                                        if (descAttribute != null)
                                        {
                                            var columnDirection = enDev2ColumnArgumentDirection.None;
                                            if (columnIoDirection != null)
                                            {
                                                Enum.TryParse(columnIoDirection.Value, true, out columnDirection);
                                            }
                                            if (!result.TryCreateRecordsetTemplate(c.Name, descAttribute.Value, cols, true, false, columnDirection, out myError))
                                            {
                                                error = myError;
                                            }
                                        }
                                        else
                                        {
                                            if (!result.TryCreateRecordsetTemplate(c.Name, string.Empty, cols, true, out myError))
                                            {
                                                error = myError;
                                            }
                                        }
                                    }
                                }
                            }
                            else
                            {
                                //scalar
                                // It is possible for the .Attributes property to be null, a check should be added
                                if (c.Attributes != null)
                                {
                                    descAttribute     = c.Attributes["Description"];
                                    columnIoDirection = c.Attributes["ColumnIODirection"];
                                }
                                if (descAttribute != null)
                                {
                                    var columnDirection = enDev2ColumnArgumentDirection.None;
                                    if (columnIoDirection != null)
                                    {
                                        Enum.TryParse(columnIoDirection.Value, true, out columnDirection);
                                    }
                                    result.TryCreateScalarTemplate(string.Empty, c.Name, descAttribute.Value, true, false, columnDirection, out error);
                                }
                                else
                                {
                                    result.TryCreateScalarTemplate(string.Empty, c.Name, string.Empty, true, out error);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                error = e.Message;
            }

            return(result);
        }
        public void WorkflowExecuted_Where_ExecutionStatusCallBackRegisteredAndDataListMergeRequested_Expected_DataMergedInAndOutOfWorkflow()
        {
            //
            // Create a reset event which is used to wait for callbacks form the server
            //
            ManualResetEventSlim resetEvent = new ManualResetEventSlim(false);

            //
            // Setup MEF context
            //
            ImportService.CurrentContext = CompositionInitializer.DefaultInitialize();

            //
            // Setup test data
            //
            ErrorResultTO errors      = new ErrorResultTO();
            Guid          callBackID  = Guid.NewGuid();
            string        serviceName = "wizardtest";

            IBinaryDataList dataList = Dev2BinaryDataListFactory.CreateDataList();

            string error;

            dataList.TryCreateScalarTemplate("", "testvalue", "", true, out error);
            dataList.TryCreateScalarValue("321", "testvalue", out error);

            DataListMergeOpsTO dataListMergeOpsTO = new DataListMergeOpsTO(dataList.UID);

            ServiceLocator serviceLocator = new ServiceLocator();

            ImportService.SatisfyImports(serviceLocator);

            //
            // Connect to the server
            //
            IEnvironmentConnection conn = new EnvironmentConnection();

            conn.Address = new Uri(ServerSettings.DsfAddress);
            conn.Connect();

            IEventAggregator          eventAggregator       = ImportService.GetExportValue <IEventAggregator>();
            IFrameworkSecurityContext securityContext       = ImportService.GetExportValue <IFrameworkSecurityContext>();
            IEnvironmentConnection    environmentConnection = ImportService.GetExportValue <IEnvironmentConnection>();

            IEnvironmentModel environment = new EnvironmentModel(eventAggregator, securityContext, environmentConnection);

            environment.EnvironmentConnection = conn;

            //
            // Write the datalist to the server over the datalist channel
            //
            conn.DataListChannel.WriteDataList(dataList.UID, dataList, errors);

            //
            // Add an execution callback, the action of this call back will set the reset event allowing the test to continue
            //
            conn.ExecutionChannel.AddExecutionStatusCallback(callBackID, new Action <ExecutionStatusCallbackMessage>(m =>
            {
                if (m.MessageType == ExecutionStatusCallbackMessageType.CompletedCallback)
                {
                    resetEvent.Set();
                }
            }));

            //
            // Get endpoint to query and make request to server
            //
            Uri enpoint = serviceLocator.GetEndpoint(WizardEndpointGenerationStrategyProvider.ServiceWithDataListMergeAndExecutionCallBackKey, new Tuple <string, IEnvironmentModel, DataListMergeOpsTO, Guid>(serviceName, environment, dataListMergeOpsTO, callBackID));

            WebRequest   wr      = WebRequest.Create(enpoint);
            WebResponse  wrsp    = wr.GetResponse();
            Stream       s       = wrsp.GetResponseStream();
            StreamReader sr      = new StreamReader(s);
            string       payload = sr.ReadToEnd();

            //
            // Wait for completed callback
            //
            resetEvent.Wait(10000);

            //
            // Get datalist from the server
            //
            IBinaryDataList resultDataList = conn.DataListChannel.ReadDatalist(dataList.UID, errors);

            //
            // Clean up
            //
            conn.Disconnect();

            IBinaryDataListEntry testValueEntry;

            resultDataList.TryGetEntry("testvalue", out testValueEntry, out error);

            IBinaryDataListEntry inValueEntry;

            resultDataList.TryGetEntry("invalue", out inValueEntry, out error);

            string expected = "123|321";
            string actual   = testValueEntry.FetchScalar().TheValue + "|" + inValueEntry.FetchScalar().TheValue;

            Assert.AreEqual(expected, actual);
        }
Exemple #7
0
        public void MyTestInitialize()
        {
            string error;

            _dl1 = Dev2BinaryDataListFactory.CreateDataList();
            _dl1.TryCreateScalarTemplate(string.Empty, "myScalar", "A scalar", true, out error);
            _dl1.TryCreateScalarValue("myValue", "myScalar", out error);

            IList <Dev2Column> cols = new List <Dev2Column>();

            cols.Add(Dev2BinaryDataListFactory.CreateColumn("f1"));
            cols.Add(Dev2BinaryDataListFactory.CreateColumn("f2"));
            cols.Add(Dev2BinaryDataListFactory.CreateColumn("f3"));

            _dl1.TryCreateRecordsetTemplate("recset", "a recordset", cols, true, out error);

            _dl1.TryCreateRecordsetValue("r1.f1.value", "f1", "recset", 1, out error);
            _dl1.TryCreateRecordsetValue("r1.f2.value", "f2", "recset", 1, out error);
            _dl1.TryCreateRecordsetValue("r1.f3.value", "f3", "recset", 1, out error);

            _dl1.TryCreateRecordsetValue("r2.f1.value", "f1", "recset", 2, out error);
            _dl1.TryCreateRecordsetValue("r2.f2.value", "f2", "recset", 2, out error);
            _dl1.TryCreateRecordsetValue("r2.f3.value", "f3", "recset", 2, out error);

            // skip 3 ;)

            _dl1.TryCreateRecordsetValue("r4.f1.value", "f1", "recset", 4, out error);
            _dl1.TryCreateRecordsetValue("r4.f2.value", "f2", "recset", 4, out error);
            _dl1.TryCreateRecordsetValue("r4.f3.value", "f3", "recset", 4, out error);

            // create 2nd obj
            _dl2 = Dev2BinaryDataListFactory.CreateDataList();
            _dl2.TryCreateScalarTemplate(string.Empty, "myScalar", "A scalar", true, out error);
            _dl2.TryCreateScalarValue("myValue2", "myScalar", out error);

            cols = new List <Dev2Column> {
                Dev2BinaryDataListFactory.CreateColumn("f1"), Dev2BinaryDataListFactory.CreateColumn("f2"), Dev2BinaryDataListFactory.CreateColumn("f3")
            };

            _dl2.TryCreateRecordsetTemplate("recset", "a recordset", cols, true, out error);

            _dl2.TryCreateRecordsetValue("r1a.f1.value2", "f1", "recset", 1, out error);
            _dl2.TryCreateRecordsetValue("r1a.f2.value2", "f2", "recset", 1, out error);
            _dl2.TryCreateRecordsetValue("r1a.f3.value2", "f3", "recset", 1, out error);

            _dl2.TryCreateRecordsetValue("r2a.f1.value2", "f1", "recset", 2, out error);
            _dl2.TryCreateRecordsetValue("r2a.f2.value2", "f2", "recset", 2, out error);
            _dl2.TryCreateRecordsetValue("r2a.f3.value2", "f3", "recset", 2, out error);

            _dl2.TryCreateRecordsetValue("r3a.f1.value2", "f1", "recset", 3, out error);
            _dl2.TryCreateRecordsetValue("r3a.f2.value2", "f2", "recset", 3, out error);
            _dl2.TryCreateRecordsetValue("r3a.f3.value2", "f3", "recset", 3, out error);

            // create 3rd obj
            _dl3 = Dev2BinaryDataListFactory.CreateDataList();
            _dl3.TryCreateScalarTemplate(string.Empty, "theScalar", "A scalar", true, out error);
            _dl3.TryCreateScalarValue("theValue", "theScalar", out error);

            cols = new List <Dev2Column> {
                Dev2BinaryDataListFactory.CreateColumn("f1"), Dev2BinaryDataListFactory.CreateColumn("f2"), Dev2BinaryDataListFactory.CreateColumn("f3")
            };

            _dl3.TryCreateRecordsetTemplate("recset2", "a recordset", cols, true, out error);

            _dl3.TryCreateRecordsetValue("r1a.f1.value2", "f1", "recset2", 1, out error);
            _dl3.TryCreateRecordsetValue("r1a.f2.value2", "f2", "recset2", 1, out error);
            _dl3.TryCreateRecordsetValue("r1a.f3.value2", "f3", "recset2", 1, out error);

            _dl3.TryCreateRecordsetValue("r2a.f1.value2", "f1", "recset2", 2, out error);
            _dl3.TryCreateRecordsetValue("r2a.f2.value2", "f2", "recset2", 2, out error);
            _dl3.TryCreateRecordsetValue("r2a.f3.value2", "f3", "recset2", 2, out error);

            _dl3.TryCreateRecordsetValue("r3a.f1.value2", "f1", "recset2", 3, out error);
            _dl3.TryCreateRecordsetValue("r3a.f2.value2", "f2", "recset2", 3, out error);
            _dl3.TryCreateRecordsetValue("r3a.f3.value2", "f3", "recset2", 3, out error);

            // create 4th obj
            _dl4 = Dev2BinaryDataListFactory.CreateDataList();
            _dl4.TryCreateScalarTemplate(string.Empty, "theScalar", "A scalar", true, out error);
            _dl4.TryCreateScalarValue("theValue4", "theScalar", out error);
            _dl4.TryCreateScalarTemplate(string.Empty, "myScalar", "A scalar", true, out error);
            _dl4.TryCreateScalarValue("myValue4", "myScalar", out error);

            cols = new List <Dev2Column> {
                Dev2BinaryDataListFactory.CreateColumn("f1"), Dev2BinaryDataListFactory.CreateColumn("f2"), Dev2BinaryDataListFactory.CreateColumn("f3")
            };

            _dl4.TryCreateRecordsetTemplate("recset2", "a recordset", cols, true, out error);

            _dl4.TryCreateRecordsetValue("r1a.f1.value2", "f1", "recset2", 1, out error);
            _dl4.TryCreateRecordsetValue("r1a.f2.value2", "f2", "recset2", 1, out error);
            _dl4.TryCreateRecordsetValue("r1a.f3.value2", "f3", "recset2", 1, out error);

            _dl4.TryCreateRecordsetValue("r2a.f1.value2", "f1", "recset2", 2, out error);
            _dl4.TryCreateRecordsetValue("r2a.f2.value2", "f2", "recset2", 2, out error);
            _dl4.TryCreateRecordsetValue("r2a.f3.value2", "f3", "recset2", 2, out error);

            _dl4.TryCreateRecordsetValue("r3a.f1.value2", "f1", "recset2", 3, out error);
            _dl4.TryCreateRecordsetValue("r3a.f2.value2", "f2", "recset2", 3, out error);
            _dl4.TryCreateRecordsetValue("r3a.f3.value2", "f3", "recset2", 3, out error);



            // create 5th obj
            _dlWithBankScalar = Dev2BinaryDataListFactory.CreateDataList();
            _dlWithBankScalar.TryCreateScalarTemplate(string.Empty, "myScalar", "A scalar", true, out error);
            _dlWithBankScalar.TryCreateScalarValue("", "myScalar", out error);

            _dlWithPopulatedScalar = Dev2BinaryDataListFactory.CreateDataList();
            _dlWithPopulatedScalar.TryCreateScalarTemplate(string.Empty, "myScalar", "A scalar", true, out error);
            _dlWithPopulatedScalar.TryCreateScalarValue("CAKE!", "myScalar", out error);
        }