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;
}