public ProcessParseHandler() { this.handlers.Add("dataObject", new DataObjectParseHandler()); this.handlers.Add("dataObjectReference", new DataObjectReferenceParseHandler()); this.handlers.Add("property", new PropertyParseHandler <Process>((proc, props) => { proc.Properties.Add(props); })); //resource IParseHandler handler = new ResourceRoleParseHandler(); foreach (var item in ResourceRoleParseHandler.Keys) { this.handlers.Add(item, handler); } this.handlers.Add("startEvent", new StartEventParseHandler()); this.handlers.Add("userTask", new UserTaskParseHandler()); this.handlers.Add("sequenceFlow", new SequenceFlowParseHandler()); this.handlers.Add("endEvent", new EndEventParseHandler()); this.handlers.Add("parallelGateway", new ParallelGatewayParseHandler()); this.handlers.Add("exclusiveGateway", new ExclusiveGatewayParseHandler()); this.handlers.Add("inclusiveGateway", new InclusiveGatewayParseHandler()); this.handlers.Add("complexGateway", new ComplexGatewayParseHandler()); this.handlers.Add("scriptTask", new ScriptTaskParseHandler()); this.handlers.Add("serviceTask", new ServiceTaskParseHandler()); this.handlers.Add("receiveTask", new ReceiveTaskParseHandler()); this.handlers.Add("sendTask", new SendTaskParseHandler()); this.handlers.Add("task", new TaskParseHandler()); this.handlers.Add("manualTask", new ManualTaskParseHandler()); this.handlers.Add("businessRuleTask", new BusinessRuleTaskParseHandler()); this.handlers.Add("callActivity", new CallActivityParseHandler()); this.handlers.Add("subProcess", new SubProcessParseHandler()); this.handlers.Add("transaction", new TransactionParseHandler()); this.handlers.Add("adHocSubProcess", new AdHocSubProcessParseHandler()); var artifactHandler = new ArtifactParseHandler(); this.handlers.Add("textAnnotation", artifactHandler); this.handlers.Add("association", artifactHandler); }
public ActivityParseHandler() { this.handlers.Add("property", new PropertyParseHandler <Activity>((act, props) => { act.Properties.Add(props); })); this.handlers.Add("ioSpecification", new IOSpecificationParseHandler <Activity>((x, y) => { x.IOSpecification = y; })); var miHandler = new MultiInstanceLoopCharacteristicsHandler(); var stdHandler = new StandardLoopCharacteristicsHandler(); //var loopHandler = new ParseHandlerAction<Activity>((p, c, x) => //{ // var activityBehavior = p.Tag as ActivityBehavior; // LoopCharacteristics loopCharacteristics = null; // var localName = Helper.GetRealLocalName(x); // if (localName != "multiInstanceLoopCharacteristics") // { // loopCharacteristics = (LoopCharacteristics)stdHandler.Create(p, c, x); // activityBehavior = new StandardLoopActivityBehavior(activityBehavior, (StandardLoopCharacteristics)loopCharacteristics); // } // else // { // loopCharacteristics = (LoopCharacteristics)miHandler.Create(p, c, x); // var mi = loopCharacteristics as MultiInstanceLoopCharacteristics; // if (mi.IsSequential) // activityBehavior = new SequentialMultiInstanceActivityBehavior(activityBehavior, mi); // else // activityBehavior = new ParallelMultiInstanceActivityBehavior(activityBehavior, mi); // } // p.Tag = activityBehavior; // loopCharacteristics.Activity = p; //}); //this.handlers.Add("loopCharacteristics", loopHandler); //this.handlers.Add("multiInstanceLoopCharacteristics", loopHandler); //this.handlers.Add("standardLoopCharacteristics", loopHandler); var handler = new ResourceRoleParseHandler(); foreach (var key in ResourceRoleParseHandler.Keys) { this.handlers.Add(key, handler); } this.handlers.Add("dataInputAssociation", new DataInputAssociationParseHandler <Activity>((x, y) => { x.DataInputAssociations.Add(y); })); this.handlers.Add("dataOutputAssociation", new DataOutputAssociationParseHandler <Activity>((x, y) => { x.DataOutputAssociations.Add(y); })); }