lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [5420] Add proem to xml product files


From: Greg Chicares
Subject: [lmi-commits] [5420] Add proem to xml product files
Date: Wed, 07 Mar 2012 17:47:25 +0000

Revision: 5420
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5420
Author:   chicares
Date:     2012-03-07 17:47:24 +0000 (Wed, 07 Mar 2012)
Log Message:
-----------
Add proem to xml product files

Modified Paths:
--------------
    lmi/trunk/ChangeLog
    lmi/trunk/antediluvian_stubs.cpp
    lmi/trunk/dbdict.cpp
    lmi/trunk/dbdict.hpp
    lmi/trunk/fund_data.cpp
    lmi/trunk/product_data.cpp
    lmi/trunk/product_data.hpp
    lmi/trunk/rounding_rules.cpp
    lmi/trunk/rounding_rules.hpp
    lmi/trunk/stratified_charges.cpp
    lmi/trunk/stratified_charges.hpp
    lmi/trunk/xml_serializable.hpp
    lmi/trunk/xml_serializable.tpp

Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2012-03-07 17:45:13 UTC (rev 5419)
+++ lmi/trunk/ChangeLog 2012-03-07 17:47:24 UTC (rev 5420)
@@ -29786,3 +29786,39 @@
   test_coding_rules.cpp
 Recognize some of lmi's xml files.
 
+20120306T1742Z <address@hidden> [573]
+
+  my_test_coding_rules.cpp
+  test_coding_rules.cpp
+Allow proprietary files to contain "taboo" strings.
+
+20120307T1025Z <address@hidden> [573]
+
+  xml_lmi.cpp
+  xml_lmi.hpp
+Add a convenience function for writing comments in xml documents.
+
+20120307T1745Z <address@hidden> [573]
+
+  Makefile.am
+  my_proem.cpp [new file]
+  my_proem.hpp [new file]
+  objects.make
+Establish proem for xml product files.
+
+20120307T1747Z <address@hidden> [573]
+
+  antediluvian_stubs.cpp
+  dbdict.cpp
+  dbdict.hpp
+  fund_data.cpp
+  product_data.cpp
+  product_data.hpp
+  rounding_rules.cpp
+  rounding_rules.hpp
+  stratified_charges.cpp
+  stratified_charges.hpp
+  xml_serializable.hpp
+  xml_serializable.tpp
+Add proem to xml product files.
+

Modified: lmi/trunk/antediluvian_stubs.cpp
===================================================================
--- lmi/trunk/antediluvian_stubs.cpp    2012-03-07 17:45:13 UTC (rev 5419)
+++ lmi/trunk/antediluvian_stubs.cpp    2012-03-07 17:47:24 UTC (rev 5420)
@@ -121,6 +121,12 @@
     ) const
 {}
 
+void product_data::write_proem
+    (xml_lmi::xml_document&
+    ,std::string const&
+    ) const
+{}
+
 bool product_data::is_detritus(std::string const&) const
 {
     return false;

Modified: lmi/trunk/dbdict.cpp
===================================================================
--- lmi/trunk/dbdict.cpp        2012-03-07 17:45:13 UTC (rev 5419)
+++ lmi/trunk/dbdict.cpp        2012-03-07 17:47:24 UTC (rev 5420)
@@ -35,11 +35,12 @@
 #include "dbnames.hpp"
 #include "global_settings.hpp"
 #include "handle_exceptions.hpp"
-#include "ieee754.hpp"            // infinity<>()
+#include "ieee754.hpp"                  // infinity<>()
 #include "mc_enum_type_enums.hpp"
 #include "miscellany.hpp"
+#include "my_proem.hpp"                 // ::write_proem()
 #include "oecumenic_enumerations.hpp"
-#include "premium_tax.hpp"        // premium_tax_rates_for_life_insurance()
+#include "premium_tax.hpp"              // 
premium_tax_rates_for_life_insurance()
 #include "xml_lmi.hpp"
 #include "xml_serialize.hpp"
 
@@ -487,6 +488,14 @@
     xml_serialize::set_element(parent, name, datum(name));
 }
 
+void DBDictionary::write_proem
+    (xml_lmi::xml_document& document
+    ,std::string const&     file_leaf_name
+    ) const
+{
+    ::write_proem(document, file_leaf_name);
+}
+
 /// Set a value. (The historical name "Add" is now misleading.)
 
 void DBDictionary::Add(database_entity const& e)

Modified: lmi/trunk/dbdict.hpp
===================================================================
--- lmi/trunk/dbdict.hpp        2012-03-07 17:45:13 UTC (rev 5419)
+++ lmi/trunk/dbdict.hpp        2012-03-07 17:47:24 UTC (rev 5420)
@@ -86,6 +86,10 @@
         (xml::element&       parent
         ,std::string const&  name
         ) const;
+    virtual void write_proem
+        (xml_lmi::xml_document& document
+        ,std::string const&     file_leaf_name
+        ) const;
 
     static std::string cached_filename_;
 

Modified: lmi/trunk/fund_data.cpp
===================================================================
--- lmi/trunk/fund_data.cpp     2012-03-07 17:45:13 UTC (rev 5419)
+++ lmi/trunk/fund_data.cpp     2012-03-07 17:47:24 UTC (rev 5420)
@@ -31,10 +31,14 @@
 #include "alert.hpp"
 #include "assert_lmi.hpp"
 #include "data_directory.hpp"
-#include "platform_dependent.hpp" // access()
+#include "my_proem.hpp"                 // ::write_proem()
+#include "platform_dependent.hpp"       // access()
 #include "xml_lmi.hpp"
 #include "xml_serialize.hpp"
 
+#include <boost/filesystem/convenience.hpp> // basename()
+#include <boost/filesystem/path.hpp>
+
 //============================================================================
 FundInfo::FundInfo()
     :ScalarIMF_(0.0)
@@ -140,6 +144,8 @@
     xml_lmi::xml_document document(xml_root_name());
     xml::element& root = document.root_node();
 
+    ::write_proem(document, fs::basename(fs::path(a_Filename)));
+
     xml_lmi::set_attr(root, "version", "0");
     xml_serialize::to_xml(root, FundInfo_);
 

Modified: lmi/trunk/product_data.cpp
===================================================================
--- lmi/trunk/product_data.cpp  2012-03-07 17:45:13 UTC (rev 5419)
+++ lmi/trunk/product_data.cpp  2012-03-07 17:47:24 UTC (rev 5420)
@@ -32,8 +32,9 @@
 #include "alert.hpp"
 #include "assert_lmi.hpp"
 #include "contains.hpp"
-#include "data_directory.hpp" // AddDataDir()
-#include "miscellany.hpp"     // lmi_array_size()
+#include "data_directory.hpp"           // AddDataDir()
+#include "miscellany.hpp"               // lmi_array_size()
+#include "my_proem.hpp"                 // ::write_proem()
 #include "xml_serialize.hpp"
 
 #include <boost/filesystem/convenience.hpp>
@@ -320,6 +321,14 @@
     xml_serialize::set_element(parent, name, r);
 }
 
+void product_data::write_proem
+    (xml_lmi::xml_document& document
+    ,std::string const&     file_leaf_name
+    ) const
+{
+    ::write_proem(document, file_leaf_name);
+}
+
 bool product_data::is_detritus(std::string const& s) const
 {
     static std::string const a[] =

Modified: lmi/trunk/product_data.hpp
===================================================================
--- lmi/trunk/product_data.hpp  2012-03-07 17:45:13 UTC (rev 5419)
+++ lmi/trunk/product_data.hpp  2012-03-07 17:47:24 UTC (rev 5420)
@@ -112,6 +112,10 @@
         (xml::element&       parent
         ,std::string const&  name
         ) const;
+    virtual void write_proem
+        (xml_lmi::xml_document& document
+        ,std::string const&     file_leaf_name
+        ) const;
     virtual bool is_detritus(std::string const&) const;
 
     // Names of files that contain other product data.

Modified: lmi/trunk/rounding_rules.cpp
===================================================================
--- lmi/trunk/rounding_rules.cpp        2012-03-07 17:45:13 UTC (rev 5419)
+++ lmi/trunk/rounding_rules.cpp        2012-03-07 17:47:24 UTC (rev 5420)
@@ -31,7 +31,8 @@
 
 #include "alert.hpp"
 #include "assert_lmi.hpp"
-#include "data_directory.hpp" // AddDataDir()
+#include "data_directory.hpp"           // AddDataDir()
+#include "my_proem.hpp"                 // ::write_proem()
 #include "xml_serialize.hpp"
 
 #include <boost/filesystem/convenience.hpp>
@@ -276,6 +277,14 @@
     xml_serialize::set_element(parent, name, r);
 }
 
+void rounding_rules::write_proem
+    (xml_lmi::xml_document& document
+    ,std::string const&     file_leaf_name
+    ) const
+{
+    ::write_proem(document, file_leaf_name);
+}
+
 void rounding_rules::write_rounding_files()
 {
     rounding_rules sample;

Modified: lmi/trunk/rounding_rules.hpp
===================================================================
--- lmi/trunk/rounding_rules.hpp        2012-03-07 17:45:13 UTC (rev 5419)
+++ lmi/trunk/rounding_rules.hpp        2012-03-07 17:47:24 UTC (rev 5420)
@@ -129,6 +129,10 @@
         (xml::element&       parent
         ,std::string const&  name
         ) const;
+    virtual void write_proem
+        (xml_lmi::xml_document& document
+        ,std::string const&     file_leaf_name
+        ) const;
 
     rounding_parameters round_specamt_           ;
     rounding_parameters round_death_benefit_     ;

Modified: lmi/trunk/stratified_charges.cpp
===================================================================
--- lmi/trunk/stratified_charges.cpp    2012-03-07 17:45:13 UTC (rev 5419)
+++ lmi/trunk/stratified_charges.cpp    2012-03-07 17:47:24 UTC (rev 5420)
@@ -33,8 +33,9 @@
 #include "assert_lmi.hpp"
 #include "contains.hpp"
 #include "data_directory.hpp"
-#include "ieee754.hpp"            // infinity<>()
-#include "miscellany.hpp"         // minmax<>()
+#include "ieee754.hpp"                  // infinity<>()
+#include "miscellany.hpp"               // minmax<>()
+#include "my_proem.hpp"                 // ::write_proem()
 #include "stratified_algorithms.hpp"
 #include "xml_lmi.hpp"
 #include "xml_serialize.hpp"
@@ -574,6 +575,14 @@
     xml_serialize::set_element(parent, name, datum(name));
 }
 
+void stratified_charges::write_proem
+    (xml_lmi::xml_document& document
+    ,std::string const&     file_leaf_name
+    ) const
+{
+    ::write_proem(document, file_leaf_name);
+}
+
 void stratified_charges::write_stratified_files()
 {
     // Guard against recurrence of the problem described here:

Modified: lmi/trunk/stratified_charges.hpp
===================================================================
--- lmi/trunk/stratified_charges.hpp    2012-03-07 17:45:13 UTC (rev 5419)
+++ lmi/trunk/stratified_charges.hpp    2012-03-07 17:47:24 UTC (rev 5420)
@@ -30,7 +30,6 @@
 #include "mc_enum_type_enums.hpp"
 #include "obstruct_slicing.hpp"
 #include "so_attributes.hpp"
-#include "xml_lmi_fwd.hpp"
 #include "xml_serializable.hpp"
 
 #include <string>
@@ -175,6 +174,10 @@
         (xml::element&       parent
         ,std::string const&  name
         ) const;
+    virtual void write_proem
+        (xml_lmi::xml_document& document
+        ,std::string const&     file_leaf_name
+        ) const;
 
     double banded_curr_sepacct_load
         (double assets

Modified: lmi/trunk/xml_serializable.hpp
===================================================================
--- lmi/trunk/xml_serializable.hpp      2012-03-07 17:45:13 UTC (rev 5419)
+++ lmi/trunk/xml_serializable.hpp      2012-03-07 17:47:24 UTC (rev 5420)
@@ -71,6 +71,10 @@
         (xml::element&       parent
         ,std::string const&  name
         ) const;
+    virtual void write_proem
+        (xml_lmi::xml_document& document
+        ,std::string const&     file_leaf_name
+        ) const;
 
     // Backward compatibility.
     virtual void handle_missing_version_attribute() const;

Modified: lmi/trunk/xml_serializable.tpp
===================================================================
--- lmi/trunk/xml_serializable.tpp      2012-03-07 17:45:13 UTC (rev 5419)
+++ lmi/trunk/xml_serializable.tpp      2012-03-07 17:47:24 UTC (rev 5420)
@@ -34,6 +34,7 @@
 #include "platform_dependent.hpp"       // access()
 #include "xml_lmi.hpp"
 
+#include <boost/filesystem/convenience.hpp> // basename()
 #include <boost/static_assert.hpp>
 #include <boost/type_traits/is_base_and_derived.hpp>
 
@@ -81,6 +82,7 @@
 void xml_serializable<T>::save(fs::path const& path) const
 {
     xml_lmi::xml_document document(xml_root_name());
+    write_proem(document, fs::basename(path));
     immit_members_into(document.root_node());
     document.save(path.string());
 }
@@ -271,6 +273,18 @@
     parent.push_back(xml::element(name.c_str(), t()[name].str().c_str()));
 }
 
+/// Write proemial information such as a license notice.
+///
+/// This default implementation writes nothing.
+
+template<typename T>
+void xml_serializable<T>::write_proem
+    (xml_lmi::xml_document& // document
+    ,std::string const&     // file_leaf_name
+    ) const
+{
+}
+
 /// React to absence of required 'version' attribute.
 ///
 /// This default implementation throws an informative exception.




reply via email to

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