public void SetUp() { this.activityBuilder = new GenerateErrorActivityBuilder(new XslBuilder(new XpathBuilder())); this.activity = new GenerateErrorActivity("My", ActivityType.generateErrorActivity); this.activity.FaultName = ""; var xml = @" <ns:ActivityInput xmlns:xsl=""http://w3.org/1999/XSL/Transform"" xmlns:ns=""http://www.tibco.com/pe/GenerateErrorActivitySchema""> <message> <xsl:value-of select=""'testvalue'""/> </message> <messageCode> <xsl:value-of select=""'EVL'""/> </messageCode> </ns:ActivityInput> "; XElement doc = XElement.Parse(xml); this.activity.InputBindings = doc.Nodes(); this.activity.Parameters = new List <ClassParameter> { new ClassParameter { Name = "message", Type = "System.String" }, new ClassParameter { Name = "messageCode", Type = "System.String" } }; }
private CodeThrowExceptionStatement GenerateExceptionStatement(GenerateErrorActivity activity) { var parameters = AbstractActivityBuilder.GenerateParameters( new List <string> { @"""Message : {0}\nMessage code : {1} """ }, activity); var stringFormatCall = new CodeMethodInvokeExpression(); stringFormatCall.Parameters.AddRange(parameters); var formatMethod = new CodeMethodReferenceExpression { MethodName = "Format" }; var stringObject = new CodeVariableReferenceExpression { VariableName = "String" }; formatMethod.TargetObject = stringObject; stringFormatCall.Method = formatMethod; var throwException = new CodeThrowExceptionStatement( new CodeObjectCreateExpression(new CodeTypeReference(typeof(System.Exception)), stringFormatCall)); return(throwException); }
public void SetUp() { this.activityParser = new GenerateErrorActivityParser(); var xml = @"<pd:activity name=""ERROR activity"" xmlns:pd=""http://xmlns.tibco.com/bw/process/2003"" xmlns:xsl=""http://w3.org/1999/XSL/Transform"" xmlns:ns=""http://www.tibco.com/pe/GenerateErrorActivity/InputSchema""> <pd:type>com.tibco.pe.core.GenerateErrorActivity</pd:type> <pd:resourceType>ae.activities.throw</pd:resourceType> <pd:x>624</pd:x> <pd:y>253</pd:y> <config> <faultName>Info</faultName> </config> <pd:inputBindings> <ns:ActivityInput> <message> <xsl:value-of select=""'ReadState'""/> </message> <messageCode> <xsl:value-of select=""'Not last tuesday : trade filtered'""/> </messageCode> </ns:ActivityInput> </pd:inputBindings> </pd:activity>"; doc = XElement.Parse(xml); this.activity = (GenerateErrorActivity)this.activityParser.Parse(this.doc); }
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); }