Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/UISupport/ConfigurationManager.cs =================================================================== diff -u -r2513 -r3126 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/UISupport/ConfigurationManager.cs (.../ConfigurationManager.cs) (revision 2513) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/UISupport/ConfigurationManager.cs (.../ConfigurationManager.cs) (revision 3126) @@ -32,7 +32,7 @@ [ThreadStatic] private static readonly ConfigurationManager instance = new ConfigurationManager(); - private static ConfigurationStatus[,,,] configurationStatus; + private static ConfigurationStatus[,,] configurationStatus; /// /// Initializes a new instance of the class. @@ -53,20 +53,19 @@ /// /// Indexer /// - /// /// /// /// /// - public ConfigurationStatus this[StabilityKernelType kernelType, DamProjectType damProjectType, FailureMechanismSystemType failureMechanismSystemType, int i] + public ConfigurationStatus this[DamProjectType damProjectType, FailureMechanismSystemType failureMechanismSystemType, int i] { get { - return configurationStatus[(int) kernelType, (int) damProjectType, (int) failureMechanismSystemType, i]; + return configurationStatus[(int) damProjectType, (int) failureMechanismSystemType, i]; } set { - configurationStatus[(int) kernelType, (int) damProjectType, (int) failureMechanismSystemType, i] = value; + configurationStatus[(int) damProjectType, (int) failureMechanismSystemType, i] = value; } } @@ -86,17 +85,16 @@ /// /// Gets the available failure mechanisms. /// - /// /// Type of the dam project. /// - public ICollection GetAvailableFailureMechanisms(StabilityKernelType kernelType, DamProjectType damProjectType) + public ICollection GetAvailableFailureMechanisms(DamProjectType damProjectType) { var availableList = new List(); foreach (FailureMechanismSystemType failureMechanismSystemType in Enum.GetValues(typeof(FailureMechanismSystemType))) { for (int i = 0; i < maxModelCount; i++) { - if (this[kernelType, damProjectType, failureMechanismSystemType, i] == ConfigurationStatus.Available) + if (this[damProjectType, failureMechanismSystemType, i] == ConfigurationStatus.Available) { availableList.Add(failureMechanismSystemType); break; @@ -109,16 +107,15 @@ /// /// Gets the available mechanism models. /// - /// /// Type of the dam project. /// Type of the failure mechanism system. /// - public ICollection GetAvailableMechanismModels(StabilityKernelType kernelType, DamProjectType damProjectType, FailureMechanismSystemType failureMechanismSystemType) + public ICollection GetAvailableMechanismModels(DamProjectType damProjectType, FailureMechanismSystemType failureMechanismSystemType) { var availableList = new List(); for (int i = 0; i < maxModelCount; i++) { - if (this[kernelType, damProjectType, failureMechanismSystemType, i] == ConfigurationStatus.Available) + if (this[damProjectType, failureMechanismSystemType, i] == ConfigurationStatus.Available) { switch (failureMechanismSystemType) { @@ -150,43 +147,42 @@ /// private void InitDefaultStatus() { - configurationStatus = new ConfigurationStatus[GetLength(), GetLength(), + configurationStatus = new ConfigurationStatus[GetLength(), GetLength(), maxModelCount]; - foreach (StabilityKernelType kernelType in Enum.GetValues(typeof(StabilityKernelType))) + + foreach (DamProjectType damProjectType in Enum.GetValues(typeof(DamProjectType))) { - foreach (DamProjectType damProjectType in Enum.GetValues(typeof(DamProjectType))) + foreach (FailureMechanismSystemType failureMechanismSystemType in Enum.GetValues(typeof(FailureMechanismSystemType))) { - foreach (FailureMechanismSystemType failureMechanismSystemType in Enum.GetValues(typeof(FailureMechanismSystemType))) + for (int i = 0; i < maxModelCount; i++) { - for (int i = 0; i < maxModelCount; i++) - { - this[kernelType, damProjectType, failureMechanismSystemType, i] = - ConfigurationStatus.NotImplemented; - } + this[damProjectType, failureMechanismSystemType, i] = + ConfigurationStatus.NotImplemented; } } } - // This is the place to enable new possible failure mechanisms and models - this[StabilityKernelType.DamClassicStability, DamProjectType.Design, FailureMechanismSystemType.StabilityInside, (int) MStabModelType.Bishop] = ConfigurationStatus.Available; - this[StabilityKernelType.DamClassicStability, DamProjectType.Design, FailureMechanismSystemType.StabilityInside, (int) MStabModelType.UpliftVan] = ConfigurationStatus.Available; - this[StabilityKernelType.DamClassicStability, DamProjectType.Design, FailureMechanismSystemType.StabilityInside, (int) MStabModelType.BishopUpliftVan] = ConfigurationStatus.Available; - this[StabilityKernelType.DamClassicStability, DamProjectType.Design, FailureMechanismSystemType.StabilityOutside, (int) MStabModelType.Bishop] = ConfigurationStatus.Available; - this[StabilityKernelType.DamClassicStability, DamProjectType.Design, FailureMechanismSystemType.Piping, (int) PipingModelType.Sellmeijer] = ConfigurationStatus.Available; - this[StabilityKernelType.DamClassicStability, DamProjectType.Design, FailureMechanismSystemType.Piping, (int) PipingModelType.Sellmeijer2Forces] = ConfigurationStatus.NotAvailable; - this[StabilityKernelType.DamClassicStability, DamProjectType.Design, FailureMechanismSystemType.Piping, (int) PipingModelType.Sellmeijer4Forces] = ConfigurationStatus.Available; - this[StabilityKernelType.DamClassicStability, DamProjectType.Design, FailureMechanismSystemType.Piping, (int) PipingModelType.Bligh] = ConfigurationStatus.Available; - this[StabilityKernelType.DamClassicStability, DamProjectType.Design, FailureMechanismSystemType.Piping, (int) PipingModelType.Wti2017] = ConfigurationStatus.Available; - this[StabilityKernelType.DamClassicStability, DamProjectType.Design, FailureMechanismSystemType.FlowSlide, (int) FlowSlideModelType.All] = ConfigurationStatus.NotAvailable; - this[StabilityKernelType.DamClassicStability, DamProjectType.Calamity, FailureMechanismSystemType.StabilityInside, (int) MStabModelType.Bishop] = ConfigurationStatus.Available; - this[StabilityKernelType.DamClassicStability, DamProjectType.Calamity, FailureMechanismSystemType.StabilityInside, (int) MStabModelType.UpliftVan] = ConfigurationStatus.Available; - this[StabilityKernelType.DamClassicStability, DamProjectType.Calamity, FailureMechanismSystemType.StabilityOutside, (int) MStabModelType.Bishop] = ConfigurationStatus.Available; - this[StabilityKernelType.DamClassicStability, DamProjectType.Calamity, FailureMechanismSystemType.Piping, (int) PipingModelType.Sellmeijer] = ConfigurationStatus.Available; - this[StabilityKernelType.DamClassicStability, DamProjectType.Calamity, FailureMechanismSystemType.Piping, (int) PipingModelType.Sellmeijer4Forces] = ConfigurationStatus.Available; - this[StabilityKernelType.DamClassicStability, DamProjectType.Calamity, FailureMechanismSystemType.Piping, (int) PipingModelType.Bligh] = ConfigurationStatus.Available; + // This is the place to enable new possible failure mechanisms and models + this[DamProjectType.Design, FailureMechanismSystemType.StabilityInside, (int) MStabModelType.Bishop] = ConfigurationStatus.Available; + this[DamProjectType.Design, FailureMechanismSystemType.StabilityInside, (int) MStabModelType.UpliftVan] = ConfigurationStatus.Available; + this[DamProjectType.Design, FailureMechanismSystemType.StabilityInside, (int) MStabModelType.BishopUpliftVan] = ConfigurationStatus.Available; + this[DamProjectType.Design, FailureMechanismSystemType.StabilityOutside, (int) MStabModelType.Bishop] = ConfigurationStatus.Available; + this[DamProjectType.Design, FailureMechanismSystemType.Piping, (int) PipingModelType.Sellmeijer] = ConfigurationStatus.Available; + this[DamProjectType.Design, FailureMechanismSystemType.Piping, (int) PipingModelType.Sellmeijer2Forces] = ConfigurationStatus.NotAvailable; + this[DamProjectType.Design, FailureMechanismSystemType.Piping, (int) PipingModelType.Sellmeijer4Forces] = ConfigurationStatus.Available; + this[DamProjectType.Design, FailureMechanismSystemType.Piping, (int) PipingModelType.Bligh] = ConfigurationStatus.Available; + this[DamProjectType.Design, FailureMechanismSystemType.Piping, (int) PipingModelType.Wti2017] = ConfigurationStatus.Available; + this[DamProjectType.Design, FailureMechanismSystemType.FlowSlide, (int) FlowSlideModelType.All] = ConfigurationStatus.NotAvailable; + + this[DamProjectType.Calamity, FailureMechanismSystemType.StabilityInside, (int) MStabModelType.Bishop] = ConfigurationStatus.Available; + this[DamProjectType.Calamity, FailureMechanismSystemType.StabilityInside, (int) MStabModelType.UpliftVan] = ConfigurationStatus.Available; + this[DamProjectType.Calamity, FailureMechanismSystemType.StabilityOutside, (int) MStabModelType.Bishop] = ConfigurationStatus.Available; + this[DamProjectType.Calamity, FailureMechanismSystemType.Piping, (int) PipingModelType.Sellmeijer] = ConfigurationStatus.Available; + this[DamProjectType.Calamity, FailureMechanismSystemType.Piping, (int) PipingModelType.Sellmeijer4Forces] = ConfigurationStatus.Available; + this[DamProjectType.Calamity, FailureMechanismSystemType.Piping, (int) PipingModelType.Bligh] = ConfigurationStatus.Available; - this[StabilityKernelType.WtiMacroStabilityKernel, DamProjectType.Design, FailureMechanismSystemType.StabilityInside, (int) MStabModelType.UpliftVan] = ConfigurationStatus.Available; + this[DamProjectType.Design, FailureMechanismSystemType.StabilityInside, (int) MStabModelType.UpliftVan] = ConfigurationStatus.Available; } } } \ No newline at end of file Index: DamClients/DamUI/trunk/src/Dam/Tests/UISupport/ConfigurationManagerTest.cs =================================================================== diff -u -r2513 -r3126 --- DamClients/DamUI/trunk/src/Dam/Tests/UISupport/ConfigurationManagerTest.cs (.../ConfigurationManagerTest.cs) (revision 2513) +++ DamClients/DamUI/trunk/src/Dam/Tests/UISupport/ConfigurationManagerTest.cs (.../ConfigurationManagerTest.cs) (revision 3126) @@ -39,7 +39,7 @@ [Test] public void ReturnsCorrectAvailableDeterministicFailuremechanisms() { - ICollection failureMechanisms = ConfigurationManager.Instance.GetAvailableFailureMechanisms(StabilityKernelType.DamClassicStability, DamProjectType.Design); + ICollection failureMechanisms = ConfigurationManager.Instance.GetAvailableFailureMechanisms(DamProjectType.Design); Assert.AreEqual(3, failureMechanisms.Count, "DamClassicStability: Incorrect number of failuremechanisms for deterministic calculation"); foreach (var failureMechanism in failureMechanisms) { @@ -48,47 +48,44 @@ failureMechanism.Equals(FailureMechanismSystemType.StabilityOutside) || failureMechanism.Equals(FailureMechanismSystemType.FlowSlide)); } - - failureMechanisms = ConfigurationManager.Instance.GetAvailableFailureMechanisms(StabilityKernelType.WtiMacroStabilityKernel, DamProjectType.Design); - Assert.AreEqual(1, failureMechanisms.Count, "WtiMacroStabilityKernel: Incorrect number of failuremechanisms for deterministic calculation"); } [Test] public void ReturnsCorrectAvailableDeterministicFailuremechanismModelsForDesignOption() { - ICollection pipingModels = ConfigurationManager.Instance.GetAvailableMechanismModels(StabilityKernelType.DamClassicStability, DamProjectType.Design, FailureMechanismSystemType.Piping); + ICollection pipingModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Design, FailureMechanismSystemType.Piping); Assert.AreEqual(4, pipingModels.Count, "DamClassicStability: Incorrect number of models for deterministic piping calculation"); - ICollection stabilityInsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(StabilityKernelType.DamClassicStability, DamProjectType.Design, FailureMechanismSystemType.StabilityInside); + ICollection stabilityInsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Design, FailureMechanismSystemType.StabilityInside); Assert.AreEqual(3, stabilityInsideModels.Count, "DamClassicStability: Incorrect number of models for deterministic stability inside calculation"); - ICollection stabilityOutsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(StabilityKernelType.DamClassicStability, DamProjectType.Design, FailureMechanismSystemType.StabilityOutside); + ICollection stabilityOutsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Design, FailureMechanismSystemType.StabilityOutside); Assert.AreEqual(1, stabilityOutsideModels.Count, "DamClassicStability: Incorrect number of models for deterministic stability outside calculation"); - ICollection stabilityHorizontalBalanceModels = ConfigurationManager.Instance.GetAvailableMechanismModels(StabilityKernelType.DamClassicStability, DamProjectType.Design, FailureMechanismSystemType.HorizontalBalance); + ICollection stabilityHorizontalBalanceModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Design, FailureMechanismSystemType.HorizontalBalance); Assert.AreEqual(0, stabilityHorizontalBalanceModels.Count, "DamClassicStability: Incorrect number of models for deterministic horizontal balance calculation"); - ICollection flowSlideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(StabilityKernelType.DamClassicStability, DamProjectType.Design, FailureMechanismSystemType.FlowSlide); + ICollection flowSlideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Design, FailureMechanismSystemType.FlowSlide); Assert.AreEqual(0, flowSlideModels.Count, "DamClassicStability: Incorrect number of models for deterministic flowslide calculation"); - stabilityInsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(StabilityKernelType.WtiMacroStabilityKernel, DamProjectType.Design, FailureMechanismSystemType.StabilityInside); + stabilityInsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Design, FailureMechanismSystemType.StabilityInside); Assert.AreEqual(1, stabilityInsideModels.Count, "WtiMacroStabilityKernel: Incorrect number of models for deterministic stability inside calculation"); - pipingModels = ConfigurationManager.Instance.GetAvailableMechanismModels(StabilityKernelType.WtiMacroStabilityKernel, DamProjectType.Design, FailureMechanismSystemType.Piping); + pipingModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Design, FailureMechanismSystemType.Piping); Assert.AreEqual(0, pipingModels.Count, "WtiMacroStabilityKernel: Incorrect number of models for deterministic piping calculation"); } [Test] public void ReturnsCorrectAvailableDeterministicFailuremechanismModelsForCalamityOption() { - ICollection pipingModels = ConfigurationManager.Instance.GetAvailableMechanismModels(StabilityKernelType.DamClassicStability, DamProjectType.Calamity, FailureMechanismSystemType.Piping); + ICollection pipingModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Calamity, FailureMechanismSystemType.Piping); Assert.AreEqual(3, pipingModels.Count, "Incorrect number of models for deterministic piping calculation"); - ICollection stabilityInsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(StabilityKernelType.DamClassicStability, DamProjectType.Calamity, FailureMechanismSystemType.StabilityInside); + ICollection stabilityInsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Calamity, FailureMechanismSystemType.StabilityInside); Assert.AreEqual(2, stabilityInsideModels.Count, "Incorrect number of models for deterministic stability inside calculation"); - ICollection stabilityOutsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(StabilityKernelType.DamClassicStability, DamProjectType.Calamity, FailureMechanismSystemType.StabilityOutside); + ICollection stabilityOutsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Calamity, FailureMechanismSystemType.StabilityOutside); Assert.AreEqual(1, stabilityOutsideModels.Count, "Incorrect number of models for deterministic stability outside calculation"); - ICollection stabilityHorizontalBalanceModels = ConfigurationManager.Instance.GetAvailableMechanismModels(StabilityKernelType.DamClassicStability, DamProjectType.Calamity, FailureMechanismSystemType.HorizontalBalance); + ICollection stabilityHorizontalBalanceModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Calamity, FailureMechanismSystemType.HorizontalBalance); Assert.AreEqual(0, stabilityHorizontalBalanceModels.Count, "Incorrect number of models for deterministic horizontal balance calculation"); - ICollection flowSlideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(StabilityKernelType.DamClassicStability, DamProjectType.Calamity, FailureMechanismSystemType.FlowSlide); + ICollection flowSlideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Calamity, FailureMechanismSystemType.FlowSlide); Assert.AreEqual(0, flowSlideModels.Count, "Incorrect number of models for deterministic flowslide calculation"); - stabilityInsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(StabilityKernelType.WtiMacroStabilityKernel, DamProjectType.Calamity, FailureMechanismSystemType.StabilityInside); + stabilityInsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Calamity, FailureMechanismSystemType.StabilityInside); Assert.AreEqual(0, stabilityInsideModels.Count, "WtiMacroStabilityKernel: Incorrect number of models for deterministic stability inside calculation"); } } Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamFailureMechanismeCalculationSpecification.cs =================================================================== diff -u -r3121 -r3126 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamFailureMechanismeCalculationSpecification.cs (.../DamFailureMechanismeCalculationSpecification.cs) (revision 3121) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamFailureMechanismeCalculationSpecification.cs (.../DamFailureMechanismeCalculationSpecification.cs) (revision 3126) @@ -208,13 +208,13 @@ switch (property) { case "CalculationModel": - return (ConfigurationManager.Instance.GetAvailableMechanismModels(StabilityKernelType, DamProjectType, failureMechanismSystemType)); + return (ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType, failureMechanismSystemType)); case "PipingModelType": - return (ConfigurationManager.Instance.GetAvailableMechanismModels(StabilityKernelType, DamProjectType, FailureMechanismSystemType.Piping)); + return (ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType, FailureMechanismSystemType.Piping)); case "FailureMechanismSystemType": - return (ConfigurationManager.Instance.GetAvailableFailureMechanisms(StabilityKernelType, DamProjectType)); + return (ConfigurationManager.Instance.GetAvailableFailureMechanisms(DamProjectType)); case "StabilityKernelType": - return (ConfigurationManager.Instance.GetAvailableFailureMechanisms(StabilityKernelType, DamProjectType)); + return (ConfigurationManager.Instance.GetAvailableFailureMechanisms(DamProjectType)); default: return null; } }