lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [5055] Refactor, simplifying class product_database


From: Greg Chicares
Subject: [lmi-commits] [5055] Refactor, simplifying class product_database
Date: Fri, 23 Jul 2010 23:39:31 +0000

Revision: 5055
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5055
Author:   chicares
Date:     2010-07-23 23:39:30 +0000 (Fri, 23 Jul 2010)
Log Message:
-----------
Refactor, simplifying class product_database

Modified Paths:
--------------
    lmi/trunk/database.cpp
    lmi/trunk/database.hpp
    lmi/trunk/ihs_basicval.cpp
    lmi/trunk/input_test.cpp

Modified: lmi/trunk/database.cpp
===================================================================
--- lmi/trunk/database.cpp      2010-07-23 18:08:15 UTC (rev 5054)
+++ lmi/trunk/database.cpp      2010-07-23 23:39:30 UTC (rev 5055)
@@ -50,12 +50,6 @@
     ,mcenum_uw_basis    a_UWBasis
     ,mcenum_state       a_State
     )
-    :Gender   (a_Gender)
-    ,Class    (a_Class)
-    ,Smoker   (a_Smoker)
-    ,IssueAge (a_IssueAge)
-    ,UWBasis  (a_UWBasis)
-    ,State    (a_State)
 {
     if(is_antediluvian_fork())
         {
@@ -66,29 +60,22 @@
         std::string 
filename(product_data(a_ProductName).datum("DatabaseFilename"));
         DBDictionary::instance().Init(AddDataDir(filename));
         }
-    initialize();
+    index_ = database_index
+        (a_Gender
+        ,a_Class
+        ,a_Smoker
+        ,a_IssueAge
+        ,a_UWBasis
+        ,a_State
+        );
+    length_ = static_cast<int>(Query(DB_MaturityAge)) - a_IssueAge;
+    LMI_ASSERT(0 < length_ && length_ <= methuselah);
 }
 
 /// Construct from normal illustration input.
-///
-/// Soon, these members will be expunged:
-///   GetStateOfJurisdiction()
-///   Gender
-///   Class
-///   Smoker
-///   IssueAge
-///   UWBasis
-///   State
 
 product_database::product_database(yare_input const& input)
 {
-    Gender      = input.Gender;
-    Class       = input.UnderwritingClass;
-    Smoker      = input.Smoking;
-    IssueAge    = input.IssueAge;
-    UWBasis     = input.GroupUnderwritingType;
-    State       = input.StateOfJurisdiction;
-
     if(is_antediluvian_fork())
         {
         DBDictionary::instance().InitAntediluvian();
@@ -98,18 +85,22 @@
         std::string 
filename(product_data(input.ProductName).datum("DatabaseFilename"));
         DBDictionary::instance().Init(AddDataDir(filename));
         }
-    initialize();
+    index_ = database_index
+        (input.Gender
+        ,input.UnderwritingClass
+        ,input.Smoking
+        ,input.IssueAge
+        ,input.GroupUnderwritingType
+        ,input.StateOfJurisdiction
+        );
+    length_ = static_cast<int>(Query(DB_MaturityAge)) - input.IssueAge;
+    LMI_ASSERT(0 < length_ && length_ <= methuselah);
 }
 
 product_database::~product_database()
 {
 }
 
-mcenum_state product_database::GetStateOfJurisdiction() const
-{
-    return State;
-}
-
 int product_database::length() const
 {
     return length_;
@@ -163,13 +154,6 @@
     return 1 != entity_from_key(k).axis_lengths().at(e_axis_state);
 }
 
-void product_database::initialize()
-{
-    index_ = database_index(Gender, Class, Smoker, IssueAge, UWBasis, State);
-    length_ = static_cast<int>(Query(DB_MaturityAge)) - IssueAge;
-    LMI_ASSERT(0 < length_ && length_ <= methuselah);
-}
-
 database_entity const& product_database::entity_from_key(e_database_key k) 
const
 {
     DBDictionary const& db = DBDictionary::instance();

Modified: lmi/trunk/database.hpp
===================================================================
--- lmi/trunk/database.hpp      2010-07-23 18:08:15 UTC (rev 5054)
+++ lmi/trunk/database.hpp      2010-07-23 23:39:30 UTC (rev 5055)
@@ -63,7 +63,6 @@
     explicit product_database(int length);
     ~product_database();
 
-    mcenum_state GetStateOfJurisdiction() const;
     int length() const;
 
     // Return scalar: use double because it's convertible to int, bool, etc.
@@ -77,19 +76,10 @@
     bool varies_by_state(e_database_key) const;
 
   private:
-    void initialize();
-
     database_entity const& entity_from_key(e_database_key) const;
 
     database_index  index_;
     int             length_;
-
-    mcenum_gender   Gender;   // gender
-    mcenum_class    Class;    // underwriting class
-    mcenum_smoking  Smoker;   // smoker class
-    int             IssueAge; // issue age
-    mcenum_uw_basis UWBasis;  // underwriting basis
-    mcenum_state    State;    // state of jurisdiction
 };
 
 #endif // database_hpp

Modified: lmi/trunk/ihs_basicval.cpp
===================================================================
--- lmi/trunk/ihs_basicval.cpp  2010-07-23 18:08:15 UTC (rev 5054)
+++ lmi/trunk/ihs_basicval.cpp  2010-07-23 23:39:30 UTC (rev 5055)
@@ -175,7 +175,7 @@
 
     Database_.reset(new product_database(yare_input_));
 
-    StateOfJurisdiction_ = Database_->GetStateOfJurisdiction();
+    StateOfJurisdiction_ = yare_input_.StateOfJurisdiction;
 
     if
         (   !Database_->Query(DB_StateApproved)
@@ -187,7 +187,7 @@
             << "Product "
             << yare_input_.ProductName
             << " not approved in state "
-            << mc_str(GetStateOfJurisdiction())
+            << mc_str(StateOfJurisdiction_)
             << "."
             << LMI_FLUSH
             ;
@@ -275,7 +275,7 @@
     HOPEFULLY(RetAge <= 100);
     HOPEFULLY(yare_input_.RetireesCanEnroll || IssueAge <= RetAge);
 
-    StateOfJurisdiction_ = Database_->GetStateOfJurisdiction();
+    StateOfJurisdiction_ = yare_input_.StateOfJurisdiction;
 
     // The database class constrains maturity age to be scalar.
     EndtAge = static_cast<int>(Database_->Query(DB_MaturityAge));

Modified: lmi/trunk/input_test.cpp
===================================================================
--- lmi/trunk/input_test.cpp    2010-07-23 18:08:15 UTC (rev 5054)
+++ lmi/trunk/input_test.cpp    2010-07-23 23:39:30 UTC (rev 5055)
@@ -145,7 +145,6 @@
 
     std::cout
         << "\n  Database speed tests..."
-        << "\n  initialize()      : " << 
TimeAnAliquot(boost::bind(&product_database::initialize,      &db))
         << "\n  Query(vector)     : " << 
TimeAnAliquot(boost::bind(&product_database::Query,           &db, v, 
DB_MaturityAge))
         << "\n  Query(scalar)     : " << 
TimeAnAliquot(boost::bind(&product_database::Query,           &db,    
DB_MaturityAge))
         << "\n  entity_from_key() : " << 
TimeAnAliquot(boost::bind(&product_database::entity_from_key, &db,    
DB_MaturityAge))
@@ -162,7 +161,7 @@
         ,stat
         );
     BOOST_TEST_THROW
-        (db.initialize();
+        (db.Query(DB_MaturityAge)
         ,std::runtime_error
         ,"Assertion '1 == v.extent()' failed."
         );




reply via email to

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