[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master a10b0bb 5/5: Expunge weird "0%" columns from
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master a10b0bb 5/5: Expunge weird "0%" columns from GUI [353] |
Date: |
Tue, 29 Jan 2019 18:07:37 -0500 (EST) |
branch: master
commit a10b0bb14936864a6a3c81efdf69202528e7585b
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>
Expunge weird "0%" columns from GUI [353]
See:
https://lists.nongnu.org/archive/html/lmi/2019-01/msg00038.html
---
input_harmonization.cpp | 35 -----------------------------------
input_xml_io.cpp | 20 ++++++++++++++++++++
mc_enum_types.cpp | 2 +-
mc_enum_types.xpp | 24 ------------------------
preferences_model.cpp | 27 ---------------------------
5 files changed, 21 insertions(+), 87 deletions(-)
diff --git a/input_harmonization.cpp b/input_harmonization.cpp
index 8e97bb2..f584ad4 100644
--- a/input_harmonization.cpp
+++ b/input_harmonization.cpp
@@ -822,41 +822,6 @@ false // Silly workaround for now.
SupplementalReportColumn09.enable(create_supplemental_report);
SupplementalReportColumn10.enable(create_supplemental_report);
SupplementalReportColumn11.enable(create_supplemental_report);
-
- // TODO ?? EGREGIOUS_DEFECT: instead, don't offer these columns at all.
See:
- // http://lists.nongnu.org/archive/html/lmi/2009-09/msg00012.html
- std::vector<mcenum_report_column> weird_report_columns;
- weird_report_columns.push_back(mce_current_0_account_value_general_account
);
-
weird_report_columns.push_back(mce_guaranteed_0_account_value_general_account );
-
weird_report_columns.push_back(mce_current_0_account_value_separate_account );
-
weird_report_columns.push_back(mce_guaranteed_0_account_value_separate_account);
- weird_report_columns.push_back(mce_current_0_account_value
);
- weird_report_columns.push_back(mce_guaranteed_0_account_value
);
- weird_report_columns.push_back(mce_current_0_cash_surrender_value
);
- weird_report_columns.push_back(mce_guaranteed_0_cash_surrender_value
);
-
- bool enable_weirdness =
- allow_gen_acct
- && allow_sep_acct
- && 0.0 < InforceGeneralAccountValue .value()
- && 0.0 < InforceSeparateAccountValue.value()
- ;
-
- for(auto const& i : weird_report_columns)
- {
- SupplementalReportColumn00.allow(i, enable_weirdness);
- SupplementalReportColumn01.allow(i, enable_weirdness);
- SupplementalReportColumn02.allow(i, enable_weirdness);
- SupplementalReportColumn03.allow(i, enable_weirdness);
- SupplementalReportColumn04.allow(i, enable_weirdness);
- SupplementalReportColumn05.allow(i, enable_weirdness);
- SupplementalReportColumn06.allow(i, enable_weirdness);
- SupplementalReportColumn07.allow(i, enable_weirdness);
- SupplementalReportColumn08.allow(i, enable_weirdness);
- SupplementalReportColumn09.allow(i, enable_weirdness);
- SupplementalReportColumn10.allow(i, enable_weirdness);
- SupplementalReportColumn11.allow(i, enable_weirdness);
- }
}
/// Change values as required for consistency.
diff --git a/input_xml_io.cpp b/input_xml_io.cpp
index 411d0d6..72aecaf 100644
--- a/input_xml_io.cpp
+++ b/input_xml_io.cpp
@@ -181,6 +181,9 @@ void Input::redintegrate_ex_ante
{
if(class_version() == file_version)
{
+ // INPUT !! Next time the class version is updated,
+ // remove this 'goto' and its label.
+ goto jumper;
return;
}
@@ -341,6 +344,23 @@ void Input::redintegrate_ex_ante
value = value_cast<std::string>(value_cast<double>(value) /
10000.0);
}
}
+
+ if(file_version < 10)
+ {
+ jumper:
+ // Prior to 2019-01-30, weird "Zero" columns were available
+ // for some supplemental reports. The manual report that used
+ // them having been automated, they've been withdrawn. For
+ // backward compatibility, they're silently ignored wherever
+ // they occurred in old input files.
+ if
+ ( contains(name, "SupplementalReportColumn")
+ && contains(value, "Zero")
+ )
+ {
+ value = "[none]";
+ }
+ }
}
void Input::redintegrate_ex_post
diff --git a/mc_enum_types.cpp b/mc_enum_types.cpp
index 798fed7..ed5cdad 100644
--- a/mc_enum_types.cpp
+++ b/mc_enum_types.cpp
@@ -156,7 +156,7 @@ MC_DEFINE(part_mort_table,1)
MC_DEFINE(premium_table,1)
MC_DEFINE(from_point,4)
MC_DEFINE(to_point,4)
-MC_DEFINE(report_column,63)
+MC_DEFINE(report_column,55)
MC_DEFINE(suppl_illus_type,3)
#undef MC_DEFINE
diff --git a/mc_enum_types.xpp b/mc_enum_types.xpp
index 37c8ab1..6725717 100644
--- a/mc_enum_types.xpp
+++ b/mc_enum_types.xpp
@@ -607,14 +607,6 @@
,mce_current_net_interest_credited \
,mce_current_sep_acct_charges \
,mce_current_policy_fee \
- ,mce_current_0_account_value_general_account \
- ,mce_guaranteed_0_account_value_general_account \
- ,mce_current_0_account_value_separate_account \
- ,mce_guaranteed_0_account_value_separate_account \
- ,mce_current_0_account_value \
- ,mce_guaranteed_0_account_value \
- ,mce_current_0_cash_surrender_value \
- ,mce_guaranteed_0_cash_surrender_value \
};
#define report_column_NAMES \
{"[none]" \
@@ -672,14 +664,6 @@
,"NetIntCredited_Current" \
,"SepAcctCharges_Current" \
,"PolicyFee_Current" \
- ,"AVGenAcct_CurrentZero" \
- ,"AVGenAcct_GuaranteedZero" \
- ,"AVSepAcct_CurrentZero" \
- ,"AVSepAcct_GuaranteedZero" \
- ,"AcctVal_CurrentZero" \
- ,"AcctVal_GuaranteedZero" \
- ,"CSVNet_CurrentZero" \
- ,"CSVNet_GuaranteedZero" \
};
#if 0
// TODO ?? Nicer-looking names--implement later.
@@ -739,14 +723,6 @@
,"Current Interest Credited Net of Separate Account Charges" \
,"Current Separate Account Asset Charges" \
,"Current Policy Fee" \
- ,"Curr Charges Account Value General Account" \
- ,"Guar Charges Account Value General Account" \
- ,"Curr Charges 0% Account Value Separate Account" \
- ,"Guar Charges 0% Account Value Separate Account" \
- ,"Curr Charges 0% Account Value" \
- ,"Guar Charges 0% Account Value" \
- ,"Curr Charges 0% Net Cash Surrender Value" \
- ,"Guar Charges 0% Net Cash Surrender Value" \
};
#endif // 0
diff --git a/preferences_model.cpp b/preferences_model.cpp
index 749444e..4dea77b 100644
--- a/preferences_model.cpp
+++ b/preferences_model.cpp
@@ -179,33 +179,6 @@ void PreferencesModel::DoHarmonize()
CalculationSummaryColumn09.enable(do_not_use_builtin_defaults);
CalculationSummaryColumn10.enable(do_not_use_builtin_defaults);
CalculationSummaryColumn11.enable(do_not_use_builtin_defaults);
-
- // TODO ?? EGREGIOUS_DEFECT: instead, don't offer these columns at all.
- std::vector<mcenum_report_column> weird_report_columns;
- weird_report_columns.push_back(mce_current_0_account_value_general_account
);
-
weird_report_columns.push_back(mce_guaranteed_0_account_value_general_account );
-
weird_report_columns.push_back(mce_current_0_account_value_separate_account );
-
weird_report_columns.push_back(mce_guaranteed_0_account_value_separate_account);
- weird_report_columns.push_back(mce_current_0_account_value
);
- weird_report_columns.push_back(mce_guaranteed_0_account_value
);
- weird_report_columns.push_back(mce_current_0_cash_surrender_value
);
- weird_report_columns.push_back(mce_guaranteed_0_cash_surrender_value
);
-
- for(auto const& i : weird_report_columns)
- {
- CalculationSummaryColumn00.allow(i, false);
- CalculationSummaryColumn01.allow(i, false);
- CalculationSummaryColumn02.allow(i, false);
- CalculationSummaryColumn03.allow(i, false);
- CalculationSummaryColumn04.allow(i, false);
- CalculationSummaryColumn05.allow(i, false);
- CalculationSummaryColumn06.allow(i, false);
- CalculationSummaryColumn07.allow(i, false);
- CalculationSummaryColumn08.allow(i, false);
- CalculationSummaryColumn09.allow(i, false);
- CalculationSummaryColumn10.allow(i, false);
- CalculationSummaryColumn11.allow(i, false);
- }
}
void PreferencesModel::DoTransmogrify()