Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/FileImporters/FailureMechanismSectionsImporter.cs =================================================================== diff -u -r8f1db6ac4fd537aba5d537744eb55e557d977cac -r97fb97c5677e2afbd1675ba0fb3e989028a65d09 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/FileImporters/FailureMechanismSectionsImporter.cs (.../FailureMechanismSectionsImporter.cs) (revision 8f1db6ac4fd537aba5d537744eb55e557d977cac) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/FileImporters/FailureMechanismSectionsImporter.cs (.../FailureMechanismSectionsImporter.cs) (revision 97fb97c5677e2afbd1675ba0fb3e989028a65d09) @@ -31,6 +31,7 @@ /// The snapping tolerance in meters. /// private const double snappingTolerance = 1; + /// /// The length tolerance between the reference line and the imported FailureMechanismSections in meters. /// @@ -80,6 +81,11 @@ public override ProgressChangedDelegate ProgressChanged { protected get; set; } + public override bool CanImportOn(object targetItem) + { + return base.CanImportOn(targetItem) && ReferenceLineAvailable(targetItem); + } + public override bool Import(object targetItem, string filePath) { var context = (FailureMechanismSectionsContext)targetItem; @@ -126,6 +132,11 @@ return true; } + private static bool ReferenceLineAvailable(object targetItem) + { + return ((FailureMechanismSectionsContext)targetItem).ParentAssessmentSection.ReferenceLine != null; + } + private void HandleUserCancellingImport() { log.Info(Resources.FailureMechanismSectionsImporter_Import_cancelled_no_data_read); @@ -209,7 +220,7 @@ ReferenceLine referenceLine = context.ParentAssessmentSection.ReferenceLine; IEnumerable allStartAndEndPoints = failureMechanismSections.Select(s => s.GetStart()).Concat(failureMechanismSections.Select(s => s.GetLast())); - if (allStartAndEndPoints.Any(point => GetDistanceToReferenceLine(point, referenceLine) > snappingTolerance)) + if (allStartAndEndPoints.Any(point => GetDistanceToReferenceLine(point, referenceLine) > snappingTolerance)) { return false; }