Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Factories/RingtoetsMapDataFeaturesFactory.cs
===================================================================
diff -u -r16559315c0a64fffd05827d249200c62e353231f -rdf5853e34e5c42f878c5ceccdada111743837ba4
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Factories/RingtoetsMapDataFeaturesFactory.cs (.../RingtoetsMapDataFeaturesFactory.cs) (revision 16559315c0a64fffd05827d249200c62e353231f)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Factories/RingtoetsMapDataFeaturesFactory.cs (.../RingtoetsMapDataFeaturesFactory.cs) (revision df5853e34e5c42f878c5ceccdada111743837ba4)
@@ -100,11 +100,16 @@
///
/// The
/// to create the location features for.
- /// A collection of features or an empty collection when
- /// is null.
+ /// A collection of features.
+ /// Thrown when is null.
public static IEnumerable CreateHydraulicBoundaryDatabaseFeatures(HydraulicBoundaryDatabase hydraulicBoundaryDatabase)
{
- return CreateHydraulicBoundaryLocationFeatures(hydraulicBoundaryDatabase?.Locations.ToArray() ?? new HydraulicBoundaryLocation[0],
+ if (hydraulicBoundaryDatabase == null)
+ {
+ throw new ArgumentNullException(nameof(hydraulicBoundaryDatabase));
+ }
+
+ return CreateHydraulicBoundaryLocationFeatures(hydraulicBoundaryDatabase.Locations.ToArray(),
Resources.DesignWaterLevel_DisplayName,
Resources.MetaData_WaveHeight);
}
Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs
===================================================================
diff -u -rffba5900acc192187346a9ad73acea5e8b9d0bf5 -rdf5853e34e5c42f878c5ceccdada111743837ba4
--- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision ffba5900acc192187346a9ad73acea5e8b9d0bf5)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision df5853e34e5c42f878c5ceccdada111743837ba4)
@@ -372,7 +372,7 @@
yield return new ViewInfo, DesignWaterLevelLocationsView>
{
GetViewName = (view, context) => RingtoetsFormsResources.DesignWaterLevelLocationsContext_DisplayName,
- GetViewData = context => context.WrappedData.HydraulicBoundaryDatabase?.Locations,
+ GetViewData = context => context.WrappedData.HydraulicBoundaryDatabase.Locations,
Image = RingtoetsCommonFormsResources.GenericInputOutputIcon,
CloseForData = CloseHydraulicBoundaryLocationsViewForData,
CreateInstance = context => new DesignWaterLevelLocationsView(context.WrappedData),
@@ -382,7 +382,7 @@
yield return new ViewInfo, WaveHeightLocationsView>
{
GetViewName = (view, context) => RingtoetsFormsResources.WaveHeightLocationsContext_DisplayName,
- GetViewData = context => context.WrappedData.HydraulicBoundaryDatabase?.Locations,
+ GetViewData = context => context.WrappedData.HydraulicBoundaryDatabase.Locations,
Image = RingtoetsCommonFormsResources.GenericInputOutputIcon,
CloseForData = CloseHydraulicBoundaryLocationsViewForData,
CreateInstance = context => new WaveHeightLocationsView(context.WrappedData),
@@ -516,7 +516,7 @@
CreateFileExporter = (context, filePath) => new HydraulicBoundaryLocationsExporter(
context.WrappedData.HydraulicBoundaryDatabase.Locations, filePath,
RingtoetsIntegrationPluginResources.DesignWaterLevel_Description, RingtoetsIntegrationPluginResources.WaveHeight_Description),
- IsEnabled = context => context.WrappedData.HydraulicBoundaryDatabase != null,
+ IsEnabled = context => context.WrappedData.HydraulicBoundaryDatabase.IsCoupled(),
FileFilterGenerator = new FileFilterGenerator(RingtoetsCommonIOResources.Shape_file_filter_Extension,
RingtoetsCommonIOResources.Shape_file_filter_Description)
};
@@ -654,9 +654,9 @@
{
Text = hydraulicBoundaryDatabase => RingtoetsFormsResources.HydraulicBoundaryDatabase_DisplayName,
Image = hydraulicBoundaryDatabase => RingtoetsCommonFormsResources.GenericInputOutputIcon,
- ForeColor = context => context.WrappedData.HydraulicBoundaryDatabase == null
- ? Color.FromKnownColor(KnownColor.GrayText)
- : Color.FromKnownColor(KnownColor.ControlText),
+ ForeColor = context => context.WrappedData.HydraulicBoundaryDatabase.IsCoupled()
+ ? Color.FromKnownColor(KnownColor.ControlText)
+ : Color.FromKnownColor(KnownColor.GrayText),
ChildNodeObjects = HydraulicBoundaryDatabaseChildNodeObjects,
ContextMenuStrip = HydraulicBoundaryDatabaseContextMenuStrip
};
@@ -1376,15 +1376,16 @@
private static object[] HydraulicBoundaryDatabaseChildNodeObjects(HydraulicBoundaryDatabaseContext nodeData)
{
- if (nodeData.WrappedData.HydraulicBoundaryDatabase == null)
+ if (nodeData.WrappedData.HydraulicBoundaryDatabase.IsCoupled())
{
- return new object[0];
+ return new object[]
+ {
+ new DesignWaterLevelLocationsContext(nodeData.WrappedData),
+ new WaveHeightLocationsContext(nodeData.WrappedData)
+ };
}
- return new object[]
- {
- new DesignWaterLevelLocationsContext(nodeData.WrappedData),
- new WaveHeightLocationsContext(nodeData.WrappedData)
- };
+
+ return new object[0];
}
private ContextMenuStrip DesignWaterLevelLocationsContextMenuStrip(DesignWaterLevelLocationsContext nodeData, object parentData, TreeViewControl treeViewControl)
@@ -1523,29 +1524,25 @@
{
HydraulicBoundaryDatabase hydraulicBoundaryDatabase = assessmentSection.HydraulicBoundaryDatabase;
- bool isHydraulicBoundaryDatabaseSet = hydraulicBoundaryDatabase != null;
- bool isClearConfirmationRequired = isHydraulicBoundaryDatabaseSet && !HydraulicBoundaryDatabaseHelper.HaveEqualVersion(hydraulicBoundaryDatabase, databaseFile);
- bool isClearConfirmationGiven = isClearConfirmationRequired && IsClearCalculationConfirmationGiven();
-
- if (isHydraulicBoundaryDatabaseSet && isClearConfirmationRequired && !isClearConfirmationGiven)
+ bool haveEqualVersion = HydraulicBoundaryDatabaseHelper.HaveEqualVersion(hydraulicBoundaryDatabase, databaseFile);
+ bool isClearConfirmationRequired = hydraulicBoundaryDatabase.IsCoupled() && !haveEqualVersion;
+ if (isClearConfirmationRequired && !IsClearCalculationConfirmationGiven())
{
return;
}
- HydraulicBoundaryDatabase previousHydraulicBoundaryDatabase = assessmentSection.HydraulicBoundaryDatabase;
using (var hydraulicBoundaryLocationsImporter = new HydraulicBoundaryDatabaseImporter())
{
if (hydraulicBoundaryLocationsImporter.Import(assessmentSection, databaseFile))
{
- if (isClearConfirmationGiven)
+ if (isClearConfirmationRequired)
{
ClearCalculations(assessmentSection);
}
- if (!ReferenceEquals(previousHydraulicBoundaryDatabase, assessmentSection.HydraulicBoundaryDatabase))
+ if (!haveEqualVersion)
{
- HydraulicBoundaryLocation[] hydraulicBoundaryLocations = assessmentSection.HydraulicBoundaryDatabase?.Locations.ToArray()
- ?? new HydraulicBoundaryLocation[0];
+ HydraulicBoundaryLocation[] hydraulicBoundaryLocations = assessmentSection.HydraulicBoundaryDatabase.Locations.ToArray();
assessmentSection.GrassCoverErosionOutwards.SetGrassCoverErosionOutwardsHydraulicBoundaryLocations(hydraulicBoundaryLocations);
assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.NotifyObservers();
@@ -1556,6 +1553,7 @@
assessmentSection.DuneErosion.DuneLocations.NotifyObservers();
}
+
log.InfoFormat(RingtoetsFormsResources.RingtoetsPlugin_SetBoundaryDatabaseFilePath_Database_on_path_0_linked,
assessmentSection.HydraulicBoundaryDatabase.FilePath);
}