Skip to content

Commit

Permalink
Fix CompositeActivityBlueprint initialization
Browse files Browse the repository at this point in the history
This fixes an issue where one could not use nested composite activities when used from the designer
  • Loading branch information
sfmskywalker committed Jul 14, 2021
1 parent 2635115 commit e3120e9
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,13 @@ public CompositeActivityBlueprint()
IDictionary<string, string> propertyStorageProviders,
string? source) : base(id, parent, name, displayName, description, type, persistWorkflow, loadWorkflowContext, saveWorkflowContext, propertyStorageProviders, source)
{
Activities = new List<IActivityBlueprint>();
Connections = new List<IConnection>();
ActivityPropertyProviders = new ActivityPropertyProviders();
}

public ICollection<IActivityBlueprint> Activities { get; set; } = default!;
public ICollection<IConnection> Connections { get; set; } = default!;
public IActivityPropertyProviders ActivityPropertyProviders { get; set; } = default!;
public ICollection<IActivityBlueprint> Activities { get; set; }
public ICollection<IConnection> Connections { get; set; }
public IActivityPropertyProviders ActivityPropertyProviders { get; set; }
}
}
4 changes: 0 additions & 4 deletions src/core/Elsa.Core/Builders/CompositeActivityBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -244,10 +244,6 @@ public ICompositeActivityBlueprint Build(string activityIdPrefix = "activity")
connections.AddRange(compositeActivityBlueprint.Connections.Select(x => new Connection(activityDictionary[x.Source.Activity.Id], activityDictionary[x.Target.Activity.Id], x.Source.Outcome)));
activityPropertyProviders.AddRange(compositeActivityBlueprint.ActivityPropertyProviders);

// compositeActivityBlueprint.Activities = compositeActivityBlueprint.Activities;
// compositeActivityBlueprint.Connections = compositeActivityBlueprint.Connections;
// compositeActivityBlueprint.ActivityPropertyProviders = compositeActivityBlueprint.ActivityPropertyProviders;

// Connect the composite activity to its starting activities.
var startActivities = _startingActivitiesProvider.GetStartActivities(compositeActivityBlueprint).ToList();
connections.AddRange(startActivities.Select(x => new Connection(compositeActivityBlueprint, x, CompositeActivity.Enter)));
Expand Down

0 comments on commit e3120e9

Please sign in to comment.