public IDev2Activity Parse(DynamicActivity activity, Guid resourceIdGuid, bool failOnException = false) { if (HasActivityInCache(resourceIdGuid)) { return(GetActivity(resourceIdGuid)); } var dynamicActivity = activity; if (dynamicActivity != null) { try { IDev2Activity act = _activityParser.Parse(dynamicActivity); if (_cache.TryAdd(resourceIdGuid, act)) { return(act); } } // ReSharper disable EmptyGeneralCatchClause catch (Exception err) //errors caught inside // ReSharper restore EmptyGeneralCatchClause { Dev2Logger.Log.Error(err); if (failOnException) { throw; } } } return(null); }
List <ConflictTreeNode> BuildNodeItems(WorkflowDesigner wd, ModelService modelService, Flowchart flowchartDiff) { var idsLocations = GetIdLocations(wd, modelService); var nodes = new List <ConflictTreeNode>(); var startNode = ModelItemUtils.CreateModelItem(flowchartDiff.StartNode); if (startNode != null) { var start = _activityParser.Parse(new List <IDev2Activity>(), startNode); var shapeLocation = GetShapeLocation(wd, startNode); var startConflictNode = new ConflictTreeNode(start, shapeLocation); nodes.Add(startConflictNode); BuildItems(idsLocations, nodes, start, startConflictNode, flowchartDiff); } return(nodes); }
List <(string uniqueId, Point location)> GetIdLocations(WorkflowDesigner wd, ModelService modelService) { var allNodes = modelService.Find(modelService.Root, typeof(FlowNode)).ToList(); var idsLocations = new List <(string uniqueId, Point location)>(); foreach (var n in allNodes) { var loc = GetShapeLocation(wd, n); IDev2Activity dev2Activity = _activityParser?.Parse(new List <IDev2Activity>(), n); var id = dev2Activity?.UniqueID; idsLocations.Add((id, loc)); } return(idsLocations); }
public IDev2Activity Parse(DynamicActivity activity, Guid resourceIdGuid, bool failOnError) { if (HasActivityInCache(resourceIdGuid)) { var dev2Activity = GetActivity(resourceIdGuid); if (dev2Activity != null) { return(dev2Activity); } } var dynamicActivity = activity; if (dynamicActivity != null) { try { var act = _activityParser.Parse(dynamicActivity); if (Cache.TryAdd(resourceIdGuid, act)) { return(act); } Cache.AddOrUpdate(resourceIdGuid, act, (guid, dev2Activity) => { Cache[resourceIdGuid] = act; return(act); }); return(act); } catch (InvalidWorkflowException e) { Dev2Logger.Error($"Error processing {resourceIdGuid}: " + e.Message, "Warewolf Error"); if (failOnError) { throw; } } catch (Exception err) //errors caught inside { Dev2Logger.Error(err, "Warewolf Error"); if (failOnError) { throw; } } } return(null); }
public IDev2Activity Parse(DynamicActivity activity, Guid resourceIdGuid) { if (HasActivityInCache(resourceIdGuid)) { return(GetActivity(resourceIdGuid)); } var dynamicActivity = activity; if (dynamicActivity != null) { IDev2Activity act = _activityParser.Parse(dynamicActivity); if (_cache.TryAdd(resourceIdGuid, act)) { return(act); } } return(null); }