note description: "Summary description for {AFX_TIME_LOGGER}." author: "" date: "$Date$" revision: "$Revision$" class AFX_TIME_LOGGER inherit -- AFX_EVENT_LISTENER -- redefine -- on_session_starts, -- on_session_ends, -- on_session_canceled, -- on_test_case_analysis_starts, -- on_test_case_analysis_ends, -- on_implementation_fix_generation_starts, -- on_implementation_fix_generation_ends, -- on_implementation_fix_validation_starts, -- on_implementation_fix_validation_ends -- end EPA_TIME_UTILITY AFX_SHARED_SESSION create reset feature -- Reset time trace reset -- Reset time trace. do session_end_time := Void test_case_analysis_start_time := Void test_case_analysis_end_time := Void fix_generation_start_time := Void fix_generation_end_time := Void fix_validation_start_time := Void fix_validation_end_time := Void end feature -- Access session_start_time: DT_DATE_TIME -- Time when session starts. require session_started: session.has_started do Result := session.starting_time end session_end_time: DT_DATE_TIME -- Time when session ends. test_case_analysis_start_time: DT_DATE_TIME -- Time when test case analysis starts. test_case_analysis_end_time: DT_DATE_TIME -- Time when test case analysis ends. fix_generation_start_time: DT_DATE_TIME -- Time when fix generation starts. fix_generation_end_time: DT_DATE_TIME -- Time when fix generation ends. fix_validation_start_time: DT_DATE_TIME -- Time when fix validation starts. fix_validation_end_time: DT_DATE_TIME -- Time when fix validation ends. session_duration: DT_DATE_TIME_DURATION -- Duration of session. do if session_start_time = Void or else session_end_time = Void then Result := Void else Result := session_end_time.duration (session_start_time) end end test_case_analysis_duration: DT_DATE_TIME_DURATION -- Duration of test case analysis. do if test_case_analysis_start_time = Void or else test_case_analysis_end_time = Void then Result := Void else Result := test_case_analysis_end_time.duration (test_case_analysis_start_time) end end fix_generation_duration: DT_DATE_TIME_DURATION -- Duration of fix generation. do if fix_generation_start_time = Void and then fix_generation_end_time = Void then Result := Void else Result := fix_generation_end_time.duration (fix_generation_start_time) end end fix_validation_duration: DT_DATE_TIME_DURATION -- Duration of fix validation. do if fix_validation_start_time = Void or else fix_validation_end_time = Void then Result := Void else Result := fix_validation_end_time.duration (fix_validation_start_time) end end feature -- Actions on_session_starts -- do session_end_time := Void test_case_analysis_start_time := Void test_case_analysis_end_time := Void fix_generation_start_time := Void fix_generation_end_time := Void fix_validation_start_time := Void fix_validation_end_time := Void end on_session_ends, on_session_canceled -- do session_end_time := time_now end on_test_case_analysis_starts -- do test_case_analysis_start_time := time_now end on_test_case_analysis_ends -- do test_case_analysis_end_time := time_now end on_implementation_fix_generation_starts -- do fix_generation_start_time := time_now end on_implementation_fix_generation_ends (a_fixes: DS_ARRAYED_LIST [AFX_CODE_FIX_TO_FAULT]) -- do fix_generation_end_time := time_now end on_implementation_fix_validation_starts (a_fixes: DS_LIST [AFX_CODE_FIX_TO_FAULT]) -- do fix_validation_start_time := time_now end on_implementation_fix_validation_ends (a_fixes: DS_LIST [AFX_CODE_FIX_TO_FAULT]) -- do fix_validation_end_time := time_now end end