From: Michal MalĂ˝ <madcatxster@devoid-pointer.net> Date: Fri, 19 Dec 2014 01:05:54 +0000 (+0100) Subject: Check that all elements in the assignment array are present in acidobazic suite X-Git-Url: https://gitweb.devoid-pointer.net/?a=commitdiff_plain;h=0bfe38bef5df856f8270312c89b2b4a9fb1f03da;p=Nine-Q.git Check that all elements in the assignment array are present in acidobazic suite --- diff --git a/src/face_generators/face_generator.adb b/src/face_generators/face_generator.adb index ae8a184..f27a4a7 100644 --- a/src/face_generators/face_generator.adb +++ b/src/face_generators/face_generator.adb @@ -131,13 +131,41 @@ package body Face_Generator is Insert(Translations, Assoc(RESERVED_PROBLEM_ID_VAL_KEY, Pr_ID)); Insert(Translations, Assoc(RESERVED_PROBLEM_CATEGORY_KEY, RESERVED_PROBLEM_CATEGORY_KEY)); Insert(Translations, Assoc(RESERVED_PROBLEM_CATEGORY_VAL_KEY, Pr_Cat)); + if Assignment.Find(Acidobazic_Suite.CONCENTRATION_INT_KEY) = Assignment_Info.No_Element then + return E_INVAL; + end if; Insert(Translations, Assoc(Acidobazic_Suite.CONCENTRATION_INT_KEY, Assignment.Element(Acidobazic_Suite.CONCENTRATION_INT_KEY))); + + if Assignment.Find(Acidobazic_Suite.CONCENTRATION_DEC_KEY) = Assignment_Info.No_Element then + return E_INVAL; + end if; Insert(Translations, Assoc(Acidobazic_Suite.CONCENTRATION_DEC_KEY, Assignment.Element(Acidobazic_Suite.CONCENTRATION_DEC_KEY))); + + if Assignment.Find(Acidobazic_Suite.CONCENTRATION_EXP_KEY) = Assignment_Info.No_Element then + return E_INVAL; + end if; Insert(Translations, Assoc(Acidobazic_Suite.CONCENTRATION_EXP_KEY, Assignment.Element(Acidobazic_Suite.CONCENTRATION_EXP_KEY))); + + if Assignment.Find(Acidobazic_Suite.PKX_KEY) = Assignment_Info.No_Element then + return E_INVAL; + end if; Insert(Translations, Assoc(Acidobazic_Suite.PKX_KEY, Assignment.Element(Acidobazic_Suite.PKX_KEY))); + + if Assignment.Find(Acidobazic_Suite.PKX_VALUE_INT_KEY) = Assignment_Info.No_Element then + return E_INVAL; + end if; Insert(Translations, Assoc(Acidobazic_Suite.PKX_VALUE_INT_KEY, Assignment.Element(Acidobazic_Suite.PKX_VALUE_INT_KEY))); + + if Assignment.Find(Acidobazic_Suite.PKX_VALUE_DEC_KEY) = Assignment_Info.No_Element then + return E_INVAL; + end if; Insert(Translations, Assoc(Acidobazic_Suite.PKX_VALUE_DEC_KEY, Assignment.Element(Acidobazic_Suite.PKX_VALUE_DEC_KEY))); + + if Assignment.Find(Acidobazic_Suite.SUBSTANCE_KEY) = Assignment_Info.No_Element then + return E_INVAL; + end if; Insert(Translations, Assoc(Acidobazic_Suite.SUBSTANCE_KEY, Assignment.Element(Acidobazic_Suite.SUBSTANCE_KEY))); + Insert(Translations, Assoc("ANSWER_PH", Acidobazic_Suite.ANSWER_PH_KEY)); Insert(Translations, Assoc("ANSWER_SIMPLIFICATION", Acidobazic_Suite.ANSWER_SIMPLIFICATION_KEY)); Insert(Translations, Assoc("ANSWER_OPTION_SIMPL_ATPR", Acidobazic_Suite.Simplification'Image(Acidobazic_Suite.Autoprotolysis)));