From: <qua...@us...> - 2009-10-28 09:38:28
|
Revision: 57 http://stdair.svn.sourceforge.net/stdair/?rev=57&view=rev Author: quannaus Date: 2009-10-28 09:38:19 +0000 (Wed, 28 Oct 2009) Log Message: ----------- [Dev] Some changes in the constructors. Modified Paths: -------------- trunk/stdair/stdair/bom/AirlineFeature.cpp trunk/stdair/stdair/bom/AirlineFeature.hpp trunk/stdair/stdair/bom/AirlineFeatureContent.cpp trunk/stdair/stdair/bom/AirlineFeatureContent.hpp trunk/stdair/stdair/bom/BomRootContent.hpp trunk/stdair/stdair/bom/BomRootKey.hpp trunk/stdair/stdair/bom/OptimizerStruct.cpp trunk/stdair/stdair/bom/OptimizerStruct.hpp trunk/stdair/stdair/factory/FacBomContent.hpp Modified: trunk/stdair/stdair/bom/AirlineFeature.cpp =================================================================== --- trunk/stdair/stdair/bom/AirlineFeature.cpp 2009-10-27 16:23:33 UTC (rev 56) +++ trunk/stdair/stdair/bom/AirlineFeature.cpp 2009-10-28 09:38:19 UTC (rev 57) @@ -12,13 +12,8 @@ // //////////////////////////////////////////////////////////////////// AirlineFeature:: AirlineFeature (const BomKey_T& iKey, - const ForecasterMode_T& iForecastMode, - const HistoricalDataLimit_T& iHistoricalDataLimit, - const OptimizerStruct_T& iOptimizerStruct, - const ControlMode_T& iControlMode, BomStructure_T& ioAirlineFeatureStructure) - : AirlineFeatureContent (iKey, iForecastMode, iHistoricalDataLimit, - iOptimizerStruct, iControlMode), + : AirlineFeatureContent (iKey), _airlineFeatureStructure (ioAirlineFeatureStructure) { } @@ -26,6 +21,16 @@ AirlineFeature::~AirlineFeature () { } + // //////////////////////////////////////////////////////////////////// + void AirlineFeature:: + init (const ForecasterMode_T& iForecastMode, + const HistoricalDataLimit_T& iHistoricalDataLimit, + const OptimizerStruct_T& iOptimizerStruct, + const ControlMode_T& iControlMode) { + AirlineFeatureContent::init (iForecastMode, iHistoricalDataLimit, + iOptimizerStruct, iControlMode); + } + // ////////////////////////////////////////////////////////////////////// void AirlineFeature::toStream (std::ostream& ioOut) const { ioOut << toString() << std::endl; Modified: trunk/stdair/stdair/bom/AirlineFeature.hpp =================================================================== --- trunk/stdair/stdair/bom/AirlineFeature.hpp 2009-10-27 16:23:33 UTC (rev 56) +++ trunk/stdair/stdair/bom/AirlineFeature.hpp 2009-10-28 09:38:19 UTC (rev 57) @@ -40,6 +40,12 @@ typedef AirlineFeature ContentChild_T; public: + // //////////// Setters ////////// + /** Intialization method. */ + void init (const ForecasterMode_T&, const HistoricalDataLimit_T&, + const OptimizerStruct_T&, const ControlMode_T&); + + public: // /////////// Display support methods ///////// /** Dump a Business Object into an output stream. @param ostream& the output stream. */ @@ -75,9 +81,7 @@ /** Default constructors. */ AirlineFeature (); AirlineFeature (const AirlineFeature&); - AirlineFeature (const BomKey_T&, const ForecasterMode_T&, - const HistoricalDataLimit_T&, const OptimizerStruct_T&, - const ControlMode_T&, BomStructure_T&); + AirlineFeature (const BomKey_T&, BomStructure_T&); /** Destructor. */ virtual ~AirlineFeature(); Modified: trunk/stdair/stdair/bom/AirlineFeatureContent.cpp =================================================================== --- trunk/stdair/stdair/bom/AirlineFeatureContent.cpp 2009-10-27 16:23:33 UTC (rev 56) +++ trunk/stdair/stdair/bom/AirlineFeatureContent.cpp 2009-10-28 09:38:19 UTC (rev 57) @@ -10,19 +10,25 @@ // //////////////////////////////////////////////////////////////////// AirlineFeatureContent:: - AirlineFeatureContent (const BomKey_T& iKey, - const ForecasterMode_T& iForecastMode, - const HistoricalDataLimit_T& iHistoricalDataLimit, - const OptimizerStruct_T& iOptimizerStruct, - const ControlMode_T& iControlMode) - : _key (iKey), _forecasterMode (iForecastMode), - _historicalDataLimit (iHistoricalDataLimit), - _optimizerStruct (iOptimizerStruct), _controlMode (iControlMode){ + AirlineFeatureContent (const BomKey_T& iKey) + : _key (iKey) { } // //////////////////////////////////////////////////////////////////// AirlineFeatureContent::~AirlineFeatureContent () { } + // //////////////////////////////////////////////////////////////////// + void AirlineFeatureContent:: + init (const ForecasterMode_T& iForecastMode, + const HistoricalDataLimit_T& iHistoricalDataLimit, + const OptimizerStruct_T& iOptimizerStruct, + const ControlMode_T& iControlMode) { + _forecasterMode = iForecastMode; + _historicalDataLimit = iHistoricalDataLimit; + _optimizerStruct = iOptimizerStruct; + _controlMode = iControlMode; + } + } Modified: trunk/stdair/stdair/bom/AirlineFeatureContent.hpp =================================================================== --- trunk/stdair/stdair/bom/AirlineFeatureContent.hpp 2009-10-27 16:23:33 UTC (rev 56) +++ trunk/stdair/stdair/bom/AirlineFeatureContent.hpp 2009-10-28 09:38:19 UTC (rev 57) @@ -25,6 +25,12 @@ const BomKey_T& getKey() const { return _key; } + + public: + // //////////// Setters ////////// + /** Intialization method. */ + void init (const ForecasterMode_T&, const HistoricalDataLimit_T&, + const OptimizerStruct_T&, const ControlMode_T&); public: // /////////// Display support methods ///////// @@ -50,10 +56,9 @@ protected: /** Default constructors. */ - AirlineFeatureContent (const BomKey_T&, const ForecasterMode_T&, - const HistoricalDataLimit_T&, - const OptimizerStruct_T&, const ControlMode_T&); + AirlineFeatureContent (); AirlineFeatureContent (const AirlineFeatureContent&); + AirlineFeatureContent (const BomKey_T&); /** Destructor. */ virtual ~AirlineFeatureContent(); Modified: trunk/stdair/stdair/bom/BomRootContent.hpp =================================================================== --- trunk/stdair/stdair/bom/BomRootContent.hpp 2009-10-27 16:23:33 UTC (rev 56) +++ trunk/stdair/stdair/bom/BomRootContent.hpp 2009-10-28 09:38:19 UTC (rev 57) @@ -24,11 +24,6 @@ return _key; } - /** Get the update/creation date for the world schedule data. */ - const Date_T& getUpdateDate() const { - return _updateDate; - } - /** Get the number of generated flight dates. */ const NbOfFlightDates_T getNumberOfFlightDates() const { return _flightDateCounter; @@ -77,11 +72,6 @@ public: // ///////// Setters ////////// - /** Set the update/creation date for the world schdule data. */ - void setUpdateDate (const Date_T& iUpdateDate) { - _updateDate = iUpdateDate; - } - /** Set the revenue amount. */ void setRevenue (const Revenue_T& iWCRevenue) { _worldScheduleRevenue = iWCRevenue; @@ -147,9 +137,6 @@ /** The key of both structure and content objects. */ BomKey_T _key; - /** Update/creation date for the World Schedule data. */ - Date_T _updateDate; - /** Counter of all generated flight dates in the world schedule. */ NbOfFlightDates_T _flightDateCounter; Modified: trunk/stdair/stdair/bom/BomRootKey.hpp =================================================================== --- trunk/stdair/stdair/bom/BomRootKey.hpp 2009-10-27 16:23:33 UTC (rev 56) +++ trunk/stdair/stdair/bom/BomRootKey.hpp 2009-10-28 09:38:19 UTC (rev 57) @@ -16,11 +16,9 @@ // /////////// Construction /////////// /** Constructor. */ BomRootKey_T (); - /** Destructor. */ ~BomRootKey_T (); - // /////////// Display support methods ///////// /** Dump a Business Object Key into an output stream. @param ostream& the output stream. */ @@ -39,7 +37,6 @@ private: // Attributes - // No attributes, as that class corresponds to the root of Bom structure. }; } Modified: trunk/stdair/stdair/bom/OptimizerStruct.cpp =================================================================== --- trunk/stdair/stdair/bom/OptimizerStruct.cpp 2009-10-27 16:23:33 UTC (rev 56) +++ trunk/stdair/stdair/bom/OptimizerStruct.cpp 2009-10-28 09:38:19 UTC (rev 57) @@ -5,8 +5,11 @@ #include <stdair/bom/OptimizerStruct.hpp> namespace stdair { - // /////////////////////////////////////////////////////////////////// + OptimizerStruct_T::OptimizerStruct_T () { + } + + // /////////////////////////////////////////////////////////////////// OptimizerStruct_T::OptimizerStruct_T (const OptimizerMode_T& iOptimizerMode, const SellupFlagForOptimizer_T& iSellupFlagForOptimizer, @@ -29,6 +32,16 @@ } // //////////////////////////////////////////////////////////////////// + void OptimizerStruct_T:: + init (const OptimizerMode_T& iOptimizerMode, + const SellupFlagForOptimizer_T& iSellupFlagForOptimizer, + const SellupProbabilityVector_T& iSellupProbabilityVectorForOptimizer) { + _optimizerMode = iOptimizerMode; + _sellupFlagForOptimizer = iSellupFlagForOptimizer; + _sellupProbabilityVectorForOptimizer = iSellupProbabilityVectorForOptimizer; + } + + // //////////////////////////////////////////////////////////////////// const std::string OptimizerStruct_T::describe() const { std::ostringstream ostr; ostr << _optimizerMode Modified: trunk/stdair/stdair/bom/OptimizerStruct.hpp =================================================================== --- trunk/stdair/stdair/bom/OptimizerStruct.hpp 2009-10-27 16:23:33 UTC (rev 56) +++ trunk/stdair/stdair/bom/OptimizerStruct.hpp 2009-10-28 09:38:19 UTC (rev 57) @@ -28,6 +28,11 @@ getSellupProbabilityVectorForOptimizer() const { return _sellupProbabilityVectorForOptimizer; } + + // ////////// Setters //////////// + /** Initialization method. */ + void init (const OptimizerMode_T&,const SellupFlagForOptimizer_T&, + const SellupProbabilityVector_T&); // ///////// Display Methods ////////// /** Display the structure. */ @@ -37,6 +42,8 @@ const std::string describeSellupProbabilityVector() const; public: + /** Default constructor. */ + OptimizerStruct_T (); /** Constructor. */ OptimizerStruct_T (const OptimizerMode_T&, const SellupFlagForOptimizer_T&, @@ -46,11 +53,7 @@ /** Defaut destructor. */ ~OptimizerStruct_T (); - private: - /** Default constructor. */ - OptimizerStruct_T (); - private: // /////////////// Attributes ////////// /** Attributes. */ Modified: trunk/stdair/stdair/factory/FacBomContent.hpp =================================================================== --- trunk/stdair/stdair/factory/FacBomContent.hpp 2009-10-27 16:23:33 UTC (rev 56) +++ trunk/stdair/stdair/factory/FacBomContent.hpp 2009-10-28 09:38:19 UTC (rev 57) @@ -30,12 +30,8 @@ /** Create the root of the BOM tree, i.e., a pair of linked BomRootStructure and BomRoot objects. */ template <typename BOM_ROOT> - BOM_ROOT& create () { - // Define the typename for BomRootKey. - typedef typename BOM_ROOT::BomKey_T BOM_ROOT_KEY_T; - // Create the BOM root object. - BOM_ROOT_KEY_T lBomRootKey; - BOM_ROOT& lBomRoot = createInternal<BOM_ROOT>(lBomRootKey); + BOM_ROOT& create (typename BOM_ROOT::BomKey_T iKey) { + BOM_ROOT& lBomRoot = createInternal<BOM_ROOT>(iKey); return lBomRoot; } @@ -104,90 +100,7 @@ return *aBomContent_ptr; } - - // //////////////////// AirlineFeature ////////////////////////// public: - /** Create a AirlineFeature object. */ - template <typename BOM_CONTENT_CHILD> - BOM_CONTENT_CHILD& - createAirlineFeature (typename BOM_CONTENT_CHILD::Parent_T& ioContentParent, - const typename BOM_CONTENT_CHILD::BomKey_T& iKey, - const ForecasterMode_T& iForecastMode, - const HistoricalDataLimit_T& iHistoricalDataLimit, - const OptimizerStruct_T& iOptimizerStruct, - const ControlMode_T& iControlMode) { - - // Create the child structure object for the given key - BOM_CONTENT_CHILD& lBomContentChild = - createInternalAirlineFeature<BOM_CONTENT_CHILD> (iKey, iForecastMode, - iHistoricalDataLimit, - iOptimizerStruct, - iControlMode); - - // Retrieve the child structure object - typename BOM_CONTENT_CHILD::BomStructure_T& lBomStructureChild = - lBomContentChild.getBomStructure (); - - // Type for the parent Bom content - typedef typename BOM_CONTENT_CHILD::Parent_T PARENT_CONTENT_T; - - // Type for the parent Bom structure - typedef typename PARENT_CONTENT_T::BomStructure_T PARENT_STRUCTURE_T; - - // Retrieve the parent structure object - PARENT_STRUCTURE_T& lBomStructureParent = - ioContentParent.getBomStructure (); - - // Type for the child Bom structure - typedef typename BOM_CONTENT_CHILD::BomStructure_T CHILD_STRUCTURE_T; - - // Link both the parent and child structure objects - const bool hasLinkBeenSuccessful = FacBomStructure:: - linkBomParentWithBomChild<CHILD_STRUCTURE_T> (lBomStructureParent, - lBomStructureChild); - - if (hasLinkBeenSuccessful == false) { - throw new MemoryAllocationException(); - } - - return lBomContentChild; - } - - private: - /** Create a AirlineFeature object. */ - template <typename BOM_CONTENT> - BOM_CONTENT& - createInternalAirlineFeature (const typename BOM_CONTENT::BomKey_T& iKey, - const ForecasterMode_T& iForecastMode, - const HistoricalDataLimit_T& iHistoricalDataLimit, - const OptimizerStruct_T& iOptimizerStruct, - const ControlMode_T& iControlMode) { - - // Create the structure/holder object - typedef typename BOM_CONTENT::BomStructure_T BOM_STRUCTURE_T; - BOM_STRUCTURE_T& lBomStructure = - FacBomStructure::instance().create<BOM_STRUCTURE_T> (); - - // The created flight-date content (BomContent) object gets a constant - // reference on its corresponding flight-date structure/holder object - BOM_CONTENT* aBomContent_ptr = new BOM_CONTENT (iKey, - iForecastMode, - iHistoricalDataLimit, - iOptimizerStruct, - iControlMode, - lBomStructure); - assert (aBomContent_ptr != NULL); - - // The new object is added to the pool of content objects - _contentPool.push_back (aBomContent_ptr); - - // Link the structure/holder object with its corresponding content object - setContent<BOM_STRUCTURE_T, BOM_CONTENT> (lBomStructure, *aBomContent_ptr); - - return *aBomContent_ptr; - } - - public: /** Provide the unique instance. <br>The singleton is instantiated when first used. @return FacBomContent& */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |