lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [5929] Render class Server7702Input obsolete


From: Greg Chicares
Subject: [lmi-commits] [5929] Render class Server7702Input obsolete
Date: Fri, 11 Jul 2014 23:28:48 +0000

Revision: 5929
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5929
Author:   chicares
Date:     2014-07-11 23:28:47 +0000 (Fri, 11 Jul 2014)
Log Message:
-----------
Render class Server7702Input obsolete

Modified Paths:
--------------
    lmi/trunk/gpt_input.hpp
    lmi/trunk/gpt_server.cpp
    lmi/trunk/ihs_server7702.cpp
    lmi/trunk/ihs_server7702.hpp

Modified: lmi/trunk/gpt_input.hpp
===================================================================
--- lmi/trunk/gpt_input.hpp     2014-07-11 22:21:17 UTC (rev 5928)
+++ lmi/trunk/gpt_input.hpp     2014-07-11 23:28:47 UTC (rev 5929)
@@ -79,6 +79,8 @@
     ,        public  MemberSymbolTable          <gpt_input>
     ,        private boost::equality_comparable <gpt_input>
 {
+    friend class Server7702;
+
   public:
     gpt_input();
     gpt_input(gpt_input const&);

Modified: lmi/trunk/gpt_server.cpp
===================================================================
--- lmi/trunk/gpt_server.cpp    2014-07-11 22:21:17 UTC (rev 5928)
+++ lmi/trunk/gpt_server.cpp    2014-07-11 23:28:47 UTC (rev 5929)
@@ -72,8 +72,7 @@
     ,gpt_input const& input
     )
 {
-    Server7702Input i(input);
-    Server7702Output o = RunServer7702FromStruct(i);
+    Server7702Output o = RunServer7702FromStruct(input);
     gpt_state s;
     s["X0_glp"  ] = value_cast<std::string>(o.GuidelineLevelPremium        );
     s["X1_gsp"  ] = value_cast<std::string>(o.GuidelineSinglePremium       );

Modified: lmi/trunk/ihs_server7702.cpp
===================================================================
--- lmi/trunk/ihs_server7702.cpp        2014-07-11 22:21:17 UTC (rev 5928)
+++ lmi/trunk/ihs_server7702.cpp        2014-07-11 23:28:47 UTC (rev 5929)
@@ -35,8 +35,8 @@
 #include "assert_lmi.hpp"
 #include "basic_values.hpp"
 #include "fenv_lmi.hpp"
+#include "gpt_input.hpp"
 #include "ihs_irc7702.hpp"
-#include "ihs_server7702io.hpp"
 #include "ihs_x_type.hpp"
 
 #include <exception>
@@ -48,7 +48,7 @@
 }
 
 //============================================================================
-Server7702Output RunServer7702FromStruct(Server7702Input a_Input)
+Server7702Output RunServer7702FromStruct(gpt_input a_Input)
 {
     EnterServer();
     Server7702 contract(a_Input);
@@ -57,7 +57,7 @@
 }
 
 //============================================================================
-Server7702::Server7702(Server7702Input& a_Input)
+Server7702::Server7702(gpt_input& a_Input)
     :Input(a_Input)
     ,IsIssuedToday(false)
     ,IsPossibleAdjustableEvent(false)
@@ -151,11 +151,11 @@
 //============================================================================
 void Server7702::PerformProcessing()
 {
-    Output.ContractNumber                   = Input.ContractNumber;
+    Output.ContractNumber                   = Input.ContractNumber.value();
     Output.Status                           = 0;
     Output.AdjustableEventOccurred          = false;
-    Output.GuidelineLevelPremium            = Input.InforceGlp;
-    Output.GuidelineSinglePremium           = Input.InforceGsp;
+    Output.GuidelineLevelPremium            = Input.InforceGlp    .value();
+    Output.GuidelineSinglePremium           = Input.InforceGsp    .value();
     Output.GuidelineLevelPremiumPolicyA     = 0.0;
     Output.GuidelineSinglePremiumPolicyA    = 0.0;
     Output.GuidelineLevelPremiumPolicyB     = 0.0;
@@ -182,41 +182,21 @@
 // TODO ?? We can add many similar conditions here.
 void Server7702::VerifyPlausibilityOfInput() const
 {
-    if(Input.OldIssueAge < 0)
+    if(Input.IssueAge.value() < 0)
         {
         throw server7702_implausible_input
             (
-            "Old issue age less than zero"
+            "Issue age less than zero"
             );
         }
-    if(99 < Input.OldIssueAge)
+    if(99 < Input.IssueAge.value())
         {
         throw server7702_implausible_input
             (
-            "Old issue age greater than 99"
+            "Issue age greater than 99"
             );
         }
-    if(Input.NewIssueAge < 0)
-        {
-        throw server7702_implausible_input
-            (
-            "New issue age less than zero"
-            );
-        }
-    if(99 < Input.NewIssueAge)
-        {
-        throw server7702_implausible_input
-            (
-            "New issue age greater than 99"
-            );
-        }
-    if(Input.NewIssueAge != Input.OldIssueAge)
-        {
-        throw server7702_misstatement_of_age_or_gender
-            (
-            "New issue age different from old issue age"
-            );
-        }
+//  if(Input.NewIssueAge != Input.OldIssueAge) // Not differentiated.
     if(Input.NewGender != Input.OldGender)
         {
         throw server7702_misstatement_of_age_or_gender
@@ -232,8 +212,8 @@
     // TODO ?? Is this not superfluous?
     if
         (
-            Input.NewIssueAge               != Input.OldIssueAge
-        ||  Input.NewGender                 != Input.OldGender
+//          Input.NewIssueAge               != Input.OldIssueAge // Not 
differentiated.
+            Input.NewGender                 != Input.OldGender
         )
         {
         // Consider change of insured as a reissue that probably violates.
@@ -251,7 +231,7 @@
 //            0.0                             != Input.PremsPaidDecrement
             Input.NewDbo                    != Input.OldDbo
         ||  (   Input.NewSpecAmt            != Input.OldSpecAmt
-            &&  Input.NewBenefitAmount      != Input.OldBenefitAmount
+            &&  Input.NewDeathBft           != Input.OldDeathBft
             )
 // TODO ?? NEED DECISION whether it's a SA or DB change that causes adj event
         ||  Input.NewQabTermAmt             != Input.OldQabTermAmt
@@ -266,7 +246,8 @@
 // Assume WP is completely ignored
 //      ||  Input.NewWaiverOfPremiumInForce != Input.OldWaiverOfPremiumInForce
 //      ||  Input.NewWaiverOfPremiumRating  != Input.OldWaiverOfPremiumRating
-        ||  Input.NewAccidentalDeathInForce != Input.OldAccidentalDeathInForce
+// Ignore ADD for now
+//      ||  Input.NewAccidentalDeathInForce != Input.OldAccidentalDeathInForce
 // Assume ADD rating is ignored
 //      ||  Input.NewAccidentalDeathRating  != Input.OldAccidentalDeathRating
 // Assume table rating is ignored
@@ -290,10 +271,10 @@
         &&  Input.InforceGlp                == 0.0
         &&  Input.InforceGsp                == 0.0
         &&  Input.OldGender                 == Input.NewGender
-        &&  Input.OldUnderwritingClass      == Input.NewUnderwritingClass
+//      &&  Input.OldUnderwritingClass      == Input.NewUnderwritingClass   // 
Not differentiated.
         &&  Input.OldSmoking                == Input.NewSmoking
-        &&  Input.OldIssueAge               == Input.NewIssueAge
-        &&  Input.OldStateOfJurisdiction    == Input.NewStateOfJurisdiction
+//      &&  Input.OldIssueAge               == Input.NewIssueAge            // 
Not differentiated.
+//      &&  Input.OldStateOfJurisdiction    == Input.NewStateOfJurisdiction // 
Not differentiated.
         &&  Input.OldSpecAmt                == Input.NewSpecAmt
         &&  Input.OldDbo                    == Input.NewDbo
         ;
@@ -317,15 +298,15 @@
 // Set new GLP and GSP following an adjustable event, after validating input.
 void Server7702::ProcessAdjustableEvent()
 {
-// TODO ??  Input.OldBenefitAmount = ?;
+// TODO ??  Input.OldDeathBft = ?;
 //  GuidelineLevelPremium
 //  GuidelineSinglePremium
 
     // ? Is this not superfluous?
     if
         (
-            Input.NewIssueAge               != Input.OldIssueAge
-        ||  Input.NewGender                 != Input.OldGender
+//          Input.NewIssueAge               != Input.OldIssueAge // Not 
differentiated.
+            Input.NewGender                 != Input.OldGender
         )
         {
         throw std::logic_error
@@ -334,8 +315,8 @@
             );
         }
 
-    Output.GuidelineLevelPremiumPolicyA  = Input.InforceGlp;
-    Output.GuidelineSinglePremiumPolicyA = Input.InforceGsp;
+    Output.GuidelineLevelPremiumPolicyA  = Input.InforceGlp.value();
+    Output.GuidelineSinglePremiumPolicyA = Input.InforceGsp.value();
 
     SetDoleBentsenValuesBC();
     Output.GuidelineLevelPremium =
@@ -355,32 +336,32 @@
 void Server7702::SetDoleBentsenValuesA()
 {
     BasicValues basic_values_A
-        (Input.ProductName
+        (Input.ProductName              .value()
         ,Input.OldGender                .value()
-        ,Input.OldUnderwritingClass     .value()
+        ,Input.UnderwritingClass        .value()
         ,Input.OldSmoking               .value()
-        ,Input.OldIssueAge
+        ,Input.IssueAge                 .value()
         ,Input.GroupUnderwritingType    .value()
-        ,Input.OldStateOfJurisdiction   .value()
-        ,Input.OldSpecAmt
+        ,Input.StateOfJurisdiction      .value()
+        ,Input.OldSpecAmt               .value()
         ,Input.OldDbo                   .value()
-        ,Input.OldAccidentalDeathInForce
-        ,Input.OldTarget
+        ,false // Input.OldAccidentalDeathInForce
+        ,Input.OldTarget                .value()
         );
 
     Output.GuidelineLevelPremiumPolicyA = basic_values_A.Irc7702_->CalculateGLP
         (0
-        ,Input.OldBenefitAmount
-        ,Input.OldSpecAmt
-        ,Input.OldSpecAmt
-        ,Input.OldDbo.value()
+        ,Input.OldDeathBft .value()
+        ,Input.OldSpecAmt  .value()
+        ,Input.OldSpecAmt  .value()
+        ,Input.OldDbo      .value()
         );
 
     Output.GuidelineSinglePremiumPolicyA = 
basic_values_A.Irc7702_->CalculateGSP
         (0
-        ,Input.OldBenefitAmount
-        ,Input.OldSpecAmt
-        ,Input.OldSpecAmt
+        ,Input.OldDeathBft .value()
+        ,Input.OldSpecAmt  .value()
+        ,Input.OldSpecAmt  .value()
         );
 }
 
@@ -388,61 +369,61 @@
 void Server7702::SetDoleBentsenValuesBC()
 {
     BasicValues basic_values_B
-        (Input.ProductName
+        (Input.ProductName              .value()
         ,Input.NewGender                .value()
-        ,Input.NewUnderwritingClass     .value()
+        ,Input.UnderwritingClass        .value()
         ,Input.NewSmoking               .value()
-        ,Input.NewIssueAge
+        ,Input.IssueAge                 .value()
         ,Input.GroupUnderwritingType    .value()
-        ,Input.NewStateOfJurisdiction   .value()
-        ,Input.NewSpecAmt
+        ,Input.StateOfJurisdiction      .value()
+        ,Input.NewSpecAmt               .value()
         ,Input.NewDbo                   .value()
-        ,Input.NewAccidentalDeathInForce
-        ,Input.NewTarget
+        ,false // Input.NewAccidentalDeathInForce
+        ,Input.NewTarget                .value()
         );
 
     Output.GuidelineLevelPremiumPolicyB = basic_values_B.Irc7702_->CalculateGLP
-        (Input.InforceYear
-        ,Input.NewBenefitAmount
-        ,Input.NewSpecAmt
-        ,Input.NewSpecAmt
-        ,Input.NewDbo.value()
+        (Input.InforceYear .value()
+        ,Input.NewDeathBft .value()
+        ,Input.NewSpecAmt  .value()
+        ,Input.NewSpecAmt  .value()
+        ,Input.NewDbo      .value()
         );
 
     Output.GuidelineSinglePremiumPolicyB = 
basic_values_B.Irc7702_->CalculateGSP
-        (Input.InforceYear
-        ,Input.NewBenefitAmount
-        ,Input.NewSpecAmt
-        ,Input.NewSpecAmt
+        (Input.InforceYear .value()
+        ,Input.NewDeathBft .value()
+        ,Input.NewSpecAmt  .value()
+        ,Input.NewSpecAmt  .value()
         );
 
     BasicValues basic_values_C
-        (Input.ProductName
+        (Input.ProductName              .value()
         ,Input.OldGender                .value()
-        ,Input.OldUnderwritingClass     .value()
+        ,Input.UnderwritingClass        .value()
         ,Input.OldSmoking               .value()
-        ,Input.OldIssueAge
+        ,Input.IssueAge                 .value()
         ,Input.GroupUnderwritingType    .value()
-        ,Input.OldStateOfJurisdiction   .value()
-        ,Input.OldSpecAmt
+        ,Input.StateOfJurisdiction      .value()
+        ,Input.OldSpecAmt               .value()
         ,Input.OldDbo                   .value()
-        ,Input.OldAccidentalDeathInForce
-        ,Input.OldTarget
+        ,false // Input.OldAccidentalDeathInForce
+        ,Input.OldTarget                .value()
         );
 
     Output.GuidelineLevelPremiumPolicyC = basic_values_C.Irc7702_->CalculateGLP
-        (Input.InforceYear
-        ,Input.OldBenefitAmount
-        ,Input.OldSpecAmt
-        ,Input.OldSpecAmt
-        ,Input.OldDbo.value()
+        (Input.InforceYear .value()
+        ,Input.OldDeathBft .value()
+        ,Input.OldSpecAmt  .value()
+        ,Input.OldSpecAmt  .value()
+        ,Input.OldDbo      .value()
         );
 
     Output.GuidelineSinglePremiumPolicyC = 
basic_values_C.Irc7702_->CalculateGSP
-        (Input.InforceYear
-        ,Input.OldBenefitAmount
-        ,Input.OldSpecAmt
-        ,Input.OldSpecAmt
+        (Input.InforceYear .value()
+        ,Input.OldDeathBft .value()
+        ,Input.OldSpecAmt  .value()
+        ,Input.OldSpecAmt  .value()
         );
 }
 

Modified: lmi/trunk/ihs_server7702.hpp
===================================================================
--- lmi/trunk/ihs_server7702.hpp        2014-07-11 22:21:17 UTC (rev 5928)
+++ lmi/trunk/ihs_server7702.hpp        2014-07-11 23:28:47 UTC (rev 5929)
@@ -26,18 +26,34 @@
 
 #include "config.hpp"
 
-#include "ihs_server7702io.hpp"
 #include "so_attributes.hpp"
 
 #include <stdexcept>
 #include <string>
 
-Server7702Output LMI_SO RunServer7702FromStruct(Server7702Input a_Input);
+class gpt_input;
 
+struct Server7702Output
+{
+    std::string      ContractNumber;                // the same identifier 
supplied as input.
+    int              Status;
+    bool             AdjustableEventOccurred;
+    double           GuidelineLevelPremium;         // the new GLP.
+    double           GuidelineSinglePremium;        // the new GSP.
+    double           GuidelineLevelPremiumPolicyA;  // the GLP for notional 
policy A-the policy as it was at the last adjustable event, or at issue if 
there has been no adjustable event.
+    double           GuidelineSinglePremiumPolicyA; // the GSP for notional 
policy A-the policy as it was at the last adjustable event, or at issue if 
there has been no adjustable event.
+    double           GuidelineLevelPremiumPolicyB;  // the GLP for notional 
policy B; 0.0 at issue or if there has been no adjustable event.
+    double           GuidelineSinglePremiumPolicyB; // the GSP for notional 
policy B; 0.0 at issue or if there has been no adjustable event.
+    double           GuidelineLevelPremiumPolicyC;  // the GLP for notional 
policy C; 0.0 at issue or if there has been no adjustable event.
+    double           GuidelineSinglePremiumPolicyC; // the GSP for notional 
policy C; 0.0 at issue or if there has been no adjustable event.
+};
+
+Server7702Output LMI_SO RunServer7702FromStruct(gpt_input a_Input);
+
 class Server7702
 {
   public:
-    Server7702(Server7702Input& a_Input);
+    Server7702(gpt_input& a_Input);
     void Process();
     Server7702Output const& GetOutput() const   {return Output;}
 
@@ -65,7 +81,7 @@
     void SetDoleBentsenValuesA();
     void SetDoleBentsenValuesBC();
 
-    Server7702Input const& Input;
+    gpt_input const& Input;
     Server7702Output Output;
 
     bool IsIssuedToday;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]