public void Should_Return_null_When_GetStringValue_is_Called_With_a_Null_Element()
        {
            var element = new XElement("Test");
            var actual  = XElementParserUtils.GetStringValue(element);

            Assert.AreEqual(null, actual);
        }
        public Activity Parse(System.Xml.Linq.XElement inputElement)
        {
            var activity = new RdvEventSourceActivity();

            activity.Name = inputElement.Attribute("name").Value;
            activity.Type = (ActivityType)inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "type").Value;

            var configElement = inputElement.Element("config");

            activity.Subject       = XElementParserUtils.GetStringValue(configElement.Element("subject"));
            activity.SharedChannel = XElementParserUtils.GetStringValue(configElement.Element("sharedChannel"));

            //TODO manage REF or XSD : is it really used ? Let's do something dirty and assume it's always a string name message

            /*if (configElement.Element ("XsdString").Attribute ("ref") != null) {
             *      activity.XsdStringReference = configElement.Element("XsdString").Attribute("ref").ToString();
             * }
             * else
             * {
             *      activity.ObjectXNodes = configElement.Element("XsdString").Nodes();
             *      var activityParameters = new XsdParser().Parse (configElement.Element("XsdString").Nodes(), string.Empty);
             *      activity.Parameters = activityParameters;
             * }*/


            activity.Parameters = new List <ClassParameter>
            {
                new ClassParameter {
                    Name = "message",
                    Type = "System.String"
                }
            };

            return(activity);
        }
        public Activity Parse(XElement inputElement)
        {
            var activity = new TimerEventActivity();

            activity.Name = inputElement.Attribute("name").Value;
            activity.Type = (ActivityType)inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "type").Value;

            var configElement = inputElement.Element("config");

            activity.IntervalUnit = (TimerUnit)Enum.Parse(typeof(TimerUnit), XElementParserUtils.GetStringValue(configElement.Element("FrequencyIndex")));
            activity.RunOnce      = XElementParserUtils.GetBoolValue(configElement.Element("Frequency"));
            activity.TimeInterval = XElementParserUtils.GetIntValue(configElement.Element("TimeInterval"));
            activity.StartTime    = new DateTime(1970, 1, 1);
            try
            {
                activity.StartTime = activity.StartTime.AddMilliseconds(double.Parse(XElementParserUtils.GetStringValue(configElement.Element("StartTime"))));
            }
            catch (System.FormatException ex)
            {
                Console.WriteLine("An exception occurred:", ex);
            }


            return(activity);
        }
        public TibcoBWProcess Parse(XElement allFileElement)
        {
            var tibcoBwProcess = new TibcoBWProcess(
                allFileElement.Element(XmlnsConstant.tibcoProcessNameSpace + "name").Value
                );

            if (allFileElement.Element(XmlnsConstant.tibcoProcessNameSpace + "label") != null)
            {
                tibcoBwProcess.Description = XElementParserUtils.GetStringValue(allFileElement.Element(XmlnsConstant.tibcoProcessNameSpace + "label").Element(XmlnsConstant.tibcoProcessNameSpace + "description"));
            }

            tibcoBwProcess.XsdImports = this.ParseXsdImports(allFileElement);

            tibcoBwProcess.StartActivity = this.ParseStartOrEndActivity(allFileElement, tibcoBwProcess.InputAndOutputNameSpace, ActivityType.startType);

            tibcoBwProcess.StarterActivity = this.ParseStarterActivity(allFileElement);

            tibcoBwProcess.EndActivity = this.ParseStartOrEndActivity(allFileElement, tibcoBwProcess.InputAndOutputNameSpace, ActivityType.endType);

            tibcoBwProcess.ProcessVariables = this.ParseProcessVariables(allFileElement);

            tibcoBwProcess.Transitions = this.ParseTransitions(allFileElement);

            tibcoBwProcess.Activities = this.ParseActivities(allFileElement);

            return(tibcoBwProcess);

            // TODO : As t'on interet a mettre toutes les variables dans un grosse map du style :
            // nom de l activité-> ma list de variable (en conciderant start et end comme des activités ?)
        }
        public void Should_Return_null_When_GetBooleanValue_is_Called_With_a_Element_Not_Null_But_With_No_Value()
        {
            var element = new XElement("Test");
            var actual  = XElementParserUtils.GetBoolValue(element);

            Assert.AreEqual(null, actual);
        }
示例#6
0
        public List <ClassParameter> GetInputOrOutputData(XElement dataElement)
        {
            if (dataElement == null)
            {
                return(null);
            }

            IEnumerable <XElement> rows = from element in dataElement.Elements("row")
                                          select element;

            if (rows == null)
            {
                return(null);
            }

            var datas = new List <ClassParameter>();

            foreach (var row in rows)
            {
                var data = new ClassParameter {
                    Name = XElementParserUtils.GetStringValue(row.Element("fieldName")),
                    Type = XElementParserUtils.GetStringValue(row.Element("fieldType"))
                };
                datas.Add(data);
            }
            return(datas);
        }
        public Activity Parse(XElement inputElement)
        {
            var activity = new RdvPublishActivity();

            activity.Name = inputElement.Attribute("name").Value;
            activity.Type = (ActivityType)inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "type").Value;

            var configElement = inputElement.Element("config");

            activity.Subject       = XElementParserUtils.GetStringValue(configElement.Element("subject"));
            activity.SharedChannel = XElementParserUtils.GetStringValue(configElement.Element("sharedChannel"));
            activity.isXmlEncode   = XElementParserUtils.GetBoolValue(configElement.Element("xmlEncoding"));

            var xsdStringElement = configElement.Element("xsdString");

            if (xsdStringElement.Attribute("ref") != null)
            {
                activity.XsdString = xsdStringElement.Attribute("ref").ToString();
            }
            else
            {
                activity.ObjectXNodes = xsdStringElement.Nodes();
            }

            if (inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings") != null)
            {
                activity.InputBindings = inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Nodes();
                activity.Parameters    = new XslParser().Parse(activity.InputBindings);
            }

            return(activity);
        }
        public Activity Parse(XElement inputElement)
        {
            var activity = new SharedVariableActivity();

            activity.Name = inputElement.Attribute("name").Value;
            activity.Type = (ActivityType)inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "type").Value;

            if (activity.Type == ActivityType.setSharedVariableActivityType)
            {
                activity.IsSetterActivity = true;
            }
            else
            {
                activity.IsSetterActivity = false;
            }

            var configElement = inputElement.Element("config");

            activity.VariableConfig = XElementParserUtils.GetStringValue(configElement.Element("variableConfig"));

            if (inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings") != null)
            {
                activity.InputBindings = inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Nodes();
                activity.Parameters    = new XslParser().Parse(activity.InputBindings);
            }

            return(activity);
        }
        public void Should_Return_null_If_Element_is_not_Null_And_Value_Null()
        {
            var element = new XElement("Test");
            var actual  = XElementParserUtils.GetIntValue(element);

            Assert.AreEqual(null, actual);
        }
        public void Should_Return_an_int_Value_When_Element_is_not_null_And_Has_a_Value()
        {
            var element = new XElement("Test");

            element.Value = "1";
            var actual = XElementParserUtils.GetIntValue(element);

            Assert.AreEqual(1, actual);
        }
        public void Should_Return_true_Value_When_Element_is_not_null_And_Has_a_Value_true()
        {
            var element = new XElement("Test");

            element.Value = "True";
            var actual = XElementParserUtils.GetBoolValue(element);

            Assert.AreEqual(true, actual);
        }
        public List <Activity> ParseGroupActivities(XElement allFileElement)
        {
            IEnumerable <XElement> groupElements = from element in allFileElement.Elements(XmlnsConstant.tibcoProcessNameSpace + "group")
                                                   select element;
            var activities = new List <Activity> ();

            foreach (XElement element in groupElements)
            {
                var activity = new GroupActivity
                {
                    Name = element.Attribute("name").Value,
                    Type = (ActivityType)element.Element(XmlnsConstant.tibcoProcessNameSpace + "type").Value
                };
                var configElement = element.Element("config");

                var groupTypeString =
                    XElementParserUtils.GetStringValue(
                        configElement.Element(XmlnsConstant.tibcoProcessNameSpace + "groupType"));
                try
                {
                    activity.GroupType = (GroupType)Enum.Parse(typeof(GroupType), groupTypeString.ToUpper());
                }
                catch (System.Exception ex)
                {
                    Console.WriteLine("An error occurred:--", ex);
                }

                if (activity.GroupType == GroupType.INPUTLOOP)
                {
                    activity.Over = XElementParserUtils.GetStringValue(configElement.Element(XmlnsConstant.tibcoProcessNameSpace + "over"));
                    activity.IterationElementSlot = XElementParserUtils.GetStringValue(configElement.Element(XmlnsConstant.tibcoProcessNameSpace + "iterationElementSlot"));
                    activity.IndexSlot            = XElementParserUtils.GetStringValue(configElement.Element(XmlnsConstant.tibcoProcessNameSpace + "indexSlot"));
                }
                else if (activity.GroupType == GroupType.REPEAT)
                {
                    activity.IndexSlot       = XElementParserUtils.GetStringValue(configElement.Element(XmlnsConstant.tibcoProcessNameSpace + "indexSlot"));
                    activity.RepeatCondition = XElementParserUtils.GetStringValue(configElement.Element(XmlnsConstant.tibcoProcessNameSpace + "repeatCondition"));
                }
                else if (activity.GroupType == GroupType.WHILE)
                {
                    activity.RepeatCondition = XElementParserUtils.GetStringValue(configElement.Element(XmlnsConstant.tibcoProcessNameSpace + "whileCondition"));
                }

                if (element.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings") != null)
                {
                    activity.InputBindings = element.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Nodes();
                }

                activity.Transitions = this.ParseTransitions(element);
                activity.Activities  = this.ParseStandardActivities(element);
                activities.Add(activity);
            }

            return(activities);
        }
        public Activity Parse(XElement inputElement)
        {
            var activity = new ConfirmActivity();

            activity.Name = inputElement.Attribute("name").Value;
            activity.Type = (ActivityType)inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "type").Value;

            var configElement = inputElement.Element("config");

            activity.ActivityNameToConfirm = XElementParserUtils.GetStringValue(configElement.Element("ConfirmEvent")).Replace(' ', '_');

            return(activity);
        }
        public Activity Parse(XElement inputElement)
        {
            var assignActivity = new AssignActivity();

            assignActivity.Name = inputElement.Attribute("name").Value;
            assignActivity.Type = (ActivityType)inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "type").Value;
            var configElement = inputElement.Element("config");

            assignActivity.VariableName = XElementParserUtils.GetStringValue(configElement.Element("variableName"));

            assignActivity.InputBindings = inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Nodes();

            return(assignActivity);
        }
        public Activity Parse(XElement inputElement)
        {
            var activity = new EngineCommandActivity
            {
                Name = inputElement.Attribute("name").Value,
                Type = (ActivityType)inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "type").Value
            };

            var configElement = inputElement.Element("config");

            if (configElement != null)
            {
                activity.Command = XElementParserUtils.GetStringValue(configElement.Element("command"));
            }

            return(activity);
        }
        public Activity Parse(XElement inputElement)
        {
            var activity = new GenerateErrorActivity();

            activity.Name = inputElement.Attribute("name").Value;
            activity.Type = (ActivityType)inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "type").Value;
            var configElement = inputElement.Element("config");

            activity.FaultName = XElementParserUtils.GetStringValue(configElement.Element("faultName"));

            if (inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings") != null && inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Element(XmlnsConstant.generateErrorActivityNameSpace + "ActivityInput") != null)
            {
                activity.InputBindings = inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Element(XmlnsConstant.generateErrorActivityNameSpace + "ActivityInput").Nodes();
                activity.Parameters    = new XslParser().Parse(activity.InputBindings);
            }

            return(activity);
        }
示例#17
0
        public Activity Parse(XElement inputElement)
        {
            var callProcessActivity = new CallProcessActivity();

            callProcessActivity.Name = inputElement.Attribute("name").Value;
            callProcessActivity.Type = (ActivityType)inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "type").Value;
            var configElement = inputElement.Element("config");

            callProcessActivity.ProcessName = XElementParserUtils.GetStringValue(configElement.Element("processName"));


            if (inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings") != null)
            {
                callProcessActivity.InputBindings = inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Nodes();
                callProcessActivity.Parameters    = new XslParser().Parse(callProcessActivity.InputBindings);
            }

            return(callProcessActivity);
        }
        public Activity Parse(XElement inputElement)
        {
            var activity = new SetSharedVariableActivity();

            activity.Name = inputElement.Attribute("name").Value;
            activity.Type = (ActivityType)inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "type").Value;

            var configElement = inputElement.Element("config");

            activity.VariableConfig = XElementParserUtils.GetStringValue(configElement.Element("variableConfig"));
            activity.ShowResult     = XElementParserUtils.GetBoolValue(configElement.Element("showResult"));

            if (inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings") != null)
            {
                activity.InputBindings = inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Nodes();
                activity.Parameters    = new XslParser().Build(activity.InputBindings);
            }

            return(activity);
        }
        public List <Transition> ParseTransitions(XElement allFileElement)
        {
            IEnumerable <XElement> transitionElements = from element in allFileElement.Elements(XmlnsConstant.tibcoProcessNameSpace + "transition")
                                                        select element;
            var transitions = new List <Transition>();

            foreach (XElement element in transitionElements)
            {
                var transition = new Transition
                {
                    FromActivity           = Activity.FormatActivityName(XElementParserUtils.GetStringValue(element.Element(XmlnsConstant.tibcoProcessNameSpace + "from"))),
                    ToActivity             = Activity.FormatActivityName(XElementParserUtils.GetStringValue(element.Element(XmlnsConstant.tibcoProcessNameSpace + "to"))),
                    ConditionType          = (ConditionType)Enum.Parse(typeof(ConditionType), XElementParserUtils.GetStringValue(element.Element(XmlnsConstant.tibcoProcessNameSpace + "conditionType"))),
                    ConditionPredicateName = XElementParserUtils.GetStringValue(element.Element(XmlnsConstant.tibcoProcessNameSpace + "xpathDescription")),
                    ConditionPredicate     = XElementParserUtils.GetStringValue(element.Element(XmlnsConstant.tibcoProcessNameSpace + "xpath")),
                };
                transitions.Add(transition);
            }

            transitions.Sort();
            return(transitions);
        }
        private TbwProcessContainerConfig GetTbxProcessConfig(XElement xElement)
        {
            var container = new TbwProcessContainerConfig();

            container.Name      = xElement.Attribute("name").Value;
            container.IsEnabled = XElementParserUtils.GetBoolValue(xElement.Element(XmlnsConstant.ConfigNamespace + "enabled"));
            var processesElements = xElement.Element(XmlnsConstant.ConfigNamespace + "bwprocesses").Elements(XmlnsConstant.ConfigNamespace + "bwprocess");

            container.TbwProcessConfigs = new List <TbwProcessConfig>();
            foreach (var processesElement in processesElements)
            {
                container.TbwProcessConfigs.Add(new TbwProcessConfig
                {
                    Name       = processesElement.Attribute("name").Value,
                    IsEnabled  = (bool)XElementParserUtils.GetBoolValue(processesElement.Element(XmlnsConstant.ConfigNamespace + "enabled")),
                    Activation = (bool)XElementParserUtils.GetBoolValue(processesElement.Element(XmlnsConstant.ConfigNamespace + "activation")),
                    MaxJob     = (int)XElementParserUtils.GetIntValue(processesElement.Element(XmlnsConstant.ConfigNamespace + "maxJob")),
                    FlowLimit  = (int)XElementParserUtils.GetIntValue(processesElement.Element(XmlnsConstant.ConfigNamespace + "flowLimit"))
                });
            }

            return(container);
        }
示例#21
0
        public Activity Parse(XElement inputElement)
        {
            var activity = new AdapterSubscriberActivity();

            activity.Name = inputElement.Attribute("name").Value;
            activity.Type = (ActivityType)inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "type").Value;

            var configElement = inputElement.Element("config");

            activity.TpPluginEndpointName = XElementParserUtils.GetStringValue(configElement.Element("tpPluginEndpointName"));

            activity.UseRequestReply               = XElementParserUtils.GetBoolValue(configElement.Element(AeSubscriberPropertyPrefix + "useRequestReply"));
            activity.TransportChoice               = XElementParserUtils.GetStringValue(configElement.Element(AeSubscriberPropertyPrefix + "transportChoice"));
            activity.AdapterService                = XElementParserUtils.GetStringValue(configElement.Element(AeSubscriberPropertyPrefix + "adapterService"));
            activity.TransportType                 = XElementParserUtils.GetStringValue(configElement.Element(AeSubscriberPropertyPrefix + "transportType"));
            activity.RvSubject                     = XElementParserUtils.GetStringValue(configElement.Element(AeSubscriberPropertyPrefix + "rvSubject"));
            activity.RvSessionService              = XElementParserUtils.GetStringValue(configElement.Element(AeSubscriberPropertyPrefix + "rvSessionService"));
            activity.RvSessionNetwork              = XElementParserUtils.GetStringValue(configElement.Element(AeSubscriberPropertyPrefix + "rvSessionNetwork"));
            activity.RvSessionDaemon               = XElementParserUtils.GetStringValue(configElement.Element(AeSubscriberPropertyPrefix + "rvSessionDaemon"));
            activity.MessageFormat                 = XElementParserUtils.GetStringValue(configElement.Element(AeSubscriberPropertyPrefix + "msgFormat"));
            activity.RvCmSessionDefaultTimeLimit   = XElementParserUtils.GetIntValue(configElement.Element(AeSubscriberPropertyPrefix + "rvCmSessionDefaultTimeLimit"));
            activity.RvCmSessionSyncLedger         = XElementParserUtils.GetBoolValue(configElement.Element(AeSubscriberPropertyPrefix + "rvCmSessionSyncLedger"));
            activity.RvCmSessionLedgerFile         = XElementParserUtils.GetStringValue(configElement.Element(AeSubscriberPropertyPrefix + "rvCmSessionLedgerFile"));
            activity.RvCmSessionName               = XElementParserUtils.GetStringValue(configElement.Element(AeSubscriberPropertyPrefix + "rvCmSessionName"));
            activity.RvCmSessionRelayAgent         = XElementParserUtils.GetStringValue(configElement.Element(AeSubscriberPropertyPrefix + "rvCmSessionRelayAgent"));
            activity.RvCmSessionRequireOldMessages = XElementParserUtils.GetBoolValue(configElement.Element(AeSubscriberPropertyPrefix + "rvCmSessionRequireOldMessages"));

            var outputSchemaElement = configElement.Element(AeSubscriberPropertyPrefix + "outputMeta");

            if (outputSchemaElement != null)
            {
                activity.OutputSchema = XElementParserUtils.GetStringValue(outputSchemaElement.Element("aeMeta"));
            }

            return(activity);
        }
示例#22
0
        public Activity Parse(XElement inputElement)
        {
            var activity = new JavaActivity();

            activity.Name = inputElement.Attribute("name").Value;
            activity.Type = (ActivityType)inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "type").Value;

            var configElement = inputElement.Element("config");

            activity.FileName    = XElementParserUtils.GetStringValue(configElement.Element("fileName"));
            activity.PackageName = XElementParserUtils.GetStringValue(configElement.Element("packageName"));
            activity.FullSource  = XElementParserUtils.GetStringValue(configElement.Element("fullsource"));

            activity.InputData  = this.GetInputOrOutputData(configElement.Element("inputData"));
            activity.OutputData = this.GetInputOrOutputData(configElement.Element("outputData"));

            if (inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings") != null && inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Element("javaCodeActivityInput") != null)
            {
                activity.InputBindings = inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Element("javaCodeActivityInput").Nodes();
                activity.Parameters    = new XslParser().Parse(activity.InputBindings);
            }

            return(activity);
        }
        public void Should_Return_null_When_GetIntValue_is_Called_With_a_Null_Element()
        {
            var actual = XElementParserUtils.GetIntValue(null);

            Assert.AreEqual(null, actual);
        }
示例#24
0
        public Activity Parse(XElement inputElement)
        {
            var jdbcQueryActivity = new JdbcQueryActivity();

            jdbcQueryActivity.Name = inputElement.Attribute("name").Value;
            jdbcQueryActivity.Type = (ActivityType)inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "type").Value;
            var configElement = inputElement.Element("config");

            jdbcQueryActivity.TimeOut           = XElementParserUtils.GetIntValue(configElement.Element("timeout"));
            jdbcQueryActivity.Commit            = XElementParserUtils.GetBoolValue(configElement.Element("commit"));
            jdbcQueryActivity.MaxRows           = XElementParserUtils.GetIntValue(configElement.Element("maxRows"));
            jdbcQueryActivity.EmptyStringAsNull = XElementParserUtils.GetBoolValue(configElement.Element("emptyStrAsNil"));
            jdbcQueryActivity.JdbcSharedConfig  = XElementParserUtils.GetStringValue(configElement.Element("jdbcSharedConfig"));

            if (jdbcQueryActivity.Type == ActivityType.jdbcCallActivityType)
            {
                jdbcQueryActivity.QueryStatement = XElementParserUtils.GetStringValue(configElement.Element("ProcedureName"));
                if (jdbcQueryActivity.QueryStatement.Contains(";"))
                {
                    jdbcQueryActivity.QueryStatement =
                        jdbcQueryActivity.QueryStatement.Remove(jdbcQueryActivity.QueryStatement.LastIndexOf(';'), 2);
                }

                var preparedParamDataTypeElement = configElement.Element("parameterTypes");
                jdbcQueryActivity.QueryStatementParameters = new Dictionary <string, string>();

                var parameterElements = preparedParamDataTypeElement.Elements("parameter");

                jdbcQueryActivity.QueryOutputStatementParameters = new List <ClassParameter>
                {
                    new ClassParameter
                    {
                        Name = "UnresolvedResultsets",
                        Type = "VARCHAR"
                    }
                };
                foreach (var parameterElement in parameterElements)
                {
                    string parameterName = (XElementParserUtils.GetStringValue(parameterElement.Element("colName")).Replace(".", string.Empty));
                    parameterName = VariableHelper.ToSafeType(parameterName.Substring(1, parameterName.Length - 1));
                    string parameterType = XElementParserUtils.GetStringValue(parameterElement.Element("typeName"));
                    string colonneType   = XElementParserUtils.GetStringValue(parameterElement.Element("colType"));

                    //ColonneType= 1 : input parameter
                    if (colonneType == "1")
                    {
                        jdbcQueryActivity.QueryStatementParameters.Add(parameterName, parameterType);
                    }
                    //ColonneType= 4 : output parameter
                    else if (colonneType == "4" || colonneType == "2" || colonneType == "5")
                    {
                        jdbcQueryActivity.QueryOutputStatementParameters.Add(new ClassParameter {
                            Name = parameterName, Type = parameterType
                        });
                    }
                }

                var xElement = configElement.Element("ResultSets");
                if (xElement != null)
                {
                    jdbcQueryActivity.QueryOutputStatementParameters.AddRange(this.GetOutputParameters(xElement.Element("ResultSet")));
                }

                if (inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings") != null && inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Element("inputs") != null && inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Element("inputs").Element("inputSet") != null)
                {
                    //jdbcQueryActivity.InputBindings = inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Element("inputs").Element("inputSet").Nodes();
                    jdbcQueryActivity.InputBindings = inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Element("inputs").Nodes();
                    jdbcQueryActivity.Parameters    = new XslParser().Parse(inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Element("inputs").Element("inputSet").Nodes());
                }
            }
            else
            {
                jdbcQueryActivity.QueryStatement = XElementParserUtils.GetStringValue(configElement.Element("statement")).Replace("\n", " ");

                var preparedParamDataTypeElement = configElement.Element("Prepared_Param_DataType");
                jdbcQueryActivity.QueryStatementParameters = new Dictionary <string, string>();

                if (preparedParamDataTypeElement != null)
                {
                    var parameterElements = preparedParamDataTypeElement.Elements("parameter");
                    foreach (var parameterElement in parameterElements)
                    {
                        jdbcQueryActivity.QueryStatementParameters.Add(
                            VariableHelper.ToSafeType(XElementParserUtils.GetStringValue(parameterElement.Element("parameterName")).Replace(".", string.Empty)),
                            XElementParserUtils.GetStringValue(parameterElement.Element("dataType")));
                    }
                }

                jdbcQueryActivity.QueryOutputStatementParameters = this.GetOutputParameters(configElement);

                if (inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings") != null && inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Element("jdbcQueryActivityInput") != null)
                {
                    //jdbcQueryActivity.InputBindings = inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Element("jdbcQueryActivityInput").Nodes();
                    jdbcQueryActivity.InputBindings = inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Nodes();
                    jdbcQueryActivity.Parameters    = new XslParser().Parse(inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Element("jdbcQueryActivityInput").Nodes());
                }
            }


            return(jdbcQueryActivity);
        }
        public void Should_Return_null_If_bool_Element_is_null()
        {
            var actual = XElementParserUtils.GetBoolValue(null);

            Assert.IsNull(actual);
        }