< Summary

Information
Class: Elsa.Bpmn.Interchange.Features.BpmnInterchangeFeature
Assembly: Elsa.Bpmn.Interchange
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Bpmn.Interchange/Features/BpmnInterchangeFeature.cs
Line coverage
100%
Covered lines: 11
Uncovered lines: 0
Coverable lines: 11
Total lines: 47
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
Configure()100%11100%
Apply()100%11100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Bpmn.Interchange/Features/BpmnInterchangeFeature.cs

#LineLine coverage
 1using Bpmn.Interchange;
 2using Elsa.Bpmn.Features;
 3using Elsa.Bpmn.Interchange.Binding;
 4using Elsa.Bpmn.Interchange.Handlers.Notifications;
 5using Elsa.Bpmn.Interchange.Services;
 6using Elsa.Extensions;
 7using Elsa.Features.Abstractions;
 8using Elsa.Features.Attributes;
 9using Elsa.Features.Services;
 10using Microsoft.Extensions.DependencyInjection;
 11
 12namespace Elsa.Bpmn.Interchange.Features;
 13
 14/// <summary>
 15/// Provides BPMN XML interchange support to the system.
 16/// </summary>
 17/// <remarks>
 18/// The task-to-activity binding this module reads lives inside the BPMN document as an <c>elsa:</c> vendor extension,
 19/// so an exported <c>.bpmn</c> carries binding configuration — including input expressions — verbatim. Exporting a
 20/// process discloses its implementation detail; see <see cref="BpmnActivityBindingFormat"/> for the format and for why
 21/// nothing is redacted.
 22/// </remarks>
 23[DependsOn(typeof(BpmnFeature))]
 24public class BpmnInterchangeFeature : FeatureBase
 25{
 26    /// <inheritdoc />
 5427    public BpmnInterchangeFeature(IModule module) : base(module)
 28    {
 5429    }
 30
 31    /// <inheritdoc />
 32    public override void Configure()
 33    {
 5434        Module.AddFastEndpointsAssembly<BpmnInterchangeFeature>();
 5435    }
 36
 37    /// <inheritdoc />
 38    public override void Apply()
 39    {
 5440        Services.AddSingleton<BpmnActivityBindingFormat>();
 5441        Services.AddSingleton<BpmnWorkBinder>();
 5442        Services.AddSingleton<BpmnXmlReader>();
 5443        Services.AddSingleton<BpmnXmlWriter>();
 5444        Services.AddScoped<BpmnInterchangeDocumentService>();
 5445        Services.AddNotificationHandler<ValidateBpmnProcessBindings>();
 5446    }
 47}