public override object Create(Resource parent, IParseContext context, XElement element) { var parameter = context.BpmnFactory.CreateResourceParameter(); parent.Parameters.Add(parameter); parameter.Name = element.GetAttribute("name"); var type = element.GetAttribute("type"); if (type != null) { context.AddReferenceRequest <ItemDefinition>(type, r => parameter.Type = r); } var v = element.GetAttribute("isRequired"); if (v != null) { parameter.IsRequired = bool.Parse(v); } //parameter.Value = element.GetExtendedAttribute("value"); base.Init(parameter, context, element); context.Push(parameter); return(parameter); }
public override object Create(TParent parent, IParseContext context, XElement element) { var dataOutput = context.BpmnFactory.CreateDataOutput(); dataOutput.Name = element.GetAttribute("name"); dataOutput.IsCollection = element.GetBoolean("isCollection"); var itemSubjectRef = element.GetAttribute("itemSubjectRef"); if (itemSubjectRef != null) { context.AddReferenceRequest <ItemDefinition>(itemSubjectRef, value => dataOutput.ItemSubjectRef = value); } if (this.callback != null) { this.callback(parent, context, element, dataOutput); } base.Init(dataOutput, context, element); context.Push(dataOutput); return(dataOutput); }
public override object Create(object parent, IParseContext context, XElement element) { ResourceRole resourceRole = null; var factory = context.BpmnFactory; var type = Helper.GetRealLocalName(element); switch (type) { case "potentialOwner": resourceRole = factory.CreatePotentialOwner(); break; case "humanPerformer": resourceRole = factory.CreateHumanPerformer(); break; case "performer": resourceRole = factory.CreatePerformer(); break; case "resourceRole": resourceRole = factory.CreateResourceRole(); break; } resourceRole.Name = element.GetAttribute("name"); var value = element.GetAttribute("type"); if (value != null) { resourceRole.Type = (ResourceType)Enum.Parse(typeof(ResourceType), value); } ICollection <ResourceRole> list = null; if (parent is Process) { list = (parent as Process).Resources; } else if (parent is Activity) { list = (parent as Activity).Resources; } if (list != null) { list.Add(resourceRole); } base.Init(resourceRole, context, element); context.Push(resourceRole); return(resourceRole); }
protected override void Init(BaseElement baseElement, IParseContext context, XElement element) { var flowElement = baseElement as FlowElement; flowElement.Name = element.GetAttribute("name"); base.Init(flowElement, context, element); context.Push(flowElement); }
public override object Create(Definitions parent, IParseContext context, XElement element) { var resource = context.BpmnFactory.CreateResource(); parent.RootElements.Add(resource); resource.Name = element.GetAttribute("name"); base.Init(resource, context, element); context.Push(resource); return(resource); }
public override object Create(InputOutputSpecification parent, IParseContext context, XElement element) { var outputSet = context.BpmnFactory.CreateOutputSet(); parent.OutputSets.Add(outputSet); outputSet.Name = element.GetAttribute("name"); base.Init(outputSet, context, element); context.Push(outputSet); return(outputSet); }
public override object Create(Definitions parent, IParseContext context, XElement element) { var item = context.BpmnFactory.CreateInterface(); parent.RootElements.Add(item); item.ImplementationRef = element.GetAttribute("implementationRef"); item.Name = element.GetAttribute("name"); base.Init(item, context, element); context.Push(item); return(item); }
public override object Create(Definitions parent, IParseContext context, XElement element) { var item = context.BpmnFactory.CreateItemDefinition(); parent.RootElements.Add(item); item.StructureRef = element.GetAttribute("structureRef"); item.IsCollection = element.GetBoolean("isCollection"); item.ItemKind = element.GetEnum("itemKind", ItemKind.Information); base.Init(item, context, element); context.Push(item); return(item); }
public override object Create(Interface parent, IParseContext context, XElement element) { var op = context.BpmnFactory.CreateOperation(); parent.Operations.Add(op); op.Interface = parent; op.Name = element.GetAttribute("name"); op.ImplementationRef = element.GetAttribute("implementationRef"); base.Init(op, context, element); context.Push(op); return(op); }
public override object Create(Definitions parent, IParseContext context, XElement element) { var error = context.BpmnFactory.CreateError(); error.Name = element.GetAttribute("name"); parent.RootElements.Add(error); var structureRef = element.GetAttribute("structureRef"); if (structureRef != null) { context.AddReferenceRequest <ItemDefinition>(structureRef, x => error.StructureRef = x); } base.Init(error, context, element); context.Push(error); return(error); }
public override object Create(Definitions parent, IParseContext context, XElement element) { var signal = context.BpmnFactory.CreateSignal(); signal.Name = element.GetAttribute("name"); parent.RootElements.Add(signal); var structureRef = element.GetAttribute("structureRef"); if (structureRef != null) { context.AddReferenceRequest(structureRef, (ItemDefinition x) => signal.StructureRef = x); } base.Init(signal, context, element); context.Push(signal); return(signal); }
public override object Create(Definitions parent, IParseContext context, XElement element) { var message = context.BpmnFactory.CreateMessage(); message.Name = element.GetAttribute("name"); parent.RootElements.Add(message); var itemRef = element.GetAttribute("itemRef"); if (itemRef != null) { context.AddReferenceRequest(itemRef, (ItemDefinition x) => message.ItemRef = x); } base.Init(message, context, element); context.Push(message); return(message); }
public override object Create(TParent parent, IParseContext context, XElement element) { var props = context.BpmnFactory.CreateProperty(); props.Name = element.GetAttribute("name"); var itemSubjectRef = element.GetAttribute("itemSubjectRef"); if (itemSubjectRef != null) { context.AddReferenceRequest <ItemDefinition>(itemSubjectRef, x => props.ItemSubjectRef = x); } if (this.callback != null) { this.callback(parent, props); } base.Init(props, context, element); context.Push(props); return(props); }
public override object Create(object parent, IParseContext context, XElement element) { EventDefinition eventDefinition = null; var localName = Helper.GetRealLocalName(element); switch (localName) { case "cancelEventDefinition": eventDefinition = new CancelEventDefinition(); break; case "errorEventDefinition": var errorEventDefinition = new ErrorEventDefinition(); eventDefinition = errorEventDefinition; var errorRef = element.GetAttribute("errorRef"); if (errorRef != null) { context.AddReferenceRequest <Error>(errorRef, x => errorEventDefinition.ErrorRef = x); } break; case "timerEventDefinition": eventDefinition = new TimerEventDefinition(); break; case "terminateEventDefinition": eventDefinition = new TerminateEventDefinition(); break; case "messageEventDefinition": var messageEventDefinition = new MessageEventDefinition(); eventDefinition = messageEventDefinition; var operationRef = element.GetAttribute("operationRef"); if (operationRef != null) { context.AddReferenceRequest <Operation>(operationRef, x => messageEventDefinition.OperationRef = x); } var messageRef = element.GetAttribute("messageRef"); if (messageRef != null) { context.AddReferenceRequest <Message>(messageRef, x => messageEventDefinition.MessageRef = x); } break; case "conditionalEventDefinition": eventDefinition = new ConditionalEventDefinition(); break; case "compensateEventDefinition": var compensateEventDefinition = new CompensateEventDefinition(); eventDefinition = compensateEventDefinition; compensateEventDefinition.WaitForCompletion = element.GetBoolean("waitForCompletion"); var activityRef = element.GetAttribute("activityRef"); if (activityRef != null) { context.AddReferenceRequest <Activity>(activityRef, x => compensateEventDefinition.ActivityRef = x); } break; case "signalEventDefinition": var signalEventDefinition = new SignalEventDefinition(); eventDefinition = signalEventDefinition; var signalRef = element.GetAttribute("signalRef"); if (signalRef != null) { context.AddReferenceRequest <Signal>(signalRef, x => signalEventDefinition.SignalRef = x); } break; case "escalationEventDefinition": eventDefinition = new EscalationEventDefinition() { EscalationRef = element.GetAttribute("escalationRef") }; break; case "linkEventDefinition": eventDefinition = new LinkEventDefinition() { Name = element.GetAttribute("name"), Target = element.GetAttribute("target") }; break; } if (this.callback != null) { this.callback(parent, context, element, eventDefinition); } base.Init(eventDefinition, context, element); context.Push(eventDefinition); return(eventDefinition); }